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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [9 x i8], align 1
@c_b17 = external hidden global float, align 4
@c_b18 = external hidden global float, align 4
@c__1 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4

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

140:                                              ; preds = %14
  %141 = load i32, ptr %65, align 4, !tbaa !9
  %142 = icmp ne i32 %141, 0
  br i1 %142, label %149, label %143

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

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

149:                                              ; preds = %143, %140, %14
  %150 = load i32, ptr %59, align 4, !tbaa !9
  %151 = icmp ne i32 %150, 0
  br i1 %151, label %161, label %152

152:                                              ; preds = %149
  %153 = load i32, ptr %64, align 4, !tbaa !9
  %154 = icmp ne i32 %153, 0
  br i1 %154, label %161, label %155

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

159:                                              ; preds = %155
  %160 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -2, ptr %160, align 4, !tbaa !9
  br label %263

161:                                              ; preds = %155, %152, %149
  %162 = load i32, ptr %63, align 4, !tbaa !9
  %163 = icmp ne i32 %162, 0
  br i1 %163, label %173, label %164

164:                                              ; preds = %161
  %165 = load i32, ptr %62, align 4, !tbaa !9
  %166 = icmp ne i32 %165, 0
  br i1 %166, label %173, label %167

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

171:                                              ; preds = %167
  %172 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -3, ptr %172, align 4, !tbaa !9
  br label %262

173:                                              ; preds = %167, %164, %161
  %174 = load ptr, ptr %18, align 8, !tbaa !5
  %175 = load i32, ptr %174, align 4, !tbaa !9
  %176 = icmp slt i32 %175, 0
  br i1 %176, label %177, label %179

177:                                              ; preds = %173
  %178 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -4, ptr %178, align 4, !tbaa !9
  br label %261

179:                                              ; preds = %173
  %180 = load ptr, ptr %19, align 8, !tbaa !5
  %181 = load i32, ptr %180, align 4, !tbaa !9
  %182 = icmp slt i32 %181, 0
  br i1 %182, label %189, label %183

183:                                              ; preds = %179
  %184 = load ptr, ptr %19, align 8, !tbaa !5
  %185 = load i32, ptr %184, align 4, !tbaa !9
  %186 = load ptr, ptr %18, align 8, !tbaa !5
  %187 = load i32, ptr %186, align 4, !tbaa !9
  %188 = icmp sgt i32 %185, %187
  br i1 %188, label %189, label %191

189:                                              ; preds = %183, %179
  %190 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -5, ptr %190, align 4, !tbaa !9
  br label %260

191:                                              ; preds = %183
  %192 = load ptr, ptr %21, align 8, !tbaa !5
  %193 = load i32, ptr %192, align 4, !tbaa !9
  %194 = load ptr, ptr %18, align 8, !tbaa !5
  %195 = load i32, ptr %194, align 4, !tbaa !9
  %196 = icmp slt i32 %193, %195
  br i1 %196, label %197, label %199

197:                                              ; preds = %191
  %198 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -7, ptr %198, align 4, !tbaa !9
  br label %259

199:                                              ; preds = %191
  %200 = load ptr, ptr %23, align 8, !tbaa !5
  %201 = load i32, ptr %200, align 4, !tbaa !9
  %202 = icmp slt i32 %201, 0
  br i1 %202, label %203, label %205

203:                                              ; preds = %199
  %204 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -9, ptr %204, align 4, !tbaa !9
  br label %258

205:                                              ; preds = %199
  %206 = load i32, ptr %63, align 4, !tbaa !9
  %207 = icmp ne i32 %206, 0
  br i1 %207, label %208, label %214

208:                                              ; preds = %205
  %209 = load ptr, ptr %25, align 8, !tbaa !5
  %210 = load i32, ptr %209, align 4, !tbaa !9
  %211 = load ptr, ptr %19, align 8, !tbaa !5
  %212 = load i32, ptr %211, align 4, !tbaa !9
  %213 = icmp slt i32 %210, %212
  br i1 %213, label %223, label %214

214:                                              ; preds = %208, %205
  %215 = load i32, ptr %62, align 4, !tbaa !9
  %216 = icmp ne i32 %215, 0
  br i1 %216, label %217, label %225

217:                                              ; preds = %214
  %218 = load ptr, ptr %25, align 8, !tbaa !5
  %219 = load i32, ptr %218, align 4, !tbaa !9
  %220 = load ptr, ptr %23, align 8, !tbaa !5
  %221 = load i32, ptr %220, align 4, !tbaa !9
  %222 = icmp slt i32 %219, %221
  br i1 %222, label %223, label %225

223:                                              ; preds = %217, %208
  %224 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -11, ptr %224, align 4, !tbaa !9
  br label %257

225:                                              ; preds = %217, %214
  %226 = load i32, ptr %64, align 4, !tbaa !9
  %227 = icmp ne i32 %226, 0
  br i1 %227, label %228, label %235

228:                                              ; preds = %225
  %229 = load ptr, ptr %26, align 8, !tbaa !5
  %230 = getelementptr inbounds float, ptr %229, i64 1
  %231 = load float, ptr %230, align 4, !tbaa !11
  %232 = fcmp ole float %231, 1.000000e+00
  br i1 %232, label %233, label %235

233:                                              ; preds = %228
  %234 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -12, ptr %234, align 4, !tbaa !9
  br label %256

235:                                              ; preds = %228, %225
  %236 = load ptr, ptr %18, align 8, !tbaa !5
  %237 = load i32, ptr %236, align 4, !tbaa !9
  %238 = load ptr, ptr %19, align 8, !tbaa !5
  %239 = load i32, ptr %238, align 4, !tbaa !9
  %240 = add nsw i32 %237, %239
  store i32 %240, ptr %33, align 4, !tbaa !9
  %241 = load ptr, ptr %27, align 8, !tbaa !5
  %242 = load i32, ptr %241, align 4, !tbaa !9
  %243 = load i32, ptr %33, align 4, !tbaa !9
  %244 = icmp sge i32 %243, 6
  br i1 %244, label %245, label %247

245:                                              ; preds = %235
  %246 = load i32, ptr %33, align 4, !tbaa !9
  br label %248

247:                                              ; preds = %235
  br label %248

248:                                              ; preds = %247, %245
  %249 = phi i32 [ %246, %245 ], [ 6, %247 ]
  %250 = icmp slt i32 %242, %249
  br i1 %250, label %251, label %253

251:                                              ; preds = %248
  %252 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -13, ptr %252, align 4, !tbaa !9
  br label %255

253:                                              ; preds = %248
  %254 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 0, ptr %254, align 4, !tbaa !9
  br label %255

255:                                              ; preds = %253, %251
  br label %256

256:                                              ; preds = %255, %233
  br label %257

257:                                              ; preds = %256, %223
  br label %258

258:                                              ; preds = %257, %203
  br label %259

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

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

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

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

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

264:                                              ; preds = %263, %147
  %265 = load ptr, ptr %28, align 8, !tbaa !5
  %266 = load i32, ptr %265, align 4, !tbaa !9
  %267 = icmp ne i32 %266, 0
  br i1 %267, label %268, label %273

268:                                              ; preds = %264
  %269 = load ptr, ptr %28, align 8, !tbaa !5
  %270 = load i32, ptr %269, align 4, !tbaa !9
  %271 = sub nsw i32 0, %270
  store i32 %271, ptr %33, align 4, !tbaa !9
  %272 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %33, i32 noundef 6)
  store i32 1, ptr %101, align 4
  br label %5083

273:                                              ; preds = %264
  %274 = load ptr, ptr %18, align 8, !tbaa !5
  %275 = load i32, ptr %274, align 4, !tbaa !9
  %276 = icmp eq i32 %275, 0
  br i1 %276, label %281, label %277

277:                                              ; preds = %273
  %278 = load ptr, ptr %19, align 8, !tbaa !5
  %279 = load i32, ptr %278, align 4, !tbaa !9
  %280 = icmp eq i32 %279, 0
  br i1 %280, label %281, label %282

281:                                              ; preds = %277, %273
  store i32 1, ptr %101, align 4
  br label %5083

282:                                              ; preds = %277
  %283 = load i32, ptr %64, align 4, !tbaa !9
  %284 = icmp ne i32 %283, 0
  br i1 %284, label %285, label %289

285:                                              ; preds = %282
  %286 = load ptr, ptr %26, align 8, !tbaa !5
  %287 = getelementptr inbounds float, ptr %286, i64 1
  %288 = load float, ptr %287, align 4, !tbaa !11
  store float %288, ptr %43, align 4, !tbaa !11
  br label %310

289:                                              ; preds = %282
  %290 = load i32, ptr %59, align 4, !tbaa !9
  %291 = icmp ne i32 %290, 0
  br i1 %291, label %298, label %292

292:                                              ; preds = %289
  %293 = load i32, ptr %63, align 4, !tbaa !9
  %294 = icmp ne i32 %293, 0
  br i1 %294, label %298, label %295

295:                                              ; preds = %292
  %296 = load i32, ptr %62, align 4, !tbaa !9
  %297 = icmp ne i32 %296, 0
  br i1 %297, label %298, label %305

298:                                              ; preds = %295, %292, %289
  %299 = load ptr, ptr %18, align 8, !tbaa !5
  %300 = load i32, ptr %299, align 4, !tbaa !9
  %301 = sitofp i32 %300 to float
  %302 = fpext float %301 to double
  %303 = call double @sqrt(double noundef %302) #5
  %304 = fptrunc double %303 to float
  store float %304, ptr %43, align 4, !tbaa !11
  br label %309

305:                                              ; preds = %295
  %306 = load ptr, ptr %18, align 8, !tbaa !5
  %307 = load i32, ptr %306, align 4, !tbaa !9
  %308 = sitofp i32 %307 to float
  store float %308, ptr %43, align 4, !tbaa !11
  br label %309

309:                                              ; preds = %305, %298
  br label %310

310:                                              ; preds = %309, %285
  %311 = call float @slamch_(ptr noundef @.str.8)
  store float %311, ptr %61, align 4, !tbaa !11
  %312 = load float, ptr %61, align 4, !tbaa !11
  %313 = fpext float %312 to double
  %314 = call double @sqrt(double noundef %313) #5
  %315 = fptrunc double %314 to float
  store float %315, ptr %98, align 4, !tbaa !11
  %316 = call float @slamch_(ptr noundef @.str.9)
  store float %316, ptr %58, align 4, !tbaa !11
  %317 = load float, ptr %58, align 4, !tbaa !11
  %318 = fpext float %317 to double
  %319 = call double @sqrt(double noundef %318) #5
  %320 = fptrunc double %319 to float
  store float %320, ptr %70, align 4, !tbaa !11
  %321 = load float, ptr %58, align 4, !tbaa !11
  %322 = load float, ptr %61, align 4, !tbaa !11
  %323 = fdiv float %321, %322
  store float %323, ptr %57, align 4, !tbaa !11
  %324 = call float @slamch_(ptr noundef @.str.10)
  store float %324, ptr %85, align 4, !tbaa !11
  %325 = load float, ptr %70, align 4, !tbaa !11
  %326 = fdiv float 1.000000e+00, %325
  store float %326, ptr %97, align 4, !tbaa !11
  %327 = load float, ptr %85, align 4, !tbaa !11
  %328 = fpext float %327 to double
  %329 = load ptr, ptr %18, align 8, !tbaa !5
  %330 = load i32, ptr %329, align 4, !tbaa !9
  %331 = load ptr, ptr %19, align 8, !tbaa !5
  %332 = load i32, ptr %331, align 4, !tbaa !9
  %333 = mul nsw i32 %330, %332
  %334 = sitofp i32 %333 to float
  %335 = fpext float %334 to double
  %336 = call double @sqrt(double noundef %335) #5
  %337 = fdiv double %328, %336
  %338 = fptrunc double %337 to float
  store float %338, ptr %53, align 4, !tbaa !11
  %339 = load float, ptr %98, align 4, !tbaa !11
  %340 = fdiv float 1.000000e+00, %339
  store float %340, ptr %45, align 4, !tbaa !11
  %341 = load float, ptr %43, align 4, !tbaa !11
  %342 = load float, ptr %61, align 4, !tbaa !11
  %343 = fmul float %341, %342
  store float %343, ptr %94, align 4, !tbaa !11
  %344 = load float, ptr %94, align 4, !tbaa !11
  %345 = fpext float %344 to double
  %346 = call double @sqrt(double noundef %345) #5
  %347 = fptrunc double %346 to float
  store float %347, ptr %100, align 4, !tbaa !11
  %348 = load ptr, ptr %18, align 8, !tbaa !5
  %349 = load i32, ptr %348, align 4, !tbaa !9
  %350 = sitofp i32 %349 to float
  %351 = load float, ptr %61, align 4, !tbaa !11
  %352 = fmul float %350, %351
  %353 = fcmp oge float %352, 1.000000e+00
  br i1 %353, label %354, label %360

354:                                              ; preds = %310
  %355 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -4, ptr %355, align 4, !tbaa !9
  %356 = load ptr, ptr %28, align 8, !tbaa !5
  %357 = load i32, ptr %356, align 4, !tbaa !9
  %358 = sub nsw i32 0, %357
  store i32 %358, ptr %33, align 4, !tbaa !9
  %359 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %33, i32 noundef 6)
  store i32 1, ptr %101, align 4
  br label %5083

360:                                              ; preds = %310
  %361 = load i32, ptr %63, align 4, !tbaa !9
  %362 = icmp ne i32 %361, 0
  br i1 %362, label %363, label %372

363:                                              ; preds = %360
  %364 = load ptr, ptr %19, align 8, !tbaa !5
  %365 = load i32, ptr %364, align 4, !tbaa !9
  store i32 %365, ptr %95, align 4, !tbaa !9
  %366 = load ptr, ptr %19, align 8, !tbaa !5
  %367 = load ptr, ptr %24, align 8, !tbaa !5
  %368 = load i32, ptr %32, align 4, !tbaa !9
  %369 = sext i32 %368 to i64
  %370 = getelementptr inbounds float, ptr %367, i64 %369
  %371 = load ptr, ptr %25, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.3, ptr noundef %95, ptr noundef %366, ptr noundef @c_b17, ptr noundef @c_b18, ptr noundef %370, ptr noundef %371)
  br label %379

372:                                              ; preds = %360
  %373 = load i32, ptr %62, align 4, !tbaa !9
  %374 = icmp ne i32 %373, 0
  br i1 %374, label %375, label %378

375:                                              ; preds = %372
  %376 = load ptr, ptr %23, align 8, !tbaa !5
  %377 = load i32, ptr %376, align 4, !tbaa !9
  store i32 %377, ptr %95, align 4, !tbaa !9
  br label %378

378:                                              ; preds = %375, %372
  br label %379

379:                                              ; preds = %378, %363
  %380 = load i32, ptr %63, align 4, !tbaa !9
  %381 = icmp ne i32 %380, 0
  br i1 %381, label %385, label %382

382:                                              ; preds = %379
  %383 = load i32, ptr %62, align 4, !tbaa !9
  %384 = icmp ne i32 %383, 0
  br label %385

385:                                              ; preds = %382, %379
  %386 = phi i1 [ true, %379 ], [ %384, %382 ]
  %387 = zext i1 %386 to i32
  store i32 %387, ptr %63, align 4, !tbaa !9
  %388 = load ptr, ptr %18, align 8, !tbaa !5
  %389 = load i32, ptr %388, align 4, !tbaa !9
  %390 = sitofp i32 %389 to float
  %391 = load ptr, ptr %19, align 8, !tbaa !5
  %392 = load i32, ptr %391, align 4, !tbaa !9
  %393 = sitofp i32 %392 to float
  %394 = fmul float %390, %393
  %395 = fpext float %394 to double
  %396 = call double @sqrt(double noundef %395) #5
  %397 = fdiv double 1.000000e+00, %396
  %398 = fptrunc double %397 to float
  store float %398, ptr %92, align 4, !tbaa !11
  store i32 1, ptr %96, align 4, !tbaa !9
  store i32 1, ptr %93, align 4, !tbaa !9
  %399 = load i32, ptr %65, align 4, !tbaa !9
  %400 = icmp ne i32 %399, 0
  br i1 %400, label %401, label %489

401:                                              ; preds = %385
  %402 = load ptr, ptr %19, align 8, !tbaa !5
  %403 = load i32, ptr %402, align 4, !tbaa !9
  store i32 %403, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %404

404:                                              ; preds = %485, %401
  %405 = load i32, ptr %50, align 4, !tbaa !9
  %406 = load i32, ptr %33, align 4, !tbaa !9
  %407 = icmp sle i32 %405, %406
  br i1 %407, label %408, label %488

408:                                              ; preds = %404
  store float 0.000000e+00, ptr %40, align 4, !tbaa !11
  store float 1.000000e+00, ptr %42, align 4, !tbaa !11
  %409 = load ptr, ptr %18, align 8, !tbaa !5
  %410 = load i32, ptr %409, align 4, !tbaa !9
  %411 = load i32, ptr %50, align 4, !tbaa !9
  %412 = sub nsw i32 %410, %411
  %413 = add nsw i32 %412, 1
  store i32 %413, ptr %34, align 4, !tbaa !9
  %414 = load ptr, ptr %20, align 8, !tbaa !5
  %415 = load i32, ptr %50, align 4, !tbaa !9
  %416 = load i32, ptr %50, align 4, !tbaa !9
  %417 = load i32, ptr %29, align 4, !tbaa !9
  %418 = mul nsw i32 %416, %417
  %419 = add nsw i32 %415, %418
  %420 = sext i32 %419 to i64
  %421 = getelementptr inbounds float, ptr %414, i64 %420
  call void @slassq_(ptr noundef %34, ptr noundef %421, ptr noundef @c__1, ptr noundef %40, ptr noundef %42)
  %422 = load float, ptr %40, align 4, !tbaa !11
  %423 = load float, ptr %85, align 4, !tbaa !11
  %424 = fcmp ogt float %422, %423
  br i1 %424, label %425, label %431

425:                                              ; preds = %408
  %426 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -6, ptr %426, align 4, !tbaa !9
  %427 = load ptr, ptr %28, align 8, !tbaa !5
  %428 = load i32, ptr %427, align 4, !tbaa !9
  %429 = sub nsw i32 0, %428
  store i32 %429, ptr %34, align 4, !tbaa !9
  %430 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %34, i32 noundef 6)
  store i32 1, ptr %101, align 4
  br label %5083

431:                                              ; preds = %408
  %432 = load float, ptr %42, align 4, !tbaa !11
  %433 = fpext float %432 to double
  %434 = call double @sqrt(double noundef %433) #5
  %435 = fptrunc double %434 to float
  store float %435, ptr %42, align 4, !tbaa !11
  %436 = load float, ptr %40, align 4, !tbaa !11
  %437 = load float, ptr %85, align 4, !tbaa !11
  %438 = load float, ptr %42, align 4, !tbaa !11
  %439 = fdiv float %437, %438
  %440 = fcmp olt float %436, %439
  br i1 %440, label %441, label %452

441:                                              ; preds = %431
  %442 = load i32, ptr %96, align 4, !tbaa !9
  %443 = icmp ne i32 %442, 0
  br i1 %443, label %444, label %452

444:                                              ; preds = %441
  %445 = load float, ptr %40, align 4, !tbaa !11
  %446 = load float, ptr %42, align 4, !tbaa !11
  %447 = fmul float %445, %446
  %448 = load ptr, ptr %22, align 8, !tbaa !5
  %449 = load i32, ptr %50, align 4, !tbaa !9
  %450 = sext i32 %449 to i64
  %451 = getelementptr inbounds float, ptr %448, i64 %450
  store float %447, ptr %451, align 4, !tbaa !11
  br label %484

452:                                              ; preds = %441, %431
  store i32 0, ptr %96, align 4, !tbaa !9
  %453 = load float, ptr %40, align 4, !tbaa !11
  %454 = load float, ptr %42, align 4, !tbaa !11
  %455 = load float, ptr %92, align 4, !tbaa !11
  %456 = fmul float %454, %455
  %457 = fmul float %453, %456
  %458 = load ptr, ptr %22, align 8, !tbaa !5
  %459 = load i32, ptr %50, align 4, !tbaa !9
  %460 = sext i32 %459 to i64
  %461 = getelementptr inbounds float, ptr %458, i64 %460
  store float %457, ptr %461, align 4, !tbaa !11
  %462 = load i32, ptr %93, align 4, !tbaa !9
  %463 = icmp ne i32 %462, 0
  br i1 %463, label %464, label %483

464:                                              ; preds = %452
  store i32 0, ptr %93, align 4, !tbaa !9
  %465 = load i32, ptr %50, align 4, !tbaa !9
  %466 = sub nsw i32 %465, 1
  store i32 %466, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %467

467:                                              ; preds = %479, %464
  %468 = load i32, ptr %51, align 4, !tbaa !9
  %469 = load i32, ptr %34, align 4, !tbaa !9
  %470 = icmp sle i32 %468, %469
  br i1 %470, label %471, label %482

471:                                              ; preds = %467
  %472 = load float, ptr %92, align 4, !tbaa !11
  %473 = load ptr, ptr %22, align 8, !tbaa !5
  %474 = load i32, ptr %51, align 4, !tbaa !9
  %475 = sext i32 %474 to i64
  %476 = getelementptr inbounds float, ptr %473, i64 %475
  %477 = load float, ptr %476, align 4, !tbaa !11
  %478 = fmul float %477, %472
  store float %478, ptr %476, align 4, !tbaa !11
  br label %479

479:                                              ; preds = %471
  %480 = load i32, ptr %51, align 4, !tbaa !9
  %481 = add nsw i32 %480, 1
  store i32 %481, ptr %51, align 4, !tbaa !9
  br label %467, !llvm.loop !13

482:                                              ; preds = %467
  br label %483

483:                                              ; preds = %482, %452
  br label %484

484:                                              ; preds = %483, %444
  br label %485

485:                                              ; preds = %484
  %486 = load i32, ptr %50, align 4, !tbaa !9
  %487 = add nsw i32 %486, 1
  store i32 %487, ptr %50, align 4, !tbaa !9
  br label %404, !llvm.loop !15

488:                                              ; preds = %404
  br label %658

489:                                              ; preds = %385
  %490 = load i32, ptr %66, align 4, !tbaa !9
  %491 = icmp ne i32 %490, 0
  br i1 %491, label %492, label %574

492:                                              ; preds = %489
  %493 = load ptr, ptr %19, align 8, !tbaa !5
  %494 = load i32, ptr %493, align 4, !tbaa !9
  store i32 %494, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %495

495:                                              ; preds = %570, %492
  %496 = load i32, ptr %50, align 4, !tbaa !9
  %497 = load i32, ptr %33, align 4, !tbaa !9
  %498 = icmp sle i32 %496, %497
  br i1 %498, label %499, label %573

499:                                              ; preds = %495
  store float 0.000000e+00, ptr %40, align 4, !tbaa !11
  store float 1.000000e+00, ptr %42, align 4, !tbaa !11
  %500 = load ptr, ptr %20, align 8, !tbaa !5
  %501 = load i32, ptr %50, align 4, !tbaa !9
  %502 = load i32, ptr %29, align 4, !tbaa !9
  %503 = mul nsw i32 %501, %502
  %504 = add nsw i32 %503, 1
  %505 = sext i32 %504 to i64
  %506 = getelementptr inbounds float, ptr %500, i64 %505
  call void @slassq_(ptr noundef %50, ptr noundef %506, ptr noundef @c__1, ptr noundef %40, ptr noundef %42)
  %507 = load float, ptr %40, align 4, !tbaa !11
  %508 = load float, ptr %85, align 4, !tbaa !11
  %509 = fcmp ogt float %507, %508
  br i1 %509, label %510, label %516

510:                                              ; preds = %499
  %511 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -6, ptr %511, align 4, !tbaa !9
  %512 = load ptr, ptr %28, align 8, !tbaa !5
  %513 = load i32, ptr %512, align 4, !tbaa !9
  %514 = sub nsw i32 0, %513
  store i32 %514, ptr %34, align 4, !tbaa !9
  %515 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %34, i32 noundef 6)
  store i32 1, ptr %101, align 4
  br label %5083

516:                                              ; preds = %499
  %517 = load float, ptr %42, align 4, !tbaa !11
  %518 = fpext float %517 to double
  %519 = call double @sqrt(double noundef %518) #5
  %520 = fptrunc double %519 to float
  store float %520, ptr %42, align 4, !tbaa !11
  %521 = load float, ptr %40, align 4, !tbaa !11
  %522 = load float, ptr %85, align 4, !tbaa !11
  %523 = load float, ptr %42, align 4, !tbaa !11
  %524 = fdiv float %522, %523
  %525 = fcmp olt float %521, %524
  br i1 %525, label %526, label %537

526:                                              ; preds = %516
  %527 = load i32, ptr %96, align 4, !tbaa !9
  %528 = icmp ne i32 %527, 0
  br i1 %528, label %529, label %537

529:                                              ; preds = %526
  %530 = load float, ptr %40, align 4, !tbaa !11
  %531 = load float, ptr %42, align 4, !tbaa !11
  %532 = fmul float %530, %531
  %533 = load ptr, ptr %22, align 8, !tbaa !5
  %534 = load i32, ptr %50, align 4, !tbaa !9
  %535 = sext i32 %534 to i64
  %536 = getelementptr inbounds float, ptr %533, i64 %535
  store float %532, ptr %536, align 4, !tbaa !11
  br label %569

537:                                              ; preds = %526, %516
  store i32 0, ptr %96, align 4, !tbaa !9
  %538 = load float, ptr %40, align 4, !tbaa !11
  %539 = load float, ptr %42, align 4, !tbaa !11
  %540 = load float, ptr %92, align 4, !tbaa !11
  %541 = fmul float %539, %540
  %542 = fmul float %538, %541
  %543 = load ptr, ptr %22, align 8, !tbaa !5
  %544 = load i32, ptr %50, align 4, !tbaa !9
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds float, ptr %543, i64 %545
  store float %542, ptr %546, align 4, !tbaa !11
  %547 = load i32, ptr %93, align 4, !tbaa !9
  %548 = icmp ne i32 %547, 0
  br i1 %548, label %549, label %568

549:                                              ; preds = %537
  store i32 0, ptr %93, align 4, !tbaa !9
  %550 = load i32, ptr %50, align 4, !tbaa !9
  %551 = sub nsw i32 %550, 1
  store i32 %551, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %552

552:                                              ; preds = %564, %549
  %553 = load i32, ptr %51, align 4, !tbaa !9
  %554 = load i32, ptr %34, align 4, !tbaa !9
  %555 = icmp sle i32 %553, %554
  br i1 %555, label %556, label %567

556:                                              ; preds = %552
  %557 = load float, ptr %92, align 4, !tbaa !11
  %558 = load ptr, ptr %22, align 8, !tbaa !5
  %559 = load i32, ptr %51, align 4, !tbaa !9
  %560 = sext i32 %559 to i64
  %561 = getelementptr inbounds float, ptr %558, i64 %560
  %562 = load float, ptr %561, align 4, !tbaa !11
  %563 = fmul float %562, %557
  store float %563, ptr %561, align 4, !tbaa !11
  br label %564

564:                                              ; preds = %556
  %565 = load i32, ptr %51, align 4, !tbaa !9
  %566 = add nsw i32 %565, 1
  store i32 %566, ptr %51, align 4, !tbaa !9
  br label %552, !llvm.loop !16

567:                                              ; preds = %552
  br label %568

568:                                              ; preds = %567, %537
  br label %569

569:                                              ; preds = %568, %529
  br label %570

570:                                              ; preds = %569
  %571 = load i32, ptr %50, align 4, !tbaa !9
  %572 = add nsw i32 %571, 1
  store i32 %572, ptr %50, align 4, !tbaa !9
  br label %495, !llvm.loop !17

573:                                              ; preds = %495
  br label %657

574:                                              ; preds = %489
  %575 = load ptr, ptr %19, align 8, !tbaa !5
  %576 = load i32, ptr %575, align 4, !tbaa !9
  store i32 %576, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %577

577:                                              ; preds = %653, %574
  %578 = load i32, ptr %50, align 4, !tbaa !9
  %579 = load i32, ptr %33, align 4, !tbaa !9
  %580 = icmp sle i32 %578, %579
  br i1 %580, label %581, label %656

581:                                              ; preds = %577
  store float 0.000000e+00, ptr %40, align 4, !tbaa !11
  store float 1.000000e+00, ptr %42, align 4, !tbaa !11
  %582 = load ptr, ptr %18, align 8, !tbaa !5
  %583 = load ptr, ptr %20, align 8, !tbaa !5
  %584 = load i32, ptr %50, align 4, !tbaa !9
  %585 = load i32, ptr %29, align 4, !tbaa !9
  %586 = mul nsw i32 %584, %585
  %587 = add nsw i32 %586, 1
  %588 = sext i32 %587 to i64
  %589 = getelementptr inbounds float, ptr %583, i64 %588
  call void @slassq_(ptr noundef %582, ptr noundef %589, ptr noundef @c__1, ptr noundef %40, ptr noundef %42)
  %590 = load float, ptr %40, align 4, !tbaa !11
  %591 = load float, ptr %85, align 4, !tbaa !11
  %592 = fcmp ogt float %590, %591
  br i1 %592, label %593, label %599

593:                                              ; preds = %581
  %594 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 -6, ptr %594, align 4, !tbaa !9
  %595 = load ptr, ptr %28, align 8, !tbaa !5
  %596 = load i32, ptr %595, align 4, !tbaa !9
  %597 = sub nsw i32 0, %596
  store i32 %597, ptr %34, align 4, !tbaa !9
  %598 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %34, i32 noundef 6)
  store i32 1, ptr %101, align 4
  br label %5083

599:                                              ; preds = %581
  %600 = load float, ptr %42, align 4, !tbaa !11
  %601 = fpext float %600 to double
  %602 = call double @sqrt(double noundef %601) #5
  %603 = fptrunc double %602 to float
  store float %603, ptr %42, align 4, !tbaa !11
  %604 = load float, ptr %40, align 4, !tbaa !11
  %605 = load float, ptr %85, align 4, !tbaa !11
  %606 = load float, ptr %42, align 4, !tbaa !11
  %607 = fdiv float %605, %606
  %608 = fcmp olt float %604, %607
  br i1 %608, label %609, label %620

609:                                              ; preds = %599
  %610 = load i32, ptr %96, align 4, !tbaa !9
  %611 = icmp ne i32 %610, 0
  br i1 %611, label %612, label %620

612:                                              ; preds = %609
  %613 = load float, ptr %40, align 4, !tbaa !11
  %614 = load float, ptr %42, align 4, !tbaa !11
  %615 = fmul float %613, %614
  %616 = load ptr, ptr %22, align 8, !tbaa !5
  %617 = load i32, ptr %50, align 4, !tbaa !9
  %618 = sext i32 %617 to i64
  %619 = getelementptr inbounds float, ptr %616, i64 %618
  store float %615, ptr %619, align 4, !tbaa !11
  br label %652

620:                                              ; preds = %609, %599
  store i32 0, ptr %96, align 4, !tbaa !9
  %621 = load float, ptr %40, align 4, !tbaa !11
  %622 = load float, ptr %42, align 4, !tbaa !11
  %623 = load float, ptr %92, align 4, !tbaa !11
  %624 = fmul float %622, %623
  %625 = fmul float %621, %624
  %626 = load ptr, ptr %22, align 8, !tbaa !5
  %627 = load i32, ptr %50, align 4, !tbaa !9
  %628 = sext i32 %627 to i64
  %629 = getelementptr inbounds float, ptr %626, i64 %628
  store float %625, ptr %629, align 4, !tbaa !11
  %630 = load i32, ptr %93, align 4, !tbaa !9
  %631 = icmp ne i32 %630, 0
  br i1 %631, label %632, label %651

632:                                              ; preds = %620
  store i32 0, ptr %93, align 4, !tbaa !9
  %633 = load i32, ptr %50, align 4, !tbaa !9
  %634 = sub nsw i32 %633, 1
  store i32 %634, ptr %34, align 4, !tbaa !9
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %635

635:                                              ; preds = %647, %632
  %636 = load i32, ptr %51, align 4, !tbaa !9
  %637 = load i32, ptr %34, align 4, !tbaa !9
  %638 = icmp sle i32 %636, %637
  br i1 %638, label %639, label %650

639:                                              ; preds = %635
  %640 = load float, ptr %92, align 4, !tbaa !11
  %641 = load ptr, ptr %22, align 8, !tbaa !5
  %642 = load i32, ptr %51, align 4, !tbaa !9
  %643 = sext i32 %642 to i64
  %644 = getelementptr inbounds float, ptr %641, i64 %643
  %645 = load float, ptr %644, align 4, !tbaa !11
  %646 = fmul float %645, %640
  store float %646, ptr %644, align 4, !tbaa !11
  br label %647

647:                                              ; preds = %639
  %648 = load i32, ptr %51, align 4, !tbaa !9
  %649 = add nsw i32 %648, 1
  store i32 %649, ptr %51, align 4, !tbaa !9
  br label %635, !llvm.loop !18

650:                                              ; preds = %635
  br label %651

651:                                              ; preds = %650, %620
  br label %652

652:                                              ; preds = %651, %612
  br label %653

653:                                              ; preds = %652
  %654 = load i32, ptr %50, align 4, !tbaa !9
  %655 = add nsw i32 %654, 1
  store i32 %655, ptr %50, align 4, !tbaa !9
  br label %577, !llvm.loop !19

656:                                              ; preds = %577
  br label %657

657:                                              ; preds = %656, %573
  br label %658

658:                                              ; preds = %657, %488
  %659 = load i32, ptr %96, align 4, !tbaa !9
  %660 = icmp ne i32 %659, 0
  br i1 %660, label %661, label %662

661:                                              ; preds = %658
  store float 1.000000e+00, ptr %92, align 4, !tbaa !11
  br label %662

662:                                              ; preds = %661, %658
  store float 0.000000e+00, ptr %40, align 4, !tbaa !11
  %663 = load float, ptr %85, align 4, !tbaa !11
  store float %663, ptr %42, align 4, !tbaa !11
  %664 = load ptr, ptr %19, align 8, !tbaa !5
  %665 = load i32, ptr %664, align 4, !tbaa !9
  store i32 %665, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %666

666:                                              ; preds = %709, %662
  %667 = load i32, ptr %50, align 4, !tbaa !9
  %668 = load i32, ptr %33, align 4, !tbaa !9
  %669 = icmp sle i32 %667, %668
  br i1 %669, label %670, label %712

670:                                              ; preds = %666
  %671 = load ptr, ptr %22, align 8, !tbaa !5
  %672 = load i32, ptr %50, align 4, !tbaa !9
  %673 = sext i32 %672 to i64
  %674 = getelementptr inbounds float, ptr %671, i64 %673
  %675 = load float, ptr %674, align 4, !tbaa !11
  %676 = fcmp une float %675, 0.000000e+00
  br i1 %676, label %677, label %693

677:                                              ; preds = %670
  %678 = load float, ptr %42, align 4, !tbaa !11
  store float %678, ptr %38, align 4, !tbaa !11
  %679 = load ptr, ptr %22, align 8, !tbaa !5
  %680 = load i32, ptr %50, align 4, !tbaa !9
  %681 = sext i32 %680 to i64
  %682 = getelementptr inbounds float, ptr %679, i64 %681
  %683 = load float, ptr %682, align 4, !tbaa !11
  store float %683, ptr %39, align 4, !tbaa !11
  %684 = load float, ptr %38, align 4, !tbaa !11
  %685 = load float, ptr %39, align 4, !tbaa !11
  %686 = fcmp ole float %684, %685
  br i1 %686, label %687, label %689

687:                                              ; preds = %677
  %688 = load float, ptr %38, align 4, !tbaa !11
  br label %691

689:                                              ; preds = %677
  %690 = load float, ptr %39, align 4, !tbaa !11
  br label %691

691:                                              ; preds = %689, %687
  %692 = phi float [ %688, %687 ], [ %690, %689 ]
  store float %692, ptr %42, align 4, !tbaa !11
  br label %693

693:                                              ; preds = %691, %670
  %694 = load float, ptr %40, align 4, !tbaa !11
  store float %694, ptr %38, align 4, !tbaa !11
  %695 = load ptr, ptr %22, align 8, !tbaa !5
  %696 = load i32, ptr %50, align 4, !tbaa !9
  %697 = sext i32 %696 to i64
  %698 = getelementptr inbounds float, ptr %695, i64 %697
  %699 = load float, ptr %698, align 4, !tbaa !11
  store float %699, ptr %39, align 4, !tbaa !11
  %700 = load float, ptr %38, align 4, !tbaa !11
  %701 = load float, ptr %39, align 4, !tbaa !11
  %702 = fcmp oge float %700, %701
  br i1 %702, label %703, label %705

703:                                              ; preds = %693
  %704 = load float, ptr %38, align 4, !tbaa !11
  br label %707

705:                                              ; preds = %693
  %706 = load float, ptr %39, align 4, !tbaa !11
  br label %707

707:                                              ; preds = %705, %703
  %708 = phi float [ %704, %703 ], [ %706, %705 ]
  store float %708, ptr %40, align 4, !tbaa !11
  br label %709

709:                                              ; preds = %707
  %710 = load i32, ptr %50, align 4, !tbaa !9
  %711 = add nsw i32 %710, 1
  store i32 %711, ptr %50, align 4, !tbaa !9
  br label %666, !llvm.loop !20

712:                                              ; preds = %666
  %713 = load float, ptr %40, align 4, !tbaa !11
  %714 = fcmp oeq float %713, 0.000000e+00
  br i1 %714, label %715, label %739

715:                                              ; preds = %712
  %716 = load i32, ptr %59, align 4, !tbaa !9
  %717 = icmp ne i32 %716, 0
  br i1 %717, label %718, label %726

718:                                              ; preds = %715
  %719 = load ptr, ptr %18, align 8, !tbaa !5
  %720 = load ptr, ptr %19, align 8, !tbaa !5
  %721 = load ptr, ptr %20, align 8, !tbaa !5
  %722 = load i32, ptr %30, align 4, !tbaa !9
  %723 = sext i32 %722 to i64
  %724 = getelementptr inbounds float, ptr %721, i64 %723
  %725 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slaset_(ptr noundef @.str.5, ptr noundef %719, ptr noundef %720, ptr noundef @c_b17, ptr noundef @c_b18, ptr noundef %724, ptr noundef %725)
  br label %726

726:                                              ; preds = %718, %715
  %727 = load ptr, ptr %26, align 8, !tbaa !5
  %728 = getelementptr inbounds float, ptr %727, i64 1
  store float 1.000000e+00, ptr %728, align 4, !tbaa !11
  %729 = load ptr, ptr %26, align 8, !tbaa !5
  %730 = getelementptr inbounds float, ptr %729, i64 2
  store float 0.000000e+00, ptr %730, align 4, !tbaa !11
  %731 = load ptr, ptr %26, align 8, !tbaa !5
  %732 = getelementptr inbounds float, ptr %731, i64 3
  store float 0.000000e+00, ptr %732, align 4, !tbaa !11
  %733 = load ptr, ptr %26, align 8, !tbaa !5
  %734 = getelementptr inbounds float, ptr %733, i64 4
  store float 0.000000e+00, ptr %734, align 4, !tbaa !11
  %735 = load ptr, ptr %26, align 8, !tbaa !5
  %736 = getelementptr inbounds float, ptr %735, i64 5
  store float 0.000000e+00, ptr %736, align 4, !tbaa !11
  %737 = load ptr, ptr %26, align 8, !tbaa !5
  %738 = getelementptr inbounds float, ptr %737, i64 6
  store float 0.000000e+00, ptr %738, align 4, !tbaa !11
  store i32 1, ptr %101, align 4
  br label %5083

739:                                              ; preds = %712
  %740 = load ptr, ptr %19, align 8, !tbaa !5
  %741 = load i32, ptr %740, align 4, !tbaa !9
  %742 = icmp eq i32 %741, 1
  br i1 %742, label %743, label %781

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

746:                                              ; preds = %743
  %747 = load ptr, ptr %22, align 8, !tbaa !5
  %748 = getelementptr inbounds float, ptr %747, i64 1
  %749 = load ptr, ptr %18, align 8, !tbaa !5
  %750 = load ptr, ptr %20, align 8, !tbaa !5
  %751 = load i32, ptr %29, align 4, !tbaa !9
  %752 = add nsw i32 %751, 1
  %753 = sext i32 %752 to i64
  %754 = getelementptr inbounds float, ptr %750, i64 %753
  %755 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %748, ptr noundef %92, ptr noundef %749, ptr noundef @c__1, ptr noundef %754, ptr noundef %755, ptr noundef %44)
  br label %756

756:                                              ; preds = %746, %743
  %757 = load float, ptr %92, align 4, !tbaa !11
  %758 = fdiv float 1.000000e+00, %757
  %759 = load ptr, ptr %26, align 8, !tbaa !5
  %760 = getelementptr inbounds float, ptr %759, i64 1
  store float %758, ptr %760, align 4, !tbaa !11
  %761 = load ptr, ptr %22, align 8, !tbaa !5
  %762 = getelementptr inbounds float, ptr %761, i64 1
  %763 = load float, ptr %762, align 4, !tbaa !11
  %764 = load float, ptr %58, align 4, !tbaa !11
  %765 = fcmp oge float %763, %764
  br i1 %765, label %766, label %769

766:                                              ; preds = %756
  %767 = load ptr, ptr %26, align 8, !tbaa !5
  %768 = getelementptr inbounds float, ptr %767, i64 2
  store float 1.000000e+00, ptr %768, align 4, !tbaa !11
  br label %772

769:                                              ; preds = %756
  %770 = load ptr, ptr %26, align 8, !tbaa !5
  %771 = getelementptr inbounds float, ptr %770, i64 2
  store float 0.000000e+00, ptr %771, align 4, !tbaa !11
  br label %772

772:                                              ; preds = %769, %766
  %773 = load ptr, ptr %26, align 8, !tbaa !5
  %774 = getelementptr inbounds float, ptr %773, i64 3
  store float 0.000000e+00, ptr %774, align 4, !tbaa !11
  %775 = load ptr, ptr %26, align 8, !tbaa !5
  %776 = getelementptr inbounds float, ptr %775, i64 4
  store float 0.000000e+00, ptr %776, align 4, !tbaa !11
  %777 = load ptr, ptr %26, align 8, !tbaa !5
  %778 = getelementptr inbounds float, ptr %777, i64 5
  store float 0.000000e+00, ptr %778, align 4, !tbaa !11
  %779 = load ptr, ptr %26, align 8, !tbaa !5
  %780 = getelementptr inbounds float, ptr %779, i64 6
  store float 0.000000e+00, ptr %780, align 4, !tbaa !11
  store i32 1, ptr %101, align 4
  br label %5083

781:                                              ; preds = %739
  %782 = load float, ptr %58, align 4, !tbaa !11
  %783 = load float, ptr %61, align 4, !tbaa !11
  %784 = fdiv float %782, %783
  %785 = fpext float %784 to double
  %786 = call double @sqrt(double noundef %785) #5
  %787 = fptrunc double %786 to float
  store float %787, ptr %73, align 4, !tbaa !11
  %788 = load float, ptr %85, align 4, !tbaa !11
  %789 = load ptr, ptr %19, align 8, !tbaa !5
  %790 = load i32, ptr %789, align 4, !tbaa !9
  %791 = sitofp i32 %790 to float
  %792 = fdiv float %788, %791
  %793 = fpext float %792 to double
  %794 = call double @sqrt(double noundef %793) #5
  %795 = fptrunc double %794 to float
  store float %795, ptr %48, align 4, !tbaa !11
  %796 = load float, ptr %40, align 4, !tbaa !11
  %797 = load float, ptr %73, align 4, !tbaa !11
  %798 = fcmp ole float %796, %797
  br i1 %798, label %811, label %799

799:                                              ; preds = %781
  %800 = load float, ptr %42, align 4, !tbaa !11
  %801 = load float, ptr %48, align 4, !tbaa !11
  %802 = fcmp oge float %800, %801
  br i1 %802, label %811, label %803

803:                                              ; preds = %799
  %804 = load float, ptr %73, align 4, !tbaa !11
  %805 = load float, ptr %42, align 4, !tbaa !11
  %806 = fcmp ole float %804, %805
  br i1 %806, label %807, label %825

807:                                              ; preds = %803
  %808 = load float, ptr %40, align 4, !tbaa !11
  %809 = load float, ptr %48, align 4, !tbaa !11
  %810 = fcmp ole float %808, %809
  br i1 %810, label %811, label %825

811:                                              ; preds = %807, %799, %781
  %812 = load float, ptr %85, align 4, !tbaa !11
  store float %812, ptr %38, align 4, !tbaa !11
  %813 = load float, ptr %48, align 4, !tbaa !11
  %814 = load float, ptr %40, align 4, !tbaa !11
  %815 = fdiv float %813, %814
  store float %815, ptr %39, align 4, !tbaa !11
  %816 = load float, ptr %38, align 4, !tbaa !11
  %817 = load float, ptr %39, align 4, !tbaa !11
  %818 = fcmp ole float %816, %817
  br i1 %818, label %819, label %821

819:                                              ; preds = %811
  %820 = load float, ptr %38, align 4, !tbaa !11
  br label %823

821:                                              ; preds = %811
  %822 = load float, ptr %39, align 4, !tbaa !11
  br label %823

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

825:                                              ; preds = %807, %803
  %826 = load float, ptr %42, align 4, !tbaa !11
  %827 = load float, ptr %73, align 4, !tbaa !11
  %828 = fcmp ole float %826, %827
  br i1 %828, label %829, label %858

829:                                              ; preds = %825
  %830 = load float, ptr %40, align 4, !tbaa !11
  %831 = load float, ptr %48, align 4, !tbaa !11
  %832 = fcmp ole float %830, %831
  br i1 %832, label %833, label %858

833:                                              ; preds = %829
  %834 = load float, ptr %73, align 4, !tbaa !11
  %835 = load float, ptr %42, align 4, !tbaa !11
  %836 = fdiv float %834, %835
  store float %836, ptr %38, align 4, !tbaa !11
  %837 = load float, ptr %85, align 4, !tbaa !11
  %838 = fpext float %837 to double
  %839 = load float, ptr %40, align 4, !tbaa !11
  %840 = fpext float %839 to double
  %841 = load ptr, ptr %19, align 8, !tbaa !5
  %842 = load i32, ptr %841, align 4, !tbaa !9
  %843 = sitofp i32 %842 to float
  %844 = fpext float %843 to double
  %845 = call double @sqrt(double noundef %844) #5
  %846 = fmul double %840, %845
  %847 = fdiv double %838, %846
  %848 = fptrunc double %847 to float
  store float %848, ptr %39, align 4, !tbaa !11
  %849 = load float, ptr %38, align 4, !tbaa !11
  %850 = load float, ptr %39, align 4, !tbaa !11
  %851 = fcmp ole float %849, %850
  br i1 %851, label %852, label %854

852:                                              ; preds = %833
  %853 = load float, ptr %38, align 4, !tbaa !11
  br label %856

854:                                              ; preds = %833
  %855 = load float, ptr %39, align 4, !tbaa !11
  br label %856

856:                                              ; preds = %854, %852
  %857 = phi float [ %853, %852 ], [ %855, %854 ]
  store float %857, ptr %48, align 4, !tbaa !11
  br label %918

858:                                              ; preds = %829, %825
  %859 = load float, ptr %42, align 4, !tbaa !11
  %860 = load float, ptr %73, align 4, !tbaa !11
  %861 = fcmp oge float %859, %860
  br i1 %861, label %862, label %882

862:                                              ; preds = %858
  %863 = load float, ptr %40, align 4, !tbaa !11
  %864 = load float, ptr %48, align 4, !tbaa !11
  %865 = fcmp oge float %863, %864
  br i1 %865, label %866, label %882

866:                                              ; preds = %862
  %867 = load float, ptr %73, align 4, !tbaa !11
  %868 = load float, ptr %42, align 4, !tbaa !11
  %869 = fdiv float %867, %868
  store float %869, ptr %38, align 4, !tbaa !11
  %870 = load float, ptr %48, align 4, !tbaa !11
  %871 = load float, ptr %40, align 4, !tbaa !11
  %872 = fdiv float %870, %871
  store float %872, ptr %39, align 4, !tbaa !11
  %873 = load float, ptr %38, align 4, !tbaa !11
  %874 = load float, ptr %39, align 4, !tbaa !11
  %875 = fcmp oge float %873, %874
  br i1 %875, label %876, label %878

876:                                              ; preds = %866
  %877 = load float, ptr %38, align 4, !tbaa !11
  br label %880

878:                                              ; preds = %866
  %879 = load float, ptr %39, align 4, !tbaa !11
  br label %880

880:                                              ; preds = %878, %876
  %881 = phi float [ %877, %876 ], [ %879, %878 ]
  store float %881, ptr %48, align 4, !tbaa !11
  br label %917

882:                                              ; preds = %862, %858
  %883 = load float, ptr %42, align 4, !tbaa !11
  %884 = load float, ptr %73, align 4, !tbaa !11
  %885 = fcmp ole float %883, %884
  br i1 %885, label %886, label %915

886:                                              ; preds = %882
  %887 = load float, ptr %40, 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 %915

890:                                              ; preds = %886
  %891 = load float, ptr %73, align 4, !tbaa !11
  %892 = load float, ptr %42, align 4, !tbaa !11
  %893 = fdiv float %891, %892
  store float %893, ptr %38, align 4, !tbaa !11
  %894 = load float, ptr %85, align 4, !tbaa !11
  %895 = fpext float %894 to double
  %896 = load ptr, ptr %19, align 8, !tbaa !5
  %897 = load i32, ptr %896, align 4, !tbaa !9
  %898 = sitofp i32 %897 to float
  %899 = fpext float %898 to double
  %900 = call double @sqrt(double noundef %899) #5
  %901 = load float, ptr %40, align 4, !tbaa !11
  %902 = fpext float %901 to double
  %903 = fmul double %900, %902
  %904 = fdiv double %895, %903
  %905 = fptrunc double %904 to float
  store float %905, ptr %39, align 4, !tbaa !11
  %906 = load float, ptr %38, align 4, !tbaa !11
  %907 = load float, ptr %39, align 4, !tbaa !11
  %908 = fcmp ole float %906, %907
  br i1 %908, label %909, label %911

909:                                              ; preds = %890
  %910 = load float, ptr %38, align 4, !tbaa !11
  br label %913

911:                                              ; preds = %890
  %912 = load float, ptr %39, align 4, !tbaa !11
  br label %913

913:                                              ; preds = %911, %909
  %914 = phi float [ %910, %909 ], [ %912, %911 ]
  store float %914, ptr %48, align 4, !tbaa !11
  br label %916

915:                                              ; preds = %886, %882
  store float 1.000000e+00, ptr %48, align 4, !tbaa !11
  br label %916

916:                                              ; preds = %915, %913
  br label %917

917:                                              ; preds = %916, %880
  br label %918

918:                                              ; preds = %917, %856
  br label %919

919:                                              ; preds = %918, %823
  %920 = load float, ptr %48, align 4, !tbaa !11
  %921 = fcmp une float %920, 1.000000e+00
  br i1 %921, label %922, label %927

922:                                              ; preds = %919
  %923 = load ptr, ptr %19, align 8, !tbaa !5
  %924 = load ptr, ptr %22, align 8, !tbaa !5
  %925 = getelementptr inbounds float, ptr %924, i64 1
  %926 = load ptr, ptr %19, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %48, ptr noundef %923, ptr noundef @c__1, ptr noundef %925, ptr noundef %926, ptr noundef %44)
  br label %927

927:                                              ; preds = %922, %919
  %928 = load float, ptr %48, align 4, !tbaa !11
  %929 = load float, ptr %92, align 4, !tbaa !11
  %930 = fmul float %928, %929
  store float %930, ptr %92, align 4, !tbaa !11
  %931 = load float, ptr %92, align 4, !tbaa !11
  %932 = fcmp une float %931, 1.000000e+00
  br i1 %932, label %933, label %944

933:                                              ; preds = %927
  %934 = load ptr, ptr %15, align 8, !tbaa !5
  %935 = load ptr, ptr %18, align 8, !tbaa !5
  %936 = load ptr, ptr %19, align 8, !tbaa !5
  %937 = load ptr, ptr %20, align 8, !tbaa !5
  %938 = load i32, ptr %30, align 4, !tbaa !9
  %939 = sext i32 %938 to i64
  %940 = getelementptr inbounds float, ptr %937, i64 %939
  %941 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef %934, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %92, ptr noundef %935, ptr noundef %936, ptr noundef %940, ptr noundef %941, ptr noundef %44)
  %942 = load float, ptr %92, align 4, !tbaa !11
  %943 = fdiv float 1.000000e+00, %942
  store float %943, ptr %92, align 4, !tbaa !11
  br label %944

944:                                              ; preds = %933, %927
  %945 = load ptr, ptr %19, align 8, !tbaa !5
  %946 = load i32, ptr %945, align 4, !tbaa !9
  %947 = load ptr, ptr %19, align 8, !tbaa !5
  %948 = load i32, ptr %947, align 4, !tbaa !9
  %949 = sub nsw i32 %948, 1
  %950 = mul nsw i32 %946, %949
  %951 = sdiv i32 %950, 2
  store i32 %951, ptr %81, align 4, !tbaa !9
  store i32 0, ptr %82, align 4, !tbaa !9
  %952 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  store float 0.000000e+00, ptr %952, align 16, !tbaa !11
  %953 = load ptr, ptr %19, align 8, !tbaa !5
  %954 = load i32, ptr %953, align 4, !tbaa !9
  store i32 %954, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %955

955:                                              ; preds = %964, %944
  %956 = load i32, ptr %51, align 4, !tbaa !9
  %957 = load i32, ptr %33, align 4, !tbaa !9
  %958 = icmp sle i32 %956, %957
  br i1 %958, label %959, label %967

959:                                              ; preds = %955
  %960 = load ptr, ptr %26, align 8, !tbaa !5
  %961 = load i32, ptr %51, align 4, !tbaa !9
  %962 = sext i32 %961 to i64
  %963 = getelementptr inbounds float, ptr %960, i64 %962
  store float 1.000000e+00, ptr %963, align 4, !tbaa !11
  br label %964

964:                                              ; preds = %959
  %965 = load i32, ptr %51, align 4, !tbaa !9
  %966 = add nsw i32 %965, 1
  store i32 %966, ptr %51, align 4, !tbaa !9
  br label %955, !llvm.loop !21

967:                                              ; preds = %955
  store i32 3, ptr %75, align 4, !tbaa !9
  %968 = load ptr, ptr %19, align 8, !tbaa !5
  %969 = load i32, ptr %968, align 4, !tbaa !9
  %970 = icmp sle i32 8, %969
  br i1 %970, label %971, label %972

971:                                              ; preds = %967
  br label %975

972:                                              ; preds = %967
  %973 = load ptr, ptr %19, align 8, !tbaa !5
  %974 = load i32, ptr %973, align 4, !tbaa !9
  br label %975

975:                                              ; preds = %972, %971
  %976 = phi i32 [ 8, %971 ], [ %974, %972 ]
  store i32 %976, ptr %86, align 4, !tbaa !9
  %977 = load ptr, ptr %19, align 8, !tbaa !5
  %978 = load i32, ptr %977, align 4, !tbaa !9
  %979 = load i32, ptr %86, align 4, !tbaa !9
  %980 = sdiv i32 %978, %979
  store i32 %980, ptr %91, align 4, !tbaa !9
  %981 = load i32, ptr %91, align 4, !tbaa !9
  %982 = load i32, ptr %86, align 4, !tbaa !9
  %983 = mul nsw i32 %981, %982
  %984 = load ptr, ptr %19, align 8, !tbaa !5
  %985 = load i32, ptr %984, align 4, !tbaa !9
  %986 = icmp ne i32 %983, %985
  br i1 %986, label %987, label %990

987:                                              ; preds = %975
  %988 = load i32, ptr %91, align 4, !tbaa !9
  %989 = add nsw i32 %988, 1
  store i32 %989, ptr %91, align 4, !tbaa !9
  br label %990

990:                                              ; preds = %987, %975
  %991 = load i32, ptr %86, align 4, !tbaa !9
  store i32 %991, ptr %33, align 4, !tbaa !9
  %992 = load i32, ptr %33, align 4, !tbaa !9
  %993 = load i32, ptr %33, align 4, !tbaa !9
  %994 = mul nsw i32 %992, %993
  store i32 %994, ptr %76, align 4, !tbaa !9
  %995 = load i32, ptr %86, align 4, !tbaa !9
  %996 = icmp sle i32 5, %995
  br i1 %996, label %997, label %998

997:                                              ; preds = %990
  br label %1000

998:                                              ; preds = %990
  %999 = load i32, ptr %86, align 4, !tbaa !9
  br label %1000

1000:                                             ; preds = %998, %997
  %1001 = phi i32 [ 5, %997 ], [ %999, %998 ]
  store i32 %1001, ptr %99, align 4, !tbaa !9
  store i32 1, ptr %87, align 4, !tbaa !9
  store i32 64, ptr %33, align 4, !tbaa !9
  %1002 = load i32, ptr %86, align 4, !tbaa !9
  %1003 = shl i32 %1002, 2
  store i32 %1003, ptr %34, align 4, !tbaa !9
  %1004 = load i32, ptr %65, align 4, !tbaa !9
  %1005 = icmp ne i32 %1004, 0
  br i1 %1005, label %1009, label %1006

1006:                                             ; preds = %1000
  %1007 = load i32, ptr %66, align 4, !tbaa !9
  %1008 = icmp ne i32 %1007, 0
  br i1 %1008, label %1009, label %1456

1009:                                             ; preds = %1006, %1000
  %1010 = load ptr, ptr %19, align 8, !tbaa !5
  %1011 = load i32, ptr %1010, align 4, !tbaa !9
  %1012 = load i32, ptr %33, align 4, !tbaa !9
  %1013 = load i32, ptr %34, align 4, !tbaa !9
  %1014 = icmp sge i32 %1012, %1013
  br i1 %1014, label %1015, label %1017

1015:                                             ; preds = %1009
  %1016 = load i32, ptr %33, align 4, !tbaa !9
  br label %1019

1017:                                             ; preds = %1009
  %1018 = load i32, ptr %34, align 4, !tbaa !9
  br label %1019

1019:                                             ; preds = %1017, %1015
  %1020 = phi i32 [ %1016, %1015 ], [ %1018, %1017 ]
  %1021 = icmp sgt i32 %1011, %1020
  br i1 %1021, label %1022, label %1456

1022:                                             ; preds = %1019
  %1023 = load ptr, ptr %19, align 8, !tbaa !5
  %1024 = load i32, ptr %1023, align 4, !tbaa !9
  %1025 = sdiv i32 %1024, 4
  store i32 %1025, ptr %69, align 4, !tbaa !9
  %1026 = load ptr, ptr %19, align 8, !tbaa !5
  %1027 = load i32, ptr %1026, align 4, !tbaa !9
  %1028 = sdiv i32 %1027, 2
  store i32 %1028, ptr %68, align 4, !tbaa !9
  %1029 = load i32, ptr %69, align 4, !tbaa !9
  %1030 = mul nsw i32 %1029, 3
  store i32 %1030, ptr %71, align 4, !tbaa !9
  %1031 = load i32, ptr %62, align 4, !tbaa !9
  %1032 = icmp ne i32 %1031, 0
  br i1 %1032, label %1033, label %1034

1033:                                             ; preds = %1022
  store i32 0, ptr %51, align 4, !tbaa !9
  br label %1035

1034:                                             ; preds = %1022
  store i32 1, ptr %51, align 4, !tbaa !9
  br label %1035

1035:                                             ; preds = %1034, %1033
  %1036 = load i32, ptr %65, align 4, !tbaa !9
  %1037 = icmp ne i32 %1036, 0
  br i1 %1037, label %1038, label %1307

1038:                                             ; preds = %1035
  %1039 = load ptr, ptr %18, align 8, !tbaa !5
  %1040 = load i32, ptr %1039, align 4, !tbaa !9
  %1041 = load i32, ptr %71, align 4, !tbaa !9
  %1042 = sub nsw i32 %1040, %1041
  store i32 %1042, ptr %33, align 4, !tbaa !9
  %1043 = load ptr, ptr %19, align 8, !tbaa !5
  %1044 = load i32, ptr %1043, align 4, !tbaa !9
  %1045 = load i32, ptr %71, align 4, !tbaa !9
  %1046 = sub nsw i32 %1044, %1045
  store i32 %1046, ptr %34, align 4, !tbaa !9
  %1047 = load ptr, ptr %27, align 8, !tbaa !5
  %1048 = load i32, ptr %1047, align 4, !tbaa !9
  %1049 = load ptr, ptr %19, align 8, !tbaa !5
  %1050 = load i32, ptr %1049, align 4, !tbaa !9
  %1051 = sub nsw i32 %1048, %1050
  store i32 %1051, ptr %35, align 4, !tbaa !9
  %1052 = load ptr, ptr %17, align 8, !tbaa !5
  %1053 = load ptr, ptr %20, align 8, !tbaa !5
  %1054 = load i32, ptr %71, align 4, !tbaa !9
  %1055 = add nsw i32 %1054, 1
  %1056 = load i32, ptr %71, align 4, !tbaa !9
  %1057 = add nsw i32 %1056, 1
  %1058 = load i32, ptr %29, align 4, !tbaa !9
  %1059 = mul nsw i32 %1057, %1058
  %1060 = add nsw i32 %1055, %1059
  %1061 = sext i32 %1060 to i64
  %1062 = getelementptr inbounds float, ptr %1053, i64 %1061
  %1063 = load ptr, ptr %21, align 8, !tbaa !5
  %1064 = load ptr, ptr %26, align 8, !tbaa !5
  %1065 = load i32, ptr %71, align 4, !tbaa !9
  %1066 = add nsw i32 %1065, 1
  %1067 = sext i32 %1066 to i64
  %1068 = getelementptr inbounds float, ptr %1064, i64 %1067
  %1069 = load ptr, ptr %22, align 8, !tbaa !5
  %1070 = load i32, ptr %71, align 4, !tbaa !9
  %1071 = add nsw i32 %1070, 1
  %1072 = sext i32 %1071 to i64
  %1073 = getelementptr inbounds float, ptr %1069, i64 %1072
  %1074 = load ptr, ptr %24, align 8, !tbaa !5
  %1075 = load i32, ptr %71, align 4, !tbaa !9
  %1076 = load i32, ptr %51, align 4, !tbaa !9
  %1077 = mul nsw i32 %1075, %1076
  %1078 = add nsw i32 %1077, 1
  %1079 = load i32, ptr %71, align 4, !tbaa !9
  %1080 = add nsw i32 %1079, 1
  %1081 = load i32, ptr %31, align 4, !tbaa !9
  %1082 = mul nsw i32 %1080, %1081
  %1083 = add nsw i32 %1078, %1082
  %1084 = sext i32 %1083 to i64
  %1085 = getelementptr inbounds float, ptr %1074, i64 %1084
  %1086 = load ptr, ptr %25, align 8, !tbaa !5
  %1087 = load ptr, ptr %26, align 8, !tbaa !5
  %1088 = load ptr, ptr %19, align 8, !tbaa !5
  %1089 = load i32, ptr %1088, align 4, !tbaa !9
  %1090 = add nsw i32 %1089, 1
  %1091 = sext i32 %1090 to i64
  %1092 = getelementptr inbounds float, ptr %1087, i64 %1091
  call void @sgsvj0_(ptr noundef %1052, ptr noundef %33, ptr noundef %34, ptr noundef %1062, ptr noundef %1063, ptr noundef %1068, ptr noundef %1073, ptr noundef %95, ptr noundef %1085, ptr noundef %1086, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__2, ptr noundef %1092, ptr noundef %35, ptr noundef %44)
  %1093 = load ptr, ptr %18, align 8, !tbaa !5
  %1094 = load i32, ptr %1093, align 4, !tbaa !9
  %1095 = load i32, ptr %68, align 4, !tbaa !9
  %1096 = sub nsw i32 %1094, %1095
  store i32 %1096, ptr %33, align 4, !tbaa !9
  %1097 = load i32, ptr %71, align 4, !tbaa !9
  %1098 = load i32, ptr %68, align 4, !tbaa !9
  %1099 = sub nsw i32 %1097, %1098
  store i32 %1099, ptr %34, align 4, !tbaa !9
  %1100 = load ptr, ptr %27, align 8, !tbaa !5
  %1101 = load i32, ptr %1100, align 4, !tbaa !9
  %1102 = load ptr, ptr %19, align 8, !tbaa !5
  %1103 = load i32, ptr %1102, align 4, !tbaa !9
  %1104 = sub nsw i32 %1101, %1103
  store i32 %1104, ptr %35, align 4, !tbaa !9
  %1105 = load ptr, ptr %17, align 8, !tbaa !5
  %1106 = load ptr, ptr %20, align 8, !tbaa !5
  %1107 = load i32, ptr %68, align 4, !tbaa !9
  %1108 = add nsw i32 %1107, 1
  %1109 = load i32, ptr %68, align 4, !tbaa !9
  %1110 = add nsw i32 %1109, 1
  %1111 = load i32, ptr %29, align 4, !tbaa !9
  %1112 = mul nsw i32 %1110, %1111
  %1113 = add nsw i32 %1108, %1112
  %1114 = sext i32 %1113 to i64
  %1115 = getelementptr inbounds float, ptr %1106, i64 %1114
  %1116 = load ptr, ptr %21, align 8, !tbaa !5
  %1117 = load ptr, ptr %26, align 8, !tbaa !5
  %1118 = load i32, ptr %68, align 4, !tbaa !9
  %1119 = add nsw i32 %1118, 1
  %1120 = sext i32 %1119 to i64
  %1121 = getelementptr inbounds float, ptr %1117, i64 %1120
  %1122 = load ptr, ptr %22, align 8, !tbaa !5
  %1123 = load i32, ptr %68, align 4, !tbaa !9
  %1124 = add nsw i32 %1123, 1
  %1125 = sext i32 %1124 to i64
  %1126 = getelementptr inbounds float, ptr %1122, i64 %1125
  %1127 = load ptr, ptr %24, align 8, !tbaa !5
  %1128 = load i32, ptr %68, align 4, !tbaa !9
  %1129 = load i32, ptr %51, align 4, !tbaa !9
  %1130 = mul nsw i32 %1128, %1129
  %1131 = add nsw i32 %1130, 1
  %1132 = load i32, ptr %68, align 4, !tbaa !9
  %1133 = add nsw i32 %1132, 1
  %1134 = load i32, ptr %31, align 4, !tbaa !9
  %1135 = mul nsw i32 %1133, %1134
  %1136 = add nsw i32 %1131, %1135
  %1137 = sext i32 %1136 to i64
  %1138 = getelementptr inbounds float, ptr %1127, i64 %1137
  %1139 = load ptr, ptr %25, align 8, !tbaa !5
  %1140 = load ptr, ptr %26, align 8, !tbaa !5
  %1141 = load ptr, ptr %19, align 8, !tbaa !5
  %1142 = load i32, ptr %1141, align 4, !tbaa !9
  %1143 = add nsw i32 %1142, 1
  %1144 = sext i32 %1143 to i64
  %1145 = getelementptr inbounds float, ptr %1140, i64 %1144
  call void @sgsvj0_(ptr noundef %1105, ptr noundef %33, ptr noundef %34, ptr noundef %1115, ptr noundef %1116, ptr noundef %1121, ptr noundef %1126, ptr noundef %95, ptr noundef %1138, ptr noundef %1139, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__2, ptr noundef %1145, ptr noundef %35, ptr noundef %44)
  %1146 = load ptr, ptr %18, align 8, !tbaa !5
  %1147 = load i32, ptr %1146, align 4, !tbaa !9
  %1148 = load i32, ptr %68, align 4, !tbaa !9
  %1149 = sub nsw i32 %1147, %1148
  store i32 %1149, ptr %33, align 4, !tbaa !9
  %1150 = load ptr, ptr %19, align 8, !tbaa !5
  %1151 = load i32, ptr %1150, align 4, !tbaa !9
  %1152 = load i32, ptr %68, align 4, !tbaa !9
  %1153 = sub nsw i32 %1151, %1152
  store i32 %1153, ptr %34, align 4, !tbaa !9
  %1154 = load ptr, ptr %27, align 8, !tbaa !5
  %1155 = load i32, ptr %1154, align 4, !tbaa !9
  %1156 = load ptr, ptr %19, align 8, !tbaa !5
  %1157 = load i32, ptr %1156, align 4, !tbaa !9
  %1158 = sub nsw i32 %1155, %1157
  store i32 %1158, ptr %35, align 4, !tbaa !9
  %1159 = load ptr, ptr %17, align 8, !tbaa !5
  %1160 = load ptr, ptr %20, align 8, !tbaa !5
  %1161 = load i32, ptr %68, align 4, !tbaa !9
  %1162 = add nsw i32 %1161, 1
  %1163 = load i32, ptr %68, align 4, !tbaa !9
  %1164 = add nsw i32 %1163, 1
  %1165 = load i32, ptr %29, align 4, !tbaa !9
  %1166 = mul nsw i32 %1164, %1165
  %1167 = add nsw i32 %1162, %1166
  %1168 = sext i32 %1167 to i64
  %1169 = getelementptr inbounds float, ptr %1160, i64 %1168
  %1170 = load ptr, ptr %21, align 8, !tbaa !5
  %1171 = load ptr, ptr %26, align 8, !tbaa !5
  %1172 = load i32, ptr %68, align 4, !tbaa !9
  %1173 = add nsw i32 %1172, 1
  %1174 = sext i32 %1173 to i64
  %1175 = getelementptr inbounds float, ptr %1171, i64 %1174
  %1176 = load ptr, ptr %22, align 8, !tbaa !5
  %1177 = load i32, ptr %68, align 4, !tbaa !9
  %1178 = add nsw i32 %1177, 1
  %1179 = sext i32 %1178 to i64
  %1180 = getelementptr inbounds float, ptr %1176, i64 %1179
  %1181 = load ptr, ptr %24, align 8, !tbaa !5
  %1182 = load i32, ptr %68, align 4, !tbaa !9
  %1183 = load i32, ptr %51, align 4, !tbaa !9
  %1184 = mul nsw i32 %1182, %1183
  %1185 = add nsw i32 %1184, 1
  %1186 = load i32, ptr %68, align 4, !tbaa !9
  %1187 = add nsw i32 %1186, 1
  %1188 = load i32, ptr %31, align 4, !tbaa !9
  %1189 = mul nsw i32 %1187, %1188
  %1190 = add nsw i32 %1185, %1189
  %1191 = sext i32 %1190 to i64
  %1192 = getelementptr inbounds float, ptr %1181, i64 %1191
  %1193 = load ptr, ptr %25, align 8, !tbaa !5
  %1194 = load ptr, ptr %26, align 8, !tbaa !5
  %1195 = load ptr, ptr %19, align 8, !tbaa !5
  %1196 = load i32, ptr %1195, align 4, !tbaa !9
  %1197 = add nsw i32 %1196, 1
  %1198 = sext i32 %1197 to i64
  %1199 = getelementptr inbounds float, ptr %1194, i64 %1198
  call void @sgsvj1_(ptr noundef %1159, ptr noundef %33, ptr noundef %34, ptr noundef %69, ptr noundef %1169, ptr noundef %1170, ptr noundef %1175, ptr noundef %1180, ptr noundef %95, ptr noundef %1192, ptr noundef %1193, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1199, ptr noundef %35, ptr noundef %44)
  %1200 = load ptr, ptr %18, align 8, !tbaa !5
  %1201 = load i32, ptr %1200, align 4, !tbaa !9
  %1202 = load i32, ptr %69, align 4, !tbaa !9
  %1203 = sub nsw i32 %1201, %1202
  store i32 %1203, ptr %33, align 4, !tbaa !9
  %1204 = load i32, ptr %68, align 4, !tbaa !9
  %1205 = load i32, ptr %69, align 4, !tbaa !9
  %1206 = sub nsw i32 %1204, %1205
  store i32 %1206, ptr %34, align 4, !tbaa !9
  %1207 = load ptr, ptr %27, align 8, !tbaa !5
  %1208 = load i32, ptr %1207, align 4, !tbaa !9
  %1209 = load ptr, ptr %19, align 8, !tbaa !5
  %1210 = load i32, ptr %1209, align 4, !tbaa !9
  %1211 = sub nsw i32 %1208, %1210
  store i32 %1211, ptr %35, align 4, !tbaa !9
  %1212 = load ptr, ptr %17, align 8, !tbaa !5
  %1213 = load ptr, ptr %20, align 8, !tbaa !5
  %1214 = load i32, ptr %69, align 4, !tbaa !9
  %1215 = add nsw i32 %1214, 1
  %1216 = load i32, ptr %69, align 4, !tbaa !9
  %1217 = add nsw i32 %1216, 1
  %1218 = load i32, ptr %29, align 4, !tbaa !9
  %1219 = mul nsw i32 %1217, %1218
  %1220 = add nsw i32 %1215, %1219
  %1221 = sext i32 %1220 to i64
  %1222 = getelementptr inbounds float, ptr %1213, i64 %1221
  %1223 = load ptr, ptr %21, align 8, !tbaa !5
  %1224 = load ptr, ptr %26, align 8, !tbaa !5
  %1225 = load i32, ptr %69, align 4, !tbaa !9
  %1226 = add nsw i32 %1225, 1
  %1227 = sext i32 %1226 to i64
  %1228 = getelementptr inbounds float, ptr %1224, i64 %1227
  %1229 = load ptr, ptr %22, align 8, !tbaa !5
  %1230 = load i32, ptr %69, align 4, !tbaa !9
  %1231 = add nsw i32 %1230, 1
  %1232 = sext i32 %1231 to i64
  %1233 = getelementptr inbounds float, ptr %1229, i64 %1232
  %1234 = load ptr, ptr %24, align 8, !tbaa !5
  %1235 = load i32, ptr %69, align 4, !tbaa !9
  %1236 = load i32, ptr %51, align 4, !tbaa !9
  %1237 = mul nsw i32 %1235, %1236
  %1238 = add nsw i32 %1237, 1
  %1239 = load i32, ptr %69, align 4, !tbaa !9
  %1240 = add nsw i32 %1239, 1
  %1241 = load i32, ptr %31, align 4, !tbaa !9
  %1242 = mul nsw i32 %1240, %1241
  %1243 = add nsw i32 %1238, %1242
  %1244 = sext i32 %1243 to i64
  %1245 = getelementptr inbounds float, ptr %1234, i64 %1244
  %1246 = load ptr, ptr %25, align 8, !tbaa !5
  %1247 = load ptr, ptr %26, align 8, !tbaa !5
  %1248 = load ptr, ptr %19, align 8, !tbaa !5
  %1249 = load i32, ptr %1248, align 4, !tbaa !9
  %1250 = add nsw i32 %1249, 1
  %1251 = sext i32 %1250 to i64
  %1252 = getelementptr inbounds float, ptr %1247, i64 %1251
  call void @sgsvj0_(ptr noundef %1212, ptr noundef %33, ptr noundef %34, ptr noundef %1222, ptr noundef %1223, ptr noundef %1228, ptr noundef %1233, ptr noundef %95, ptr noundef %1245, ptr noundef %1246, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1252, ptr noundef %35, ptr noundef %44)
  %1253 = load ptr, ptr %27, align 8, !tbaa !5
  %1254 = load i32, ptr %1253, align 4, !tbaa !9
  %1255 = load ptr, ptr %19, align 8, !tbaa !5
  %1256 = load i32, ptr %1255, align 4, !tbaa !9
  %1257 = sub nsw i32 %1254, %1256
  store i32 %1257, ptr %33, align 4, !tbaa !9
  %1258 = load ptr, ptr %17, align 8, !tbaa !5
  %1259 = load ptr, ptr %18, align 8, !tbaa !5
  %1260 = load ptr, ptr %20, align 8, !tbaa !5
  %1261 = load i32, ptr %30, align 4, !tbaa !9
  %1262 = sext i32 %1261 to i64
  %1263 = getelementptr inbounds float, ptr %1260, i64 %1262
  %1264 = load ptr, ptr %21, align 8, !tbaa !5
  %1265 = load ptr, ptr %26, align 8, !tbaa !5
  %1266 = getelementptr inbounds float, ptr %1265, i64 1
  %1267 = load ptr, ptr %22, align 8, !tbaa !5
  %1268 = getelementptr inbounds float, ptr %1267, i64 1
  %1269 = load ptr, ptr %24, align 8, !tbaa !5
  %1270 = load i32, ptr %32, align 4, !tbaa !9
  %1271 = sext i32 %1270 to i64
  %1272 = getelementptr inbounds float, ptr %1269, i64 %1271
  %1273 = load ptr, ptr %25, align 8, !tbaa !5
  %1274 = load ptr, ptr %26, align 8, !tbaa !5
  %1275 = load ptr, ptr %19, align 8, !tbaa !5
  %1276 = load i32, ptr %1275, align 4, !tbaa !9
  %1277 = add nsw i32 %1276, 1
  %1278 = sext i32 %1277 to i64
  %1279 = getelementptr inbounds float, ptr %1274, i64 %1278
  call void @sgsvj0_(ptr noundef %1258, ptr noundef %1259, ptr noundef %69, ptr noundef %1263, ptr noundef %1264, ptr noundef %1266, ptr noundef %1268, ptr noundef %95, ptr noundef %1272, ptr noundef %1273, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1279, ptr noundef %33, ptr noundef %44)
  %1280 = load ptr, ptr %27, align 8, !tbaa !5
  %1281 = load i32, ptr %1280, align 4, !tbaa !9
  %1282 = load ptr, ptr %19, align 8, !tbaa !5
  %1283 = load i32, ptr %1282, align 4, !tbaa !9
  %1284 = sub nsw i32 %1281, %1283
  store i32 %1284, ptr %33, align 4, !tbaa !9
  %1285 = load ptr, ptr %17, align 8, !tbaa !5
  %1286 = load ptr, ptr %18, align 8, !tbaa !5
  %1287 = load ptr, ptr %20, align 8, !tbaa !5
  %1288 = load i32, ptr %30, align 4, !tbaa !9
  %1289 = sext i32 %1288 to i64
  %1290 = getelementptr inbounds float, ptr %1287, i64 %1289
  %1291 = load ptr, ptr %21, align 8, !tbaa !5
  %1292 = load ptr, ptr %26, align 8, !tbaa !5
  %1293 = getelementptr inbounds float, ptr %1292, i64 1
  %1294 = load ptr, ptr %22, align 8, !tbaa !5
  %1295 = getelementptr inbounds float, ptr %1294, i64 1
  %1296 = load ptr, ptr %24, align 8, !tbaa !5
  %1297 = load i32, ptr %32, align 4, !tbaa !9
  %1298 = sext i32 %1297 to i64
  %1299 = getelementptr inbounds float, ptr %1296, i64 %1298
  %1300 = load ptr, ptr %25, align 8, !tbaa !5
  %1301 = load ptr, ptr %26, align 8, !tbaa !5
  %1302 = load ptr, ptr %19, align 8, !tbaa !5
  %1303 = load i32, ptr %1302, align 4, !tbaa !9
  %1304 = add nsw i32 %1303, 1
  %1305 = sext i32 %1304 to i64
  %1306 = getelementptr inbounds float, ptr %1301, i64 %1305
  call void @sgsvj1_(ptr noundef %1285, ptr noundef %1286, ptr noundef %68, ptr noundef %69, ptr noundef %1290, ptr noundef %1291, ptr noundef %1293, ptr noundef %1295, ptr noundef %95, ptr noundef %1299, ptr noundef %1300, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1306, ptr noundef %33, ptr noundef %44)
  br label %1455

1307:                                             ; preds = %1035
  %1308 = load i32, ptr %66, align 4, !tbaa !9
  %1309 = icmp ne i32 %1308, 0
  br i1 %1309, label %1310, label %1454

1310:                                             ; preds = %1307
  %1311 = load ptr, ptr %27, align 8, !tbaa !5
  %1312 = load i32, ptr %1311, align 4, !tbaa !9
  %1313 = load ptr, ptr %19, align 8, !tbaa !5
  %1314 = load i32, ptr %1313, align 4, !tbaa !9
  %1315 = sub nsw i32 %1312, %1314
  store i32 %1315, ptr %33, align 4, !tbaa !9
  %1316 = load ptr, ptr %17, align 8, !tbaa !5
  %1317 = load ptr, ptr %20, align 8, !tbaa !5
  %1318 = load i32, ptr %30, align 4, !tbaa !9
  %1319 = sext i32 %1318 to i64
  %1320 = getelementptr inbounds float, ptr %1317, i64 %1319
  %1321 = load ptr, ptr %21, align 8, !tbaa !5
  %1322 = load ptr, ptr %26, align 8, !tbaa !5
  %1323 = getelementptr inbounds float, ptr %1322, i64 1
  %1324 = load ptr, ptr %22, align 8, !tbaa !5
  %1325 = getelementptr inbounds float, ptr %1324, i64 1
  %1326 = load ptr, ptr %24, align 8, !tbaa !5
  %1327 = load i32, ptr %32, align 4, !tbaa !9
  %1328 = sext i32 %1327 to i64
  %1329 = getelementptr inbounds float, ptr %1326, i64 %1328
  %1330 = load ptr, ptr %25, align 8, !tbaa !5
  %1331 = load ptr, ptr %26, align 8, !tbaa !5
  %1332 = load ptr, ptr %19, align 8, !tbaa !5
  %1333 = load i32, ptr %1332, align 4, !tbaa !9
  %1334 = add nsw i32 %1333, 1
  %1335 = sext i32 %1334 to i64
  %1336 = getelementptr inbounds float, ptr %1331, i64 %1335
  call void @sgsvj0_(ptr noundef %1316, ptr noundef %69, ptr noundef %69, ptr noundef %1320, ptr noundef %1321, ptr noundef %1323, ptr noundef %1325, ptr noundef %95, ptr noundef %1329, ptr noundef %1330, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__2, ptr noundef %1336, ptr noundef %33, ptr noundef %44)
  %1337 = load ptr, ptr %27, align 8, !tbaa !5
  %1338 = load i32, ptr %1337, align 4, !tbaa !9
  %1339 = load ptr, ptr %19, align 8, !tbaa !5
  %1340 = load i32, ptr %1339, align 4, !tbaa !9
  %1341 = sub nsw i32 %1338, %1340
  store i32 %1341, ptr %33, align 4, !tbaa !9
  %1342 = load ptr, ptr %17, align 8, !tbaa !5
  %1343 = load ptr, ptr %20, align 8, !tbaa !5
  %1344 = load i32, ptr %69, align 4, !tbaa !9
  %1345 = add nsw i32 %1344, 1
  %1346 = load i32, ptr %29, align 4, !tbaa !9
  %1347 = mul nsw i32 %1345, %1346
  %1348 = add nsw i32 %1347, 1
  %1349 = sext i32 %1348 to i64
  %1350 = getelementptr inbounds float, ptr %1343, i64 %1349
  %1351 = load ptr, ptr %21, align 8, !tbaa !5
  %1352 = load ptr, ptr %26, align 8, !tbaa !5
  %1353 = load i32, ptr %69, align 4, !tbaa !9
  %1354 = add nsw i32 %1353, 1
  %1355 = sext i32 %1354 to i64
  %1356 = getelementptr inbounds float, ptr %1352, i64 %1355
  %1357 = load ptr, ptr %22, align 8, !tbaa !5
  %1358 = load i32, ptr %69, align 4, !tbaa !9
  %1359 = add nsw i32 %1358, 1
  %1360 = sext i32 %1359 to i64
  %1361 = getelementptr inbounds float, ptr %1357, i64 %1360
  %1362 = load ptr, ptr %24, align 8, !tbaa !5
  %1363 = load i32, ptr %69, align 4, !tbaa !9
  %1364 = load i32, ptr %51, align 4, !tbaa !9
  %1365 = mul nsw i32 %1363, %1364
  %1366 = add nsw i32 %1365, 1
  %1367 = load i32, ptr %69, align 4, !tbaa !9
  %1368 = add nsw i32 %1367, 1
  %1369 = load i32, ptr %31, align 4, !tbaa !9
  %1370 = mul nsw i32 %1368, %1369
  %1371 = add nsw i32 %1366, %1370
  %1372 = sext i32 %1371 to i64
  %1373 = getelementptr inbounds float, ptr %1362, i64 %1372
  %1374 = load ptr, ptr %25, align 8, !tbaa !5
  %1375 = load ptr, ptr %26, align 8, !tbaa !5
  %1376 = load ptr, ptr %19, align 8, !tbaa !5
  %1377 = load i32, ptr %1376, align 4, !tbaa !9
  %1378 = add nsw i32 %1377, 1
  %1379 = sext i32 %1378 to i64
  %1380 = getelementptr inbounds float, ptr %1375, i64 %1379
  call void @sgsvj0_(ptr noundef %1342, ptr noundef %68, ptr noundef %69, ptr noundef %1350, ptr noundef %1351, ptr noundef %1356, ptr noundef %1361, ptr noundef %95, ptr noundef %1373, ptr noundef %1374, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1380, ptr noundef %33, ptr noundef %44)
  %1381 = load ptr, ptr %27, align 8, !tbaa !5
  %1382 = load i32, ptr %1381, align 4, !tbaa !9
  %1383 = load ptr, ptr %19, align 8, !tbaa !5
  %1384 = load i32, ptr %1383, align 4, !tbaa !9
  %1385 = sub nsw i32 %1382, %1384
  store i32 %1385, ptr %33, align 4, !tbaa !9
  %1386 = load ptr, ptr %17, align 8, !tbaa !5
  %1387 = load ptr, ptr %20, align 8, !tbaa !5
  %1388 = load i32, ptr %30, align 4, !tbaa !9
  %1389 = sext i32 %1388 to i64
  %1390 = getelementptr inbounds float, ptr %1387, i64 %1389
  %1391 = load ptr, ptr %21, align 8, !tbaa !5
  %1392 = load ptr, ptr %26, align 8, !tbaa !5
  %1393 = getelementptr inbounds float, ptr %1392, i64 1
  %1394 = load ptr, ptr %22, align 8, !tbaa !5
  %1395 = getelementptr inbounds float, ptr %1394, i64 1
  %1396 = load ptr, ptr %24, align 8, !tbaa !5
  %1397 = load i32, ptr %32, align 4, !tbaa !9
  %1398 = sext i32 %1397 to i64
  %1399 = getelementptr inbounds float, ptr %1396, i64 %1398
  %1400 = load ptr, ptr %25, align 8, !tbaa !5
  %1401 = load ptr, ptr %26, align 8, !tbaa !5
  %1402 = load ptr, ptr %19, align 8, !tbaa !5
  %1403 = load i32, ptr %1402, align 4, !tbaa !9
  %1404 = add nsw i32 %1403, 1
  %1405 = sext i32 %1404 to i64
  %1406 = getelementptr inbounds float, ptr %1401, i64 %1405
  call void @sgsvj1_(ptr noundef %1386, ptr noundef %68, ptr noundef %68, ptr noundef %69, ptr noundef %1390, ptr noundef %1391, ptr noundef %1393, ptr noundef %1395, ptr noundef %95, ptr noundef %1399, ptr noundef %1400, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1406, ptr noundef %33, ptr noundef %44)
  %1407 = load i32, ptr %68, align 4, !tbaa !9
  %1408 = load i32, ptr %69, align 4, !tbaa !9
  %1409 = add nsw i32 %1407, %1408
  store i32 %1409, ptr %33, align 4, !tbaa !9
  %1410 = load ptr, ptr %27, align 8, !tbaa !5
  %1411 = load i32, ptr %1410, align 4, !tbaa !9
  %1412 = load ptr, ptr %19, align 8, !tbaa !5
  %1413 = load i32, ptr %1412, align 4, !tbaa !9
  %1414 = sub nsw i32 %1411, %1413
  store i32 %1414, ptr %34, align 4, !tbaa !9
  %1415 = load ptr, ptr %17, align 8, !tbaa !5
  %1416 = load ptr, ptr %20, align 8, !tbaa !5
  %1417 = load i32, ptr %68, align 4, !tbaa !9
  %1418 = add nsw i32 %1417, 1
  %1419 = load i32, ptr %29, align 4, !tbaa !9
  %1420 = mul nsw i32 %1418, %1419
  %1421 = add nsw i32 %1420, 1
  %1422 = sext i32 %1421 to i64
  %1423 = getelementptr inbounds float, ptr %1416, i64 %1422
  %1424 = load ptr, ptr %21, align 8, !tbaa !5
  %1425 = load ptr, ptr %26, align 8, !tbaa !5
  %1426 = load i32, ptr %68, align 4, !tbaa !9
  %1427 = add nsw i32 %1426, 1
  %1428 = sext i32 %1427 to i64
  %1429 = getelementptr inbounds float, ptr %1425, i64 %1428
  %1430 = load ptr, ptr %22, align 8, !tbaa !5
  %1431 = load i32, ptr %68, align 4, !tbaa !9
  %1432 = add nsw i32 %1431, 1
  %1433 = sext i32 %1432 to i64
  %1434 = getelementptr inbounds float, ptr %1430, i64 %1433
  %1435 = load ptr, ptr %24, align 8, !tbaa !5
  %1436 = load i32, ptr %68, align 4, !tbaa !9
  %1437 = load i32, ptr %51, align 4, !tbaa !9
  %1438 = mul nsw i32 %1436, %1437
  %1439 = add nsw i32 %1438, 1
  %1440 = load i32, ptr %68, align 4, !tbaa !9
  %1441 = add nsw i32 %1440, 1
  %1442 = load i32, ptr %31, align 4, !tbaa !9
  %1443 = mul nsw i32 %1441, %1442
  %1444 = add nsw i32 %1439, %1443
  %1445 = sext i32 %1444 to i64
  %1446 = getelementptr inbounds float, ptr %1435, i64 %1445
  %1447 = load ptr, ptr %25, align 8, !tbaa !5
  %1448 = load ptr, ptr %26, align 8, !tbaa !5
  %1449 = load ptr, ptr %19, align 8, !tbaa !5
  %1450 = load i32, ptr %1449, align 4, !tbaa !9
  %1451 = add nsw i32 %1450, 1
  %1452 = sext i32 %1451 to i64
  %1453 = getelementptr inbounds float, ptr %1448, i64 %1452
  call void @sgsvj0_(ptr noundef %1415, ptr noundef %33, ptr noundef %69, ptr noundef %1423, ptr noundef %1424, ptr noundef %1429, ptr noundef %1434, ptr noundef %95, ptr noundef %1446, ptr noundef %1447, ptr noundef %61, ptr noundef %58, ptr noundef %94, ptr noundef @c__1, ptr noundef %1453, ptr noundef %34, ptr noundef %44)
  br label %1454

1454:                                             ; preds = %1310, %1307
  br label %1455

1455:                                             ; preds = %1454, %1038
  br label %1456

1456:                                             ; preds = %1455, %1019, %1006
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %1457

1457:                                             ; preds = %4758, %1456
  %1458 = load i32, ptr %49, align 4, !tbaa !9
  %1459 = icmp sle i32 %1458, 30
  br i1 %1459, label %1460, label %4761

1460:                                             ; preds = %1457
  store float 0.000000e+00, ptr %77, align 4, !tbaa !11
  store float 0.000000e+00, ptr %79, align 4, !tbaa !11
  store i32 0, ptr %83, align 4, !tbaa !9
  store i32 0, ptr %82, align 4, !tbaa !9
  store i32 0, ptr %46, align 4, !tbaa !9
  %1461 = load i32, ptr %91, align 4, !tbaa !9
  store i32 %1461, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %89, align 4, !tbaa !9
  br label %1462

1462:                                             ; preds = %4635, %1460
  %1463 = load i32, ptr %89, align 4, !tbaa !9
  %1464 = load i32, ptr %33, align 4, !tbaa !9
  %1465 = icmp sle i32 %1463, %1464
  br i1 %1465, label %1466, label %4638

1466:                                             ; preds = %1462
  %1467 = load i32, ptr %89, align 4, !tbaa !9
  %1468 = sub nsw i32 %1467, 1
  %1469 = load i32, ptr %86, align 4, !tbaa !9
  %1470 = mul nsw i32 %1468, %1469
  %1471 = add nsw i32 %1470, 1
  store i32 %1471, ptr %88, align 4, !tbaa !9
  %1472 = load i32, ptr %87, align 4, !tbaa !9
  store i32 %1472, ptr %35, align 4, !tbaa !9
  %1473 = load i32, ptr %91, align 4, !tbaa !9
  %1474 = load i32, ptr %89, align 4, !tbaa !9
  %1475 = sub nsw i32 %1473, %1474
  store i32 %1475, ptr %36, align 4, !tbaa !9
  %1476 = load i32, ptr %35, align 4, !tbaa !9
  %1477 = load i32, ptr %36, align 4, !tbaa !9
  %1478 = icmp sle i32 %1476, %1477
  br i1 %1478, label %1479, label %1481

1479:                                             ; preds = %1466
  %1480 = load i32, ptr %35, align 4, !tbaa !9
  br label %1483

1481:                                             ; preds = %1466
  %1482 = load i32, ptr %36, align 4, !tbaa !9
  br label %1483

1483:                                             ; preds = %1481, %1479
  %1484 = phi i32 [ %1480, %1479 ], [ %1482, %1481 ]
  store i32 %1484, ptr %34, align 4, !tbaa !9
  store i32 0, ptr %80, align 4, !tbaa !9
  br label %1485

1485:                                             ; preds = %3039, %1483
  %1486 = load i32, ptr %80, align 4, !tbaa !9
  %1487 = load i32, ptr %34, align 4, !tbaa !9
  %1488 = icmp sle i32 %1486, %1487
  br i1 %1488, label %1489, label %3042

1489:                                             ; preds = %1485
  %1490 = load i32, ptr %80, align 4, !tbaa !9
  %1491 = load i32, ptr %86, align 4, !tbaa !9
  %1492 = mul nsw i32 %1490, %1491
  %1493 = load i32, ptr %88, align 4, !tbaa !9
  %1494 = add nsw i32 %1493, %1492
  store i32 %1494, ptr %88, align 4, !tbaa !9
  %1495 = load i32, ptr %88, align 4, !tbaa !9
  %1496 = load i32, ptr %86, align 4, !tbaa !9
  %1497 = add nsw i32 %1495, %1496
  %1498 = sub nsw i32 %1497, 1
  store i32 %1498, ptr %36, align 4, !tbaa !9
  %1499 = load ptr, ptr %19, align 8, !tbaa !5
  %1500 = load i32, ptr %1499, align 4, !tbaa !9
  %1501 = sub nsw i32 %1500, 1
  store i32 %1501, ptr %37, align 4, !tbaa !9
  %1502 = load i32, ptr %36, align 4, !tbaa !9
  %1503 = load i32, ptr %37, align 4, !tbaa !9
  %1504 = icmp sle i32 %1502, %1503
  br i1 %1504, label %1505, label %1507

1505:                                             ; preds = %1489
  %1506 = load i32, ptr %36, align 4, !tbaa !9
  br label %1509

1507:                                             ; preds = %1489
  %1508 = load i32, ptr %37, align 4, !tbaa !9
  br label %1509

1509:                                             ; preds = %1507, %1505
  %1510 = phi i32 [ %1506, %1505 ], [ %1508, %1507 ]
  store i32 %1510, ptr %35, align 4, !tbaa !9
  %1511 = load i32, ptr %88, align 4, !tbaa !9
  store i32 %1511, ptr %50, align 4, !tbaa !9
  br label %1512

1512:                                             ; preds = %3035, %1509
  %1513 = load i32, ptr %50, align 4, !tbaa !9
  %1514 = load i32, ptr %35, align 4, !tbaa !9
  %1515 = icmp sle i32 %1513, %1514
  br i1 %1515, label %1516, label %3038

1516:                                             ; preds = %1512
  %1517 = load ptr, ptr %19, align 8, !tbaa !5
  %1518 = load i32, ptr %1517, align 4, !tbaa !9
  %1519 = load i32, ptr %50, align 4, !tbaa !9
  %1520 = sub nsw i32 %1518, %1519
  %1521 = add nsw i32 %1520, 1
  store i32 %1521, ptr %36, align 4, !tbaa !9
  %1522 = load ptr, ptr %22, align 8, !tbaa !5
  %1523 = load i32, ptr %50, align 4, !tbaa !9
  %1524 = sext i32 %1523 to i64
  %1525 = getelementptr inbounds float, ptr %1522, i64 %1524
  %1526 = call i32 @isamax_(ptr noundef %36, ptr noundef %1525, ptr noundef @c__1)
  %1527 = load i32, ptr %50, align 4, !tbaa !9
  %1528 = add nsw i32 %1526, %1527
  %1529 = sub nsw i32 %1528, 1
  store i32 %1529, ptr %51, align 4, !tbaa !9
  %1530 = load i32, ptr %50, align 4, !tbaa !9
  %1531 = load i32, ptr %51, align 4, !tbaa !9
  %1532 = icmp ne i32 %1530, %1531
  br i1 %1532, label %1533, label %1605

1533:                                             ; preds = %1516
  %1534 = load ptr, ptr %18, align 8, !tbaa !5
  %1535 = load ptr, ptr %20, align 8, !tbaa !5
  %1536 = load i32, ptr %50, align 4, !tbaa !9
  %1537 = load i32, ptr %29, align 4, !tbaa !9
  %1538 = mul nsw i32 %1536, %1537
  %1539 = add nsw i32 %1538, 1
  %1540 = sext i32 %1539 to i64
  %1541 = getelementptr inbounds float, ptr %1535, i64 %1540
  %1542 = load ptr, ptr %20, align 8, !tbaa !5
  %1543 = load i32, ptr %51, align 4, !tbaa !9
  %1544 = load i32, ptr %29, align 4, !tbaa !9
  %1545 = mul nsw i32 %1543, %1544
  %1546 = add nsw i32 %1545, 1
  %1547 = sext i32 %1546 to i64
  %1548 = getelementptr inbounds float, ptr %1542, i64 %1547
  call void @sswap_(ptr noundef %1534, ptr noundef %1541, ptr noundef @c__1, ptr noundef %1548, ptr noundef @c__1)
  %1549 = load i32, ptr %63, align 4, !tbaa !9
  %1550 = icmp ne i32 %1549, 0
  br i1 %1550, label %1551, label %1566

1551:                                             ; preds = %1533
  %1552 = load ptr, ptr %24, align 8, !tbaa !5
  %1553 = load i32, ptr %50, align 4, !tbaa !9
  %1554 = load i32, ptr %31, align 4, !tbaa !9
  %1555 = mul nsw i32 %1553, %1554
  %1556 = add nsw i32 %1555, 1
  %1557 = sext i32 %1556 to i64
  %1558 = getelementptr inbounds float, ptr %1552, i64 %1557
  %1559 = load ptr, ptr %24, align 8, !tbaa !5
  %1560 = load i32, ptr %51, align 4, !tbaa !9
  %1561 = load i32, ptr %31, align 4, !tbaa !9
  %1562 = mul nsw i32 %1560, %1561
  %1563 = add nsw i32 %1562, 1
  %1564 = sext i32 %1563 to i64
  %1565 = getelementptr inbounds float, ptr %1559, i64 %1564
  call void @sswap_(ptr noundef %95, ptr noundef %1558, ptr noundef @c__1, ptr noundef %1565, ptr noundef @c__1)
  br label %1566

1566:                                             ; preds = %1551, %1533
  %1567 = load ptr, ptr %22, align 8, !tbaa !5
  %1568 = load i32, ptr %50, align 4, !tbaa !9
  %1569 = sext i32 %1568 to i64
  %1570 = getelementptr inbounds float, ptr %1567, i64 %1569
  %1571 = load float, ptr %1570, align 4, !tbaa !11
  store float %1571, ptr %48, align 4, !tbaa !11
  %1572 = load ptr, ptr %22, align 8, !tbaa !5
  %1573 = load i32, ptr %51, align 4, !tbaa !9
  %1574 = sext i32 %1573 to i64
  %1575 = getelementptr inbounds float, ptr %1572, i64 %1574
  %1576 = load float, ptr %1575, align 4, !tbaa !11
  %1577 = load ptr, ptr %22, align 8, !tbaa !5
  %1578 = load i32, ptr %50, align 4, !tbaa !9
  %1579 = sext i32 %1578 to i64
  %1580 = getelementptr inbounds float, ptr %1577, i64 %1579
  store float %1576, ptr %1580, align 4, !tbaa !11
  %1581 = load float, ptr %48, align 4, !tbaa !11
  %1582 = load ptr, ptr %22, align 8, !tbaa !5
  %1583 = load i32, ptr %51, align 4, !tbaa !9
  %1584 = sext i32 %1583 to i64
  %1585 = getelementptr inbounds float, ptr %1582, i64 %1584
  store float %1581, ptr %1585, align 4, !tbaa !11
  %1586 = load ptr, ptr %26, align 8, !tbaa !5
  %1587 = load i32, ptr %50, align 4, !tbaa !9
  %1588 = sext i32 %1587 to i64
  %1589 = getelementptr inbounds float, ptr %1586, i64 %1588
  %1590 = load float, ptr %1589, align 4, !tbaa !11
  store float %1590, ptr %48, align 4, !tbaa !11
  %1591 = load ptr, ptr %26, align 8, !tbaa !5
  %1592 = load i32, ptr %51, align 4, !tbaa !9
  %1593 = sext i32 %1592 to i64
  %1594 = getelementptr inbounds float, ptr %1591, i64 %1593
  %1595 = load float, ptr %1594, align 4, !tbaa !11
  %1596 = load ptr, ptr %26, align 8, !tbaa !5
  %1597 = load i32, ptr %50, align 4, !tbaa !9
  %1598 = sext i32 %1597 to i64
  %1599 = getelementptr inbounds float, ptr %1596, i64 %1598
  store float %1595, ptr %1599, align 4, !tbaa !11
  %1600 = load float, ptr %48, align 4, !tbaa !11
  %1601 = load ptr, ptr %26, align 8, !tbaa !5
  %1602 = load i32, ptr %51, align 4, !tbaa !9
  %1603 = sext i32 %1602 to i64
  %1604 = getelementptr inbounds float, ptr %1601, i64 %1603
  store float %1600, ptr %1604, align 4, !tbaa !11
  br label %1605

1605:                                             ; preds = %1566, %1516
  %1606 = load i32, ptr %80, align 4, !tbaa !9
  %1607 = icmp eq i32 %1606, 0
  br i1 %1607, label %1608, label %1677

1608:                                             ; preds = %1605
  %1609 = load ptr, ptr %22, align 8, !tbaa !5
  %1610 = load i32, ptr %50, align 4, !tbaa !9
  %1611 = sext i32 %1610 to i64
  %1612 = getelementptr inbounds float, ptr %1609, i64 %1611
  %1613 = load float, ptr %1612, align 4, !tbaa !11
  %1614 = load float, ptr %97, align 4, !tbaa !11
  %1615 = fcmp olt float %1613, %1614
  br i1 %1615, label %1616, label %1644

1616:                                             ; preds = %1608
  %1617 = load ptr, ptr %22, align 8, !tbaa !5
  %1618 = load i32, ptr %50, align 4, !tbaa !9
  %1619 = sext i32 %1618 to i64
  %1620 = getelementptr inbounds float, ptr %1617, i64 %1619
  %1621 = load float, ptr %1620, align 4, !tbaa !11
  %1622 = load float, ptr %70, align 4, !tbaa !11
  %1623 = fcmp ogt float %1621, %1622
  br i1 %1623, label %1624, label %1644

1624:                                             ; preds = %1616
  %1625 = load ptr, ptr %18, align 8, !tbaa !5
  %1626 = load ptr, ptr %20, align 8, !tbaa !5
  %1627 = load i32, ptr %50, align 4, !tbaa !9
  %1628 = load i32, ptr %29, align 4, !tbaa !9
  %1629 = mul nsw i32 %1627, %1628
  %1630 = add nsw i32 %1629, 1
  %1631 = sext i32 %1630 to i64
  %1632 = getelementptr inbounds float, ptr %1626, i64 %1631
  %1633 = call float @snrm2_(ptr noundef %1625, ptr noundef %1632, ptr noundef @c__1)
  %1634 = load ptr, ptr %26, align 8, !tbaa !5
  %1635 = load i32, ptr %50, align 4, !tbaa !9
  %1636 = sext i32 %1635 to i64
  %1637 = getelementptr inbounds float, ptr %1634, i64 %1636
  %1638 = load float, ptr %1637, align 4, !tbaa !11
  %1639 = fmul float %1633, %1638
  %1640 = load ptr, ptr %22, align 8, !tbaa !5
  %1641 = load i32, ptr %50, align 4, !tbaa !9
  %1642 = sext i32 %1641 to i64
  %1643 = getelementptr inbounds float, ptr %1640, i64 %1642
  store float %1639, ptr %1643, align 4, !tbaa !11
  br label %1671

1644:                                             ; preds = %1616, %1608
  store float 0.000000e+00, ptr %48, align 4, !tbaa !11
  store float 1.000000e+00, ptr %40, align 4, !tbaa !11
  %1645 = load ptr, ptr %18, align 8, !tbaa !5
  %1646 = load ptr, ptr %20, align 8, !tbaa !5
  %1647 = load i32, ptr %50, align 4, !tbaa !9
  %1648 = load i32, ptr %29, align 4, !tbaa !9
  %1649 = mul nsw i32 %1647, %1648
  %1650 = add nsw i32 %1649, 1
  %1651 = sext i32 %1650 to i64
  %1652 = getelementptr inbounds float, ptr %1646, i64 %1651
  call void @slassq_(ptr noundef %1645, ptr noundef %1652, ptr noundef @c__1, ptr noundef %48, ptr noundef %40)
  %1653 = load float, ptr %48, align 4, !tbaa !11
  %1654 = fpext float %1653 to double
  %1655 = load float, ptr %40, align 4, !tbaa !11
  %1656 = fpext float %1655 to double
  %1657 = call double @sqrt(double noundef %1656) #5
  %1658 = fmul double %1654, %1657
  %1659 = load ptr, ptr %26, align 8, !tbaa !5
  %1660 = load i32, ptr %50, align 4, !tbaa !9
  %1661 = sext i32 %1660 to i64
  %1662 = getelementptr inbounds float, ptr %1659, i64 %1661
  %1663 = load float, ptr %1662, align 4, !tbaa !11
  %1664 = fpext float %1663 to double
  %1665 = fmul double %1658, %1664
  %1666 = fptrunc double %1665 to float
  %1667 = load ptr, ptr %22, align 8, !tbaa !5
  %1668 = load i32, ptr %50, align 4, !tbaa !9
  %1669 = sext i32 %1668 to i64
  %1670 = getelementptr inbounds float, ptr %1667, i64 %1669
  store float %1666, ptr %1670, align 4, !tbaa !11
  br label %1671

1671:                                             ; preds = %1644, %1624
  %1672 = load ptr, ptr %22, align 8, !tbaa !5
  %1673 = load i32, ptr %50, align 4, !tbaa !9
  %1674 = sext i32 %1673 to i64
  %1675 = getelementptr inbounds float, ptr %1672, i64 %1674
  %1676 = load float, ptr %1675, align 4, !tbaa !11
  store float %1676, ptr %40, align 4, !tbaa !11
  br label %1683

1677:                                             ; preds = %1605
  %1678 = load ptr, ptr %22, align 8, !tbaa !5
  %1679 = load i32, ptr %50, align 4, !tbaa !9
  %1680 = sext i32 %1679 to i64
  %1681 = getelementptr inbounds float, ptr %1678, i64 %1680
  %1682 = load float, ptr %1681, align 4, !tbaa !11
  store float %1682, ptr %40, align 4, !tbaa !11
  br label %1683

1683:                                             ; preds = %1677, %1671
  %1684 = load float, ptr %40, align 4, !tbaa !11
  %1685 = fcmp ogt float %1684, 0.000000e+00
  br i1 %1685, label %1686, label %3002

1686:                                             ; preds = %1683
  store i32 0, ptr %46, align 4, !tbaa !9
  %1687 = load i32, ptr %88, align 4, !tbaa !9
  %1688 = load i32, ptr %86, align 4, !tbaa !9
  %1689 = add nsw i32 %1687, %1688
  %1690 = sub nsw i32 %1689, 1
  store i32 %1690, ptr %37, align 4, !tbaa !9
  %1691 = load i32, ptr %37, align 4, !tbaa !9
  %1692 = load ptr, ptr %19, align 8, !tbaa !5
  %1693 = load i32, ptr %1692, align 4, !tbaa !9
  %1694 = icmp sle i32 %1691, %1693
  br i1 %1694, label %1695, label %1697

1695:                                             ; preds = %1686
  %1696 = load i32, ptr %37, align 4, !tbaa !9
  br label %1700

1697:                                             ; preds = %1686
  %1698 = load ptr, ptr %19, align 8, !tbaa !5
  %1699 = load i32, ptr %1698, align 4, !tbaa !9
  br label %1700

1700:                                             ; preds = %1697, %1695
  %1701 = phi i32 [ %1696, %1695 ], [ %1699, %1697 ]
  store i32 %1701, ptr %36, align 4, !tbaa !9
  %1702 = load i32, ptr %50, align 4, !tbaa !9
  %1703 = add nsw i32 %1702, 1
  store i32 %1703, ptr %51, align 4, !tbaa !9
  br label %1704

1704:                                             ; preds = %2992, %1700
  %1705 = load i32, ptr %51, align 4, !tbaa !9
  %1706 = load i32, ptr %36, align 4, !tbaa !9
  %1707 = icmp sle i32 %1705, %1706
  br i1 %1707, label %1708, label %2995

1708:                                             ; preds = %1704
  %1709 = load ptr, ptr %22, align 8, !tbaa !5
  %1710 = load i32, ptr %51, align 4, !tbaa !9
  %1711 = sext i32 %1710 to i64
  %1712 = getelementptr inbounds float, ptr %1709, i64 %1711
  %1713 = load float, ptr %1712, align 4, !tbaa !11
  store float %1713, ptr %42, align 4, !tbaa !11
  %1714 = load float, ptr %42, align 4, !tbaa !11
  %1715 = fcmp ogt float %1714, 0.000000e+00
  br i1 %1715, label %1716, label %2967

1716:                                             ; preds = %1708
  %1717 = load float, ptr %40, align 4, !tbaa !11
  store float %1717, ptr %47, align 4, !tbaa !11
  %1718 = load float, ptr %42, align 4, !tbaa !11
  %1719 = fcmp oge float %1718, 1.000000e+00
  br i1 %1719, label %1720, label %1816

1720:                                             ; preds = %1716
  %1721 = load float, ptr %57, align 4, !tbaa !11
  %1722 = load float, ptr %40, align 4, !tbaa !11
  %1723 = fmul float %1721, %1722
  %1724 = load float, ptr %42, align 4, !tbaa !11
  %1725 = fcmp ole float %1723, %1724
  %1726 = zext i1 %1725 to i32
  store i32 %1726, ptr %67, align 4, !tbaa !9
  %1727 = load float, ptr %40, align 4, !tbaa !11
  %1728 = load float, ptr %85, align 4, !tbaa !11
  %1729 = load float, ptr %42, align 4, !tbaa !11
  %1730 = fdiv float %1728, %1729
  %1731 = fcmp olt float %1727, %1730
  br i1 %1731, label %1732, label %1765

1732:                                             ; preds = %1720
  %1733 = load ptr, ptr %18, align 8, !tbaa !5
  %1734 = load ptr, ptr %20, align 8, !tbaa !5
  %1735 = load i32, ptr %50, align 4, !tbaa !9
  %1736 = load i32, ptr %29, align 4, !tbaa !9
  %1737 = mul nsw i32 %1735, %1736
  %1738 = add nsw i32 %1737, 1
  %1739 = sext i32 %1738 to i64
  %1740 = getelementptr inbounds float, ptr %1734, i64 %1739
  %1741 = load ptr, ptr %20, align 8, !tbaa !5
  %1742 = load i32, ptr %51, align 4, !tbaa !9
  %1743 = load i32, ptr %29, align 4, !tbaa !9
  %1744 = mul nsw i32 %1742, %1743
  %1745 = add nsw i32 %1744, 1
  %1746 = sext i32 %1745 to i64
  %1747 = getelementptr inbounds float, ptr %1741, i64 %1746
  %1748 = call float @sdot_(ptr noundef %1733, ptr noundef %1740, ptr noundef @c__1, ptr noundef %1747, ptr noundef @c__1)
  %1749 = load ptr, ptr %26, align 8, !tbaa !5
  %1750 = load i32, ptr %50, align 4, !tbaa !9
  %1751 = sext i32 %1750 to i64
  %1752 = getelementptr inbounds float, ptr %1749, i64 %1751
  %1753 = load float, ptr %1752, align 4, !tbaa !11
  %1754 = fmul float %1748, %1753
  %1755 = load ptr, ptr %26, align 8, !tbaa !5
  %1756 = load i32, ptr %51, align 4, !tbaa !9
  %1757 = sext i32 %1756 to i64
  %1758 = getelementptr inbounds float, ptr %1755, i64 %1757
  %1759 = load float, ptr %1758, align 4, !tbaa !11
  %1760 = fmul float %1754, %1759
  %1761 = load float, ptr %42, align 4, !tbaa !11
  %1762 = fdiv float %1760, %1761
  %1763 = load float, ptr %40, align 4, !tbaa !11
  %1764 = fdiv float %1762, %1763
  store float %1764, ptr %41, align 4, !tbaa !11
  br label %1815

1765:                                             ; preds = %1720
  %1766 = load ptr, ptr %18, align 8, !tbaa !5
  %1767 = load ptr, ptr %20, align 8, !tbaa !5
  %1768 = load i32, ptr %50, align 4, !tbaa !9
  %1769 = load i32, ptr %29, align 4, !tbaa !9
  %1770 = mul nsw i32 %1768, %1769
  %1771 = add nsw i32 %1770, 1
  %1772 = sext i32 %1771 to i64
  %1773 = getelementptr inbounds float, ptr %1767, i64 %1772
  %1774 = load ptr, ptr %26, align 8, !tbaa !5
  %1775 = load ptr, ptr %19, align 8, !tbaa !5
  %1776 = load i32, ptr %1775, align 4, !tbaa !9
  %1777 = add nsw i32 %1776, 1
  %1778 = sext i32 %1777 to i64
  %1779 = getelementptr inbounds float, ptr %1774, i64 %1778
  call void @scopy_(ptr noundef %1766, ptr noundef %1773, ptr noundef @c__1, ptr noundef %1779, ptr noundef @c__1)
  %1780 = load ptr, ptr %26, align 8, !tbaa !5
  %1781 = load i32, ptr %50, align 4, !tbaa !9
  %1782 = sext i32 %1781 to i64
  %1783 = getelementptr inbounds float, ptr %1780, i64 %1782
  %1784 = load ptr, ptr %18, align 8, !tbaa !5
  %1785 = load ptr, ptr %26, align 8, !tbaa !5
  %1786 = load ptr, ptr %19, align 8, !tbaa !5
  %1787 = load i32, ptr %1786, align 4, !tbaa !9
  %1788 = add nsw i32 %1787, 1
  %1789 = sext i32 %1788 to i64
  %1790 = getelementptr inbounds float, ptr %1785, i64 %1789
  %1791 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %40, ptr noundef %1783, ptr noundef %1784, ptr noundef @c__1, ptr noundef %1790, ptr noundef %1791, ptr noundef %44)
  %1792 = load ptr, ptr %18, align 8, !tbaa !5
  %1793 = load ptr, ptr %26, align 8, !tbaa !5
  %1794 = load ptr, ptr %19, align 8, !tbaa !5
  %1795 = load i32, ptr %1794, align 4, !tbaa !9
  %1796 = add nsw i32 %1795, 1
  %1797 = sext i32 %1796 to i64
  %1798 = getelementptr inbounds float, ptr %1793, i64 %1797
  %1799 = load ptr, ptr %20, align 8, !tbaa !5
  %1800 = load i32, ptr %51, align 4, !tbaa !9
  %1801 = load i32, ptr %29, align 4, !tbaa !9
  %1802 = mul nsw i32 %1800, %1801
  %1803 = add nsw i32 %1802, 1
  %1804 = sext i32 %1803 to i64
  %1805 = getelementptr inbounds float, ptr %1799, i64 %1804
  %1806 = call float @sdot_(ptr noundef %1792, ptr noundef %1798, ptr noundef @c__1, ptr noundef %1805, ptr noundef @c__1)
  %1807 = load ptr, ptr %26, align 8, !tbaa !5
  %1808 = load i32, ptr %51, align 4, !tbaa !9
  %1809 = sext i32 %1808 to i64
  %1810 = getelementptr inbounds float, ptr %1807, i64 %1809
  %1811 = load float, ptr %1810, align 4, !tbaa !11
  %1812 = fmul float %1806, %1811
  %1813 = load float, ptr %42, align 4, !tbaa !11
  %1814 = fdiv float %1812, %1813
  store float %1814, ptr %41, align 4, !tbaa !11
  br label %1815

1815:                                             ; preds = %1765, %1732
  br label %1912

1816:                                             ; preds = %1716
  %1817 = load float, ptr %40, align 4, !tbaa !11
  %1818 = load float, ptr %42, align 4, !tbaa !11
  %1819 = load float, ptr %57, align 4, !tbaa !11
  %1820 = fdiv float %1818, %1819
  %1821 = fcmp ole float %1817, %1820
  %1822 = zext i1 %1821 to i32
  store i32 %1822, ptr %67, align 4, !tbaa !9
  %1823 = load float, ptr %40, align 4, !tbaa !11
  %1824 = load float, ptr %57, align 4, !tbaa !11
  %1825 = load float, ptr %42, align 4, !tbaa !11
  %1826 = fdiv float %1824, %1825
  %1827 = fcmp ogt float %1823, %1826
  br i1 %1827, label %1828, label %1861

1828:                                             ; preds = %1816
  %1829 = load ptr, ptr %18, align 8, !tbaa !5
  %1830 = load ptr, ptr %20, align 8, !tbaa !5
  %1831 = load i32, ptr %50, align 4, !tbaa !9
  %1832 = load i32, ptr %29, align 4, !tbaa !9
  %1833 = mul nsw i32 %1831, %1832
  %1834 = add nsw i32 %1833, 1
  %1835 = sext i32 %1834 to i64
  %1836 = getelementptr inbounds float, ptr %1830, i64 %1835
  %1837 = load ptr, ptr %20, align 8, !tbaa !5
  %1838 = load i32, ptr %51, align 4, !tbaa !9
  %1839 = load i32, ptr %29, align 4, !tbaa !9
  %1840 = mul nsw i32 %1838, %1839
  %1841 = add nsw i32 %1840, 1
  %1842 = sext i32 %1841 to i64
  %1843 = getelementptr inbounds float, ptr %1837, i64 %1842
  %1844 = call float @sdot_(ptr noundef %1829, ptr noundef %1836, ptr noundef @c__1, ptr noundef %1843, ptr noundef @c__1)
  %1845 = load ptr, ptr %26, align 8, !tbaa !5
  %1846 = load i32, ptr %50, align 4, !tbaa !9
  %1847 = sext i32 %1846 to i64
  %1848 = getelementptr inbounds float, ptr %1845, i64 %1847
  %1849 = load float, ptr %1848, align 4, !tbaa !11
  %1850 = fmul float %1844, %1849
  %1851 = load ptr, ptr %26, align 8, !tbaa !5
  %1852 = load i32, ptr %51, align 4, !tbaa !9
  %1853 = sext i32 %1852 to i64
  %1854 = getelementptr inbounds float, ptr %1851, i64 %1853
  %1855 = load float, ptr %1854, align 4, !tbaa !11
  %1856 = fmul float %1850, %1855
  %1857 = load float, ptr %42, align 4, !tbaa !11
  %1858 = fdiv float %1856, %1857
  %1859 = load float, ptr %40, align 4, !tbaa !11
  %1860 = fdiv float %1858, %1859
  store float %1860, ptr %41, align 4, !tbaa !11
  br label %1911

1861:                                             ; preds = %1816
  %1862 = load ptr, ptr %18, align 8, !tbaa !5
  %1863 = load ptr, ptr %20, align 8, !tbaa !5
  %1864 = load i32, ptr %51, align 4, !tbaa !9
  %1865 = load i32, ptr %29, align 4, !tbaa !9
  %1866 = mul nsw i32 %1864, %1865
  %1867 = add nsw i32 %1866, 1
  %1868 = sext i32 %1867 to i64
  %1869 = getelementptr inbounds float, ptr %1863, i64 %1868
  %1870 = load ptr, ptr %26, align 8, !tbaa !5
  %1871 = load ptr, ptr %19, align 8, !tbaa !5
  %1872 = load i32, ptr %1871, align 4, !tbaa !9
  %1873 = add nsw i32 %1872, 1
  %1874 = sext i32 %1873 to i64
  %1875 = getelementptr inbounds float, ptr %1870, i64 %1874
  call void @scopy_(ptr noundef %1862, ptr noundef %1869, ptr noundef @c__1, ptr noundef %1875, ptr noundef @c__1)
  %1876 = load ptr, ptr %26, align 8, !tbaa !5
  %1877 = load i32, ptr %51, align 4, !tbaa !9
  %1878 = sext i32 %1877 to i64
  %1879 = getelementptr inbounds float, ptr %1876, i64 %1878
  %1880 = load ptr, ptr %18, align 8, !tbaa !5
  %1881 = load ptr, ptr %26, align 8, !tbaa !5
  %1882 = load ptr, ptr %19, align 8, !tbaa !5
  %1883 = load i32, ptr %1882, align 4, !tbaa !9
  %1884 = add nsw i32 %1883, 1
  %1885 = sext i32 %1884 to i64
  %1886 = getelementptr inbounds float, ptr %1881, i64 %1885
  %1887 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %42, ptr noundef %1879, ptr noundef %1880, ptr noundef @c__1, ptr noundef %1886, ptr noundef %1887, ptr noundef %44)
  %1888 = load ptr, ptr %18, align 8, !tbaa !5
  %1889 = load ptr, ptr %26, align 8, !tbaa !5
  %1890 = load ptr, ptr %19, align 8, !tbaa !5
  %1891 = load i32, ptr %1890, align 4, !tbaa !9
  %1892 = add nsw i32 %1891, 1
  %1893 = sext i32 %1892 to i64
  %1894 = getelementptr inbounds float, ptr %1889, i64 %1893
  %1895 = load ptr, ptr %20, align 8, !tbaa !5
  %1896 = load i32, ptr %50, align 4, !tbaa !9
  %1897 = load i32, ptr %29, align 4, !tbaa !9
  %1898 = mul nsw i32 %1896, %1897
  %1899 = add nsw i32 %1898, 1
  %1900 = sext i32 %1899 to i64
  %1901 = getelementptr inbounds float, ptr %1895, i64 %1900
  %1902 = call float @sdot_(ptr noundef %1888, ptr noundef %1894, ptr noundef @c__1, ptr noundef %1901, ptr noundef @c__1)
  %1903 = load ptr, ptr %26, align 8, !tbaa !5
  %1904 = load i32, ptr %50, align 4, !tbaa !9
  %1905 = sext i32 %1904 to i64
  %1906 = getelementptr inbounds float, ptr %1903, i64 %1905
  %1907 = load float, ptr %1906, align 4, !tbaa !11
  %1908 = fmul float %1902, %1907
  %1909 = load float, ptr %40, align 4, !tbaa !11
  %1910 = fdiv float %1908, %1909
  store float %1910, ptr %41, align 4, !tbaa !11
  br label %1911

1911:                                             ; preds = %1861, %1828
  br label %1912

1912:                                             ; preds = %1911, %1815
  %1913 = load float, ptr %77, align 4, !tbaa !11
  store float %1913, ptr %38, align 4, !tbaa !11
  %1914 = load float, ptr %41, align 4, !tbaa !11
  %1915 = fcmp oge float %1914, 0.000000e+00
  br i1 %1915, label %1916, label %1918

1916:                                             ; preds = %1912
  %1917 = load float, ptr %41, align 4, !tbaa !11
  br label %1921

1918:                                             ; preds = %1912
  %1919 = load float, ptr %41, align 4, !tbaa !11
  %1920 = fneg float %1919
  br label %1921

1921:                                             ; preds = %1918, %1916
  %1922 = phi float [ %1917, %1916 ], [ %1920, %1918 ]
  store float %1922, ptr %39, align 4, !tbaa !11
  %1923 = load float, ptr %38, align 4, !tbaa !11
  %1924 = load float, ptr %39, align 4, !tbaa !11
  %1925 = fcmp oge float %1923, %1924
  br i1 %1925, label %1926, label %1928

1926:                                             ; preds = %1921
  %1927 = load float, ptr %38, align 4, !tbaa !11
  br label %1930

1928:                                             ; preds = %1921
  %1929 = load float, ptr %39, align 4, !tbaa !11
  br label %1930

1930:                                             ; preds = %1928, %1926
  %1931 = phi float [ %1927, %1926 ], [ %1929, %1928 ]
  store float %1931, ptr %77, align 4, !tbaa !11
  %1932 = load float, ptr %41, align 4, !tbaa !11
  %1933 = fcmp oge float %1932, 0.000000e+00
  br i1 %1933, label %1934, label %1936

1934:                                             ; preds = %1930
  %1935 = load float, ptr %41, align 4, !tbaa !11
  br label %1939

1936:                                             ; preds = %1930
  %1937 = load float, ptr %41, align 4, !tbaa !11
  %1938 = fneg float %1937
  br label %1939

1939:                                             ; preds = %1936, %1934
  %1940 = phi float [ %1935, %1934 ], [ %1938, %1936 ]
  %1941 = load float, ptr %94, align 4, !tbaa !11
  %1942 = fcmp ogt float %1940, %1941
  br i1 %1942, label %1943, label %2957

1943:                                             ; preds = %1939
  %1944 = load i32, ptr %80, align 4, !tbaa !9
  %1945 = icmp eq i32 %1944, 0
  br i1 %1945, label %1946, label %1949

1946:                                             ; preds = %1943
  store i32 0, ptr %82, align 4, !tbaa !9
  store i32 0, ptr %46, align 4, !tbaa !9
  %1947 = load i32, ptr %83, align 4, !tbaa !9
  %1948 = add nsw i32 %1947, 1
  store i32 %1948, ptr %83, align 4, !tbaa !9
  br label %1949

1949:                                             ; preds = %1946, %1943
  %1950 = load i32, ptr %67, align 4, !tbaa !9
  %1951 = icmp ne i32 %1950, 0
  br i1 %1951, label %1952, label %2727

1952:                                             ; preds = %1949
  %1953 = load float, ptr %42, align 4, !tbaa !11
  %1954 = load float, ptr %40, align 4, !tbaa !11
  %1955 = fdiv float %1953, %1954
  store float %1955, ptr %55, align 4, !tbaa !11
  %1956 = load float, ptr %40, align 4, !tbaa !11
  %1957 = load float, ptr %42, align 4, !tbaa !11
  %1958 = fdiv float %1956, %1957
  store float %1958, ptr %54, align 4, !tbaa !11
  %1959 = load float, ptr %55, align 4, !tbaa !11
  %1960 = load float, ptr %54, align 4, !tbaa !11
  %1961 = fsub float %1959, %1960
  store float %1961, ptr %38, align 4, !tbaa !11
  %1962 = load float, ptr %38, align 4, !tbaa !11
  %1963 = fcmp oge float %1962, 0.000000e+00
  br i1 %1963, label %1964, label %1966

1964:                                             ; preds = %1952
  %1965 = load float, ptr %38, align 4, !tbaa !11
  br label %1969

1966:                                             ; preds = %1952
  %1967 = load float, ptr %38, align 4, !tbaa !11
  %1968 = fneg float %1967
  br label %1969

1969:                                             ; preds = %1966, %1964
  %1970 = phi float [ %1965, %1964 ], [ %1968, %1966 ]
  %1971 = fmul float %1970, -5.000000e-01
  %1972 = load float, ptr %41, align 4, !tbaa !11
  %1973 = fdiv float %1971, %1972
  store float %1973, ptr %56, align 4, !tbaa !11
  %1974 = load float, ptr %56, align 4, !tbaa !11
  %1975 = fcmp oge float %1974, 0.000000e+00
  br i1 %1975, label %1976, label %1978

1976:                                             ; preds = %1969
  %1977 = load float, ptr %56, align 4, !tbaa !11
  br label %1981

1978:                                             ; preds = %1969
  %1979 = load float, ptr %56, align 4, !tbaa !11
  %1980 = fneg float %1979
  br label %1981

1981:                                             ; preds = %1978, %1976
  %1982 = phi float [ %1977, %1976 ], [ %1980, %1978 ]
  %1983 = load float, ptr %45, align 4, !tbaa !11
  %1984 = fcmp ogt float %1982, %1983
  br i1 %1984, label %1985, label %2116

1985:                                             ; preds = %1981
  %1986 = load float, ptr %56, align 4, !tbaa !11
  %1987 = fdiv float 5.000000e-01, %1986
  store float %1987, ptr %52, align 4, !tbaa !11
  %1988 = load float, ptr %52, align 4, !tbaa !11
  %1989 = load ptr, ptr %26, align 8, !tbaa !5
  %1990 = load i32, ptr %50, align 4, !tbaa !9
  %1991 = sext i32 %1990 to i64
  %1992 = getelementptr inbounds float, ptr %1989, i64 %1991
  %1993 = load float, ptr %1992, align 4, !tbaa !11
  %1994 = fmul float %1988, %1993
  %1995 = load ptr, ptr %26, align 8, !tbaa !5
  %1996 = load i32, ptr %51, align 4, !tbaa !9
  %1997 = sext i32 %1996 to i64
  %1998 = getelementptr inbounds float, ptr %1995, i64 %1997
  %1999 = load float, ptr %1998, align 4, !tbaa !11
  %2000 = fdiv float %1994, %1999
  %2001 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 2
  store float %2000, ptr %2001, align 8, !tbaa !11
  %2002 = load float, ptr %52, align 4, !tbaa !11
  %2003 = fneg float %2002
  %2004 = load ptr, ptr %26, align 8, !tbaa !5
  %2005 = load i32, ptr %51, align 4, !tbaa !9
  %2006 = sext i32 %2005 to i64
  %2007 = getelementptr inbounds float, ptr %2004, i64 %2006
  %2008 = load float, ptr %2007, align 4, !tbaa !11
  %2009 = fmul float %2003, %2008
  %2010 = load ptr, ptr %26, align 8, !tbaa !5
  %2011 = load i32, ptr %50, align 4, !tbaa !9
  %2012 = sext i32 %2011 to i64
  %2013 = getelementptr inbounds float, ptr %2010, i64 %2012
  %2014 = load float, ptr %2013, align 4, !tbaa !11
  %2015 = fdiv float %2009, %2014
  %2016 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 3
  store float %2015, ptr %2016, align 4, !tbaa !11
  %2017 = load ptr, ptr %18, align 8, !tbaa !5
  %2018 = load ptr, ptr %20, align 8, !tbaa !5
  %2019 = load i32, ptr %50, align 4, !tbaa !9
  %2020 = load i32, ptr %29, align 4, !tbaa !9
  %2021 = mul nsw i32 %2019, %2020
  %2022 = add nsw i32 %2021, 1
  %2023 = sext i32 %2022 to i64
  %2024 = getelementptr inbounds float, ptr %2018, i64 %2023
  %2025 = load ptr, ptr %20, align 8, !tbaa !5
  %2026 = load i32, ptr %51, align 4, !tbaa !9
  %2027 = load i32, ptr %29, align 4, !tbaa !9
  %2028 = mul nsw i32 %2026, %2027
  %2029 = add nsw i32 %2028, 1
  %2030 = sext i32 %2029 to i64
  %2031 = getelementptr inbounds float, ptr %2025, i64 %2030
  %2032 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %2017, ptr noundef %2024, ptr noundef @c__1, ptr noundef %2031, ptr noundef @c__1, ptr noundef %2032)
  %2033 = load i32, ptr %63, align 4, !tbaa !9
  %2034 = icmp ne i32 %2033, 0
  br i1 %2034, label %2035, label %2051

2035:                                             ; preds = %1985
  %2036 = load ptr, ptr %24, align 8, !tbaa !5
  %2037 = load i32, ptr %50, align 4, !tbaa !9
  %2038 = load i32, ptr %31, align 4, !tbaa !9
  %2039 = mul nsw i32 %2037, %2038
  %2040 = add nsw i32 %2039, 1
  %2041 = sext i32 %2040 to i64
  %2042 = getelementptr inbounds float, ptr %2036, i64 %2041
  %2043 = load ptr, ptr %24, align 8, !tbaa !5
  %2044 = load i32, ptr %51, align 4, !tbaa !9
  %2045 = load i32, ptr %31, align 4, !tbaa !9
  %2046 = mul nsw i32 %2044, %2045
  %2047 = add nsw i32 %2046, 1
  %2048 = sext i32 %2047 to i64
  %2049 = getelementptr inbounds float, ptr %2043, i64 %2048
  %2050 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %95, ptr noundef %2042, ptr noundef @c__1, ptr noundef %2049, ptr noundef @c__1, ptr noundef %2050)
  br label %2051

2051:                                             ; preds = %2035, %1985
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %2052 = load float, ptr %52, align 4, !tbaa !11
  %2053 = load float, ptr %54, align 4, !tbaa !11
  %2054 = fmul float %2052, %2053
  %2055 = load float, ptr %41, align 4, !tbaa !11
  %2056 = call float @llvm.fmuladd.f32(float %2054, float %2055, float 1.000000e+00)
  store float %2056, ptr %39, align 4, !tbaa !11
  %2057 = load float, ptr %42, align 4, !tbaa !11
  %2058 = fpext float %2057 to double
  %2059 = load float, ptr %38, align 4, !tbaa !11
  %2060 = load float, ptr %39, align 4, !tbaa !11
  %2061 = fcmp oge float %2059, %2060
  br i1 %2061, label %2062, label %2064

2062:                                             ; preds = %2051
  %2063 = load float, ptr %38, align 4, !tbaa !11
  br label %2066

2064:                                             ; preds = %2051
  %2065 = load float, ptr %39, align 4, !tbaa !11
  br label %2066

2066:                                             ; preds = %2064, %2062
  %2067 = phi float [ %2063, %2062 ], [ %2065, %2064 ]
  %2068 = fpext float %2067 to double
  %2069 = call double @sqrt(double noundef %2068) #5
  %2070 = fmul double %2058, %2069
  %2071 = fptrunc double %2070 to float
  %2072 = load ptr, ptr %22, align 8, !tbaa !5
  %2073 = load i32, ptr %51, align 4, !tbaa !9
  %2074 = sext i32 %2073 to i64
  %2075 = getelementptr inbounds float, ptr %2072, i64 %2074
  store float %2071, ptr %2075, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %2076 = load float, ptr %52, align 4, !tbaa !11
  %2077 = load float, ptr %55, align 4, !tbaa !11
  %2078 = fmul float %2076, %2077
  %2079 = load float, ptr %41, align 4, !tbaa !11
  %2080 = fneg float %2078
  %2081 = call float @llvm.fmuladd.f32(float %2080, float %2079, float 1.000000e+00)
  store float %2081, ptr %39, align 4, !tbaa !11
  %2082 = load float, ptr %38, align 4, !tbaa !11
  %2083 = load float, ptr %39, align 4, !tbaa !11
  %2084 = fcmp oge float %2082, %2083
  br i1 %2084, label %2085, label %2087

2085:                                             ; preds = %2066
  %2086 = load float, ptr %38, align 4, !tbaa !11
  br label %2089

2087:                                             ; preds = %2066
  %2088 = load float, ptr %39, align 4, !tbaa !11
  br label %2089

2089:                                             ; preds = %2087, %2085
  %2090 = phi float [ %2086, %2085 ], [ %2088, %2087 ]
  %2091 = fpext float %2090 to double
  %2092 = call double @sqrt(double noundef %2091) #5
  %2093 = load float, ptr %40, align 4, !tbaa !11
  %2094 = fpext float %2093 to double
  %2095 = fmul double %2094, %2092
  %2096 = fptrunc double %2095 to float
  store float %2096, ptr %40, align 4, !tbaa !11
  %2097 = load float, ptr %79, align 4, !tbaa !11
  store float %2097, ptr %38, align 4, !tbaa !11
  %2098 = load float, ptr %52, align 4, !tbaa !11
  %2099 = fcmp oge float %2098, 0.000000e+00
  br i1 %2099, label %2100, label %2102

2100:                                             ; preds = %2089
  %2101 = load float, ptr %52, align 4, !tbaa !11
  br label %2105

2102:                                             ; preds = %2089
  %2103 = load float, ptr %52, align 4, !tbaa !11
  %2104 = fneg float %2103
  br label %2105

2105:                                             ; preds = %2102, %2100
  %2106 = phi float [ %2101, %2100 ], [ %2104, %2102 ]
  store float %2106, ptr %39, align 4, !tbaa !11
  %2107 = load float, ptr %38, align 4, !tbaa !11
  %2108 = load float, ptr %39, align 4, !tbaa !11
  %2109 = fcmp oge float %2107, %2108
  br i1 %2109, label %2110, label %2112

2110:                                             ; preds = %2105
  %2111 = load float, ptr %38, align 4, !tbaa !11
  br label %2114

2112:                                             ; preds = %2105
  %2113 = load float, ptr %39, align 4, !tbaa !11
  br label %2114

2114:                                             ; preds = %2112, %2110
  %2115 = phi float [ %2111, %2110 ], [ %2113, %2112 ]
  store float %2115, ptr %79, align 4, !tbaa !11
  br label %2726

2116:                                             ; preds = %1981
  %2117 = load float, ptr %41, align 4, !tbaa !11
  %2118 = fcmp oge float %2117, 0.000000e+00
  br i1 %2118, label %2119, label %2129

2119:                                             ; preds = %2116
  %2120 = load float, ptr @c_b18, align 4, !tbaa !11
  %2121 = fcmp oge float %2120, 0.000000e+00
  br i1 %2121, label %2122, label %2124

2122:                                             ; preds = %2119
  %2123 = load float, ptr @c_b18, align 4, !tbaa !11
  br label %2127

2124:                                             ; preds = %2119
  %2125 = load float, ptr @c_b18, align 4, !tbaa !11
  %2126 = fneg float %2125
  br label %2127

2127:                                             ; preds = %2124, %2122
  %2128 = phi float [ %2123, %2122 ], [ %2126, %2124 ]
  br label %2140

2129:                                             ; preds = %2116
  %2130 = load float, ptr @c_b18, align 4, !tbaa !11
  %2131 = fcmp oge float %2130, 0.000000e+00
  br i1 %2131, label %2132, label %2134

2132:                                             ; preds = %2129
  %2133 = load float, ptr @c_b18, align 4, !tbaa !11
  br label %2137

2134:                                             ; preds = %2129
  %2135 = load float, ptr @c_b18, align 4, !tbaa !11
  %2136 = fneg float %2135
  br label %2137

2137:                                             ; preds = %2134, %2132
  %2138 = phi float [ %2133, %2132 ], [ %2136, %2134 ]
  %2139 = fneg float %2138
  br label %2140

2140:                                             ; preds = %2137, %2127
  %2141 = phi float [ %2128, %2127 ], [ %2139, %2137 ]
  %2142 = fneg float %2141
  store float %2142, ptr %78, align 4, !tbaa !11
  %2143 = load float, ptr %56, align 4, !tbaa !11
  %2144 = fpext float %2143 to double
  %2145 = load float, ptr %78, align 4, !tbaa !11
  %2146 = fpext float %2145 to double
  %2147 = load float, ptr %56, align 4, !tbaa !11
  %2148 = load float, ptr %56, align 4, !tbaa !11
  %2149 = call float @llvm.fmuladd.f32(float %2147, float %2148, float 1.000000e+00)
  %2150 = fpext float %2149 to double
  %2151 = call double @sqrt(double noundef %2150) #5
  %2152 = call double @llvm.fmuladd.f64(double %2146, double %2151, double %2144)
  %2153 = fdiv double 1.000000e+00, %2152
  %2154 = fptrunc double %2153 to float
  store float %2154, ptr %52, align 4, !tbaa !11
  %2155 = load float, ptr %52, align 4, !tbaa !11
  %2156 = load float, ptr %52, align 4, !tbaa !11
  %2157 = call float @llvm.fmuladd.f32(float %2155, float %2156, float 1.000000e+00)
  %2158 = fdiv float 1.000000e+00, %2157
  %2159 = fpext float %2158 to double
  %2160 = call double @sqrt(double noundef %2159) #5
  %2161 = fptrunc double %2160 to float
  store float %2161, ptr %72, align 4, !tbaa !11
  %2162 = load float, ptr %52, align 4, !tbaa !11
  %2163 = load float, ptr %72, align 4, !tbaa !11
  %2164 = fmul float %2162, %2163
  store float %2164, ptr %73, align 4, !tbaa !11
  %2165 = load float, ptr %79, align 4, !tbaa !11
  store float %2165, ptr %38, align 4, !tbaa !11
  %2166 = load float, ptr %73, align 4, !tbaa !11
  %2167 = fcmp oge float %2166, 0.000000e+00
  br i1 %2167, label %2168, label %2170

2168:                                             ; preds = %2140
  %2169 = load float, ptr %73, align 4, !tbaa !11
  br label %2173

2170:                                             ; preds = %2140
  %2171 = load float, ptr %73, align 4, !tbaa !11
  %2172 = fneg float %2171
  br label %2173

2173:                                             ; preds = %2170, %2168
  %2174 = phi float [ %2169, %2168 ], [ %2172, %2170 ]
  store float %2174, ptr %39, align 4, !tbaa !11
  %2175 = load float, ptr %38, align 4, !tbaa !11
  %2176 = load float, ptr %39, align 4, !tbaa !11
  %2177 = fcmp oge float %2175, %2176
  br i1 %2177, label %2178, label %2180

2178:                                             ; preds = %2173
  %2179 = load float, ptr %38, align 4, !tbaa !11
  br label %2182

2180:                                             ; preds = %2173
  %2181 = load float, ptr %39, align 4, !tbaa !11
  br label %2182

2182:                                             ; preds = %2180, %2178
  %2183 = phi float [ %2179, %2178 ], [ %2181, %2180 ]
  store float %2183, ptr %79, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %2184 = load float, ptr %52, align 4, !tbaa !11
  %2185 = load float, ptr %54, align 4, !tbaa !11
  %2186 = fmul float %2184, %2185
  %2187 = load float, ptr %41, align 4, !tbaa !11
  %2188 = call float @llvm.fmuladd.f32(float %2186, float %2187, float 1.000000e+00)
  store float %2188, ptr %39, align 4, !tbaa !11
  %2189 = load float, ptr %42, align 4, !tbaa !11
  %2190 = fpext float %2189 to double
  %2191 = load float, ptr %38, align 4, !tbaa !11
  %2192 = load float, ptr %39, align 4, !tbaa !11
  %2193 = fcmp oge float %2191, %2192
  br i1 %2193, label %2194, label %2196

2194:                                             ; preds = %2182
  %2195 = load float, ptr %38, align 4, !tbaa !11
  br label %2198

2196:                                             ; preds = %2182
  %2197 = load float, ptr %39, align 4, !tbaa !11
  br label %2198

2198:                                             ; preds = %2196, %2194
  %2199 = phi float [ %2195, %2194 ], [ %2197, %2196 ]
  %2200 = fpext float %2199 to double
  %2201 = call double @sqrt(double noundef %2200) #5
  %2202 = fmul double %2190, %2201
  %2203 = fptrunc double %2202 to float
  %2204 = load ptr, ptr %22, align 8, !tbaa !5
  %2205 = load i32, ptr %51, align 4, !tbaa !9
  %2206 = sext i32 %2205 to i64
  %2207 = getelementptr inbounds float, ptr %2204, i64 %2206
  store float %2203, ptr %2207, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %2208 = load float, ptr %52, align 4, !tbaa !11
  %2209 = load float, ptr %55, align 4, !tbaa !11
  %2210 = fmul float %2208, %2209
  %2211 = load float, ptr %41, align 4, !tbaa !11
  %2212 = fneg float %2210
  %2213 = call float @llvm.fmuladd.f32(float %2212, float %2211, float 1.000000e+00)
  store float %2213, ptr %39, align 4, !tbaa !11
  %2214 = load float, ptr %38, align 4, !tbaa !11
  %2215 = load float, ptr %39, align 4, !tbaa !11
  %2216 = fcmp oge float %2214, %2215
  br i1 %2216, label %2217, label %2219

2217:                                             ; preds = %2198
  %2218 = load float, ptr %38, align 4, !tbaa !11
  br label %2221

2219:                                             ; preds = %2198
  %2220 = load float, ptr %39, align 4, !tbaa !11
  br label %2221

2221:                                             ; preds = %2219, %2217
  %2222 = phi float [ %2218, %2217 ], [ %2220, %2219 ]
  %2223 = fpext float %2222 to double
  %2224 = call double @sqrt(double noundef %2223) #5
  %2225 = load float, ptr %40, align 4, !tbaa !11
  %2226 = fpext float %2225 to double
  %2227 = fmul double %2226, %2224
  %2228 = fptrunc double %2227 to float
  store float %2228, ptr %40, align 4, !tbaa !11
  %2229 = load ptr, ptr %26, align 8, !tbaa !5
  %2230 = load i32, ptr %50, align 4, !tbaa !9
  %2231 = sext i32 %2230 to i64
  %2232 = getelementptr inbounds float, ptr %2229, i64 %2231
  %2233 = load float, ptr %2232, align 4, !tbaa !11
  %2234 = load ptr, ptr %26, align 8, !tbaa !5
  %2235 = load i32, ptr %51, align 4, !tbaa !9
  %2236 = sext i32 %2235 to i64
  %2237 = getelementptr inbounds float, ptr %2234, i64 %2236
  %2238 = load float, ptr %2237, align 4, !tbaa !11
  %2239 = fdiv float %2233, %2238
  store float %2239, ptr %54, align 4, !tbaa !11
  %2240 = load ptr, ptr %26, align 8, !tbaa !5
  %2241 = load i32, ptr %51, align 4, !tbaa !9
  %2242 = sext i32 %2241 to i64
  %2243 = getelementptr inbounds float, ptr %2240, i64 %2242
  %2244 = load float, ptr %2243, align 4, !tbaa !11
  %2245 = load ptr, ptr %26, align 8, !tbaa !5
  %2246 = load i32, ptr %50, align 4, !tbaa !9
  %2247 = sext i32 %2246 to i64
  %2248 = getelementptr inbounds float, ptr %2245, i64 %2247
  %2249 = load float, ptr %2248, align 4, !tbaa !11
  %2250 = fdiv float %2244, %2249
  store float %2250, ptr %55, align 4, !tbaa !11
  %2251 = load ptr, ptr %26, align 8, !tbaa !5
  %2252 = load i32, ptr %50, align 4, !tbaa !9
  %2253 = sext i32 %2252 to i64
  %2254 = getelementptr inbounds float, ptr %2251, i64 %2253
  %2255 = load float, ptr %2254, align 4, !tbaa !11
  %2256 = fcmp oge float %2255, 1.000000e+00
  br i1 %2256, label %2257, label %2419

2257:                                             ; preds = %2221
  %2258 = load ptr, ptr %26, align 8, !tbaa !5
  %2259 = load i32, ptr %51, align 4, !tbaa !9
  %2260 = sext i32 %2259 to i64
  %2261 = getelementptr inbounds float, ptr %2258, i64 %2260
  %2262 = load float, ptr %2261, align 4, !tbaa !11
  %2263 = fcmp oge float %2262, 1.000000e+00
  br i1 %2263, label %2264, label %2323

2264:                                             ; preds = %2257
  %2265 = load float, ptr %52, align 4, !tbaa !11
  %2266 = load float, ptr %54, align 4, !tbaa !11
  %2267 = fmul float %2265, %2266
  %2268 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 2
  store float %2267, ptr %2268, align 8, !tbaa !11
  %2269 = load float, ptr %52, align 4, !tbaa !11
  %2270 = fneg float %2269
  %2271 = load float, ptr %55, align 4, !tbaa !11
  %2272 = fmul float %2270, %2271
  %2273 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 3
  store float %2272, ptr %2273, align 4, !tbaa !11
  %2274 = load float, ptr %72, align 4, !tbaa !11
  %2275 = load ptr, ptr %26, align 8, !tbaa !5
  %2276 = load i32, ptr %50, align 4, !tbaa !9
  %2277 = sext i32 %2276 to i64
  %2278 = getelementptr inbounds float, ptr %2275, i64 %2277
  %2279 = load float, ptr %2278, align 4, !tbaa !11
  %2280 = fmul float %2279, %2274
  store float %2280, ptr %2278, align 4, !tbaa !11
  %2281 = load float, ptr %72, align 4, !tbaa !11
  %2282 = load ptr, ptr %26, align 8, !tbaa !5
  %2283 = load i32, ptr %51, align 4, !tbaa !9
  %2284 = sext i32 %2283 to i64
  %2285 = getelementptr inbounds float, ptr %2282, i64 %2284
  %2286 = load float, ptr %2285, align 4, !tbaa !11
  %2287 = fmul float %2286, %2281
  store float %2287, ptr %2285, align 4, !tbaa !11
  %2288 = load ptr, ptr %18, align 8, !tbaa !5
  %2289 = load ptr, ptr %20, align 8, !tbaa !5
  %2290 = load i32, ptr %50, align 4, !tbaa !9
  %2291 = load i32, ptr %29, align 4, !tbaa !9
  %2292 = mul nsw i32 %2290, %2291
  %2293 = add nsw i32 %2292, 1
  %2294 = sext i32 %2293 to i64
  %2295 = getelementptr inbounds float, ptr %2289, i64 %2294
  %2296 = load ptr, ptr %20, align 8, !tbaa !5
  %2297 = load i32, ptr %51, align 4, !tbaa !9
  %2298 = load i32, ptr %29, align 4, !tbaa !9
  %2299 = mul nsw i32 %2297, %2298
  %2300 = add nsw i32 %2299, 1
  %2301 = sext i32 %2300 to i64
  %2302 = getelementptr inbounds float, ptr %2296, i64 %2301
  %2303 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %2288, ptr noundef %2295, ptr noundef @c__1, ptr noundef %2302, ptr noundef @c__1, ptr noundef %2303)
  %2304 = load i32, ptr %63, align 4, !tbaa !9
  %2305 = icmp ne i32 %2304, 0
  br i1 %2305, label %2306, label %2322

2306:                                             ; preds = %2264
  %2307 = load ptr, ptr %24, align 8, !tbaa !5
  %2308 = load i32, ptr %50, align 4, !tbaa !9
  %2309 = load i32, ptr %31, align 4, !tbaa !9
  %2310 = mul nsw i32 %2308, %2309
  %2311 = add nsw i32 %2310, 1
  %2312 = sext i32 %2311 to i64
  %2313 = getelementptr inbounds float, ptr %2307, i64 %2312
  %2314 = load ptr, ptr %24, align 8, !tbaa !5
  %2315 = load i32, ptr %51, align 4, !tbaa !9
  %2316 = load i32, ptr %31, align 4, !tbaa !9
  %2317 = mul nsw i32 %2315, %2316
  %2318 = add nsw i32 %2317, 1
  %2319 = sext i32 %2318 to i64
  %2320 = getelementptr inbounds float, ptr %2314, i64 %2319
  %2321 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %95, ptr noundef %2313, ptr noundef @c__1, ptr noundef %2320, ptr noundef @c__1, ptr noundef %2321)
  br label %2322

2322:                                             ; preds = %2306, %2264
  br label %2418

2323:                                             ; preds = %2257
  %2324 = load float, ptr %52, align 4, !tbaa !11
  %2325 = fneg float %2324
  %2326 = load float, ptr %55, align 4, !tbaa !11
  %2327 = fmul float %2325, %2326
  store float %2327, ptr %38, align 4, !tbaa !11
  %2328 = load ptr, ptr %18, align 8, !tbaa !5
  %2329 = load ptr, ptr %20, align 8, !tbaa !5
  %2330 = load i32, ptr %51, align 4, !tbaa !9
  %2331 = load i32, ptr %29, align 4, !tbaa !9
  %2332 = mul nsw i32 %2330, %2331
  %2333 = add nsw i32 %2332, 1
  %2334 = sext i32 %2333 to i64
  %2335 = getelementptr inbounds float, ptr %2329, i64 %2334
  %2336 = load ptr, ptr %20, align 8, !tbaa !5
  %2337 = load i32, ptr %50, align 4, !tbaa !9
  %2338 = load i32, ptr %29, align 4, !tbaa !9
  %2339 = mul nsw i32 %2337, %2338
  %2340 = add nsw i32 %2339, 1
  %2341 = sext i32 %2340 to i64
  %2342 = getelementptr inbounds float, ptr %2336, i64 %2341
  call void @saxpy_(ptr noundef %2328, ptr noundef %38, ptr noundef %2335, ptr noundef @c__1, ptr noundef %2342, ptr noundef @c__1)
  %2343 = load float, ptr %72, align 4, !tbaa !11
  %2344 = load float, ptr %73, align 4, !tbaa !11
  %2345 = fmul float %2343, %2344
  %2346 = load float, ptr %54, align 4, !tbaa !11
  %2347 = fmul float %2345, %2346
  store float %2347, ptr %38, align 4, !tbaa !11
  %2348 = load ptr, ptr %18, align 8, !tbaa !5
  %2349 = load ptr, ptr %20, align 8, !tbaa !5
  %2350 = load i32, ptr %50, align 4, !tbaa !9
  %2351 = load i32, ptr %29, align 4, !tbaa !9
  %2352 = mul nsw i32 %2350, %2351
  %2353 = add nsw i32 %2352, 1
  %2354 = sext i32 %2353 to i64
  %2355 = getelementptr inbounds float, ptr %2349, i64 %2354
  %2356 = load ptr, ptr %20, align 8, !tbaa !5
  %2357 = load i32, ptr %51, align 4, !tbaa !9
  %2358 = load i32, ptr %29, align 4, !tbaa !9
  %2359 = mul nsw i32 %2357, %2358
  %2360 = add nsw i32 %2359, 1
  %2361 = sext i32 %2360 to i64
  %2362 = getelementptr inbounds float, ptr %2356, i64 %2361
  call void @saxpy_(ptr noundef %2348, ptr noundef %38, ptr noundef %2355, ptr noundef @c__1, ptr noundef %2362, ptr noundef @c__1)
  %2363 = load float, ptr %72, align 4, !tbaa !11
  %2364 = load ptr, ptr %26, align 8, !tbaa !5
  %2365 = load i32, ptr %50, align 4, !tbaa !9
  %2366 = sext i32 %2365 to i64
  %2367 = getelementptr inbounds float, ptr %2364, i64 %2366
  %2368 = load float, ptr %2367, align 4, !tbaa !11
  %2369 = fmul float %2368, %2363
  store float %2369, ptr %2367, align 4, !tbaa !11
  %2370 = load float, ptr %72, align 4, !tbaa !11
  %2371 = load ptr, ptr %26, align 8, !tbaa !5
  %2372 = load i32, ptr %51, align 4, !tbaa !9
  %2373 = sext i32 %2372 to i64
  %2374 = getelementptr inbounds float, ptr %2371, i64 %2373
  %2375 = load float, ptr %2374, align 4, !tbaa !11
  %2376 = fdiv float %2375, %2370
  store float %2376, ptr %2374, align 4, !tbaa !11
  %2377 = load i32, ptr %63, align 4, !tbaa !9
  %2378 = icmp ne i32 %2377, 0
  br i1 %2378, label %2379, label %2417

2379:                                             ; preds = %2323
  %2380 = load float, ptr %52, align 4, !tbaa !11
  %2381 = fneg float %2380
  %2382 = load float, ptr %55, align 4, !tbaa !11
  %2383 = fmul float %2381, %2382
  store float %2383, ptr %38, align 4, !tbaa !11
  %2384 = load ptr, ptr %24, align 8, !tbaa !5
  %2385 = load i32, ptr %51, align 4, !tbaa !9
  %2386 = load i32, ptr %31, align 4, !tbaa !9
  %2387 = mul nsw i32 %2385, %2386
  %2388 = add nsw i32 %2387, 1
  %2389 = sext i32 %2388 to i64
  %2390 = getelementptr inbounds float, ptr %2384, i64 %2389
  %2391 = load ptr, ptr %24, align 8, !tbaa !5
  %2392 = load i32, ptr %50, align 4, !tbaa !9
  %2393 = load i32, ptr %31, align 4, !tbaa !9
  %2394 = mul nsw i32 %2392, %2393
  %2395 = add nsw i32 %2394, 1
  %2396 = sext i32 %2395 to i64
  %2397 = getelementptr inbounds float, ptr %2391, i64 %2396
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2390, ptr noundef @c__1, ptr noundef %2397, ptr noundef @c__1)
  %2398 = load float, ptr %72, align 4, !tbaa !11
  %2399 = load float, ptr %73, align 4, !tbaa !11
  %2400 = fmul float %2398, %2399
  %2401 = load float, ptr %54, align 4, !tbaa !11
  %2402 = fmul float %2400, %2401
  store float %2402, ptr %38, align 4, !tbaa !11
  %2403 = load ptr, ptr %24, align 8, !tbaa !5
  %2404 = load i32, ptr %50, align 4, !tbaa !9
  %2405 = load i32, ptr %31, align 4, !tbaa !9
  %2406 = mul nsw i32 %2404, %2405
  %2407 = add nsw i32 %2406, 1
  %2408 = sext i32 %2407 to i64
  %2409 = getelementptr inbounds float, ptr %2403, i64 %2408
  %2410 = load ptr, ptr %24, align 8, !tbaa !5
  %2411 = load i32, ptr %51, align 4, !tbaa !9
  %2412 = load i32, ptr %31, align 4, !tbaa !9
  %2413 = mul nsw i32 %2411, %2412
  %2414 = add nsw i32 %2413, 1
  %2415 = sext i32 %2414 to i64
  %2416 = getelementptr inbounds float, ptr %2410, i64 %2415
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2409, ptr noundef @c__1, ptr noundef %2416, ptr noundef @c__1)
  br label %2417

2417:                                             ; preds = %2379, %2323
  br label %2418

2418:                                             ; preds = %2417, %2322
  br label %2725

2419:                                             ; preds = %2221
  %2420 = load ptr, ptr %26, align 8, !tbaa !5
  %2421 = load i32, ptr %51, align 4, !tbaa !9
  %2422 = sext i32 %2421 to i64
  %2423 = getelementptr inbounds float, ptr %2420, i64 %2422
  %2424 = load float, ptr %2423, align 4, !tbaa !11
  %2425 = fcmp oge float %2424, 1.000000e+00
  br i1 %2425, label %2426, label %2521

2426:                                             ; preds = %2419
  %2427 = load float, ptr %52, align 4, !tbaa !11
  %2428 = load float, ptr %54, align 4, !tbaa !11
  %2429 = fmul float %2427, %2428
  store float %2429, ptr %38, align 4, !tbaa !11
  %2430 = load ptr, ptr %18, align 8, !tbaa !5
  %2431 = load ptr, ptr %20, align 8, !tbaa !5
  %2432 = load i32, ptr %50, align 4, !tbaa !9
  %2433 = load i32, ptr %29, align 4, !tbaa !9
  %2434 = mul nsw i32 %2432, %2433
  %2435 = add nsw i32 %2434, 1
  %2436 = sext i32 %2435 to i64
  %2437 = getelementptr inbounds float, ptr %2431, i64 %2436
  %2438 = load ptr, ptr %20, align 8, !tbaa !5
  %2439 = load i32, ptr %51, align 4, !tbaa !9
  %2440 = load i32, ptr %29, align 4, !tbaa !9
  %2441 = mul nsw i32 %2439, %2440
  %2442 = add nsw i32 %2441, 1
  %2443 = sext i32 %2442 to i64
  %2444 = getelementptr inbounds float, ptr %2438, i64 %2443
  call void @saxpy_(ptr noundef %2430, ptr noundef %38, ptr noundef %2437, ptr noundef @c__1, ptr noundef %2444, ptr noundef @c__1)
  %2445 = load float, ptr %72, align 4, !tbaa !11
  %2446 = fneg float %2445
  %2447 = load float, ptr %73, align 4, !tbaa !11
  %2448 = fmul float %2446, %2447
  %2449 = load float, ptr %55, align 4, !tbaa !11
  %2450 = fmul float %2448, %2449
  store float %2450, ptr %38, align 4, !tbaa !11
  %2451 = load ptr, ptr %18, align 8, !tbaa !5
  %2452 = load ptr, ptr %20, align 8, !tbaa !5
  %2453 = load i32, ptr %51, align 4, !tbaa !9
  %2454 = load i32, ptr %29, align 4, !tbaa !9
  %2455 = mul nsw i32 %2453, %2454
  %2456 = add nsw i32 %2455, 1
  %2457 = sext i32 %2456 to i64
  %2458 = getelementptr inbounds float, ptr %2452, i64 %2457
  %2459 = load ptr, ptr %20, align 8, !tbaa !5
  %2460 = load i32, ptr %50, align 4, !tbaa !9
  %2461 = load i32, ptr %29, align 4, !tbaa !9
  %2462 = mul nsw i32 %2460, %2461
  %2463 = add nsw i32 %2462, 1
  %2464 = sext i32 %2463 to i64
  %2465 = getelementptr inbounds float, ptr %2459, i64 %2464
  call void @saxpy_(ptr noundef %2451, ptr noundef %38, ptr noundef %2458, ptr noundef @c__1, ptr noundef %2465, ptr noundef @c__1)
  %2466 = load float, ptr %72, align 4, !tbaa !11
  %2467 = load ptr, ptr %26, align 8, !tbaa !5
  %2468 = load i32, ptr %50, align 4, !tbaa !9
  %2469 = sext i32 %2468 to i64
  %2470 = getelementptr inbounds float, ptr %2467, i64 %2469
  %2471 = load float, ptr %2470, align 4, !tbaa !11
  %2472 = fdiv float %2471, %2466
  store float %2472, ptr %2470, align 4, !tbaa !11
  %2473 = load float, ptr %72, align 4, !tbaa !11
  %2474 = load ptr, ptr %26, align 8, !tbaa !5
  %2475 = load i32, ptr %51, align 4, !tbaa !9
  %2476 = sext i32 %2475 to i64
  %2477 = getelementptr inbounds float, ptr %2474, i64 %2476
  %2478 = load float, ptr %2477, align 4, !tbaa !11
  %2479 = fmul float %2478, %2473
  store float %2479, ptr %2477, align 4, !tbaa !11
  %2480 = load i32, ptr %63, align 4, !tbaa !9
  %2481 = icmp ne i32 %2480, 0
  br i1 %2481, label %2482, label %2520

2482:                                             ; preds = %2426
  %2483 = load float, ptr %52, align 4, !tbaa !11
  %2484 = load float, ptr %54, align 4, !tbaa !11
  %2485 = fmul float %2483, %2484
  store float %2485, ptr %38, align 4, !tbaa !11
  %2486 = load ptr, ptr %24, align 8, !tbaa !5
  %2487 = load i32, ptr %50, align 4, !tbaa !9
  %2488 = load i32, ptr %31, align 4, !tbaa !9
  %2489 = mul nsw i32 %2487, %2488
  %2490 = add nsw i32 %2489, 1
  %2491 = sext i32 %2490 to i64
  %2492 = getelementptr inbounds float, ptr %2486, i64 %2491
  %2493 = load ptr, ptr %24, align 8, !tbaa !5
  %2494 = load i32, ptr %51, align 4, !tbaa !9
  %2495 = load i32, ptr %31, align 4, !tbaa !9
  %2496 = mul nsw i32 %2494, %2495
  %2497 = add nsw i32 %2496, 1
  %2498 = sext i32 %2497 to i64
  %2499 = getelementptr inbounds float, ptr %2493, i64 %2498
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2492, ptr noundef @c__1, ptr noundef %2499, ptr noundef @c__1)
  %2500 = load float, ptr %72, align 4, !tbaa !11
  %2501 = fneg float %2500
  %2502 = load float, ptr %73, align 4, !tbaa !11
  %2503 = fmul float %2501, %2502
  %2504 = load float, ptr %55, align 4, !tbaa !11
  %2505 = fmul float %2503, %2504
  store float %2505, ptr %38, align 4, !tbaa !11
  %2506 = load ptr, ptr %24, align 8, !tbaa !5
  %2507 = load i32, ptr %51, align 4, !tbaa !9
  %2508 = load i32, ptr %31, align 4, !tbaa !9
  %2509 = mul nsw i32 %2507, %2508
  %2510 = add nsw i32 %2509, 1
  %2511 = sext i32 %2510 to i64
  %2512 = getelementptr inbounds float, ptr %2506, i64 %2511
  %2513 = load ptr, ptr %24, align 8, !tbaa !5
  %2514 = load i32, ptr %50, align 4, !tbaa !9
  %2515 = load i32, ptr %31, align 4, !tbaa !9
  %2516 = mul nsw i32 %2514, %2515
  %2517 = add nsw i32 %2516, 1
  %2518 = sext i32 %2517 to i64
  %2519 = getelementptr inbounds float, ptr %2513, i64 %2518
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2512, ptr noundef @c__1, ptr noundef %2519, ptr noundef @c__1)
  br label %2520

2520:                                             ; preds = %2482, %2426
  br label %2724

2521:                                             ; preds = %2419
  %2522 = load ptr, ptr %26, align 8, !tbaa !5
  %2523 = load i32, ptr %50, align 4, !tbaa !9
  %2524 = sext i32 %2523 to i64
  %2525 = getelementptr inbounds float, ptr %2522, i64 %2524
  %2526 = load float, ptr %2525, align 4, !tbaa !11
  %2527 = load ptr, ptr %26, align 8, !tbaa !5
  %2528 = load i32, ptr %51, align 4, !tbaa !9
  %2529 = sext i32 %2528 to i64
  %2530 = getelementptr inbounds float, ptr %2527, i64 %2529
  %2531 = load float, ptr %2530, align 4, !tbaa !11
  %2532 = fcmp oge float %2526, %2531
  br i1 %2532, label %2533, label %2628

2533:                                             ; preds = %2521
  %2534 = load float, ptr %52, align 4, !tbaa !11
  %2535 = fneg float %2534
  %2536 = load float, ptr %55, align 4, !tbaa !11
  %2537 = fmul float %2535, %2536
  store float %2537, ptr %38, align 4, !tbaa !11
  %2538 = load ptr, ptr %18, align 8, !tbaa !5
  %2539 = load ptr, ptr %20, align 8, !tbaa !5
  %2540 = load i32, ptr %51, align 4, !tbaa !9
  %2541 = load i32, ptr %29, align 4, !tbaa !9
  %2542 = mul nsw i32 %2540, %2541
  %2543 = add nsw i32 %2542, 1
  %2544 = sext i32 %2543 to i64
  %2545 = getelementptr inbounds float, ptr %2539, i64 %2544
  %2546 = load ptr, ptr %20, align 8, !tbaa !5
  %2547 = load i32, ptr %50, align 4, !tbaa !9
  %2548 = load i32, ptr %29, align 4, !tbaa !9
  %2549 = mul nsw i32 %2547, %2548
  %2550 = add nsw i32 %2549, 1
  %2551 = sext i32 %2550 to i64
  %2552 = getelementptr inbounds float, ptr %2546, i64 %2551
  call void @saxpy_(ptr noundef %2538, ptr noundef %38, ptr noundef %2545, ptr noundef @c__1, ptr noundef %2552, ptr noundef @c__1)
  %2553 = load float, ptr %72, align 4, !tbaa !11
  %2554 = load float, ptr %73, align 4, !tbaa !11
  %2555 = fmul float %2553, %2554
  %2556 = load float, ptr %54, align 4, !tbaa !11
  %2557 = fmul float %2555, %2556
  store float %2557, ptr %38, align 4, !tbaa !11
  %2558 = load ptr, ptr %18, align 8, !tbaa !5
  %2559 = load ptr, ptr %20, align 8, !tbaa !5
  %2560 = load i32, ptr %50, align 4, !tbaa !9
  %2561 = load i32, ptr %29, align 4, !tbaa !9
  %2562 = mul nsw i32 %2560, %2561
  %2563 = add nsw i32 %2562, 1
  %2564 = sext i32 %2563 to i64
  %2565 = getelementptr inbounds float, ptr %2559, i64 %2564
  %2566 = load ptr, ptr %20, align 8, !tbaa !5
  %2567 = load i32, ptr %51, align 4, !tbaa !9
  %2568 = load i32, ptr %29, align 4, !tbaa !9
  %2569 = mul nsw i32 %2567, %2568
  %2570 = add nsw i32 %2569, 1
  %2571 = sext i32 %2570 to i64
  %2572 = getelementptr inbounds float, ptr %2566, i64 %2571
  call void @saxpy_(ptr noundef %2558, ptr noundef %38, ptr noundef %2565, ptr noundef @c__1, ptr noundef %2572, ptr noundef @c__1)
  %2573 = load float, ptr %72, align 4, !tbaa !11
  %2574 = load ptr, ptr %26, align 8, !tbaa !5
  %2575 = load i32, ptr %50, align 4, !tbaa !9
  %2576 = sext i32 %2575 to i64
  %2577 = getelementptr inbounds float, ptr %2574, i64 %2576
  %2578 = load float, ptr %2577, align 4, !tbaa !11
  %2579 = fmul float %2578, %2573
  store float %2579, ptr %2577, align 4, !tbaa !11
  %2580 = load float, ptr %72, align 4, !tbaa !11
  %2581 = load ptr, ptr %26, align 8, !tbaa !5
  %2582 = load i32, ptr %51, align 4, !tbaa !9
  %2583 = sext i32 %2582 to i64
  %2584 = getelementptr inbounds float, ptr %2581, i64 %2583
  %2585 = load float, ptr %2584, align 4, !tbaa !11
  %2586 = fdiv float %2585, %2580
  store float %2586, ptr %2584, align 4, !tbaa !11
  %2587 = load i32, ptr %63, align 4, !tbaa !9
  %2588 = icmp ne i32 %2587, 0
  br i1 %2588, label %2589, label %2627

2589:                                             ; preds = %2533
  %2590 = load float, ptr %52, align 4, !tbaa !11
  %2591 = fneg float %2590
  %2592 = load float, ptr %55, align 4, !tbaa !11
  %2593 = fmul float %2591, %2592
  store float %2593, ptr %38, align 4, !tbaa !11
  %2594 = load ptr, ptr %24, align 8, !tbaa !5
  %2595 = load i32, ptr %51, align 4, !tbaa !9
  %2596 = load i32, ptr %31, align 4, !tbaa !9
  %2597 = mul nsw i32 %2595, %2596
  %2598 = add nsw i32 %2597, 1
  %2599 = sext i32 %2598 to i64
  %2600 = getelementptr inbounds float, ptr %2594, i64 %2599
  %2601 = load ptr, ptr %24, align 8, !tbaa !5
  %2602 = load i32, ptr %50, align 4, !tbaa !9
  %2603 = load i32, ptr %31, align 4, !tbaa !9
  %2604 = mul nsw i32 %2602, %2603
  %2605 = add nsw i32 %2604, 1
  %2606 = sext i32 %2605 to i64
  %2607 = getelementptr inbounds float, ptr %2601, i64 %2606
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2600, ptr noundef @c__1, ptr noundef %2607, ptr noundef @c__1)
  %2608 = load float, ptr %72, align 4, !tbaa !11
  %2609 = load float, ptr %73, align 4, !tbaa !11
  %2610 = fmul float %2608, %2609
  %2611 = load float, ptr %54, align 4, !tbaa !11
  %2612 = fmul float %2610, %2611
  store float %2612, ptr %38, align 4, !tbaa !11
  %2613 = load ptr, ptr %24, align 8, !tbaa !5
  %2614 = load i32, ptr %50, align 4, !tbaa !9
  %2615 = load i32, ptr %31, align 4, !tbaa !9
  %2616 = mul nsw i32 %2614, %2615
  %2617 = add nsw i32 %2616, 1
  %2618 = sext i32 %2617 to i64
  %2619 = getelementptr inbounds float, ptr %2613, i64 %2618
  %2620 = load ptr, ptr %24, align 8, !tbaa !5
  %2621 = load i32, ptr %51, align 4, !tbaa !9
  %2622 = load i32, ptr %31, align 4, !tbaa !9
  %2623 = mul nsw i32 %2621, %2622
  %2624 = add nsw i32 %2623, 1
  %2625 = sext i32 %2624 to i64
  %2626 = getelementptr inbounds float, ptr %2620, i64 %2625
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2619, ptr noundef @c__1, ptr noundef %2626, ptr noundef @c__1)
  br label %2627

2627:                                             ; preds = %2589, %2533
  br label %2723

2628:                                             ; preds = %2521
  %2629 = load float, ptr %52, align 4, !tbaa !11
  %2630 = load float, ptr %54, align 4, !tbaa !11
  %2631 = fmul float %2629, %2630
  store float %2631, ptr %38, align 4, !tbaa !11
  %2632 = load ptr, ptr %18, align 8, !tbaa !5
  %2633 = load ptr, ptr %20, align 8, !tbaa !5
  %2634 = load i32, ptr %50, align 4, !tbaa !9
  %2635 = load i32, ptr %29, align 4, !tbaa !9
  %2636 = mul nsw i32 %2634, %2635
  %2637 = add nsw i32 %2636, 1
  %2638 = sext i32 %2637 to i64
  %2639 = getelementptr inbounds float, ptr %2633, i64 %2638
  %2640 = load ptr, ptr %20, align 8, !tbaa !5
  %2641 = load i32, ptr %51, align 4, !tbaa !9
  %2642 = load i32, ptr %29, align 4, !tbaa !9
  %2643 = mul nsw i32 %2641, %2642
  %2644 = add nsw i32 %2643, 1
  %2645 = sext i32 %2644 to i64
  %2646 = getelementptr inbounds float, ptr %2640, i64 %2645
  call void @saxpy_(ptr noundef %2632, ptr noundef %38, ptr noundef %2639, ptr noundef @c__1, ptr noundef %2646, ptr noundef @c__1)
  %2647 = load float, ptr %72, align 4, !tbaa !11
  %2648 = fneg float %2647
  %2649 = load float, ptr %73, align 4, !tbaa !11
  %2650 = fmul float %2648, %2649
  %2651 = load float, ptr %55, align 4, !tbaa !11
  %2652 = fmul float %2650, %2651
  store float %2652, ptr %38, align 4, !tbaa !11
  %2653 = load ptr, ptr %18, align 8, !tbaa !5
  %2654 = load ptr, ptr %20, align 8, !tbaa !5
  %2655 = load i32, ptr %51, align 4, !tbaa !9
  %2656 = load i32, ptr %29, align 4, !tbaa !9
  %2657 = mul nsw i32 %2655, %2656
  %2658 = add nsw i32 %2657, 1
  %2659 = sext i32 %2658 to i64
  %2660 = getelementptr inbounds float, ptr %2654, i64 %2659
  %2661 = load ptr, ptr %20, align 8, !tbaa !5
  %2662 = load i32, ptr %50, align 4, !tbaa !9
  %2663 = load i32, ptr %29, align 4, !tbaa !9
  %2664 = mul nsw i32 %2662, %2663
  %2665 = add nsw i32 %2664, 1
  %2666 = sext i32 %2665 to i64
  %2667 = getelementptr inbounds float, ptr %2661, i64 %2666
  call void @saxpy_(ptr noundef %2653, ptr noundef %38, ptr noundef %2660, ptr noundef @c__1, ptr noundef %2667, ptr noundef @c__1)
  %2668 = load float, ptr %72, align 4, !tbaa !11
  %2669 = load ptr, ptr %26, align 8, !tbaa !5
  %2670 = load i32, ptr %50, align 4, !tbaa !9
  %2671 = sext i32 %2670 to i64
  %2672 = getelementptr inbounds float, ptr %2669, i64 %2671
  %2673 = load float, ptr %2672, align 4, !tbaa !11
  %2674 = fdiv float %2673, %2668
  store float %2674, ptr %2672, align 4, !tbaa !11
  %2675 = load float, ptr %72, align 4, !tbaa !11
  %2676 = load ptr, ptr %26, align 8, !tbaa !5
  %2677 = load i32, ptr %51, align 4, !tbaa !9
  %2678 = sext i32 %2677 to i64
  %2679 = getelementptr inbounds float, ptr %2676, i64 %2678
  %2680 = load float, ptr %2679, align 4, !tbaa !11
  %2681 = fmul float %2680, %2675
  store float %2681, ptr %2679, align 4, !tbaa !11
  %2682 = load i32, ptr %63, align 4, !tbaa !9
  %2683 = icmp ne i32 %2682, 0
  br i1 %2683, label %2684, label %2722

2684:                                             ; preds = %2628
  %2685 = load float, ptr %52, align 4, !tbaa !11
  %2686 = load float, ptr %54, align 4, !tbaa !11
  %2687 = fmul float %2685, %2686
  store float %2687, ptr %38, align 4, !tbaa !11
  %2688 = load ptr, ptr %24, align 8, !tbaa !5
  %2689 = load i32, ptr %50, align 4, !tbaa !9
  %2690 = load i32, ptr %31, align 4, !tbaa !9
  %2691 = mul nsw i32 %2689, %2690
  %2692 = add nsw i32 %2691, 1
  %2693 = sext i32 %2692 to i64
  %2694 = getelementptr inbounds float, ptr %2688, i64 %2693
  %2695 = load ptr, ptr %24, align 8, !tbaa !5
  %2696 = load i32, ptr %51, align 4, !tbaa !9
  %2697 = load i32, ptr %31, align 4, !tbaa !9
  %2698 = mul nsw i32 %2696, %2697
  %2699 = add nsw i32 %2698, 1
  %2700 = sext i32 %2699 to i64
  %2701 = getelementptr inbounds float, ptr %2695, i64 %2700
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2694, ptr noundef @c__1, ptr noundef %2701, ptr noundef @c__1)
  %2702 = load float, ptr %72, align 4, !tbaa !11
  %2703 = fneg float %2702
  %2704 = load float, ptr %73, align 4, !tbaa !11
  %2705 = fmul float %2703, %2704
  %2706 = load float, ptr %55, align 4, !tbaa !11
  %2707 = fmul float %2705, %2706
  store float %2707, ptr %38, align 4, !tbaa !11
  %2708 = load ptr, ptr %24, align 8, !tbaa !5
  %2709 = load i32, ptr %51, align 4, !tbaa !9
  %2710 = load i32, ptr %31, align 4, !tbaa !9
  %2711 = mul nsw i32 %2709, %2710
  %2712 = add nsw i32 %2711, 1
  %2713 = sext i32 %2712 to i64
  %2714 = getelementptr inbounds float, ptr %2708, i64 %2713
  %2715 = load ptr, ptr %24, align 8, !tbaa !5
  %2716 = load i32, ptr %50, align 4, !tbaa !9
  %2717 = load i32, ptr %31, align 4, !tbaa !9
  %2718 = mul nsw i32 %2716, %2717
  %2719 = add nsw i32 %2718, 1
  %2720 = sext i32 %2719 to i64
  %2721 = getelementptr inbounds float, ptr %2715, i64 %2720
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %2714, ptr noundef @c__1, ptr noundef %2721, ptr noundef @c__1)
  br label %2722

2722:                                             ; preds = %2684, %2628
  br label %2723

2723:                                             ; preds = %2722, %2627
  br label %2724

2724:                                             ; preds = %2723, %2520
  br label %2725

2725:                                             ; preds = %2724, %2418
  br label %2726

2726:                                             ; preds = %2725, %2114
  br label %2828

2727:                                             ; preds = %1949
  %2728 = load ptr, ptr %18, align 8, !tbaa !5
  %2729 = load ptr, ptr %20, align 8, !tbaa !5
  %2730 = load i32, ptr %50, align 4, !tbaa !9
  %2731 = load i32, ptr %29, align 4, !tbaa !9
  %2732 = mul nsw i32 %2730, %2731
  %2733 = add nsw i32 %2732, 1
  %2734 = sext i32 %2733 to i64
  %2735 = getelementptr inbounds float, ptr %2729, i64 %2734
  %2736 = load ptr, ptr %26, align 8, !tbaa !5
  %2737 = load ptr, ptr %19, align 8, !tbaa !5
  %2738 = load i32, ptr %2737, align 4, !tbaa !9
  %2739 = add nsw i32 %2738, 1
  %2740 = sext i32 %2739 to i64
  %2741 = getelementptr inbounds float, ptr %2736, i64 %2740
  call void @scopy_(ptr noundef %2728, ptr noundef %2735, ptr noundef @c__1, ptr noundef %2741, ptr noundef @c__1)
  %2742 = load ptr, ptr %18, align 8, !tbaa !5
  %2743 = load ptr, ptr %26, align 8, !tbaa !5
  %2744 = load ptr, ptr %19, align 8, !tbaa !5
  %2745 = load i32, ptr %2744, align 4, !tbaa !9
  %2746 = add nsw i32 %2745, 1
  %2747 = sext i32 %2746 to i64
  %2748 = getelementptr inbounds float, ptr %2743, i64 %2747
  %2749 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %40, ptr noundef @c_b18, ptr noundef %2742, ptr noundef @c__1, ptr noundef %2748, ptr noundef %2749, ptr noundef %44)
  %2750 = load ptr, ptr %18, align 8, !tbaa !5
  %2751 = load ptr, ptr %20, align 8, !tbaa !5
  %2752 = load i32, ptr %51, align 4, !tbaa !9
  %2753 = load i32, ptr %29, align 4, !tbaa !9
  %2754 = mul nsw i32 %2752, %2753
  %2755 = add nsw i32 %2754, 1
  %2756 = sext i32 %2755 to i64
  %2757 = getelementptr inbounds float, ptr %2751, i64 %2756
  %2758 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %42, ptr noundef @c_b18, ptr noundef %2750, ptr noundef @c__1, ptr noundef %2757, ptr noundef %2758, ptr noundef %44)
  %2759 = load float, ptr %41, align 4, !tbaa !11
  %2760 = fneg float %2759
  %2761 = load ptr, ptr %26, align 8, !tbaa !5
  %2762 = load i32, ptr %50, align 4, !tbaa !9
  %2763 = sext i32 %2762 to i64
  %2764 = getelementptr inbounds float, ptr %2761, i64 %2763
  %2765 = load float, ptr %2764, align 4, !tbaa !11
  %2766 = fmul float %2760, %2765
  %2767 = load ptr, ptr %26, align 8, !tbaa !5
  %2768 = load i32, ptr %51, align 4, !tbaa !9
  %2769 = sext i32 %2768 to i64
  %2770 = getelementptr inbounds float, ptr %2767, i64 %2769
  %2771 = load float, ptr %2770, align 4, !tbaa !11
  %2772 = fdiv float %2766, %2771
  store float %2772, ptr %48, align 4, !tbaa !11
  %2773 = load ptr, ptr %18, align 8, !tbaa !5
  %2774 = load ptr, ptr %26, align 8, !tbaa !5
  %2775 = load ptr, ptr %19, align 8, !tbaa !5
  %2776 = load i32, ptr %2775, align 4, !tbaa !9
  %2777 = add nsw i32 %2776, 1
  %2778 = sext i32 %2777 to i64
  %2779 = getelementptr inbounds float, ptr %2774, i64 %2778
  %2780 = load ptr, ptr %20, align 8, !tbaa !5
  %2781 = load i32, ptr %51, align 4, !tbaa !9
  %2782 = load i32, ptr %29, align 4, !tbaa !9
  %2783 = mul nsw i32 %2781, %2782
  %2784 = add nsw i32 %2783, 1
  %2785 = sext i32 %2784 to i64
  %2786 = getelementptr inbounds float, ptr %2780, i64 %2785
  call void @saxpy_(ptr noundef %2773, ptr noundef %48, ptr noundef %2779, ptr noundef @c__1, ptr noundef %2786, ptr noundef @c__1)
  %2787 = load ptr, ptr %18, align 8, !tbaa !5
  %2788 = load ptr, ptr %20, align 8, !tbaa !5
  %2789 = load i32, ptr %51, align 4, !tbaa !9
  %2790 = load i32, ptr %29, align 4, !tbaa !9
  %2791 = mul nsw i32 %2789, %2790
  %2792 = add nsw i32 %2791, 1
  %2793 = sext i32 %2792 to i64
  %2794 = getelementptr inbounds float, ptr %2788, i64 %2793
  %2795 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %42, ptr noundef %2787, ptr noundef @c__1, ptr noundef %2794, ptr noundef %2795, ptr noundef %44)
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %2796 = load float, ptr %41, align 4, !tbaa !11
  %2797 = load float, ptr %41, align 4, !tbaa !11
  %2798 = fneg float %2796
  %2799 = call float @llvm.fmuladd.f32(float %2798, float %2797, float 1.000000e+00)
  store float %2799, ptr %39, align 4, !tbaa !11
  %2800 = load float, ptr %42, align 4, !tbaa !11
  %2801 = fpext float %2800 to double
  %2802 = load float, ptr %38, align 4, !tbaa !11
  %2803 = load float, ptr %39, align 4, !tbaa !11
  %2804 = fcmp oge float %2802, %2803
  br i1 %2804, label %2805, label %2807

2805:                                             ; preds = %2727
  %2806 = load float, ptr %38, align 4, !tbaa !11
  br label %2809

2807:                                             ; preds = %2727
  %2808 = load float, ptr %39, align 4, !tbaa !11
  br label %2809

2809:                                             ; preds = %2807, %2805
  %2810 = phi float [ %2806, %2805 ], [ %2808, %2807 ]
  %2811 = fpext float %2810 to double
  %2812 = call double @sqrt(double noundef %2811) #5
  %2813 = fmul double %2801, %2812
  %2814 = fptrunc double %2813 to float
  %2815 = load ptr, ptr %22, align 8, !tbaa !5
  %2816 = load i32, ptr %51, align 4, !tbaa !9
  %2817 = sext i32 %2816 to i64
  %2818 = getelementptr inbounds float, ptr %2815, i64 %2817
  store float %2814, ptr %2818, align 4, !tbaa !11
  %2819 = load float, ptr %79, align 4, !tbaa !11
  %2820 = load float, ptr %58, align 4, !tbaa !11
  %2821 = fcmp oge float %2819, %2820
  br i1 %2821, label %2822, label %2824

2822:                                             ; preds = %2809
  %2823 = load float, ptr %79, align 4, !tbaa !11
  br label %2826

2824:                                             ; preds = %2809
  %2825 = load float, ptr %58, align 4, !tbaa !11
  br label %2826

2826:                                             ; preds = %2824, %2822
  %2827 = phi float [ %2823, %2822 ], [ %2825, %2824 ]
  store float %2827, ptr %79, align 4, !tbaa !11
  br label %2828

2828:                                             ; preds = %2826, %2726
  %2829 = load ptr, ptr %22, align 8, !tbaa !5
  %2830 = load i32, ptr %51, align 4, !tbaa !9
  %2831 = sext i32 %2830 to i64
  %2832 = getelementptr inbounds float, ptr %2829, i64 %2831
  %2833 = load float, ptr %2832, align 4, !tbaa !11
  %2834 = load float, ptr %42, align 4, !tbaa !11
  %2835 = fdiv float %2833, %2834
  store float %2835, ptr %38, align 4, !tbaa !11
  %2836 = load float, ptr %38, align 4, !tbaa !11
  %2837 = load float, ptr %38, align 4, !tbaa !11
  %2838 = fmul float %2836, %2837
  %2839 = load float, ptr %98, align 4, !tbaa !11
  %2840 = fcmp ole float %2838, %2839
  br i1 %2840, label %2841, label %2897

2841:                                             ; preds = %2828
  %2842 = load float, ptr %42, align 4, !tbaa !11
  %2843 = load float, ptr %97, align 4, !tbaa !11
  %2844 = fcmp olt float %2842, %2843
  br i1 %2844, label %2845, label %2869

2845:                                             ; preds = %2841
  %2846 = load float, ptr %42, align 4, !tbaa !11
  %2847 = load float, ptr %70, align 4, !tbaa !11
  %2848 = fcmp ogt float %2846, %2847
  br i1 %2848, label %2849, label %2869

2849:                                             ; preds = %2845
  %2850 = load ptr, ptr %18, align 8, !tbaa !5
  %2851 = load ptr, ptr %20, align 8, !tbaa !5
  %2852 = load i32, ptr %51, align 4, !tbaa !9
  %2853 = load i32, ptr %29, align 4, !tbaa !9
  %2854 = mul nsw i32 %2852, %2853
  %2855 = add nsw i32 %2854, 1
  %2856 = sext i32 %2855 to i64
  %2857 = getelementptr inbounds float, ptr %2851, i64 %2856
  %2858 = call float @snrm2_(ptr noundef %2850, ptr noundef %2857, ptr noundef @c__1)
  %2859 = load ptr, ptr %26, align 8, !tbaa !5
  %2860 = load i32, ptr %51, align 4, !tbaa !9
  %2861 = sext i32 %2860 to i64
  %2862 = getelementptr inbounds float, ptr %2859, i64 %2861
  %2863 = load float, ptr %2862, align 4, !tbaa !11
  %2864 = fmul float %2858, %2863
  %2865 = load ptr, ptr %22, align 8, !tbaa !5
  %2866 = load i32, ptr %51, align 4, !tbaa !9
  %2867 = sext i32 %2866 to i64
  %2868 = getelementptr inbounds float, ptr %2865, i64 %2867
  store float %2864, ptr %2868, align 4, !tbaa !11
  br label %2896

2869:                                             ; preds = %2845, %2841
  store float 0.000000e+00, ptr %52, align 4, !tbaa !11
  store float 1.000000e+00, ptr %42, align 4, !tbaa !11
  %2870 = load ptr, ptr %18, align 8, !tbaa !5
  %2871 = load ptr, ptr %20, align 8, !tbaa !5
  %2872 = load i32, ptr %51, align 4, !tbaa !9
  %2873 = load i32, ptr %29, align 4, !tbaa !9
  %2874 = mul nsw i32 %2872, %2873
  %2875 = add nsw i32 %2874, 1
  %2876 = sext i32 %2875 to i64
  %2877 = getelementptr inbounds float, ptr %2871, i64 %2876
  call void @slassq_(ptr noundef %2870, ptr noundef %2877, ptr noundef @c__1, ptr noundef %52, ptr noundef %42)
  %2878 = load float, ptr %52, align 4, !tbaa !11
  %2879 = fpext float %2878 to double
  %2880 = load float, ptr %42, align 4, !tbaa !11
  %2881 = fpext float %2880 to double
  %2882 = call double @sqrt(double noundef %2881) #5
  %2883 = fmul double %2879, %2882
  %2884 = load ptr, ptr %26, align 8, !tbaa !5
  %2885 = load i32, ptr %51, align 4, !tbaa !9
  %2886 = sext i32 %2885 to i64
  %2887 = getelementptr inbounds float, ptr %2884, i64 %2886
  %2888 = load float, ptr %2887, align 4, !tbaa !11
  %2889 = fpext float %2888 to double
  %2890 = fmul double %2883, %2889
  %2891 = fptrunc double %2890 to float
  %2892 = load ptr, ptr %22, align 8, !tbaa !5
  %2893 = load i32, ptr %51, align 4, !tbaa !9
  %2894 = sext i32 %2893 to i64
  %2895 = getelementptr inbounds float, ptr %2892, i64 %2894
  store float %2891, ptr %2895, align 4, !tbaa !11
  br label %2896

2896:                                             ; preds = %2869, %2849
  br label %2897

2897:                                             ; preds = %2896, %2828
  %2898 = load float, ptr %40, align 4, !tbaa !11
  %2899 = load float, ptr %47, align 4, !tbaa !11
  %2900 = fdiv float %2898, %2899
  %2901 = load float, ptr %98, align 4, !tbaa !11
  %2902 = fcmp ole float %2900, %2901
  br i1 %2902, label %2903, label %2956

2903:                                             ; preds = %2897
  %2904 = load float, ptr %40, align 4, !tbaa !11
  %2905 = load float, ptr %97, align 4, !tbaa !11
  %2906 = fcmp olt float %2904, %2905
  br i1 %2906, label %2907, label %2927

2907:                                             ; preds = %2903
  %2908 = load float, ptr %40, align 4, !tbaa !11
  %2909 = load float, ptr %70, align 4, !tbaa !11
  %2910 = fcmp ogt float %2908, %2909
  br i1 %2910, label %2911, label %2927

2911:                                             ; preds = %2907
  %2912 = load ptr, ptr %18, align 8, !tbaa !5
  %2913 = load ptr, ptr %20, align 8, !tbaa !5
  %2914 = load i32, ptr %50, align 4, !tbaa !9
  %2915 = load i32, ptr %29, align 4, !tbaa !9
  %2916 = mul nsw i32 %2914, %2915
  %2917 = add nsw i32 %2916, 1
  %2918 = sext i32 %2917 to i64
  %2919 = getelementptr inbounds float, ptr %2913, i64 %2918
  %2920 = call float @snrm2_(ptr noundef %2912, ptr noundef %2919, ptr noundef @c__1)
  %2921 = load ptr, ptr %26, align 8, !tbaa !5
  %2922 = load i32, ptr %50, align 4, !tbaa !9
  %2923 = sext i32 %2922 to i64
  %2924 = getelementptr inbounds float, ptr %2921, i64 %2923
  %2925 = load float, ptr %2924, align 4, !tbaa !11
  %2926 = fmul float %2920, %2925
  store float %2926, ptr %40, align 4, !tbaa !11
  br label %2950

2927:                                             ; preds = %2907, %2903
  store float 0.000000e+00, ptr %52, align 4, !tbaa !11
  store float 1.000000e+00, ptr %40, align 4, !tbaa !11
  %2928 = load ptr, ptr %18, align 8, !tbaa !5
  %2929 = load ptr, ptr %20, align 8, !tbaa !5
  %2930 = load i32, ptr %50, align 4, !tbaa !9
  %2931 = load i32, ptr %29, align 4, !tbaa !9
  %2932 = mul nsw i32 %2930, %2931
  %2933 = add nsw i32 %2932, 1
  %2934 = sext i32 %2933 to i64
  %2935 = getelementptr inbounds float, ptr %2929, i64 %2934
  call void @slassq_(ptr noundef %2928, ptr noundef %2935, ptr noundef @c__1, ptr noundef %52, ptr noundef %40)
  %2936 = load float, ptr %52, align 4, !tbaa !11
  %2937 = fpext float %2936 to double
  %2938 = load float, ptr %40, align 4, !tbaa !11
  %2939 = fpext float %2938 to double
  %2940 = call double @sqrt(double noundef %2939) #5
  %2941 = fmul double %2937, %2940
  %2942 = load ptr, ptr %26, align 8, !tbaa !5
  %2943 = load i32, ptr %50, align 4, !tbaa !9
  %2944 = sext i32 %2943 to i64
  %2945 = getelementptr inbounds float, ptr %2942, i64 %2944
  %2946 = load float, ptr %2945, align 4, !tbaa !11
  %2947 = fpext float %2946 to double
  %2948 = fmul double %2941, %2947
  %2949 = fptrunc double %2948 to float
  store float %2949, ptr %40, align 4, !tbaa !11
  br label %2950

2950:                                             ; preds = %2927, %2911
  %2951 = load float, ptr %40, align 4, !tbaa !11
  %2952 = load ptr, ptr %22, align 8, !tbaa !5
  %2953 = load i32, ptr %50, align 4, !tbaa !9
  %2954 = sext i32 %2953 to i64
  %2955 = getelementptr inbounds float, ptr %2952, i64 %2954
  store float %2951, ptr %2955, align 4, !tbaa !11
  br label %2956

2956:                                             ; preds = %2950, %2897
  br label %2966

2957:                                             ; preds = %1939
  %2958 = load i32, ptr %80, align 4, !tbaa !9
  %2959 = icmp eq i32 %2958, 0
  br i1 %2959, label %2960, label %2963

2960:                                             ; preds = %2957
  %2961 = load i32, ptr %82, align 4, !tbaa !9
  %2962 = add nsw i32 %2961, 1
  store i32 %2962, ptr %82, align 4, !tbaa !9
  br label %2963

2963:                                             ; preds = %2960, %2957
  %2964 = load i32, ptr %46, align 4, !tbaa !9
  %2965 = add nsw i32 %2964, 1
  store i32 %2965, ptr %46, align 4, !tbaa !9
  br label %2966

2966:                                             ; preds = %2963, %2956
  br label %2976

2967:                                             ; preds = %1708
  %2968 = load i32, ptr %80, align 4, !tbaa !9
  %2969 = icmp eq i32 %2968, 0
  br i1 %2969, label %2970, label %2973

2970:                                             ; preds = %2967
  %2971 = load i32, ptr %82, align 4, !tbaa !9
  %2972 = add nsw i32 %2971, 1
  store i32 %2972, ptr %82, align 4, !tbaa !9
  br label %2973

2973:                                             ; preds = %2970, %2967
  %2974 = load i32, ptr %46, align 4, !tbaa !9
  %2975 = add nsw i32 %2974, 1
  store i32 %2975, ptr %46, align 4, !tbaa !9
  br label %2976

2976:                                             ; preds = %2973, %2966
  %2977 = load i32, ptr %49, align 4, !tbaa !9
  %2978 = load i32, ptr %75, align 4, !tbaa !9
  %2979 = icmp sle i32 %2977, %2978
  br i1 %2979, label %2980, label %2991

2980:                                             ; preds = %2976
  %2981 = load i32, ptr %46, align 4, !tbaa !9
  %2982 = load i32, ptr %99, align 4, !tbaa !9
  %2983 = icmp sgt i32 %2981, %2982
  br i1 %2983, label %2984, label %2991

2984:                                             ; preds = %2980
  %2985 = load i32, ptr %80, align 4, !tbaa !9
  %2986 = icmp eq i32 %2985, 0
  br i1 %2986, label %2987, label %2990

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

2990:                                             ; preds = %2987, %2984
  store i32 0, ptr %82, align 4, !tbaa !9
  br label %2996

2991:                                             ; preds = %2980, %2976
  br label %2992

2992:                                             ; preds = %2991
  %2993 = load i32, ptr %51, align 4, !tbaa !9
  %2994 = add nsw i32 %2993, 1
  store i32 %2994, ptr %51, align 4, !tbaa !9
  br label %1704, !llvm.loop !22

2995:                                             ; preds = %1704
  br label %2996

2996:                                             ; preds = %2995, %2990
  %2997 = load float, ptr %40, align 4, !tbaa !11
  %2998 = load ptr, ptr %22, align 8, !tbaa !5
  %2999 = load i32, ptr %50, align 4, !tbaa !9
  %3000 = sext i32 %2999 to i64
  %3001 = getelementptr inbounds float, ptr %2998, i64 %3000
  store float %2997, ptr %3001, align 4, !tbaa !11
  br label %3034

3002:                                             ; preds = %1683
  %3003 = load float, ptr %40, align 4, !tbaa !11
  %3004 = load ptr, ptr %22, align 8, !tbaa !5
  %3005 = load i32, ptr %50, align 4, !tbaa !9
  %3006 = sext i32 %3005 to i64
  %3007 = getelementptr inbounds float, ptr %3004, i64 %3006
  store float %3003, ptr %3007, align 4, !tbaa !11
  %3008 = load i32, ptr %80, align 4, !tbaa !9
  %3009 = icmp eq i32 %3008, 0
  br i1 %3009, label %3010, label %3033

3010:                                             ; preds = %3002
  %3011 = load float, ptr %40, align 4, !tbaa !11
  %3012 = fcmp oeq float %3011, 0.000000e+00
  br i1 %3012, label %3013, label %3033

3013:                                             ; preds = %3010
  %3014 = load i32, ptr %88, align 4, !tbaa !9
  %3015 = load i32, ptr %86, align 4, !tbaa !9
  %3016 = add nsw i32 %3014, %3015
  %3017 = sub nsw i32 %3016, 1
  store i32 %3017, ptr %36, align 4, !tbaa !9
  %3018 = load i32, ptr %82, align 4, !tbaa !9
  %3019 = load i32, ptr %36, align 4, !tbaa !9
  %3020 = load ptr, ptr %19, align 8, !tbaa !5
  %3021 = load i32, ptr %3020, align 4, !tbaa !9
  %3022 = icmp sle i32 %3019, %3021
  br i1 %3022, label %3023, label %3025

3023:                                             ; preds = %3013
  %3024 = load i32, ptr %36, align 4, !tbaa !9
  br label %3028

3025:                                             ; preds = %3013
  %3026 = load ptr, ptr %19, align 8, !tbaa !5
  %3027 = load i32, ptr %3026, align 4, !tbaa !9
  br label %3028

3028:                                             ; preds = %3025, %3023
  %3029 = phi i32 [ %3024, %3023 ], [ %3027, %3025 ]
  %3030 = add nsw i32 %3018, %3029
  %3031 = load i32, ptr %50, align 4, !tbaa !9
  %3032 = sub nsw i32 %3030, %3031
  store i32 %3032, ptr %82, align 4, !tbaa !9
  br label %3033

3033:                                             ; preds = %3028, %3010, %3002
  br label %3034

3034:                                             ; preds = %3033, %2996
  br label %3035

3035:                                             ; preds = %3034
  %3036 = load i32, ptr %50, align 4, !tbaa !9
  %3037 = add nsw i32 %3036, 1
  store i32 %3037, ptr %50, align 4, !tbaa !9
  br label %1512, !llvm.loop !23

3038:                                             ; preds = %1512
  br label %3039

3039:                                             ; preds = %3038
  %3040 = load i32, ptr %80, align 4, !tbaa !9
  %3041 = add nsw i32 %3040, 1
  store i32 %3041, ptr %80, align 4, !tbaa !9
  br label %1485, !llvm.loop !24

3042:                                             ; preds = %1485
  %3043 = load i32, ptr %89, align 4, !tbaa !9
  %3044 = sub nsw i32 %3043, 1
  %3045 = load i32, ptr %86, align 4, !tbaa !9
  %3046 = mul nsw i32 %3044, %3045
  %3047 = add nsw i32 %3046, 1
  store i32 %3047, ptr %88, align 4, !tbaa !9
  %3048 = load i32, ptr %91, align 4, !tbaa !9
  store i32 %3048, ptr %34, align 4, !tbaa !9
  %3049 = load i32, ptr %89, align 4, !tbaa !9
  %3050 = add nsw i32 %3049, 1
  store i32 %3050, ptr %84, align 4, !tbaa !9
  br label %3051

3051:                                             ; preds = %4587, %3042
  %3052 = load i32, ptr %84, align 4, !tbaa !9
  %3053 = load i32, ptr %34, align 4, !tbaa !9
  %3054 = icmp sle i32 %3052, %3053
  br i1 %3054, label %3055, label %4590

3055:                                             ; preds = %3051
  %3056 = load i32, ptr %84, align 4, !tbaa !9
  %3057 = sub nsw i32 %3056, 1
  %3058 = load i32, ptr %86, align 4, !tbaa !9
  %3059 = mul nsw i32 %3057, %3058
  %3060 = add nsw i32 %3059, 1
  store i32 %3060, ptr %90, align 4, !tbaa !9
  store i32 0, ptr %74, align 4, !tbaa !9
  %3061 = load i32, ptr %88, align 4, !tbaa !9
  %3062 = load i32, ptr %86, align 4, !tbaa !9
  %3063 = add nsw i32 %3061, %3062
  %3064 = sub nsw i32 %3063, 1
  store i32 %3064, ptr %36, align 4, !tbaa !9
  %3065 = load i32, ptr %36, align 4, !tbaa !9
  %3066 = load ptr, ptr %19, align 8, !tbaa !5
  %3067 = load i32, ptr %3066, align 4, !tbaa !9
  %3068 = icmp sle i32 %3065, %3067
  br i1 %3068, label %3069, label %3071

3069:                                             ; preds = %3055
  %3070 = load i32, ptr %36, align 4, !tbaa !9
  br label %3074

3071:                                             ; preds = %3055
  %3072 = load ptr, ptr %19, align 8, !tbaa !5
  %3073 = load i32, ptr %3072, align 4, !tbaa !9
  br label %3074

3074:                                             ; preds = %3071, %3069
  %3075 = phi i32 [ %3070, %3069 ], [ %3073, %3071 ]
  store i32 %3075, ptr %35, align 4, !tbaa !9
  %3076 = load i32, ptr %88, align 4, !tbaa !9
  store i32 %3076, ptr %50, align 4, !tbaa !9
  br label %3077

3077:                                             ; preds = %4583, %3074
  %3078 = load i32, ptr %50, align 4, !tbaa !9
  %3079 = load i32, ptr %35, align 4, !tbaa !9
  %3080 = icmp sle i32 %3078, %3079
  br i1 %3080, label %3081, label %4586

3081:                                             ; preds = %3077
  %3082 = load ptr, ptr %22, align 8, !tbaa !5
  %3083 = load i32, ptr %50, align 4, !tbaa !9
  %3084 = sext i32 %3083 to i64
  %3085 = getelementptr inbounds float, ptr %3082, i64 %3084
  %3086 = load float, ptr %3085, align 4, !tbaa !11
  store float %3086, ptr %40, align 4, !tbaa !11
  %3087 = load float, ptr %40, align 4, !tbaa !11
  %3088 = fcmp ogt float %3087, 0.000000e+00
  br i1 %3088, label %3089, label %4553

3089:                                             ; preds = %3081
  store i32 0, ptr %46, align 4, !tbaa !9
  %3090 = load i32, ptr %90, align 4, !tbaa !9
  %3091 = load i32, ptr %86, align 4, !tbaa !9
  %3092 = add nsw i32 %3090, %3091
  %3093 = sub nsw i32 %3092, 1
  store i32 %3093, ptr %37, align 4, !tbaa !9
  %3094 = load i32, ptr %37, align 4, !tbaa !9
  %3095 = load ptr, ptr %19, align 8, !tbaa !5
  %3096 = load i32, ptr %3095, align 4, !tbaa !9
  %3097 = icmp sle i32 %3094, %3096
  br i1 %3097, label %3098, label %3100

3098:                                             ; preds = %3089
  %3099 = load i32, ptr %37, align 4, !tbaa !9
  br label %3103

3100:                                             ; preds = %3089
  %3101 = load ptr, ptr %19, align 8, !tbaa !5
  %3102 = load i32, ptr %3101, align 4, !tbaa !9
  br label %3103

3103:                                             ; preds = %3100, %3098
  %3104 = phi i32 [ %3099, %3098 ], [ %3102, %3100 ]
  store i32 %3104, ptr %36, align 4, !tbaa !9
  %3105 = load i32, ptr %90, align 4, !tbaa !9
  store i32 %3105, ptr %51, align 4, !tbaa !9
  br label %3106

3106:                                             ; preds = %4543, %3103
  %3107 = load i32, ptr %51, align 4, !tbaa !9
  %3108 = load i32, ptr %36, align 4, !tbaa !9
  %3109 = icmp sle i32 %3107, %3108
  br i1 %3109, label %3110, label %4546

3110:                                             ; preds = %3106
  %3111 = load ptr, ptr %22, align 8, !tbaa !5
  %3112 = load i32, ptr %51, align 4, !tbaa !9
  %3113 = sext i32 %3112 to i64
  %3114 = getelementptr inbounds float, ptr %3111, i64 %3113
  %3115 = load float, ptr %3114, align 4, !tbaa !11
  store float %3115, ptr %42, align 4, !tbaa !11
  %3116 = load float, ptr %42, align 4, !tbaa !11
  %3117 = fcmp ogt float %3116, 0.000000e+00
  br i1 %3117, label %3118, label %4510

3118:                                             ; preds = %3110
  %3119 = load float, ptr %40, align 4, !tbaa !11
  store float %3119, ptr %47, align 4, !tbaa !11
  %3120 = load float, ptr %42, align 4, !tbaa !11
  %3121 = fcmp oge float %3120, 1.000000e+00
  br i1 %3121, label %3122, label %3230

3122:                                             ; preds = %3118
  %3123 = load float, ptr %40, align 4, !tbaa !11
  %3124 = load float, ptr %42, align 4, !tbaa !11
  %3125 = fcmp oge float %3123, %3124
  br i1 %3125, label %3126, label %3133

3126:                                             ; preds = %3122
  %3127 = load float, ptr %57, align 4, !tbaa !11
  %3128 = load float, ptr %40, align 4, !tbaa !11
  %3129 = fmul float %3127, %3128
  %3130 = load float, ptr %42, align 4, !tbaa !11
  %3131 = fcmp ole float %3129, %3130
  %3132 = zext i1 %3131 to i32
  store i32 %3132, ptr %67, align 4, !tbaa !9
  br label %3140

3133:                                             ; preds = %3122
  %3134 = load float, ptr %57, align 4, !tbaa !11
  %3135 = load float, ptr %42, align 4, !tbaa !11
  %3136 = fmul float %3134, %3135
  %3137 = load float, ptr %40, align 4, !tbaa !11
  %3138 = fcmp ole float %3136, %3137
  %3139 = zext i1 %3138 to i32
  store i32 %3139, ptr %67, align 4, !tbaa !9
  br label %3140

3140:                                             ; preds = %3133, %3126
  %3141 = load float, ptr %40, align 4, !tbaa !11
  %3142 = load float, ptr %85, align 4, !tbaa !11
  %3143 = load float, ptr %42, align 4, !tbaa !11
  %3144 = fdiv float %3142, %3143
  %3145 = fcmp olt float %3141, %3144
  br i1 %3145, label %3146, label %3179

3146:                                             ; preds = %3140
  %3147 = load ptr, ptr %18, align 8, !tbaa !5
  %3148 = load ptr, ptr %20, align 8, !tbaa !5
  %3149 = load i32, ptr %50, align 4, !tbaa !9
  %3150 = load i32, ptr %29, align 4, !tbaa !9
  %3151 = mul nsw i32 %3149, %3150
  %3152 = add nsw i32 %3151, 1
  %3153 = sext i32 %3152 to i64
  %3154 = getelementptr inbounds float, ptr %3148, i64 %3153
  %3155 = load ptr, ptr %20, align 8, !tbaa !5
  %3156 = load i32, ptr %51, align 4, !tbaa !9
  %3157 = load i32, ptr %29, align 4, !tbaa !9
  %3158 = mul nsw i32 %3156, %3157
  %3159 = add nsw i32 %3158, 1
  %3160 = sext i32 %3159 to i64
  %3161 = getelementptr inbounds float, ptr %3155, i64 %3160
  %3162 = call float @sdot_(ptr noundef %3147, ptr noundef %3154, ptr noundef @c__1, ptr noundef %3161, ptr noundef @c__1)
  %3163 = load ptr, ptr %26, align 8, !tbaa !5
  %3164 = load i32, ptr %50, align 4, !tbaa !9
  %3165 = sext i32 %3164 to i64
  %3166 = getelementptr inbounds float, ptr %3163, i64 %3165
  %3167 = load float, ptr %3166, align 4, !tbaa !11
  %3168 = fmul float %3162, %3167
  %3169 = load ptr, ptr %26, align 8, !tbaa !5
  %3170 = load i32, ptr %51, align 4, !tbaa !9
  %3171 = sext i32 %3170 to i64
  %3172 = getelementptr inbounds float, ptr %3169, i64 %3171
  %3173 = load float, ptr %3172, align 4, !tbaa !11
  %3174 = fmul float %3168, %3173
  %3175 = load float, ptr %42, align 4, !tbaa !11
  %3176 = fdiv float %3174, %3175
  %3177 = load float, ptr %40, align 4, !tbaa !11
  %3178 = fdiv float %3176, %3177
  store float %3178, ptr %41, align 4, !tbaa !11
  br label %3229

3179:                                             ; preds = %3140
  %3180 = load ptr, ptr %18, align 8, !tbaa !5
  %3181 = load ptr, ptr %20, align 8, !tbaa !5
  %3182 = load i32, ptr %50, align 4, !tbaa !9
  %3183 = load i32, ptr %29, align 4, !tbaa !9
  %3184 = mul nsw i32 %3182, %3183
  %3185 = add nsw i32 %3184, 1
  %3186 = sext i32 %3185 to i64
  %3187 = getelementptr inbounds float, ptr %3181, i64 %3186
  %3188 = load ptr, ptr %26, align 8, !tbaa !5
  %3189 = load ptr, ptr %19, align 8, !tbaa !5
  %3190 = load i32, ptr %3189, align 4, !tbaa !9
  %3191 = add nsw i32 %3190, 1
  %3192 = sext i32 %3191 to i64
  %3193 = getelementptr inbounds float, ptr %3188, i64 %3192
  call void @scopy_(ptr noundef %3180, ptr noundef %3187, ptr noundef @c__1, ptr noundef %3193, ptr noundef @c__1)
  %3194 = load ptr, ptr %26, align 8, !tbaa !5
  %3195 = load i32, ptr %50, align 4, !tbaa !9
  %3196 = sext i32 %3195 to i64
  %3197 = getelementptr inbounds float, ptr %3194, i64 %3196
  %3198 = load ptr, ptr %18, align 8, !tbaa !5
  %3199 = load ptr, ptr %26, align 8, !tbaa !5
  %3200 = load ptr, ptr %19, align 8, !tbaa !5
  %3201 = load i32, ptr %3200, align 4, !tbaa !9
  %3202 = add nsw i32 %3201, 1
  %3203 = sext i32 %3202 to i64
  %3204 = getelementptr inbounds float, ptr %3199, i64 %3203
  %3205 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %40, ptr noundef %3197, ptr noundef %3198, ptr noundef @c__1, ptr noundef %3204, ptr noundef %3205, ptr noundef %44)
  %3206 = load ptr, ptr %18, align 8, !tbaa !5
  %3207 = load ptr, ptr %26, align 8, !tbaa !5
  %3208 = load ptr, ptr %19, align 8, !tbaa !5
  %3209 = load i32, ptr %3208, align 4, !tbaa !9
  %3210 = add nsw i32 %3209, 1
  %3211 = sext i32 %3210 to i64
  %3212 = getelementptr inbounds float, ptr %3207, i64 %3211
  %3213 = load ptr, ptr %20, align 8, !tbaa !5
  %3214 = load i32, ptr %51, align 4, !tbaa !9
  %3215 = load i32, ptr %29, align 4, !tbaa !9
  %3216 = mul nsw i32 %3214, %3215
  %3217 = add nsw i32 %3216, 1
  %3218 = sext i32 %3217 to i64
  %3219 = getelementptr inbounds float, ptr %3213, i64 %3218
  %3220 = call float @sdot_(ptr noundef %3206, ptr noundef %3212, ptr noundef @c__1, ptr noundef %3219, ptr noundef @c__1)
  %3221 = load ptr, ptr %26, align 8, !tbaa !5
  %3222 = load i32, ptr %51, align 4, !tbaa !9
  %3223 = sext i32 %3222 to i64
  %3224 = getelementptr inbounds float, ptr %3221, i64 %3223
  %3225 = load float, ptr %3224, align 4, !tbaa !11
  %3226 = fmul float %3220, %3225
  %3227 = load float, ptr %42, align 4, !tbaa !11
  %3228 = fdiv float %3226, %3227
  store float %3228, ptr %41, align 4, !tbaa !11
  br label %3229

3229:                                             ; preds = %3179, %3146
  br label %3338

3230:                                             ; preds = %3118
  %3231 = load float, ptr %40, align 4, !tbaa !11
  %3232 = load float, ptr %42, align 4, !tbaa !11
  %3233 = fcmp oge float %3231, %3232
  br i1 %3233, label %3234, label %3241

3234:                                             ; preds = %3230
  %3235 = load float, ptr %40, align 4, !tbaa !11
  %3236 = load float, ptr %42, align 4, !tbaa !11
  %3237 = load float, ptr %57, align 4, !tbaa !11
  %3238 = fdiv float %3236, %3237
  %3239 = fcmp ole float %3235, %3238
  %3240 = zext i1 %3239 to i32
  store i32 %3240, ptr %67, align 4, !tbaa !9
  br label %3248

3241:                                             ; preds = %3230
  %3242 = load float, ptr %42, align 4, !tbaa !11
  %3243 = load float, ptr %40, align 4, !tbaa !11
  %3244 = load float, ptr %57, align 4, !tbaa !11
  %3245 = fdiv float %3243, %3244
  %3246 = fcmp ole float %3242, %3245
  %3247 = zext i1 %3246 to i32
  store i32 %3247, ptr %67, align 4, !tbaa !9
  br label %3248

3248:                                             ; preds = %3241, %3234
  %3249 = load float, ptr %40, align 4, !tbaa !11
  %3250 = load float, ptr %57, align 4, !tbaa !11
  %3251 = load float, ptr %42, align 4, !tbaa !11
  %3252 = fdiv float %3250, %3251
  %3253 = fcmp ogt float %3249, %3252
  br i1 %3253, label %3254, label %3287

3254:                                             ; preds = %3248
  %3255 = load ptr, ptr %18, align 8, !tbaa !5
  %3256 = load ptr, ptr %20, align 8, !tbaa !5
  %3257 = load i32, ptr %50, align 4, !tbaa !9
  %3258 = load i32, ptr %29, align 4, !tbaa !9
  %3259 = mul nsw i32 %3257, %3258
  %3260 = add nsw i32 %3259, 1
  %3261 = sext i32 %3260 to i64
  %3262 = getelementptr inbounds float, ptr %3256, i64 %3261
  %3263 = load ptr, ptr %20, align 8, !tbaa !5
  %3264 = load i32, ptr %51, align 4, !tbaa !9
  %3265 = load i32, ptr %29, align 4, !tbaa !9
  %3266 = mul nsw i32 %3264, %3265
  %3267 = add nsw i32 %3266, 1
  %3268 = sext i32 %3267 to i64
  %3269 = getelementptr inbounds float, ptr %3263, i64 %3268
  %3270 = call float @sdot_(ptr noundef %3255, ptr noundef %3262, ptr noundef @c__1, ptr noundef %3269, ptr noundef @c__1)
  %3271 = load ptr, ptr %26, align 8, !tbaa !5
  %3272 = load i32, ptr %50, align 4, !tbaa !9
  %3273 = sext i32 %3272 to i64
  %3274 = getelementptr inbounds float, ptr %3271, i64 %3273
  %3275 = load float, ptr %3274, align 4, !tbaa !11
  %3276 = fmul float %3270, %3275
  %3277 = load ptr, ptr %26, align 8, !tbaa !5
  %3278 = load i32, ptr %51, align 4, !tbaa !9
  %3279 = sext i32 %3278 to i64
  %3280 = getelementptr inbounds float, ptr %3277, i64 %3279
  %3281 = load float, ptr %3280, align 4, !tbaa !11
  %3282 = fmul float %3276, %3281
  %3283 = load float, ptr %42, align 4, !tbaa !11
  %3284 = fdiv float %3282, %3283
  %3285 = load float, ptr %40, align 4, !tbaa !11
  %3286 = fdiv float %3284, %3285
  store float %3286, ptr %41, align 4, !tbaa !11
  br label %3337

3287:                                             ; preds = %3248
  %3288 = load ptr, ptr %18, align 8, !tbaa !5
  %3289 = load ptr, ptr %20, align 8, !tbaa !5
  %3290 = load i32, ptr %51, align 4, !tbaa !9
  %3291 = load i32, ptr %29, align 4, !tbaa !9
  %3292 = mul nsw i32 %3290, %3291
  %3293 = add nsw i32 %3292, 1
  %3294 = sext i32 %3293 to i64
  %3295 = getelementptr inbounds float, ptr %3289, i64 %3294
  %3296 = load ptr, ptr %26, align 8, !tbaa !5
  %3297 = load ptr, ptr %19, align 8, !tbaa !5
  %3298 = load i32, ptr %3297, align 4, !tbaa !9
  %3299 = add nsw i32 %3298, 1
  %3300 = sext i32 %3299 to i64
  %3301 = getelementptr inbounds float, ptr %3296, i64 %3300
  call void @scopy_(ptr noundef %3288, ptr noundef %3295, ptr noundef @c__1, ptr noundef %3301, ptr noundef @c__1)
  %3302 = load ptr, ptr %26, align 8, !tbaa !5
  %3303 = load i32, ptr %51, align 4, !tbaa !9
  %3304 = sext i32 %3303 to i64
  %3305 = getelementptr inbounds float, ptr %3302, i64 %3304
  %3306 = load ptr, ptr %18, align 8, !tbaa !5
  %3307 = load ptr, ptr %26, align 8, !tbaa !5
  %3308 = load ptr, ptr %19, align 8, !tbaa !5
  %3309 = load i32, ptr %3308, align 4, !tbaa !9
  %3310 = add nsw i32 %3309, 1
  %3311 = sext i32 %3310 to i64
  %3312 = getelementptr inbounds float, ptr %3307, i64 %3311
  %3313 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %42, ptr noundef %3305, ptr noundef %3306, ptr noundef @c__1, ptr noundef %3312, ptr noundef %3313, ptr noundef %44)
  %3314 = load ptr, ptr %18, align 8, !tbaa !5
  %3315 = load ptr, ptr %26, align 8, !tbaa !5
  %3316 = load ptr, ptr %19, align 8, !tbaa !5
  %3317 = load i32, ptr %3316, align 4, !tbaa !9
  %3318 = add nsw i32 %3317, 1
  %3319 = sext i32 %3318 to i64
  %3320 = getelementptr inbounds float, ptr %3315, i64 %3319
  %3321 = load ptr, ptr %20, align 8, !tbaa !5
  %3322 = load i32, ptr %50, align 4, !tbaa !9
  %3323 = load i32, ptr %29, align 4, !tbaa !9
  %3324 = mul nsw i32 %3322, %3323
  %3325 = add nsw i32 %3324, 1
  %3326 = sext i32 %3325 to i64
  %3327 = getelementptr inbounds float, ptr %3321, i64 %3326
  %3328 = call float @sdot_(ptr noundef %3314, ptr noundef %3320, ptr noundef @c__1, ptr noundef %3327, ptr noundef @c__1)
  %3329 = load ptr, ptr %26, align 8, !tbaa !5
  %3330 = load i32, ptr %50, align 4, !tbaa !9
  %3331 = sext i32 %3330 to i64
  %3332 = getelementptr inbounds float, ptr %3329, i64 %3331
  %3333 = load float, ptr %3332, align 4, !tbaa !11
  %3334 = fmul float %3328, %3333
  %3335 = load float, ptr %40, align 4, !tbaa !11
  %3336 = fdiv float %3334, %3335
  store float %3336, ptr %41, align 4, !tbaa !11
  br label %3337

3337:                                             ; preds = %3287, %3254
  br label %3338

3338:                                             ; preds = %3337, %3229
  %3339 = load float, ptr %77, align 4, !tbaa !11
  store float %3339, ptr %38, align 4, !tbaa !11
  %3340 = load float, ptr %41, align 4, !tbaa !11
  %3341 = fcmp oge float %3340, 0.000000e+00
  br i1 %3341, label %3342, label %3344

3342:                                             ; preds = %3338
  %3343 = load float, ptr %41, align 4, !tbaa !11
  br label %3347

3344:                                             ; preds = %3338
  %3345 = load float, ptr %41, align 4, !tbaa !11
  %3346 = fneg float %3345
  br label %3347

3347:                                             ; preds = %3344, %3342
  %3348 = phi float [ %3343, %3342 ], [ %3346, %3344 ]
  store float %3348, ptr %39, align 4, !tbaa !11
  %3349 = load float, ptr %38, align 4, !tbaa !11
  %3350 = load float, ptr %39, align 4, !tbaa !11
  %3351 = fcmp oge float %3349, %3350
  br i1 %3351, label %3352, label %3354

3352:                                             ; preds = %3347
  %3353 = load float, ptr %38, align 4, !tbaa !11
  br label %3356

3354:                                             ; preds = %3347
  %3355 = load float, ptr %39, align 4, !tbaa !11
  br label %3356

3356:                                             ; preds = %3354, %3352
  %3357 = phi float [ %3353, %3352 ], [ %3355, %3354 ]
  store float %3357, ptr %77, align 4, !tbaa !11
  %3358 = load float, ptr %41, align 4, !tbaa !11
  %3359 = fcmp oge float %3358, 0.000000e+00
  br i1 %3359, label %3360, label %3362

3360:                                             ; preds = %3356
  %3361 = load float, ptr %41, align 4, !tbaa !11
  br label %3365

3362:                                             ; preds = %3356
  %3363 = load float, ptr %41, align 4, !tbaa !11
  %3364 = fneg float %3363
  br label %3365

3365:                                             ; preds = %3362, %3360
  %3366 = phi float [ %3361, %3360 ], [ %3364, %3362 ]
  %3367 = load float, ptr %94, align 4, !tbaa !11
  %3368 = fcmp ogt float %3366, %3367
  br i1 %3368, label %3369, label %4502

3369:                                             ; preds = %3365
  store i32 0, ptr %82, align 4, !tbaa !9
  store i32 0, ptr %46, align 4, !tbaa !9
  %3370 = load i32, ptr %83, align 4, !tbaa !9
  %3371 = add nsw i32 %3370, 1
  store i32 %3371, ptr %83, align 4, !tbaa !9
  %3372 = load i32, ptr %67, align 4, !tbaa !9
  %3373 = icmp ne i32 %3372, 0
  br i1 %3373, label %3374, label %4163

3374:                                             ; preds = %3369
  %3375 = load float, ptr %42, align 4, !tbaa !11
  %3376 = load float, ptr %40, align 4, !tbaa !11
  %3377 = fdiv float %3375, %3376
  store float %3377, ptr %55, align 4, !tbaa !11
  %3378 = load float, ptr %40, align 4, !tbaa !11
  %3379 = load float, ptr %42, align 4, !tbaa !11
  %3380 = fdiv float %3378, %3379
  store float %3380, ptr %54, align 4, !tbaa !11
  %3381 = load float, ptr %55, align 4, !tbaa !11
  %3382 = load float, ptr %54, align 4, !tbaa !11
  %3383 = fsub float %3381, %3382
  store float %3383, ptr %38, align 4, !tbaa !11
  %3384 = load float, ptr %38, align 4, !tbaa !11
  %3385 = fcmp oge float %3384, 0.000000e+00
  br i1 %3385, label %3386, label %3388

3386:                                             ; preds = %3374
  %3387 = load float, ptr %38, align 4, !tbaa !11
  br label %3391

3388:                                             ; preds = %3374
  %3389 = load float, ptr %38, align 4, !tbaa !11
  %3390 = fneg float %3389
  br label %3391

3391:                                             ; preds = %3388, %3386
  %3392 = phi float [ %3387, %3386 ], [ %3390, %3388 ]
  %3393 = fmul float %3392, -5.000000e-01
  %3394 = load float, ptr %41, align 4, !tbaa !11
  %3395 = fdiv float %3393, %3394
  store float %3395, ptr %56, align 4, !tbaa !11
  %3396 = load float, ptr %42, align 4, !tbaa !11
  %3397 = load float, ptr %47, align 4, !tbaa !11
  %3398 = fcmp ogt float %3396, %3397
  br i1 %3398, label %3399, label %3402

3399:                                             ; preds = %3391
  %3400 = load float, ptr %56, align 4, !tbaa !11
  %3401 = fneg float %3400
  store float %3401, ptr %56, align 4, !tbaa !11
  br label %3402

3402:                                             ; preds = %3399, %3391
  %3403 = load float, ptr %56, align 4, !tbaa !11
  %3404 = fcmp oge float %3403, 0.000000e+00
  br i1 %3404, label %3405, label %3407

3405:                                             ; preds = %3402
  %3406 = load float, ptr %56, align 4, !tbaa !11
  br label %3410

3407:                                             ; preds = %3402
  %3408 = load float, ptr %56, align 4, !tbaa !11
  %3409 = fneg float %3408
  br label %3410

3410:                                             ; preds = %3407, %3405
  %3411 = phi float [ %3406, %3405 ], [ %3409, %3407 ]
  %3412 = load float, ptr %45, align 4, !tbaa !11
  %3413 = fcmp ogt float %3411, %3412
  br i1 %3413, label %3414, label %3545

3414:                                             ; preds = %3410
  %3415 = load float, ptr %56, align 4, !tbaa !11
  %3416 = fdiv float 5.000000e-01, %3415
  store float %3416, ptr %52, align 4, !tbaa !11
  %3417 = load float, ptr %52, align 4, !tbaa !11
  %3418 = load ptr, ptr %26, align 8, !tbaa !5
  %3419 = load i32, ptr %50, align 4, !tbaa !9
  %3420 = sext i32 %3419 to i64
  %3421 = getelementptr inbounds float, ptr %3418, i64 %3420
  %3422 = load float, ptr %3421, align 4, !tbaa !11
  %3423 = fmul float %3417, %3422
  %3424 = load ptr, ptr %26, align 8, !tbaa !5
  %3425 = load i32, ptr %51, align 4, !tbaa !9
  %3426 = sext i32 %3425 to i64
  %3427 = getelementptr inbounds float, ptr %3424, i64 %3426
  %3428 = load float, ptr %3427, align 4, !tbaa !11
  %3429 = fdiv float %3423, %3428
  %3430 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 2
  store float %3429, ptr %3430, align 8, !tbaa !11
  %3431 = load float, ptr %52, align 4, !tbaa !11
  %3432 = fneg float %3431
  %3433 = load ptr, ptr %26, align 8, !tbaa !5
  %3434 = load i32, ptr %51, align 4, !tbaa !9
  %3435 = sext i32 %3434 to i64
  %3436 = getelementptr inbounds float, ptr %3433, i64 %3435
  %3437 = load float, ptr %3436, align 4, !tbaa !11
  %3438 = fmul float %3432, %3437
  %3439 = load ptr, ptr %26, align 8, !tbaa !5
  %3440 = load i32, ptr %50, align 4, !tbaa !9
  %3441 = sext i32 %3440 to i64
  %3442 = getelementptr inbounds float, ptr %3439, i64 %3441
  %3443 = load float, ptr %3442, align 4, !tbaa !11
  %3444 = fdiv float %3438, %3443
  %3445 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 3
  store float %3444, ptr %3445, align 4, !tbaa !11
  %3446 = load ptr, ptr %18, align 8, !tbaa !5
  %3447 = load ptr, ptr %20, align 8, !tbaa !5
  %3448 = load i32, ptr %50, align 4, !tbaa !9
  %3449 = load i32, ptr %29, align 4, !tbaa !9
  %3450 = mul nsw i32 %3448, %3449
  %3451 = add nsw i32 %3450, 1
  %3452 = sext i32 %3451 to i64
  %3453 = getelementptr inbounds float, ptr %3447, i64 %3452
  %3454 = load ptr, ptr %20, align 8, !tbaa !5
  %3455 = load i32, ptr %51, align 4, !tbaa !9
  %3456 = load i32, ptr %29, align 4, !tbaa !9
  %3457 = mul nsw i32 %3455, %3456
  %3458 = add nsw i32 %3457, 1
  %3459 = sext i32 %3458 to i64
  %3460 = getelementptr inbounds float, ptr %3454, i64 %3459
  %3461 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %3446, ptr noundef %3453, ptr noundef @c__1, ptr noundef %3460, ptr noundef @c__1, ptr noundef %3461)
  %3462 = load i32, ptr %63, align 4, !tbaa !9
  %3463 = icmp ne i32 %3462, 0
  br i1 %3463, label %3464, label %3480

3464:                                             ; preds = %3414
  %3465 = load ptr, ptr %24, align 8, !tbaa !5
  %3466 = load i32, ptr %50, align 4, !tbaa !9
  %3467 = load i32, ptr %31, align 4, !tbaa !9
  %3468 = mul nsw i32 %3466, %3467
  %3469 = add nsw i32 %3468, 1
  %3470 = sext i32 %3469 to i64
  %3471 = getelementptr inbounds float, ptr %3465, i64 %3470
  %3472 = load ptr, ptr %24, align 8, !tbaa !5
  %3473 = load i32, ptr %51, align 4, !tbaa !9
  %3474 = load i32, ptr %31, align 4, !tbaa !9
  %3475 = mul nsw i32 %3473, %3474
  %3476 = add nsw i32 %3475, 1
  %3477 = sext i32 %3476 to i64
  %3478 = getelementptr inbounds float, ptr %3472, i64 %3477
  %3479 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %95, ptr noundef %3471, ptr noundef @c__1, ptr noundef %3478, ptr noundef @c__1, ptr noundef %3479)
  br label %3480

3480:                                             ; preds = %3464, %3414
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %3481 = load float, ptr %52, align 4, !tbaa !11
  %3482 = load float, ptr %54, align 4, !tbaa !11
  %3483 = fmul float %3481, %3482
  %3484 = load float, ptr %41, align 4, !tbaa !11
  %3485 = call float @llvm.fmuladd.f32(float %3483, float %3484, float 1.000000e+00)
  store float %3485, ptr %39, align 4, !tbaa !11
  %3486 = load float, ptr %42, align 4, !tbaa !11
  %3487 = fpext float %3486 to double
  %3488 = load float, ptr %38, align 4, !tbaa !11
  %3489 = load float, ptr %39, align 4, !tbaa !11
  %3490 = fcmp oge float %3488, %3489
  br i1 %3490, label %3491, label %3493

3491:                                             ; preds = %3480
  %3492 = load float, ptr %38, align 4, !tbaa !11
  br label %3495

3493:                                             ; preds = %3480
  %3494 = load float, ptr %39, align 4, !tbaa !11
  br label %3495

3495:                                             ; preds = %3493, %3491
  %3496 = phi float [ %3492, %3491 ], [ %3494, %3493 ]
  %3497 = fpext float %3496 to double
  %3498 = call double @sqrt(double noundef %3497) #5
  %3499 = fmul double %3487, %3498
  %3500 = fptrunc double %3499 to float
  %3501 = load ptr, ptr %22, align 8, !tbaa !5
  %3502 = load i32, ptr %51, align 4, !tbaa !9
  %3503 = sext i32 %3502 to i64
  %3504 = getelementptr inbounds float, ptr %3501, i64 %3503
  store float %3500, ptr %3504, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %3505 = load float, ptr %52, align 4, !tbaa !11
  %3506 = load float, ptr %55, align 4, !tbaa !11
  %3507 = fmul float %3505, %3506
  %3508 = load float, ptr %41, align 4, !tbaa !11
  %3509 = fneg float %3507
  %3510 = call float @llvm.fmuladd.f32(float %3509, float %3508, float 1.000000e+00)
  store float %3510, ptr %39, align 4, !tbaa !11
  %3511 = load float, ptr %38, align 4, !tbaa !11
  %3512 = load float, ptr %39, align 4, !tbaa !11
  %3513 = fcmp oge float %3511, %3512
  br i1 %3513, label %3514, label %3516

3514:                                             ; preds = %3495
  %3515 = load float, ptr %38, align 4, !tbaa !11
  br label %3518

3516:                                             ; preds = %3495
  %3517 = load float, ptr %39, align 4, !tbaa !11
  br label %3518

3518:                                             ; preds = %3516, %3514
  %3519 = phi float [ %3515, %3514 ], [ %3517, %3516 ]
  %3520 = fpext float %3519 to double
  %3521 = call double @sqrt(double noundef %3520) #5
  %3522 = load float, ptr %40, align 4, !tbaa !11
  %3523 = fpext float %3522 to double
  %3524 = fmul double %3523, %3521
  %3525 = fptrunc double %3524 to float
  store float %3525, ptr %40, align 4, !tbaa !11
  %3526 = load float, ptr %79, align 4, !tbaa !11
  store float %3526, ptr %38, align 4, !tbaa !11
  %3527 = load float, ptr %52, align 4, !tbaa !11
  %3528 = fcmp oge float %3527, 0.000000e+00
  br i1 %3528, label %3529, label %3531

3529:                                             ; preds = %3518
  %3530 = load float, ptr %52, align 4, !tbaa !11
  br label %3534

3531:                                             ; preds = %3518
  %3532 = load float, ptr %52, align 4, !tbaa !11
  %3533 = fneg float %3532
  br label %3534

3534:                                             ; preds = %3531, %3529
  %3535 = phi float [ %3530, %3529 ], [ %3533, %3531 ]
  store float %3535, ptr %39, align 4, !tbaa !11
  %3536 = load float, ptr %38, align 4, !tbaa !11
  %3537 = load float, ptr %39, align 4, !tbaa !11
  %3538 = fcmp oge float %3536, %3537
  br i1 %3538, label %3539, label %3541

3539:                                             ; preds = %3534
  %3540 = load float, ptr %38, align 4, !tbaa !11
  br label %3543

3541:                                             ; preds = %3534
  %3542 = load float, ptr %39, align 4, !tbaa !11
  br label %3543

3543:                                             ; preds = %3541, %3539
  %3544 = phi float [ %3540, %3539 ], [ %3542, %3541 ]
  store float %3544, ptr %79, align 4, !tbaa !11
  br label %4162

3545:                                             ; preds = %3410
  %3546 = load float, ptr %41, align 4, !tbaa !11
  %3547 = fcmp oge float %3546, 0.000000e+00
  br i1 %3547, label %3548, label %3558

3548:                                             ; preds = %3545
  %3549 = load float, ptr @c_b18, align 4, !tbaa !11
  %3550 = fcmp oge float %3549, 0.000000e+00
  br i1 %3550, label %3551, label %3553

3551:                                             ; preds = %3548
  %3552 = load float, ptr @c_b18, align 4, !tbaa !11
  br label %3556

3553:                                             ; preds = %3548
  %3554 = load float, ptr @c_b18, align 4, !tbaa !11
  %3555 = fneg float %3554
  br label %3556

3556:                                             ; preds = %3553, %3551
  %3557 = phi float [ %3552, %3551 ], [ %3555, %3553 ]
  br label %3569

3558:                                             ; preds = %3545
  %3559 = load float, ptr @c_b18, align 4, !tbaa !11
  %3560 = fcmp oge float %3559, 0.000000e+00
  br i1 %3560, label %3561, label %3563

3561:                                             ; preds = %3558
  %3562 = load float, ptr @c_b18, align 4, !tbaa !11
  br label %3566

3563:                                             ; preds = %3558
  %3564 = load float, ptr @c_b18, align 4, !tbaa !11
  %3565 = fneg float %3564
  br label %3566

3566:                                             ; preds = %3563, %3561
  %3567 = phi float [ %3562, %3561 ], [ %3565, %3563 ]
  %3568 = fneg float %3567
  br label %3569

3569:                                             ; preds = %3566, %3556
  %3570 = phi float [ %3557, %3556 ], [ %3568, %3566 ]
  %3571 = fneg float %3570
  store float %3571, ptr %78, align 4, !tbaa !11
  %3572 = load float, ptr %42, align 4, !tbaa !11
  %3573 = load float, ptr %47, align 4, !tbaa !11
  %3574 = fcmp ogt float %3572, %3573
  br i1 %3574, label %3575, label %3578

3575:                                             ; preds = %3569
  %3576 = load float, ptr %78, align 4, !tbaa !11
  %3577 = fneg float %3576
  store float %3577, ptr %78, align 4, !tbaa !11
  br label %3578

3578:                                             ; preds = %3575, %3569
  %3579 = load float, ptr %56, align 4, !tbaa !11
  %3580 = fpext float %3579 to double
  %3581 = load float, ptr %78, align 4, !tbaa !11
  %3582 = fpext float %3581 to double
  %3583 = load float, ptr %56, align 4, !tbaa !11
  %3584 = load float, ptr %56, align 4, !tbaa !11
  %3585 = call float @llvm.fmuladd.f32(float %3583, float %3584, float 1.000000e+00)
  %3586 = fpext float %3585 to double
  %3587 = call double @sqrt(double noundef %3586) #5
  %3588 = call double @llvm.fmuladd.f64(double %3582, double %3587, double %3580)
  %3589 = fdiv double 1.000000e+00, %3588
  %3590 = fptrunc double %3589 to float
  store float %3590, ptr %52, align 4, !tbaa !11
  %3591 = load float, ptr %52, align 4, !tbaa !11
  %3592 = load float, ptr %52, align 4, !tbaa !11
  %3593 = call float @llvm.fmuladd.f32(float %3591, float %3592, float 1.000000e+00)
  %3594 = fdiv float 1.000000e+00, %3593
  %3595 = fpext float %3594 to double
  %3596 = call double @sqrt(double noundef %3595) #5
  %3597 = fptrunc double %3596 to float
  store float %3597, ptr %72, align 4, !tbaa !11
  %3598 = load float, ptr %52, align 4, !tbaa !11
  %3599 = load float, ptr %72, align 4, !tbaa !11
  %3600 = fmul float %3598, %3599
  store float %3600, ptr %73, align 4, !tbaa !11
  %3601 = load float, ptr %79, align 4, !tbaa !11
  store float %3601, ptr %38, align 4, !tbaa !11
  %3602 = load float, ptr %73, align 4, !tbaa !11
  %3603 = fcmp oge float %3602, 0.000000e+00
  br i1 %3603, label %3604, label %3606

3604:                                             ; preds = %3578
  %3605 = load float, ptr %73, align 4, !tbaa !11
  br label %3609

3606:                                             ; preds = %3578
  %3607 = load float, ptr %73, align 4, !tbaa !11
  %3608 = fneg float %3607
  br label %3609

3609:                                             ; preds = %3606, %3604
  %3610 = phi float [ %3605, %3604 ], [ %3608, %3606 ]
  store float %3610, ptr %39, align 4, !tbaa !11
  %3611 = load float, ptr %38, align 4, !tbaa !11
  %3612 = load float, ptr %39, align 4, !tbaa !11
  %3613 = fcmp oge float %3611, %3612
  br i1 %3613, label %3614, label %3616

3614:                                             ; preds = %3609
  %3615 = load float, ptr %38, align 4, !tbaa !11
  br label %3618

3616:                                             ; preds = %3609
  %3617 = load float, ptr %39, align 4, !tbaa !11
  br label %3618

3618:                                             ; preds = %3616, %3614
  %3619 = phi float [ %3615, %3614 ], [ %3617, %3616 ]
  store float %3619, ptr %79, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %3620 = load float, ptr %52, align 4, !tbaa !11
  %3621 = load float, ptr %54, align 4, !tbaa !11
  %3622 = fmul float %3620, %3621
  %3623 = load float, ptr %41, align 4, !tbaa !11
  %3624 = call float @llvm.fmuladd.f32(float %3622, float %3623, float 1.000000e+00)
  store float %3624, ptr %39, align 4, !tbaa !11
  %3625 = load float, ptr %42, align 4, !tbaa !11
  %3626 = fpext float %3625 to double
  %3627 = load float, ptr %38, align 4, !tbaa !11
  %3628 = load float, ptr %39, align 4, !tbaa !11
  %3629 = fcmp oge float %3627, %3628
  br i1 %3629, label %3630, label %3632

3630:                                             ; preds = %3618
  %3631 = load float, ptr %38, align 4, !tbaa !11
  br label %3634

3632:                                             ; preds = %3618
  %3633 = load float, ptr %39, align 4, !tbaa !11
  br label %3634

3634:                                             ; preds = %3632, %3630
  %3635 = phi float [ %3631, %3630 ], [ %3633, %3632 ]
  %3636 = fpext float %3635 to double
  %3637 = call double @sqrt(double noundef %3636) #5
  %3638 = fmul double %3626, %3637
  %3639 = fptrunc double %3638 to float
  %3640 = load ptr, ptr %22, align 8, !tbaa !5
  %3641 = load i32, ptr %51, align 4, !tbaa !9
  %3642 = sext i32 %3641 to i64
  %3643 = getelementptr inbounds float, ptr %3640, i64 %3642
  store float %3639, ptr %3643, align 4, !tbaa !11
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %3644 = load float, ptr %52, align 4, !tbaa !11
  %3645 = load float, ptr %55, align 4, !tbaa !11
  %3646 = fmul float %3644, %3645
  %3647 = load float, ptr %41, align 4, !tbaa !11
  %3648 = fneg float %3646
  %3649 = call float @llvm.fmuladd.f32(float %3648, float %3647, float 1.000000e+00)
  store float %3649, ptr %39, align 4, !tbaa !11
  %3650 = load float, ptr %38, align 4, !tbaa !11
  %3651 = load float, ptr %39, align 4, !tbaa !11
  %3652 = fcmp oge float %3650, %3651
  br i1 %3652, label %3653, label %3655

3653:                                             ; preds = %3634
  %3654 = load float, ptr %38, align 4, !tbaa !11
  br label %3657

3655:                                             ; preds = %3634
  %3656 = load float, ptr %39, align 4, !tbaa !11
  br label %3657

3657:                                             ; preds = %3655, %3653
  %3658 = phi float [ %3654, %3653 ], [ %3656, %3655 ]
  %3659 = fpext float %3658 to double
  %3660 = call double @sqrt(double noundef %3659) #5
  %3661 = load float, ptr %40, align 4, !tbaa !11
  %3662 = fpext float %3661 to double
  %3663 = fmul double %3662, %3660
  %3664 = fptrunc double %3663 to float
  store float %3664, ptr %40, align 4, !tbaa !11
  %3665 = load ptr, ptr %26, align 8, !tbaa !5
  %3666 = load i32, ptr %50, align 4, !tbaa !9
  %3667 = sext i32 %3666 to i64
  %3668 = getelementptr inbounds float, ptr %3665, i64 %3667
  %3669 = load float, ptr %3668, align 4, !tbaa !11
  %3670 = load ptr, ptr %26, align 8, !tbaa !5
  %3671 = load i32, ptr %51, align 4, !tbaa !9
  %3672 = sext i32 %3671 to i64
  %3673 = getelementptr inbounds float, ptr %3670, i64 %3672
  %3674 = load float, ptr %3673, align 4, !tbaa !11
  %3675 = fdiv float %3669, %3674
  store float %3675, ptr %54, align 4, !tbaa !11
  %3676 = load ptr, ptr %26, align 8, !tbaa !5
  %3677 = load i32, ptr %51, align 4, !tbaa !9
  %3678 = sext i32 %3677 to i64
  %3679 = getelementptr inbounds float, ptr %3676, i64 %3678
  %3680 = load float, ptr %3679, align 4, !tbaa !11
  %3681 = load ptr, ptr %26, align 8, !tbaa !5
  %3682 = load i32, ptr %50, align 4, !tbaa !9
  %3683 = sext i32 %3682 to i64
  %3684 = getelementptr inbounds float, ptr %3681, i64 %3683
  %3685 = load float, ptr %3684, align 4, !tbaa !11
  %3686 = fdiv float %3680, %3685
  store float %3686, ptr %55, align 4, !tbaa !11
  %3687 = load ptr, ptr %26, align 8, !tbaa !5
  %3688 = load i32, ptr %50, align 4, !tbaa !9
  %3689 = sext i32 %3688 to i64
  %3690 = getelementptr inbounds float, ptr %3687, i64 %3689
  %3691 = load float, ptr %3690, align 4, !tbaa !11
  %3692 = fcmp oge float %3691, 1.000000e+00
  br i1 %3692, label %3693, label %3855

3693:                                             ; preds = %3657
  %3694 = load ptr, ptr %26, align 8, !tbaa !5
  %3695 = load i32, ptr %51, align 4, !tbaa !9
  %3696 = sext i32 %3695 to i64
  %3697 = getelementptr inbounds float, ptr %3694, i64 %3696
  %3698 = load float, ptr %3697, align 4, !tbaa !11
  %3699 = fcmp oge float %3698, 1.000000e+00
  br i1 %3699, label %3700, label %3759

3700:                                             ; preds = %3693
  %3701 = load float, ptr %52, align 4, !tbaa !11
  %3702 = load float, ptr %54, align 4, !tbaa !11
  %3703 = fmul float %3701, %3702
  %3704 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 2
  store float %3703, ptr %3704, align 8, !tbaa !11
  %3705 = load float, ptr %52, align 4, !tbaa !11
  %3706 = fneg float %3705
  %3707 = load float, ptr %55, align 4, !tbaa !11
  %3708 = fmul float %3706, %3707
  %3709 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 3
  store float %3708, ptr %3709, align 4, !tbaa !11
  %3710 = load float, ptr %72, align 4, !tbaa !11
  %3711 = load ptr, ptr %26, align 8, !tbaa !5
  %3712 = load i32, ptr %50, align 4, !tbaa !9
  %3713 = sext i32 %3712 to i64
  %3714 = getelementptr inbounds float, ptr %3711, i64 %3713
  %3715 = load float, ptr %3714, align 4, !tbaa !11
  %3716 = fmul float %3715, %3710
  store float %3716, ptr %3714, align 4, !tbaa !11
  %3717 = load float, ptr %72, align 4, !tbaa !11
  %3718 = load ptr, ptr %26, align 8, !tbaa !5
  %3719 = load i32, ptr %51, align 4, !tbaa !9
  %3720 = sext i32 %3719 to i64
  %3721 = getelementptr inbounds float, ptr %3718, i64 %3720
  %3722 = load float, ptr %3721, align 4, !tbaa !11
  %3723 = fmul float %3722, %3717
  store float %3723, ptr %3721, align 4, !tbaa !11
  %3724 = load ptr, ptr %18, align 8, !tbaa !5
  %3725 = load ptr, ptr %20, align 8, !tbaa !5
  %3726 = load i32, ptr %50, align 4, !tbaa !9
  %3727 = load i32, ptr %29, align 4, !tbaa !9
  %3728 = mul nsw i32 %3726, %3727
  %3729 = add nsw i32 %3728, 1
  %3730 = sext i32 %3729 to i64
  %3731 = getelementptr inbounds float, ptr %3725, i64 %3730
  %3732 = load ptr, ptr %20, align 8, !tbaa !5
  %3733 = load i32, ptr %51, align 4, !tbaa !9
  %3734 = load i32, ptr %29, align 4, !tbaa !9
  %3735 = mul nsw i32 %3733, %3734
  %3736 = add nsw i32 %3735, 1
  %3737 = sext i32 %3736 to i64
  %3738 = getelementptr inbounds float, ptr %3732, i64 %3737
  %3739 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %3724, ptr noundef %3731, ptr noundef @c__1, ptr noundef %3738, ptr noundef @c__1, ptr noundef %3739)
  %3740 = load i32, ptr %63, align 4, !tbaa !9
  %3741 = icmp ne i32 %3740, 0
  br i1 %3741, label %3742, label %3758

3742:                                             ; preds = %3700
  %3743 = load ptr, ptr %24, align 8, !tbaa !5
  %3744 = load i32, ptr %50, align 4, !tbaa !9
  %3745 = load i32, ptr %31, align 4, !tbaa !9
  %3746 = mul nsw i32 %3744, %3745
  %3747 = add nsw i32 %3746, 1
  %3748 = sext i32 %3747 to i64
  %3749 = getelementptr inbounds float, ptr %3743, i64 %3748
  %3750 = load ptr, ptr %24, align 8, !tbaa !5
  %3751 = load i32, ptr %51, align 4, !tbaa !9
  %3752 = load i32, ptr %31, align 4, !tbaa !9
  %3753 = mul nsw i32 %3751, %3752
  %3754 = add nsw i32 %3753, 1
  %3755 = sext i32 %3754 to i64
  %3756 = getelementptr inbounds float, ptr %3750, i64 %3755
  %3757 = getelementptr inbounds [5 x float], ptr %60, i64 0, i64 0
  call void @srotm_(ptr noundef %95, ptr noundef %3749, ptr noundef @c__1, ptr noundef %3756, ptr noundef @c__1, ptr noundef %3757)
  br label %3758

3758:                                             ; preds = %3742, %3700
  br label %3854

3759:                                             ; preds = %3693
  %3760 = load float, ptr %52, align 4, !tbaa !11
  %3761 = fneg float %3760
  %3762 = load float, ptr %55, align 4, !tbaa !11
  %3763 = fmul float %3761, %3762
  store float %3763, ptr %38, align 4, !tbaa !11
  %3764 = load ptr, ptr %18, align 8, !tbaa !5
  %3765 = load ptr, ptr %20, align 8, !tbaa !5
  %3766 = load i32, ptr %51, align 4, !tbaa !9
  %3767 = load i32, ptr %29, align 4, !tbaa !9
  %3768 = mul nsw i32 %3766, %3767
  %3769 = add nsw i32 %3768, 1
  %3770 = sext i32 %3769 to i64
  %3771 = getelementptr inbounds float, ptr %3765, i64 %3770
  %3772 = load ptr, ptr %20, align 8, !tbaa !5
  %3773 = load i32, ptr %50, align 4, !tbaa !9
  %3774 = load i32, ptr %29, align 4, !tbaa !9
  %3775 = mul nsw i32 %3773, %3774
  %3776 = add nsw i32 %3775, 1
  %3777 = sext i32 %3776 to i64
  %3778 = getelementptr inbounds float, ptr %3772, i64 %3777
  call void @saxpy_(ptr noundef %3764, ptr noundef %38, ptr noundef %3771, ptr noundef @c__1, ptr noundef %3778, ptr noundef @c__1)
  %3779 = load float, ptr %72, align 4, !tbaa !11
  %3780 = load float, ptr %73, align 4, !tbaa !11
  %3781 = fmul float %3779, %3780
  %3782 = load float, ptr %54, align 4, !tbaa !11
  %3783 = fmul float %3781, %3782
  store float %3783, ptr %38, align 4, !tbaa !11
  %3784 = load ptr, ptr %18, align 8, !tbaa !5
  %3785 = load ptr, ptr %20, align 8, !tbaa !5
  %3786 = load i32, ptr %50, align 4, !tbaa !9
  %3787 = load i32, ptr %29, align 4, !tbaa !9
  %3788 = mul nsw i32 %3786, %3787
  %3789 = add nsw i32 %3788, 1
  %3790 = sext i32 %3789 to i64
  %3791 = getelementptr inbounds float, ptr %3785, i64 %3790
  %3792 = load ptr, ptr %20, align 8, !tbaa !5
  %3793 = load i32, ptr %51, align 4, !tbaa !9
  %3794 = load i32, ptr %29, align 4, !tbaa !9
  %3795 = mul nsw i32 %3793, %3794
  %3796 = add nsw i32 %3795, 1
  %3797 = sext i32 %3796 to i64
  %3798 = getelementptr inbounds float, ptr %3792, i64 %3797
  call void @saxpy_(ptr noundef %3784, ptr noundef %38, ptr noundef %3791, ptr noundef @c__1, ptr noundef %3798, ptr noundef @c__1)
  %3799 = load i32, ptr %63, align 4, !tbaa !9
  %3800 = icmp ne i32 %3799, 0
  br i1 %3800, label %3801, label %3839

3801:                                             ; preds = %3759
  %3802 = load float, ptr %52, align 4, !tbaa !11
  %3803 = fneg float %3802
  %3804 = load float, ptr %55, align 4, !tbaa !11
  %3805 = fmul float %3803, %3804
  store float %3805, ptr %38, align 4, !tbaa !11
  %3806 = load ptr, ptr %24, align 8, !tbaa !5
  %3807 = load i32, ptr %51, align 4, !tbaa !9
  %3808 = load i32, ptr %31, align 4, !tbaa !9
  %3809 = mul nsw i32 %3807, %3808
  %3810 = add nsw i32 %3809, 1
  %3811 = sext i32 %3810 to i64
  %3812 = getelementptr inbounds float, ptr %3806, i64 %3811
  %3813 = load ptr, ptr %24, align 8, !tbaa !5
  %3814 = load i32, ptr %50, align 4, !tbaa !9
  %3815 = load i32, ptr %31, align 4, !tbaa !9
  %3816 = mul nsw i32 %3814, %3815
  %3817 = add nsw i32 %3816, 1
  %3818 = sext i32 %3817 to i64
  %3819 = getelementptr inbounds float, ptr %3813, i64 %3818
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %3812, ptr noundef @c__1, ptr noundef %3819, ptr noundef @c__1)
  %3820 = load float, ptr %72, align 4, !tbaa !11
  %3821 = load float, ptr %73, align 4, !tbaa !11
  %3822 = fmul float %3820, %3821
  %3823 = load float, ptr %54, align 4, !tbaa !11
  %3824 = fmul float %3822, %3823
  store float %3824, ptr %38, align 4, !tbaa !11
  %3825 = load ptr, ptr %24, align 8, !tbaa !5
  %3826 = load i32, ptr %50, align 4, !tbaa !9
  %3827 = load i32, ptr %31, align 4, !tbaa !9
  %3828 = mul nsw i32 %3826, %3827
  %3829 = add nsw i32 %3828, 1
  %3830 = sext i32 %3829 to i64
  %3831 = getelementptr inbounds float, ptr %3825, i64 %3830
  %3832 = load ptr, ptr %24, align 8, !tbaa !5
  %3833 = load i32, ptr %51, align 4, !tbaa !9
  %3834 = load i32, ptr %31, align 4, !tbaa !9
  %3835 = mul nsw i32 %3833, %3834
  %3836 = add nsw i32 %3835, 1
  %3837 = sext i32 %3836 to i64
  %3838 = getelementptr inbounds float, ptr %3832, i64 %3837
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %3831, ptr noundef @c__1, ptr noundef %3838, ptr noundef @c__1)
  br label %3839

3839:                                             ; preds = %3801, %3759
  %3840 = load float, ptr %72, align 4, !tbaa !11
  %3841 = load ptr, ptr %26, align 8, !tbaa !5
  %3842 = load i32, ptr %50, align 4, !tbaa !9
  %3843 = sext i32 %3842 to i64
  %3844 = getelementptr inbounds float, ptr %3841, i64 %3843
  %3845 = load float, ptr %3844, align 4, !tbaa !11
  %3846 = fmul float %3845, %3840
  store float %3846, ptr %3844, align 4, !tbaa !11
  %3847 = load float, ptr %72, align 4, !tbaa !11
  %3848 = load ptr, ptr %26, align 8, !tbaa !5
  %3849 = load i32, ptr %51, align 4, !tbaa !9
  %3850 = sext i32 %3849 to i64
  %3851 = getelementptr inbounds float, ptr %3848, i64 %3850
  %3852 = load float, ptr %3851, align 4, !tbaa !11
  %3853 = fdiv float %3852, %3847
  store float %3853, ptr %3851, align 4, !tbaa !11
  br label %3854

3854:                                             ; preds = %3839, %3758
  br label %4161

3855:                                             ; preds = %3657
  %3856 = load ptr, ptr %26, align 8, !tbaa !5
  %3857 = load i32, ptr %51, align 4, !tbaa !9
  %3858 = sext i32 %3857 to i64
  %3859 = getelementptr inbounds float, ptr %3856, i64 %3858
  %3860 = load float, ptr %3859, align 4, !tbaa !11
  %3861 = fcmp oge float %3860, 1.000000e+00
  br i1 %3861, label %3862, label %3957

3862:                                             ; preds = %3855
  %3863 = load float, ptr %52, align 4, !tbaa !11
  %3864 = load float, ptr %54, align 4, !tbaa !11
  %3865 = fmul float %3863, %3864
  store float %3865, ptr %38, align 4, !tbaa !11
  %3866 = load ptr, ptr %18, align 8, !tbaa !5
  %3867 = load ptr, ptr %20, align 8, !tbaa !5
  %3868 = load i32, ptr %50, align 4, !tbaa !9
  %3869 = load i32, ptr %29, align 4, !tbaa !9
  %3870 = mul nsw i32 %3868, %3869
  %3871 = add nsw i32 %3870, 1
  %3872 = sext i32 %3871 to i64
  %3873 = getelementptr inbounds float, ptr %3867, i64 %3872
  %3874 = load ptr, ptr %20, align 8, !tbaa !5
  %3875 = load i32, ptr %51, align 4, !tbaa !9
  %3876 = load i32, ptr %29, align 4, !tbaa !9
  %3877 = mul nsw i32 %3875, %3876
  %3878 = add nsw i32 %3877, 1
  %3879 = sext i32 %3878 to i64
  %3880 = getelementptr inbounds float, ptr %3874, i64 %3879
  call void @saxpy_(ptr noundef %3866, ptr noundef %38, ptr noundef %3873, ptr noundef @c__1, ptr noundef %3880, ptr noundef @c__1)
  %3881 = load float, ptr %72, align 4, !tbaa !11
  %3882 = fneg float %3881
  %3883 = load float, ptr %73, align 4, !tbaa !11
  %3884 = fmul float %3882, %3883
  %3885 = load float, ptr %55, align 4, !tbaa !11
  %3886 = fmul float %3884, %3885
  store float %3886, ptr %38, align 4, !tbaa !11
  %3887 = load ptr, ptr %18, align 8, !tbaa !5
  %3888 = load ptr, ptr %20, align 8, !tbaa !5
  %3889 = load i32, ptr %51, align 4, !tbaa !9
  %3890 = load i32, ptr %29, align 4, !tbaa !9
  %3891 = mul nsw i32 %3889, %3890
  %3892 = add nsw i32 %3891, 1
  %3893 = sext i32 %3892 to i64
  %3894 = getelementptr inbounds float, ptr %3888, i64 %3893
  %3895 = load ptr, ptr %20, align 8, !tbaa !5
  %3896 = load i32, ptr %50, align 4, !tbaa !9
  %3897 = load i32, ptr %29, align 4, !tbaa !9
  %3898 = mul nsw i32 %3896, %3897
  %3899 = add nsw i32 %3898, 1
  %3900 = sext i32 %3899 to i64
  %3901 = getelementptr inbounds float, ptr %3895, i64 %3900
  call void @saxpy_(ptr noundef %3887, ptr noundef %38, ptr noundef %3894, ptr noundef @c__1, ptr noundef %3901, ptr noundef @c__1)
  %3902 = load i32, ptr %63, align 4, !tbaa !9
  %3903 = icmp ne i32 %3902, 0
  br i1 %3903, label %3904, label %3942

3904:                                             ; preds = %3862
  %3905 = load float, ptr %52, align 4, !tbaa !11
  %3906 = load float, ptr %54, align 4, !tbaa !11
  %3907 = fmul float %3905, %3906
  store float %3907, ptr %38, align 4, !tbaa !11
  %3908 = load ptr, ptr %24, align 8, !tbaa !5
  %3909 = load i32, ptr %50, align 4, !tbaa !9
  %3910 = load i32, ptr %31, align 4, !tbaa !9
  %3911 = mul nsw i32 %3909, %3910
  %3912 = add nsw i32 %3911, 1
  %3913 = sext i32 %3912 to i64
  %3914 = getelementptr inbounds float, ptr %3908, i64 %3913
  %3915 = load ptr, ptr %24, align 8, !tbaa !5
  %3916 = load i32, ptr %51, align 4, !tbaa !9
  %3917 = load i32, ptr %31, align 4, !tbaa !9
  %3918 = mul nsw i32 %3916, %3917
  %3919 = add nsw i32 %3918, 1
  %3920 = sext i32 %3919 to i64
  %3921 = getelementptr inbounds float, ptr %3915, i64 %3920
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %3914, ptr noundef @c__1, ptr noundef %3921, ptr noundef @c__1)
  %3922 = load float, ptr %72, align 4, !tbaa !11
  %3923 = fneg float %3922
  %3924 = load float, ptr %73, align 4, !tbaa !11
  %3925 = fmul float %3923, %3924
  %3926 = load float, ptr %55, align 4, !tbaa !11
  %3927 = fmul float %3925, %3926
  store float %3927, ptr %38, align 4, !tbaa !11
  %3928 = load ptr, ptr %24, align 8, !tbaa !5
  %3929 = load i32, ptr %51, align 4, !tbaa !9
  %3930 = load i32, ptr %31, align 4, !tbaa !9
  %3931 = mul nsw i32 %3929, %3930
  %3932 = add nsw i32 %3931, 1
  %3933 = sext i32 %3932 to i64
  %3934 = getelementptr inbounds float, ptr %3928, i64 %3933
  %3935 = load ptr, ptr %24, align 8, !tbaa !5
  %3936 = load i32, ptr %50, align 4, !tbaa !9
  %3937 = load i32, ptr %31, align 4, !tbaa !9
  %3938 = mul nsw i32 %3936, %3937
  %3939 = add nsw i32 %3938, 1
  %3940 = sext i32 %3939 to i64
  %3941 = getelementptr inbounds float, ptr %3935, i64 %3940
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %3934, ptr noundef @c__1, ptr noundef %3941, ptr noundef @c__1)
  br label %3942

3942:                                             ; preds = %3904, %3862
  %3943 = load float, ptr %72, align 4, !tbaa !11
  %3944 = load ptr, ptr %26, align 8, !tbaa !5
  %3945 = load i32, ptr %50, align 4, !tbaa !9
  %3946 = sext i32 %3945 to i64
  %3947 = getelementptr inbounds float, ptr %3944, i64 %3946
  %3948 = load float, ptr %3947, align 4, !tbaa !11
  %3949 = fdiv float %3948, %3943
  store float %3949, ptr %3947, align 4, !tbaa !11
  %3950 = load float, ptr %72, align 4, !tbaa !11
  %3951 = load ptr, ptr %26, align 8, !tbaa !5
  %3952 = load i32, ptr %51, align 4, !tbaa !9
  %3953 = sext i32 %3952 to i64
  %3954 = getelementptr inbounds float, ptr %3951, i64 %3953
  %3955 = load float, ptr %3954, align 4, !tbaa !11
  %3956 = fmul float %3955, %3950
  store float %3956, ptr %3954, align 4, !tbaa !11
  br label %4160

3957:                                             ; preds = %3855
  %3958 = load ptr, ptr %26, align 8, !tbaa !5
  %3959 = load i32, ptr %50, align 4, !tbaa !9
  %3960 = sext i32 %3959 to i64
  %3961 = getelementptr inbounds float, ptr %3958, i64 %3960
  %3962 = load float, ptr %3961, align 4, !tbaa !11
  %3963 = load ptr, ptr %26, align 8, !tbaa !5
  %3964 = load i32, ptr %51, align 4, !tbaa !9
  %3965 = sext i32 %3964 to i64
  %3966 = getelementptr inbounds float, ptr %3963, i64 %3965
  %3967 = load float, ptr %3966, align 4, !tbaa !11
  %3968 = fcmp oge float %3962, %3967
  br i1 %3968, label %3969, label %4064

3969:                                             ; preds = %3957
  %3970 = load float, ptr %52, align 4, !tbaa !11
  %3971 = fneg float %3970
  %3972 = load float, ptr %55, align 4, !tbaa !11
  %3973 = fmul float %3971, %3972
  store float %3973, ptr %38, align 4, !tbaa !11
  %3974 = load ptr, ptr %18, align 8, !tbaa !5
  %3975 = load ptr, ptr %20, align 8, !tbaa !5
  %3976 = load i32, ptr %51, align 4, !tbaa !9
  %3977 = load i32, ptr %29, align 4, !tbaa !9
  %3978 = mul nsw i32 %3976, %3977
  %3979 = add nsw i32 %3978, 1
  %3980 = sext i32 %3979 to i64
  %3981 = getelementptr inbounds float, ptr %3975, i64 %3980
  %3982 = load ptr, ptr %20, align 8, !tbaa !5
  %3983 = load i32, ptr %50, align 4, !tbaa !9
  %3984 = load i32, ptr %29, align 4, !tbaa !9
  %3985 = mul nsw i32 %3983, %3984
  %3986 = add nsw i32 %3985, 1
  %3987 = sext i32 %3986 to i64
  %3988 = getelementptr inbounds float, ptr %3982, i64 %3987
  call void @saxpy_(ptr noundef %3974, ptr noundef %38, ptr noundef %3981, ptr noundef @c__1, ptr noundef %3988, ptr noundef @c__1)
  %3989 = load float, ptr %72, align 4, !tbaa !11
  %3990 = load float, ptr %73, align 4, !tbaa !11
  %3991 = fmul float %3989, %3990
  %3992 = load float, ptr %54, align 4, !tbaa !11
  %3993 = fmul float %3991, %3992
  store float %3993, ptr %38, align 4, !tbaa !11
  %3994 = load ptr, ptr %18, align 8, !tbaa !5
  %3995 = load ptr, ptr %20, align 8, !tbaa !5
  %3996 = load i32, ptr %50, align 4, !tbaa !9
  %3997 = load i32, ptr %29, align 4, !tbaa !9
  %3998 = mul nsw i32 %3996, %3997
  %3999 = add nsw i32 %3998, 1
  %4000 = sext i32 %3999 to i64
  %4001 = getelementptr inbounds float, ptr %3995, i64 %4000
  %4002 = load ptr, ptr %20, align 8, !tbaa !5
  %4003 = load i32, ptr %51, align 4, !tbaa !9
  %4004 = load i32, ptr %29, align 4, !tbaa !9
  %4005 = mul nsw i32 %4003, %4004
  %4006 = add nsw i32 %4005, 1
  %4007 = sext i32 %4006 to i64
  %4008 = getelementptr inbounds float, ptr %4002, i64 %4007
  call void @saxpy_(ptr noundef %3994, ptr noundef %38, ptr noundef %4001, ptr noundef @c__1, ptr noundef %4008, ptr noundef @c__1)
  %4009 = load float, ptr %72, align 4, !tbaa !11
  %4010 = load ptr, ptr %26, align 8, !tbaa !5
  %4011 = load i32, ptr %50, align 4, !tbaa !9
  %4012 = sext i32 %4011 to i64
  %4013 = getelementptr inbounds float, ptr %4010, i64 %4012
  %4014 = load float, ptr %4013, align 4, !tbaa !11
  %4015 = fmul float %4014, %4009
  store float %4015, ptr %4013, align 4, !tbaa !11
  %4016 = load float, ptr %72, align 4, !tbaa !11
  %4017 = load ptr, ptr %26, align 8, !tbaa !5
  %4018 = load i32, ptr %51, align 4, !tbaa !9
  %4019 = sext i32 %4018 to i64
  %4020 = getelementptr inbounds float, ptr %4017, i64 %4019
  %4021 = load float, ptr %4020, align 4, !tbaa !11
  %4022 = fdiv float %4021, %4016
  store float %4022, ptr %4020, align 4, !tbaa !11
  %4023 = load i32, ptr %63, align 4, !tbaa !9
  %4024 = icmp ne i32 %4023, 0
  br i1 %4024, label %4025, label %4063

4025:                                             ; preds = %3969
  %4026 = load float, ptr %52, align 4, !tbaa !11
  %4027 = fneg float %4026
  %4028 = load float, ptr %55, align 4, !tbaa !11
  %4029 = fmul float %4027, %4028
  store float %4029, ptr %38, align 4, !tbaa !11
  %4030 = load ptr, ptr %24, align 8, !tbaa !5
  %4031 = load i32, ptr %51, align 4, !tbaa !9
  %4032 = load i32, ptr %31, align 4, !tbaa !9
  %4033 = mul nsw i32 %4031, %4032
  %4034 = add nsw i32 %4033, 1
  %4035 = sext i32 %4034 to i64
  %4036 = getelementptr inbounds float, ptr %4030, i64 %4035
  %4037 = load ptr, ptr %24, align 8, !tbaa !5
  %4038 = load i32, ptr %50, align 4, !tbaa !9
  %4039 = load i32, ptr %31, align 4, !tbaa !9
  %4040 = mul nsw i32 %4038, %4039
  %4041 = add nsw i32 %4040, 1
  %4042 = sext i32 %4041 to i64
  %4043 = getelementptr inbounds float, ptr %4037, i64 %4042
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %4036, ptr noundef @c__1, ptr noundef %4043, ptr noundef @c__1)
  %4044 = load float, ptr %72, align 4, !tbaa !11
  %4045 = load float, ptr %73, align 4, !tbaa !11
  %4046 = fmul float %4044, %4045
  %4047 = load float, ptr %54, align 4, !tbaa !11
  %4048 = fmul float %4046, %4047
  store float %4048, ptr %38, align 4, !tbaa !11
  %4049 = load ptr, ptr %24, align 8, !tbaa !5
  %4050 = load i32, ptr %50, align 4, !tbaa !9
  %4051 = load i32, ptr %31, align 4, !tbaa !9
  %4052 = mul nsw i32 %4050, %4051
  %4053 = add nsw i32 %4052, 1
  %4054 = sext i32 %4053 to i64
  %4055 = getelementptr inbounds float, ptr %4049, i64 %4054
  %4056 = load ptr, ptr %24, align 8, !tbaa !5
  %4057 = load i32, ptr %51, align 4, !tbaa !9
  %4058 = load i32, ptr %31, align 4, !tbaa !9
  %4059 = mul nsw i32 %4057, %4058
  %4060 = add nsw i32 %4059, 1
  %4061 = sext i32 %4060 to i64
  %4062 = getelementptr inbounds float, ptr %4056, i64 %4061
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %4055, ptr noundef @c__1, ptr noundef %4062, ptr noundef @c__1)
  br label %4063

4063:                                             ; preds = %4025, %3969
  br label %4159

4064:                                             ; preds = %3957
  %4065 = load float, ptr %52, align 4, !tbaa !11
  %4066 = load float, ptr %54, align 4, !tbaa !11
  %4067 = fmul float %4065, %4066
  store float %4067, ptr %38, align 4, !tbaa !11
  %4068 = load ptr, ptr %18, align 8, !tbaa !5
  %4069 = load ptr, ptr %20, align 8, !tbaa !5
  %4070 = load i32, ptr %50, align 4, !tbaa !9
  %4071 = load i32, ptr %29, align 4, !tbaa !9
  %4072 = mul nsw i32 %4070, %4071
  %4073 = add nsw i32 %4072, 1
  %4074 = sext i32 %4073 to i64
  %4075 = getelementptr inbounds float, ptr %4069, i64 %4074
  %4076 = load ptr, ptr %20, align 8, !tbaa !5
  %4077 = load i32, ptr %51, align 4, !tbaa !9
  %4078 = load i32, ptr %29, align 4, !tbaa !9
  %4079 = mul nsw i32 %4077, %4078
  %4080 = add nsw i32 %4079, 1
  %4081 = sext i32 %4080 to i64
  %4082 = getelementptr inbounds float, ptr %4076, i64 %4081
  call void @saxpy_(ptr noundef %4068, ptr noundef %38, ptr noundef %4075, ptr noundef @c__1, ptr noundef %4082, ptr noundef @c__1)
  %4083 = load float, ptr %72, align 4, !tbaa !11
  %4084 = fneg float %4083
  %4085 = load float, ptr %73, align 4, !tbaa !11
  %4086 = fmul float %4084, %4085
  %4087 = load float, ptr %55, align 4, !tbaa !11
  %4088 = fmul float %4086, %4087
  store float %4088, ptr %38, align 4, !tbaa !11
  %4089 = load ptr, ptr %18, align 8, !tbaa !5
  %4090 = load ptr, ptr %20, align 8, !tbaa !5
  %4091 = load i32, ptr %51, align 4, !tbaa !9
  %4092 = load i32, ptr %29, align 4, !tbaa !9
  %4093 = mul nsw i32 %4091, %4092
  %4094 = add nsw i32 %4093, 1
  %4095 = sext i32 %4094 to i64
  %4096 = getelementptr inbounds float, ptr %4090, i64 %4095
  %4097 = load ptr, ptr %20, align 8, !tbaa !5
  %4098 = load i32, ptr %50, align 4, !tbaa !9
  %4099 = load i32, ptr %29, align 4, !tbaa !9
  %4100 = mul nsw i32 %4098, %4099
  %4101 = add nsw i32 %4100, 1
  %4102 = sext i32 %4101 to i64
  %4103 = getelementptr inbounds float, ptr %4097, i64 %4102
  call void @saxpy_(ptr noundef %4089, ptr noundef %38, ptr noundef %4096, ptr noundef @c__1, ptr noundef %4103, ptr noundef @c__1)
  %4104 = load float, ptr %72, align 4, !tbaa !11
  %4105 = load ptr, ptr %26, align 8, !tbaa !5
  %4106 = load i32, ptr %50, align 4, !tbaa !9
  %4107 = sext i32 %4106 to i64
  %4108 = getelementptr inbounds float, ptr %4105, i64 %4107
  %4109 = load float, ptr %4108, align 4, !tbaa !11
  %4110 = fdiv float %4109, %4104
  store float %4110, ptr %4108, align 4, !tbaa !11
  %4111 = load float, ptr %72, align 4, !tbaa !11
  %4112 = load ptr, ptr %26, align 8, !tbaa !5
  %4113 = load i32, ptr %51, align 4, !tbaa !9
  %4114 = sext i32 %4113 to i64
  %4115 = getelementptr inbounds float, ptr %4112, i64 %4114
  %4116 = load float, ptr %4115, align 4, !tbaa !11
  %4117 = fmul float %4116, %4111
  store float %4117, ptr %4115, align 4, !tbaa !11
  %4118 = load i32, ptr %63, align 4, !tbaa !9
  %4119 = icmp ne i32 %4118, 0
  br i1 %4119, label %4120, label %4158

4120:                                             ; preds = %4064
  %4121 = load float, ptr %52, align 4, !tbaa !11
  %4122 = load float, ptr %54, align 4, !tbaa !11
  %4123 = fmul float %4121, %4122
  store float %4123, ptr %38, align 4, !tbaa !11
  %4124 = load ptr, ptr %24, align 8, !tbaa !5
  %4125 = load i32, ptr %50, align 4, !tbaa !9
  %4126 = load i32, ptr %31, align 4, !tbaa !9
  %4127 = mul nsw i32 %4125, %4126
  %4128 = add nsw i32 %4127, 1
  %4129 = sext i32 %4128 to i64
  %4130 = getelementptr inbounds float, ptr %4124, i64 %4129
  %4131 = load ptr, ptr %24, align 8, !tbaa !5
  %4132 = load i32, ptr %51, align 4, !tbaa !9
  %4133 = load i32, ptr %31, align 4, !tbaa !9
  %4134 = mul nsw i32 %4132, %4133
  %4135 = add nsw i32 %4134, 1
  %4136 = sext i32 %4135 to i64
  %4137 = getelementptr inbounds float, ptr %4131, i64 %4136
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %4130, ptr noundef @c__1, ptr noundef %4137, ptr noundef @c__1)
  %4138 = load float, ptr %72, align 4, !tbaa !11
  %4139 = fneg float %4138
  %4140 = load float, ptr %73, align 4, !tbaa !11
  %4141 = fmul float %4139, %4140
  %4142 = load float, ptr %55, align 4, !tbaa !11
  %4143 = fmul float %4141, %4142
  store float %4143, ptr %38, align 4, !tbaa !11
  %4144 = load ptr, ptr %24, align 8, !tbaa !5
  %4145 = load i32, ptr %51, align 4, !tbaa !9
  %4146 = load i32, ptr %31, align 4, !tbaa !9
  %4147 = mul nsw i32 %4145, %4146
  %4148 = add nsw i32 %4147, 1
  %4149 = sext i32 %4148 to i64
  %4150 = getelementptr inbounds float, ptr %4144, i64 %4149
  %4151 = load ptr, ptr %24, align 8, !tbaa !5
  %4152 = load i32, ptr %50, align 4, !tbaa !9
  %4153 = load i32, ptr %31, align 4, !tbaa !9
  %4154 = mul nsw i32 %4152, %4153
  %4155 = add nsw i32 %4154, 1
  %4156 = sext i32 %4155 to i64
  %4157 = getelementptr inbounds float, ptr %4151, i64 %4156
  call void @saxpy_(ptr noundef %95, ptr noundef %38, ptr noundef %4150, ptr noundef @c__1, ptr noundef %4157, ptr noundef @c__1)
  br label %4158

4158:                                             ; preds = %4120, %4064
  br label %4159

4159:                                             ; preds = %4158, %4063
  br label %4160

4160:                                             ; preds = %4159, %3942
  br label %4161

4161:                                             ; preds = %4160, %3854
  br label %4162

4162:                                             ; preds = %4161, %3543
  br label %4370

4163:                                             ; preds = %3369
  %4164 = load float, ptr %40, align 4, !tbaa !11
  %4165 = load float, ptr %42, align 4, !tbaa !11
  %4166 = fcmp ogt float %4164, %4165
  br i1 %4166, label %4167, label %4268

4167:                                             ; preds = %4163
  %4168 = load ptr, ptr %18, align 8, !tbaa !5
  %4169 = load ptr, ptr %20, align 8, !tbaa !5
  %4170 = load i32, ptr %50, align 4, !tbaa !9
  %4171 = load i32, ptr %29, align 4, !tbaa !9
  %4172 = mul nsw i32 %4170, %4171
  %4173 = add nsw i32 %4172, 1
  %4174 = sext i32 %4173 to i64
  %4175 = getelementptr inbounds float, ptr %4169, i64 %4174
  %4176 = load ptr, ptr %26, align 8, !tbaa !5
  %4177 = load ptr, ptr %19, align 8, !tbaa !5
  %4178 = load i32, ptr %4177, align 4, !tbaa !9
  %4179 = add nsw i32 %4178, 1
  %4180 = sext i32 %4179 to i64
  %4181 = getelementptr inbounds float, ptr %4176, i64 %4180
  call void @scopy_(ptr noundef %4168, ptr noundef %4175, ptr noundef @c__1, ptr noundef %4181, ptr noundef @c__1)
  %4182 = load ptr, ptr %18, align 8, !tbaa !5
  %4183 = load ptr, ptr %26, align 8, !tbaa !5
  %4184 = load ptr, ptr %19, align 8, !tbaa !5
  %4185 = load i32, ptr %4184, align 4, !tbaa !9
  %4186 = add nsw i32 %4185, 1
  %4187 = sext i32 %4186 to i64
  %4188 = getelementptr inbounds float, ptr %4183, i64 %4187
  %4189 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %40, ptr noundef @c_b18, ptr noundef %4182, ptr noundef @c__1, ptr noundef %4188, ptr noundef %4189, ptr noundef %44)
  %4190 = load ptr, ptr %18, align 8, !tbaa !5
  %4191 = load ptr, ptr %20, align 8, !tbaa !5
  %4192 = load i32, ptr %51, align 4, !tbaa !9
  %4193 = load i32, ptr %29, align 4, !tbaa !9
  %4194 = mul nsw i32 %4192, %4193
  %4195 = add nsw i32 %4194, 1
  %4196 = sext i32 %4195 to i64
  %4197 = getelementptr inbounds float, ptr %4191, i64 %4196
  %4198 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %42, ptr noundef @c_b18, ptr noundef %4190, ptr noundef @c__1, ptr noundef %4197, ptr noundef %4198, ptr noundef %44)
  %4199 = load float, ptr %41, align 4, !tbaa !11
  %4200 = fneg float %4199
  %4201 = load ptr, ptr %26, align 8, !tbaa !5
  %4202 = load i32, ptr %50, align 4, !tbaa !9
  %4203 = sext i32 %4202 to i64
  %4204 = getelementptr inbounds float, ptr %4201, i64 %4203
  %4205 = load float, ptr %4204, align 4, !tbaa !11
  %4206 = fmul float %4200, %4205
  %4207 = load ptr, ptr %26, align 8, !tbaa !5
  %4208 = load i32, ptr %51, align 4, !tbaa !9
  %4209 = sext i32 %4208 to i64
  %4210 = getelementptr inbounds float, ptr %4207, i64 %4209
  %4211 = load float, ptr %4210, align 4, !tbaa !11
  %4212 = fdiv float %4206, %4211
  store float %4212, ptr %48, align 4, !tbaa !11
  %4213 = load ptr, ptr %18, align 8, !tbaa !5
  %4214 = load ptr, ptr %26, align 8, !tbaa !5
  %4215 = load ptr, ptr %19, align 8, !tbaa !5
  %4216 = load i32, ptr %4215, align 4, !tbaa !9
  %4217 = add nsw i32 %4216, 1
  %4218 = sext i32 %4217 to i64
  %4219 = getelementptr inbounds float, ptr %4214, i64 %4218
  %4220 = load ptr, ptr %20, align 8, !tbaa !5
  %4221 = load i32, ptr %51, align 4, !tbaa !9
  %4222 = load i32, ptr %29, align 4, !tbaa !9
  %4223 = mul nsw i32 %4221, %4222
  %4224 = add nsw i32 %4223, 1
  %4225 = sext i32 %4224 to i64
  %4226 = getelementptr inbounds float, ptr %4220, i64 %4225
  call void @saxpy_(ptr noundef %4213, ptr noundef %48, ptr noundef %4219, ptr noundef @c__1, ptr noundef %4226, ptr noundef @c__1)
  %4227 = load ptr, ptr %18, align 8, !tbaa !5
  %4228 = load ptr, ptr %20, align 8, !tbaa !5
  %4229 = load i32, ptr %51, align 4, !tbaa !9
  %4230 = load i32, ptr %29, align 4, !tbaa !9
  %4231 = mul nsw i32 %4229, %4230
  %4232 = add nsw i32 %4231, 1
  %4233 = sext i32 %4232 to i64
  %4234 = getelementptr inbounds float, ptr %4228, i64 %4233
  %4235 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %42, ptr noundef %4227, ptr noundef @c__1, ptr noundef %4234, ptr noundef %4235, ptr noundef %44)
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %4236 = load float, ptr %41, align 4, !tbaa !11
  %4237 = load float, ptr %41, align 4, !tbaa !11
  %4238 = fneg float %4236
  %4239 = call float @llvm.fmuladd.f32(float %4238, float %4237, float 1.000000e+00)
  store float %4239, ptr %39, align 4, !tbaa !11
  %4240 = load float, ptr %42, align 4, !tbaa !11
  %4241 = fpext float %4240 to double
  %4242 = load float, ptr %38, align 4, !tbaa !11
  %4243 = load float, ptr %39, align 4, !tbaa !11
  %4244 = fcmp oge float %4242, %4243
  br i1 %4244, label %4245, label %4247

4245:                                             ; preds = %4167
  %4246 = load float, ptr %38, align 4, !tbaa !11
  br label %4249

4247:                                             ; preds = %4167
  %4248 = load float, ptr %39, align 4, !tbaa !11
  br label %4249

4249:                                             ; preds = %4247, %4245
  %4250 = phi float [ %4246, %4245 ], [ %4248, %4247 ]
  %4251 = fpext float %4250 to double
  %4252 = call double @sqrt(double noundef %4251) #5
  %4253 = fmul double %4241, %4252
  %4254 = fptrunc double %4253 to float
  %4255 = load ptr, ptr %22, align 8, !tbaa !5
  %4256 = load i32, ptr %51, align 4, !tbaa !9
  %4257 = sext i32 %4256 to i64
  %4258 = getelementptr inbounds float, ptr %4255, i64 %4257
  store float %4254, ptr %4258, align 4, !tbaa !11
  %4259 = load float, ptr %79, align 4, !tbaa !11
  %4260 = load float, ptr %58, align 4, !tbaa !11
  %4261 = fcmp oge float %4259, %4260
  br i1 %4261, label %4262, label %4264

4262:                                             ; preds = %4249
  %4263 = load float, ptr %79, align 4, !tbaa !11
  br label %4266

4264:                                             ; preds = %4249
  %4265 = load float, ptr %58, align 4, !tbaa !11
  br label %4266

4266:                                             ; preds = %4264, %4262
  %4267 = phi float [ %4263, %4262 ], [ %4265, %4264 ]
  store float %4267, ptr %79, align 4, !tbaa !11
  br label %4369

4268:                                             ; preds = %4163
  %4269 = load ptr, ptr %18, align 8, !tbaa !5
  %4270 = load ptr, ptr %20, align 8, !tbaa !5
  %4271 = load i32, ptr %51, align 4, !tbaa !9
  %4272 = load i32, ptr %29, align 4, !tbaa !9
  %4273 = mul nsw i32 %4271, %4272
  %4274 = add nsw i32 %4273, 1
  %4275 = sext i32 %4274 to i64
  %4276 = getelementptr inbounds float, ptr %4270, i64 %4275
  %4277 = load ptr, ptr %26, align 8, !tbaa !5
  %4278 = load ptr, ptr %19, align 8, !tbaa !5
  %4279 = load i32, ptr %4278, align 4, !tbaa !9
  %4280 = add nsw i32 %4279, 1
  %4281 = sext i32 %4280 to i64
  %4282 = getelementptr inbounds float, ptr %4277, i64 %4281
  call void @scopy_(ptr noundef %4269, ptr noundef %4276, ptr noundef @c__1, ptr noundef %4282, ptr noundef @c__1)
  %4283 = load ptr, ptr %18, align 8, !tbaa !5
  %4284 = load ptr, ptr %26, align 8, !tbaa !5
  %4285 = load ptr, ptr %19, align 8, !tbaa !5
  %4286 = load i32, ptr %4285, align 4, !tbaa !9
  %4287 = add nsw i32 %4286, 1
  %4288 = sext i32 %4287 to i64
  %4289 = getelementptr inbounds float, ptr %4284, i64 %4288
  %4290 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %42, ptr noundef @c_b18, ptr noundef %4283, ptr noundef @c__1, ptr noundef %4289, ptr noundef %4290, ptr noundef %44)
  %4291 = load ptr, ptr %18, align 8, !tbaa !5
  %4292 = load ptr, ptr %20, align 8, !tbaa !5
  %4293 = load i32, ptr %50, align 4, !tbaa !9
  %4294 = load i32, ptr %29, align 4, !tbaa !9
  %4295 = mul nsw i32 %4293, %4294
  %4296 = add nsw i32 %4295, 1
  %4297 = sext i32 %4296 to i64
  %4298 = getelementptr inbounds float, ptr %4292, i64 %4297
  %4299 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %40, ptr noundef @c_b18, ptr noundef %4291, ptr noundef @c__1, ptr noundef %4298, ptr noundef %4299, ptr noundef %44)
  %4300 = load float, ptr %41, align 4, !tbaa !11
  %4301 = fneg float %4300
  %4302 = load ptr, ptr %26, align 8, !tbaa !5
  %4303 = load i32, ptr %51, align 4, !tbaa !9
  %4304 = sext i32 %4303 to i64
  %4305 = getelementptr inbounds float, ptr %4302, i64 %4304
  %4306 = load float, ptr %4305, align 4, !tbaa !11
  %4307 = fmul float %4301, %4306
  %4308 = load ptr, ptr %26, align 8, !tbaa !5
  %4309 = load i32, ptr %50, align 4, !tbaa !9
  %4310 = sext i32 %4309 to i64
  %4311 = getelementptr inbounds float, ptr %4308, i64 %4310
  %4312 = load float, ptr %4311, align 4, !tbaa !11
  %4313 = fdiv float %4307, %4312
  store float %4313, ptr %48, align 4, !tbaa !11
  %4314 = load ptr, ptr %18, align 8, !tbaa !5
  %4315 = load ptr, ptr %26, align 8, !tbaa !5
  %4316 = load ptr, ptr %19, align 8, !tbaa !5
  %4317 = load i32, ptr %4316, align 4, !tbaa !9
  %4318 = add nsw i32 %4317, 1
  %4319 = sext i32 %4318 to i64
  %4320 = getelementptr inbounds float, ptr %4315, i64 %4319
  %4321 = load ptr, ptr %20, align 8, !tbaa !5
  %4322 = load i32, ptr %50, align 4, !tbaa !9
  %4323 = load i32, ptr %29, align 4, !tbaa !9
  %4324 = mul nsw i32 %4322, %4323
  %4325 = add nsw i32 %4324, 1
  %4326 = sext i32 %4325 to i64
  %4327 = getelementptr inbounds float, ptr %4321, i64 %4326
  call void @saxpy_(ptr noundef %4314, ptr noundef %48, ptr noundef %4320, ptr noundef @c__1, ptr noundef %4327, ptr noundef @c__1)
  %4328 = load ptr, ptr %18, align 8, !tbaa !5
  %4329 = load ptr, ptr %20, align 8, !tbaa !5
  %4330 = load i32, ptr %50, align 4, !tbaa !9
  %4331 = load i32, ptr %29, align 4, !tbaa !9
  %4332 = mul nsw i32 %4330, %4331
  %4333 = add nsw i32 %4332, 1
  %4334 = sext i32 %4333 to i64
  %4335 = getelementptr inbounds float, ptr %4329, i64 %4334
  %4336 = load ptr, ptr %21, align 8, !tbaa !5
  call void @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %40, ptr noundef %4328, ptr noundef @c__1, ptr noundef %4335, ptr noundef %4336, ptr noundef %44)
  store float 0.000000e+00, ptr %38, align 4, !tbaa !11
  %4337 = load float, ptr %41, align 4, !tbaa !11
  %4338 = load float, ptr %41, align 4, !tbaa !11
  %4339 = fneg float %4337
  %4340 = call float @llvm.fmuladd.f32(float %4339, float %4338, float 1.000000e+00)
  store float %4340, ptr %39, align 4, !tbaa !11
  %4341 = load float, ptr %40, align 4, !tbaa !11
  %4342 = fpext float %4341 to double
  %4343 = load float, ptr %38, align 4, !tbaa !11
  %4344 = load float, ptr %39, align 4, !tbaa !11
  %4345 = fcmp oge float %4343, %4344
  br i1 %4345, label %4346, label %4348

4346:                                             ; preds = %4268
  %4347 = load float, ptr %38, align 4, !tbaa !11
  br label %4350

4348:                                             ; preds = %4268
  %4349 = load float, ptr %39, align 4, !tbaa !11
  br label %4350

4350:                                             ; preds = %4348, %4346
  %4351 = phi float [ %4347, %4346 ], [ %4349, %4348 ]
  %4352 = fpext float %4351 to double
  %4353 = call double @sqrt(double noundef %4352) #5
  %4354 = fmul double %4342, %4353
  %4355 = fptrunc double %4354 to float
  %4356 = load ptr, ptr %22, align 8, !tbaa !5
  %4357 = load i32, ptr %50, align 4, !tbaa !9
  %4358 = sext i32 %4357 to i64
  %4359 = getelementptr inbounds float, ptr %4356, i64 %4358
  store float %4355, ptr %4359, align 4, !tbaa !11
  %4360 = load float, ptr %79, align 4, !tbaa !11
  %4361 = load float, ptr %58, align 4, !tbaa !11
  %4362 = fcmp oge float %4360, %4361
  br i1 %4362, label %4363, label %4365

4363:                                             ; preds = %4350
  %4364 = load float, ptr %79, align 4, !tbaa !11
  br label %4367

4365:                                             ; preds = %4350
  %4366 = load float, ptr %58, align 4, !tbaa !11
  br label %4367

4367:                                             ; preds = %4365, %4363
  %4368 = phi float [ %4364, %4363 ], [ %4366, %4365 ]
  store float %4368, ptr %79, align 4, !tbaa !11
  br label %4369

4369:                                             ; preds = %4367, %4266
  br label %4370

4370:                                             ; preds = %4369, %4162
  %4371 = load ptr, ptr %22, align 8, !tbaa !5
  %4372 = load i32, ptr %51, align 4, !tbaa !9
  %4373 = sext i32 %4372 to i64
  %4374 = getelementptr inbounds float, ptr %4371, i64 %4373
  %4375 = load float, ptr %4374, align 4, !tbaa !11
  %4376 = load float, ptr %42, align 4, !tbaa !11
  %4377 = fdiv float %4375, %4376
  store float %4377, ptr %38, align 4, !tbaa !11
  %4378 = load float, ptr %38, align 4, !tbaa !11
  %4379 = load float, ptr %38, align 4, !tbaa !11
  %4380 = fmul float %4378, %4379
  %4381 = load float, ptr %98, align 4, !tbaa !11
  %4382 = fcmp ole float %4380, %4381
  br i1 %4382, label %4383, label %4439

4383:                                             ; preds = %4370
  %4384 = load float, ptr %42, align 4, !tbaa !11
  %4385 = load float, ptr %97, align 4, !tbaa !11
  %4386 = fcmp olt float %4384, %4385
  br i1 %4386, label %4387, label %4411

4387:                                             ; preds = %4383
  %4388 = load float, ptr %42, align 4, !tbaa !11
  %4389 = load float, ptr %70, align 4, !tbaa !11
  %4390 = fcmp ogt float %4388, %4389
  br i1 %4390, label %4391, label %4411

4391:                                             ; preds = %4387
  %4392 = load ptr, ptr %18, align 8, !tbaa !5
  %4393 = load ptr, ptr %20, align 8, !tbaa !5
  %4394 = load i32, ptr %51, align 4, !tbaa !9
  %4395 = load i32, ptr %29, align 4, !tbaa !9
  %4396 = mul nsw i32 %4394, %4395
  %4397 = add nsw i32 %4396, 1
  %4398 = sext i32 %4397 to i64
  %4399 = getelementptr inbounds float, ptr %4393, i64 %4398
  %4400 = call float @snrm2_(ptr noundef %4392, ptr noundef %4399, ptr noundef @c__1)
  %4401 = load ptr, ptr %26, align 8, !tbaa !5
  %4402 = load i32, ptr %51, align 4, !tbaa !9
  %4403 = sext i32 %4402 to i64
  %4404 = getelementptr inbounds float, ptr %4401, i64 %4403
  %4405 = load float, ptr %4404, align 4, !tbaa !11
  %4406 = fmul float %4400, %4405
  %4407 = load ptr, ptr %22, align 8, !tbaa !5
  %4408 = load i32, ptr %51, align 4, !tbaa !9
  %4409 = sext i32 %4408 to i64
  %4410 = getelementptr inbounds float, ptr %4407, i64 %4409
  store float %4406, ptr %4410, align 4, !tbaa !11
  br label %4438

4411:                                             ; preds = %4387, %4383
  store float 0.000000e+00, ptr %52, align 4, !tbaa !11
  store float 1.000000e+00, ptr %42, align 4, !tbaa !11
  %4412 = load ptr, ptr %18, align 8, !tbaa !5
  %4413 = load ptr, ptr %20, align 8, !tbaa !5
  %4414 = load i32, ptr %51, align 4, !tbaa !9
  %4415 = load i32, ptr %29, align 4, !tbaa !9
  %4416 = mul nsw i32 %4414, %4415
  %4417 = add nsw i32 %4416, 1
  %4418 = sext i32 %4417 to i64
  %4419 = getelementptr inbounds float, ptr %4413, i64 %4418
  call void @slassq_(ptr noundef %4412, ptr noundef %4419, ptr noundef @c__1, ptr noundef %52, ptr noundef %42)
  %4420 = load float, ptr %52, align 4, !tbaa !11
  %4421 = fpext float %4420 to double
  %4422 = load float, ptr %42, align 4, !tbaa !11
  %4423 = fpext float %4422 to double
  %4424 = call double @sqrt(double noundef %4423) #5
  %4425 = fmul double %4421, %4424
  %4426 = load ptr, ptr %26, align 8, !tbaa !5
  %4427 = load i32, ptr %51, align 4, !tbaa !9
  %4428 = sext i32 %4427 to i64
  %4429 = getelementptr inbounds float, ptr %4426, i64 %4428
  %4430 = load float, ptr %4429, align 4, !tbaa !11
  %4431 = fpext float %4430 to double
  %4432 = fmul double %4425, %4431
  %4433 = fptrunc double %4432 to float
  %4434 = load ptr, ptr %22, align 8, !tbaa !5
  %4435 = load i32, ptr %51, align 4, !tbaa !9
  %4436 = sext i32 %4435 to i64
  %4437 = getelementptr inbounds float, ptr %4434, i64 %4436
  store float %4433, ptr %4437, align 4, !tbaa !11
  br label %4438

4438:                                             ; preds = %4411, %4391
  br label %4439

4439:                                             ; preds = %4438, %4370
  %4440 = load float, ptr %40, align 4, !tbaa !11
  %4441 = load float, ptr %47, align 4, !tbaa !11
  %4442 = fdiv float %4440, %4441
  store float %4442, ptr %38, align 4, !tbaa !11
  %4443 = load float, ptr %38, align 4, !tbaa !11
  %4444 = load float, ptr %38, align 4, !tbaa !11
  %4445 = fmul float %4443, %4444
  %4446 = load float, ptr %98, align 4, !tbaa !11
  %4447 = fcmp ole float %4445, %4446
  br i1 %4447, label %4448, label %4501

4448:                                             ; preds = %4439
  %4449 = load float, ptr %40, align 4, !tbaa !11
  %4450 = load float, ptr %97, align 4, !tbaa !11
  %4451 = fcmp olt float %4449, %4450
  br i1 %4451, label %4452, label %4472

4452:                                             ; preds = %4448
  %4453 = load float, ptr %40, align 4, !tbaa !11
  %4454 = load float, ptr %70, align 4, !tbaa !11
  %4455 = fcmp ogt float %4453, %4454
  br i1 %4455, label %4456, label %4472

4456:                                             ; preds = %4452
  %4457 = load ptr, ptr %18, align 8, !tbaa !5
  %4458 = load ptr, ptr %20, align 8, !tbaa !5
  %4459 = load i32, ptr %50, align 4, !tbaa !9
  %4460 = load i32, ptr %29, align 4, !tbaa !9
  %4461 = mul nsw i32 %4459, %4460
  %4462 = add nsw i32 %4461, 1
  %4463 = sext i32 %4462 to i64
  %4464 = getelementptr inbounds float, ptr %4458, i64 %4463
  %4465 = call float @snrm2_(ptr noundef %4457, ptr noundef %4464, ptr noundef @c__1)
  %4466 = load ptr, ptr %26, align 8, !tbaa !5
  %4467 = load i32, ptr %50, align 4, !tbaa !9
  %4468 = sext i32 %4467 to i64
  %4469 = getelementptr inbounds float, ptr %4466, i64 %4468
  %4470 = load float, ptr %4469, align 4, !tbaa !11
  %4471 = fmul float %4465, %4470
  store float %4471, ptr %40, align 4, !tbaa !11
  br label %4495

4472:                                             ; preds = %4452, %4448
  store float 0.000000e+00, ptr %52, align 4, !tbaa !11
  store float 1.000000e+00, ptr %40, align 4, !tbaa !11
  %4473 = load ptr, ptr %18, align 8, !tbaa !5
  %4474 = load ptr, ptr %20, align 8, !tbaa !5
  %4475 = load i32, ptr %50, align 4, !tbaa !9
  %4476 = load i32, ptr %29, align 4, !tbaa !9
  %4477 = mul nsw i32 %4475, %4476
  %4478 = add nsw i32 %4477, 1
  %4479 = sext i32 %4478 to i64
  %4480 = getelementptr inbounds float, ptr %4474, i64 %4479
  call void @slassq_(ptr noundef %4473, ptr noundef %4480, ptr noundef @c__1, ptr noundef %52, ptr noundef %40)
  %4481 = load float, ptr %52, align 4, !tbaa !11
  %4482 = fpext float %4481 to double
  %4483 = load float, ptr %40, align 4, !tbaa !11
  %4484 = fpext float %4483 to double
  %4485 = call double @sqrt(double noundef %4484) #5
  %4486 = fmul double %4482, %4485
  %4487 = load ptr, ptr %26, align 8, !tbaa !5
  %4488 = load i32, ptr %50, align 4, !tbaa !9
  %4489 = sext i32 %4488 to i64
  %4490 = getelementptr inbounds float, ptr %4487, i64 %4489
  %4491 = load float, ptr %4490, align 4, !tbaa !11
  %4492 = fpext float %4491 to double
  %4493 = fmul double %4486, %4492
  %4494 = fptrunc double %4493 to float
  store float %4494, ptr %40, align 4, !tbaa !11
  br label %4495

4495:                                             ; preds = %4472, %4456
  %4496 = load float, ptr %40, align 4, !tbaa !11
  %4497 = load ptr, ptr %22, align 8, !tbaa !5
  %4498 = load i32, ptr %50, align 4, !tbaa !9
  %4499 = sext i32 %4498 to i64
  %4500 = getelementptr inbounds float, ptr %4497, i64 %4499
  store float %4496, ptr %4500, align 4, !tbaa !11
  br label %4501

4501:                                             ; preds = %4495, %4439
  br label %4509

4502:                                             ; preds = %3365
  %4503 = load i32, ptr %82, align 4, !tbaa !9
  %4504 = add nsw i32 %4503, 1
  store i32 %4504, ptr %82, align 4, !tbaa !9
  %4505 = load i32, ptr %46, align 4, !tbaa !9
  %4506 = add nsw i32 %4505, 1
  store i32 %4506, ptr %46, align 4, !tbaa !9
  %4507 = load i32, ptr %74, align 4, !tbaa !9
  %4508 = add nsw i32 %4507, 1
  store i32 %4508, ptr %74, align 4, !tbaa !9
  br label %4509

4509:                                             ; preds = %4502, %4501
  br label %4517

4510:                                             ; preds = %3110
  %4511 = load i32, ptr %82, align 4, !tbaa !9
  %4512 = add nsw i32 %4511, 1
  store i32 %4512, ptr %82, align 4, !tbaa !9
  %4513 = load i32, ptr %46, align 4, !tbaa !9
  %4514 = add nsw i32 %4513, 1
  store i32 %4514, ptr %46, align 4, !tbaa !9
  %4515 = load i32, ptr %74, align 4, !tbaa !9
  %4516 = add nsw i32 %4515, 1
  store i32 %4516, ptr %74, align 4, !tbaa !9
  br label %4517

4517:                                             ; preds = %4510, %4509
  %4518 = load i32, ptr %49, align 4, !tbaa !9
  %4519 = load i32, ptr %75, align 4, !tbaa !9
  %4520 = icmp sle i32 %4518, %4519
  br i1 %4520, label %4521, label %4531

4521:                                             ; preds = %4517
  %4522 = load i32, ptr %74, align 4, !tbaa !9
  %4523 = load i32, ptr %76, align 4, !tbaa !9
  %4524 = icmp sge i32 %4522, %4523
  br i1 %4524, label %4525, label %4531

4525:                                             ; preds = %4521
  %4526 = load float, ptr %40, align 4, !tbaa !11
  %4527 = load ptr, ptr %22, align 8, !tbaa !5
  %4528 = load i32, ptr %50, align 4, !tbaa !9
  %4529 = sext i32 %4528 to i64
  %4530 = getelementptr inbounds float, ptr %4527, i64 %4529
  store float %4526, ptr %4530, align 4, !tbaa !11
  store i32 0, ptr %82, align 4, !tbaa !9
  br label %4591

4531:                                             ; preds = %4521, %4517
  %4532 = load i32, ptr %49, align 4, !tbaa !9
  %4533 = load i32, ptr %75, align 4, !tbaa !9
  %4534 = icmp sle i32 %4532, %4533
  br i1 %4534, label %4535, label %4542

4535:                                             ; preds = %4531
  %4536 = load i32, ptr %46, align 4, !tbaa !9
  %4537 = load i32, ptr %99, align 4, !tbaa !9
  %4538 = icmp sgt i32 %4536, %4537
  br i1 %4538, label %4539, label %4542

4539:                                             ; preds = %4535
  %4540 = load float, ptr %40, align 4, !tbaa !11
  %4541 = fneg float %4540
  store float %4541, ptr %40, align 4, !tbaa !11
  store i32 0, ptr %82, align 4, !tbaa !9
  br label %4547

4542:                                             ; preds = %4535, %4531
  br label %4543

4543:                                             ; preds = %4542
  %4544 = load i32, ptr %51, align 4, !tbaa !9
  %4545 = add nsw i32 %4544, 1
  store i32 %4545, ptr %51, align 4, !tbaa !9
  br label %3106, !llvm.loop !25

4546:                                             ; preds = %3106
  br label %4547

4547:                                             ; preds = %4546, %4539
  %4548 = load float, ptr %40, align 4, !tbaa !11
  %4549 = load ptr, ptr %22, align 8, !tbaa !5
  %4550 = load i32, ptr %50, align 4, !tbaa !9
  %4551 = sext i32 %4550 to i64
  %4552 = getelementptr inbounds float, ptr %4549, i64 %4551
  store float %4548, ptr %4552, align 4, !tbaa !11
  br label %4582

4553:                                             ; preds = %3081
  %4554 = load float, ptr %40, align 4, !tbaa !11
  %4555 = fcmp oeq float %4554, 0.000000e+00
  br i1 %4555, label %4556, label %4577

4556:                                             ; preds = %4553
  %4557 = load i32, ptr %90, align 4, !tbaa !9
  %4558 = load i32, ptr %86, align 4, !tbaa !9
  %4559 = add nsw i32 %4557, %4558
  %4560 = sub nsw i32 %4559, 1
  store i32 %4560, ptr %36, align 4, !tbaa !9
  %4561 = load i32, ptr %82, align 4, !tbaa !9
  %4562 = load i32, ptr %36, align 4, !tbaa !9
  %4563 = load ptr, ptr %19, align 8, !tbaa !5
  %4564 = load i32, ptr %4563, align 4, !tbaa !9
  %4565 = icmp sle i32 %4562, %4564
  br i1 %4565, label %4566, label %4568

4566:                                             ; preds = %4556
  %4567 = load i32, ptr %36, align 4, !tbaa !9
  br label %4571

4568:                                             ; preds = %4556
  %4569 = load ptr, ptr %19, align 8, !tbaa !5
  %4570 = load i32, ptr %4569, align 4, !tbaa !9
  br label %4571

4571:                                             ; preds = %4568, %4566
  %4572 = phi i32 [ %4567, %4566 ], [ %4570, %4568 ]
  %4573 = add nsw i32 %4561, %4572
  %4574 = load i32, ptr %90, align 4, !tbaa !9
  %4575 = sub nsw i32 %4573, %4574
  %4576 = add nsw i32 %4575, 1
  store i32 %4576, ptr %82, align 4, !tbaa !9
  br label %4577

4577:                                             ; preds = %4571, %4553
  %4578 = load float, ptr %40, align 4, !tbaa !11
  %4579 = fcmp olt float %4578, 0.000000e+00
  br i1 %4579, label %4580, label %4581

4580:                                             ; preds = %4577
  store i32 0, ptr %82, align 4, !tbaa !9
  br label %4581

4581:                                             ; preds = %4580, %4577
  br label %4582

4582:                                             ; preds = %4581, %4547
  br label %4583

4583:                                             ; preds = %4582
  %4584 = load i32, ptr %50, align 4, !tbaa !9
  %4585 = add nsw i32 %4584, 1
  store i32 %4585, ptr %50, align 4, !tbaa !9
  br label %3077, !llvm.loop !26

4586:                                             ; preds = %3077
  br label %4587

4587:                                             ; preds = %4586
  %4588 = load i32, ptr %84, align 4, !tbaa !9
  %4589 = add nsw i32 %4588, 1
  store i32 %4589, ptr %84, align 4, !tbaa !9
  br label %3051, !llvm.loop !27

4590:                                             ; preds = %3051
  br label %4591

4591:                                             ; preds = %4590, %4525
  %4592 = load i32, ptr %88, align 4, !tbaa !9
  %4593 = load i32, ptr %86, align 4, !tbaa !9
  %4594 = add nsw i32 %4592, %4593
  %4595 = sub nsw i32 %4594, 1
  store i32 %4595, ptr %35, align 4, !tbaa !9
  %4596 = load i32, ptr %35, align 4, !tbaa !9
  %4597 = load ptr, ptr %19, align 8, !tbaa !5
  %4598 = load i32, ptr %4597, align 4, !tbaa !9
  %4599 = icmp sle i32 %4596, %4598
  br i1 %4599, label %4600, label %4602

4600:                                             ; preds = %4591
  %4601 = load i32, ptr %35, align 4, !tbaa !9
  br label %4605

4602:                                             ; preds = %4591
  %4603 = load ptr, ptr %19, align 8, !tbaa !5
  %4604 = load i32, ptr %4603, align 4, !tbaa !9
  br label %4605

4605:                                             ; preds = %4602, %4600
  %4606 = phi i32 [ %4601, %4600 ], [ %4604, %4602 ]
  store i32 %4606, ptr %34, align 4, !tbaa !9
  %4607 = load i32, ptr %88, align 4, !tbaa !9
  store i32 %4607, ptr %50, align 4, !tbaa !9
  br label %4608

4608:                                             ; preds = %4631, %4605
  %4609 = load i32, ptr %50, align 4, !tbaa !9
  %4610 = load i32, ptr %34, align 4, !tbaa !9
  %4611 = icmp sle i32 %4609, %4610
  br i1 %4611, label %4612, label %4634

4612:                                             ; preds = %4608
  %4613 = load ptr, ptr %22, align 8, !tbaa !5
  %4614 = load i32, ptr %50, align 4, !tbaa !9
  %4615 = sext i32 %4614 to i64
  %4616 = getelementptr inbounds float, ptr %4613, i64 %4615
  %4617 = load float, ptr %4616, align 4, !tbaa !11
  store float %4617, ptr %38, align 4, !tbaa !11
  %4618 = load float, ptr %38, align 4, !tbaa !11
  %4619 = fcmp oge float %4618, 0.000000e+00
  br i1 %4619, label %4620, label %4622

4620:                                             ; preds = %4612
  %4621 = load float, ptr %38, align 4, !tbaa !11
  br label %4625

4622:                                             ; preds = %4612
  %4623 = load float, ptr %38, align 4, !tbaa !11
  %4624 = fneg float %4623
  br label %4625

4625:                                             ; preds = %4622, %4620
  %4626 = phi float [ %4621, %4620 ], [ %4624, %4622 ]
  %4627 = load ptr, ptr %22, align 8, !tbaa !5
  %4628 = load i32, ptr %50, align 4, !tbaa !9
  %4629 = sext i32 %4628 to i64
  %4630 = getelementptr inbounds float, ptr %4627, i64 %4629
  store float %4626, ptr %4630, align 4, !tbaa !11
  br label %4631

4631:                                             ; preds = %4625
  %4632 = load i32, ptr %50, align 4, !tbaa !9
  %4633 = add nsw i32 %4632, 1
  store i32 %4633, ptr %50, align 4, !tbaa !9
  br label %4608, !llvm.loop !28

4634:                                             ; preds = %4608
  br label %4635

4635:                                             ; preds = %4634
  %4636 = load i32, ptr %89, align 4, !tbaa !9
  %4637 = add nsw i32 %4636, 1
  store i32 %4637, ptr %89, align 4, !tbaa !9
  br label %1462, !llvm.loop !29

4638:                                             ; preds = %1462
  %4639 = load ptr, ptr %22, align 8, !tbaa !5
  %4640 = load ptr, ptr %19, align 8, !tbaa !5
  %4641 = load i32, ptr %4640, align 4, !tbaa !9
  %4642 = sext i32 %4641 to i64
  %4643 = getelementptr inbounds float, ptr %4639, i64 %4642
  %4644 = load float, ptr %4643, align 4, !tbaa !11
  %4645 = load float, ptr %97, align 4, !tbaa !11
  %4646 = fcmp olt float %4644, %4645
  br i1 %4646, label %4647, label %4679

4647:                                             ; preds = %4638
  %4648 = load ptr, ptr %22, align 8, !tbaa !5
  %4649 = load ptr, ptr %19, align 8, !tbaa !5
  %4650 = load i32, ptr %4649, align 4, !tbaa !9
  %4651 = sext i32 %4650 to i64
  %4652 = getelementptr inbounds float, ptr %4648, i64 %4651
  %4653 = load float, ptr %4652, align 4, !tbaa !11
  %4654 = load float, ptr %70, align 4, !tbaa !11
  %4655 = fcmp ogt float %4653, %4654
  br i1 %4655, label %4656, label %4679

4656:                                             ; preds = %4647
  %4657 = load ptr, ptr %18, align 8, !tbaa !5
  %4658 = load ptr, ptr %20, align 8, !tbaa !5
  %4659 = load ptr, ptr %19, align 8, !tbaa !5
  %4660 = load i32, ptr %4659, align 4, !tbaa !9
  %4661 = load i32, ptr %29, align 4, !tbaa !9
  %4662 = mul nsw i32 %4660, %4661
  %4663 = add nsw i32 %4662, 1
  %4664 = sext i32 %4663 to i64
  %4665 = getelementptr inbounds float, ptr %4658, i64 %4664
  %4666 = call float @snrm2_(ptr noundef %4657, ptr noundef %4665, ptr noundef @c__1)
  %4667 = load ptr, ptr %26, align 8, !tbaa !5
  %4668 = load ptr, ptr %19, align 8, !tbaa !5
  %4669 = load i32, ptr %4668, align 4, !tbaa !9
  %4670 = sext i32 %4669 to i64
  %4671 = getelementptr inbounds float, ptr %4667, i64 %4670
  %4672 = load float, ptr %4671, align 4, !tbaa !11
  %4673 = fmul float %4666, %4672
  %4674 = load ptr, ptr %22, align 8, !tbaa !5
  %4675 = load ptr, ptr %19, align 8, !tbaa !5
  %4676 = load i32, ptr %4675, align 4, !tbaa !9
  %4677 = sext i32 %4676 to i64
  %4678 = getelementptr inbounds float, ptr %4674, i64 %4677
  store float %4673, ptr %4678, align 4, !tbaa !11
  br label %4709

4679:                                             ; preds = %4647, %4638
  store float 0.000000e+00, ptr %52, align 4, !tbaa !11
  store float 1.000000e+00, ptr %40, align 4, !tbaa !11
  %4680 = load ptr, ptr %18, align 8, !tbaa !5
  %4681 = load ptr, ptr %20, align 8, !tbaa !5
  %4682 = load ptr, ptr %19, align 8, !tbaa !5
  %4683 = load i32, ptr %4682, align 4, !tbaa !9
  %4684 = load i32, ptr %29, align 4, !tbaa !9
  %4685 = mul nsw i32 %4683, %4684
  %4686 = add nsw i32 %4685, 1
  %4687 = sext i32 %4686 to i64
  %4688 = getelementptr inbounds float, ptr %4681, i64 %4687
  call void @slassq_(ptr noundef %4680, ptr noundef %4688, ptr noundef @c__1, ptr noundef %52, ptr noundef %40)
  %4689 = load float, ptr %52, align 4, !tbaa !11
  %4690 = fpext float %4689 to double
  %4691 = load float, ptr %40, align 4, !tbaa !11
  %4692 = fpext float %4691 to double
  %4693 = call double @sqrt(double noundef %4692) #5
  %4694 = fmul double %4690, %4693
  %4695 = load ptr, ptr %26, align 8, !tbaa !5
  %4696 = load ptr, ptr %19, align 8, !tbaa !5
  %4697 = load i32, ptr %4696, align 4, !tbaa !9
  %4698 = sext i32 %4697 to i64
  %4699 = getelementptr inbounds float, ptr %4695, i64 %4698
  %4700 = load float, ptr %4699, align 4, !tbaa !11
  %4701 = fpext float %4700 to double
  %4702 = fmul double %4694, %4701
  %4703 = fptrunc double %4702 to float
  %4704 = load ptr, ptr %22, align 8, !tbaa !5
  %4705 = load ptr, ptr %19, align 8, !tbaa !5
  %4706 = load i32, ptr %4705, align 4, !tbaa !9
  %4707 = sext i32 %4706 to i64
  %4708 = getelementptr inbounds float, ptr %4704, i64 %4707
  store float %4703, ptr %4708, align 4, !tbaa !11
  br label %4709

4709:                                             ; preds = %4679, %4656
  %4710 = load i32, ptr %49, align 4, !tbaa !9
  %4711 = load i32, ptr %75, align 4, !tbaa !9
  %4712 = icmp slt i32 %4710, %4711
  br i1 %4712, label %4713, label %4724

4713:                                             ; preds = %4709
  %4714 = load float, ptr %77, align 4, !tbaa !11
  %4715 = load float, ptr %100, align 4, !tbaa !11
  %4716 = fcmp ole float %4714, %4715
  br i1 %4716, label %4722, label %4717

4717:                                             ; preds = %4713
  %4718 = load i32, ptr %83, align 4, !tbaa !9
  %4719 = load ptr, ptr %19, align 8, !tbaa !5
  %4720 = load i32, ptr %4719, align 4, !tbaa !9
  %4721 = icmp sle i32 %4718, %4720
  br i1 %4721, label %4722, label %4724

4722:                                             ; preds = %4717, %4713
  %4723 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %4723, ptr %75, align 4, !tbaa !9
  br label %4724

4724:                                             ; preds = %4722, %4717, %4709
  %4725 = load i32, ptr %49, align 4, !tbaa !9
  %4726 = load i32, ptr %75, align 4, !tbaa !9
  %4727 = add nsw i32 %4726, 1
  %4728 = icmp sgt i32 %4725, %4727
  br i1 %4728, label %4729, label %4752

4729:                                             ; preds = %4724
  %4730 = load float, ptr %77, align 4, !tbaa !11
  %4731 = fpext float %4730 to double
  %4732 = load ptr, ptr %19, align 8, !tbaa !5
  %4733 = load i32, ptr %4732, align 4, !tbaa !9
  %4734 = sitofp i32 %4733 to float
  %4735 = fpext float %4734 to double
  %4736 = call double @sqrt(double noundef %4735) #5
  %4737 = load float, ptr %94, align 4, !tbaa !11
  %4738 = fpext float %4737 to double
  %4739 = fmul double %4736, %4738
  %4740 = fcmp olt double %4731, %4739
  br i1 %4740, label %4741, label %4752

4741:                                             ; preds = %4729
  %4742 = load ptr, ptr %19, align 8, !tbaa !5
  %4743 = load i32, ptr %4742, align 4, !tbaa !9
  %4744 = sitofp i32 %4743 to float
  %4745 = load float, ptr %77, align 4, !tbaa !11
  %4746 = fmul float %4744, %4745
  %4747 = load float, ptr %79, align 4, !tbaa !11
  %4748 = fmul float %4746, %4747
  %4749 = load float, ptr %94, align 4, !tbaa !11
  %4750 = fcmp olt float %4748, %4749
  br i1 %4750, label %4751, label %4752

4751:                                             ; preds = %4741
  br label %4763

4752:                                             ; preds = %4741, %4729, %4724
  %4753 = load i32, ptr %82, align 4, !tbaa !9
  %4754 = load i32, ptr %81, align 4, !tbaa !9
  %4755 = icmp sge i32 %4753, %4754
  br i1 %4755, label %4756, label %4757

4756:                                             ; preds = %4752
  br label %4763

4757:                                             ; preds = %4752
  br label %4758

4758:                                             ; preds = %4757
  %4759 = load i32, ptr %49, align 4, !tbaa !9
  %4760 = add nsw i32 %4759, 1
  store i32 %4760, ptr %49, align 4, !tbaa !9
  br label %1457, !llvm.loop !30

4761:                                             ; preds = %1457
  %4762 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 29, ptr %4762, align 4, !tbaa !9
  br label %4765

4763:                                             ; preds = %4756, %4751
  %4764 = load ptr, ptr %28, align 8, !tbaa !5
  store i32 0, ptr %4764, align 4, !tbaa !9
  br label %4765

4765:                                             ; preds = %4763, %4761
  store i32 0, ptr %68, align 4, !tbaa !9
  store i32 0, ptr %69, align 4, !tbaa !9
  %4766 = load ptr, ptr %19, align 8, !tbaa !5
  %4767 = load i32, ptr %4766, align 4, !tbaa !9
  %4768 = sub nsw i32 %4767, 1
  store i32 %4768, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %4769

4769:                                             ; preds = %4886, %4765
  %4770 = load i32, ptr %50, align 4, !tbaa !9
  %4771 = load i32, ptr %33, align 4, !tbaa !9
  %4772 = icmp sle i32 %4770, %4771
  br i1 %4772, label %4773, label %4889

4773:                                             ; preds = %4769
  %4774 = load ptr, ptr %19, align 8, !tbaa !5
  %4775 = load i32, ptr %4774, align 4, !tbaa !9
  %4776 = load i32, ptr %50, align 4, !tbaa !9
  %4777 = sub nsw i32 %4775, %4776
  %4778 = add nsw i32 %4777, 1
  store i32 %4778, ptr %34, align 4, !tbaa !9
  %4779 = load ptr, ptr %22, align 8, !tbaa !5
  %4780 = load i32, ptr %50, align 4, !tbaa !9
  %4781 = sext i32 %4780 to i64
  %4782 = getelementptr inbounds float, ptr %4779, i64 %4781
  %4783 = call i32 @isamax_(ptr noundef %34, ptr noundef %4782, ptr noundef @c__1)
  %4784 = load i32, ptr %50, align 4, !tbaa !9
  %4785 = add nsw i32 %4783, %4784
  %4786 = sub nsw i32 %4785, 1
  store i32 %4786, ptr %51, align 4, !tbaa !9
  %4787 = load i32, ptr %50, align 4, !tbaa !9
  %4788 = load i32, ptr %51, align 4, !tbaa !9
  %4789 = icmp ne i32 %4787, %4788
  br i1 %4789, label %4790, label %4862

4790:                                             ; preds = %4773
  %4791 = load ptr, ptr %22, align 8, !tbaa !5
  %4792 = load i32, ptr %50, align 4, !tbaa !9
  %4793 = sext i32 %4792 to i64
  %4794 = getelementptr inbounds float, ptr %4791, i64 %4793
  %4795 = load float, ptr %4794, align 4, !tbaa !11
  store float %4795, ptr %48, align 4, !tbaa !11
  %4796 = load ptr, ptr %22, align 8, !tbaa !5
  %4797 = load i32, ptr %51, align 4, !tbaa !9
  %4798 = sext i32 %4797 to i64
  %4799 = getelementptr inbounds float, ptr %4796, i64 %4798
  %4800 = load float, ptr %4799, align 4, !tbaa !11
  %4801 = load ptr, ptr %22, align 8, !tbaa !5
  %4802 = load i32, ptr %50, align 4, !tbaa !9
  %4803 = sext i32 %4802 to i64
  %4804 = getelementptr inbounds float, ptr %4801, i64 %4803
  store float %4800, ptr %4804, align 4, !tbaa !11
  %4805 = load float, ptr %48, align 4, !tbaa !11
  %4806 = load ptr, ptr %22, align 8, !tbaa !5
  %4807 = load i32, ptr %51, align 4, !tbaa !9
  %4808 = sext i32 %4807 to i64
  %4809 = getelementptr inbounds float, ptr %4806, i64 %4808
  store float %4805, ptr %4809, align 4, !tbaa !11
  %4810 = load ptr, ptr %26, align 8, !tbaa !5
  %4811 = load i32, ptr %50, align 4, !tbaa !9
  %4812 = sext i32 %4811 to i64
  %4813 = getelementptr inbounds float, ptr %4810, i64 %4812
  %4814 = load float, ptr %4813, align 4, !tbaa !11
  store float %4814, ptr %48, align 4, !tbaa !11
  %4815 = load ptr, ptr %26, align 8, !tbaa !5
  %4816 = load i32, ptr %51, align 4, !tbaa !9
  %4817 = sext i32 %4816 to i64
  %4818 = getelementptr inbounds float, ptr %4815, i64 %4817
  %4819 = load float, ptr %4818, align 4, !tbaa !11
  %4820 = load ptr, ptr %26, align 8, !tbaa !5
  %4821 = load i32, ptr %50, align 4, !tbaa !9
  %4822 = sext i32 %4821 to i64
  %4823 = getelementptr inbounds float, ptr %4820, i64 %4822
  store float %4819, ptr %4823, align 4, !tbaa !11
  %4824 = load float, ptr %48, align 4, !tbaa !11
  %4825 = load ptr, ptr %26, align 8, !tbaa !5
  %4826 = load i32, ptr %51, align 4, !tbaa !9
  %4827 = sext i32 %4826 to i64
  %4828 = getelementptr inbounds float, ptr %4825, i64 %4827
  store float %4824, ptr %4828, align 4, !tbaa !11
  %4829 = load ptr, ptr %18, align 8, !tbaa !5
  %4830 = load ptr, ptr %20, align 8, !tbaa !5
  %4831 = load i32, ptr %50, align 4, !tbaa !9
  %4832 = load i32, ptr %29, align 4, !tbaa !9
  %4833 = mul nsw i32 %4831, %4832
  %4834 = add nsw i32 %4833, 1
  %4835 = sext i32 %4834 to i64
  %4836 = getelementptr inbounds float, ptr %4830, i64 %4835
  %4837 = load ptr, ptr %20, align 8, !tbaa !5
  %4838 = load i32, ptr %51, align 4, !tbaa !9
  %4839 = load i32, ptr %29, align 4, !tbaa !9
  %4840 = mul nsw i32 %4838, %4839
  %4841 = add nsw i32 %4840, 1
  %4842 = sext i32 %4841 to i64
  %4843 = getelementptr inbounds float, ptr %4837, i64 %4842
  call void @sswap_(ptr noundef %4829, ptr noundef %4836, ptr noundef @c__1, ptr noundef %4843, ptr noundef @c__1)
  %4844 = load i32, ptr %63, align 4, !tbaa !9
  %4845 = icmp ne i32 %4844, 0
  br i1 %4845, label %4846, label %4861

4846:                                             ; preds = %4790
  %4847 = load ptr, ptr %24, align 8, !tbaa !5
  %4848 = load i32, ptr %50, align 4, !tbaa !9
  %4849 = load i32, ptr %31, align 4, !tbaa !9
  %4850 = mul nsw i32 %4848, %4849
  %4851 = add nsw i32 %4850, 1
  %4852 = sext i32 %4851 to i64
  %4853 = getelementptr inbounds float, ptr %4847, i64 %4852
  %4854 = load ptr, ptr %24, align 8, !tbaa !5
  %4855 = load i32, ptr %51, align 4, !tbaa !9
  %4856 = load i32, ptr %31, align 4, !tbaa !9
  %4857 = mul nsw i32 %4855, %4856
  %4858 = add nsw i32 %4857, 1
  %4859 = sext i32 %4858 to i64
  %4860 = getelementptr inbounds float, ptr %4854, i64 %4859
  call void @sswap_(ptr noundef %95, ptr noundef %4853, ptr noundef @c__1, ptr noundef %4860, ptr noundef @c__1)
  br label %4861

4861:                                             ; preds = %4846, %4790
  br label %4862

4862:                                             ; preds = %4861, %4773
  %4863 = load ptr, ptr %22, align 8, !tbaa !5
  %4864 = load i32, ptr %50, align 4, !tbaa !9
  %4865 = sext i32 %4864 to i64
  %4866 = getelementptr inbounds float, ptr %4863, i64 %4865
  %4867 = load float, ptr %4866, align 4, !tbaa !11
  %4868 = fcmp une float %4867, 0.000000e+00
  br i1 %4868, label %4869, label %4885

4869:                                             ; preds = %4862
  %4870 = load i32, ptr %69, align 4, !tbaa !9
  %4871 = add nsw i32 %4870, 1
  store i32 %4871, ptr %69, align 4, !tbaa !9
  %4872 = load ptr, ptr %22, align 8, !tbaa !5
  %4873 = load i32, ptr %50, align 4, !tbaa !9
  %4874 = sext i32 %4873 to i64
  %4875 = getelementptr inbounds float, ptr %4872, i64 %4874
  %4876 = load float, ptr %4875, align 4, !tbaa !11
  %4877 = load float, ptr %92, align 4, !tbaa !11
  %4878 = fmul float %4876, %4877
  %4879 = load float, ptr %58, align 4, !tbaa !11
  %4880 = fcmp ogt float %4878, %4879
  br i1 %4880, label %4881, label %4884

4881:                                             ; preds = %4869
  %4882 = load i32, ptr %68, align 4, !tbaa !9
  %4883 = add nsw i32 %4882, 1
  store i32 %4883, ptr %68, align 4, !tbaa !9
  br label %4884

4884:                                             ; preds = %4881, %4869
  br label %4885

4885:                                             ; preds = %4884, %4862
  br label %4886

4886:                                             ; preds = %4885
  %4887 = load i32, ptr %50, align 4, !tbaa !9
  %4888 = add nsw i32 %4887, 1
  store i32 %4888, ptr %50, align 4, !tbaa !9
  br label %4769, !llvm.loop !31

4889:                                             ; preds = %4769
  %4890 = load ptr, ptr %22, align 8, !tbaa !5
  %4891 = load ptr, ptr %19, align 8, !tbaa !5
  %4892 = load i32, ptr %4891, align 4, !tbaa !9
  %4893 = sext i32 %4892 to i64
  %4894 = getelementptr inbounds float, ptr %4890, i64 %4893
  %4895 = load float, ptr %4894, align 4, !tbaa !11
  %4896 = fcmp une float %4895, 0.000000e+00
  br i1 %4896, label %4897, label %4914

4897:                                             ; preds = %4889
  %4898 = load i32, ptr %69, align 4, !tbaa !9
  %4899 = add nsw i32 %4898, 1
  store i32 %4899, ptr %69, align 4, !tbaa !9
  %4900 = load ptr, ptr %22, align 8, !tbaa !5
  %4901 = load ptr, ptr %19, align 8, !tbaa !5
  %4902 = load i32, ptr %4901, align 4, !tbaa !9
  %4903 = sext i32 %4902 to i64
  %4904 = getelementptr inbounds float, ptr %4900, i64 %4903
  %4905 = load float, ptr %4904, align 4, !tbaa !11
  %4906 = load float, ptr %92, align 4, !tbaa !11
  %4907 = fmul float %4905, %4906
  %4908 = load float, ptr %58, align 4, !tbaa !11
  %4909 = fcmp ogt float %4907, %4908
  br i1 %4909, label %4910, label %4913

4910:                                             ; preds = %4897
  %4911 = load i32, ptr %68, align 4, !tbaa !9
  %4912 = add nsw i32 %4911, 1
  store i32 %4912, ptr %68, align 4, !tbaa !9
  br label %4913

4913:                                             ; preds = %4910, %4897
  br label %4914

4914:                                             ; preds = %4913, %4889
  %4915 = load i32, ptr %59, align 4, !tbaa !9
  %4916 = icmp ne i32 %4915, 0
  br i1 %4916, label %4920, label %4917

4917:                                             ; preds = %4914
  %4918 = load i32, ptr %64, align 4, !tbaa !9
  %4919 = icmp ne i32 %4918, 0
  br i1 %4919, label %4920, label %4950

4920:                                             ; preds = %4917, %4914
  %4921 = load i32, ptr %68, align 4, !tbaa !9
  store i32 %4921, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %4922

4922:                                             ; preds = %4946, %4920
  %4923 = load i32, ptr %50, align 4, !tbaa !9
  %4924 = load i32, ptr %33, align 4, !tbaa !9
  %4925 = icmp sle i32 %4923, %4924
  br i1 %4925, label %4926, label %4949

4926:                                             ; preds = %4922
  %4927 = load ptr, ptr %26, align 8, !tbaa !5
  %4928 = load i32, ptr %50, align 4, !tbaa !9
  %4929 = sext i32 %4928 to i64
  %4930 = getelementptr inbounds float, ptr %4927, i64 %4929
  %4931 = load float, ptr %4930, align 4, !tbaa !11
  %4932 = load ptr, ptr %22, align 8, !tbaa !5
  %4933 = load i32, ptr %50, align 4, !tbaa !9
  %4934 = sext i32 %4933 to i64
  %4935 = getelementptr inbounds float, ptr %4932, i64 %4934
  %4936 = load float, ptr %4935, align 4, !tbaa !11
  %4937 = fdiv float %4931, %4936
  store float %4937, ptr %38, align 4, !tbaa !11
  %4938 = load ptr, ptr %18, align 8, !tbaa !5
  %4939 = load ptr, ptr %20, align 8, !tbaa !5
  %4940 = load i32, ptr %50, align 4, !tbaa !9
  %4941 = load i32, ptr %29, align 4, !tbaa !9
  %4942 = mul nsw i32 %4940, %4941
  %4943 = add nsw i32 %4942, 1
  %4944 = sext i32 %4943 to i64
  %4945 = getelementptr inbounds float, ptr %4939, i64 %4944
  call void @sscal_(ptr noundef %4938, ptr noundef %38, ptr noundef %4945, ptr noundef @c__1)
  br label %4946

4946:                                             ; preds = %4926
  %4947 = load i32, ptr %50, align 4, !tbaa !9
  %4948 = add nsw i32 %4947, 1
  store i32 %4948, ptr %50, align 4, !tbaa !9
  br label %4922, !llvm.loop !32

4949:                                             ; preds = %4922
  br label %4950

4950:                                             ; preds = %4949, %4917
  %4951 = load i32, ptr %63, align 4, !tbaa !9
  %4952 = icmp ne i32 %4951, 0
  br i1 %4952, label %4953, label %5008

4953:                                             ; preds = %4950
  %4954 = load i32, ptr %62, align 4, !tbaa !9
  %4955 = icmp ne i32 %4954, 0
  br i1 %4955, label %4956, label %4979

4956:                                             ; preds = %4953
  %4957 = load ptr, ptr %19, align 8, !tbaa !5
  %4958 = load i32, ptr %4957, align 4, !tbaa !9
  store i32 %4958, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %4959

4959:                                             ; preds = %4975, %4956
  %4960 = load i32, ptr %50, align 4, !tbaa !9
  %4961 = load i32, ptr %33, align 4, !tbaa !9
  %4962 = icmp sle i32 %4960, %4961
  br i1 %4962, label %4963, label %4978

4963:                                             ; preds = %4959
  %4964 = load ptr, ptr %26, align 8, !tbaa !5
  %4965 = load i32, ptr %50, align 4, !tbaa !9
  %4966 = sext i32 %4965 to i64
  %4967 = getelementptr inbounds float, ptr %4964, i64 %4966
  %4968 = load ptr, ptr %24, align 8, !tbaa !5
  %4969 = load i32, ptr %50, align 4, !tbaa !9
  %4970 = load i32, ptr %31, align 4, !tbaa !9
  %4971 = mul nsw i32 %4969, %4970
  %4972 = add nsw i32 %4971, 1
  %4973 = sext i32 %4972 to i64
  %4974 = getelementptr inbounds float, ptr %4968, i64 %4973
  call void @sscal_(ptr noundef %95, ptr noundef %4967, ptr noundef %4974, ptr noundef @c__1)
  br label %4975

4975:                                             ; preds = %4963
  %4976 = load i32, ptr %50, align 4, !tbaa !9
  %4977 = add nsw i32 %4976, 1
  store i32 %4977, ptr %50, align 4, !tbaa !9
  br label %4959, !llvm.loop !33

4978:                                             ; preds = %4959
  br label %5007

4979:                                             ; preds = %4953
  %4980 = load ptr, ptr %19, align 8, !tbaa !5
  %4981 = load i32, ptr %4980, align 4, !tbaa !9
  store i32 %4981, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %4982

4982:                                             ; preds = %5003, %4979
  %4983 = load i32, ptr %50, align 4, !tbaa !9
  %4984 = load i32, ptr %33, align 4, !tbaa !9
  %4985 = icmp sle i32 %4983, %4984
  br i1 %4985, label %4986, label %5006

4986:                                             ; preds = %4982
  %4987 = load ptr, ptr %24, align 8, !tbaa !5
  %4988 = load i32, ptr %50, align 4, !tbaa !9
  %4989 = load i32, ptr %31, align 4, !tbaa !9
  %4990 = mul nsw i32 %4988, %4989
  %4991 = add nsw i32 %4990, 1
  %4992 = sext i32 %4991 to i64
  %4993 = getelementptr inbounds float, ptr %4987, i64 %4992
  %4994 = call float @snrm2_(ptr noundef %95, ptr noundef %4993, ptr noundef @c__1)
  %4995 = fdiv float 1.000000e+00, %4994
  store float %4995, ptr %48, align 4, !tbaa !11
  %4996 = load ptr, ptr %24, align 8, !tbaa !5
  %4997 = load i32, ptr %50, align 4, !tbaa !9
  %4998 = load i32, ptr %31, align 4, !tbaa !9
  %4999 = mul nsw i32 %4997, %4998
  %5000 = add nsw i32 %4999, 1
  %5001 = sext i32 %5000 to i64
  %5002 = getelementptr inbounds float, ptr %4996, i64 %5001
  call void @sscal_(ptr noundef %95, ptr noundef %48, ptr noundef %5002, ptr noundef @c__1)
  br label %5003

5003:                                             ; preds = %4986
  %5004 = load i32, ptr %50, align 4, !tbaa !9
  %5005 = add nsw i32 %5004, 1
  store i32 %5005, ptr %50, align 4, !tbaa !9
  br label %4982, !llvm.loop !34

5006:                                             ; preds = %4982
  br label %5007

5007:                                             ; preds = %5006, %4978
  br label %5008

5008:                                             ; preds = %5007, %4950
  %5009 = load float, ptr %92, align 4, !tbaa !11
  %5010 = fcmp ogt float %5009, 1.000000e+00
  br i1 %5010, label %5011, label %5019

5011:                                             ; preds = %5008
  %5012 = load ptr, ptr %22, align 8, !tbaa !5
  %5013 = getelementptr inbounds float, ptr %5012, i64 1
  %5014 = load float, ptr %5013, align 4, !tbaa !11
  %5015 = load float, ptr %85, align 4, !tbaa !11
  %5016 = load float, ptr %92, align 4, !tbaa !11
  %5017 = fdiv float %5015, %5016
  %5018 = fcmp olt float %5014, %5017
  br i1 %5018, label %5038, label %5019

5019:                                             ; preds = %5011, %5008
  %5020 = load float, ptr %92, align 4, !tbaa !11
  %5021 = fcmp olt float %5020, 1.000000e+00
  br i1 %5021, label %5022, label %5061

5022:                                             ; preds = %5019
  %5023 = load ptr, ptr %22, align 8, !tbaa !5
  %5024 = load i32, ptr %68, align 4, !tbaa !9
  %5025 = icmp sge i32 %5024, 1
  br i1 %5025, label %5026, label %5028

5026:                                             ; preds = %5022
  %5027 = load i32, ptr %68, align 4, !tbaa !9
  br label %5029

5028:                                             ; preds = %5022
  br label %5029

5029:                                             ; preds = %5028, %5026
  %5030 = phi i32 [ %5027, %5026 ], [ 1, %5028 ]
  %5031 = sext i32 %5030 to i64
  %5032 = getelementptr inbounds float, ptr %5023, i64 %5031
  %5033 = load float, ptr %5032, align 4, !tbaa !11
  %5034 = load float, ptr %58, align 4, !tbaa !11
  %5035 = load float, ptr %92, align 4, !tbaa !11
  %5036 = fdiv float %5034, %5035
  %5037 = fcmp ogt float %5033, %5036
  br i1 %5037, label %5038, label %5061

5038:                                             ; preds = %5029, %5011
  %5039 = load ptr, ptr %19, align 8, !tbaa !5
  %5040 = load i32, ptr %5039, align 4, !tbaa !9
  store i32 %5040, ptr %33, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %5041

5041:                                             ; preds = %5057, %5038
  %5042 = load i32, ptr %50, align 4, !tbaa !9
  %5043 = load i32, ptr %33, align 4, !tbaa !9
  %5044 = icmp sle i32 %5042, %5043
  br i1 %5044, label %5045, label %5060

5045:                                             ; preds = %5041
  %5046 = load float, ptr %92, align 4, !tbaa !11
  %5047 = load ptr, ptr %22, align 8, !tbaa !5
  %5048 = load i32, ptr %50, align 4, !tbaa !9
  %5049 = sext i32 %5048 to i64
  %5050 = getelementptr inbounds float, ptr %5047, i64 %5049
  %5051 = load float, ptr %5050, align 4, !tbaa !11
  %5052 = fmul float %5046, %5051
  %5053 = load ptr, ptr %22, align 8, !tbaa !5
  %5054 = load i32, ptr %50, align 4, !tbaa !9
  %5055 = sext i32 %5054 to i64
  %5056 = getelementptr inbounds float, ptr %5053, i64 %5055
  store float %5052, ptr %5056, align 4, !tbaa !11
  br label %5057

5057:                                             ; preds = %5045
  %5058 = load i32, ptr %50, align 4, !tbaa !9
  %5059 = add nsw i32 %5058, 1
  store i32 %5059, ptr %50, align 4, !tbaa !9
  br label %5041, !llvm.loop !35

5060:                                             ; preds = %5041
  store float 1.000000e+00, ptr %92, align 4, !tbaa !11
  br label %5061

5061:                                             ; preds = %5060, %5029, %5019
  %5062 = load float, ptr %92, align 4, !tbaa !11
  %5063 = load ptr, ptr %26, align 8, !tbaa !5
  %5064 = getelementptr inbounds float, ptr %5063, i64 1
  store float %5062, ptr %5064, align 4, !tbaa !11
  %5065 = load i32, ptr %69, align 4, !tbaa !9
  %5066 = sitofp i32 %5065 to float
  %5067 = load ptr, ptr %26, align 8, !tbaa !5
  %5068 = getelementptr inbounds float, ptr %5067, i64 2
  store float %5066, ptr %5068, align 4, !tbaa !11
  %5069 = load i32, ptr %68, align 4, !tbaa !9
  %5070 = sitofp i32 %5069 to float
  %5071 = load ptr, ptr %26, align 8, !tbaa !5
  %5072 = getelementptr inbounds float, ptr %5071, i64 3
  store float %5070, ptr %5072, align 4, !tbaa !11
  %5073 = load i32, ptr %49, align 4, !tbaa !9
  %5074 = sitofp i32 %5073 to float
  %5075 = load ptr, ptr %26, align 8, !tbaa !5
  %5076 = getelementptr inbounds float, ptr %5075, i64 4
  store float %5074, ptr %5076, align 4, !tbaa !11
  %5077 = load float, ptr %77, align 4, !tbaa !11
  %5078 = load ptr, ptr %26, align 8, !tbaa !5
  %5079 = getelementptr inbounds float, ptr %5078, i64 5
  store float %5077, ptr %5079, align 4, !tbaa !11
  %5080 = load float, ptr %79, align 4, !tbaa !11
  %5081 = load ptr, ptr %26, align 8, !tbaa !5
  %5082 = getelementptr inbounds float, ptr %5081, i64 6
  store float %5080, ptr %5082, align 4, !tbaa !11
  store i32 1, ptr %101, align 4
  br label %5083

5083:                                             ; preds = %5061, %772, %726, %593, %510, %425, %354, %281, %268
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 20, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #5
  ret void
}

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

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

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

declare void @sgsvj0_(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 @sgsvj1_(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 i32 @isamax_(ptr noundef, ptr noundef, ptr noundef) #2

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

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

declare float @sdot_(ptr noundef, 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 @srotm_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

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

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

declare void @sscal_(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 = { 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 = !{!"any pointer", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"int", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"float", !7, i64 0}
!13 = distinct !{!13, !14}
!14 = !{!"llvm.loop.mustprogress"}
!15 = distinct !{!15, !14}
!16 = distinct !{!16, !14}
!17 = distinct !{!17, !14}
!18 = distinct !{!18, !14}
!19 = distinct !{!19, !14}
!20 = distinct !{!20, !14}
!21 = distinct !{!21, !14}
!22 = distinct !{!22, !14}
!23 = distinct !{!23, !14}
!24 = distinct !{!24, !14}
!25 = distinct !{!25, !14}
!26 = distinct !{!26, !14}
!27 = distinct !{!27, !14}
!28 = distinct !{!28, !14}
!29 = distinct !{!29, !14}
!30 = distinct !{!30, !14}
!31 = distinct !{!31, !14}
!32 = distinct !{!32, !14}
!33 = distinct !{!33, !14}
!34 = distinct !{!34, !14}
!35 = distinct !{!35, !14}


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

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [8 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [9 x i8], align 1
@c_b17 = external hidden global float, align 4
@c_b18 = external hidden global float, align 4
@c__1 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @sgesvj_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr nocapture noundef readonly %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr nocapture noundef readonly %12, ptr nocapture noundef writeonly %13) local_unnamed_addr #0 {
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca float, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca i32, align 4
  %23 = alloca float, align 4
  %24 = alloca i32, align 4
  %25 = alloca float, align 4
  %26 = alloca float, align 4
  %27 = alloca [5 x float], align 16
  %28 = alloca float, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca float, align 4
  %32 = alloca float, align 4
  %33 = alloca i32, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %22) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.start.p0(i64 20, ptr nonnull %27) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %32) #7
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #7
  %34 = getelementptr inbounds i8, ptr %7, i64 -4
  %35 = load i32, ptr %6, align 4, !tbaa !5
  %narrow1688 = xor i32 %35, -1
  %36 = sext i32 %narrow1688 to i64
  %37 = getelementptr inbounds float, ptr %5, i64 %36
  %38 = load i32, ptr %10, align 4, !tbaa !5
  %narrow = xor i32 %38, -1
  %39 = sext i32 %narrow to i64
  %40 = getelementptr inbounds float, ptr %9, i64 %39
  %41 = getelementptr inbounds i8, ptr %11, i64 -4
  %42 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str) #7
  %43 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.1) #7
  %44 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.2) #7
  %45 = tail call i32 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.3) #7
  %46 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #7
  %47 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.4) #7
  %48 = icmp ne i32 %46, 0
  %49 = icmp ne i32 %47, 0
  %or.cond = select i1 %48, i1 true, i1 %49
  br i1 %or.cond, label %52, label %50

50:                                               ; preds = %14
  %51 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.5) #7
  %.not = icmp eq i32 %51, 0
  br i1 %.not, label %90, label %52

52:                                               ; preds = %50, %14
  %53 = icmp ne i32 %42, 0
  %54 = icmp ne i32 %43, 0
  %or.cond3 = select i1 %53, i1 true, i1 %54
  br i1 %or.cond3, label %57, label %55

55:                                               ; preds = %52
  %56 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.6) #7
  %.not1616 = icmp eq i32 %56, 0
  br i1 %.not1616, label %90, label %57

57:                                               ; preds = %55, %52
  %58 = icmp ne i32 %44, 0
  %59 = icmp ne i32 %45, 0
  %or.cond5 = select i1 %58, i1 true, i1 %59
  br i1 %or.cond5, label %62, label %60

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

62:                                               ; preds = %60, %57
  %63 = load i32, ptr %3, align 4, !tbaa !5
  %64 = icmp slt i32 %63, 0
  br i1 %64, label %90, label %65

65:                                               ; preds = %62
  %66 = load i32, ptr %4, align 4, !tbaa !5
  %or.cond1692 = icmp ugt i32 %66, %63
  br i1 %or.cond1692, label %90, label %67

67:                                               ; preds = %65
  %68 = load i32, ptr %6, align 4, !tbaa !5
  %69 = icmp slt i32 %68, %63
  br i1 %69, label %90, label %70

70:                                               ; preds = %67
  %71 = load i32, ptr %8, align 4, !tbaa !5
  %72 = icmp slt i32 %71, 0
  br i1 %72, label %90, label %73

73:                                               ; preds = %70
  br i1 %58, label %74, label %77

74:                                               ; preds = %73
  %75 = load i32, ptr %10, align 4, !tbaa !5
  %76 = icmp slt i32 %75, %66
  br i1 %76, label %90, label %77

77:                                               ; preds = %74, %73
  br i1 %59, label %78, label %81

78:                                               ; preds = %77
  %79 = load i32, ptr %10, align 4, !tbaa !5
  %80 = icmp slt i32 %79, %71
  br i1 %80, label %90, label %81

81:                                               ; preds = %78, %77
  br i1 %54, label %82, label %85

82:                                               ; preds = %81
  %83 = load float, ptr %11, align 4, !tbaa !9
  %84 = fcmp ugt float %83, 1.000000e+00
  br i1 %84, label %85, label %90

85:                                               ; preds = %82, %81
  %86 = add nuw nsw i32 %66, %63
  store i32 %86, ptr %15, align 4, !tbaa !5
  %87 = load i32, ptr %12, align 4, !tbaa !5
  %88 = tail call i32 @llvm.umax.i32(i32 %86, i32 6)
  %89 = icmp slt i32 %87, %88
  br i1 %89, label %90, label %92

90:                                               ; preds = %85, %82, %74, %78, %70, %67, %65, %62, %60, %55, %50
  %.sink2303 = phi i32 [ -1, %50 ], [ -2, %55 ], [ -3, %60 ], [ -4, %62 ], [ -5, %65 ], [ -7, %67 ], [ -9, %70 ], [ -11, %78 ], [ -11, %74 ], [ -12, %82 ], [ -13, %85 ]
  %.ph.neg = phi i32 [ 1, %50 ], [ 2, %55 ], [ 3, %60 ], [ 4, %62 ], [ 5, %65 ], [ 7, %67 ], [ 9, %70 ], [ 11, %78 ], [ 11, %74 ], [ 12, %82 ], [ 13, %85 ]
  store i32 %.sink2303, ptr %13, align 4, !tbaa !5
  store i32 %.ph.neg, ptr %15, align 4, !tbaa !5
  %91 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %15, i32 noundef 6) #7
  br label %1927

92:                                               ; preds = %85
  store i32 0, ptr %13, align 4, !tbaa !5
  %93 = load i32, ptr %3, align 4, !tbaa !5
  %94 = icmp eq i32 %93, 0
  br i1 %94, label %1927, label %95

95:                                               ; preds = %92
  %96 = load i32, ptr %4, align 4, !tbaa !5
  %97 = icmp eq i32 %96, 0
  br i1 %97, label %1927, label %98

98:                                               ; preds = %95
  %.not1649 = icmp eq i32 %43, 0
  br i1 %.not1649, label %101, label %99

99:                                               ; preds = %98
  %100 = load float, ptr %11, align 4, !tbaa !9
  br label %105

101:                                              ; preds = %98
  %102 = or i32 %42, %44
  %or.cond7 = icmp ne i32 %102, 0
  %or.cond9 = select i1 %or.cond7, i1 true, i1 %59
  %103 = sitofp i32 %93 to float
  br i1 %or.cond9, label %104, label %105

104:                                              ; preds = %101
  %sqrtf = tail call float @sqrtf(float noundef %103) #3
  br label %105

105:                                              ; preds = %101, %104, %99
  %.01467 = phi float [ %100, %99 ], [ %sqrtf, %104 ], [ %103, %101 ]
  %106 = tail call float @slamch_(ptr noundef nonnull @.str.8) #7
  store float %106, ptr %28, align 4, !tbaa !9
  %sqrtf1619 = tail call float @sqrtf(float noundef %106) #3
  %107 = tail call float @slamch_(ptr noundef nonnull @.str.9) #7
  store float %107, ptr %26, align 4, !tbaa !9
  %sqrtf1620 = tail call float @sqrtf(float noundef %107) #3
  %108 = fdiv float %107, %106
  %109 = tail call float @slamch_(ptr noundef nonnull @.str.10) #7
  %110 = fdiv float 1.000000e+00, %sqrtf1620
  %111 = fpext float %109 to double
  %112 = load i32, ptr %3, align 4, !tbaa !5
  %113 = load i32, ptr %4, align 4, !tbaa !5
  %114 = mul nsw i32 %113, %112
  %115 = icmp slt i32 %114, 0
  br i1 %115, label %cdce.call, label %cdce.end, !prof !11

cdce.call:                                        ; preds = %105
  %116 = sitofp i32 %114 to float
  %sqrtf1621 = tail call float @sqrtf(float noundef %116) #3
  br label %cdce.end

cdce.end:                                         ; preds = %105, %cdce.call
  %117 = fdiv float 1.000000e+00, %sqrtf1619
  %118 = fmul float %.01467, %106
  store float %118, ptr %32, align 4, !tbaa !9
  %sqrtf1622 = tail call float @sqrtf(float noundef %118) #3
  %119 = load i32, ptr %3, align 4, !tbaa !5
  %120 = sitofp i32 %119 to float
  %121 = fmul float %106, %120
  %122 = fcmp ult float %121, 1.000000e+00
  br i1 %122, label %125, label %123

123:                                              ; preds = %cdce.end
  store i32 -4, ptr %13, align 4, !tbaa !5
  store i32 4, ptr %15, align 4, !tbaa !5
  %124 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %15, i32 noundef 6) #7
  br label %1927

125:                                              ; preds = %cdce.end
  br i1 %58, label %126, label %128

126:                                              ; preds = %125
  %127 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %127, ptr %33, align 4, !tbaa !5
  call void @slaset_(ptr noundef nonnull @.str.3, ptr noundef nonnull %33, ptr noundef nonnull %4, ptr noundef nonnull @c_b17, ptr noundef nonnull @c_b18, ptr noundef %9, ptr noundef nonnull %10) #7
  %.pre = load i32, ptr %3, align 4, !tbaa !5
  %.pre2275 = sitofp i32 %.pre to float
  br label %131

128:                                              ; preds = %125
  %.not1623 = icmp eq i32 %45, 0
  br i1 %.not1623, label %131, label %129

129:                                              ; preds = %128
  %130 = load i32, ptr %8, align 4, !tbaa !5
  store i32 %130, ptr %33, align 4, !tbaa !5
  br label %131

131:                                              ; preds = %128, %129, %126
  %.pre-phi = phi float [ %120, %128 ], [ %120, %129 ], [ %.pre2275, %126 ]
  %132 = load i32, ptr %4, align 4, !tbaa !5
  %133 = sitofp i32 %132 to float
  %134 = fmul float %.pre-phi, %133
  %135 = fpext float %134 to double
  %136 = call double @sqrt(double noundef %135) #7
  %137 = fdiv double 1.000000e+00, %136
  %138 = fptrunc double %137 to float
  store float %138, ptr %31, align 4, !tbaa !9
  %139 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %139, ptr %15, align 4, !tbaa !5
  br i1 %49, label %140, label %184

140:                                              ; preds = %131
  store i32 1, ptr %24, align 4, !tbaa !5
  %.not16341796 = icmp slt i32 %139, 1
  br i1 %.not16341796, label %.loopexit1741.thread, label %.lr.ph1800

.lr.ph1800:                                       ; preds = %140
  %141 = add i32 %35, 1
  br label %142

142:                                              ; preds = %.lr.ph1800, %.loopexit1740
  %.01799 = phi i32 [ 1, %.lr.ph1800 ], [ %.1, %.loopexit1740 ]
  %.014561798 = phi i32 [ 1, %.lr.ph1800 ], [ %.11457, %.loopexit1740 ]
  %storemerge16331797 = phi i32 [ 1, %.lr.ph1800 ], [ %182, %.loopexit1740 ]
  store float 0.000000e+00, ptr %20, align 4, !tbaa !9
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  %143 = load i32, ptr %3, align 4, !tbaa !5
  %reass.sub = sub i32 %143, %storemerge16331797
  %144 = add i32 %reass.sub, 1
  store i32 %144, ptr %16, align 4, !tbaa !5
  %145 = mul i32 %storemerge16331797, %141
  %146 = sext i32 %145 to i64
  %147 = getelementptr inbounds float, ptr %37, i64 %146
  call void @slassq_(ptr noundef nonnull %16, ptr noundef %147, ptr noundef nonnull @c__1, ptr noundef nonnull %20, ptr noundef nonnull %21) #7
  %148 = load float, ptr %20, align 4, !tbaa !9
  %149 = fcmp ogt float %148, %109
  br i1 %149, label %150, label %152

150:                                              ; preds = %142
  store i32 -6, ptr %13, align 4, !tbaa !5
  store i32 6, ptr %16, align 4, !tbaa !5
  %151 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16, i32 noundef 6) #7
  br label %1927

152:                                              ; preds = %142
  %153 = load float, ptr %21, align 4, !tbaa !9
  %sqrtf1689 = call float @sqrtf(float noundef %153) #3
  store float %sqrtf1689, ptr %21, align 4, !tbaa !9
  %154 = load float, ptr %20, align 4, !tbaa !9
  %155 = fdiv float %109, %sqrtf1689
  %156 = fcmp olt float %154, %155
  %157 = icmp ne i32 %.01799, 0
  %or.cond11 = and i1 %157, %156
  br i1 %or.cond11, label %158, label %163

158:                                              ; preds = %152
  %159 = fmul float %sqrtf1689, %154
  %160 = load i32, ptr %24, align 4, !tbaa !5
  %161 = sext i32 %160 to i64
  %162 = getelementptr inbounds float, ptr %34, i64 %161
  store float %159, ptr %162, align 4, !tbaa !9
  br label %.loopexit1740

163:                                              ; preds = %152
  %164 = load float, ptr %31, align 4, !tbaa !9
  %165 = fmul float %sqrtf1689, %164
  %166 = fmul float %154, %165
  %167 = load i32, ptr %24, align 4, !tbaa !5
  %168 = sext i32 %167 to i64
  %169 = getelementptr inbounds float, ptr %34, i64 %168
  store float %166, ptr %169, align 4, !tbaa !9
  %.not1690 = icmp eq i32 %.014561798, 0
  br i1 %.not1690, label %.loopexit1740, label %170

170:                                              ; preds = %163
  %171 = add nsw i32 %167, -1
  store i32 %171, ptr %16, align 4, !tbaa !5
  %.not1691.not1793 = icmp sgt i32 %167, 1
  br i1 %.not1691.not1793, label %.lr.ph1795.preheader, label %.loopexit1740

.lr.ph1795.preheader:                             ; preds = %170
  %wide.trip.count2226 = zext nneg i32 %167 to i64
  %172 = add nsw i64 %wide.trip.count2226, -1
  %min.iters.check2355 = icmp ult i32 %167, 9
  br i1 %min.iters.check2355, label %.lr.ph1795.preheader2439, label %vector.ph2356

vector.ph2356:                                    ; preds = %.lr.ph1795.preheader
  %n.vec2358 = and i64 %172, -8
  %ind.end2359 = or disjoint i64 %n.vec2358, 1
  %broadcast.splatinsert2366 = insertelement <4 x float> poison, float %164, i64 0
  %broadcast.splat2367 = shufflevector <4 x float> %broadcast.splatinsert2366, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2361

vector.body2361:                                  ; preds = %vector.body2361, %vector.ph2356
  %index2362 = phi i64 [ 0, %vector.ph2356 ], [ %index.next2368, %vector.body2361 ]
  %173 = getelementptr float, ptr %7, i64 %index2362
  %174 = getelementptr inbounds i8, ptr %173, i64 16
  %wide.load2364 = load <4 x float>, ptr %173, align 4, !tbaa !9
  %wide.load2365 = load <4 x float>, ptr %174, align 4, !tbaa !9
  %175 = fmul <4 x float> %broadcast.splat2367, %wide.load2364
  %176 = fmul <4 x float> %broadcast.splat2367, %wide.load2365
  store <4 x float> %175, ptr %173, align 4, !tbaa !9
  store <4 x float> %176, ptr %174, align 4, !tbaa !9
  %index.next2368 = add nuw i64 %index2362, 8
  %177 = icmp eq i64 %index.next2368, %n.vec2358
  br i1 %177, label %middle.block2353, label %vector.body2361, !llvm.loop !12

middle.block2353:                                 ; preds = %vector.body2361
  %cmp.n2369 = icmp eq i64 %172, %n.vec2358
  br i1 %cmp.n2369, label %.loopexit1740, label %.lr.ph1795.preheader2439

.lr.ph1795.preheader2439:                         ; preds = %middle.block2353, %.lr.ph1795.preheader
  %indvars.iv2223.ph = phi i64 [ 1, %.lr.ph1795.preheader ], [ %ind.end2359, %middle.block2353 ]
  br label %.lr.ph1795

.lr.ph1795:                                       ; preds = %.lr.ph1795.preheader2439, %.lr.ph1795
  %indvars.iv2223 = phi i64 [ %indvars.iv.next2224, %.lr.ph1795 ], [ %indvars.iv2223.ph, %.lr.ph1795.preheader2439 ]
  %178 = getelementptr inbounds float, ptr %34, i64 %indvars.iv2223
  %179 = load float, ptr %178, align 4, !tbaa !9
  %180 = fmul float %164, %179
  store float %180, ptr %178, align 4, !tbaa !9
  %indvars.iv.next2224 = add nuw nsw i64 %indvars.iv2223, 1
  %exitcond2227.not = icmp eq i64 %indvars.iv.next2224, %wide.trip.count2226
  br i1 %exitcond2227.not, label %.loopexit1740, label %.lr.ph1795, !llvm.loop !16

.loopexit1740:                                    ; preds = %.lr.ph1795, %middle.block2353, %170, %158, %163
  %181 = phi i32 [ %160, %158 ], [ %167, %163 ], [ %167, %170 ], [ %167, %middle.block2353 ], [ %167, %.lr.ph1795 ]
  %.11457 = phi i32 [ %.014561798, %158 ], [ 0, %163 ], [ 0, %170 ], [ 0, %middle.block2353 ], [ 0, %.lr.ph1795 ]
  %.1 = phi i32 [ 1, %158 ], [ 0, %163 ], [ 0, %170 ], [ 0, %middle.block2353 ], [ 0, %.lr.ph1795 ]
  %182 = add nsw i32 %181, 1
  store i32 %182, ptr %24, align 4, !tbaa !5
  %183 = load i32, ptr %15, align 4, !tbaa !5
  %.not1634.not = icmp slt i32 %181, %183
  br i1 %.not1634.not, label %142, label %.loopexit1741, !llvm.loop !17

184:                                              ; preds = %131
  %invariant.gep1785 = getelementptr i8, ptr %37, i64 4
  store i32 1, ptr %24, align 4, !tbaa !5
  %.not16291787 = icmp slt i32 %139, 1
  br i1 %48, label %185, label %224

185:                                              ; preds = %184
  br i1 %.not16291787, label %.loopexit1741.thread, label %.lr.ph1791

.lr.ph1791:                                       ; preds = %185, %.loopexit1742
  %.21790 = phi i32 [ %.3, %.loopexit1742 ], [ 1, %185 ]
  %.214581789 = phi i32 [ %.31459, %.loopexit1742 ], [ 1, %185 ]
  %storemerge16281788 = phi i32 [ %222, %.loopexit1742 ], [ 1, %185 ]
  store float 0.000000e+00, ptr %20, align 4, !tbaa !9
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  %186 = mul nsw i32 %storemerge16281788, %35
  %187 = sext i32 %186 to i64
  %gep1786 = getelementptr float, ptr %invariant.gep1785, i64 %187
  call void @slassq_(ptr noundef nonnull %24, ptr noundef %gep1786, ptr noundef nonnull @c__1, ptr noundef nonnull %20, ptr noundef nonnull %21) #7
  %188 = load float, ptr %20, align 4, !tbaa !9
  %189 = fcmp ogt float %188, %109
  br i1 %189, label %190, label %192

190:                                              ; preds = %.lr.ph1791
  store i32 -6, ptr %13, align 4, !tbaa !5
  store i32 6, ptr %16, align 4, !tbaa !5
  %191 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16, i32 noundef 6) #7
  br label %1927

192:                                              ; preds = %.lr.ph1791
  %193 = load float, ptr %21, align 4, !tbaa !9
  %sqrtf1630 = call float @sqrtf(float noundef %193) #3
  store float %sqrtf1630, ptr %21, align 4, !tbaa !9
  %194 = load float, ptr %20, align 4, !tbaa !9
  %195 = fdiv float %109, %sqrtf1630
  %196 = fcmp olt float %194, %195
  %197 = icmp ne i32 %.21790, 0
  %or.cond13 = and i1 %197, %196
  br i1 %or.cond13, label %198, label %203

198:                                              ; preds = %192
  %199 = fmul float %sqrtf1630, %194
  %200 = load i32, ptr %24, align 4, !tbaa !5
  %201 = sext i32 %200 to i64
  %202 = getelementptr inbounds float, ptr %34, i64 %201
  store float %199, ptr %202, align 4, !tbaa !9
  br label %.loopexit1742

203:                                              ; preds = %192
  %204 = load float, ptr %31, align 4, !tbaa !9
  %205 = fmul float %sqrtf1630, %204
  %206 = fmul float %194, %205
  %207 = load i32, ptr %24, align 4, !tbaa !5
  %208 = sext i32 %207 to i64
  %209 = getelementptr inbounds float, ptr %34, i64 %208
  store float %206, ptr %209, align 4, !tbaa !9
  %.not1631 = icmp eq i32 %.214581789, 0
  br i1 %.not1631, label %.loopexit1742, label %210

210:                                              ; preds = %203
  %211 = add nsw i32 %207, -1
  store i32 %211, ptr %16, align 4, !tbaa !5
  %.not1632.not1782 = icmp sgt i32 %207, 1
  br i1 %.not1632.not1782, label %.lr.ph1784.preheader, label %.loopexit1742

.lr.ph1784.preheader:                             ; preds = %210
  %wide.trip.count2221 = zext nneg i32 %207 to i64
  %212 = add nsw i64 %wide.trip.count2221, -1
  %min.iters.check2338 = icmp ult i32 %207, 9
  br i1 %min.iters.check2338, label %.lr.ph1784.preheader2440, label %vector.ph2339

vector.ph2339:                                    ; preds = %.lr.ph1784.preheader
  %n.vec2341 = and i64 %212, -8
  %ind.end2342 = or disjoint i64 %n.vec2341, 1
  %broadcast.splatinsert2349 = insertelement <4 x float> poison, float %204, i64 0
  %broadcast.splat2350 = shufflevector <4 x float> %broadcast.splatinsert2349, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2344

vector.body2344:                                  ; preds = %vector.body2344, %vector.ph2339
  %index2345 = phi i64 [ 0, %vector.ph2339 ], [ %index.next2351, %vector.body2344 ]
  %213 = getelementptr float, ptr %7, i64 %index2345
  %214 = getelementptr inbounds i8, ptr %213, i64 16
  %wide.load2347 = load <4 x float>, ptr %213, align 4, !tbaa !9
  %wide.load2348 = load <4 x float>, ptr %214, align 4, !tbaa !9
  %215 = fmul <4 x float> %broadcast.splat2350, %wide.load2347
  %216 = fmul <4 x float> %broadcast.splat2350, %wide.load2348
  store <4 x float> %215, ptr %213, align 4, !tbaa !9
  store <4 x float> %216, ptr %214, align 4, !tbaa !9
  %index.next2351 = add nuw i64 %index2345, 8
  %217 = icmp eq i64 %index.next2351, %n.vec2341
  br i1 %217, label %middle.block2336, label %vector.body2344, !llvm.loop !18

middle.block2336:                                 ; preds = %vector.body2344
  %cmp.n2352 = icmp eq i64 %212, %n.vec2341
  br i1 %cmp.n2352, label %.loopexit1742, label %.lr.ph1784.preheader2440

.lr.ph1784.preheader2440:                         ; preds = %middle.block2336, %.lr.ph1784.preheader
  %indvars.iv2218.ph = phi i64 [ 1, %.lr.ph1784.preheader ], [ %ind.end2342, %middle.block2336 ]
  br label %.lr.ph1784

.lr.ph1784:                                       ; preds = %.lr.ph1784.preheader2440, %.lr.ph1784
  %indvars.iv2218 = phi i64 [ %indvars.iv.next2219, %.lr.ph1784 ], [ %indvars.iv2218.ph, %.lr.ph1784.preheader2440 ]
  %218 = getelementptr inbounds float, ptr %34, i64 %indvars.iv2218
  %219 = load float, ptr %218, align 4, !tbaa !9
  %220 = fmul float %204, %219
  store float %220, ptr %218, align 4, !tbaa !9
  %indvars.iv.next2219 = add nuw nsw i64 %indvars.iv2218, 1
  %exitcond2222.not = icmp eq i64 %indvars.iv.next2219, %wide.trip.count2221
  br i1 %exitcond2222.not, label %.loopexit1742, label %.lr.ph1784, !llvm.loop !19

.loopexit1742:                                    ; preds = %.lr.ph1784, %middle.block2336, %210, %198, %203
  %221 = phi i32 [ %200, %198 ], [ %207, %203 ], [ %207, %210 ], [ %207, %middle.block2336 ], [ %207, %.lr.ph1784 ]
  %.31459 = phi i32 [ %.214581789, %198 ], [ 0, %203 ], [ 0, %210 ], [ 0, %middle.block2336 ], [ 0, %.lr.ph1784 ]
  %.3 = phi i32 [ 1, %198 ], [ 0, %203 ], [ 0, %210 ], [ 0, %middle.block2336 ], [ 0, %.lr.ph1784 ]
  %222 = add nsw i32 %221, 1
  store i32 %222, ptr %24, align 4, !tbaa !5
  %223 = load i32, ptr %15, align 4, !tbaa !5
  %.not1629.not = icmp slt i32 %221, %223
  br i1 %.not1629.not, label %.lr.ph1791, label %.loopexit1741, !llvm.loop !20

224:                                              ; preds = %184
  br i1 %.not16291787, label %.loopexit1741.thread, label %.lr.ph1781

.lr.ph1781:                                       ; preds = %224, %.loopexit1744
  %.41780 = phi i32 [ %.5, %.loopexit1744 ], [ 1, %224 ]
  %.414601779 = phi i32 [ %.51461, %.loopexit1744 ], [ 1, %224 ]
  %storemerge1778 = phi i32 [ %261, %.loopexit1744 ], [ 1, %224 ]
  store float 0.000000e+00, ptr %20, align 4, !tbaa !9
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  %225 = mul nsw i32 %storemerge1778, %35
  %226 = sext i32 %225 to i64
  %gep = getelementptr float, ptr %invariant.gep1785, i64 %226
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep, ptr noundef nonnull @c__1, ptr noundef nonnull %20, ptr noundef nonnull %21) #7
  %227 = load float, ptr %20, align 4, !tbaa !9
  %228 = fcmp ogt float %227, %109
  br i1 %228, label %229, label %231

229:                                              ; preds = %.lr.ph1781
  store i32 -6, ptr %13, align 4, !tbaa !5
  store i32 6, ptr %16, align 4, !tbaa !5
  %230 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16, i32 noundef 6) #7
  br label %1927

231:                                              ; preds = %.lr.ph1781
  %232 = load float, ptr %21, align 4, !tbaa !9
  %sqrtf1625 = call float @sqrtf(float noundef %232) #3
  store float %sqrtf1625, ptr %21, align 4, !tbaa !9
  %233 = load float, ptr %20, align 4, !tbaa !9
  %234 = fdiv float %109, %sqrtf1625
  %235 = fcmp olt float %233, %234
  %236 = icmp ne i32 %.41780, 0
  %or.cond15 = and i1 %236, %235
  br i1 %or.cond15, label %237, label %242

237:                                              ; preds = %231
  %238 = fmul float %sqrtf1625, %233
  %239 = load i32, ptr %24, align 4, !tbaa !5
  %240 = sext i32 %239 to i64
  %241 = getelementptr inbounds float, ptr %34, i64 %240
  store float %238, ptr %241, align 4, !tbaa !9
  br label %.loopexit1744

242:                                              ; preds = %231
  %243 = load float, ptr %31, align 4, !tbaa !9
  %244 = fmul float %sqrtf1625, %243
  %245 = fmul float %233, %244
  %246 = load i32, ptr %24, align 4, !tbaa !5
  %247 = sext i32 %246 to i64
  %248 = getelementptr inbounds float, ptr %34, i64 %247
  store float %245, ptr %248, align 4, !tbaa !9
  %.not1626 = icmp eq i32 %.414601779, 0
  br i1 %.not1626, label %.loopexit1744, label %249

249:                                              ; preds = %242
  %250 = add nsw i32 %246, -1
  store i32 %250, ptr %16, align 4, !tbaa !5
  %.not1627.not1775 = icmp sgt i32 %246, 1
  br i1 %.not1627.not1775, label %.lr.ph.preheader, label %.loopexit1744

.lr.ph.preheader:                                 ; preds = %249
  %wide.trip.count = zext nneg i32 %246 to i64
  %251 = add nsw i64 %wide.trip.count, -1
  %min.iters.check = icmp ult i32 %246, 9
  br i1 %min.iters.check, label %.lr.ph.preheader2442, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph.preheader
  %n.vec = and i64 %251, -8
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splatinsert = insertelement <4 x float> poison, float %243, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %252 = getelementptr float, ptr %7, i64 %index
  %253 = getelementptr inbounds i8, ptr %252, i64 16
  %wide.load = load <4 x float>, ptr %252, align 4, !tbaa !9
  %wide.load2335 = load <4 x float>, ptr %253, align 4, !tbaa !9
  %254 = fmul <4 x float> %broadcast.splat, %wide.load
  %255 = fmul <4 x float> %broadcast.splat, %wide.load2335
  store <4 x float> %254, ptr %252, align 4, !tbaa !9
  store <4 x float> %255, ptr %253, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 8
  %256 = icmp eq i64 %index.next, %n.vec
  br i1 %256, label %middle.block, label %vector.body, !llvm.loop !21

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %251, %n.vec
  br i1 %cmp.n, label %.loopexit1744, label %.lr.ph.preheader2442

.lr.ph.preheader2442:                             ; preds = %middle.block, %.lr.ph.preheader
  %indvars.iv.ph = phi i64 [ 1, %.lr.ph.preheader ], [ %ind.end, %middle.block ]
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader2442, %.lr.ph
  %indvars.iv = phi i64 [ %indvars.iv.next, %.lr.ph ], [ %indvars.iv.ph, %.lr.ph.preheader2442 ]
  %257 = getelementptr inbounds float, ptr %34, i64 %indvars.iv
  %258 = load float, ptr %257, align 4, !tbaa !9
  %259 = fmul float %243, %258
  store float %259, ptr %257, align 4, !tbaa !9
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %.loopexit1744, label %.lr.ph, !llvm.loop !22

.loopexit1744:                                    ; preds = %.lr.ph, %middle.block, %249, %237, %242
  %260 = phi i32 [ %239, %237 ], [ %246, %242 ], [ %246, %249 ], [ %246, %middle.block ], [ %246, %.lr.ph ]
  %.51461 = phi i32 [ %.414601779, %237 ], [ 0, %242 ], [ 0, %249 ], [ 0, %middle.block ], [ 0, %.lr.ph ]
  %.5 = phi i32 [ 1, %237 ], [ 0, %242 ], [ 0, %249 ], [ 0, %middle.block ], [ 0, %.lr.ph ]
  %261 = add nsw i32 %260, 1
  store i32 %261, ptr %24, align 4, !tbaa !5
  %262 = load i32, ptr %15, align 4, !tbaa !5
  %.not1624.not = icmp slt i32 %260, %262
  br i1 %.not1624.not, label %.lr.ph1781, label %.loopexit1741, !llvm.loop !23

.loopexit1741:                                    ; preds = %.loopexit1744, %.loopexit1742, %.loopexit1740
  %.6 = phi i32 [ %.1, %.loopexit1740 ], [ %.3, %.loopexit1742 ], [ %.5, %.loopexit1744 ]
  %.not1635 = icmp eq i32 %.6, 0
  br i1 %.not1635, label %263, label %.loopexit1741.thread

.loopexit1741.thread:                             ; preds = %224, %185, %140, %.loopexit1741
  store float 1.000000e+00, ptr %31, align 4, !tbaa !9
  br label %263

263:                                              ; preds = %.loopexit1741.thread, %.loopexit1741
  store float 0.000000e+00, ptr %20, align 4, !tbaa !9
  store float %109, ptr %21, align 4, !tbaa !9
  %264 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %264, ptr %15, align 4, !tbaa !5
  %.not16371803 = icmp slt i32 %264, 1
  br i1 %.not16371803, label %.thread, label %.lr.ph1805.preheader

.thread:                                          ; preds = %263
  store i32 1, ptr %24, align 4, !tbaa !5
  br label %280

.lr.ph1805.preheader:                             ; preds = %263
  %265 = add nuw i32 %264, 1
  %wide.trip.count2231 = zext i32 %265 to i64
  br label %.lr.ph1805

.lr.ph1805:                                       ; preds = %.lr.ph1805.preheader, %274
  %indvars.iv2228 = phi i64 [ 1, %.lr.ph1805.preheader ], [ %indvars.iv.next2229, %274 ]
  %266 = phi float [ %109, %.lr.ph1805.preheader ], [ %275, %274 ]
  %267 = phi float [ 0.000000e+00, %.lr.ph1805.preheader ], [ %277, %274 ]
  %268 = getelementptr inbounds float, ptr %34, i64 %indvars.iv2228
  %269 = load float, ptr %268, align 4, !tbaa !9
  %270 = fcmp une float %269, 0.000000e+00
  br i1 %270, label %271, label %274

271:                                              ; preds = %.lr.ph1805
  %272 = fcmp ole float %266, %269
  %273 = select i1 %272, float %266, float %269
  store float %273, ptr %21, align 4, !tbaa !9
  br label %274

274:                                              ; preds = %271, %.lr.ph1805
  %275 = phi float [ %273, %271 ], [ %266, %.lr.ph1805 ]
  %276 = fcmp oge float %267, %269
  %277 = select i1 %276, float %267, float %269
  %indvars.iv.next2229 = add nuw nsw i64 %indvars.iv2228, 1
  %exitcond2232.not = icmp eq i64 %indvars.iv.next2229, %wide.trip.count2231
  br i1 %exitcond2232.not, label %278, label %.lr.ph1805, !llvm.loop !24

278:                                              ; preds = %274
  store float %267, ptr %19, align 4, !tbaa !9
  store float %277, ptr %20, align 4, !tbaa !9
  store i32 %265, ptr %24, align 4, !tbaa !5
  %279 = fcmp oeq float %277, 0.000000e+00
  br i1 %279, label %280, label %284

280:                                              ; preds = %.thread, %278
  %.not1687 = icmp eq i32 %42, 0
  br i1 %.not1687, label %282, label %281

281:                                              ; preds = %280
  call void @slaset_(ptr noundef nonnull @.str.5, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull @c_b17, ptr noundef nonnull @c_b18, ptr noundef %5, ptr noundef nonnull %6) #7
  br label %282

282:                                              ; preds = %281, %280
  store float 1.000000e+00, ptr %11, align 4, !tbaa !9
  %283 = getelementptr inbounds i8, ptr %11, i64 4
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(20) %283, i8 0, i64 20, i1 false)
  br label %1927

284:                                              ; preds = %278
  %285 = icmp eq i32 %264, 1
  br i1 %285, label %286, label %296

286:                                              ; preds = %284
  %.not1686 = icmp eq i32 %42, 0
  br i1 %.not1686, label %288, label %287

287:                                              ; preds = %286
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %7, ptr noundef nonnull %31, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  br label %288

288:                                              ; preds = %287, %286
  %289 = load float, ptr %31, align 4, !tbaa !9
  %290 = fdiv float 1.000000e+00, %289
  store float %290, ptr %11, align 4, !tbaa !9
  %291 = load float, ptr %7, align 4, !tbaa !9
  %292 = load float, ptr %26, align 4, !tbaa !9
  %293 = fcmp ult float %291, %292
  %.sink = select i1 %293, float 0.000000e+00, float 1.000000e+00
  %294 = getelementptr inbounds i8, ptr %11, i64 4
  store float %.sink, ptr %294, align 4
  %295 = getelementptr inbounds i8, ptr %11, i64 8
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 4 dereferenceable(16) %295, i8 0, i64 16, i1 false)
  br label %1927

296:                                              ; preds = %284
  %297 = load float, ptr %26, align 4, !tbaa !9
  %298 = load float, ptr %28, align 4, !tbaa !9
  %299 = fdiv float %297, %298
  %sqrtf1638 = call float @sqrtf(float noundef %299) #3
  %300 = load i32, ptr %4, align 4, !tbaa !5
  %301 = sitofp i32 %300 to float
  %302 = fdiv float %109, %301
  %sqrtf1639 = call float @sqrtf(float noundef %302) #3
  %303 = load float, ptr %20, align 4, !tbaa !9
  %304 = fcmp ugt float %303, %sqrtf1638
  br i1 %304, label %305, label %311

305:                                              ; preds = %296
  %306 = load float, ptr %21, align 4, !tbaa !9
  %307 = fcmp ult float %306, %sqrtf1639
  br i1 %307, label %308, label %311

308:                                              ; preds = %305
  %309 = fcmp ugt float %sqrtf1638, %306
  %310 = fcmp ugt float %303, %sqrtf1639
  %or.cond1693 = select i1 %309, i1 true, i1 %310
  br i1 %or.cond1693, label %315, label %311

311:                                              ; preds = %308, %305, %296
  store float %109, ptr %19, align 4, !tbaa !9
  %312 = fdiv float %sqrtf1639, %303
  %313 = fcmp ole float %109, %312
  %314 = select i1 %313, float %109, float %312
  store float %314, ptr %23, align 4, !tbaa !9
  br label %357

315:                                              ; preds = %308
  %316 = fcmp ugt float %306, %sqrtf1638
  %brmerge = select i1 %316, i1 true, i1 %310
  br i1 %brmerge, label %330, label %317

317:                                              ; preds = %315
  %318 = fdiv float %sqrtf1638, %306
  store float %318, ptr %19, align 4, !tbaa !9
  %319 = fpext float %303 to double
  %320 = load i32, ptr %4, align 4, !tbaa !5
  %321 = sitofp i32 %320 to float
  %322 = fpext float %321 to double
  %323 = call double @sqrt(double noundef %322) #7
  %324 = fmul double %323, %319
  %325 = fdiv double %111, %324
  %326 = fptrunc double %325 to float
  %327 = load float, ptr %19, align 4
  %328 = fcmp ole float %327, %326
  %329 = select i1 %328, float %327, float %326
  store float %329, ptr %23, align 4, !tbaa !9
  br label %357

330:                                              ; preds = %315
  %331 = fcmp ult float %303, %sqrtf1639
  %or.cond1714 = select i1 %309, i1 true, i1 %331
  br i1 %or.cond1714, label %342, label %332

332:                                              ; preds = %330
  %333 = insertelement <2 x float> poison, float %sqrtf1638, i64 0
  %334 = insertelement <2 x float> %333, float %sqrtf1639, i64 1
  %335 = insertelement <2 x float> poison, float %306, i64 0
  %336 = insertelement <2 x float> %335, float %303, i64 1
  %337 = fdiv <2 x float> %334, %336
  %338 = extractelement <2 x float> %337, i64 0
  store float %338, ptr %19, align 4, !tbaa !9
  %339 = extractelement <2 x float> %337, i64 1
  %340 = fcmp oge float %338, %339
  %341 = select i1 %340, float %338, float %339
  store float %341, ptr %23, align 4, !tbaa !9
  br label %357

342:                                              ; preds = %330
  %or.cond1715 = select i1 %316, i1 true, i1 %331
  br i1 %or.cond1715, label %.thread1713, label %343

343:                                              ; preds = %342
  %344 = fdiv float %sqrtf1638, %306
  store float %344, ptr %19, align 4, !tbaa !9
  %345 = load i32, ptr %4, align 4, !tbaa !5
  %346 = sitofp i32 %345 to float
  %347 = fpext float %346 to double
  %348 = call double @sqrt(double noundef %347) #7
  %349 = load float, ptr %20, align 4, !tbaa !9
  %350 = fpext float %349 to double
  %351 = fmul double %348, %350
  %352 = fdiv double %111, %351
  %353 = fptrunc double %352 to float
  %354 = load float, ptr %19, align 4
  %355 = fcmp ole float %354, %353
  %356 = select i1 %355, float %354, float %353
  store float %356, ptr %23, align 4, !tbaa !9
  br label %357

.thread1713:                                      ; preds = %342
  store float 1.000000e+00, ptr %23, align 4, !tbaa !9
  br label %361

357:                                              ; preds = %317, %343, %332, %311
  %358 = phi float [ %329, %317 ], [ %356, %343 ], [ %341, %332 ], [ %314, %311 ]
  %359 = fcmp une float %358, 1.000000e+00
  br i1 %359, label %360, label %361

360:                                              ; preds = %357
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %23, ptr noundef nonnull %4, ptr noundef nonnull @c__1, ptr noundef nonnull %7, ptr noundef nonnull %4, ptr noundef nonnull %22) #7
  %.pre2259 = load float, ptr %23, align 4, !tbaa !9
  br label %361

361:                                              ; preds = %.thread1713, %360, %357
  %362 = phi float [ 1.000000e+00, %.thread1713 ], [ %.pre2259, %360 ], [ 1.000000e+00, %357 ]
  %363 = load float, ptr %31, align 4, !tbaa !9
  %364 = fmul float %362, %363
  store float %364, ptr %31, align 4, !tbaa !9
  %365 = fcmp une float %364, 1.000000e+00
  br i1 %365, label %366, label %369

366:                                              ; preds = %361
  call void @slascl_(ptr noundef %0, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %31, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %367 = load float, ptr %31, align 4, !tbaa !9
  %368 = fdiv float 1.000000e+00, %367
  store float %368, ptr %31, align 4, !tbaa !9
  br label %369

369:                                              ; preds = %366, %361
  %370 = load i32, ptr %4, align 4, !tbaa !5
  %371 = add nsw i32 %370, -1
  %372 = mul nsw i32 %371, %370
  %373 = sdiv i32 %372, 2
  store float 0.000000e+00, ptr %27, align 16, !tbaa !9
  %.not16401808 = icmp slt i32 %370, 1
  br i1 %.not16401808, label %._crit_edge1812, label %.lr.ph1811.preheader

.lr.ph1811.preheader:                             ; preds = %369
  %374 = add nuw i32 %370, 1
  %wide.trip.count2236 = zext i32 %374 to i64
  %375 = zext nneg i32 %370 to i64
  %min.iters.check2372 = icmp ult i32 %370, 8
  br i1 %min.iters.check2372, label %.lr.ph1811.preheader2436, label %vector.ph2373

vector.ph2373:                                    ; preds = %.lr.ph1811.preheader
  %n.vec2375 = and i64 %375, 2147483640
  %ind.end2376 = or disjoint i64 %n.vec2375, 1
  br label %vector.body2378

vector.body2378:                                  ; preds = %vector.body2378, %vector.ph2373
  %index2379 = phi i64 [ 0, %vector.ph2373 ], [ %index.next2381, %vector.body2378 ]
  %376 = getelementptr float, ptr %11, i64 %index2379
  %377 = getelementptr inbounds i8, ptr %376, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %376, align 4, !tbaa !9
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %377, align 4, !tbaa !9
  %index.next2381 = add nuw i64 %index2379, 8
  %378 = icmp eq i64 %index.next2381, %n.vec2375
  br i1 %378, label %middle.block2370, label %vector.body2378, !llvm.loop !25

middle.block2370:                                 ; preds = %vector.body2378
  %cmp.n2382 = icmp eq i64 %n.vec2375, %375
  br i1 %cmp.n2382, label %._crit_edge1812, label %.lr.ph1811.preheader2436

.lr.ph1811.preheader2436:                         ; preds = %middle.block2370, %.lr.ph1811.preheader
  %indvars.iv2233.ph = phi i64 [ 1, %.lr.ph1811.preheader ], [ %ind.end2376, %middle.block2370 ]
  br label %.lr.ph1811

.lr.ph1811:                                       ; preds = %.lr.ph1811.preheader2436, %.lr.ph1811
  %indvars.iv2233 = phi i64 [ %indvars.iv.next2234, %.lr.ph1811 ], [ %indvars.iv2233.ph, %.lr.ph1811.preheader2436 ]
  %379 = getelementptr inbounds float, ptr %41, i64 %indvars.iv2233
  store float 1.000000e+00, ptr %379, align 4, !tbaa !9
  %indvars.iv.next2234 = add nuw nsw i64 %indvars.iv2233, 1
  %exitcond2237.not = icmp eq i64 %indvars.iv.next2234, %wide.trip.count2236
  br i1 %exitcond2237.not, label %._crit_edge1812, label %.lr.ph1811, !llvm.loop !26

._crit_edge1812:                                  ; preds = %.lr.ph1811, %middle.block2370, %369
  %spec.select = call i32 @llvm.smin.i32(i32 %370, i32 8)
  %380 = sdiv i32 %370, %spec.select
  %381 = mul nsw i32 %380, %spec.select
  %.not1641 = icmp ne i32 %381, %370
  %382 = zext i1 %.not1641 to i32
  %.01462 = add nsw i32 %380, %382
  %383 = mul nsw i32 %spec.select, %spec.select
  %384 = call i32 @llvm.smin.i32(i32 %370, i32 5)
  %385 = shl i32 %spec.select, 2
  store i32 %385, ptr %16, align 4, !tbaa !5
  %386 = or i32 %47, %46
  %or.cond17.not = icmp ne i32 %386, 0
  %387 = call i32 @llvm.smax.i32(i32 %385, i32 64)
  %388 = icmp sgt i32 %370, %387
  %or.cond1717 = and i1 %or.cond17.not, %388
  br i1 %or.cond1717, label %389, label %549

389:                                              ; preds = %._crit_edge1812
  %390 = lshr i32 %370, 2
  store i32 %390, ptr %30, align 4, !tbaa !5
  %391 = lshr i32 %370, 1
  store i32 %391, ptr %29, align 4, !tbaa !5
  br i1 %49, label %392, label %494

392:                                              ; preds = %389
  %393 = mul nuw nsw i32 %390, 3
  %394 = load i32, ptr %3, align 4, !tbaa !5
  %395 = sub nsw i32 %394, %393
  store i32 %395, ptr %15, align 4, !tbaa !5
  %396 = sub nsw i32 %370, %393
  store i32 %396, ptr %16, align 4, !tbaa !5
  %397 = load i32, ptr %12, align 4, !tbaa !5
  %398 = sub nsw i32 %397, %370
  store i32 %398, ptr %17, align 4, !tbaa !5
  %399 = add nuw nsw i32 %393, 1
  %400 = add i32 %35, 1
  %401 = mul i32 %399, %400
  %402 = sext i32 %401 to i64
  %403 = getelementptr inbounds float, ptr %37, i64 %402
  %404 = zext nneg i32 %399 to i64
  %405 = getelementptr inbounds float, ptr %41, i64 %404
  %406 = getelementptr inbounds float, ptr %34, i64 %404
  %407 = select i1 %59, i32 1, i32 %399
  %408 = mul nsw i32 %399, %38
  %409 = add nsw i32 %407, %408
  %410 = sext i32 %409 to i64
  %411 = getelementptr inbounds float, ptr %40, i64 %410
  %412 = zext nneg i32 %370 to i64
  %413 = getelementptr float, ptr %41, i64 %412
  %414 = getelementptr i8, ptr %413, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %403, ptr noundef nonnull %6, ptr noundef nonnull %405, ptr noundef nonnull %406, ptr noundef nonnull %33, ptr noundef %411, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__2, ptr noundef %414, ptr noundef nonnull %17, ptr noundef nonnull %22) #7
  %415 = load i32, ptr %3, align 4, !tbaa !5
  %416 = load i32, ptr %29, align 4, !tbaa !5
  %417 = sub nsw i32 %415, %416
  store i32 %417, ptr %15, align 4, !tbaa !5
  %418 = sub nsw i32 %393, %416
  store i32 %418, ptr %16, align 4, !tbaa !5
  %419 = load i32, ptr %12, align 4, !tbaa !5
  %420 = load i32, ptr %4, align 4, !tbaa !5
  %421 = sub nsw i32 %419, %420
  store i32 %421, ptr %17, align 4, !tbaa !5
  %422 = add nsw i32 %416, 1
  %423 = mul i32 %422, %400
  %424 = sext i32 %423 to i64
  %425 = getelementptr inbounds float, ptr %37, i64 %424
  %426 = sext i32 %422 to i64
  %427 = getelementptr inbounds float, ptr %41, i64 %426
  %428 = getelementptr inbounds float, ptr %34, i64 %426
  %429 = select i1 %59, i32 1, i32 %422
  %430 = mul nsw i32 %422, %38
  %431 = add nsw i32 %429, %430
  %432 = sext i32 %431 to i64
  %433 = getelementptr inbounds float, ptr %40, i64 %432
  %434 = sext i32 %420 to i64
  %435 = getelementptr float, ptr %41, i64 %434
  %436 = getelementptr i8, ptr %435, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %425, ptr noundef nonnull %6, ptr noundef nonnull %427, ptr noundef nonnull %428, ptr noundef nonnull %33, ptr noundef %433, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__2, ptr noundef %436, ptr noundef nonnull %17, ptr noundef nonnull %22) #7
  %437 = load i32, ptr %3, align 4, !tbaa !5
  %438 = load i32, ptr %29, align 4, !tbaa !5
  %439 = sub nsw i32 %437, %438
  store i32 %439, ptr %15, align 4, !tbaa !5
  %440 = load i32, ptr %4, align 4, !tbaa !5
  %441 = sub nsw i32 %440, %438
  store i32 %441, ptr %16, align 4, !tbaa !5
  %442 = load i32, ptr %12, align 4, !tbaa !5
  %443 = sub nsw i32 %442, %440
  store i32 %443, ptr %17, align 4, !tbaa !5
  %444 = add nsw i32 %438, 1
  %445 = mul i32 %444, %400
  %446 = sext i32 %445 to i64
  %447 = getelementptr inbounds float, ptr %37, i64 %446
  %448 = sext i32 %444 to i64
  %449 = getelementptr inbounds float, ptr %41, i64 %448
  %450 = getelementptr inbounds float, ptr %34, i64 %448
  %451 = select i1 %59, i32 1, i32 %444
  %452 = mul nsw i32 %444, %38
  %453 = add nsw i32 %451, %452
  %454 = sext i32 %453 to i64
  %455 = getelementptr inbounds float, ptr %40, i64 %454
  %456 = sext i32 %440 to i64
  %457 = getelementptr float, ptr %41, i64 %456
  %458 = getelementptr i8, ptr %457, i64 4
  call void @sgsvj1_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef nonnull %30, ptr noundef %447, ptr noundef nonnull %6, ptr noundef nonnull %449, ptr noundef nonnull %450, ptr noundef nonnull %33, ptr noundef %455, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %458, ptr noundef nonnull %17, ptr noundef nonnull %22) #7
  %459 = load i32, ptr %3, align 4, !tbaa !5
  %460 = load i32, ptr %30, align 4, !tbaa !5
  %461 = sub nsw i32 %459, %460
  store i32 %461, ptr %15, align 4, !tbaa !5
  %462 = load i32, ptr %29, align 4, !tbaa !5
  %463 = sub nsw i32 %462, %460
  store i32 %463, ptr %16, align 4, !tbaa !5
  %464 = load i32, ptr %12, align 4, !tbaa !5
  %465 = load i32, ptr %4, align 4, !tbaa !5
  %466 = sub nsw i32 %464, %465
  store i32 %466, ptr %17, align 4, !tbaa !5
  %467 = add nsw i32 %460, 1
  %468 = mul i32 %467, %400
  %469 = sext i32 %468 to i64
  %470 = getelementptr inbounds float, ptr %37, i64 %469
  %471 = sext i32 %467 to i64
  %472 = getelementptr inbounds float, ptr %41, i64 %471
  %473 = getelementptr inbounds float, ptr %34, i64 %471
  %474 = select i1 %59, i32 1, i32 %467
  %475 = mul nsw i32 %467, %38
  %476 = add nsw i32 %474, %475
  %477 = sext i32 %476 to i64
  %478 = getelementptr inbounds float, ptr %40, i64 %477
  %479 = sext i32 %465 to i64
  %480 = getelementptr float, ptr %41, i64 %479
  %481 = getelementptr i8, ptr %480, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %470, ptr noundef nonnull %6, ptr noundef nonnull %472, ptr noundef nonnull %473, ptr noundef nonnull %33, ptr noundef %478, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %481, ptr noundef nonnull %17, ptr noundef nonnull %22) #7
  %482 = load i32, ptr %12, align 4, !tbaa !5
  %483 = load i32, ptr %4, align 4, !tbaa !5
  %484 = sub nsw i32 %482, %483
  store i32 %484, ptr %15, align 4, !tbaa !5
  %485 = sext i32 %483 to i64
  %486 = getelementptr float, ptr %41, i64 %485
  %487 = getelementptr i8, ptr %486, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull %30, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %33, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %487, ptr noundef nonnull %15, ptr noundef nonnull %22) #7
  %488 = load i32, ptr %12, align 4, !tbaa !5
  %489 = load i32, ptr %4, align 4, !tbaa !5
  %490 = sub nsw i32 %488, %489
  store i32 %490, ptr %15, align 4, !tbaa !5
  %491 = sext i32 %489 to i64
  %492 = getelementptr float, ptr %41, i64 %491
  %493 = getelementptr i8, ptr %492, i64 4
  call void @sgsvj1_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %33, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %493, ptr noundef nonnull %15, ptr noundef nonnull %22) #7
  br label %549

494:                                              ; preds = %389
  br i1 %48, label %495, label %549

495:                                              ; preds = %494
  %496 = load i32, ptr %12, align 4, !tbaa !5
  %497 = sub nsw i32 %496, %370
  store i32 %497, ptr %15, align 4, !tbaa !5
  %498 = zext nneg i32 %370 to i64
  %499 = getelementptr float, ptr %41, i64 %498
  %500 = getelementptr i8, ptr %499, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %30, ptr noundef nonnull %30, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %33, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__2, ptr noundef %500, ptr noundef nonnull %15, ptr noundef nonnull %22) #7
  %501 = load i32, ptr %12, align 4, !tbaa !5
  %502 = load i32, ptr %4, align 4, !tbaa !5
  %503 = sub nsw i32 %501, %502
  store i32 %503, ptr %15, align 4, !tbaa !5
  %504 = load i32, ptr %30, align 4, !tbaa !5
  %505 = add nsw i32 %504, 1
  %506 = mul nsw i32 %505, %35
  %507 = sext i32 %506 to i64
  %508 = getelementptr float, ptr %37, i64 %507
  %509 = getelementptr i8, ptr %508, i64 4
  %510 = sext i32 %505 to i64
  %511 = getelementptr inbounds float, ptr %41, i64 %510
  %512 = getelementptr inbounds float, ptr %34, i64 %510
  %513 = select i1 %59, i32 1, i32 %505
  %514 = mul nsw i32 %505, %38
  %515 = add nsw i32 %513, %514
  %516 = sext i32 %515 to i64
  %517 = getelementptr inbounds float, ptr %40, i64 %516
  %518 = sext i32 %502 to i64
  %519 = getelementptr float, ptr %41, i64 %518
  %520 = getelementptr i8, ptr %519, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef %509, ptr noundef nonnull %6, ptr noundef nonnull %511, ptr noundef nonnull %512, ptr noundef nonnull %33, ptr noundef %517, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %520, ptr noundef nonnull %15, ptr noundef nonnull %22) #7
  %521 = load i32, ptr %12, align 4, !tbaa !5
  %522 = load i32, ptr %4, align 4, !tbaa !5
  %523 = sub nsw i32 %521, %522
  store i32 %523, ptr %15, align 4, !tbaa !5
  %524 = sext i32 %522 to i64
  %525 = getelementptr float, ptr %41, i64 %524
  %526 = getelementptr i8, ptr %525, i64 4
  call void @sgsvj1_(ptr noundef %2, ptr noundef nonnull %29, ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %33, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %526, ptr noundef nonnull %15, ptr noundef nonnull %22) #7
  %527 = load i32, ptr %29, align 4, !tbaa !5
  %528 = load i32, ptr %30, align 4, !tbaa !5
  %529 = add nsw i32 %528, %527
  store i32 %529, ptr %15, align 4, !tbaa !5
  %530 = load i32, ptr %12, align 4, !tbaa !5
  %531 = load i32, ptr %4, align 4, !tbaa !5
  %532 = sub nsw i32 %530, %531
  store i32 %532, ptr %16, align 4, !tbaa !5
  %533 = add nsw i32 %527, 1
  %534 = mul nsw i32 %533, %35
  %535 = sext i32 %534 to i64
  %536 = getelementptr float, ptr %37, i64 %535
  %537 = getelementptr i8, ptr %536, i64 4
  %538 = sext i32 %533 to i64
  %539 = getelementptr inbounds float, ptr %41, i64 %538
  %540 = getelementptr inbounds float, ptr %34, i64 %538
  %541 = select i1 %59, i32 1, i32 %533
  %542 = mul nsw i32 %533, %38
  %543 = add nsw i32 %541, %542
  %544 = sext i32 %543 to i64
  %545 = getelementptr inbounds float, ptr %40, i64 %544
  %546 = sext i32 %531 to i64
  %547 = getelementptr float, ptr %41, i64 %546
  %548 = getelementptr i8, ptr %547, i64 4
  call void @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %30, ptr noundef %537, ptr noundef nonnull %6, ptr noundef nonnull %539, ptr noundef nonnull %540, ptr noundef nonnull %33, ptr noundef %545, ptr noundef nonnull %10, ptr noundef nonnull %28, ptr noundef nonnull %26, ptr noundef nonnull %32, ptr noundef nonnull @c__1, ptr noundef %548, ptr noundef nonnull %16, ptr noundef nonnull %22) #7
  br label %549

549:                                              ; preds = %392, %495, %494, %._crit_edge1812
  %invariant.gep2148 = getelementptr i8, ptr %37, i64 4
  %550 = add i32 %spec.select, -1
  %invariant.gep1927 = getelementptr i8, ptr %40, i64 4
  %551 = getelementptr inbounds i8, ptr %27, i64 8
  %552 = sext i32 %35 to i64
  %553 = sext i32 %38 to i64
  %.not16442135 = icmp slt i32 %.01462, 1
  %554 = insertelement <2 x float> poison, float %108, i64 0
  %555 = shufflevector <2 x float> %554, <2 x float> poison, <2 x i32> zeroinitializer
  br label %556

556:                                              ; preds = %549, %1784
  %.015322153 = phi i32 [ 3, %549 ], [ %.11533, %1784 ]
  %.015392152 = phi i32 [ 1, %549 ], [ %1785, %1784 ]
  store i32 %.01462, ptr %15, align 4, !tbaa !5
  br i1 %.not16442135, label %.._crit_edge2143_crit_edge, label %.lr.ph2142

.._crit_edge2143_crit_edge:                       ; preds = %556
  %.pre2269 = load i32, ptr %4, align 4, !tbaa !5
  br label %._crit_edge2143

.lr.ph2142:                                       ; preds = %556
  %.not1685 = icmp sle i32 %.015392152, %.015322153
  %.not1669 = icmp sgt i32 %.015392152, %.015322153
  br label %559

..loopexit1738_crit_edge:                         ; preds = %.lr.ph2132, %middle.block2383
  %.lcssa = phi float [ %1724, %middle.block2383 ], [ %1726, %.lr.ph2132 ]
  %indvars.iv.next2251.lcssa = phi i64 [ %ind.end2389, %middle.block2383 ], [ %indvars.iv.next2251, %.lr.ph2132 ]
  %557 = trunc nsw i64 %indvars.iv.next2251.lcssa to i32
  store float %.lcssa, ptr %19, align 4, !tbaa !9
  br label %.loopexit1738

.loopexit1738:                                    ; preds = %..loopexit1738_crit_edge, %.loopexit1739
  %storemerge1672.lcssa = phi i32 [ %557, %..loopexit1738_crit_edge ], [ %564, %.loopexit1739 ]
  store i32 %storemerge1672.lcssa, ptr %24, align 4, !tbaa !5
  %558 = load i32, ptr %15, align 4, !tbaa !5
  %.not1644.not = icmp slt i32 %.014632140, %558
  %indvars.iv.next2242 = add i32 %indvars.iv2241, %spec.select
  %indvars.iv.next2249 = add i32 %indvars.iv2248, %spec.select
  br i1 %.not1644.not, label %559, label %._crit_edge2143, !llvm.loop !27

559:                                              ; preds = %.lr.ph2142, %.loopexit1738
  %indvars.iv2248 = phi i32 [ 1, %.lr.ph2142 ], [ %indvars.iv.next2249, %.loopexit1738 ]
  %indvars.iv2241 = phi i32 [ %spec.select, %.lr.ph2142 ], [ %indvars.iv.next2242, %.loopexit1738 ]
  %.014632140 = phi i32 [ 1, %.lr.ph2142 ], [ %1135, %.loopexit1738 ]
  %.014692139 = phi i32 [ 0, %.lr.ph2142 ], [ %.14, %.loopexit1738 ]
  %.014762138 = phi i32 [ 0, %.lr.ph2142 ], [ %.17, %.loopexit1738 ]
  %.114982137 = phi float [ 0.000000e+00, %.lr.ph2142 ], [ %.161513, %.loopexit1738 ]
  %.115172136 = phi float [ 0.000000e+00, %.lr.ph2142 ], [ %.141530, %.loopexit1738 ]
  %560 = sext i32 %indvars.iv2248 to i64
  %561 = sext i32 %indvars.iv2248 to i64
  %562 = add nsw i32 %.014632140, -1
  %563 = mul nsw i32 %562, %spec.select
  %564 = add nsw i32 %563, 1
  %565 = sub nsw i32 %.01462, %.014632140
  store i32 %565, ptr %18, align 4, !tbaa !5
  %566 = call i32 @llvm.smin.i32(i32 %565, i32 1)
  store i32 %566, ptr %16, align 4, !tbaa !5
  %.not16591948 = icmp slt i32 %565, 0
  br i1 %.not16591948, label %._crit_edge1957, label %.lr.ph1956

.lr.ph1956:                                       ; preds = %559, %._crit_edge1943
  %567 = phi i32 [ %1133, %._crit_edge1943 ], [ %566, %559 ]
  %.014641954 = phi i32 [ %569, %._crit_edge1943 ], [ %564, %559 ]
  %.114701953 = phi i32 [ %.21471.lcssa, %._crit_edge1943 ], [ %.014692139, %559 ]
  %.114771952 = phi i32 [ %.21478.lcssa, %._crit_edge1943 ], [ %.014762138, %559 ]
  %.014961951 = phi i32 [ %1134, %._crit_edge1943 ], [ 0, %559 ]
  %.214991950 = phi float [ %.31500.lcssa, %._crit_edge1943 ], [ %.114982137, %559 ]
  %.215181949 = phi float [ %.31519.lcssa, %._crit_edge1943 ], [ %.115172136, %559 ]
  %568 = mul nsw i32 %.014961951, %spec.select
  %569 = add nsw i32 %.014641954, %568
  %570 = add i32 %550, %569
  store i32 %570, ptr %18, align 4, !tbaa !5
  %571 = load i32, ptr %4, align 4, !tbaa !5
  %572 = add nsw i32 %571, -1
  %573 = call i32 @llvm.smin.i32(i32 %570, i32 %572)
  store i32 %573, ptr %17, align 4, !tbaa !5
  store i32 %569, ptr %24, align 4, !tbaa !5
  %.not16761935 = icmp sgt i32 %569, %573
  br i1 %.not16761935, label %._crit_edge1943, label %.lr.ph1942

.lr.ph1942:                                       ; preds = %.lr.ph1956
  %574 = icmp eq i32 %.014961951, 0
  %575 = zext i1 %574 to i32
  br label %576

576:                                              ; preds = %.lr.ph1942, %1129
  %.214711940 = phi i32 [ %.114701953, %.lr.ph1942 ], [ %.7, %1129 ]
  %.214781939 = phi i32 [ %.114771952, %.lr.ph1942 ], [ %.91485, %1129 ]
  %.315001938 = phi float [ %.214991950, %.lr.ph1942 ], [ %.81505, %1129 ]
  %.315191937 = phi float [ %.215181949, %.lr.ph1942 ], [ %.71523, %1129 ]
  %storemerge16751936 = phi i32 [ %569, %.lr.ph1942 ], [ %1131, %1129 ]
  %577 = load i32, ptr %4, align 4, !tbaa !5
  %reass.sub2193 = sub i32 %577, %storemerge16751936
  %578 = add i32 %reass.sub2193, 1
  store i32 %578, ptr %18, align 4, !tbaa !5
  %579 = sext i32 %storemerge16751936 to i64
  %580 = getelementptr inbounds float, ptr %34, i64 %579
  %581 = call i32 @isamax_(ptr noundef nonnull %18, ptr noundef nonnull %580, ptr noundef nonnull @c__1) #7
  %582 = load i32, ptr %24, align 4, !tbaa !5
  %583 = add i32 %581, -1
  %584 = add i32 %583, %582
  %.not1677 = icmp eq i32 %583, 0
  br i1 %.not1677, label %608, label %585

585:                                              ; preds = %576
  %586 = mul nsw i32 %582, %35
  %587 = sext i32 %586 to i64
  %gep1924 = getelementptr float, ptr %invariant.gep2148, i64 %587
  %588 = mul nsw i32 %584, %35
  %589 = sext i32 %588 to i64
  %gep1926 = getelementptr float, ptr %invariant.gep2148, i64 %589
  call void @sswap_(ptr noundef nonnull %3, ptr noundef %gep1924, ptr noundef nonnull @c__1, ptr noundef %gep1926, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %590, label %596

590:                                              ; preds = %585
  %591 = load i32, ptr %24, align 4, !tbaa !5
  %592 = mul nsw i32 %591, %38
  %593 = sext i32 %592 to i64
  %gep1928 = getelementptr float, ptr %invariant.gep1927, i64 %593
  %594 = mul nsw i32 %584, %38
  %595 = sext i32 %594 to i64
  %gep1930 = getelementptr float, ptr %invariant.gep1927, i64 %595
  call void @sswap_(ptr noundef nonnull %33, ptr noundef %gep1928, ptr noundef nonnull @c__1, ptr noundef %gep1930, ptr noundef nonnull @c__1) #7
  br label %596

596:                                              ; preds = %590, %585
  %597 = load i32, ptr %24, align 4, !tbaa !5
  %598 = sext i32 %597 to i64
  %599 = getelementptr inbounds float, ptr %34, i64 %598
  %600 = load float, ptr %599, align 4, !tbaa !9
  %601 = sext i32 %584 to i64
  %602 = getelementptr inbounds float, ptr %34, i64 %601
  %603 = load float, ptr %602, align 4, !tbaa !9
  store float %603, ptr %599, align 4, !tbaa !9
  store float %600, ptr %602, align 4, !tbaa !9
  %604 = getelementptr inbounds float, ptr %41, i64 %598
  %605 = load float, ptr %604, align 4, !tbaa !9
  store float %605, ptr %23, align 4, !tbaa !9
  %606 = getelementptr inbounds float, ptr %41, i64 %601
  %607 = load float, ptr %606, align 4, !tbaa !9
  store float %607, ptr %604, align 4, !tbaa !9
  store float %605, ptr %606, align 4, !tbaa !9
  br label %608

608:                                              ; preds = %596, %576
  %609 = phi i32 [ %597, %596 ], [ %582, %576 ]
  %610 = sext i32 %609 to i64
  %611 = getelementptr inbounds float, ptr %34, i64 %610
  %612 = load float, ptr %611, align 4, !tbaa !9
  br i1 %574, label %613, label %._crit_edge2261

613:                                              ; preds = %608
  %614 = fcmp olt float %612, %110
  %615 = fcmp ogt float %612, %sqrtf1620
  %or.cond1694 = and i1 %614, %615
  br i1 %or.cond1694, label %616, label %625

616:                                              ; preds = %613
  %617 = mul nsw i32 %609, %35
  %618 = sext i32 %617 to i64
  %gep1934 = getelementptr float, ptr %invariant.gep2148, i64 %618
  %619 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep1934, ptr noundef nonnull @c__1) #7
  %620 = load i32, ptr %24, align 4, !tbaa !5
  %621 = sext i32 %620 to i64
  %622 = getelementptr inbounds float, ptr %41, i64 %621
  %623 = load float, ptr %622, align 4, !tbaa !9
  %624 = fmul float %619, %623
  br label %._crit_edge2261.sink.split

625:                                              ; preds = %613
  store float 0.000000e+00, ptr %23, align 4, !tbaa !9
  store float 1.000000e+00, ptr %20, align 4, !tbaa !9
  %626 = mul nsw i32 %609, %35
  %627 = sext i32 %626 to i64
  %gep1932 = getelementptr float, ptr %invariant.gep2148, i64 %627
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep1932, ptr noundef nonnull @c__1, ptr noundef nonnull %23, ptr noundef nonnull %20) #7
  %628 = load float, ptr %23, align 4, !tbaa !9
  %629 = fpext float %628 to double
  %630 = load float, ptr %20, align 4, !tbaa !9
  %631 = fpext float %630 to double
  %632 = call double @sqrt(double noundef %631) #7
  %633 = fmul double %632, %629
  %634 = load i32, ptr %24, align 4, !tbaa !5
  %635 = sext i32 %634 to i64
  %636 = getelementptr inbounds float, ptr %41, i64 %635
  %637 = load float, ptr %636, align 4, !tbaa !9
  %638 = fpext float %637 to double
  %639 = fmul double %633, %638
  %640 = fptrunc double %639 to float
  br label %._crit_edge2261.sink.split

._crit_edge2261.sink.split:                       ; preds = %625, %616
  %.sink2306 = phi i64 [ %621, %616 ], [ %635, %625 ]
  %.sink2304 = phi float [ %624, %616 ], [ %640, %625 ]
  %.pn.in.ph = phi i32 [ %620, %616 ], [ %634, %625 ]
  %641 = getelementptr inbounds float, ptr %34, i64 %.sink2306
  store float %.sink2304, ptr %641, align 4, !tbaa !9
  br label %._crit_edge2261

._crit_edge2261:                                  ; preds = %._crit_edge2261.sink.split, %608
  %.pn.pre-phi = phi i64 [ %610, %608 ], [ %.sink2306, %._crit_edge2261.sink.split ]
  %storemerge1678 = phi float [ %612, %608 ], [ %.sink2304, %._crit_edge2261.sink.split ]
  %.pn.in = phi i32 [ %609, %608 ], [ %.pn.in.ph, %._crit_edge2261.sink.split ]
  store float %storemerge1678, ptr %20, align 4, !tbaa !9
  %642 = fcmp ogt float %storemerge1678, 0.000000e+00
  br i1 %642, label %643, label %1123

643:                                              ; preds = %._crit_edge2261
  %644 = load i32, ptr %4, align 4, !tbaa !5
  %.1695 = call i32 @llvm.smin.i32(i32 %570, i32 %644)
  store i32 %.1695, ptr %18, align 4, !tbaa !5
  br label %645

645:                                              ; preds = %1114, %643
  %indvars.iv2238 = phi i64 [ %indvars.iv.next2239, %1114 ], [ %.pn.pre-phi, %643 ]
  %.41520 = phi float [ %.51521, %1114 ], [ %.315191937, %643 ]
  %.41501 = phi float [ %.61503, %1114 ], [ %.315001938, %643 ]
  %.01491 = phi i32 [ %.21493, %1114 ], [ 0, %643 ]
  %.31479 = phi i32 [ %.71483, %1114 ], [ %.214781939, %643 ]
  %.31472 = phi i32 [ %.51474, %1114 ], [ %.214711940, %643 ]
  %indvars.iv.next2239 = add nsw i64 %indvars.iv2238, 1
  %646 = load i32, ptr %18, align 4, !tbaa !5
  %647 = sext i32 %646 to i64
  %.not1681.not = icmp slt i64 %indvars.iv2238, %647
  br i1 %.not1681.not, label %648, label %.loopexit1737.loopexit

648:                                              ; preds = %645
  %649 = getelementptr float, ptr %7, i64 %indvars.iv2238
  %650 = load float, ptr %649, align 4, !tbaa !9
  store float %650, ptr %21, align 4, !tbaa !9
  %651 = fcmp ogt float %650, 0.000000e+00
  br i1 %651, label %652, label %1112

652:                                              ; preds = %648
  %653 = load float, ptr %20, align 4, !tbaa !9
  %654 = fcmp ult float %650, 1.000000e+00
  br i1 %654, label %695, label %655

655:                                              ; preds = %652
  %656 = fmul float %108, %653
  %657 = fcmp ole float %656, %650
  %658 = fdiv float %109, %650
  %659 = fcmp olt float %653, %658
  %660 = load i32, ptr %24, align 4, !tbaa !5
  %661 = mul nsw i32 %660, %35
  %662 = sext i32 %661 to i64
  %gep1824 = getelementptr float, ptr %invariant.gep2148, i64 %662
  br i1 %659, label %663, label %678

663:                                              ; preds = %655
  %664 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1826 = getelementptr float, ptr %invariant.gep2148, i64 %664
  %665 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1824, ptr noundef nonnull @c__1, ptr noundef %gep1826, ptr noundef nonnull @c__1) #7
  %666 = load i32, ptr %24, align 4, !tbaa !5
  %667 = sext i32 %666 to i64
  %668 = getelementptr inbounds float, ptr %41, i64 %667
  %669 = load float, ptr %668, align 4, !tbaa !9
  %670 = fmul float %665, %669
  %671 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %672 = load float, ptr %671, align 4, !tbaa !9
  %673 = fmul float %670, %672
  %674 = load float, ptr %21, align 4, !tbaa !9
  %675 = fdiv float %673, %674
  %676 = load float, ptr %20, align 4, !tbaa !9
  %677 = fdiv float %675, %676
  br label %738

678:                                              ; preds = %655
  %679 = load i32, ptr %4, align 4, !tbaa !5
  %680 = sext i32 %679 to i64
  %gep1816 = getelementptr float, ptr %11, i64 %680
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1824, ptr noundef nonnull @c__1, ptr noundef %gep1816, ptr noundef nonnull @c__1) #7
  %681 = load i32, ptr %24, align 4, !tbaa !5
  %682 = sext i32 %681 to i64
  %683 = getelementptr inbounds float, ptr %41, i64 %682
  %684 = load i32, ptr %4, align 4, !tbaa !5
  %685 = sext i32 %684 to i64
  %gep1818 = getelementptr float, ptr %11, i64 %685
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %20, ptr noundef nonnull %683, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1818, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %686 = load i32, ptr %4, align 4, !tbaa !5
  %687 = sext i32 %686 to i64
  %gep1820 = getelementptr float, ptr %11, i64 %687
  %688 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1822 = getelementptr float, ptr %invariant.gep2148, i64 %688
  %689 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1820, ptr noundef nonnull @c__1, ptr noundef %gep1822, ptr noundef nonnull @c__1) #7
  %690 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %691 = load float, ptr %690, align 4, !tbaa !9
  %692 = fmul float %689, %691
  %693 = load float, ptr %21, align 4, !tbaa !9
  %694 = fdiv float %692, %693
  br label %738

695:                                              ; preds = %652
  %696 = fdiv float %650, %108
  %697 = fcmp ole float %653, %696
  %698 = fdiv float %108, %650
  %699 = fcmp ogt float %653, %698
  br i1 %699, label %700, label %718

700:                                              ; preds = %695
  %701 = load i32, ptr %24, align 4, !tbaa !5
  %702 = mul nsw i32 %701, %35
  %703 = sext i32 %702 to i64
  %gep1838 = getelementptr float, ptr %invariant.gep2148, i64 %703
  %704 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1840 = getelementptr float, ptr %invariant.gep2148, i64 %704
  %705 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1838, ptr noundef nonnull @c__1, ptr noundef %gep1840, ptr noundef nonnull @c__1) #7
  %706 = load i32, ptr %24, align 4, !tbaa !5
  %707 = sext i32 %706 to i64
  %708 = getelementptr inbounds float, ptr %41, i64 %707
  %709 = load float, ptr %708, align 4, !tbaa !9
  %710 = fmul float %705, %709
  %711 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %712 = load float, ptr %711, align 4, !tbaa !9
  %713 = fmul float %710, %712
  %714 = load float, ptr %21, align 4, !tbaa !9
  %715 = fdiv float %713, %714
  %716 = load float, ptr %20, align 4, !tbaa !9
  %717 = fdiv float %715, %716
  br label %738

718:                                              ; preds = %695
  %719 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1828 = getelementptr float, ptr %invariant.gep2148, i64 %719
  %720 = load i32, ptr %4, align 4, !tbaa !5
  %721 = sext i32 %720 to i64
  %gep1830 = getelementptr float, ptr %11, i64 %721
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1828, ptr noundef nonnull @c__1, ptr noundef %gep1830, ptr noundef nonnull @c__1) #7
  %722 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %723 = load i32, ptr %4, align 4, !tbaa !5
  %724 = sext i32 %723 to i64
  %gep1832 = getelementptr float, ptr %11, i64 %724
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull %722, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1832, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %725 = load i32, ptr %4, align 4, !tbaa !5
  %726 = sext i32 %725 to i64
  %gep1834 = getelementptr float, ptr %11, i64 %726
  %727 = load i32, ptr %24, align 4, !tbaa !5
  %728 = mul nsw i32 %727, %35
  %729 = sext i32 %728 to i64
  %gep1836 = getelementptr float, ptr %invariant.gep2148, i64 %729
  %730 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1834, ptr noundef nonnull @c__1, ptr noundef %gep1836, ptr noundef nonnull @c__1) #7
  %731 = load i32, ptr %24, align 4, !tbaa !5
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds float, ptr %41, i64 %732
  %734 = load float, ptr %733, align 4, !tbaa !9
  %735 = fmul float %730, %734
  %736 = load float, ptr %20, align 4, !tbaa !9
  %737 = fdiv float %735, %736
  br label %738

738:                                              ; preds = %700, %718, %663, %678
  %.01547.in = phi i1 [ %657, %663 ], [ %657, %678 ], [ %697, %700 ], [ %697, %718 ]
  %.01465 = phi float [ %677, %663 ], [ %694, %678 ], [ %717, %700 ], [ %737, %718 ]
  store float %.41520, ptr %19, align 4, !tbaa !9
  %739 = fcmp oge float %.01465, 0.000000e+00
  %740 = fneg float %.01465
  %741 = select i1 %739, float %.01465, float %740
  %742 = fcmp oge float %.41520, %741
  %743 = select i1 %742, float %.41520, float %741
  %744 = load float, ptr %32, align 4, !tbaa !9
  %745 = fcmp ogt float %741, %744
  br i1 %745, label %746, label %1110

746:                                              ; preds = %738
  %.11492 = select i1 %574, i32 0, i32 %.01491
  %.41480 = select i1 %574, i32 0, i32 %.31479
  %.41473 = add nsw i32 %.31472, %575
  br i1 %.01547.in, label %747, label %1016

747:                                              ; preds = %746
  %748 = load float, ptr %21, align 4, !tbaa !9
  %749 = load float, ptr %20, align 4, !tbaa !9
  %750 = insertelement <2 x float> poison, float %748, i64 0
  %751 = insertelement <2 x float> %750, float %749, i64 1
  %752 = insertelement <2 x float> poison, float %749, i64 0
  %753 = insertelement <2 x float> %752, float %748, i64 1
  %754 = fdiv <2 x float> %751, %753
  %shift = shufflevector <2 x float> %754, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %755 = fsub <2 x float> %754, %shift
  %756 = extractelement <2 x float> %755, i64 0
  store float %756, ptr %19, align 4, !tbaa !9
  %757 = fcmp oge float %756, 0.000000e+00
  %758 = fneg float %756
  %759 = select i1 %757, float %756, float %758
  %760 = fmul float %759, -5.000000e-01
  %761 = fdiv float %760, %.01465
  %762 = fcmp oge float %761, 0.000000e+00
  %763 = fneg float %761
  %764 = select i1 %762, float %761, float %763
  %765 = fcmp ogt float %764, %117
  br i1 %765, label %766, label %821

766:                                              ; preds = %747
  %767 = fdiv float 5.000000e-01, %761
  store float %767, ptr %25, align 4, !tbaa !9
  %768 = load i32, ptr %24, align 4, !tbaa !5
  %769 = sext i32 %768 to i64
  %770 = getelementptr inbounds float, ptr %41, i64 %769
  %771 = load float, ptr %770, align 4, !tbaa !9
  %772 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %773 = load float, ptr %772, align 4, !tbaa !9
  %774 = fneg float %767
  %775 = insertelement <2 x float> poison, float %767, i64 0
  %776 = insertelement <2 x float> %775, float %773, i64 1
  %777 = insertelement <2 x float> poison, float %771, i64 0
  %778 = insertelement <2 x float> %777, float %774, i64 1
  %779 = fmul <2 x float> %776, %778
  %780 = insertelement <2 x float> poison, float %773, i64 0
  %781 = insertelement <2 x float> %780, float %771, i64 1
  %782 = fdiv <2 x float> %779, %781
  store <2 x float> %782, ptr %551, align 8, !tbaa !9
  %783 = mul nsw i32 %768, %35
  %784 = sext i32 %783 to i64
  %gep1908 = getelementptr float, ptr %invariant.gep2148, i64 %784
  %785 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1910 = getelementptr float, ptr %invariant.gep2148, i64 %785
  call void @srotm_(ptr noundef nonnull %3, ptr noundef %gep1908, ptr noundef nonnull @c__1, ptr noundef %gep1910, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br i1 %or.cond5, label %786, label %791

786:                                              ; preds = %766
  %787 = load i32, ptr %24, align 4, !tbaa !5
  %788 = mul nsw i32 %787, %38
  %789 = sext i32 %788 to i64
  %gep1912 = getelementptr float, ptr %invariant.gep1927, i64 %789
  %790 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1914 = getelementptr float, ptr %invariant.gep1927, i64 %790
  call void @srotm_(ptr noundef nonnull %33, ptr noundef %gep1912, ptr noundef nonnull @c__1, ptr noundef %gep1914, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br label %791

791:                                              ; preds = %786, %766
  %792 = load float, ptr %25, align 4
  %793 = load float, ptr %21, align 4, !tbaa !9
  %794 = fpext float %793 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %795 = fneg float %792
  %796 = insertelement <2 x float> poison, float %795, i64 0
  %797 = insertelement <2 x float> %796, float %792, i64 1
  %798 = fmul <2 x float> %754, %797
  %799 = insertelement <2 x float> poison, float %.01465, i64 0
  %800 = shufflevector <2 x float> %799, <2 x float> poison, <2 x i32> zeroinitializer
  %801 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %798, <2 x float> %800, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %802 = fcmp ole <2 x float> %801, zeroinitializer
  %803 = extractelement <2 x i1> %802, i64 1
  %804 = extractelement <2 x float> %801, i64 1
  %805 = fpext float %804 to double
  %806 = select i1 %803, double 0.000000e+00, double %805
  %sqrt1719 = call double @llvm.sqrt.f64(double %806)
  %807 = fmul double %sqrt1719, %794
  %808 = fptrunc double %807 to float
  store float %808, ptr %649, align 4, !tbaa !9
  %809 = extractelement <2 x i1> %802, i64 0
  %810 = extractelement <2 x float> %801, i64 0
  %811 = fpext float %810 to double
  %812 = select i1 %809, double 0.000000e+00, double %811
  %sqrt = call double @llvm.sqrt.f64(double %812)
  %813 = load float, ptr %20, align 4, !tbaa !9
  %814 = fpext float %813 to double
  %815 = fmul double %sqrt, %814
  %816 = fptrunc double %815 to float
  store float %816, ptr %20, align 4, !tbaa !9
  %817 = fcmp oge float %792, 0.000000e+00
  %818 = select i1 %817, float %792, float %795
  %819 = fcmp oge float %.41501, %818
  %820 = select i1 %819, float %.41501, float %818
  br label %1046

821:                                              ; preds = %747
  %822 = load float, ptr @c_b18, align 4
  %823 = fcmp oge float %822, 0.000000e+00
  %824 = fneg float %822
  br i1 %739, label %825, label %827

825:                                              ; preds = %821
  %826 = select i1 %823, float %822, float %824
  br label %829

827:                                              ; preds = %821
  %828 = select i1 %823, float %824, float %822
  br label %829

829:                                              ; preds = %827, %825
  %830 = phi float [ %826, %825 ], [ %828, %827 ]
  %831 = fneg float %830
  %832 = fpext float %761 to double
  %833 = fpext float %831 to double
  %834 = call float @llvm.fmuladd.f32(float %761, float %761, float 1.000000e+00)
  %835 = fpext float %834 to double
  %sqrt1723 = call double @llvm.sqrt.f64(double %835)
  %836 = call double @llvm.fmuladd.f64(double %833, double %sqrt1723, double %832)
  %837 = fdiv double 1.000000e+00, %836
  %838 = fptrunc double %837 to float
  store float %838, ptr %25, align 4, !tbaa !9
  %839 = call float @llvm.fmuladd.f32(float %838, float %838, float 1.000000e+00)
  %840 = fdiv float 1.000000e+00, %839
  %sqrt1722 = call float @llvm.sqrt.f32(float %840)
  %841 = fmul float %sqrt1722, %838
  %842 = fcmp oge float %841, 0.000000e+00
  %843 = fneg float %841
  %844 = select i1 %842, float %841, float %843
  %845 = fcmp oge float %.41501, %844
  %846 = select i1 %845, float %.41501, float %844
  %847 = fpext float %748 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %848 = fneg float %838
  %849 = insertelement <2 x float> poison, float %848, i64 0
  %850 = insertelement <2 x float> %849, float %838, i64 1
  %851 = fmul <2 x float> %754, %850
  %852 = insertelement <2 x float> poison, float %.01465, i64 0
  %853 = shufflevector <2 x float> %852, <2 x float> poison, <2 x i32> zeroinitializer
  %854 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %851, <2 x float> %853, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %855 = fcmp ole <2 x float> %854, zeroinitializer
  %856 = extractelement <2 x i1> %855, i64 1
  %857 = extractelement <2 x float> %854, i64 1
  %858 = fpext float %857 to double
  %859 = select i1 %856, double 0.000000e+00, double %858
  %sqrt1721 = call double @llvm.sqrt.f64(double %859)
  %860 = fmul double %sqrt1721, %847
  %861 = fptrunc double %860 to float
  store float %861, ptr %649, align 4, !tbaa !9
  %862 = extractelement <2 x i1> %855, i64 0
  %863 = extractelement <2 x float> %854, i64 0
  %864 = fpext float %863 to double
  %865 = select i1 %862, double 0.000000e+00, double %864
  %sqrt1720 = call double @llvm.sqrt.f64(double %865)
  %866 = fpext float %749 to double
  %867 = fmul double %sqrt1720, %866
  %868 = fptrunc double %867 to float
  store float %868, ptr %20, align 4, !tbaa !9
  %869 = load i32, ptr %24, align 4, !tbaa !5
  %870 = sext i32 %869 to i64
  %871 = getelementptr inbounds float, ptr %41, i64 %870
  %872 = load float, ptr %871, align 4, !tbaa !9
  %873 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %874 = load float, ptr %873, align 4, !tbaa !9
  %875 = insertelement <2 x float> poison, float %874, i64 0
  %876 = insertelement <2 x float> %875, float %872, i64 1
  %877 = insertelement <2 x float> poison, float %872, i64 0
  %878 = insertelement <2 x float> %877, float %874, i64 1
  %879 = fdiv <2 x float> %876, %878
  %880 = fcmp ult float %872, 1.000000e+00
  %881 = fcmp ult float %874, 1.000000e+00
  br i1 %880, label %926, label %882

882:                                              ; preds = %829
  br i1 %881, label %897, label %883

883:                                              ; preds = %882
  %884 = fmul <2 x float> %879, %850
  %885 = shufflevector <2 x float> %884, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %885, ptr %551, align 8, !tbaa !9
  %886 = fmul float %sqrt1722, %872
  store float %886, ptr %871, align 4, !tbaa !9
  %887 = load float, ptr %873, align 4, !tbaa !9
  %888 = fmul float %sqrt1722, %887
  store float %888, ptr %873, align 4, !tbaa !9
  %889 = mul nsw i32 %869, %35
  %890 = sext i32 %889 to i64
  %gep1852 = getelementptr float, ptr %invariant.gep2148, i64 %890
  %891 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1854 = getelementptr float, ptr %invariant.gep2148, i64 %891
  call void @srotm_(ptr noundef nonnull %3, ptr noundef %gep1852, ptr noundef nonnull @c__1, ptr noundef %gep1854, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br i1 %or.cond5, label %892, label %1046

892:                                              ; preds = %883
  %893 = load i32, ptr %24, align 4, !tbaa !5
  %894 = mul nsw i32 %893, %38
  %895 = sext i32 %894 to i64
  %gep1856 = getelementptr float, ptr %invariant.gep1927, i64 %895
  %896 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1858 = getelementptr float, ptr %invariant.gep1927, i64 %896
  call void @srotm_(ptr noundef nonnull %33, ptr noundef %gep1856, ptr noundef nonnull @c__1, ptr noundef %gep1858, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br label %1046

897:                                              ; preds = %882
  %898 = extractelement <2 x float> %879, i64 0
  %899 = fmul float %898, %848
  store float %899, ptr %19, align 4, !tbaa !9
  %900 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1860 = getelementptr float, ptr %invariant.gep2148, i64 %900
  %901 = mul nsw i32 %869, %35
  %902 = sext i32 %901 to i64
  %gep1862 = getelementptr float, ptr %invariant.gep2148, i64 %902
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1860, ptr noundef nonnull @c__1, ptr noundef %gep1862, ptr noundef nonnull @c__1) #7
  %903 = fmul float %sqrt1722, %841
  %904 = extractelement <2 x float> %879, i64 1
  %905 = fmul float %903, %904
  store float %905, ptr %19, align 4, !tbaa !9
  %906 = load i32, ptr %24, align 4, !tbaa !5
  %907 = mul nsw i32 %906, %35
  %908 = sext i32 %907 to i64
  %gep1864 = getelementptr float, ptr %invariant.gep2148, i64 %908
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1864, ptr noundef nonnull @c__1, ptr noundef %gep1860, ptr noundef nonnull @c__1) #7
  %909 = load i32, ptr %24, align 4, !tbaa !5
  %910 = sext i32 %909 to i64
  %911 = getelementptr inbounds float, ptr %41, i64 %910
  %912 = load float, ptr %911, align 4, !tbaa !9
  %913 = fmul float %sqrt1722, %912
  store float %913, ptr %911, align 4, !tbaa !9
  %914 = load float, ptr %873, align 4, !tbaa !9
  %915 = fdiv float %914, %sqrt1722
  store float %915, ptr %873, align 4, !tbaa !9
  br i1 %or.cond5, label %916, label %1046

916:                                              ; preds = %897
  %917 = load float, ptr %25, align 4, !tbaa !9
  %918 = fneg float %917
  %919 = fmul float %898, %918
  store float %919, ptr %19, align 4, !tbaa !9
  %920 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1866 = getelementptr float, ptr %invariant.gep1927, i64 %920
  %921 = mul nsw i32 %909, %38
  %922 = sext i32 %921 to i64
  %gep1868 = getelementptr float, ptr %invariant.gep1927, i64 %922
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1866, ptr noundef nonnull @c__1, ptr noundef %gep1868, ptr noundef nonnull @c__1) #7
  store float %905, ptr %19, align 4, !tbaa !9
  %923 = load i32, ptr %24, align 4, !tbaa !5
  %924 = mul nsw i32 %923, %38
  %925 = sext i32 %924 to i64
  %gep1870 = getelementptr float, ptr %invariant.gep1927, i64 %925
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1870, ptr noundef nonnull @c__1, ptr noundef %gep1866, ptr noundef nonnull @c__1) #7
  br label %1046

926:                                              ; preds = %829
  br i1 %881, label %956, label %927

927:                                              ; preds = %926
  %928 = extractelement <2 x float> %879, i64 1
  %929 = fmul float %928, %838
  store float %929, ptr %19, align 4, !tbaa !9
  %930 = mul nsw i32 %869, %35
  %931 = sext i32 %930 to i64
  %gep1872 = getelementptr float, ptr %invariant.gep2148, i64 %931
  %932 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1874 = getelementptr float, ptr %invariant.gep2148, i64 %932
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1872, ptr noundef nonnull @c__1, ptr noundef %gep1874, ptr noundef nonnull @c__1) #7
  %933 = fneg float %sqrt1722
  %934 = fmul float %841, %933
  %935 = extractelement <2 x float> %879, i64 0
  %936 = fmul float %934, %935
  store float %936, ptr %19, align 4, !tbaa !9
  %937 = load i32, ptr %24, align 4, !tbaa !5
  %938 = mul nsw i32 %937, %35
  %939 = sext i32 %938 to i64
  %gep1876 = getelementptr float, ptr %invariant.gep2148, i64 %939
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1874, ptr noundef nonnull @c__1, ptr noundef %gep1876, ptr noundef nonnull @c__1) #7
  %940 = load i32, ptr %24, align 4, !tbaa !5
  %941 = sext i32 %940 to i64
  %942 = getelementptr inbounds float, ptr %41, i64 %941
  %943 = load float, ptr %942, align 4, !tbaa !9
  %944 = fdiv float %943, %sqrt1722
  store float %944, ptr %942, align 4, !tbaa !9
  %945 = load float, ptr %873, align 4, !tbaa !9
  %946 = fmul float %sqrt1722, %945
  store float %946, ptr %873, align 4, !tbaa !9
  br i1 %or.cond5, label %947, label %1046

947:                                              ; preds = %927
  %948 = load float, ptr %25, align 4, !tbaa !9
  %949 = fmul float %928, %948
  store float %949, ptr %19, align 4, !tbaa !9
  %950 = mul nsw i32 %940, %38
  %951 = sext i32 %950 to i64
  %gep1878 = getelementptr float, ptr %invariant.gep1927, i64 %951
  %952 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1880 = getelementptr float, ptr %invariant.gep1927, i64 %952
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1878, ptr noundef nonnull @c__1, ptr noundef %gep1880, ptr noundef nonnull @c__1) #7
  store float %936, ptr %19, align 4, !tbaa !9
  %953 = load i32, ptr %24, align 4, !tbaa !5
  %954 = mul nsw i32 %953, %38
  %955 = sext i32 %954 to i64
  %gep1882 = getelementptr float, ptr %invariant.gep1927, i64 %955
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1880, ptr noundef nonnull @c__1, ptr noundef %gep1882, ptr noundef nonnull @c__1) #7
  br label %1046

956:                                              ; preds = %926
  %957 = fcmp ult float %872, %874
  br i1 %957, label %987, label %958

958:                                              ; preds = %956
  %959 = extractelement <2 x float> %879, i64 0
  %960 = fmul float %959, %848
  store float %960, ptr %19, align 4, !tbaa !9
  %961 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1884 = getelementptr float, ptr %invariant.gep2148, i64 %961
  %962 = mul nsw i32 %869, %35
  %963 = sext i32 %962 to i64
  %gep1886 = getelementptr float, ptr %invariant.gep2148, i64 %963
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1884, ptr noundef nonnull @c__1, ptr noundef %gep1886, ptr noundef nonnull @c__1) #7
  %964 = fmul float %sqrt1722, %841
  %965 = extractelement <2 x float> %879, i64 1
  %966 = fmul float %964, %965
  store float %966, ptr %19, align 4, !tbaa !9
  %967 = load i32, ptr %24, align 4, !tbaa !5
  %968 = mul nsw i32 %967, %35
  %969 = sext i32 %968 to i64
  %gep1888 = getelementptr float, ptr %invariant.gep2148, i64 %969
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1888, ptr noundef nonnull @c__1, ptr noundef %gep1884, ptr noundef nonnull @c__1) #7
  %970 = load i32, ptr %24, align 4, !tbaa !5
  %971 = sext i32 %970 to i64
  %972 = getelementptr inbounds float, ptr %41, i64 %971
  %973 = load float, ptr %972, align 4, !tbaa !9
  %974 = fmul float %sqrt1722, %973
  store float %974, ptr %972, align 4, !tbaa !9
  %975 = load float, ptr %873, align 4, !tbaa !9
  %976 = fdiv float %975, %sqrt1722
  store float %976, ptr %873, align 4, !tbaa !9
  br i1 %or.cond5, label %977, label %1046

977:                                              ; preds = %958
  %978 = load float, ptr %25, align 4, !tbaa !9
  %979 = fneg float %978
  %980 = fmul float %959, %979
  store float %980, ptr %19, align 4, !tbaa !9
  %981 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1890 = getelementptr float, ptr %invariant.gep1927, i64 %981
  %982 = mul nsw i32 %970, %38
  %983 = sext i32 %982 to i64
  %gep1892 = getelementptr float, ptr %invariant.gep1927, i64 %983
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1890, ptr noundef nonnull @c__1, ptr noundef %gep1892, ptr noundef nonnull @c__1) #7
  store float %966, ptr %19, align 4, !tbaa !9
  %984 = load i32, ptr %24, align 4, !tbaa !5
  %985 = mul nsw i32 %984, %38
  %986 = sext i32 %985 to i64
  %gep1894 = getelementptr float, ptr %invariant.gep1927, i64 %986
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1894, ptr noundef nonnull @c__1, ptr noundef %gep1890, ptr noundef nonnull @c__1) #7
  br label %1046

987:                                              ; preds = %956
  %988 = extractelement <2 x float> %879, i64 1
  %989 = fmul float %988, %838
  store float %989, ptr %19, align 4, !tbaa !9
  %990 = mul nsw i32 %869, %35
  %991 = sext i32 %990 to i64
  %gep1896 = getelementptr float, ptr %invariant.gep2148, i64 %991
  %992 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1898 = getelementptr float, ptr %invariant.gep2148, i64 %992
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1896, ptr noundef nonnull @c__1, ptr noundef %gep1898, ptr noundef nonnull @c__1) #7
  %993 = fneg float %sqrt1722
  %994 = fmul float %841, %993
  %995 = extractelement <2 x float> %879, i64 0
  %996 = fmul float %994, %995
  store float %996, ptr %19, align 4, !tbaa !9
  %997 = load i32, ptr %24, align 4, !tbaa !5
  %998 = mul nsw i32 %997, %35
  %999 = sext i32 %998 to i64
  %gep1900 = getelementptr float, ptr %invariant.gep2148, i64 %999
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1898, ptr noundef nonnull @c__1, ptr noundef %gep1900, ptr noundef nonnull @c__1) #7
  %1000 = load i32, ptr %24, align 4, !tbaa !5
  %1001 = sext i32 %1000 to i64
  %1002 = getelementptr inbounds float, ptr %41, i64 %1001
  %1003 = load float, ptr %1002, align 4, !tbaa !9
  %1004 = fdiv float %1003, %sqrt1722
  store float %1004, ptr %1002, align 4, !tbaa !9
  %1005 = load float, ptr %873, align 4, !tbaa !9
  %1006 = fmul float %sqrt1722, %1005
  store float %1006, ptr %873, align 4, !tbaa !9
  br i1 %or.cond5, label %1007, label %1046

1007:                                             ; preds = %987
  %1008 = load float, ptr %25, align 4, !tbaa !9
  %1009 = fmul float %988, %1008
  store float %1009, ptr %19, align 4, !tbaa !9
  %1010 = mul nsw i32 %1000, %38
  %1011 = sext i32 %1010 to i64
  %gep1902 = getelementptr float, ptr %invariant.gep1927, i64 %1011
  %1012 = mul nsw i64 %indvars.iv.next2239, %553
  %gep1904 = getelementptr float, ptr %invariant.gep1927, i64 %1012
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1902, ptr noundef nonnull @c__1, ptr noundef %gep1904, ptr noundef nonnull @c__1) #7
  store float %996, ptr %19, align 4, !tbaa !9
  %1013 = load i32, ptr %24, align 4, !tbaa !5
  %1014 = mul nsw i32 %1013, %38
  %1015 = sext i32 %1014 to i64
  %gep1906 = getelementptr float, ptr %invariant.gep1927, i64 %1015
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep1904, ptr noundef nonnull @c__1, ptr noundef %gep1906, ptr noundef nonnull @c__1) #7
  br label %1046

1016:                                             ; preds = %746
  %1017 = load i32, ptr %24, align 4, !tbaa !5
  %1018 = mul nsw i32 %1017, %35
  %1019 = sext i32 %1018 to i64
  %gep1842 = getelementptr float, ptr %invariant.gep2148, i64 %1019
  %1020 = load i32, ptr %4, align 4, !tbaa !5
  %1021 = sext i32 %1020 to i64
  %gep1844 = getelementptr float, ptr %11, i64 %1021
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1842, ptr noundef nonnull @c__1, ptr noundef %gep1844, ptr noundef nonnull @c__1) #7
  %1022 = load i32, ptr %4, align 4, !tbaa !5
  %1023 = sext i32 %1022 to i64
  %gep1846 = getelementptr float, ptr %11, i64 %1023
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %20, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1846, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1024 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1848 = getelementptr float, ptr %invariant.gep2148, i64 %1024
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1848, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1025 = load i32, ptr %24, align 4, !tbaa !5
  %1026 = sext i32 %1025 to i64
  %1027 = getelementptr inbounds float, ptr %41, i64 %1026
  %1028 = load float, ptr %1027, align 4, !tbaa !9
  %1029 = fmul float %1028, %740
  %1030 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %1031 = load float, ptr %1030, align 4, !tbaa !9
  %1032 = fdiv float %1029, %1031
  store float %1032, ptr %23, align 4, !tbaa !9
  %1033 = load i32, ptr %4, align 4, !tbaa !5
  %1034 = sext i32 %1033 to i64
  %gep1850 = getelementptr float, ptr %11, i64 %1034
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %23, ptr noundef %gep1850, ptr noundef nonnull @c__1, ptr noundef %gep1848, ptr noundef nonnull @c__1) #7
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %21, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1848, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1035 = call float @llvm.fmuladd.f32(float %740, float %.01465, float 1.000000e+00)
  %1036 = load float, ptr %21, align 4, !tbaa !9
  %1037 = fpext float %1036 to double
  %1038 = fcmp ole float %1035, 0.000000e+00
  %1039 = select i1 %1038, float 0.000000e+00, float %1035
  %1040 = fpext float %1039 to double
  %sqrt1724 = call double @llvm.sqrt.f64(double %1040)
  %1041 = fmul double %sqrt1724, %1037
  %1042 = fptrunc double %1041 to float
  store float %1042, ptr %649, align 4, !tbaa !9
  %1043 = load float, ptr %26, align 4
  %1044 = fcmp oge float %.41501, %1043
  %1045 = select i1 %1044, float %.41501, float %1043
  br label %1046

1046:                                             ; preds = %791, %947, %927, %987, %1007, %958, %977, %892, %883, %916, %897, %1016
  %.51502 = phi float [ %820, %791 ], [ %846, %892 ], [ %846, %883 ], [ %846, %916 ], [ %846, %897 ], [ %846, %947 ], [ %846, %927 ], [ %846, %977 ], [ %846, %958 ], [ %846, %1007 ], [ %846, %987 ], [ %1045, %1016 ]
  %1047 = load float, ptr %649, align 4, !tbaa !9
  %1048 = load float, ptr %21, align 4, !tbaa !9
  %1049 = fdiv float %1047, %1048
  store float %1049, ptr %19, align 4, !tbaa !9
  %1050 = fmul float %1049, %1049
  %1051 = fcmp ugt float %1050, %sqrtf1619
  br i1 %1051, label %1074, label %1052

1052:                                             ; preds = %1046
  %1053 = fcmp olt float %1048, %110
  %1054 = fcmp ogt float %1048, %sqrtf1620
  %or.cond1696 = and i1 %1053, %1054
  br i1 %or.cond1696, label %1055, label %1061

1055:                                             ; preds = %1052
  %1056 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1918 = getelementptr float, ptr %invariant.gep2148, i64 %1056
  %1057 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep1918, ptr noundef nonnull @c__1) #7
  %1058 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %1059 = load float, ptr %1058, align 4, !tbaa !9
  %1060 = fmul float %1057, %1059
  br label %.sink.split

1061:                                             ; preds = %1052
  store float 0.000000e+00, ptr %25, align 4, !tbaa !9
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  %1062 = mul nsw i64 %indvars.iv.next2239, %552
  %gep1916 = getelementptr float, ptr %invariant.gep2148, i64 %1062
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep1916, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %21) #7
  %1063 = load float, ptr %25, align 4, !tbaa !9
  %1064 = fpext float %1063 to double
  %1065 = load float, ptr %21, align 4, !tbaa !9
  %1066 = fpext float %1065 to double
  %1067 = call double @sqrt(double noundef %1066) #7
  %1068 = fmul double %1067, %1064
  %1069 = getelementptr float, ptr %11, i64 %indvars.iv2238
  %1070 = load float, ptr %1069, align 4, !tbaa !9
  %1071 = fpext float %1070 to double
  %1072 = fmul double %1068, %1071
  %1073 = fptrunc double %1072 to float
  br label %.sink.split

.sink.split:                                      ; preds = %1061, %1055
  %.sink2307 = phi float [ %1060, %1055 ], [ %1073, %1061 ]
  store float %.sink2307, ptr %649, align 4, !tbaa !9
  br label %1074

1074:                                             ; preds = %.sink.split, %1046
  %1075 = load float, ptr %20, align 4, !tbaa !9
  %1076 = fdiv float %1075, %653
  %1077 = fcmp ugt float %1076, %sqrtf1619
  br i1 %1077, label %1114, label %1078

1078:                                             ; preds = %1074
  %1079 = fcmp olt float %1075, %110
  %1080 = fcmp ogt float %1075, %sqrtf1620
  %or.cond1697 = and i1 %1079, %1080
  br i1 %or.cond1697, label %1081, label %1091

1081:                                             ; preds = %1078
  %1082 = load i32, ptr %24, align 4, !tbaa !5
  %1083 = mul nsw i32 %1082, %35
  %1084 = sext i32 %1083 to i64
  %gep1922 = getelementptr float, ptr %invariant.gep2148, i64 %1084
  %1085 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep1922, ptr noundef nonnull @c__1) #7
  %1086 = load i32, ptr %24, align 4, !tbaa !5
  %1087 = sext i32 %1086 to i64
  %1088 = getelementptr inbounds float, ptr %41, i64 %1087
  %1089 = load float, ptr %1088, align 4, !tbaa !9
  %1090 = fmul float %1085, %1089
  br label %1108

1091:                                             ; preds = %1078
  store float 0.000000e+00, ptr %25, align 4, !tbaa !9
  store float 1.000000e+00, ptr %20, align 4, !tbaa !9
  %1092 = load i32, ptr %24, align 4, !tbaa !5
  %1093 = mul nsw i32 %1092, %35
  %1094 = sext i32 %1093 to i64
  %gep1920 = getelementptr float, ptr %invariant.gep2148, i64 %1094
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep1920, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %20) #7
  %1095 = load float, ptr %25, align 4, !tbaa !9
  %1096 = fpext float %1095 to double
  %1097 = load float, ptr %20, align 4, !tbaa !9
  %1098 = fpext float %1097 to double
  %1099 = call double @sqrt(double noundef %1098) #7
  %1100 = fmul double %1099, %1096
  %1101 = load i32, ptr %24, align 4, !tbaa !5
  %1102 = sext i32 %1101 to i64
  %1103 = getelementptr inbounds float, ptr %41, i64 %1102
  %1104 = load float, ptr %1103, align 4, !tbaa !9
  %1105 = fpext float %1104 to double
  %1106 = fmul double %1100, %1105
  %1107 = fptrunc double %1106 to float
  br label %1108

1108:                                             ; preds = %1091, %1081
  %.pre-phi2277 = phi i64 [ %1102, %1091 ], [ %1087, %1081 ]
  %storemerge1684 = phi float [ %1107, %1091 ], [ %1090, %1081 ]
  store float %storemerge1684, ptr %20, align 4, !tbaa !9
  %1109 = getelementptr inbounds float, ptr %34, i64 %.pre-phi2277
  store float %storemerge1684, ptr %1109, align 4, !tbaa !9
  br label %1114

1110:                                             ; preds = %738
  %spec.select1698 = add nsw i32 %.31479, %575
  %1111 = add nsw i32 %.01491, 1
  br label %1114

1112:                                             ; preds = %648
  %spec.select1699 = add nsw i32 %.31479, %575
  %1113 = add nsw i32 %.01491, 1
  br label %1114

1114:                                             ; preds = %1110, %1108, %1074, %1112
  %.51521 = phi float [ %743, %1108 ], [ %743, %1074 ], [ %743, %1110 ], [ %.41520, %1112 ]
  %.61503 = phi float [ %.51502, %1108 ], [ %.51502, %1074 ], [ %.41501, %1110 ], [ %.41501, %1112 ]
  %.21493 = phi i32 [ %.11492, %1108 ], [ %.11492, %1074 ], [ %1111, %1110 ], [ %1113, %1112 ]
  %.71483 = phi i32 [ %.41480, %1108 ], [ %.41480, %1074 ], [ %spec.select1698, %1110 ], [ %spec.select1699, %1112 ]
  %.51474 = phi i32 [ %.41473, %1108 ], [ %.41473, %1074 ], [ %.31472, %1110 ], [ %.31472, %1112 ]
  %1115 = icmp sgt i32 %.21493, %384
  %or.cond1700 = select i1 %.not1685, i1 %1115, i1 false
  br i1 %or.cond1700, label %1116, label %645, !llvm.loop !28

1116:                                             ; preds = %1114
  %.pre2264 = load float, ptr %20, align 4, !tbaa !9
  br i1 %574, label %1117, label %.loopexit1737

1117:                                             ; preds = %1116
  %1118 = fneg float %.pre2264
  store float %1118, ptr %20, align 4, !tbaa !9
  br label %.loopexit1737

.loopexit1737.loopexit:                           ; preds = %645
  %.pre2263 = load float, ptr %20, align 4, !tbaa !9
  br label %.loopexit1737

.loopexit1737:                                    ; preds = %.loopexit1737.loopexit, %1116, %1117
  %1119 = phi float [ %1118, %1117 ], [ %.pre2264, %1116 ], [ %.pre2263, %.loopexit1737.loopexit ]
  %.61522 = phi float [ %.51521, %1117 ], [ %.51521, %1116 ], [ %.41520, %.loopexit1737.loopexit ]
  %.71504 = phi float [ %.61503, %1117 ], [ %.61503, %1116 ], [ %.41501, %.loopexit1737.loopexit ]
  %.81484 = phi i32 [ 0, %1117 ], [ 0, %1116 ], [ %.31479, %.loopexit1737.loopexit ]
  %.61475 = phi i32 [ %.51474, %1117 ], [ %.51474, %1116 ], [ %.31472, %.loopexit1737.loopexit ]
  %1120 = load i32, ptr %24, align 4, !tbaa !5
  %1121 = sext i32 %1120 to i64
  %1122 = getelementptr inbounds float, ptr %34, i64 %1121
  store float %1119, ptr %1122, align 4, !tbaa !9
  br label %1129

1123:                                             ; preds = %._crit_edge2261
  %1124 = fcmp oeq float %storemerge1678, 0.000000e+00
  %or.cond19 = and i1 %574, %1124
  br i1 %or.cond19, label %1125, label %1129

1125:                                             ; preds = %1123
  store i32 %570, ptr %18, align 4, !tbaa !5
  %1126 = load i32, ptr %4, align 4, !tbaa !5
  %.1701 = call i32 @llvm.smin.i32(i32 %570, i32 %1126)
  %1127 = sub i32 %.214781939, %.pn.in
  %1128 = add i32 %1127, %.1701
  br label %1129

1129:                                             ; preds = %.loopexit1737, %1125, %1123
  %1130 = phi i32 [ %1120, %.loopexit1737 ], [ %.pn.in, %1125 ], [ %.pn.in, %1123 ]
  %.71523 = phi float [ %.61522, %.loopexit1737 ], [ %.315191937, %1125 ], [ %.315191937, %1123 ]
  %.81505 = phi float [ %.71504, %.loopexit1737 ], [ %.315001938, %1125 ], [ %.315001938, %1123 ]
  %.91485 = phi i32 [ %.81484, %.loopexit1737 ], [ %1128, %1125 ], [ %.214781939, %1123 ]
  %.7 = phi i32 [ %.61475, %.loopexit1737 ], [ %.214711940, %1125 ], [ %.214711940, %1123 ]
  %1131 = add nsw i32 %1130, 1
  store i32 %1131, ptr %24, align 4, !tbaa !5
  %1132 = load i32, ptr %17, align 4, !tbaa !5
  %.not1676.not = icmp slt i32 %1130, %1132
  br i1 %.not1676.not, label %576, label %._crit_edge1943.loopexit, !llvm.loop !29

._crit_edge1943.loopexit:                         ; preds = %1129
  %.pre2265 = load i32, ptr %16, align 4, !tbaa !5
  br label %._crit_edge1943

._crit_edge1943:                                  ; preds = %._crit_edge1943.loopexit, %.lr.ph1956
  %1133 = phi i32 [ %567, %.lr.ph1956 ], [ %.pre2265, %._crit_edge1943.loopexit ]
  %.31519.lcssa = phi float [ %.215181949, %.lr.ph1956 ], [ %.71523, %._crit_edge1943.loopexit ]
  %.31500.lcssa = phi float [ %.214991950, %.lr.ph1956 ], [ %.81505, %._crit_edge1943.loopexit ]
  %.21478.lcssa = phi i32 [ %.114771952, %.lr.ph1956 ], [ %.91485, %._crit_edge1943.loopexit ]
  %.21471.lcssa = phi i32 [ %.114701953, %.lr.ph1956 ], [ %.7, %._crit_edge1943.loopexit ]
  %1134 = add nuw nsw i32 %.014961951, 1
  %.not1659.not = icmp slt i32 %.014961951, %1133
  br i1 %.not1659.not, label %.lr.ph1956, label %._crit_edge1957, !llvm.loop !30

._crit_edge1957:                                  ; preds = %._crit_edge1943, %559
  %.21518.lcssa = phi float [ %.115172136, %559 ], [ %.31519.lcssa, %._crit_edge1943 ]
  %.21499.lcssa = phi float [ %.114982137, %559 ], [ %.31500.lcssa, %._crit_edge1943 ]
  %.11477.lcssa = phi i32 [ %.014762138, %559 ], [ %.21478.lcssa, %._crit_edge1943 ]
  %.11470.lcssa = phi i32 [ %.014692139, %559 ], [ %.21471.lcssa, %._crit_edge1943 ]
  store i32 %.01462, ptr %16, align 4, !tbaa !5
  %1135 = add nuw nsw i32 %.014632140, 1
  %.not16602117.not = icmp slt i32 %.014632140, %.01462
  %1136 = mul i32 %.014632140, %spec.select
  br i1 %.not16602117.not, label %.lr.ph2124, label %.loopexit1739

.lr.ph2124:                                       ; preds = %._crit_edge1957, %._crit_edge2112
  %1137 = phi i32 [ %1710, %._crit_edge2112 ], [ %.01462, %._crit_edge1957 ]
  %indvars.iv2243 = phi i32 [ %indvars.iv.next2244, %._crit_edge2112 ], [ %indvars.iv2241, %._crit_edge1957 ]
  %.014682122 = phi i32 [ %1711, %._crit_edge2112 ], [ %1135, %._crit_edge1957 ]
  %.82121 = phi i32 [ %.9.lcssa, %._crit_edge2112 ], [ %.11470.lcssa, %._crit_edge1957 ]
  %.1014862120 = phi i32 [ %.111487.lcssa, %._crit_edge2112 ], [ %.11477.lcssa, %._crit_edge1957 ]
  %.915062119 = phi float [ %.101507.lcssa, %._crit_edge2112 ], [ %.21499.lcssa, %._crit_edge1957 ]
  %.815242118 = phi float [ %.91525.lcssa, %._crit_edge2112 ], [ %.21518.lcssa, %._crit_edge1957 ]
  %1138 = sext i32 %indvars.iv2243 to i64
  %1139 = add nsw i32 %.014682122, -1
  %1140 = mul nsw i32 %1139, %spec.select
  store i32 %1136, ptr %18, align 4, !tbaa !5
  %1141 = load i32, ptr %4, align 4, !tbaa !5
  %.1702 = call i32 @llvm.smin.i32(i32 %1136, i32 %1141)
  store i32 %.1702, ptr %17, align 4, !tbaa !5
  store i32 %564, ptr %24, align 4, !tbaa !5
  %.not16632103.not = icmp slt i32 %563, %.1702
  br i1 %.not16632103.not, label %.lr.ph2111, label %._crit_edge2112

.lr.ph2111:                                       ; preds = %.lr.ph2124
  %1142 = mul i32 %.014682122, %spec.select
  br label %1143

1143:                                             ; preds = %.lr.ph2111, %1706
  %1144 = phi i32 [ %.1702, %.lr.ph2111 ], [ %1707, %1706 ]
  %.92109 = phi i32 [ %.82121, %.lr.ph2111 ], [ %.13, %1706 ]
  %.1114872108 = phi i32 [ %.1014862120, %.lr.ph2111 ], [ %.16, %1706 ]
  %.1015072107 = phi float [ %.915062119, %.lr.ph2111 ], [ %.151512, %1706 ]
  %.915252106 = phi float [ %.815242118, %.lr.ph2111 ], [ %.131529, %1706 ]
  %.015342105 = phi i32 [ 0, %.lr.ph2111 ], [ %.41538, %1706 ]
  %storemerge16622104 = phi i32 [ %564, %.lr.ph2111 ], [ %1709, %1706 ]
  %1145 = sext i32 %storemerge16622104 to i64
  %1146 = getelementptr inbounds float, ptr %34, i64 %1145
  %1147 = load float, ptr %1146, align 4, !tbaa !9
  store float %1147, ptr %20, align 4, !tbaa !9
  %1148 = fcmp ogt float %1147, 0.000000e+00
  br i1 %1148, label %1149, label %1697

1149:                                             ; preds = %1143
  %1150 = load i32, ptr %4, align 4, !tbaa !5
  %.1703 = call i32 @llvm.smin.i32(i32 %1142, i32 %1150)
  store i32 %.1703, ptr %18, align 4, !tbaa !5
  %.not16662086.not = icmp slt i32 %1140, %.1703
  br i1 %.not16662086.not, label %.lr.ph2097, label %.loopexit1736

1151:                                             ; preds = %1688
  %1152 = load i32, ptr %18, align 4, !tbaa !5
  %1153 = sext i32 %1152 to i64
  %.not1666.not = icmp slt i64 %indvars.iv.next2246, %1153
  br i1 %.not1666.not, label %.lr.ph2097, label %.loopexit1736.loopexit, !llvm.loop !31

.lr.ph2097:                                       ; preds = %1149, %1151
  %indvars.iv2245 = phi i64 [ %indvars.iv.next2246, %1151 ], [ %1138, %1149 ]
  %.102095 = phi i32 [ %.11, %1151 ], [ %.92109, %1149 ]
  %.1214882094 = phi i32 [ %.131489, %1151 ], [ %.1114872108, %1149 ]
  %.314942093 = phi i32 [ %.41495, %1151 ], [ 0, %1149 ]
  %.1115082092 = phi float [ %.131510, %1151 ], [ %.1015072107, %1149 ]
  %.1015262091 = phi float [ %.111527, %1151 ], [ %.915252106, %1149 ]
  %.115352090 = phi i32 [ %.21536, %1151 ], [ %.015342105, %1149 ]
  %indvars.iv.next2246 = add nsw i64 %indvars.iv2245, 1
  %1154 = getelementptr float, ptr %7, i64 %indvars.iv2245
  %1155 = load float, ptr %1154, align 4, !tbaa !9
  store float %1155, ptr %21, align 4, !tbaa !9
  %1156 = fcmp ogt float %1155, 0.000000e+00
  br i1 %1156, label %1157, label %1678

1157:                                             ; preds = %.lr.ph2097
  %1158 = load float, ptr %20, align 4, !tbaa !9
  %1159 = fcmp ult float %1155, 1.000000e+00
  %1160 = fcmp ult float %1158, %1155
  br i1 %1159, label %1203, label %1161

1161:                                             ; preds = %1157
  %1162 = fmul float %108, %1158
  %1163 = fcmp ole float %1162, %1155
  %1164 = fmul float %108, %1155
  %1165 = fcmp ole float %1164, %1158
  %.11548.in = select i1 %1160, i1 %1165, i1 %1163
  %1166 = fdiv float %109, %1155
  %1167 = fcmp olt float %1158, %1166
  %1168 = load i32, ptr %24, align 4, !tbaa !5
  %1169 = mul nsw i32 %1168, %35
  %1170 = sext i32 %1169 to i64
  %gep1973 = getelementptr float, ptr %invariant.gep2148, i64 %1170
  br i1 %1167, label %1171, label %1186

1171:                                             ; preds = %1161
  %1172 = mul nsw i64 %indvars.iv.next2246, %552
  %gep1975 = getelementptr float, ptr %invariant.gep2148, i64 %1172
  %1173 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1973, ptr noundef nonnull @c__1, ptr noundef %gep1975, ptr noundef nonnull @c__1) #7
  %1174 = load i32, ptr %24, align 4, !tbaa !5
  %1175 = sext i32 %1174 to i64
  %1176 = getelementptr inbounds float, ptr %41, i64 %1175
  %1177 = load float, ptr %1176, align 4, !tbaa !9
  %1178 = fmul float %1173, %1177
  %1179 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1180 = load float, ptr %1179, align 4, !tbaa !9
  %1181 = fmul float %1178, %1180
  %1182 = load float, ptr %21, align 4, !tbaa !9
  %1183 = fdiv float %1181, %1182
  %1184 = load float, ptr %20, align 4, !tbaa !9
  %1185 = fdiv float %1183, %1184
  br label %1252

1186:                                             ; preds = %1161
  %1187 = load i32, ptr %4, align 4, !tbaa !5
  %1188 = sext i32 %1187 to i64
  %gep1965 = getelementptr float, ptr %11, i64 %1188
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1973, ptr noundef nonnull @c__1, ptr noundef %gep1965, ptr noundef nonnull @c__1) #7
  %1189 = load i32, ptr %24, align 4, !tbaa !5
  %1190 = sext i32 %1189 to i64
  %1191 = getelementptr inbounds float, ptr %41, i64 %1190
  %1192 = load i32, ptr %4, align 4, !tbaa !5
  %1193 = sext i32 %1192 to i64
  %gep1967 = getelementptr float, ptr %11, i64 %1193
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %20, ptr noundef nonnull %1191, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1967, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1194 = load i32, ptr %4, align 4, !tbaa !5
  %1195 = sext i32 %1194 to i64
  %gep1969 = getelementptr float, ptr %11, i64 %1195
  %1196 = mul nsw i64 %indvars.iv.next2246, %552
  %gep1971 = getelementptr float, ptr %invariant.gep2148, i64 %1196
  %1197 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1969, ptr noundef nonnull @c__1, ptr noundef %gep1971, ptr noundef nonnull @c__1) #7
  %1198 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1199 = load float, ptr %1198, align 4, !tbaa !9
  %1200 = fmul float %1197, %1199
  %1201 = load float, ptr %21, align 4, !tbaa !9
  %1202 = fdiv float %1200, %1201
  br label %1252

1203:                                             ; preds = %1157
  %1204 = insertelement <2 x float> poison, float %1155, i64 0
  %1205 = insertelement <2 x float> %1204, float %1158, i64 1
  %1206 = fdiv <2 x float> %1205, %555
  %1207 = insertelement <2 x float> poison, float %1158, i64 0
  %1208 = insertelement <2 x float> %1207, float %1155, i64 1
  %1209 = fcmp ole <2 x float> %1208, %1206
  %1210 = extractelement <2 x i1> %1209, i64 0
  %1211 = extractelement <2 x i1> %1209, i64 1
  %.21549.in = select i1 %1160, i1 %1211, i1 %1210
  %1212 = fdiv float %108, %1155
  %1213 = fcmp ogt float %1158, %1212
  br i1 %1213, label %1214, label %1232

1214:                                             ; preds = %1203
  %1215 = load i32, ptr %24, align 4, !tbaa !5
  %1216 = mul nsw i32 %1215, %35
  %1217 = sext i32 %1216 to i64
  %gep1987 = getelementptr float, ptr %invariant.gep2148, i64 %1217
  %1218 = mul nsw i64 %indvars.iv.next2246, %552
  %gep1989 = getelementptr float, ptr %invariant.gep2148, i64 %1218
  %1219 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1987, ptr noundef nonnull @c__1, ptr noundef %gep1989, ptr noundef nonnull @c__1) #7
  %1220 = load i32, ptr %24, align 4, !tbaa !5
  %1221 = sext i32 %1220 to i64
  %1222 = getelementptr inbounds float, ptr %41, i64 %1221
  %1223 = load float, ptr %1222, align 4, !tbaa !9
  %1224 = fmul float %1219, %1223
  %1225 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1226 = load float, ptr %1225, align 4, !tbaa !9
  %1227 = fmul float %1224, %1226
  %1228 = load float, ptr %21, align 4, !tbaa !9
  %1229 = fdiv float %1227, %1228
  %1230 = load float, ptr %20, align 4, !tbaa !9
  %1231 = fdiv float %1229, %1230
  br label %1252

1232:                                             ; preds = %1203
  %1233 = mul nsw i64 %indvars.iv.next2246, %552
  %gep1977 = getelementptr float, ptr %invariant.gep2148, i64 %1233
  %1234 = load i32, ptr %4, align 4, !tbaa !5
  %1235 = sext i32 %1234 to i64
  %gep1979 = getelementptr float, ptr %11, i64 %1235
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1977, ptr noundef nonnull @c__1, ptr noundef %gep1979, ptr noundef nonnull @c__1) #7
  %1236 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1237 = load i32, ptr %4, align 4, !tbaa !5
  %1238 = sext i32 %1237 to i64
  %gep1981 = getelementptr float, ptr %11, i64 %1238
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull %1236, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1981, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1239 = load i32, ptr %4, align 4, !tbaa !5
  %1240 = sext i32 %1239 to i64
  %gep1983 = getelementptr float, ptr %11, i64 %1240
  %1241 = load i32, ptr %24, align 4, !tbaa !5
  %1242 = mul nsw i32 %1241, %35
  %1243 = sext i32 %1242 to i64
  %gep1985 = getelementptr float, ptr %invariant.gep2148, i64 %1243
  %1244 = call float @sdot_(ptr noundef nonnull %3, ptr noundef %gep1983, ptr noundef nonnull @c__1, ptr noundef %gep1985, ptr noundef nonnull @c__1) #7
  %1245 = load i32, ptr %24, align 4, !tbaa !5
  %1246 = sext i32 %1245 to i64
  %1247 = getelementptr inbounds float, ptr %41, i64 %1246
  %1248 = load float, ptr %1247, align 4, !tbaa !9
  %1249 = fmul float %1244, %1248
  %1250 = load float, ptr %20, align 4, !tbaa !9
  %1251 = fdiv float %1249, %1250
  br label %1252

1252:                                             ; preds = %1214, %1232, %1171, %1186
  %.31550.in = phi i1 [ %.11548.in, %1171 ], [ %.11548.in, %1186 ], [ %.21549.in, %1214 ], [ %.21549.in, %1232 ]
  %.11466 = phi float [ %1185, %1171 ], [ %1202, %1186 ], [ %1231, %1214 ], [ %1251, %1232 ]
  store float %.1015262091, ptr %19, align 4, !tbaa !9
  %1253 = fcmp oge float %.11466, 0.000000e+00
  %1254 = fneg float %.11466
  %1255 = select i1 %1253, float %.11466, float %1254
  %1256 = fcmp oge float %.1015262091, %1255
  %1257 = select i1 %1256, float %.1015262091, float %1255
  %1258 = load float, ptr %32, align 4, !tbaa !9
  %1259 = fcmp ogt float %1255, %1258
  br i1 %1259, label %1260, label %1674

1260:                                             ; preds = %1252
  %1261 = add nsw i32 %.102095, 1
  br i1 %.31550.in, label %1262, label %1537

1262:                                             ; preds = %1260
  %1263 = load float, ptr %21, align 4, !tbaa !9
  %1264 = load float, ptr %20, align 4, !tbaa !9
  %1265 = insertelement <2 x float> poison, float %1263, i64 0
  %1266 = insertelement <2 x float> %1265, float %1264, i64 1
  %1267 = insertelement <2 x float> poison, float %1264, i64 0
  %1268 = insertelement <2 x float> %1267, float %1263, i64 1
  %1269 = fdiv <2 x float> %1266, %1268
  %shift2415 = shufflevector <2 x float> %1269, <2 x float> poison, <2 x i32> <i32 1, i32 poison>
  %1270 = fsub <2 x float> %1269, %shift2415
  %1271 = extractelement <2 x float> %1270, i64 0
  store float %1271, ptr %19, align 4, !tbaa !9
  %1272 = fcmp oge float %1271, 0.000000e+00
  %1273 = fneg float %1271
  %1274 = select i1 %1272, float %1271, float %1273
  %1275 = fmul float %1274, -5.000000e-01
  %1276 = fdiv float %1275, %.11466
  %1277 = fcmp ogt float %1263, %1158
  %1278 = fneg float %1276
  %.01551 = select i1 %1277, float %1278, float %1276
  %1279 = fcmp oge float %.01551, 0.000000e+00
  %1280 = fneg float %.01551
  %1281 = select i1 %1279, float %.01551, float %1280
  %1282 = fcmp ogt float %1281, %117
  br i1 %1282, label %1283, label %1338

1283:                                             ; preds = %1262
  %1284 = fdiv float 5.000000e-01, %.01551
  store float %1284, ptr %25, align 4, !tbaa !9
  %1285 = load i32, ptr %24, align 4, !tbaa !5
  %1286 = sext i32 %1285 to i64
  %1287 = getelementptr inbounds float, ptr %41, i64 %1286
  %1288 = load float, ptr %1287, align 4, !tbaa !9
  %1289 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1290 = load float, ptr %1289, align 4, !tbaa !9
  %1291 = fneg float %1284
  %1292 = insertelement <2 x float> poison, float %1284, i64 0
  %1293 = insertelement <2 x float> %1292, float %1290, i64 1
  %1294 = insertelement <2 x float> poison, float %1288, i64 0
  %1295 = insertelement <2 x float> %1294, float %1291, i64 1
  %1296 = fmul <2 x float> %1293, %1295
  %1297 = insertelement <2 x float> poison, float %1290, i64 0
  %1298 = insertelement <2 x float> %1297, float %1288, i64 1
  %1299 = fdiv <2 x float> %1296, %1298
  store <2 x float> %1299, ptr %551, align 8, !tbaa !9
  %1300 = mul nsw i32 %1285, %35
  %1301 = sext i32 %1300 to i64
  %gep2071 = getelementptr float, ptr %invariant.gep2148, i64 %1301
  %1302 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2073 = getelementptr float, ptr %invariant.gep2148, i64 %1302
  call void @srotm_(ptr noundef nonnull %3, ptr noundef %gep2071, ptr noundef nonnull @c__1, ptr noundef %gep2073, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br i1 %or.cond5, label %1303, label %1308

1303:                                             ; preds = %1283
  %1304 = load i32, ptr %24, align 4, !tbaa !5
  %1305 = mul nsw i32 %1304, %38
  %1306 = sext i32 %1305 to i64
  %gep2075 = getelementptr float, ptr %invariant.gep1927, i64 %1306
  %1307 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2077 = getelementptr float, ptr %invariant.gep1927, i64 %1307
  call void @srotm_(ptr noundef nonnull %33, ptr noundef %gep2075, ptr noundef nonnull @c__1, ptr noundef %gep2077, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br label %1308

1308:                                             ; preds = %1303, %1283
  %1309 = load float, ptr %25, align 4
  %1310 = load float, ptr %21, align 4, !tbaa !9
  %1311 = fpext float %1310 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1312 = fneg float %1309
  %1313 = insertelement <2 x float> poison, float %1312, i64 0
  %1314 = insertelement <2 x float> %1313, float %1309, i64 1
  %1315 = fmul <2 x float> %1269, %1314
  %1316 = insertelement <2 x float> poison, float %.11466, i64 0
  %1317 = shufflevector <2 x float> %1316, <2 x float> poison, <2 x i32> zeroinitializer
  %1318 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1315, <2 x float> %1317, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %1319 = fcmp ole <2 x float> %1318, zeroinitializer
  %1320 = extractelement <2 x i1> %1319, i64 1
  %1321 = extractelement <2 x float> %1318, i64 1
  %1322 = fpext float %1321 to double
  %1323 = select i1 %1320, double 0.000000e+00, double %1322
  %sqrt1726 = call double @llvm.sqrt.f64(double %1323)
  %1324 = fmul double %sqrt1726, %1311
  %1325 = fptrunc double %1324 to float
  store float %1325, ptr %1154, align 4, !tbaa !9
  %1326 = extractelement <2 x i1> %1319, i64 0
  %1327 = extractelement <2 x float> %1318, i64 0
  %1328 = fpext float %1327 to double
  %1329 = select i1 %1326, double 0.000000e+00, double %1328
  %sqrt1725 = call double @llvm.sqrt.f64(double %1329)
  %1330 = load float, ptr %20, align 4, !tbaa !9
  %1331 = fpext float %1330 to double
  %1332 = fmul double %sqrt1725, %1331
  %1333 = fptrunc double %1332 to float
  store float %1333, ptr %20, align 4, !tbaa !9
  %1334 = fcmp oge float %1309, 0.000000e+00
  %1335 = select i1 %1334, float %1309, float %1312
  %1336 = fcmp oge float %.1115082092, %1335
  %1337 = select i1 %1336, float %.1115082092, float %1335
  br label %1609

1338:                                             ; preds = %1262
  %1339 = load float, ptr @c_b18, align 4
  %1340 = fcmp oge float %1339, 0.000000e+00
  %1341 = fneg float %1339
  br i1 %1253, label %1342, label %1344

1342:                                             ; preds = %1338
  %1343 = select i1 %1340, float %1339, float %1341
  br label %1346

1344:                                             ; preds = %1338
  %1345 = select i1 %1340, float %1341, float %1339
  br label %1346

1346:                                             ; preds = %1344, %1342
  %1347 = phi float [ %1343, %1342 ], [ %1345, %1344 ]
  %1348 = fneg float %1347
  %.01515 = select i1 %1277, float %1347, float %1348
  %1349 = fpext float %.01551 to double
  %1350 = fpext float %.01515 to double
  %1351 = call float @llvm.fmuladd.f32(float %.01551, float %.01551, float 1.000000e+00)
  %1352 = fpext float %1351 to double
  %sqrt1730 = call double @llvm.sqrt.f64(double %1352)
  %1353 = call double @llvm.fmuladd.f64(double %1350, double %sqrt1730, double %1349)
  %1354 = fdiv double 1.000000e+00, %1353
  %1355 = fptrunc double %1354 to float
  store float %1355, ptr %25, align 4, !tbaa !9
  %1356 = call float @llvm.fmuladd.f32(float %1355, float %1355, float 1.000000e+00)
  %1357 = fdiv float 1.000000e+00, %1356
  %sqrt1729 = call float @llvm.sqrt.f32(float %1357)
  %1358 = fmul float %sqrt1729, %1355
  %1359 = fcmp oge float %1358, 0.000000e+00
  %1360 = fneg float %1358
  %1361 = select i1 %1359, float %1358, float %1360
  %1362 = fcmp oge float %.1115082092, %1361
  %1363 = select i1 %1362, float %.1115082092, float %1361
  %1364 = fpext float %1263 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1365 = fneg float %1355
  %1366 = insertelement <2 x float> poison, float %1365, i64 0
  %1367 = insertelement <2 x float> %1366, float %1355, i64 1
  %1368 = fmul <2 x float> %1269, %1367
  %1369 = insertelement <2 x float> poison, float %.11466, i64 0
  %1370 = shufflevector <2 x float> %1369, <2 x float> poison, <2 x i32> zeroinitializer
  %1371 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1368, <2 x float> %1370, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %1372 = fcmp ole <2 x float> %1371, zeroinitializer
  %1373 = extractelement <2 x i1> %1372, i64 1
  %1374 = extractelement <2 x float> %1371, i64 1
  %1375 = fpext float %1374 to double
  %1376 = select i1 %1373, double 0.000000e+00, double %1375
  %sqrt1728 = call double @llvm.sqrt.f64(double %1376)
  %1377 = fmul double %sqrt1728, %1364
  %1378 = fptrunc double %1377 to float
  store float %1378, ptr %1154, align 4, !tbaa !9
  %1379 = extractelement <2 x i1> %1372, i64 0
  %1380 = extractelement <2 x float> %1371, i64 0
  %1381 = fpext float %1380 to double
  %1382 = select i1 %1379, double 0.000000e+00, double %1381
  %sqrt1727 = call double @llvm.sqrt.f64(double %1382)
  %1383 = fpext float %1264 to double
  %1384 = fmul double %sqrt1727, %1383
  %1385 = fptrunc double %1384 to float
  store float %1385, ptr %20, align 4, !tbaa !9
  %1386 = load i32, ptr %24, align 4, !tbaa !5
  %1387 = sext i32 %1386 to i64
  %1388 = getelementptr inbounds float, ptr %41, i64 %1387
  %1389 = load float, ptr %1388, align 4, !tbaa !9
  %1390 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1391 = load float, ptr %1390, align 4, !tbaa !9
  %1392 = insertelement <2 x float> poison, float %1391, i64 0
  %1393 = insertelement <2 x float> %1392, float %1389, i64 1
  %1394 = insertelement <2 x float> poison, float %1389, i64 0
  %1395 = insertelement <2 x float> %1394, float %1391, i64 1
  %1396 = fdiv <2 x float> %1393, %1395
  %1397 = fcmp ult float %1389, 1.000000e+00
  %1398 = fcmp ult float %1391, 1.000000e+00
  br i1 %1397, label %1445, label %1399

1399:                                             ; preds = %1346
  br i1 %1398, label %1414, label %1400

1400:                                             ; preds = %1399
  %1401 = fmul <2 x float> %1396, %1367
  %1402 = shufflevector <2 x float> %1401, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1402, ptr %551, align 8, !tbaa !9
  %1403 = fmul float %sqrt1729, %1389
  store float %1403, ptr %1388, align 4, !tbaa !9
  %1404 = load float, ptr %1390, align 4, !tbaa !9
  %1405 = fmul float %sqrt1729, %1404
  store float %1405, ptr %1390, align 4, !tbaa !9
  %1406 = mul nsw i32 %1386, %35
  %1407 = sext i32 %1406 to i64
  %gep2015 = getelementptr float, ptr %invariant.gep2148, i64 %1407
  %1408 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2017 = getelementptr float, ptr %invariant.gep2148, i64 %1408
  call void @srotm_(ptr noundef nonnull %3, ptr noundef %gep2015, ptr noundef nonnull @c__1, ptr noundef %gep2017, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br i1 %or.cond5, label %1409, label %1609

1409:                                             ; preds = %1400
  %1410 = load i32, ptr %24, align 4, !tbaa !5
  %1411 = mul nsw i32 %1410, %38
  %1412 = sext i32 %1411 to i64
  %gep2019 = getelementptr float, ptr %invariant.gep1927, i64 %1412
  %1413 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2021 = getelementptr float, ptr %invariant.gep1927, i64 %1413
  call void @srotm_(ptr noundef nonnull %33, ptr noundef %gep2019, ptr noundef nonnull @c__1, ptr noundef %gep2021, ptr noundef nonnull @c__1, ptr noundef nonnull %27) #7
  br label %1609

1414:                                             ; preds = %1399
  %1415 = extractelement <2 x float> %1396, i64 0
  %1416 = fmul float %1415, %1365
  store float %1416, ptr %19, align 4, !tbaa !9
  %1417 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2023 = getelementptr float, ptr %invariant.gep2148, i64 %1417
  %1418 = mul nsw i32 %1386, %35
  %1419 = sext i32 %1418 to i64
  %gep2025 = getelementptr float, ptr %invariant.gep2148, i64 %1419
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2023, ptr noundef nonnull @c__1, ptr noundef %gep2025, ptr noundef nonnull @c__1) #7
  %1420 = fmul float %sqrt1729, %1358
  %1421 = extractelement <2 x float> %1396, i64 1
  %1422 = fmul float %1420, %1421
  store float %1422, ptr %19, align 4, !tbaa !9
  %1423 = load i32, ptr %24, align 4, !tbaa !5
  %1424 = mul nsw i32 %1423, %35
  %1425 = sext i32 %1424 to i64
  %gep2027 = getelementptr float, ptr %invariant.gep2148, i64 %1425
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2027, ptr noundef nonnull @c__1, ptr noundef %gep2023, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %1426, label %1437

1426:                                             ; preds = %1414
  %1427 = load float, ptr %25, align 4, !tbaa !9
  %1428 = fneg float %1427
  %1429 = fmul float %1415, %1428
  store float %1429, ptr %19, align 4, !tbaa !9
  %1430 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2029 = getelementptr float, ptr %invariant.gep1927, i64 %1430
  %1431 = load i32, ptr %24, align 4, !tbaa !5
  %1432 = mul nsw i32 %1431, %38
  %1433 = sext i32 %1432 to i64
  %gep2031 = getelementptr float, ptr %invariant.gep1927, i64 %1433
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2029, ptr noundef nonnull @c__1, ptr noundef %gep2031, ptr noundef nonnull @c__1) #7
  store float %1422, ptr %19, align 4, !tbaa !9
  %1434 = load i32, ptr %24, align 4, !tbaa !5
  %1435 = mul nsw i32 %1434, %38
  %1436 = sext i32 %1435 to i64
  %gep2033 = getelementptr float, ptr %invariant.gep1927, i64 %1436
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2033, ptr noundef nonnull @c__1, ptr noundef %gep2029, ptr noundef nonnull @c__1) #7
  br label %1437

1437:                                             ; preds = %1426, %1414
  %1438 = load i32, ptr %24, align 4, !tbaa !5
  %1439 = sext i32 %1438 to i64
  %1440 = getelementptr inbounds float, ptr %41, i64 %1439
  %1441 = load float, ptr %1440, align 4, !tbaa !9
  %1442 = fmul float %sqrt1729, %1441
  store float %1442, ptr %1440, align 4, !tbaa !9
  %1443 = load float, ptr %1390, align 4, !tbaa !9
  %1444 = fdiv float %1443, %sqrt1729
  store float %1444, ptr %1390, align 4, !tbaa !9
  br label %1609

1445:                                             ; preds = %1346
  br i1 %1398, label %1477, label %1446

1446:                                             ; preds = %1445
  %1447 = extractelement <2 x float> %1396, i64 1
  %1448 = fmul float %1447, %1355
  store float %1448, ptr %19, align 4, !tbaa !9
  %1449 = mul nsw i32 %1386, %35
  %1450 = sext i32 %1449 to i64
  %gep2035 = getelementptr float, ptr %invariant.gep2148, i64 %1450
  %1451 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2037 = getelementptr float, ptr %invariant.gep2148, i64 %1451
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2035, ptr noundef nonnull @c__1, ptr noundef %gep2037, ptr noundef nonnull @c__1) #7
  %1452 = fneg float %sqrt1729
  %1453 = fmul float %1358, %1452
  %1454 = extractelement <2 x float> %1396, i64 0
  %1455 = fmul float %1453, %1454
  store float %1455, ptr %19, align 4, !tbaa !9
  %1456 = load i32, ptr %24, align 4, !tbaa !5
  %1457 = mul nsw i32 %1456, %35
  %1458 = sext i32 %1457 to i64
  %gep2039 = getelementptr float, ptr %invariant.gep2148, i64 %1458
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2037, ptr noundef nonnull @c__1, ptr noundef %gep2039, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %1459, label %1469

1459:                                             ; preds = %1446
  %1460 = load float, ptr %25, align 4, !tbaa !9
  %1461 = fmul float %1447, %1460
  store float %1461, ptr %19, align 4, !tbaa !9
  %1462 = load i32, ptr %24, align 4, !tbaa !5
  %1463 = mul nsw i32 %1462, %38
  %1464 = sext i32 %1463 to i64
  %gep2041 = getelementptr float, ptr %invariant.gep1927, i64 %1464
  %1465 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2043 = getelementptr float, ptr %invariant.gep1927, i64 %1465
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2041, ptr noundef nonnull @c__1, ptr noundef %gep2043, ptr noundef nonnull @c__1) #7
  store float %1455, ptr %19, align 4, !tbaa !9
  %1466 = load i32, ptr %24, align 4, !tbaa !5
  %1467 = mul nsw i32 %1466, %38
  %1468 = sext i32 %1467 to i64
  %gep2045 = getelementptr float, ptr %invariant.gep1927, i64 %1468
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2043, ptr noundef nonnull @c__1, ptr noundef %gep2045, ptr noundef nonnull @c__1) #7
  br label %1469

1469:                                             ; preds = %1459, %1446
  %1470 = load i32, ptr %24, align 4, !tbaa !5
  %1471 = sext i32 %1470 to i64
  %1472 = getelementptr inbounds float, ptr %41, i64 %1471
  %1473 = load float, ptr %1472, align 4, !tbaa !9
  %1474 = fdiv float %1473, %sqrt1729
  store float %1474, ptr %1472, align 4, !tbaa !9
  %1475 = load float, ptr %1390, align 4, !tbaa !9
  %1476 = fmul float %sqrt1729, %1475
  store float %1476, ptr %1390, align 4, !tbaa !9
  br label %1609

1477:                                             ; preds = %1445
  %1478 = fcmp ult float %1389, %1391
  br i1 %1478, label %1508, label %1479

1479:                                             ; preds = %1477
  %1480 = extractelement <2 x float> %1396, i64 0
  %1481 = fmul float %1480, %1365
  store float %1481, ptr %19, align 4, !tbaa !9
  %1482 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2047 = getelementptr float, ptr %invariant.gep2148, i64 %1482
  %1483 = mul nsw i32 %1386, %35
  %1484 = sext i32 %1483 to i64
  %gep2049 = getelementptr float, ptr %invariant.gep2148, i64 %1484
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2047, ptr noundef nonnull @c__1, ptr noundef %gep2049, ptr noundef nonnull @c__1) #7
  %1485 = fmul float %sqrt1729, %1358
  %1486 = extractelement <2 x float> %1396, i64 1
  %1487 = fmul float %1485, %1486
  store float %1487, ptr %19, align 4, !tbaa !9
  %1488 = load i32, ptr %24, align 4, !tbaa !5
  %1489 = mul nsw i32 %1488, %35
  %1490 = sext i32 %1489 to i64
  %gep2051 = getelementptr float, ptr %invariant.gep2148, i64 %1490
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2051, ptr noundef nonnull @c__1, ptr noundef %gep2047, ptr noundef nonnull @c__1) #7
  %1491 = load i32, ptr %24, align 4, !tbaa !5
  %1492 = sext i32 %1491 to i64
  %1493 = getelementptr inbounds float, ptr %41, i64 %1492
  %1494 = load float, ptr %1493, align 4, !tbaa !9
  %1495 = fmul float %sqrt1729, %1494
  store float %1495, ptr %1493, align 4, !tbaa !9
  %1496 = load float, ptr %1390, align 4, !tbaa !9
  %1497 = fdiv float %1496, %sqrt1729
  store float %1497, ptr %1390, align 4, !tbaa !9
  br i1 %or.cond5, label %1498, label %1609

1498:                                             ; preds = %1479
  %1499 = load float, ptr %25, align 4, !tbaa !9
  %1500 = fneg float %1499
  %1501 = fmul float %1480, %1500
  store float %1501, ptr %19, align 4, !tbaa !9
  %1502 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2053 = getelementptr float, ptr %invariant.gep1927, i64 %1502
  %1503 = mul nsw i32 %1491, %38
  %1504 = sext i32 %1503 to i64
  %gep2055 = getelementptr float, ptr %invariant.gep1927, i64 %1504
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2053, ptr noundef nonnull @c__1, ptr noundef %gep2055, ptr noundef nonnull @c__1) #7
  store float %1487, ptr %19, align 4, !tbaa !9
  %1505 = load i32, ptr %24, align 4, !tbaa !5
  %1506 = mul nsw i32 %1505, %38
  %1507 = sext i32 %1506 to i64
  %gep2057 = getelementptr float, ptr %invariant.gep1927, i64 %1507
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2057, ptr noundef nonnull @c__1, ptr noundef %gep2053, ptr noundef nonnull @c__1) #7
  br label %1609

1508:                                             ; preds = %1477
  %1509 = extractelement <2 x float> %1396, i64 1
  %1510 = fmul float %1509, %1355
  store float %1510, ptr %19, align 4, !tbaa !9
  %1511 = mul nsw i32 %1386, %35
  %1512 = sext i32 %1511 to i64
  %gep2059 = getelementptr float, ptr %invariant.gep2148, i64 %1512
  %1513 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2061 = getelementptr float, ptr %invariant.gep2148, i64 %1513
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2059, ptr noundef nonnull @c__1, ptr noundef %gep2061, ptr noundef nonnull @c__1) #7
  %1514 = fneg float %sqrt1729
  %1515 = fmul float %1358, %1514
  %1516 = extractelement <2 x float> %1396, i64 0
  %1517 = fmul float %1515, %1516
  store float %1517, ptr %19, align 4, !tbaa !9
  %1518 = load i32, ptr %24, align 4, !tbaa !5
  %1519 = mul nsw i32 %1518, %35
  %1520 = sext i32 %1519 to i64
  %gep2063 = getelementptr float, ptr %invariant.gep2148, i64 %1520
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2061, ptr noundef nonnull @c__1, ptr noundef %gep2063, ptr noundef nonnull @c__1) #7
  %1521 = load i32, ptr %24, align 4, !tbaa !5
  %1522 = sext i32 %1521 to i64
  %1523 = getelementptr inbounds float, ptr %41, i64 %1522
  %1524 = load float, ptr %1523, align 4, !tbaa !9
  %1525 = fdiv float %1524, %sqrt1729
  store float %1525, ptr %1523, align 4, !tbaa !9
  %1526 = load float, ptr %1390, align 4, !tbaa !9
  %1527 = fmul float %sqrt1729, %1526
  store float %1527, ptr %1390, align 4, !tbaa !9
  br i1 %or.cond5, label %1528, label %1609

1528:                                             ; preds = %1508
  %1529 = load float, ptr %25, align 4, !tbaa !9
  %1530 = fmul float %1509, %1529
  store float %1530, ptr %19, align 4, !tbaa !9
  %1531 = mul nsw i32 %1521, %38
  %1532 = sext i32 %1531 to i64
  %gep2065 = getelementptr float, ptr %invariant.gep1927, i64 %1532
  %1533 = mul nsw i64 %indvars.iv.next2246, %553
  %gep2067 = getelementptr float, ptr %invariant.gep1927, i64 %1533
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2065, ptr noundef nonnull @c__1, ptr noundef %gep2067, ptr noundef nonnull @c__1) #7
  store float %1517, ptr %19, align 4, !tbaa !9
  %1534 = load i32, ptr %24, align 4, !tbaa !5
  %1535 = mul nsw i32 %1534, %38
  %1536 = sext i32 %1535 to i64
  %gep2069 = getelementptr float, ptr %invariant.gep1927, i64 %1536
  call void @saxpy_(ptr noundef nonnull %33, ptr noundef nonnull %19, ptr noundef %gep2067, ptr noundef nonnull @c__1, ptr noundef %gep2069, ptr noundef nonnull @c__1) #7
  br label %1609

1537:                                             ; preds = %1260
  %1538 = load float, ptr %20, align 4, !tbaa !9
  %1539 = load float, ptr %21, align 4, !tbaa !9
  %1540 = fcmp ogt float %1538, %1539
  br i1 %1540, label %1541, label %1571

1541:                                             ; preds = %1537
  %1542 = load i32, ptr %24, align 4, !tbaa !5
  %1543 = mul nsw i32 %1542, %35
  %1544 = sext i32 %1543 to i64
  %gep2005 = getelementptr float, ptr %invariant.gep2148, i64 %1544
  %1545 = load i32, ptr %4, align 4, !tbaa !5
  %1546 = sext i32 %1545 to i64
  %gep2007 = getelementptr float, ptr %11, i64 %1546
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep2005, ptr noundef nonnull @c__1, ptr noundef %gep2007, ptr noundef nonnull @c__1) #7
  %1547 = load i32, ptr %4, align 4, !tbaa !5
  %1548 = sext i32 %1547 to i64
  %gep2009 = getelementptr float, ptr %11, i64 %1548
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %20, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep2009, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1549 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2011 = getelementptr float, ptr %invariant.gep2148, i64 %1549
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep2011, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1550 = load i32, ptr %24, align 4, !tbaa !5
  %1551 = sext i32 %1550 to i64
  %1552 = getelementptr inbounds float, ptr %41, i64 %1551
  %1553 = load float, ptr %1552, align 4, !tbaa !9
  %1554 = fmul float %1553, %1254
  %1555 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1556 = load float, ptr %1555, align 4, !tbaa !9
  %1557 = fdiv float %1554, %1556
  store float %1557, ptr %23, align 4, !tbaa !9
  %1558 = load i32, ptr %4, align 4, !tbaa !5
  %1559 = sext i32 %1558 to i64
  %gep2013 = getelementptr float, ptr %11, i64 %1559
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %23, ptr noundef %gep2013, ptr noundef nonnull @c__1, ptr noundef %gep2011, ptr noundef nonnull @c__1) #7
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %21, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep2011, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1560 = call float @llvm.fmuladd.f32(float %1254, float %.11466, float 1.000000e+00)
  %1561 = load float, ptr %21, align 4, !tbaa !9
  %1562 = fpext float %1561 to double
  %1563 = fcmp ole float %1560, 0.000000e+00
  %1564 = select i1 %1563, float 0.000000e+00, float %1560
  %1565 = fpext float %1564 to double
  %sqrt1731 = call double @llvm.sqrt.f64(double %1565)
  %1566 = fmul double %sqrt1731, %1562
  %1567 = fptrunc double %1566 to float
  store float %1567, ptr %1154, align 4, !tbaa !9
  %1568 = load float, ptr %26, align 4
  %1569 = fcmp oge float %.1115082092, %1568
  %1570 = select i1 %1569, float %.1115082092, float %1568
  br label %1609

1571:                                             ; preds = %1537
  %1572 = mul nsw i64 %indvars.iv.next2246, %552
  %gep1991 = getelementptr float, ptr %invariant.gep2148, i64 %1572
  %1573 = load i32, ptr %4, align 4, !tbaa !5
  %1574 = sext i32 %1573 to i64
  %gep1993 = getelementptr float, ptr %11, i64 %1574
  call void @scopy_(ptr noundef nonnull %3, ptr noundef %gep1991, ptr noundef nonnull @c__1, ptr noundef %gep1993, ptr noundef nonnull @c__1) #7
  %1575 = load i32, ptr %4, align 4, !tbaa !5
  %1576 = sext i32 %1575 to i64
  %gep1995 = getelementptr float, ptr %11, i64 %1576
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %21, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1995, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1577 = load i32, ptr %24, align 4, !tbaa !5
  %1578 = mul nsw i32 %1577, %35
  %1579 = sext i32 %1578 to i64
  %gep1997 = getelementptr float, ptr %invariant.gep2148, i64 %1579
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %20, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1997, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  %1580 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1581 = load float, ptr %1580, align 4, !tbaa !9
  %1582 = fmul float %1581, %1254
  %1583 = load i32, ptr %24, align 4, !tbaa !5
  %1584 = sext i32 %1583 to i64
  %1585 = getelementptr inbounds float, ptr %41, i64 %1584
  %1586 = load float, ptr %1585, align 4, !tbaa !9
  %1587 = fdiv float %1582, %1586
  store float %1587, ptr %23, align 4, !tbaa !9
  %1588 = load i32, ptr %4, align 4, !tbaa !5
  %1589 = sext i32 %1588 to i64
  %gep1999 = getelementptr float, ptr %11, i64 %1589
  %1590 = mul nsw i32 %1583, %35
  %1591 = sext i32 %1590 to i64
  %gep2001 = getelementptr float, ptr %invariant.gep2148, i64 %1591
  call void @saxpy_(ptr noundef nonnull %3, ptr noundef nonnull %23, ptr noundef %gep1999, ptr noundef nonnull @c__1, ptr noundef %gep2001, ptr noundef nonnull @c__1) #7
  %1592 = load i32, ptr %24, align 4, !tbaa !5
  %1593 = mul nsw i32 %1592, %35
  %1594 = sext i32 %1593 to i64
  %gep2003 = getelementptr float, ptr %invariant.gep2148, i64 %1594
  call void @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %20, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep2003, ptr noundef nonnull %6, ptr noundef nonnull %22) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1595 = call float @llvm.fmuladd.f32(float %1254, float %.11466, float 1.000000e+00)
  %1596 = load float, ptr %20, align 4, !tbaa !9
  %1597 = fpext float %1596 to double
  %1598 = fcmp ole float %1595, 0.000000e+00
  %1599 = select i1 %1598, float 0.000000e+00, float %1595
  %1600 = fpext float %1599 to double
  %sqrt1732 = call double @llvm.sqrt.f64(double %1600)
  %1601 = fmul double %sqrt1732, %1597
  %1602 = fptrunc double %1601 to float
  %1603 = load i32, ptr %24, align 4, !tbaa !5
  %1604 = sext i32 %1603 to i64
  %1605 = getelementptr inbounds float, ptr %34, i64 %1604
  store float %1602, ptr %1605, align 4, !tbaa !9
  %1606 = load float, ptr %26, align 4
  %1607 = fcmp oge float %.1115082092, %1606
  %1608 = select i1 %1607, float %.1115082092, float %1606
  br label %1609

1609:                                             ; preds = %1541, %1571, %1308, %1469, %1508, %1528, %1479, %1498, %1437, %1409, %1400
  %.121509 = phi float [ %1337, %1308 ], [ %1363, %1409 ], [ %1363, %1400 ], [ %1363, %1437 ], [ %1363, %1469 ], [ %1363, %1498 ], [ %1363, %1479 ], [ %1363, %1528 ], [ %1363, %1508 ], [ %1570, %1541 ], [ %1608, %1571 ]
  %1610 = load float, ptr %1154, align 4, !tbaa !9
  %1611 = load float, ptr %21, align 4, !tbaa !9
  %1612 = fdiv float %1610, %1611
  store float %1612, ptr %19, align 4, !tbaa !9
  %1613 = fmul float %1612, %1612
  %1614 = fcmp ugt float %1613, %sqrtf1619
  br i1 %1614, label %1637, label %1615

1615:                                             ; preds = %1609
  %1616 = fcmp olt float %1611, %110
  %1617 = fcmp ogt float %1611, %sqrtf1620
  %or.cond1704 = and i1 %1616, %1617
  br i1 %or.cond1704, label %1618, label %1624

1618:                                             ; preds = %1615
  %1619 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2081 = getelementptr float, ptr %invariant.gep2148, i64 %1619
  %1620 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep2081, ptr noundef nonnull @c__1) #7
  %1621 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1622 = load float, ptr %1621, align 4, !tbaa !9
  %1623 = fmul float %1620, %1622
  br label %.sink.split2308

1624:                                             ; preds = %1615
  store float 0.000000e+00, ptr %25, align 4, !tbaa !9
  store float 1.000000e+00, ptr %21, align 4, !tbaa !9
  %1625 = mul nsw i64 %indvars.iv.next2246, %552
  %gep2079 = getelementptr float, ptr %invariant.gep2148, i64 %1625
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep2079, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %21) #7
  %1626 = load float, ptr %25, align 4, !tbaa !9
  %1627 = fpext float %1626 to double
  %1628 = load float, ptr %21, align 4, !tbaa !9
  %1629 = fpext float %1628 to double
  %1630 = call double @sqrt(double noundef %1629) #7
  %1631 = fmul double %1630, %1627
  %1632 = getelementptr float, ptr %11, i64 %indvars.iv2245
  %1633 = load float, ptr %1632, align 4, !tbaa !9
  %1634 = fpext float %1633 to double
  %1635 = fmul double %1631, %1634
  %1636 = fptrunc double %1635 to float
  br label %.sink.split2308

.sink.split2308:                                  ; preds = %1624, %1618
  %.sink2309 = phi float [ %1623, %1618 ], [ %1636, %1624 ]
  store float %.sink2309, ptr %1154, align 4, !tbaa !9
  br label %1637

1637:                                             ; preds = %.sink.split2308, %1609
  %1638 = load float, ptr %20, align 4, !tbaa !9
  %1639 = fdiv float %1638, %1158
  store float %1639, ptr %19, align 4, !tbaa !9
  %1640 = fmul float %1639, %1639
  %1641 = fcmp ugt float %1640, %sqrtf1619
  br i1 %1641, label %1682, label %1642

1642:                                             ; preds = %1637
  %1643 = fcmp olt float %1638, %110
  %1644 = fcmp ogt float %1638, %sqrtf1620
  %or.cond1705 = and i1 %1643, %1644
  br i1 %or.cond1705, label %1645, label %1655

1645:                                             ; preds = %1642
  %1646 = load i32, ptr %24, align 4, !tbaa !5
  %1647 = mul nsw i32 %1646, %35
  %1648 = sext i32 %1647 to i64
  %gep2085 = getelementptr float, ptr %invariant.gep2148, i64 %1648
  %1649 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep2085, ptr noundef nonnull @c__1) #7
  %1650 = load i32, ptr %24, align 4, !tbaa !5
  %1651 = sext i32 %1650 to i64
  %1652 = getelementptr inbounds float, ptr %41, i64 %1651
  %1653 = load float, ptr %1652, align 4, !tbaa !9
  %1654 = fmul float %1649, %1653
  br label %1672

1655:                                             ; preds = %1642
  store float 0.000000e+00, ptr %25, align 4, !tbaa !9
  store float 1.000000e+00, ptr %20, align 4, !tbaa !9
  %1656 = load i32, ptr %24, align 4, !tbaa !5
  %1657 = mul nsw i32 %1656, %35
  %1658 = sext i32 %1657 to i64
  %gep2083 = getelementptr float, ptr %invariant.gep2148, i64 %1658
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep2083, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %20) #7
  %1659 = load float, ptr %25, align 4, !tbaa !9
  %1660 = fpext float %1659 to double
  %1661 = load float, ptr %20, align 4, !tbaa !9
  %1662 = fpext float %1661 to double
  %1663 = call double @sqrt(double noundef %1662) #7
  %1664 = fmul double %1663, %1660
  %1665 = load i32, ptr %24, align 4, !tbaa !5
  %1666 = sext i32 %1665 to i64
  %1667 = getelementptr inbounds float, ptr %41, i64 %1666
  %1668 = load float, ptr %1667, align 4, !tbaa !9
  %1669 = fpext float %1668 to double
  %1670 = fmul double %1664, %1669
  %1671 = fptrunc double %1670 to float
  br label %1672

1672:                                             ; preds = %1655, %1645
  %.pre-phi2276 = phi i64 [ %1666, %1655 ], [ %1651, %1645 ]
  %storemerge1668 = phi float [ %1671, %1655 ], [ %1654, %1645 ]
  store float %storemerge1668, ptr %20, align 4, !tbaa !9
  %1673 = getelementptr inbounds float, ptr %34, i64 %.pre-phi2276
  store float %storemerge1668, ptr %1673, align 4, !tbaa !9
  br label %1682

1674:                                             ; preds = %1252
  %1675 = add nsw i32 %.1214882094, 1
  %1676 = add nsw i32 %.314942093, 1
  %1677 = add nsw i32 %.115352090, 1
  br label %1682

1678:                                             ; preds = %.lr.ph2097
  %1679 = add nsw i32 %.1214882094, 1
  %1680 = add nsw i32 %.314942093, 1
  %1681 = add nsw i32 %.115352090, 1
  br label %1682

1682:                                             ; preds = %1674, %1672, %1637, %1678
  %.21536 = phi i32 [ %.115352090, %1672 ], [ %.115352090, %1637 ], [ %1677, %1674 ], [ %1681, %1678 ]
  %.111527 = phi float [ %1257, %1672 ], [ %1257, %1637 ], [ %1257, %1674 ], [ %.1015262091, %1678 ]
  %.131510 = phi float [ %.121509, %1672 ], [ %.121509, %1637 ], [ %.1115082092, %1674 ], [ %.1115082092, %1678 ]
  %.41495 = phi i32 [ 0, %1672 ], [ 0, %1637 ], [ %1676, %1674 ], [ %1680, %1678 ]
  %.131489 = phi i32 [ 0, %1672 ], [ 0, %1637 ], [ %1675, %1674 ], [ %1679, %1678 ]
  %.11 = phi i32 [ %1261, %1672 ], [ %1261, %1637 ], [ %.102095, %1674 ], [ %.102095, %1678 ]
  %.not1670 = icmp slt i32 %.21536, %383
  %or.cond1706 = select i1 %.not1669, i1 true, i1 %.not1670
  br i1 %or.cond1706, label %1688, label %1683

1683:                                             ; preds = %1682
  %1684 = load float, ptr %20, align 4, !tbaa !9
  %1685 = load i32, ptr %24, align 4, !tbaa !5
  %1686 = sext i32 %1685 to i64
  %1687 = getelementptr inbounds float, ptr %34, i64 %1686
  store float %1684, ptr %1687, align 4, !tbaa !9
  br label %.loopexit1739

1688:                                             ; preds = %1682
  %1689 = icmp sle i32 %.41495, %384
  %or.cond1707.not = select i1 %.not1669, i1 true, i1 %1689
  br i1 %or.cond1707.not, label %1151, label %1690

1690:                                             ; preds = %1688
  %1691 = load float, ptr %20, align 4, !tbaa !9
  %1692 = fneg float %1691
  store float %1692, ptr %20, align 4, !tbaa !9
  br label %.loopexit1736

.loopexit1736.loopexit:                           ; preds = %1151
  %.pre2266 = load float, ptr %20, align 4, !tbaa !9
  br label %.loopexit1736

.loopexit1736:                                    ; preds = %.loopexit1736.loopexit, %1149, %1690
  %1693 = phi float [ %1692, %1690 ], [ %1147, %1149 ], [ %.pre2266, %.loopexit1736.loopexit ]
  %.31537 = phi i32 [ %.21536, %1690 ], [ %.015342105, %1149 ], [ %.21536, %.loopexit1736.loopexit ]
  %.121528 = phi float [ %.111527, %1690 ], [ %.915252106, %1149 ], [ %.111527, %.loopexit1736.loopexit ]
  %.141511 = phi float [ %.131510, %1690 ], [ %.1015072107, %1149 ], [ %.131510, %.loopexit1736.loopexit ]
  %.141490 = phi i32 [ 0, %1690 ], [ %.1114872108, %1149 ], [ %.131489, %.loopexit1736.loopexit ]
  %.12 = phi i32 [ %.11, %1690 ], [ %.92109, %1149 ], [ %.11, %.loopexit1736.loopexit ]
  %1694 = load i32, ptr %24, align 4, !tbaa !5
  %1695 = sext i32 %1694 to i64
  %1696 = getelementptr inbounds float, ptr %34, i64 %1695
  store float %1693, ptr %1696, align 4, !tbaa !9
  %.pre2267 = load i32, ptr %17, align 4, !tbaa !5
  br label %1706

1697:                                             ; preds = %1143
  %1698 = fcmp oeq float %1147, 0.000000e+00
  br i1 %1698, label %1699, label %1703

1699:                                             ; preds = %1697
  store i32 %1142, ptr %18, align 4, !tbaa !5
  %1700 = load i32, ptr %4, align 4, !tbaa !5
  %.1708 = call i32 @llvm.smin.i32(i32 %1142, i32 %1700)
  %1701 = sub i32 %.1114872108, %1140
  %1702 = add i32 %1701, %.1708
  br label %1703

1703:                                             ; preds = %1699, %1697
  %.15 = phi i32 [ %1702, %1699 ], [ %.1114872108, %1697 ]
  %1704 = fcmp olt float %1147, 0.000000e+00
  br i1 %1704, label %1705, label %1706

1705:                                             ; preds = %1703
  br label %1706

1706:                                             ; preds = %.loopexit1736, %1705, %1703
  %1707 = phi i32 [ %.pre2267, %.loopexit1736 ], [ %1144, %1705 ], [ %1144, %1703 ]
  %1708 = phi i32 [ %1694, %.loopexit1736 ], [ %storemerge16622104, %1705 ], [ %storemerge16622104, %1703 ]
  %.41538 = phi i32 [ %.31537, %.loopexit1736 ], [ %.015342105, %1705 ], [ %.015342105, %1703 ]
  %.131529 = phi float [ %.121528, %.loopexit1736 ], [ %.915252106, %1705 ], [ %.915252106, %1703 ]
  %.151512 = phi float [ %.141511, %.loopexit1736 ], [ %.1015072107, %1705 ], [ %.1015072107, %1703 ]
  %.16 = phi i32 [ %.141490, %.loopexit1736 ], [ 0, %1705 ], [ %.15, %1703 ]
  %.13 = phi i32 [ %.12, %.loopexit1736 ], [ %.92109, %1705 ], [ %.92109, %1703 ]
  %1709 = add nsw i32 %1708, 1
  store i32 %1709, ptr %24, align 4, !tbaa !5
  %.not1663.not = icmp slt i32 %1708, %1707
  br i1 %.not1663.not, label %1143, label %._crit_edge2112.loopexit, !llvm.loop !32

._crit_edge2112.loopexit:                         ; preds = %1706
  %.pre2268 = load i32, ptr %16, align 4, !tbaa !5
  br label %._crit_edge2112

._crit_edge2112:                                  ; preds = %._crit_edge2112.loopexit, %.lr.ph2124
  %1710 = phi i32 [ %1137, %.lr.ph2124 ], [ %.pre2268, %._crit_edge2112.loopexit ]
  %.91525.lcssa = phi float [ %.815242118, %.lr.ph2124 ], [ %.131529, %._crit_edge2112.loopexit ]
  %.101507.lcssa = phi float [ %.915062119, %.lr.ph2124 ], [ %.151512, %._crit_edge2112.loopexit ]
  %.111487.lcssa = phi i32 [ %.1014862120, %.lr.ph2124 ], [ %.16, %._crit_edge2112.loopexit ]
  %.9.lcssa = phi i32 [ %.82121, %.lr.ph2124 ], [ %.13, %._crit_edge2112.loopexit ]
  %1711 = add nuw nsw i32 %.014682122, 1
  %.not1660.not = icmp slt i32 %.014682122, %1710
  %indvars.iv.next2244 = add i32 %indvars.iv2243, %spec.select
  br i1 %.not1660.not, label %.lr.ph2124, label %.loopexit1739, !llvm.loop !33

.loopexit1739:                                    ; preds = %._crit_edge2112, %._crit_edge1957, %1683
  %.141530 = phi float [ %.111527, %1683 ], [ %.21518.lcssa, %._crit_edge1957 ], [ %.91525.lcssa, %._crit_edge2112 ]
  %.161513 = phi float [ %.131510, %1683 ], [ %.21499.lcssa, %._crit_edge1957 ], [ %.101507.lcssa, %._crit_edge2112 ]
  %.17 = phi i32 [ 0, %1683 ], [ %.11477.lcssa, %._crit_edge1957 ], [ %.111487.lcssa, %._crit_edge2112 ]
  %.14 = phi i32 [ %.11, %1683 ], [ %.11470.lcssa, %._crit_edge1957 ], [ %.9.lcssa, %._crit_edge2112 ]
  store i32 %1136, ptr %17, align 4, !tbaa !5
  %1712 = load i32, ptr %4, align 4, !tbaa !5
  %.1709 = call i32 @llvm.smin.i32(i32 %1136, i32 %1712)
  store i32 %.1709, ptr %16, align 4, !tbaa !5
  %.not16732129.not = icmp slt i32 %563, %.1709
  br i1 %.not16732129.not, label %.lr.ph2132.preheader, label %.loopexit1738

.lr.ph2132.preheader:                             ; preds = %.loopexit1739
  %1713 = sext i32 %.1709 to i64
  %smax = call i64 @llvm.smax.i64(i64 %1713, i64 %560)
  %1714 = add i64 %smax, 1
  %1715 = sub i64 %1714, %560
  %min.iters.check2385 = icmp ult i64 %1715, 8
  br i1 %min.iters.check2385, label %.lr.ph2132.preheader2418, label %vector.ph2386

vector.ph2386:                                    ; preds = %.lr.ph2132.preheader
  %n.vec2388 = and i64 %1715, -8
  %ind.end2389 = add i64 %n.vec2388, %561
  %invariant.gep = getelementptr float, ptr %34, i64 %561
  br label %vector.body2391

vector.body2391:                                  ; preds = %vector.body2391, %vector.ph2386
  %index2392 = phi i64 [ 0, %vector.ph2386 ], [ %index.next2396, %vector.body2391 ]
  %gep2463 = getelementptr float, ptr %invariant.gep, i64 %index2392
  %1716 = getelementptr inbounds i8, ptr %gep2463, i64 16
  %wide.load2394 = load <4 x float>, ptr %gep2463, align 4, !tbaa !9
  %wide.load2395 = load <4 x float>, ptr %1716, align 4, !tbaa !9
  %1717 = fcmp oge <4 x float> %wide.load2394, zeroinitializer
  %1718 = fcmp oge <4 x float> %wide.load2395, zeroinitializer
  %1719 = fneg <4 x float> %wide.load2394
  %1720 = fneg <4 x float> %wide.load2395
  %1721 = select <4 x i1> %1717, <4 x float> %wide.load2394, <4 x float> %1719
  %1722 = select <4 x i1> %1718, <4 x float> %wide.load2395, <4 x float> %1720
  store <4 x float> %1721, ptr %gep2463, align 4, !tbaa !9
  store <4 x float> %1722, ptr %1716, align 4, !tbaa !9
  %index.next2396 = add nuw i64 %index2392, 8
  %1723 = icmp eq i64 %index.next2396, %n.vec2388
  br i1 %1723, label %middle.block2383, label %vector.body2391, !llvm.loop !34

middle.block2383:                                 ; preds = %vector.body2391
  %1724 = extractelement <4 x float> %wide.load2395, i64 3
  %cmp.n2397 = icmp eq i64 %1715, %n.vec2388
  br i1 %cmp.n2397, label %..loopexit1738_crit_edge, label %.lr.ph2132.preheader2418

.lr.ph2132.preheader2418:                         ; preds = %middle.block2383, %.lr.ph2132.preheader
  %indvars.iv2250.ph = phi i64 [ %561, %.lr.ph2132.preheader ], [ %ind.end2389, %middle.block2383 ]
  br label %.lr.ph2132

.lr.ph2132:                                       ; preds = %.lr.ph2132.preheader2418, %.lr.ph2132
  %indvars.iv2250 = phi i64 [ %indvars.iv.next2251, %.lr.ph2132 ], [ %indvars.iv2250.ph, %.lr.ph2132.preheader2418 ]
  %1725 = getelementptr inbounds float, ptr %34, i64 %indvars.iv2250
  %1726 = load float, ptr %1725, align 4, !tbaa !9
  %1727 = fcmp oge float %1726, 0.000000e+00
  %1728 = fneg float %1726
  %1729 = select i1 %1727, float %1726, float %1728
  store float %1729, ptr %1725, align 4, !tbaa !9
  %indvars.iv.next2251 = add nsw i64 %indvars.iv2250, 1
  %.not1673.not = icmp slt i64 %indvars.iv2250, %1713
  br i1 %.not1673.not, label %.lr.ph2132, label %..loopexit1738_crit_edge, !llvm.loop !35

._crit_edge2143:                                  ; preds = %.loopexit1738, %.._crit_edge2143_crit_edge
  %1730 = phi i32 [ %.pre2269, %.._crit_edge2143_crit_edge ], [ %1712, %.loopexit1738 ]
  %.11517.lcssa = phi float [ 0.000000e+00, %.._crit_edge2143_crit_edge ], [ %.141530, %.loopexit1738 ]
  %.11498.lcssa = phi float [ 0.000000e+00, %.._crit_edge2143_crit_edge ], [ %.161513, %.loopexit1738 ]
  %.01476.lcssa = phi i32 [ 0, %.._crit_edge2143_crit_edge ], [ %.17, %.loopexit1738 ]
  %.01469.lcssa = phi i32 [ 0, %.._crit_edge2143_crit_edge ], [ %.14, %.loopexit1738 ]
  %1731 = sext i32 %1730 to i64
  %1732 = getelementptr inbounds float, ptr %34, i64 %1731
  %1733 = load float, ptr %1732, align 4, !tbaa !9
  %1734 = fcmp olt float %1733, %110
  %1735 = fcmp ogt float %1733, %sqrtf1620
  %or.cond1710 = and i1 %1734, %1735
  br i1 %or.cond1710, label %1736, label %1745

1736:                                             ; preds = %._crit_edge2143
  %1737 = mul nsw i32 %1730, %35
  %1738 = sext i32 %1737 to i64
  %gep2151 = getelementptr float, ptr %invariant.gep2148, i64 %1738
  %1739 = call float @snrm2_(ptr noundef nonnull %3, ptr noundef %gep2151, ptr noundef nonnull @c__1) #7
  %1740 = load i32, ptr %4, align 4, !tbaa !5
  %1741 = sext i32 %1740 to i64
  %1742 = getelementptr inbounds float, ptr %41, i64 %1741
  %1743 = load float, ptr %1742, align 4, !tbaa !9
  %1744 = fmul float %1739, %1743
  br label %1761

1745:                                             ; preds = %._crit_edge2143
  store float 0.000000e+00, ptr %25, align 4, !tbaa !9
  store float 1.000000e+00, ptr %20, align 4, !tbaa !9
  %1746 = mul nsw i32 %1730, %35
  %1747 = sext i32 %1746 to i64
  %gep2149 = getelementptr float, ptr %invariant.gep2148, i64 %1747
  call void @slassq_(ptr noundef nonnull %3, ptr noundef %gep2149, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %20) #7
  %1748 = load float, ptr %25, align 4, !tbaa !9
  %1749 = fpext float %1748 to double
  %1750 = load float, ptr %20, align 4, !tbaa !9
  %1751 = fpext float %1750 to double
  %1752 = call double @sqrt(double noundef %1751) #7
  %1753 = fmul double %1752, %1749
  %1754 = load i32, ptr %4, align 4, !tbaa !5
  %1755 = sext i32 %1754 to i64
  %1756 = getelementptr inbounds float, ptr %41, i64 %1755
  %1757 = load float, ptr %1756, align 4, !tbaa !9
  %1758 = fpext float %1757 to double
  %1759 = fmul double %1753, %1758
  %1760 = fptrunc double %1759 to float
  br label %1761

1761:                                             ; preds = %1745, %1736
  %.sink2312 = phi i64 [ %1755, %1745 ], [ %1741, %1736 ]
  %.sink2310 = phi float [ %1760, %1745 ], [ %1744, %1736 ]
  %1762 = phi i32 [ %1754, %1745 ], [ %1740, %1736 ]
  %1763 = getelementptr inbounds float, ptr %34, i64 %.sink2312
  store float %.sink2310, ptr %1763, align 4, !tbaa !9
  %1764 = icmp slt i32 %.015392152, %.015322153
  %1765 = fcmp ugt float %.11517.lcssa, %sqrtf1622
  %.not1645 = icmp sgt i32 %.01469.lcssa, %1762
  %or.cond2313 = select i1 %1765, i1 %.not1645, i1 false
  %spec.select2314 = select i1 %or.cond2313, i32 %.015322153, i32 %.015392152
  %.11533 = select i1 %1764, i32 %spec.select2314, i32 %.015322153
  %1766 = add nsw i32 %.11533, 1
  %1767 = icmp sgt i32 %.015392152, %1766
  br i1 %1767, label %1768, label %1783

1768:                                             ; preds = %1761
  %1769 = fpext float %.11517.lcssa to double
  %1770 = sitofp i32 %1762 to float
  %1771 = fpext float %1770 to double
  %1772 = call double @sqrt(double noundef %1771) #7
  %1773 = load float, ptr %32, align 4, !tbaa !9
  %1774 = fpext float %1773 to double
  %1775 = fmul double %1772, %1774
  %1776 = fcmp ogt double %1775, %1769
  br i1 %1776, label %1777, label %1783

1777:                                             ; preds = %1768
  %1778 = load i32, ptr %4, align 4, !tbaa !5
  %1779 = sitofp i32 %1778 to float
  %1780 = fmul float %.11517.lcssa, %1779
  %1781 = fmul float %.11498.lcssa, %1780
  %1782 = fcmp uge float %1781, %1773
  %.not1646 = icmp slt i32 %.01476.lcssa, %373
  %or.cond1711 = select i1 %1782, i1 %.not1646, i1 false
  br i1 %or.cond1711, label %1784, label %1786

1783:                                             ; preds = %1768, %1761
  %.not1646.old = icmp slt i32 %.01476.lcssa, %373
  br i1 %.not1646.old, label %1784, label %1786

1784:                                             ; preds = %1777, %1783
  %1785 = add nuw nsw i32 %.015392152, 1
  %exitcond2253.not = icmp eq i32 %1785, 31
  br i1 %exitcond2253.not, label %1786, label %556, !llvm.loop !36

1786:                                             ; preds = %1777, %1783, %1784
  %.01539.lcssa = phi i32 [ %.015392152, %1777 ], [ %.015392152, %1783 ], [ 31, %1784 ]
  %storemerge1643 = phi i32 [ 0, %1777 ], [ 0, %1783 ], [ 29, %1784 ]
  store i32 %storemerge1643, ptr %13, align 4, !tbaa !5
  store i32 0, ptr %29, align 4, !tbaa !5
  store i32 0, ptr %30, align 4, !tbaa !5
  %1787 = load i32, ptr %4, align 4, !tbaa !5
  %1788 = add nsw i32 %1787, -1
  store i32 %1788, ptr %15, align 4, !tbaa !5
  store i32 1, ptr %24, align 4, !tbaa !5
  %.not16482162 = icmp slt i32 %1787, 2
  br i1 %.not16482162, label %._crit_edge2166, label %.lr.ph2165

.lr.ph2165:                                       ; preds = %1786, %1833
  %storemerge16472163 = phi i32 [ %1834, %1833 ], [ 1, %1786 ]
  %1789 = load i32, ptr %4, align 4, !tbaa !5
  %reass.sub2194 = sub i32 %1789, %storemerge16472163
  %1790 = add i32 %reass.sub2194, 1
  store i32 %1790, ptr %16, align 4, !tbaa !5
  %1791 = sext i32 %storemerge16472163 to i64
  %1792 = getelementptr inbounds float, ptr %34, i64 %1791
  %1793 = call i32 @isamax_(ptr noundef nonnull %16, ptr noundef nonnull %1792, ptr noundef nonnull @c__1) #7
  %1794 = load i32, ptr %24, align 4, !tbaa !5
  %1795 = add i32 %1793, -1
  %1796 = add i32 %1795, %1794
  %.not1658 = icmp eq i32 %1795, 0
  br i1 %.not1658, label %1817, label %1797

1797:                                             ; preds = %.lr.ph2165
  %1798 = sext i32 %1794 to i64
  %1799 = getelementptr inbounds float, ptr %34, i64 %1798
  %1800 = load float, ptr %1799, align 4, !tbaa !9
  %1801 = sext i32 %1796 to i64
  %1802 = getelementptr inbounds float, ptr %34, i64 %1801
  %1803 = load float, ptr %1802, align 4, !tbaa !9
  store float %1803, ptr %1799, align 4, !tbaa !9
  store float %1800, ptr %1802, align 4, !tbaa !9
  %1804 = getelementptr inbounds float, ptr %41, i64 %1798
  %1805 = load float, ptr %1804, align 4, !tbaa !9
  store float %1805, ptr %23, align 4, !tbaa !9
  %1806 = getelementptr inbounds float, ptr %41, i64 %1801
  %1807 = load float, ptr %1806, align 4, !tbaa !9
  store float %1807, ptr %1804, align 4, !tbaa !9
  store float %1805, ptr %1806, align 4, !tbaa !9
  %1808 = mul nsw i32 %1794, %35
  %1809 = sext i32 %1808 to i64
  %gep2155 = getelementptr float, ptr %invariant.gep2148, i64 %1809
  %1810 = mul nsw i32 %1796, %35
  %1811 = sext i32 %1810 to i64
  %gep2157 = getelementptr float, ptr %invariant.gep2148, i64 %1811
  call void @sswap_(ptr noundef nonnull %3, ptr noundef %gep2155, ptr noundef nonnull @c__1, ptr noundef %gep2157, ptr noundef nonnull @c__1) #7
  %.pre2271 = load i32, ptr %24, align 4, !tbaa !5
  br i1 %or.cond5, label %1812, label %1817

1812:                                             ; preds = %1797
  %1813 = mul nsw i32 %.pre2271, %38
  %1814 = sext i32 %1813 to i64
  %gep2159 = getelementptr float, ptr %invariant.gep1927, i64 %1814
  %1815 = mul nsw i32 %1796, %38
  %1816 = sext i32 %1815 to i64
  %gep2161 = getelementptr float, ptr %invariant.gep1927, i64 %1816
  call void @sswap_(ptr noundef nonnull %33, ptr noundef %gep2159, ptr noundef nonnull @c__1, ptr noundef %gep2161, ptr noundef nonnull @c__1) #7
  %.pre2270 = load i32, ptr %24, align 4, !tbaa !5
  br label %1817

1817:                                             ; preds = %1797, %1812, %.lr.ph2165
  %1818 = phi i32 [ %.pre2271, %1797 ], [ %.pre2270, %1812 ], [ %1794, %.lr.ph2165 ]
  %1819 = sext i32 %1818 to i64
  %1820 = getelementptr inbounds float, ptr %34, i64 %1819
  %1821 = load float, ptr %1820, align 4, !tbaa !9
  %1822 = fcmp une float %1821, 0.000000e+00
  br i1 %1822, label %1823, label %1833

1823:                                             ; preds = %1817
  %1824 = load i32, ptr %30, align 4, !tbaa !5
  %1825 = add nsw i32 %1824, 1
  store i32 %1825, ptr %30, align 4, !tbaa !5
  %1826 = load float, ptr %31, align 4, !tbaa !9
  %1827 = fmul float %1821, %1826
  %1828 = load float, ptr %26, align 4, !tbaa !9
  %1829 = fcmp ogt float %1827, %1828
  br i1 %1829, label %1830, label %1833

1830:                                             ; preds = %1823
  %1831 = load i32, ptr %29, align 4, !tbaa !5
  %1832 = add nsw i32 %1831, 1
  store i32 %1832, ptr %29, align 4, !tbaa !5
  br label %1833

1833:                                             ; preds = %1817, %1830, %1823
  %1834 = add nsw i32 %1818, 1
  store i32 %1834, ptr %24, align 4, !tbaa !5
  %1835 = load i32, ptr %15, align 4, !tbaa !5
  %.not1648.not = icmp slt i32 %1818, %1835
  br i1 %.not1648.not, label %.lr.ph2165, label %._crit_edge2166.loopexit, !llvm.loop !37

._crit_edge2166.loopexit:                         ; preds = %1833
  %.pre2272 = load i32, ptr %4, align 4, !tbaa !5
  br label %._crit_edge2166

._crit_edge2166:                                  ; preds = %._crit_edge2166.loopexit, %1786
  %1836 = phi i32 [ %.pre2272, %._crit_edge2166.loopexit ], [ %1787, %1786 ]
  %1837 = sext i32 %1836 to i64
  %1838 = getelementptr inbounds float, ptr %34, i64 %1837
  %1839 = load float, ptr %1838, align 4, !tbaa !9
  %1840 = fcmp une float %1839, 0.000000e+00
  br i1 %1840, label %1841, label %1851

1841:                                             ; preds = %._crit_edge2166
  %1842 = load i32, ptr %30, align 4, !tbaa !5
  %1843 = add nsw i32 %1842, 1
  store i32 %1843, ptr %30, align 4, !tbaa !5
  %1844 = load float, ptr %31, align 4, !tbaa !9
  %1845 = fmul float %1839, %1844
  %1846 = load float, ptr %26, align 4, !tbaa !9
  %1847 = fcmp ogt float %1845, %1846
  br i1 %1847, label %1848, label %1851

1848:                                             ; preds = %1841
  %1849 = load i32, ptr %29, align 4, !tbaa !5
  %1850 = add nsw i32 %1849, 1
  store i32 %1850, ptr %29, align 4, !tbaa !5
  br label %1851

1851:                                             ; preds = %1841, %1848, %._crit_edge2166
  %1852 = or i32 %43, %42
  %or.cond21.not = icmp eq i32 %1852, 0
  br i1 %or.cond21.not, label %.loopexit1735, label %1853

1853:                                             ; preds = %1851
  %1854 = load i32, ptr %29, align 4, !tbaa !5
  store i32 %1854, ptr %15, align 4, !tbaa !5
  store i32 1, ptr %24, align 4, !tbaa !5
  %.not16512169 = icmp slt i32 %1854, 1
  br i1 %.not16512169, label %.loopexit1735, label %.lr.ph2172

.lr.ph2172:                                       ; preds = %1853, %.lr.ph2172
  %storemerge16502170 = phi i32 [ %1864, %.lr.ph2172 ], [ 1, %1853 ]
  %1855 = sext i32 %storemerge16502170 to i64
  %1856 = getelementptr inbounds float, ptr %41, i64 %1855
  %1857 = load float, ptr %1856, align 4, !tbaa !9
  %1858 = getelementptr inbounds float, ptr %34, i64 %1855
  %1859 = load float, ptr %1858, align 4, !tbaa !9
  %1860 = fdiv float %1857, %1859
  store float %1860, ptr %19, align 4, !tbaa !9
  %1861 = mul nsw i32 %storemerge16502170, %35
  %1862 = sext i32 %1861 to i64
  %gep2168 = getelementptr float, ptr %invariant.gep2148, i64 %1862
  call void @sscal_(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2168, ptr noundef nonnull @c__1) #7
  %1863 = load i32, ptr %24, align 4, !tbaa !5
  %1864 = add nsw i32 %1863, 1
  store i32 %1864, ptr %24, align 4, !tbaa !5
  %1865 = load i32, ptr %15, align 4, !tbaa !5
  %.not1651.not = icmp slt i32 %1863, %1865
  br i1 %.not1651.not, label %.lr.ph2172, label %.loopexit1735, !llvm.loop !38

.loopexit1735:                                    ; preds = %.lr.ph2172, %1853, %1851
  br i1 %or.cond5, label %1866, label %.loopexit

1866:                                             ; preds = %.loopexit1735
  %1867 = load i32, ptr %4, align 4, !tbaa !5
  store i32 %1867, ptr %15, align 4, !tbaa !5
  store i32 1, ptr %24, align 4, !tbaa !5
  %.not16552183 = icmp slt i32 %1867, 1
  br i1 %59, label %1868, label %1876

1868:                                             ; preds = %1866
  br i1 %.not16552183, label %.loopexit, label %.lr.ph2186

.lr.ph2186:                                       ; preds = %1868, %.lr.ph2186
  %storemerge16542184 = phi i32 [ %1874, %.lr.ph2186 ], [ 1, %1868 ]
  %1869 = sext i32 %storemerge16542184 to i64
  %1870 = getelementptr inbounds float, ptr %41, i64 %1869
  %1871 = mul nsw i32 %storemerge16542184, %38
  %1872 = sext i32 %1871 to i64
  %gep2182 = getelementptr float, ptr %invariant.gep1927, i64 %1872
  call void @sscal_(ptr noundef nonnull %33, ptr noundef nonnull %1870, ptr noundef %gep2182, ptr noundef nonnull @c__1) #7
  %1873 = load i32, ptr %24, align 4, !tbaa !5
  %1874 = add nsw i32 %1873, 1
  store i32 %1874, ptr %24, align 4, !tbaa !5
  %1875 = load i32, ptr %15, align 4, !tbaa !5
  %.not1655.not = icmp slt i32 %1873, %1875
  br i1 %.not1655.not, label %.lr.ph2186, label %.loopexit, !llvm.loop !39

1876:                                             ; preds = %1866
  br i1 %.not16552183, label %.loopexit, label %.lr.ph2180

.lr.ph2180:                                       ; preds = %1876, %.lr.ph2180
  %storemerge16522178 = phi i32 [ %1885, %.lr.ph2180 ], [ 1, %1876 ]
  %1877 = mul nsw i32 %storemerge16522178, %38
  %1878 = sext i32 %1877 to i64
  %gep2174 = getelementptr float, ptr %invariant.gep1927, i64 %1878
  %1879 = call float @snrm2_(ptr noundef nonnull %33, ptr noundef %gep2174, ptr noundef nonnull @c__1) #7
  %1880 = fdiv float 1.000000e+00, %1879
  store float %1880, ptr %23, align 4, !tbaa !9
  %1881 = load i32, ptr %24, align 4, !tbaa !5
  %1882 = mul nsw i32 %1881, %38
  %1883 = sext i32 %1882 to i64
  %gep2176 = getelementptr float, ptr %invariant.gep1927, i64 %1883
  call void @sscal_(ptr noundef nonnull %33, ptr noundef nonnull %23, ptr noundef %gep2176, ptr noundef nonnull @c__1) #7
  %1884 = load i32, ptr %24, align 4, !tbaa !5
  %1885 = add nsw i32 %1884, 1
  store i32 %1885, ptr %24, align 4, !tbaa !5
  %1886 = load i32, ptr %15, align 4, !tbaa !5
  %.not1653.not = icmp slt i32 %1884, %1886
  br i1 %.not1653.not, label %.lr.ph2180, label %.loopexit, !llvm.loop !40

.loopexit:                                        ; preds = %.lr.ph2180, %.lr.ph2186, %1876, %1868, %.loopexit1735
  %1887 = load float, ptr %31, align 4, !tbaa !9
  %1888 = fcmp ogt float %1887, 1.000000e+00
  br i1 %1888, label %1889, label %1893

1889:                                             ; preds = %.loopexit
  %1890 = load float, ptr %7, align 4, !tbaa !9
  %1891 = fdiv float %109, %1887
  %1892 = fcmp olt float %1890, %1891
  br i1 %1892, label %1903, label %1893

1893:                                             ; preds = %1889, %.loopexit
  %1894 = fcmp olt float %1887, 1.000000e+00
  %.pre2274 = load i32, ptr %29, align 4
  br i1 %1894, label %1895, label %1915

1895:                                             ; preds = %1893
  %1896 = call i32 @llvm.smax.i32(i32 %.pre2274, i32 1)
  %1897 = zext nneg i32 %1896 to i64
  %1898 = getelementptr inbounds float, ptr %34, i64 %1897
  %1899 = load float, ptr %1898, align 4, !tbaa !9
  %1900 = load float, ptr %26, align 4, !tbaa !9
  %1901 = fdiv float %1900, %1887
  %1902 = fcmp ogt float %1899, %1901
  br i1 %1902, label %1903, label %1915

1903:                                             ; preds = %1895, %1889
  %1904 = load i32, ptr %4, align 4, !tbaa !5
  %.not16572187 = icmp slt i32 %1904, 1
  br i1 %.not16572187, label %._crit_edge2191, label %.lr.ph2190.preheader

.lr.ph2190.preheader:                             ; preds = %1903
  %1905 = add nuw i32 %1904, 1
  %wide.trip.count2257 = zext i32 %1905 to i64
  %1906 = zext nneg i32 %1904 to i64
  %min.iters.check2400 = icmp ult i32 %1904, 8
  br i1 %min.iters.check2400, label %.lr.ph2190.preheader2416, label %vector.ph2401

vector.ph2401:                                    ; preds = %.lr.ph2190.preheader
  %n.vec2403 = and i64 %1906, 2147483640
  %ind.end2404 = or disjoint i64 %n.vec2403, 1
  %broadcast.splatinsert2411 = insertelement <4 x float> poison, float %1887, i64 0
  %broadcast.splat2412 = shufflevector <4 x float> %broadcast.splatinsert2411, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2406

vector.body2406:                                  ; preds = %vector.body2406, %vector.ph2401
  %index2407 = phi i64 [ 0, %vector.ph2401 ], [ %index.next2413, %vector.body2406 ]
  %1907 = getelementptr float, ptr %7, i64 %index2407
  %1908 = getelementptr inbounds i8, ptr %1907, i64 16
  %wide.load2409 = load <4 x float>, ptr %1907, align 4, !tbaa !9
  %wide.load2410 = load <4 x float>, ptr %1908, align 4, !tbaa !9
  %1909 = fmul <4 x float> %broadcast.splat2412, %wide.load2409
  %1910 = fmul <4 x float> %broadcast.splat2412, %wide.load2410
  store <4 x float> %1909, ptr %1907, align 4, !tbaa !9
  store <4 x float> %1910, ptr %1908, align 4, !tbaa !9
  %index.next2413 = add nuw i64 %index2407, 8
  %1911 = icmp eq i64 %index.next2413, %n.vec2403
  br i1 %1911, label %middle.block2398, label %vector.body2406, !llvm.loop !41

middle.block2398:                                 ; preds = %vector.body2406
  %cmp.n2414 = icmp eq i64 %n.vec2403, %1906
  br i1 %cmp.n2414, label %._crit_edge2191, label %.lr.ph2190.preheader2416

.lr.ph2190.preheader2416:                         ; preds = %middle.block2398, %.lr.ph2190.preheader
  %indvars.iv2254.ph = phi i64 [ 1, %.lr.ph2190.preheader ], [ %ind.end2404, %middle.block2398 ]
  br label %.lr.ph2190

.lr.ph2190:                                       ; preds = %.lr.ph2190.preheader2416, %.lr.ph2190
  %indvars.iv2254 = phi i64 [ %indvars.iv.next2255, %.lr.ph2190 ], [ %indvars.iv2254.ph, %.lr.ph2190.preheader2416 ]
  %1912 = getelementptr inbounds float, ptr %34, i64 %indvars.iv2254
  %1913 = load float, ptr %1912, align 4, !tbaa !9
  %1914 = fmul float %1887, %1913
  store float %1914, ptr %1912, align 4, !tbaa !9
  %indvars.iv.next2255 = add nuw nsw i64 %indvars.iv2254, 1
  %exitcond2258.not = icmp eq i64 %indvars.iv.next2255, %wide.trip.count2257
  br i1 %exitcond2258.not, label %._crit_edge2191, label %.lr.ph2190, !llvm.loop !42

._crit_edge2191:                                  ; preds = %.lr.ph2190, %middle.block2398, %1903
  %.pre2273 = load i32, ptr %29, align 4, !tbaa !5
  br label %1915

1915:                                             ; preds = %._crit_edge2191, %1895, %1893
  %1916 = phi i32 [ %.pre2273, %._crit_edge2191 ], [ %.pre2274, %1895 ], [ %.pre2274, %1893 ]
  %1917 = phi float [ 1.000000e+00, %._crit_edge2191 ], [ %1887, %1895 ], [ %1887, %1893 ]
  store float %1917, ptr %11, align 4, !tbaa !9
  %1918 = load i32, ptr %30, align 4, !tbaa !5
  %1919 = getelementptr inbounds i8, ptr %11, i64 4
  %1920 = insertelement <2 x i32> poison, i32 %1918, i64 0
  %1921 = insertelement <2 x i32> %1920, i32 %1916, i64 1
  %1922 = sitofp <2 x i32> %1921 to <2 x float>
  store <2 x float> %1922, ptr %1919, align 4, !tbaa !9
  %1923 = uitofp nneg i32 %.01539.lcssa to float
  %1924 = getelementptr inbounds i8, ptr %11, i64 12
  store float %1923, ptr %1924, align 4, !tbaa !9
  %1925 = getelementptr inbounds i8, ptr %11, i64 16
  store float %.11517.lcssa, ptr %1925, align 4, !tbaa !9
  %1926 = getelementptr inbounds i8, ptr %11, i64 20
  store float %.11498.lcssa, ptr %1926, align 4, !tbaa !9
  br label %1927

1927:                                             ; preds = %92, %95, %1915, %288, %282, %229, %190, %150, %123, %90
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %32) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %31) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %30) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 20, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #7
  ret void
}

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

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

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

declare void @slascl_(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 @sgsvj0_(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 @sgsvj1_(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 i32 @isamax_(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

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

declare float @sdot_(ptr noundef, 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 @srotm_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare void @saxpy_(ptr noundef, ptr noundef, 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

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

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

declare float @sqrtf(float) local_unnamed_addr

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

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare double @llvm.sqrt.f64(double) #5

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

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

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

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

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

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

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


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