; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (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 i64, align 8
@c__0 = external hidden global i64, align 8
@c__2 = external hidden global i64, align 8

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

137:                                              ; preds = %14
  %138 = load i64, ptr %82, align 8, !tbaa !9
  %139 = icmp ne i64 %138, 0
  br i1 %139, label %146, label %140

140:                                              ; preds = %137
  %141 = load ptr, ptr %16, align 8, !tbaa !5
  %142 = call i64 @lsame_(ptr noundef %141, ptr noundef @.str.5)
  %143 = icmp ne i64 %142, 0
  br i1 %143, label %146, label %144

144:                                              ; preds = %140
  %145 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -1, ptr %145, align 8, !tbaa !9
  br label %261

146:                                              ; preds = %140, %137, %14
  %147 = load i64, ptr %77, align 8, !tbaa !9
  %148 = icmp ne i64 %147, 0
  br i1 %148, label %158, label %149

149:                                              ; preds = %146
  %150 = load i64, ptr %81, align 8, !tbaa !9
  %151 = icmp ne i64 %150, 0
  br i1 %151, label %158, label %152

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

156:                                              ; preds = %152
  %157 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -2, ptr %157, align 8, !tbaa !9
  br label %260

158:                                              ; preds = %152, %149, %146
  %159 = load i64, ptr %80, align 8, !tbaa !9
  %160 = icmp ne i64 %159, 0
  br i1 %160, label %170, label %161

161:                                              ; preds = %158
  %162 = load i64, ptr %79, align 8, !tbaa !9
  %163 = icmp ne i64 %162, 0
  br i1 %163, label %170, label %164

164:                                              ; preds = %161
  %165 = load ptr, ptr %18, align 8, !tbaa !5
  %166 = call i64 @lsame_(ptr noundef %165, ptr noundef @.str.6)
  %167 = icmp ne i64 %166, 0
  br i1 %167, label %170, label %168

168:                                              ; preds = %164
  %169 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -3, ptr %169, align 8, !tbaa !9
  br label %259

170:                                              ; preds = %164, %161, %158
  %171 = load ptr, ptr %19, align 8, !tbaa !5
  %172 = load i64, ptr %171, align 8, !tbaa !9
  %173 = icmp slt i64 %172, 0
  br i1 %173, label %174, label %176

174:                                              ; preds = %170
  %175 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -4, ptr %175, align 8, !tbaa !9
  br label %258

176:                                              ; preds = %170
  %177 = load ptr, ptr %20, align 8, !tbaa !5
  %178 = load i64, ptr %177, align 8, !tbaa !9
  %179 = icmp slt i64 %178, 0
  br i1 %179, label %186, label %180

180:                                              ; preds = %176
  %181 = load ptr, ptr %20, align 8, !tbaa !5
  %182 = load i64, ptr %181, align 8, !tbaa !9
  %183 = load ptr, ptr %19, align 8, !tbaa !5
  %184 = load i64, ptr %183, align 8, !tbaa !9
  %185 = icmp sgt i64 %182, %184
  br i1 %185, label %186, label %188

186:                                              ; preds = %180, %176
  %187 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -5, ptr %187, align 8, !tbaa !9
  br label %257

188:                                              ; preds = %180
  %189 = load ptr, ptr %22, align 8, !tbaa !5
  %190 = load i64, ptr %189, align 8, !tbaa !9
  %191 = load ptr, ptr %19, align 8, !tbaa !5
  %192 = load i64, ptr %191, align 8, !tbaa !9
  %193 = icmp slt i64 %190, %192
  br i1 %193, label %194, label %196

194:                                              ; preds = %188
  %195 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -7, ptr %195, align 8, !tbaa !9
  br label %256

196:                                              ; preds = %188
  %197 = load ptr, ptr %24, align 8, !tbaa !5
  %198 = load i64, ptr %197, align 8, !tbaa !9
  %199 = icmp slt i64 %198, 0
  br i1 %199, label %200, label %202

200:                                              ; preds = %196
  %201 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -9, ptr %201, align 8, !tbaa !9
  br label %255

202:                                              ; preds = %196
  %203 = load i64, ptr %80, align 8, !tbaa !9
  %204 = icmp ne i64 %203, 0
  br i1 %204, label %205, label %211

205:                                              ; preds = %202
  %206 = load ptr, ptr %26, align 8, !tbaa !5
  %207 = load i64, ptr %206, align 8, !tbaa !9
  %208 = load ptr, ptr %20, align 8, !tbaa !5
  %209 = load i64, ptr %208, align 8, !tbaa !9
  %210 = icmp slt i64 %207, %209
  br i1 %210, label %220, label %211

211:                                              ; preds = %205, %202
  %212 = load i64, ptr %79, align 8, !tbaa !9
  %213 = icmp ne i64 %212, 0
  br i1 %213, label %214, label %222

214:                                              ; preds = %211
  %215 = load ptr, ptr %26, align 8, !tbaa !5
  %216 = load i64, ptr %215, align 8, !tbaa !9
  %217 = load ptr, ptr %24, align 8, !tbaa !5
  %218 = load i64, ptr %217, align 8, !tbaa !9
  %219 = icmp slt i64 %216, %218
  br i1 %219, label %220, label %222

220:                                              ; preds = %214, %205
  %221 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -11, ptr %221, align 8, !tbaa !9
  br label %254

222:                                              ; preds = %214, %211
  %223 = load i64, ptr %81, align 8, !tbaa !9
  %224 = icmp ne i64 %223, 0
  br i1 %224, label %225, label %232

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

230:                                              ; preds = %225
  %231 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -12, ptr %231, align 8, !tbaa !9
  br label %253

232:                                              ; preds = %225, %222
  %233 = load ptr, ptr %19, align 8, !tbaa !5
  %234 = load i64, ptr %233, align 8, !tbaa !9
  %235 = load ptr, ptr %20, align 8, !tbaa !5
  %236 = load i64, ptr %235, align 8, !tbaa !9
  %237 = add nsw i64 %234, %236
  store i64 %237, ptr %34, align 8, !tbaa !9
  %238 = load ptr, ptr %28, align 8, !tbaa !5
  %239 = load i64, ptr %238, align 8, !tbaa !9
  %240 = load i64, ptr %34, align 8, !tbaa !9
  %241 = icmp sge i64 %240, 6
  br i1 %241, label %242, label %244

242:                                              ; preds = %232
  %243 = load i64, ptr %34, align 8, !tbaa !9
  br label %245

244:                                              ; preds = %232
  br label %245

245:                                              ; preds = %244, %242
  %246 = phi i64 [ %243, %242 ], [ 6, %244 ]
  %247 = icmp slt i64 %239, %246
  br i1 %247, label %248, label %250

248:                                              ; preds = %245
  %249 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -13, ptr %249, align 8, !tbaa !9
  br label %252

250:                                              ; preds = %245
  %251 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 0, ptr %251, align 8, !tbaa !9
  br label %252

252:                                              ; preds = %250, %248
  br label %253

253:                                              ; preds = %252, %230
  br label %254

254:                                              ; preds = %253, %220
  br label %255

255:                                              ; preds = %254, %200
  br label %256

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

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

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

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

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

261:                                              ; preds = %260, %144
  %262 = load ptr, ptr %29, align 8, !tbaa !5
  %263 = load i64, ptr %262, align 8, !tbaa !9
  %264 = icmp ne i64 %263, 0
  br i1 %264, label %265, label %270

265:                                              ; preds = %261
  %266 = load ptr, ptr %29, align 8, !tbaa !5
  %267 = load i64, ptr %266, align 8, !tbaa !9
  %268 = sub nsw i64 0, %267
  store i64 %268, ptr %34, align 8, !tbaa !9
  %269 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %34)
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

270:                                              ; preds = %261
  %271 = load ptr, ptr %19, align 8, !tbaa !5
  %272 = load i64, ptr %271, align 8, !tbaa !9
  %273 = icmp eq i64 %272, 0
  br i1 %273, label %278, label %274

274:                                              ; preds = %270
  %275 = load ptr, ptr %20, align 8, !tbaa !5
  %276 = load i64, ptr %275, align 8, !tbaa !9
  %277 = icmp eq i64 %276, 0
  br i1 %277, label %278, label %279

278:                                              ; preds = %274, %270
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

279:                                              ; preds = %274
  %280 = load i64, ptr %81, align 8, !tbaa !9
  %281 = icmp ne i64 %280, 0
  br i1 %281, label %282, label %286

282:                                              ; preds = %279
  %283 = load ptr, ptr %27, align 8, !tbaa !5
  %284 = getelementptr inbounds float, ptr %283, i64 1
  %285 = load float, ptr %284, align 4, !tbaa !11
  store float %285, ptr %66, align 4, !tbaa !11
  br label %307

286:                                              ; preds = %279
  %287 = load i64, ptr %77, align 8, !tbaa !9
  %288 = icmp ne i64 %287, 0
  br i1 %288, label %295, label %289

289:                                              ; preds = %286
  %290 = load i64, ptr %80, align 8, !tbaa !9
  %291 = icmp ne i64 %290, 0
  br i1 %291, label %295, label %292

292:                                              ; preds = %289
  %293 = load i64, ptr %79, align 8, !tbaa !9
  %294 = icmp ne i64 %293, 0
  br i1 %294, label %295, label %302

295:                                              ; preds = %292, %289, %286
  %296 = load ptr, ptr %19, align 8, !tbaa !5
  %297 = load i64, ptr %296, align 8, !tbaa !9
  %298 = sitofp i64 %297 to float
  %299 = fpext float %298 to double
  %300 = call double @sqrt(double noundef %299) #5
  %301 = fptrunc double %300 to float
  store float %301, ptr %66, align 4, !tbaa !11
  br label %306

302:                                              ; preds = %292
  %303 = load ptr, ptr %19, align 8, !tbaa !5
  %304 = load i64, ptr %303, align 8, !tbaa !9
  %305 = sitofp i64 %304 to float
  store float %305, ptr %66, align 4, !tbaa !11
  br label %306

306:                                              ; preds = %302, %295
  br label %307

307:                                              ; preds = %306, %282
  %308 = call double @slamch_(ptr noundef @.str.8)
  %309 = fptrunc double %308 to float
  store float %309, ptr %98, align 4, !tbaa !11
  %310 = load float, ptr %98, align 4, !tbaa !11
  %311 = fpext float %310 to double
  %312 = call double @sqrt(double noundef %311) #5
  %313 = fptrunc double %312 to float
  store float %313, ptr %99, align 4, !tbaa !11
  %314 = call double @slamch_(ptr noundef @.str.9)
  %315 = fptrunc double %314 to float
  store float %315, ptr %76, align 4, !tbaa !11
  %316 = load float, ptr %76, align 4, !tbaa !11
  %317 = fpext float %316 to double
  %318 = call double @sqrt(double noundef %317) #5
  %319 = fptrunc double %318 to float
  store float %319, ptr %49, align 4, !tbaa !11
  %320 = load float, ptr %76, align 4, !tbaa !11
  %321 = load float, ptr %98, align 4, !tbaa !11
  %322 = fdiv float %320, %321
  store float %322, ptr %75, align 4, !tbaa !11
  %323 = call double @slamch_(ptr noundef @.str.10)
  %324 = fptrunc double %323 to float
  store float %324, ptr %55, align 4, !tbaa !11
  %325 = load float, ptr %49, align 4, !tbaa !11
  %326 = fdiv float 1.000000e+00, %325
  store float %326, ptr %97, align 4, !tbaa !11
  %327 = load float, ptr %55, align 4, !tbaa !11
  %328 = fpext float %327 to double
  %329 = load ptr, ptr %19, align 8, !tbaa !5
  %330 = load i64, ptr %329, align 8, !tbaa !9
  %331 = load ptr, ptr %20, align 8, !tbaa !5
  %332 = load i64, ptr %331, align 8, !tbaa !9
  %333 = mul nsw i64 %330, %332
  %334 = sitofp i64 %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 %71, align 4, !tbaa !11
  %339 = load float, ptr %99, align 4, !tbaa !11
  %340 = fdiv float 1.000000e+00, %339
  store float %340, ptr %41, align 4, !tbaa !11
  %341 = load float, ptr %66, align 4, !tbaa !11
  %342 = load float, ptr %98, align 4, !tbaa !11
  %343 = fmul float %341, %342
  store float %343, ptr %61, align 4, !tbaa !11
  %344 = load float, ptr %61, 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 %101, align 4, !tbaa !11
  %348 = load ptr, ptr %19, align 8, !tbaa !5
  %349 = load i64, ptr %348, align 8, !tbaa !9
  %350 = sitofp i64 %349 to float
  %351 = load float, ptr %98, 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 = %307
  %355 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -5, ptr %355, align 8, !tbaa !9
  %356 = load ptr, ptr %29, align 8, !tbaa !5
  %357 = load i64, ptr %356, align 8, !tbaa !9
  %358 = sub nsw i64 0, %357
  store i64 %358, ptr %34, align 8, !tbaa !9
  %359 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %34)
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

360:                                              ; preds = %307
  %361 = load i64, ptr %80, align 8, !tbaa !9
  %362 = icmp ne i64 %361, 0
  br i1 %362, label %363, label %372

363:                                              ; preds = %360
  %364 = load ptr, ptr %20, align 8, !tbaa !5
  %365 = load i64, ptr %364, align 8, !tbaa !9
  store i64 %365, ptr %62, align 8, !tbaa !9
  %366 = load ptr, ptr %20, align 8, !tbaa !5
  %367 = load ptr, ptr %25, align 8, !tbaa !5
  %368 = load i64, ptr %33, align 8, !tbaa !9
  %369 = getelementptr inbounds float, ptr %367, i64 %368
  %370 = load ptr, ptr %26, align 8, !tbaa !5
  %371 = call i32 @slaset_(ptr noundef @.str.3, ptr noundef %62, ptr noundef %366, ptr noundef @c_b17, ptr noundef @c_b18, ptr noundef %369, ptr noundef %370)
  br label %379

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

375:                                              ; preds = %372
  %376 = load ptr, ptr %24, align 8, !tbaa !5
  %377 = load i64, ptr %376, align 8, !tbaa !9
  store i64 %377, ptr %62, align 8, !tbaa !9
  br label %378

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

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

382:                                              ; preds = %379
  %383 = load i64, ptr %79, align 8, !tbaa !9
  %384 = icmp ne i64 %383, 0
  br label %385

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

402:                                              ; preds = %385
  %403 = load ptr, ptr %20, align 8, !tbaa !5
  %404 = load i64, ptr %403, align 8, !tbaa !9
  store i64 %404, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %405

405:                                              ; preds = %483, %402
  %406 = load i64, ptr %44, align 8, !tbaa !9
  %407 = load i64, ptr %34, align 8, !tbaa !9
  %408 = icmp sle i64 %406, %407
  br i1 %408, label %409, label %486

409:                                              ; preds = %405
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  store float 0.000000e+00, ptr %65, align 4, !tbaa !11
  %410 = load ptr, ptr %19, align 8, !tbaa !5
  %411 = load i64, ptr %410, align 8, !tbaa !9
  %412 = load i64, ptr %44, align 8, !tbaa !9
  %413 = sub nsw i64 %411, %412
  %414 = add nsw i64 %413, 1
  store i64 %414, ptr %35, align 8, !tbaa !9
  %415 = load ptr, ptr %21, align 8, !tbaa !5
  %416 = load i64, ptr %44, align 8, !tbaa !9
  %417 = load i64, ptr %44, align 8, !tbaa !9
  %418 = load i64, ptr %30, align 8, !tbaa !9
  %419 = mul nsw i64 %417, %418
  %420 = add nsw i64 %416, %419
  %421 = getelementptr inbounds float, ptr %415, i64 %420
  %422 = call i32 @slassq_(ptr noundef %35, ptr noundef %421, ptr noundef @c__1, ptr noundef %63, ptr noundef %65)
  %423 = load float, ptr %63, align 4, !tbaa !11
  %424 = load float, ptr %55, align 4, !tbaa !11
  %425 = fcmp ogt float %423, %424
  br i1 %425, label %426, label %432

426:                                              ; preds = %409
  %427 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -6, ptr %427, align 8, !tbaa !9
  %428 = load ptr, ptr %29, align 8, !tbaa !5
  %429 = load i64, ptr %428, align 8, !tbaa !9
  %430 = sub nsw i64 0, %429
  store i64 %430, ptr %35, align 8, !tbaa !9
  %431 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %35)
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

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

442:                                              ; preds = %432
  %443 = load i64, ptr %96, align 8, !tbaa !9
  %444 = icmp ne i64 %443, 0
  br i1 %444, label %445, label %452

445:                                              ; preds = %442
  %446 = load float, ptr %63, align 4, !tbaa !11
  %447 = load float, ptr %65, align 4, !tbaa !11
  %448 = fmul float %446, %447
  %449 = load ptr, ptr %23, align 8, !tbaa !5
  %450 = load i64, ptr %44, align 8, !tbaa !9
  %451 = getelementptr inbounds float, ptr %449, i64 %450
  store float %448, ptr %451, align 4, !tbaa !11
  br label %482

452:                                              ; preds = %442, %432
  store i64 0, ptr %96, align 8, !tbaa !9
  %453 = load float, ptr %63, align 4, !tbaa !11
  %454 = load float, ptr %65, align 4, !tbaa !11
  %455 = load float, ptr %70, align 4, !tbaa !11
  %456 = fmul float %454, %455
  %457 = fmul float %453, %456
  %458 = load ptr, ptr %23, align 8, !tbaa !5
  %459 = load i64, ptr %44, align 8, !tbaa !9
  %460 = getelementptr inbounds float, ptr %458, i64 %459
  store float %457, ptr %460, align 4, !tbaa !11
  %461 = load i64, ptr %95, align 8, !tbaa !9
  %462 = icmp ne i64 %461, 0
  br i1 %462, label %463, label %481

463:                                              ; preds = %452
  store i64 0, ptr %95, align 8, !tbaa !9
  %464 = load i64, ptr %44, align 8, !tbaa !9
  %465 = sub nsw i64 %464, 1
  store i64 %465, ptr %35, align 8, !tbaa !9
  store i64 1, ptr %45, align 8, !tbaa !9
  br label %466

466:                                              ; preds = %477, %463
  %467 = load i64, ptr %45, align 8, !tbaa !9
  %468 = load i64, ptr %35, align 8, !tbaa !9
  %469 = icmp sle i64 %467, %468
  br i1 %469, label %470, label %480

470:                                              ; preds = %466
  %471 = load float, ptr %70, align 4, !tbaa !11
  %472 = load ptr, ptr %23, align 8, !tbaa !5
  %473 = load i64, ptr %45, align 8, !tbaa !9
  %474 = getelementptr inbounds float, ptr %472, i64 %473
  %475 = load float, ptr %474, align 4, !tbaa !11
  %476 = fmul float %475, %471
  store float %476, ptr %474, align 4, !tbaa !11
  br label %477

477:                                              ; preds = %470
  %478 = load i64, ptr %45, align 8, !tbaa !9
  %479 = add nsw i64 %478, 1
  store i64 %479, ptr %45, align 8, !tbaa !9
  br label %466, !llvm.loop !13

480:                                              ; preds = %466
  br label %481

481:                                              ; preds = %480, %452
  br label %482

482:                                              ; preds = %481, %445
  br label %483

483:                                              ; preds = %482
  %484 = load i64, ptr %44, align 8, !tbaa !9
  %485 = add nsw i64 %484, 1
  store i64 %485, ptr %44, align 8, !tbaa !9
  br label %405, !llvm.loop !15

486:                                              ; preds = %405
  br label %650

487:                                              ; preds = %385
  %488 = load i64, ptr %83, align 8, !tbaa !9
  %489 = icmp ne i64 %488, 0
  br i1 %489, label %490, label %569

490:                                              ; preds = %487
  %491 = load ptr, ptr %20, align 8, !tbaa !5
  %492 = load i64, ptr %491, align 8, !tbaa !9
  store i64 %492, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %493

493:                                              ; preds = %565, %490
  %494 = load i64, ptr %44, align 8, !tbaa !9
  %495 = load i64, ptr %34, align 8, !tbaa !9
  %496 = icmp sle i64 %494, %495
  br i1 %496, label %497, label %568

497:                                              ; preds = %493
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  store float 0.000000e+00, ptr %65, align 4, !tbaa !11
  %498 = load ptr, ptr %21, align 8, !tbaa !5
  %499 = load i64, ptr %44, align 8, !tbaa !9
  %500 = load i64, ptr %30, align 8, !tbaa !9
  %501 = mul nsw i64 %499, %500
  %502 = add nsw i64 %501, 1
  %503 = getelementptr inbounds float, ptr %498, i64 %502
  %504 = call i32 @slassq_(ptr noundef %44, ptr noundef %503, ptr noundef @c__1, ptr noundef %63, ptr noundef %65)
  %505 = load float, ptr %63, align 4, !tbaa !11
  %506 = load float, ptr %55, align 4, !tbaa !11
  %507 = fcmp ogt float %505, %506
  br i1 %507, label %508, label %514

508:                                              ; preds = %497
  %509 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -6, ptr %509, align 8, !tbaa !9
  %510 = load ptr, ptr %29, align 8, !tbaa !5
  %511 = load i64, ptr %510, align 8, !tbaa !9
  %512 = sub nsw i64 0, %511
  store i64 %512, ptr %35, align 8, !tbaa !9
  %513 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %35)
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

514:                                              ; preds = %497
  %515 = load float, ptr %65, align 4, !tbaa !11
  %516 = fpext float %515 to double
  %517 = call double @sqrt(double noundef %516) #5
  %518 = fptrunc double %517 to float
  store float %518, ptr %65, align 4, !tbaa !11
  %519 = load float, ptr %63, align 4, !tbaa !11
  %520 = load float, ptr %55, align 4, !tbaa !11
  %521 = load float, ptr %65, align 4, !tbaa !11
  %522 = fdiv float %520, %521
  %523 = fcmp olt float %519, %522
  br i1 %523, label %524, label %534

524:                                              ; preds = %514
  %525 = load i64, ptr %96, align 8, !tbaa !9
  %526 = icmp ne i64 %525, 0
  br i1 %526, label %527, label %534

527:                                              ; preds = %524
  %528 = load float, ptr %63, align 4, !tbaa !11
  %529 = load float, ptr %65, align 4, !tbaa !11
  %530 = fmul float %528, %529
  %531 = load ptr, ptr %23, align 8, !tbaa !5
  %532 = load i64, ptr %44, align 8, !tbaa !9
  %533 = getelementptr inbounds float, ptr %531, i64 %532
  store float %530, ptr %533, align 4, !tbaa !11
  br label %564

534:                                              ; preds = %524, %514
  store i64 0, ptr %96, align 8, !tbaa !9
  %535 = load float, ptr %63, align 4, !tbaa !11
  %536 = load float, ptr %65, align 4, !tbaa !11
  %537 = load float, ptr %70, align 4, !tbaa !11
  %538 = fmul float %536, %537
  %539 = fmul float %535, %538
  %540 = load ptr, ptr %23, align 8, !tbaa !5
  %541 = load i64, ptr %44, align 8, !tbaa !9
  %542 = getelementptr inbounds float, ptr %540, i64 %541
  store float %539, ptr %542, align 4, !tbaa !11
  %543 = load i64, ptr %95, align 8, !tbaa !9
  %544 = icmp ne i64 %543, 0
  br i1 %544, label %545, label %563

545:                                              ; preds = %534
  store i64 0, ptr %95, align 8, !tbaa !9
  %546 = load i64, ptr %44, align 8, !tbaa !9
  %547 = sub nsw i64 %546, 1
  store i64 %547, ptr %35, align 8, !tbaa !9
  store i64 1, ptr %45, align 8, !tbaa !9
  br label %548

548:                                              ; preds = %559, %545
  %549 = load i64, ptr %45, align 8, !tbaa !9
  %550 = load i64, ptr %35, align 8, !tbaa !9
  %551 = icmp sle i64 %549, %550
  br i1 %551, label %552, label %562

552:                                              ; preds = %548
  %553 = load float, ptr %70, align 4, !tbaa !11
  %554 = load ptr, ptr %23, align 8, !tbaa !5
  %555 = load i64, ptr %45, align 8, !tbaa !9
  %556 = getelementptr inbounds float, ptr %554, i64 %555
  %557 = load float, ptr %556, align 4, !tbaa !11
  %558 = fmul float %557, %553
  store float %558, ptr %556, align 4, !tbaa !11
  br label %559

559:                                              ; preds = %552
  %560 = load i64, ptr %45, align 8, !tbaa !9
  %561 = add nsw i64 %560, 1
  store i64 %561, ptr %45, align 8, !tbaa !9
  br label %548, !llvm.loop !16

562:                                              ; preds = %548
  br label %563

563:                                              ; preds = %562, %534
  br label %564

564:                                              ; preds = %563, %527
  br label %565

565:                                              ; preds = %564
  %566 = load i64, ptr %44, align 8, !tbaa !9
  %567 = add nsw i64 %566, 1
  store i64 %567, ptr %44, align 8, !tbaa !9
  br label %493, !llvm.loop !17

568:                                              ; preds = %493
  br label %649

569:                                              ; preds = %487
  %570 = load ptr, ptr %20, align 8, !tbaa !5
  %571 = load i64, ptr %570, align 8, !tbaa !9
  store i64 %571, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %572

572:                                              ; preds = %645, %569
  %573 = load i64, ptr %44, align 8, !tbaa !9
  %574 = load i64, ptr %34, align 8, !tbaa !9
  %575 = icmp sle i64 %573, %574
  br i1 %575, label %576, label %648

576:                                              ; preds = %572
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  store float 0.000000e+00, ptr %65, align 4, !tbaa !11
  %577 = load ptr, ptr %19, align 8, !tbaa !5
  %578 = load ptr, ptr %21, align 8, !tbaa !5
  %579 = load i64, ptr %44, align 8, !tbaa !9
  %580 = load i64, ptr %30, align 8, !tbaa !9
  %581 = mul nsw i64 %579, %580
  %582 = add nsw i64 %581, 1
  %583 = getelementptr inbounds float, ptr %578, i64 %582
  %584 = call i32 @slassq_(ptr noundef %577, ptr noundef %583, ptr noundef @c__1, ptr noundef %63, ptr noundef %65)
  %585 = load float, ptr %63, align 4, !tbaa !11
  %586 = load float, ptr %55, align 4, !tbaa !11
  %587 = fcmp ogt float %585, %586
  br i1 %587, label %588, label %594

588:                                              ; preds = %576
  %589 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 -6, ptr %589, align 8, !tbaa !9
  %590 = load ptr, ptr %29, align 8, !tbaa !5
  %591 = load i64, ptr %590, align 8, !tbaa !9
  %592 = sub nsw i64 0, %591
  store i64 %592, ptr %35, align 8, !tbaa !9
  %593 = call i32 @xerbla_(ptr noundef @.str.7, ptr noundef %35)
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

594:                                              ; preds = %576
  %595 = load float, ptr %65, align 4, !tbaa !11
  %596 = fpext float %595 to double
  %597 = call double @sqrt(double noundef %596) #5
  %598 = fptrunc double %597 to float
  store float %598, ptr %65, align 4, !tbaa !11
  %599 = load float, ptr %63, align 4, !tbaa !11
  %600 = load float, ptr %55, align 4, !tbaa !11
  %601 = load float, ptr %65, align 4, !tbaa !11
  %602 = fdiv float %600, %601
  %603 = fcmp olt float %599, %602
  br i1 %603, label %604, label %614

604:                                              ; preds = %594
  %605 = load i64, ptr %96, align 8, !tbaa !9
  %606 = icmp ne i64 %605, 0
  br i1 %606, label %607, label %614

607:                                              ; preds = %604
  %608 = load float, ptr %63, align 4, !tbaa !11
  %609 = load float, ptr %65, align 4, !tbaa !11
  %610 = fmul float %608, %609
  %611 = load ptr, ptr %23, align 8, !tbaa !5
  %612 = load i64, ptr %44, align 8, !tbaa !9
  %613 = getelementptr inbounds float, ptr %611, i64 %612
  store float %610, ptr %613, align 4, !tbaa !11
  br label %644

614:                                              ; preds = %604, %594
  store i64 0, ptr %96, align 8, !tbaa !9
  %615 = load float, ptr %63, align 4, !tbaa !11
  %616 = load float, ptr %65, align 4, !tbaa !11
  %617 = load float, ptr %70, align 4, !tbaa !11
  %618 = fmul float %616, %617
  %619 = fmul float %615, %618
  %620 = load ptr, ptr %23, align 8, !tbaa !5
  %621 = load i64, ptr %44, align 8, !tbaa !9
  %622 = getelementptr inbounds float, ptr %620, i64 %621
  store float %619, ptr %622, align 4, !tbaa !11
  %623 = load i64, ptr %95, align 8, !tbaa !9
  %624 = icmp ne i64 %623, 0
  br i1 %624, label %625, label %643

625:                                              ; preds = %614
  store i64 0, ptr %95, align 8, !tbaa !9
  %626 = load i64, ptr %44, align 8, !tbaa !9
  %627 = sub nsw i64 %626, 1
  store i64 %627, ptr %35, align 8, !tbaa !9
  store i64 1, ptr %45, align 8, !tbaa !9
  br label %628

628:                                              ; preds = %639, %625
  %629 = load i64, ptr %45, align 8, !tbaa !9
  %630 = load i64, ptr %35, align 8, !tbaa !9
  %631 = icmp sle i64 %629, %630
  br i1 %631, label %632, label %642

632:                                              ; preds = %628
  %633 = load float, ptr %70, align 4, !tbaa !11
  %634 = load ptr, ptr %23, align 8, !tbaa !5
  %635 = load i64, ptr %45, align 8, !tbaa !9
  %636 = getelementptr inbounds float, ptr %634, i64 %635
  %637 = load float, ptr %636, align 4, !tbaa !11
  %638 = fmul float %637, %633
  store float %638, ptr %636, align 4, !tbaa !11
  br label %639

639:                                              ; preds = %632
  %640 = load i64, ptr %45, align 8, !tbaa !9
  %641 = add nsw i64 %640, 1
  store i64 %641, ptr %45, align 8, !tbaa !9
  br label %628, !llvm.loop !18

642:                                              ; preds = %628
  br label %643

643:                                              ; preds = %642, %614
  br label %644

644:                                              ; preds = %643, %607
  br label %645

645:                                              ; preds = %644
  %646 = load i64, ptr %44, align 8, !tbaa !9
  %647 = add nsw i64 %646, 1
  store i64 %647, ptr %44, align 8, !tbaa !9
  br label %572, !llvm.loop !19

648:                                              ; preds = %572
  br label %649

649:                                              ; preds = %648, %568
  br label %650

650:                                              ; preds = %649, %486
  %651 = load i64, ptr %96, align 8, !tbaa !9
  %652 = icmp ne i64 %651, 0
  br i1 %652, label %653, label %654

653:                                              ; preds = %650
  store float 1.000000e+00, ptr %70, align 4, !tbaa !11
  br label %654

654:                                              ; preds = %653, %650
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %655 = load float, ptr %55, align 4, !tbaa !11
  store float %655, ptr %65, align 4, !tbaa !11
  %656 = load ptr, ptr %20, align 8, !tbaa !5
  %657 = load i64, ptr %656, align 8, !tbaa !9
  store i64 %657, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %658

658:                                              ; preds = %702, %654
  %659 = load i64, ptr %44, align 8, !tbaa !9
  %660 = load i64, ptr %34, align 8, !tbaa !9
  %661 = icmp sle i64 %659, %660
  br i1 %661, label %662, label %705

662:                                              ; preds = %658
  %663 = load ptr, ptr %23, align 8, !tbaa !5
  %664 = load i64, ptr %44, align 8, !tbaa !9
  %665 = getelementptr inbounds float, ptr %663, i64 %664
  %666 = load float, ptr %665, align 4, !tbaa !11
  %667 = fcmp une float %666, 0.000000e+00
  br i1 %667, label %668, label %685

668:                                              ; preds = %662
  %669 = load float, ptr %65, align 4, !tbaa !11
  store float %669, ptr %39, align 4, !tbaa !11
  %670 = load ptr, ptr %23, align 8, !tbaa !5
  %671 = load i64, ptr %44, align 8, !tbaa !9
  %672 = getelementptr inbounds float, ptr %670, i64 %671
  %673 = load float, ptr %672, align 4, !tbaa !11
  store float %673, ptr %40, align 4, !tbaa !11
  %674 = load float, ptr %39, align 4, !tbaa !11
  %675 = load float, ptr %40, align 4, !tbaa !11
  %676 = fcmp ole float %674, %675
  br i1 %676, label %677, label %679

677:                                              ; preds = %668
  %678 = load float, ptr %39, align 4, !tbaa !11
  br label %681

679:                                              ; preds = %668
  %680 = load float, ptr %40, align 4, !tbaa !11
  br label %681

681:                                              ; preds = %679, %677
  %682 = phi float [ %678, %677 ], [ %680, %679 ]
  %683 = fpext float %682 to double
  %684 = fptrunc double %683 to float
  store float %684, ptr %65, align 4, !tbaa !11
  br label %685

685:                                              ; preds = %681, %662
  %686 = load float, ptr %63, align 4, !tbaa !11
  store float %686, ptr %39, align 4, !tbaa !11
  %687 = load ptr, ptr %23, align 8, !tbaa !5
  %688 = load i64, ptr %44, align 8, !tbaa !9
  %689 = getelementptr inbounds float, ptr %687, i64 %688
  %690 = load float, ptr %689, align 4, !tbaa !11
  store float %690, ptr %40, align 4, !tbaa !11
  %691 = load float, ptr %39, align 4, !tbaa !11
  %692 = load float, ptr %40, align 4, !tbaa !11
  %693 = fcmp oge float %691, %692
  br i1 %693, label %694, label %696

694:                                              ; preds = %685
  %695 = load float, ptr %39, align 4, !tbaa !11
  br label %698

696:                                              ; preds = %685
  %697 = load float, ptr %40, align 4, !tbaa !11
  br label %698

698:                                              ; preds = %696, %694
  %699 = phi float [ %695, %694 ], [ %697, %696 ]
  %700 = fpext float %699 to double
  %701 = fptrunc double %700 to float
  store float %701, ptr %63, align 4, !tbaa !11
  br label %702

702:                                              ; preds = %698
  %703 = load i64, ptr %44, align 8, !tbaa !9
  %704 = add nsw i64 %703, 1
  store i64 %704, ptr %44, align 8, !tbaa !9
  br label %658, !llvm.loop !20

705:                                              ; preds = %658
  %706 = load float, ptr %63, align 4, !tbaa !11
  %707 = fcmp oeq float %706, 0.000000e+00
  br i1 %707, label %708, label %732

708:                                              ; preds = %705
  %709 = load i64, ptr %77, align 8, !tbaa !9
  %710 = icmp ne i64 %709, 0
  br i1 %710, label %711, label %719

711:                                              ; preds = %708
  %712 = load ptr, ptr %19, align 8, !tbaa !5
  %713 = load ptr, ptr %20, align 8, !tbaa !5
  %714 = load ptr, ptr %21, align 8, !tbaa !5
  %715 = load i64, ptr %31, align 8, !tbaa !9
  %716 = getelementptr inbounds float, ptr %714, i64 %715
  %717 = load ptr, ptr %22, align 8, !tbaa !5
  %718 = call i32 @slaset_(ptr noundef @.str.5, ptr noundef %712, ptr noundef %713, ptr noundef @c_b17, ptr noundef @c_b18, ptr noundef %716, ptr noundef %717)
  br label %719

719:                                              ; preds = %711, %708
  %720 = load ptr, ptr %27, align 8, !tbaa !5
  %721 = getelementptr inbounds float, ptr %720, i64 1
  store float 1.000000e+00, ptr %721, align 4, !tbaa !11
  %722 = load ptr, ptr %27, align 8, !tbaa !5
  %723 = getelementptr inbounds float, ptr %722, i64 2
  store float 0.000000e+00, ptr %723, align 4, !tbaa !11
  %724 = load ptr, ptr %27, align 8, !tbaa !5
  %725 = getelementptr inbounds float, ptr %724, i64 3
  store float 0.000000e+00, ptr %725, align 4, !tbaa !11
  %726 = load ptr, ptr %27, align 8, !tbaa !5
  %727 = getelementptr inbounds float, ptr %726, i64 4
  store float 0.000000e+00, ptr %727, align 4, !tbaa !11
  %728 = load ptr, ptr %27, align 8, !tbaa !5
  %729 = getelementptr inbounds float, ptr %728, i64 5
  store float 0.000000e+00, ptr %729, align 4, !tbaa !11
  %730 = load ptr, ptr %27, align 8, !tbaa !5
  %731 = getelementptr inbounds float, ptr %730, i64 6
  store float 0.000000e+00, ptr %731, align 4, !tbaa !11
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

732:                                              ; preds = %705
  %733 = load ptr, ptr %20, align 8, !tbaa !5
  %734 = load i64, ptr %733, align 8, !tbaa !9
  %735 = icmp eq i64 %734, 1
  br i1 %735, label %736, label %774

736:                                              ; preds = %732
  %737 = load i64, ptr %77, align 8, !tbaa !9
  %738 = icmp ne i64 %737, 0
  br i1 %738, label %739, label %749

739:                                              ; preds = %736
  %740 = load ptr, ptr %23, align 8, !tbaa !5
  %741 = getelementptr inbounds float, ptr %740, i64 1
  %742 = load ptr, ptr %19, align 8, !tbaa !5
  %743 = load ptr, ptr %21, align 8, !tbaa !5
  %744 = load i64, ptr %30, align 8, !tbaa !9
  %745 = add nsw i64 %744, 1
  %746 = getelementptr inbounds float, ptr %743, i64 %745
  %747 = load ptr, ptr %22, align 8, !tbaa !5
  %748 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %741, ptr noundef %70, ptr noundef %742, ptr noundef @c__1, ptr noundef %746, ptr noundef %747, ptr noundef %67)
  br label %749

749:                                              ; preds = %739, %736
  %750 = load float, ptr %70, align 4, !tbaa !11
  %751 = fdiv float 1.000000e+00, %750
  %752 = load ptr, ptr %27, align 8, !tbaa !5
  %753 = getelementptr inbounds float, ptr %752, i64 1
  store float %751, ptr %753, align 4, !tbaa !11
  %754 = load ptr, ptr %23, align 8, !tbaa !5
  %755 = getelementptr inbounds float, ptr %754, i64 1
  %756 = load float, ptr %755, align 4, !tbaa !11
  %757 = load float, ptr %76, align 4, !tbaa !11
  %758 = fcmp oge float %756, %757
  br i1 %758, label %759, label %762

759:                                              ; preds = %749
  %760 = load ptr, ptr %27, align 8, !tbaa !5
  %761 = getelementptr inbounds float, ptr %760, i64 2
  store float 1.000000e+00, ptr %761, align 4, !tbaa !11
  br label %765

762:                                              ; preds = %749
  %763 = load ptr, ptr %27, align 8, !tbaa !5
  %764 = getelementptr inbounds float, ptr %763, i64 2
  store float 0.000000e+00, ptr %764, align 4, !tbaa !11
  br label %765

765:                                              ; preds = %762, %759
  %766 = load ptr, ptr %27, align 8, !tbaa !5
  %767 = getelementptr inbounds float, ptr %766, i64 3
  store float 0.000000e+00, ptr %767, align 4, !tbaa !11
  %768 = load ptr, ptr %27, align 8, !tbaa !5
  %769 = getelementptr inbounds float, ptr %768, i64 4
  store float 0.000000e+00, ptr %769, align 4, !tbaa !11
  %770 = load ptr, ptr %27, align 8, !tbaa !5
  %771 = getelementptr inbounds float, ptr %770, i64 5
  store float 0.000000e+00, ptr %771, align 4, !tbaa !11
  %772 = load ptr, ptr %27, align 8, !tbaa !5
  %773 = getelementptr inbounds float, ptr %772, i64 6
  store float 0.000000e+00, ptr %773, align 4, !tbaa !11
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

774:                                              ; preds = %732
  %775 = load float, ptr %76, align 4, !tbaa !11
  %776 = load float, ptr %98, align 4, !tbaa !11
  %777 = fdiv float %775, %776
  %778 = fpext float %777 to double
  %779 = call double @sqrt(double noundef %778) #5
  %780 = fptrunc double %779 to float
  store float %780, ptr %52, align 4, !tbaa !11
  %781 = load float, ptr %55, align 4, !tbaa !11
  %782 = load ptr, ptr %20, align 8, !tbaa !5
  %783 = load i64, ptr %782, align 8, !tbaa !9
  %784 = sitofp i64 %783 to float
  %785 = fdiv float %781, %784
  %786 = fpext float %785 to double
  %787 = call double @sqrt(double noundef %786) #5
  %788 = fptrunc double %787 to float
  store float %788, ptr %69, align 4, !tbaa !11
  %789 = load float, ptr %63, align 4, !tbaa !11
  %790 = load float, ptr %52, align 4, !tbaa !11
  %791 = fcmp ole float %789, %790
  br i1 %791, label %804, label %792

792:                                              ; preds = %774
  %793 = load float, ptr %65, align 4, !tbaa !11
  %794 = load float, ptr %69, align 4, !tbaa !11
  %795 = fcmp oge float %793, %794
  br i1 %795, label %804, label %796

796:                                              ; preds = %792
  %797 = load float, ptr %52, align 4, !tbaa !11
  %798 = load float, ptr %65, align 4, !tbaa !11
  %799 = fcmp ole float %797, %798
  br i1 %799, label %800, label %820

800:                                              ; preds = %796
  %801 = load float, ptr %63, align 4, !tbaa !11
  %802 = load float, ptr %69, align 4, !tbaa !11
  %803 = fcmp ole float %801, %802
  br i1 %803, label %804, label %820

804:                                              ; preds = %800, %792, %774
  %805 = load float, ptr %55, align 4, !tbaa !11
  store float %805, ptr %39, align 4, !tbaa !11
  %806 = load float, ptr %69, align 4, !tbaa !11
  %807 = load float, ptr %63, align 4, !tbaa !11
  %808 = fdiv float %806, %807
  store float %808, ptr %40, align 4, !tbaa !11
  %809 = load float, ptr %39, align 4, !tbaa !11
  %810 = load float, ptr %40, align 4, !tbaa !11
  %811 = fcmp ole float %809, %810
  br i1 %811, label %812, label %814

812:                                              ; preds = %804
  %813 = load float, ptr %39, align 4, !tbaa !11
  br label %816

814:                                              ; preds = %804
  %815 = load float, ptr %40, align 4, !tbaa !11
  br label %816

816:                                              ; preds = %814, %812
  %817 = phi float [ %813, %812 ], [ %815, %814 ]
  %818 = fpext float %817 to double
  %819 = fptrunc double %818 to float
  store float %819, ptr %69, align 4, !tbaa !11
  br label %920

820:                                              ; preds = %800, %796
  %821 = load float, ptr %65, align 4, !tbaa !11
  %822 = load float, ptr %52, align 4, !tbaa !11
  %823 = fcmp ole float %821, %822
  br i1 %823, label %824, label %855

824:                                              ; preds = %820
  %825 = load float, ptr %63, align 4, !tbaa !11
  %826 = load float, ptr %69, align 4, !tbaa !11
  %827 = fcmp ole float %825, %826
  br i1 %827, label %828, label %855

828:                                              ; preds = %824
  %829 = load float, ptr %52, align 4, !tbaa !11
  %830 = load float, ptr %65, align 4, !tbaa !11
  %831 = fdiv float %829, %830
  store float %831, ptr %39, align 4, !tbaa !11
  %832 = load float, ptr %55, align 4, !tbaa !11
  %833 = fpext float %832 to double
  %834 = load float, ptr %63, align 4, !tbaa !11
  %835 = fpext float %834 to double
  %836 = load ptr, ptr %20, align 8, !tbaa !5
  %837 = load i64, ptr %836, align 8, !tbaa !9
  %838 = sitofp i64 %837 to float
  %839 = fpext float %838 to double
  %840 = call double @sqrt(double noundef %839) #5
  %841 = fmul double %835, %840
  %842 = fdiv double %833, %841
  %843 = fptrunc double %842 to float
  store float %843, ptr %40, align 4, !tbaa !11
  %844 = load float, ptr %39, align 4, !tbaa !11
  %845 = load float, ptr %40, align 4, !tbaa !11
  %846 = fcmp ole float %844, %845
  br i1 %846, label %847, label %849

847:                                              ; preds = %828
  %848 = load float, ptr %39, align 4, !tbaa !11
  br label %851

849:                                              ; preds = %828
  %850 = load float, ptr %40, align 4, !tbaa !11
  br label %851

851:                                              ; preds = %849, %847
  %852 = phi float [ %848, %847 ], [ %850, %849 ]
  %853 = fpext float %852 to double
  %854 = fptrunc double %853 to float
  store float %854, ptr %69, align 4, !tbaa !11
  br label %919

855:                                              ; preds = %824, %820
  %856 = load float, ptr %65, align 4, !tbaa !11
  %857 = load float, ptr %52, align 4, !tbaa !11
  %858 = fcmp oge float %856, %857
  br i1 %858, label %859, label %881

859:                                              ; preds = %855
  %860 = load float, ptr %63, align 4, !tbaa !11
  %861 = load float, ptr %69, align 4, !tbaa !11
  %862 = fcmp oge float %860, %861
  br i1 %862, label %863, label %881

863:                                              ; preds = %859
  %864 = load float, ptr %52, align 4, !tbaa !11
  %865 = load float, ptr %65, align 4, !tbaa !11
  %866 = fdiv float %864, %865
  store float %866, ptr %39, align 4, !tbaa !11
  %867 = load float, ptr %69, align 4, !tbaa !11
  %868 = load float, ptr %63, align 4, !tbaa !11
  %869 = fdiv float %867, %868
  store float %869, ptr %40, align 4, !tbaa !11
  %870 = load float, ptr %39, align 4, !tbaa !11
  %871 = load float, ptr %40, align 4, !tbaa !11
  %872 = fcmp oge float %870, %871
  br i1 %872, label %873, label %875

873:                                              ; preds = %863
  %874 = load float, ptr %39, align 4, !tbaa !11
  br label %877

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

877:                                              ; preds = %875, %873
  %878 = phi float [ %874, %873 ], [ %876, %875 ]
  %879 = fpext float %878 to double
  %880 = fptrunc double %879 to float
  store float %880, ptr %69, align 4, !tbaa !11
  br label %918

881:                                              ; preds = %859, %855
  %882 = load float, ptr %65, align 4, !tbaa !11
  %883 = load float, ptr %52, align 4, !tbaa !11
  %884 = fcmp ole float %882, %883
  br i1 %884, label %885, label %916

885:                                              ; preds = %881
  %886 = load float, ptr %63, align 4, !tbaa !11
  %887 = load float, ptr %69, align 4, !tbaa !11
  %888 = fcmp oge float %886, %887
  br i1 %888, label %889, label %916

889:                                              ; preds = %885
  %890 = load float, ptr %52, align 4, !tbaa !11
  %891 = load float, ptr %65, align 4, !tbaa !11
  %892 = fdiv float %890, %891
  store float %892, ptr %39, align 4, !tbaa !11
  %893 = load float, ptr %55, align 4, !tbaa !11
  %894 = fpext float %893 to double
  %895 = load ptr, ptr %20, align 8, !tbaa !5
  %896 = load i64, ptr %895, align 8, !tbaa !9
  %897 = sitofp i64 %896 to float
  %898 = fpext float %897 to double
  %899 = call double @sqrt(double noundef %898) #5
  %900 = load float, ptr %63, align 4, !tbaa !11
  %901 = fpext float %900 to double
  %902 = fmul double %899, %901
  %903 = fdiv double %894, %902
  %904 = fptrunc double %903 to float
  store float %904, ptr %40, align 4, !tbaa !11
  %905 = load float, ptr %39, align 4, !tbaa !11
  %906 = load float, ptr %40, align 4, !tbaa !11
  %907 = fcmp ole float %905, %906
  br i1 %907, label %908, label %910

908:                                              ; preds = %889
  %909 = load float, ptr %39, align 4, !tbaa !11
  br label %912

910:                                              ; preds = %889
  %911 = load float, ptr %40, align 4, !tbaa !11
  br label %912

912:                                              ; preds = %910, %908
  %913 = phi float [ %909, %908 ], [ %911, %910 ]
  %914 = fpext float %913 to double
  %915 = fptrunc double %914 to float
  store float %915, ptr %69, align 4, !tbaa !11
  br label %917

916:                                              ; preds = %885, %881
  store float 1.000000e+00, ptr %69, align 4, !tbaa !11
  br label %917

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

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

919:                                              ; preds = %918, %851
  br label %920

920:                                              ; preds = %919, %816
  %921 = load float, ptr %69, align 4, !tbaa !11
  %922 = fcmp une float %921, 1.000000e+00
  br i1 %922, label %923, label %929

923:                                              ; preds = %920
  %924 = load ptr, ptr %20, align 8, !tbaa !5
  %925 = load ptr, ptr %23, align 8, !tbaa !5
  %926 = getelementptr inbounds float, ptr %925, i64 1
  %927 = load ptr, ptr %20, align 8, !tbaa !5
  %928 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %69, ptr noundef %924, ptr noundef @c__1, ptr noundef %926, ptr noundef %927, ptr noundef %67)
  br label %929

929:                                              ; preds = %923, %920
  %930 = load float, ptr %69, align 4, !tbaa !11
  %931 = load float, ptr %70, align 4, !tbaa !11
  %932 = fmul float %930, %931
  store float %932, ptr %70, align 4, !tbaa !11
  %933 = load float, ptr %70, align 4, !tbaa !11
  %934 = fcmp une float %933, 1.000000e+00
  br i1 %934, label %935, label %946

935:                                              ; preds = %929
  %936 = load ptr, ptr %16, align 8, !tbaa !5
  %937 = load ptr, ptr %19, align 8, !tbaa !5
  %938 = load ptr, ptr %20, align 8, !tbaa !5
  %939 = load ptr, ptr %21, align 8, !tbaa !5
  %940 = load i64, ptr %31, align 8, !tbaa !9
  %941 = getelementptr inbounds float, ptr %939, i64 %940
  %942 = load ptr, ptr %22, align 8, !tbaa !5
  %943 = call i32 @slascl_(ptr noundef %936, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %70, ptr noundef %937, ptr noundef %938, ptr noundef %941, ptr noundef %942, ptr noundef %67)
  %944 = load float, ptr %70, align 4, !tbaa !11
  %945 = fdiv float 1.000000e+00, %944
  store float %945, ptr %70, align 4, !tbaa !11
  br label %946

946:                                              ; preds = %935, %929
  %947 = load ptr, ptr %20, align 8, !tbaa !5
  %948 = load i64, ptr %947, align 8, !tbaa !9
  %949 = load ptr, ptr %20, align 8, !tbaa !5
  %950 = load i64, ptr %949, align 8, !tbaa !9
  %951 = sub nsw i64 %950, 1
  %952 = mul nsw i64 %948, %951
  %953 = sdiv i64 %952, 2
  store i64 %953, ptr %91, align 8, !tbaa !9
  store i64 0, ptr %92, align 8, !tbaa !9
  %954 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  store float 0.000000e+00, ptr %954, align 16, !tbaa !11
  %955 = load ptr, ptr %20, align 8, !tbaa !5
  %956 = load i64, ptr %955, align 8, !tbaa !9
  store i64 %956, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %45, align 8, !tbaa !9
  br label %957

957:                                              ; preds = %965, %946
  %958 = load i64, ptr %45, align 8, !tbaa !9
  %959 = load i64, ptr %34, align 8, !tbaa !9
  %960 = icmp sle i64 %958, %959
  br i1 %960, label %961, label %968

961:                                              ; preds = %957
  %962 = load ptr, ptr %27, align 8, !tbaa !5
  %963 = load i64, ptr %45, align 8, !tbaa !9
  %964 = getelementptr inbounds float, ptr %962, i64 %963
  store float 1.000000e+00, ptr %964, align 4, !tbaa !11
  br label %965

965:                                              ; preds = %961
  %966 = load i64, ptr %45, align 8, !tbaa !9
  %967 = add nsw i64 %966, 1
  store i64 %967, ptr %45, align 8, !tbaa !9
  br label %957, !llvm.loop !21

968:                                              ; preds = %957
  store i64 3, ptr %86, align 8, !tbaa !9
  %969 = load ptr, ptr %20, align 8, !tbaa !5
  %970 = load i64, ptr %969, align 8, !tbaa !9
  %971 = icmp sle i64 8, %970
  br i1 %971, label %972, label %973

972:                                              ; preds = %968
  br label %976

973:                                              ; preds = %968
  %974 = load ptr, ptr %20, align 8, !tbaa !5
  %975 = load i64, ptr %974, align 8, !tbaa !9
  br label %976

976:                                              ; preds = %973, %972
  %977 = phi i64 [ 8, %972 ], [ %975, %973 ]
  store i64 %977, ptr %56, align 8, !tbaa !9
  %978 = load ptr, ptr %20, align 8, !tbaa !5
  %979 = load i64, ptr %978, align 8, !tbaa !9
  %980 = load i64, ptr %56, align 8, !tbaa !9
  %981 = sdiv i64 %979, %980
  store i64 %981, ptr %60, align 8, !tbaa !9
  %982 = load i64, ptr %60, align 8, !tbaa !9
  %983 = load i64, ptr %56, align 8, !tbaa !9
  %984 = mul nsw i64 %982, %983
  %985 = load ptr, ptr %20, align 8, !tbaa !5
  %986 = load i64, ptr %985, align 8, !tbaa !9
  %987 = icmp ne i64 %984, %986
  br i1 %987, label %988, label %991

988:                                              ; preds = %976
  %989 = load i64, ptr %60, align 8, !tbaa !9
  %990 = add nsw i64 %989, 1
  store i64 %990, ptr %60, align 8, !tbaa !9
  br label %991

991:                                              ; preds = %988, %976
  %992 = load i64, ptr %56, align 8, !tbaa !9
  store i64 %992, ptr %34, align 8, !tbaa !9
  %993 = load i64, ptr %34, align 8, !tbaa !9
  %994 = load i64, ptr %34, align 8, !tbaa !9
  %995 = mul nsw i64 %993, %994
  store i64 %995, ptr %87, align 8, !tbaa !9
  %996 = load i64, ptr %56, align 8, !tbaa !9
  %997 = icmp sle i64 5, %996
  br i1 %997, label %998, label %999

998:                                              ; preds = %991
  br label %1001

999:                                              ; preds = %991
  %1000 = load i64, ptr %56, align 8, !tbaa !9
  br label %1001

1001:                                             ; preds = %999, %998
  %1002 = phi i64 [ 5, %998 ], [ %1000, %999 ]
  store i64 %1002, ptr %100, align 8, !tbaa !9
  store i64 1, ptr %94, align 8, !tbaa !9
  store i64 64, ptr %34, align 8, !tbaa !9
  %1003 = load i64, ptr %56, align 8, !tbaa !9
  %1004 = shl i64 %1003, 2
  store i64 %1004, ptr %35, align 8, !tbaa !9
  %1005 = load i64, ptr %82, align 8, !tbaa !9
  %1006 = icmp ne i64 %1005, 0
  br i1 %1006, label %1010, label %1007

1007:                                             ; preds = %1001
  %1008 = load i64, ptr %83, align 8, !tbaa !9
  %1009 = icmp ne i64 %1008, 0
  br i1 %1009, label %1010, label %1425

1010:                                             ; preds = %1007, %1001
  %1011 = load ptr, ptr %20, align 8, !tbaa !5
  %1012 = load i64, ptr %1011, align 8, !tbaa !9
  %1013 = load i64, ptr %34, align 8, !tbaa !9
  %1014 = load i64, ptr %35, align 8, !tbaa !9
  %1015 = icmp sge i64 %1013, %1014
  br i1 %1015, label %1016, label %1018

1016:                                             ; preds = %1010
  %1017 = load i64, ptr %34, align 8, !tbaa !9
  br label %1020

1018:                                             ; preds = %1010
  %1019 = load i64, ptr %35, align 8, !tbaa !9
  br label %1020

1020:                                             ; preds = %1018, %1016
  %1021 = phi i64 [ %1017, %1016 ], [ %1019, %1018 ]
  %1022 = icmp sgt i64 %1012, %1021
  br i1 %1022, label %1023, label %1425

1023:                                             ; preds = %1020
  %1024 = load ptr, ptr %20, align 8, !tbaa !5
  %1025 = load i64, ptr %1024, align 8, !tbaa !9
  %1026 = sdiv i64 %1025, 4
  store i64 %1026, ptr %48, align 8, !tbaa !9
  %1027 = load ptr, ptr %20, align 8, !tbaa !5
  %1028 = load i64, ptr %1027, align 8, !tbaa !9
  %1029 = sdiv i64 %1028, 2
  store i64 %1029, ptr %47, align 8, !tbaa !9
  %1030 = load i64, ptr %48, align 8, !tbaa !9
  %1031 = mul nsw i64 %1030, 3
  store i64 %1031, ptr %50, align 8, !tbaa !9
  %1032 = load i64, ptr %79, align 8, !tbaa !9
  %1033 = icmp ne i64 %1032, 0
  br i1 %1033, label %1034, label %1035

1034:                                             ; preds = %1023
  store i64 0, ptr %45, align 8, !tbaa !9
  br label %1036

1035:                                             ; preds = %1023
  store i64 1, ptr %45, align 8, !tbaa !9
  br label %1036

1036:                                             ; preds = %1035, %1034
  %1037 = load i64, ptr %82, align 8, !tbaa !9
  %1038 = icmp ne i64 %1037, 0
  br i1 %1038, label %1039, label %1288

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

1288:                                             ; preds = %1036
  %1289 = load i64, ptr %83, align 8, !tbaa !9
  %1290 = icmp ne i64 %1289, 0
  br i1 %1290, label %1291, label %1423

1291:                                             ; preds = %1288
  %1292 = load ptr, ptr %28, align 8, !tbaa !5
  %1293 = load i64, ptr %1292, align 8, !tbaa !9
  %1294 = load ptr, ptr %20, align 8, !tbaa !5
  %1295 = load i64, ptr %1294, align 8, !tbaa !9
  %1296 = sub nsw i64 %1293, %1295
  store i64 %1296, ptr %34, align 8, !tbaa !9
  %1297 = load ptr, ptr %18, align 8, !tbaa !5
  %1298 = load ptr, ptr %21, align 8, !tbaa !5
  %1299 = load i64, ptr %31, align 8, !tbaa !9
  %1300 = getelementptr inbounds float, ptr %1298, i64 %1299
  %1301 = load ptr, ptr %22, align 8, !tbaa !5
  %1302 = load ptr, ptr %27, align 8, !tbaa !5
  %1303 = getelementptr inbounds float, ptr %1302, i64 1
  %1304 = load ptr, ptr %23, align 8, !tbaa !5
  %1305 = getelementptr inbounds float, ptr %1304, i64 1
  %1306 = load ptr, ptr %25, align 8, !tbaa !5
  %1307 = load i64, ptr %33, align 8, !tbaa !9
  %1308 = getelementptr inbounds float, ptr %1306, i64 %1307
  %1309 = load ptr, ptr %26, align 8, !tbaa !5
  %1310 = load ptr, ptr %27, align 8, !tbaa !5
  %1311 = load ptr, ptr %20, align 8, !tbaa !5
  %1312 = load i64, ptr %1311, align 8, !tbaa !9
  %1313 = add nsw i64 %1312, 1
  %1314 = getelementptr inbounds float, ptr %1310, i64 %1313
  %1315 = call i32 @sgsvj0_(ptr noundef %1297, ptr noundef %48, ptr noundef %48, ptr noundef %1300, ptr noundef %1301, ptr noundef %1303, ptr noundef %1305, ptr noundef %62, ptr noundef %1308, ptr noundef %1309, ptr noundef %98, ptr noundef %76, ptr noundef %61, ptr noundef @c__2, ptr noundef %1314, ptr noundef %34, ptr noundef %67)
  %1316 = load ptr, ptr %28, align 8, !tbaa !5
  %1317 = load i64, ptr %1316, align 8, !tbaa !9
  %1318 = load ptr, ptr %20, align 8, !tbaa !5
  %1319 = load i64, ptr %1318, align 8, !tbaa !9
  %1320 = sub nsw i64 %1317, %1319
  store i64 %1320, ptr %34, align 8, !tbaa !9
  %1321 = load ptr, ptr %18, align 8, !tbaa !5
  %1322 = load ptr, ptr %21, align 8, !tbaa !5
  %1323 = load i64, ptr %48, align 8, !tbaa !9
  %1324 = add nsw i64 %1323, 1
  %1325 = load i64, ptr %30, align 8, !tbaa !9
  %1326 = mul nsw i64 %1324, %1325
  %1327 = add nsw i64 %1326, 1
  %1328 = getelementptr inbounds float, ptr %1322, i64 %1327
  %1329 = load ptr, ptr %22, align 8, !tbaa !5
  %1330 = load ptr, ptr %27, align 8, !tbaa !5
  %1331 = load i64, ptr %48, align 8, !tbaa !9
  %1332 = add nsw i64 %1331, 1
  %1333 = getelementptr inbounds float, ptr %1330, i64 %1332
  %1334 = load ptr, ptr %23, align 8, !tbaa !5
  %1335 = load i64, ptr %48, align 8, !tbaa !9
  %1336 = add nsw i64 %1335, 1
  %1337 = getelementptr inbounds float, ptr %1334, i64 %1336
  %1338 = load ptr, ptr %25, align 8, !tbaa !5
  %1339 = load i64, ptr %48, align 8, !tbaa !9
  %1340 = load i64, ptr %45, align 8, !tbaa !9
  %1341 = mul nsw i64 %1339, %1340
  %1342 = add nsw i64 %1341, 1
  %1343 = load i64, ptr %48, align 8, !tbaa !9
  %1344 = add nsw i64 %1343, 1
  %1345 = load i64, ptr %32, align 8, !tbaa !9
  %1346 = mul nsw i64 %1344, %1345
  %1347 = add nsw i64 %1342, %1346
  %1348 = getelementptr inbounds float, ptr %1338, i64 %1347
  %1349 = load ptr, ptr %26, align 8, !tbaa !5
  %1350 = load ptr, ptr %27, align 8, !tbaa !5
  %1351 = load ptr, ptr %20, align 8, !tbaa !5
  %1352 = load i64, ptr %1351, align 8, !tbaa !9
  %1353 = add nsw i64 %1352, 1
  %1354 = getelementptr inbounds float, ptr %1350, i64 %1353
  %1355 = call i32 @sgsvj0_(ptr noundef %1321, ptr noundef %47, ptr noundef %48, ptr noundef %1328, ptr noundef %1329, ptr noundef %1333, ptr noundef %1337, ptr noundef %62, ptr noundef %1348, ptr noundef %1349, ptr noundef %98, ptr noundef %76, ptr noundef %61, ptr noundef @c__1, ptr noundef %1354, ptr noundef %34, ptr noundef %67)
  %1356 = load ptr, ptr %28, align 8, !tbaa !5
  %1357 = load i64, ptr %1356, align 8, !tbaa !9
  %1358 = load ptr, ptr %20, align 8, !tbaa !5
  %1359 = load i64, ptr %1358, align 8, !tbaa !9
  %1360 = sub nsw i64 %1357, %1359
  store i64 %1360, ptr %34, align 8, !tbaa !9
  %1361 = load ptr, ptr %18, align 8, !tbaa !5
  %1362 = load ptr, ptr %21, align 8, !tbaa !5
  %1363 = load i64, ptr %31, align 8, !tbaa !9
  %1364 = getelementptr inbounds float, ptr %1362, i64 %1363
  %1365 = load ptr, ptr %22, align 8, !tbaa !5
  %1366 = load ptr, ptr %27, align 8, !tbaa !5
  %1367 = getelementptr inbounds float, ptr %1366, i64 1
  %1368 = load ptr, ptr %23, align 8, !tbaa !5
  %1369 = getelementptr inbounds float, ptr %1368, i64 1
  %1370 = load ptr, ptr %25, align 8, !tbaa !5
  %1371 = load i64, ptr %33, align 8, !tbaa !9
  %1372 = getelementptr inbounds float, ptr %1370, i64 %1371
  %1373 = load ptr, ptr %26, align 8, !tbaa !5
  %1374 = load ptr, ptr %27, align 8, !tbaa !5
  %1375 = load ptr, ptr %20, align 8, !tbaa !5
  %1376 = load i64, ptr %1375, align 8, !tbaa !9
  %1377 = add nsw i64 %1376, 1
  %1378 = getelementptr inbounds float, ptr %1374, i64 %1377
  %1379 = call i32 @sgsvj1_(ptr noundef %1361, ptr noundef %47, ptr noundef %47, ptr noundef %48, ptr noundef %1364, ptr noundef %1365, ptr noundef %1367, ptr noundef %1369, ptr noundef %62, ptr noundef %1372, ptr noundef %1373, ptr noundef %98, ptr noundef %76, ptr noundef %61, ptr noundef @c__1, ptr noundef %1378, ptr noundef %34, ptr noundef %67)
  %1380 = load i64, ptr %47, align 8, !tbaa !9
  %1381 = load i64, ptr %48, align 8, !tbaa !9
  %1382 = add nsw i64 %1380, %1381
  store i64 %1382, ptr %34, align 8, !tbaa !9
  %1383 = load ptr, ptr %28, align 8, !tbaa !5
  %1384 = load i64, ptr %1383, align 8, !tbaa !9
  %1385 = load ptr, ptr %20, align 8, !tbaa !5
  %1386 = load i64, ptr %1385, align 8, !tbaa !9
  %1387 = sub nsw i64 %1384, %1386
  store i64 %1387, ptr %35, align 8, !tbaa !9
  %1388 = load ptr, ptr %18, align 8, !tbaa !5
  %1389 = load ptr, ptr %21, align 8, !tbaa !5
  %1390 = load i64, ptr %47, align 8, !tbaa !9
  %1391 = add nsw i64 %1390, 1
  %1392 = load i64, ptr %30, align 8, !tbaa !9
  %1393 = mul nsw i64 %1391, %1392
  %1394 = add nsw i64 %1393, 1
  %1395 = getelementptr inbounds float, ptr %1389, i64 %1394
  %1396 = load ptr, ptr %22, align 8, !tbaa !5
  %1397 = load ptr, ptr %27, align 8, !tbaa !5
  %1398 = load i64, ptr %47, align 8, !tbaa !9
  %1399 = add nsw i64 %1398, 1
  %1400 = getelementptr inbounds float, ptr %1397, i64 %1399
  %1401 = load ptr, ptr %23, align 8, !tbaa !5
  %1402 = load i64, ptr %47, align 8, !tbaa !9
  %1403 = add nsw i64 %1402, 1
  %1404 = getelementptr inbounds float, ptr %1401, i64 %1403
  %1405 = load ptr, ptr %25, align 8, !tbaa !5
  %1406 = load i64, ptr %47, align 8, !tbaa !9
  %1407 = load i64, ptr %45, align 8, !tbaa !9
  %1408 = mul nsw i64 %1406, %1407
  %1409 = add nsw i64 %1408, 1
  %1410 = load i64, ptr %47, align 8, !tbaa !9
  %1411 = add nsw i64 %1410, 1
  %1412 = load i64, ptr %32, align 8, !tbaa !9
  %1413 = mul nsw i64 %1411, %1412
  %1414 = add nsw i64 %1409, %1413
  %1415 = getelementptr inbounds float, ptr %1405, i64 %1414
  %1416 = load ptr, ptr %26, align 8, !tbaa !5
  %1417 = load ptr, ptr %27, align 8, !tbaa !5
  %1418 = load ptr, ptr %20, align 8, !tbaa !5
  %1419 = load i64, ptr %1418, align 8, !tbaa !9
  %1420 = add nsw i64 %1419, 1
  %1421 = getelementptr inbounds float, ptr %1417, i64 %1420
  %1422 = call i32 @sgsvj0_(ptr noundef %1388, ptr noundef %34, ptr noundef %48, ptr noundef %1395, ptr noundef %1396, ptr noundef %1400, ptr noundef %1404, ptr noundef %62, ptr noundef %1415, ptr noundef %1416, ptr noundef %98, ptr noundef %76, ptr noundef %61, ptr noundef @c__1, ptr noundef %1421, ptr noundef %35, ptr noundef %67)
  br label %1423

1423:                                             ; preds = %1291, %1288
  br label %1424

1424:                                             ; preds = %1423, %1039
  br label %1425

1425:                                             ; preds = %1424, %1020, %1007
  store i64 1, ptr %43, align 8, !tbaa !9
  br label %1426

1426:                                             ; preds = %4562, %1425
  %1427 = load i64, ptr %43, align 8, !tbaa !9
  %1428 = icmp sle i64 %1427, 30
  br i1 %1428, label %1429, label %4565

1429:                                             ; preds = %1426
  store float 0.000000e+00, ptr %88, align 4, !tbaa !11
  store float 0.000000e+00, ptr %90, align 4, !tbaa !11
  store i64 0, ptr %93, align 8, !tbaa !9
  store i64 0, ptr %92, align 8, !tbaa !9
  store i64 0, ptr %42, align 8, !tbaa !9
  %1430 = load i64, ptr %60, align 8, !tbaa !9
  store i64 %1430, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %58, align 8, !tbaa !9
  br label %1431

1431:                                             ; preds = %4444, %1429
  %1432 = load i64, ptr %58, align 8, !tbaa !9
  %1433 = load i64, ptr %34, align 8, !tbaa !9
  %1434 = icmp sle i64 %1432, %1433
  br i1 %1434, label %1435, label %4447

1435:                                             ; preds = %1431
  %1436 = load i64, ptr %58, align 8, !tbaa !9
  %1437 = sub nsw i64 %1436, 1
  %1438 = load i64, ptr %56, align 8, !tbaa !9
  %1439 = mul nsw i64 %1437, %1438
  %1440 = add nsw i64 %1439, 1
  store i64 %1440, ptr %57, align 8, !tbaa !9
  %1441 = load i64, ptr %94, align 8, !tbaa !9
  store i64 %1441, ptr %36, align 8, !tbaa !9
  %1442 = load i64, ptr %60, align 8, !tbaa !9
  %1443 = load i64, ptr %58, align 8, !tbaa !9
  %1444 = sub nsw i64 %1442, %1443
  store i64 %1444, ptr %37, align 8, !tbaa !9
  %1445 = load i64, ptr %36, align 8, !tbaa !9
  %1446 = load i64, ptr %37, align 8, !tbaa !9
  %1447 = icmp sle i64 %1445, %1446
  br i1 %1447, label %1448, label %1450

1448:                                             ; preds = %1435
  %1449 = load i64, ptr %36, align 8, !tbaa !9
  br label %1452

1450:                                             ; preds = %1435
  %1451 = load i64, ptr %37, align 8, !tbaa !9
  br label %1452

1452:                                             ; preds = %1450, %1448
  %1453 = phi i64 [ %1449, %1448 ], [ %1451, %1450 ]
  store i64 %1453, ptr %35, align 8, !tbaa !9
  store i64 0, ptr %53, align 8, !tbaa !9
  br label %1454

1454:                                             ; preds = %2920, %1452
  %1455 = load i64, ptr %53, align 8, !tbaa !9
  %1456 = load i64, ptr %35, align 8, !tbaa !9
  %1457 = icmp sle i64 %1455, %1456
  br i1 %1457, label %1458, label %2923

1458:                                             ; preds = %1454
  %1459 = load i64, ptr %53, align 8, !tbaa !9
  %1460 = load i64, ptr %56, align 8, !tbaa !9
  %1461 = mul nsw i64 %1459, %1460
  %1462 = load i64, ptr %57, align 8, !tbaa !9
  %1463 = add nsw i64 %1462, %1461
  store i64 %1463, ptr %57, align 8, !tbaa !9
  %1464 = load i64, ptr %57, align 8, !tbaa !9
  %1465 = load i64, ptr %56, align 8, !tbaa !9
  %1466 = add nsw i64 %1464, %1465
  %1467 = sub nsw i64 %1466, 1
  store i64 %1467, ptr %37, align 8, !tbaa !9
  %1468 = load ptr, ptr %20, align 8, !tbaa !5
  %1469 = load i64, ptr %1468, align 8, !tbaa !9
  %1470 = sub nsw i64 %1469, 1
  store i64 %1470, ptr %38, align 8, !tbaa !9
  %1471 = load i64, ptr %37, align 8, !tbaa !9
  %1472 = load i64, ptr %38, align 8, !tbaa !9
  %1473 = icmp sle i64 %1471, %1472
  br i1 %1473, label %1474, label %1476

1474:                                             ; preds = %1458
  %1475 = load i64, ptr %37, align 8, !tbaa !9
  br label %1478

1476:                                             ; preds = %1458
  %1477 = load i64, ptr %38, align 8, !tbaa !9
  br label %1478

1478:                                             ; preds = %1476, %1474
  %1479 = phi i64 [ %1475, %1474 ], [ %1477, %1476 ]
  store i64 %1479, ptr %36, align 8, !tbaa !9
  %1480 = load i64, ptr %57, align 8, !tbaa !9
  store i64 %1480, ptr %44, align 8, !tbaa !9
  br label %1481

1481:                                             ; preds = %2916, %1478
  %1482 = load i64, ptr %44, align 8, !tbaa !9
  %1483 = load i64, ptr %36, align 8, !tbaa !9
  %1484 = icmp sle i64 %1482, %1483
  br i1 %1484, label %1485, label %2919

1485:                                             ; preds = %1481
  %1486 = load ptr, ptr %20, align 8, !tbaa !5
  %1487 = load i64, ptr %1486, align 8, !tbaa !9
  %1488 = load i64, ptr %44, align 8, !tbaa !9
  %1489 = sub nsw i64 %1487, %1488
  %1490 = add nsw i64 %1489, 1
  store i64 %1490, ptr %37, align 8, !tbaa !9
  %1491 = load ptr, ptr %23, align 8, !tbaa !5
  %1492 = load i64, ptr %44, align 8, !tbaa !9
  %1493 = getelementptr inbounds float, ptr %1491, i64 %1492
  %1494 = call i64 @f2c_isamax(ptr noundef %37, ptr noundef %1493, ptr noundef @c__1)
  %1495 = load i64, ptr %44, align 8, !tbaa !9
  %1496 = add nsw i64 %1494, %1495
  %1497 = sub nsw i64 %1496, 1
  store i64 %1497, ptr %45, align 8, !tbaa !9
  %1498 = load i64, ptr %44, align 8, !tbaa !9
  %1499 = load i64, ptr %45, align 8, !tbaa !9
  %1500 = icmp ne i64 %1498, %1499
  br i1 %1500, label %1501, label %1563

1501:                                             ; preds = %1485
  %1502 = load ptr, ptr %19, align 8, !tbaa !5
  %1503 = load ptr, ptr %21, align 8, !tbaa !5
  %1504 = load i64, ptr %44, align 8, !tbaa !9
  %1505 = load i64, ptr %30, align 8, !tbaa !9
  %1506 = mul nsw i64 %1504, %1505
  %1507 = add nsw i64 %1506, 1
  %1508 = getelementptr inbounds float, ptr %1503, i64 %1507
  %1509 = load ptr, ptr %21, align 8, !tbaa !5
  %1510 = load i64, ptr %45, align 8, !tbaa !9
  %1511 = load i64, ptr %30, align 8, !tbaa !9
  %1512 = mul nsw i64 %1510, %1511
  %1513 = add nsw i64 %1512, 1
  %1514 = getelementptr inbounds float, ptr %1509, i64 %1513
  %1515 = call i32 @f2c_sswap(ptr noundef %1502, ptr noundef %1508, ptr noundef @c__1, ptr noundef %1514, ptr noundef @c__1)
  %1516 = load i64, ptr %80, align 8, !tbaa !9
  %1517 = icmp ne i64 %1516, 0
  br i1 %1517, label %1518, label %1532

1518:                                             ; preds = %1501
  %1519 = load ptr, ptr %25, align 8, !tbaa !5
  %1520 = load i64, ptr %44, align 8, !tbaa !9
  %1521 = load i64, ptr %32, align 8, !tbaa !9
  %1522 = mul nsw i64 %1520, %1521
  %1523 = add nsw i64 %1522, 1
  %1524 = getelementptr inbounds float, ptr %1519, i64 %1523
  %1525 = load ptr, ptr %25, align 8, !tbaa !5
  %1526 = load i64, ptr %45, align 8, !tbaa !9
  %1527 = load i64, ptr %32, align 8, !tbaa !9
  %1528 = mul nsw i64 %1526, %1527
  %1529 = add nsw i64 %1528, 1
  %1530 = getelementptr inbounds float, ptr %1525, i64 %1529
  %1531 = call i32 @f2c_sswap(ptr noundef %62, ptr noundef %1524, ptr noundef @c__1, ptr noundef %1530, ptr noundef @c__1)
  br label %1532

1532:                                             ; preds = %1518, %1501
  %1533 = load ptr, ptr %23, align 8, !tbaa !5
  %1534 = load i64, ptr %44, align 8, !tbaa !9
  %1535 = getelementptr inbounds float, ptr %1533, i64 %1534
  %1536 = load float, ptr %1535, align 4, !tbaa !11
  store float %1536, ptr %69, align 4, !tbaa !11
  %1537 = load ptr, ptr %23, align 8, !tbaa !5
  %1538 = load i64, ptr %45, align 8, !tbaa !9
  %1539 = getelementptr inbounds float, ptr %1537, i64 %1538
  %1540 = load float, ptr %1539, align 4, !tbaa !11
  %1541 = load ptr, ptr %23, align 8, !tbaa !5
  %1542 = load i64, ptr %44, align 8, !tbaa !9
  %1543 = getelementptr inbounds float, ptr %1541, i64 %1542
  store float %1540, ptr %1543, align 4, !tbaa !11
  %1544 = load float, ptr %69, align 4, !tbaa !11
  %1545 = load ptr, ptr %23, align 8, !tbaa !5
  %1546 = load i64, ptr %45, align 8, !tbaa !9
  %1547 = getelementptr inbounds float, ptr %1545, i64 %1546
  store float %1544, ptr %1547, align 4, !tbaa !11
  %1548 = load ptr, ptr %27, align 8, !tbaa !5
  %1549 = load i64, ptr %44, align 8, !tbaa !9
  %1550 = getelementptr inbounds float, ptr %1548, i64 %1549
  %1551 = load float, ptr %1550, align 4, !tbaa !11
  store float %1551, ptr %69, align 4, !tbaa !11
  %1552 = load ptr, ptr %27, align 8, !tbaa !5
  %1553 = load i64, ptr %45, align 8, !tbaa !9
  %1554 = getelementptr inbounds float, ptr %1552, i64 %1553
  %1555 = load float, ptr %1554, align 4, !tbaa !11
  %1556 = load ptr, ptr %27, align 8, !tbaa !5
  %1557 = load i64, ptr %44, align 8, !tbaa !9
  %1558 = getelementptr inbounds float, ptr %1556, i64 %1557
  store float %1555, ptr %1558, align 4, !tbaa !11
  %1559 = load float, ptr %69, align 4, !tbaa !11
  %1560 = load ptr, ptr %27, align 8, !tbaa !5
  %1561 = load i64, ptr %45, align 8, !tbaa !9
  %1562 = getelementptr inbounds float, ptr %1560, i64 %1561
  store float %1559, ptr %1562, align 4, !tbaa !11
  br label %1563

1563:                                             ; preds = %1532, %1485
  %1564 = load i64, ptr %53, align 8, !tbaa !9
  %1565 = icmp eq i64 %1564, 0
  br i1 %1565, label %1566, label %1629

1566:                                             ; preds = %1563
  %1567 = load ptr, ptr %23, align 8, !tbaa !5
  %1568 = load i64, ptr %44, align 8, !tbaa !9
  %1569 = getelementptr inbounds float, ptr %1567, i64 %1568
  %1570 = load float, ptr %1569, align 4, !tbaa !11
  %1571 = load float, ptr %97, align 4, !tbaa !11
  %1572 = fcmp olt float %1570, %1571
  br i1 %1572, label %1573, label %1599

1573:                                             ; preds = %1566
  %1574 = load ptr, ptr %23, align 8, !tbaa !5
  %1575 = load i64, ptr %44, align 8, !tbaa !9
  %1576 = getelementptr inbounds float, ptr %1574, i64 %1575
  %1577 = load float, ptr %1576, align 4, !tbaa !11
  %1578 = load float, ptr %49, align 4, !tbaa !11
  %1579 = fcmp ogt float %1577, %1578
  br i1 %1579, label %1580, label %1599

1580:                                             ; preds = %1573
  %1581 = load ptr, ptr %19, align 8, !tbaa !5
  %1582 = load ptr, ptr %21, align 8, !tbaa !5
  %1583 = load i64, ptr %44, align 8, !tbaa !9
  %1584 = load i64, ptr %30, align 8, !tbaa !9
  %1585 = mul nsw i64 %1583, %1584
  %1586 = add nsw i64 %1585, 1
  %1587 = getelementptr inbounds float, ptr %1582, i64 %1586
  %1588 = call double @f2c_snrm2(ptr noundef %1581, ptr noundef %1587, ptr noundef @c__1)
  %1589 = load ptr, ptr %27, align 8, !tbaa !5
  %1590 = load i64, ptr %44, align 8, !tbaa !9
  %1591 = getelementptr inbounds float, ptr %1589, i64 %1590
  %1592 = load float, ptr %1591, align 4, !tbaa !11
  %1593 = fpext float %1592 to double
  %1594 = fmul double %1588, %1593
  %1595 = fptrunc double %1594 to float
  %1596 = load ptr, ptr %23, align 8, !tbaa !5
  %1597 = load i64, ptr %44, align 8, !tbaa !9
  %1598 = getelementptr inbounds float, ptr %1596, i64 %1597
  store float %1595, ptr %1598, align 4, !tbaa !11
  br label %1624

1599:                                             ; preds = %1573, %1566
  store float 0.000000e+00, ptr %69, align 4, !tbaa !11
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %1600 = load ptr, ptr %19, align 8, !tbaa !5
  %1601 = load ptr, ptr %21, align 8, !tbaa !5
  %1602 = load i64, ptr %44, align 8, !tbaa !9
  %1603 = load i64, ptr %30, align 8, !tbaa !9
  %1604 = mul nsw i64 %1602, %1603
  %1605 = add nsw i64 %1604, 1
  %1606 = getelementptr inbounds float, ptr %1601, i64 %1605
  %1607 = call i32 @slassq_(ptr noundef %1600, ptr noundef %1606, ptr noundef @c__1, ptr noundef %69, ptr noundef %63)
  %1608 = load float, ptr %69, align 4, !tbaa !11
  %1609 = fpext float %1608 to double
  %1610 = load float, ptr %63, align 4, !tbaa !11
  %1611 = fpext float %1610 to double
  %1612 = call double @sqrt(double noundef %1611) #5
  %1613 = fmul double %1609, %1612
  %1614 = load ptr, ptr %27, align 8, !tbaa !5
  %1615 = load i64, ptr %44, align 8, !tbaa !9
  %1616 = getelementptr inbounds float, ptr %1614, i64 %1615
  %1617 = load float, ptr %1616, align 4, !tbaa !11
  %1618 = fpext float %1617 to double
  %1619 = fmul double %1613, %1618
  %1620 = fptrunc double %1619 to float
  %1621 = load ptr, ptr %23, align 8, !tbaa !5
  %1622 = load i64, ptr %44, align 8, !tbaa !9
  %1623 = getelementptr inbounds float, ptr %1621, i64 %1622
  store float %1620, ptr %1623, align 4, !tbaa !11
  br label %1624

1624:                                             ; preds = %1599, %1580
  %1625 = load ptr, ptr %23, align 8, !tbaa !5
  %1626 = load i64, ptr %44, align 8, !tbaa !9
  %1627 = getelementptr inbounds float, ptr %1625, i64 %1626
  %1628 = load float, ptr %1627, align 4, !tbaa !11
  store float %1628, ptr %63, align 4, !tbaa !11
  br label %1634

1629:                                             ; preds = %1563
  %1630 = load ptr, ptr %23, align 8, !tbaa !5
  %1631 = load i64, ptr %44, align 8, !tbaa !9
  %1632 = getelementptr inbounds float, ptr %1630, i64 %1631
  %1633 = load float, ptr %1632, align 4, !tbaa !11
  store float %1633, ptr %63, align 4, !tbaa !11
  br label %1634

1634:                                             ; preds = %1629, %1624
  %1635 = load float, ptr %63, align 4, !tbaa !11
  %1636 = fcmp ogt float %1635, 0.000000e+00
  br i1 %1636, label %1637, label %2884

1637:                                             ; preds = %1634
  store i64 0, ptr %42, align 8, !tbaa !9
  %1638 = load i64, ptr %57, align 8, !tbaa !9
  %1639 = load i64, ptr %56, align 8, !tbaa !9
  %1640 = add nsw i64 %1638, %1639
  %1641 = sub nsw i64 %1640, 1
  store i64 %1641, ptr %38, align 8, !tbaa !9
  %1642 = load i64, ptr %38, align 8, !tbaa !9
  %1643 = load ptr, ptr %20, align 8, !tbaa !5
  %1644 = load i64, ptr %1643, align 8, !tbaa !9
  %1645 = icmp sle i64 %1642, %1644
  br i1 %1645, label %1646, label %1648

1646:                                             ; preds = %1637
  %1647 = load i64, ptr %38, align 8, !tbaa !9
  br label %1651

1648:                                             ; preds = %1637
  %1649 = load ptr, ptr %20, align 8, !tbaa !5
  %1650 = load i64, ptr %1649, align 8, !tbaa !9
  br label %1651

1651:                                             ; preds = %1648, %1646
  %1652 = phi i64 [ %1647, %1646 ], [ %1650, %1648 ]
  store i64 %1652, ptr %37, align 8, !tbaa !9
  %1653 = load i64, ptr %44, align 8, !tbaa !9
  %1654 = add nsw i64 %1653, 1
  store i64 %1654, ptr %45, align 8, !tbaa !9
  br label %1655

1655:                                             ; preds = %2875, %1651
  %1656 = load i64, ptr %45, align 8, !tbaa !9
  %1657 = load i64, ptr %37, align 8, !tbaa !9
  %1658 = icmp sle i64 %1656, %1657
  br i1 %1658, label %1659, label %2878

1659:                                             ; preds = %1655
  %1660 = load ptr, ptr %23, align 8, !tbaa !5
  %1661 = load i64, ptr %45, align 8, !tbaa !9
  %1662 = getelementptr inbounds float, ptr %1660, i64 %1661
  %1663 = load float, ptr %1662, align 4, !tbaa !11
  store float %1663, ptr %65, align 4, !tbaa !11
  %1664 = load float, ptr %65, align 4, !tbaa !11
  %1665 = fcmp ogt float %1664, 0.000000e+00
  br i1 %1665, label %1666, label %2850

1666:                                             ; preds = %1659
  %1667 = load float, ptr %63, align 4, !tbaa !11
  store float %1667, ptr %68, align 4, !tbaa !11
  %1668 = load float, ptr %65, align 4, !tbaa !11
  %1669 = fcmp oge float %1668, 1.000000e+00
  br i1 %1669, label %1670, label %1766

1670:                                             ; preds = %1666
  %1671 = load float, ptr %75, align 4, !tbaa !11
  %1672 = load float, ptr %63, align 4, !tbaa !11
  %1673 = fmul float %1671, %1672
  %1674 = load float, ptr %65, align 4, !tbaa !11
  %1675 = fcmp ole float %1673, %1674
  %1676 = zext i1 %1675 to i32
  %1677 = sext i32 %1676 to i64
  store i64 %1677, ptr %84, align 8, !tbaa !9
  %1678 = load float, ptr %63, align 4, !tbaa !11
  %1679 = load float, ptr %55, align 4, !tbaa !11
  %1680 = load float, ptr %65, align 4, !tbaa !11
  %1681 = fdiv float %1679, %1680
  %1682 = fcmp olt float %1678, %1681
  br i1 %1682, label %1683, label %1717

1683:                                             ; preds = %1670
  %1684 = load ptr, ptr %19, align 8, !tbaa !5
  %1685 = load ptr, ptr %21, align 8, !tbaa !5
  %1686 = load i64, ptr %44, align 8, !tbaa !9
  %1687 = load i64, ptr %30, align 8, !tbaa !9
  %1688 = mul nsw i64 %1686, %1687
  %1689 = add nsw i64 %1688, 1
  %1690 = getelementptr inbounds float, ptr %1685, i64 %1689
  %1691 = load ptr, ptr %21, align 8, !tbaa !5
  %1692 = load i64, ptr %45, align 8, !tbaa !9
  %1693 = load i64, ptr %30, align 8, !tbaa !9
  %1694 = mul nsw i64 %1692, %1693
  %1695 = add nsw i64 %1694, 1
  %1696 = getelementptr inbounds float, ptr %1691, i64 %1695
  %1697 = call double @f2c_sdot(ptr noundef %1684, ptr noundef %1690, ptr noundef @c__1, ptr noundef %1696, ptr noundef @c__1)
  %1698 = load ptr, ptr %27, align 8, !tbaa !5
  %1699 = load i64, ptr %44, align 8, !tbaa !9
  %1700 = getelementptr inbounds float, ptr %1698, i64 %1699
  %1701 = load float, ptr %1700, align 4, !tbaa !11
  %1702 = fpext float %1701 to double
  %1703 = fmul double %1697, %1702
  %1704 = load ptr, ptr %27, align 8, !tbaa !5
  %1705 = load i64, ptr %45, align 8, !tbaa !9
  %1706 = getelementptr inbounds float, ptr %1704, i64 %1705
  %1707 = load float, ptr %1706, align 4, !tbaa !11
  %1708 = fpext float %1707 to double
  %1709 = fmul double %1703, %1708
  %1710 = load float, ptr %65, align 4, !tbaa !11
  %1711 = fpext float %1710 to double
  %1712 = fdiv double %1709, %1711
  %1713 = load float, ptr %63, align 4, !tbaa !11
  %1714 = fpext float %1713 to double
  %1715 = fdiv double %1712, %1714
  %1716 = fptrunc double %1715 to float
  store float %1716, ptr %64, align 4, !tbaa !11
  br label %1765

1717:                                             ; preds = %1670
  %1718 = load ptr, ptr %19, align 8, !tbaa !5
  %1719 = load ptr, ptr %21, align 8, !tbaa !5
  %1720 = load i64, ptr %44, align 8, !tbaa !9
  %1721 = load i64, ptr %30, align 8, !tbaa !9
  %1722 = mul nsw i64 %1720, %1721
  %1723 = add nsw i64 %1722, 1
  %1724 = getelementptr inbounds float, ptr %1719, i64 %1723
  %1725 = load ptr, ptr %27, align 8, !tbaa !5
  %1726 = load ptr, ptr %20, align 8, !tbaa !5
  %1727 = load i64, ptr %1726, align 8, !tbaa !9
  %1728 = add nsw i64 %1727, 1
  %1729 = getelementptr inbounds float, ptr %1725, i64 %1728
  %1730 = call i32 @f2c_scopy(ptr noundef %1718, ptr noundef %1724, ptr noundef @c__1, ptr noundef %1729, ptr noundef @c__1)
  %1731 = load ptr, ptr %27, align 8, !tbaa !5
  %1732 = load i64, ptr %44, align 8, !tbaa !9
  %1733 = getelementptr inbounds float, ptr %1731, i64 %1732
  %1734 = load ptr, ptr %19, align 8, !tbaa !5
  %1735 = load ptr, ptr %27, align 8, !tbaa !5
  %1736 = load ptr, ptr %20, align 8, !tbaa !5
  %1737 = load i64, ptr %1736, align 8, !tbaa !9
  %1738 = add nsw i64 %1737, 1
  %1739 = getelementptr inbounds float, ptr %1735, i64 %1738
  %1740 = load ptr, ptr %22, align 8, !tbaa !5
  %1741 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef %1733, ptr noundef %1734, ptr noundef @c__1, ptr noundef %1739, ptr noundef %1740, ptr noundef %67)
  %1742 = load ptr, ptr %19, align 8, !tbaa !5
  %1743 = load ptr, ptr %27, align 8, !tbaa !5
  %1744 = load ptr, ptr %20, align 8, !tbaa !5
  %1745 = load i64, ptr %1744, align 8, !tbaa !9
  %1746 = add nsw i64 %1745, 1
  %1747 = getelementptr inbounds float, ptr %1743, i64 %1746
  %1748 = load ptr, ptr %21, align 8, !tbaa !5
  %1749 = load i64, ptr %45, align 8, !tbaa !9
  %1750 = load i64, ptr %30, align 8, !tbaa !9
  %1751 = mul nsw i64 %1749, %1750
  %1752 = add nsw i64 %1751, 1
  %1753 = getelementptr inbounds float, ptr %1748, i64 %1752
  %1754 = call double @f2c_sdot(ptr noundef %1742, ptr noundef %1747, ptr noundef @c__1, ptr noundef %1753, ptr noundef @c__1)
  %1755 = load ptr, ptr %27, align 8, !tbaa !5
  %1756 = load i64, ptr %45, align 8, !tbaa !9
  %1757 = getelementptr inbounds float, ptr %1755, i64 %1756
  %1758 = load float, ptr %1757, align 4, !tbaa !11
  %1759 = fpext float %1758 to double
  %1760 = fmul double %1754, %1759
  %1761 = load float, ptr %65, align 4, !tbaa !11
  %1762 = fpext float %1761 to double
  %1763 = fdiv double %1760, %1762
  %1764 = fptrunc double %1763 to float
  store float %1764, ptr %64, align 4, !tbaa !11
  br label %1765

1765:                                             ; preds = %1717, %1683
  br label %1862

1766:                                             ; preds = %1666
  %1767 = load float, ptr %63, align 4, !tbaa !11
  %1768 = load float, ptr %65, align 4, !tbaa !11
  %1769 = load float, ptr %75, align 4, !tbaa !11
  %1770 = fdiv float %1768, %1769
  %1771 = fcmp ole float %1767, %1770
  %1772 = zext i1 %1771 to i32
  %1773 = sext i32 %1772 to i64
  store i64 %1773, ptr %84, align 8, !tbaa !9
  %1774 = load float, ptr %63, align 4, !tbaa !11
  %1775 = load float, ptr %75, align 4, !tbaa !11
  %1776 = load float, ptr %65, align 4, !tbaa !11
  %1777 = fdiv float %1775, %1776
  %1778 = fcmp ogt float %1774, %1777
  br i1 %1778, label %1779, label %1813

1779:                                             ; preds = %1766
  %1780 = load ptr, ptr %19, align 8, !tbaa !5
  %1781 = load ptr, ptr %21, align 8, !tbaa !5
  %1782 = load i64, ptr %44, align 8, !tbaa !9
  %1783 = load i64, ptr %30, align 8, !tbaa !9
  %1784 = mul nsw i64 %1782, %1783
  %1785 = add nsw i64 %1784, 1
  %1786 = getelementptr inbounds float, ptr %1781, i64 %1785
  %1787 = load ptr, ptr %21, align 8, !tbaa !5
  %1788 = load i64, ptr %45, align 8, !tbaa !9
  %1789 = load i64, ptr %30, align 8, !tbaa !9
  %1790 = mul nsw i64 %1788, %1789
  %1791 = add nsw i64 %1790, 1
  %1792 = getelementptr inbounds float, ptr %1787, i64 %1791
  %1793 = call double @f2c_sdot(ptr noundef %1780, ptr noundef %1786, ptr noundef @c__1, ptr noundef %1792, ptr noundef @c__1)
  %1794 = load ptr, ptr %27, align 8, !tbaa !5
  %1795 = load i64, ptr %44, align 8, !tbaa !9
  %1796 = getelementptr inbounds float, ptr %1794, i64 %1795
  %1797 = load float, ptr %1796, align 4, !tbaa !11
  %1798 = fpext float %1797 to double
  %1799 = fmul double %1793, %1798
  %1800 = load ptr, ptr %27, align 8, !tbaa !5
  %1801 = load i64, ptr %45, align 8, !tbaa !9
  %1802 = getelementptr inbounds float, ptr %1800, i64 %1801
  %1803 = load float, ptr %1802, align 4, !tbaa !11
  %1804 = fpext float %1803 to double
  %1805 = fmul double %1799, %1804
  %1806 = load float, ptr %65, align 4, !tbaa !11
  %1807 = fpext float %1806 to double
  %1808 = fdiv double %1805, %1807
  %1809 = load float, ptr %63, align 4, !tbaa !11
  %1810 = fpext float %1809 to double
  %1811 = fdiv double %1808, %1810
  %1812 = fptrunc double %1811 to float
  store float %1812, ptr %64, align 4, !tbaa !11
  br label %1861

1813:                                             ; preds = %1766
  %1814 = load ptr, ptr %19, align 8, !tbaa !5
  %1815 = load ptr, ptr %21, align 8, !tbaa !5
  %1816 = load i64, ptr %45, align 8, !tbaa !9
  %1817 = load i64, ptr %30, align 8, !tbaa !9
  %1818 = mul nsw i64 %1816, %1817
  %1819 = add nsw i64 %1818, 1
  %1820 = getelementptr inbounds float, ptr %1815, i64 %1819
  %1821 = load ptr, ptr %27, align 8, !tbaa !5
  %1822 = load ptr, ptr %20, align 8, !tbaa !5
  %1823 = load i64, ptr %1822, align 8, !tbaa !9
  %1824 = add nsw i64 %1823, 1
  %1825 = getelementptr inbounds float, ptr %1821, i64 %1824
  %1826 = call i32 @f2c_scopy(ptr noundef %1814, ptr noundef %1820, ptr noundef @c__1, ptr noundef %1825, ptr noundef @c__1)
  %1827 = load ptr, ptr %27, align 8, !tbaa !5
  %1828 = load i64, ptr %45, align 8, !tbaa !9
  %1829 = getelementptr inbounds float, ptr %1827, i64 %1828
  %1830 = load ptr, ptr %19, align 8, !tbaa !5
  %1831 = load ptr, ptr %27, align 8, !tbaa !5
  %1832 = load ptr, ptr %20, align 8, !tbaa !5
  %1833 = load i64, ptr %1832, align 8, !tbaa !9
  %1834 = add nsw i64 %1833, 1
  %1835 = getelementptr inbounds float, ptr %1831, i64 %1834
  %1836 = load ptr, ptr %22, align 8, !tbaa !5
  %1837 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef %1829, ptr noundef %1830, ptr noundef @c__1, ptr noundef %1835, ptr noundef %1836, ptr noundef %67)
  %1838 = load ptr, ptr %19, align 8, !tbaa !5
  %1839 = load ptr, ptr %27, align 8, !tbaa !5
  %1840 = load ptr, ptr %20, align 8, !tbaa !5
  %1841 = load i64, ptr %1840, align 8, !tbaa !9
  %1842 = add nsw i64 %1841, 1
  %1843 = getelementptr inbounds float, ptr %1839, i64 %1842
  %1844 = load ptr, ptr %21, align 8, !tbaa !5
  %1845 = load i64, ptr %44, align 8, !tbaa !9
  %1846 = load i64, ptr %30, align 8, !tbaa !9
  %1847 = mul nsw i64 %1845, %1846
  %1848 = add nsw i64 %1847, 1
  %1849 = getelementptr inbounds float, ptr %1844, i64 %1848
  %1850 = call double @f2c_sdot(ptr noundef %1838, ptr noundef %1843, ptr noundef @c__1, ptr noundef %1849, ptr noundef @c__1)
  %1851 = load ptr, ptr %27, align 8, !tbaa !5
  %1852 = load i64, ptr %44, align 8, !tbaa !9
  %1853 = getelementptr inbounds float, ptr %1851, i64 %1852
  %1854 = load float, ptr %1853, align 4, !tbaa !11
  %1855 = fpext float %1854 to double
  %1856 = fmul double %1850, %1855
  %1857 = load float, ptr %63, align 4, !tbaa !11
  %1858 = fpext float %1857 to double
  %1859 = fdiv double %1856, %1858
  %1860 = fptrunc double %1859 to float
  store float %1860, ptr %64, align 4, !tbaa !11
  br label %1861

1861:                                             ; preds = %1813, %1779
  br label %1862

1862:                                             ; preds = %1861, %1765
  %1863 = load float, ptr %88, align 4, !tbaa !11
  store float %1863, ptr %39, align 4, !tbaa !11
  %1864 = load float, ptr %64, align 4, !tbaa !11
  %1865 = fcmp oge float %1864, 0.000000e+00
  br i1 %1865, label %1866, label %1868

1866:                                             ; preds = %1862
  %1867 = load float, ptr %64, align 4, !tbaa !11
  br label %1871

1868:                                             ; preds = %1862
  %1869 = load float, ptr %64, align 4, !tbaa !11
  %1870 = fneg float %1869
  br label %1871

1871:                                             ; preds = %1868, %1866
  %1872 = phi float [ %1867, %1866 ], [ %1870, %1868 ]
  %1873 = fpext float %1872 to double
  %1874 = fptrunc double %1873 to float
  store float %1874, ptr %40, align 4, !tbaa !11
  %1875 = load float, ptr %39, align 4, !tbaa !11
  %1876 = load float, ptr %40, align 4, !tbaa !11
  %1877 = fcmp oge float %1875, %1876
  br i1 %1877, label %1878, label %1880

1878:                                             ; preds = %1871
  %1879 = load float, ptr %39, align 4, !tbaa !11
  br label %1882

1880:                                             ; preds = %1871
  %1881 = load float, ptr %40, align 4, !tbaa !11
  br label %1882

1882:                                             ; preds = %1880, %1878
  %1883 = phi float [ %1879, %1878 ], [ %1881, %1880 ]
  %1884 = fpext float %1883 to double
  %1885 = fptrunc double %1884 to float
  store float %1885, ptr %88, align 4, !tbaa !11
  %1886 = load float, ptr %64, align 4, !tbaa !11
  %1887 = fcmp oge float %1886, 0.000000e+00
  br i1 %1887, label %1888, label %1890

1888:                                             ; preds = %1882
  %1889 = load float, ptr %64, align 4, !tbaa !11
  br label %1893

1890:                                             ; preds = %1882
  %1891 = load float, ptr %64, align 4, !tbaa !11
  %1892 = fneg float %1891
  br label %1893

1893:                                             ; preds = %1890, %1888
  %1894 = phi float [ %1889, %1888 ], [ %1892, %1890 ]
  %1895 = fpext float %1894 to double
  %1896 = load float, ptr %61, align 4, !tbaa !11
  %1897 = fpext float %1896 to double
  %1898 = fcmp ogt double %1895, %1897
  br i1 %1898, label %1899, label %2840

1899:                                             ; preds = %1893
  %1900 = load i64, ptr %53, align 8, !tbaa !9
  %1901 = icmp eq i64 %1900, 0
  br i1 %1901, label %1902, label %1905

1902:                                             ; preds = %1899
  store i64 0, ptr %92, align 8, !tbaa !9
  store i64 0, ptr %42, align 8, !tbaa !9
  %1903 = load i64, ptr %93, align 8, !tbaa !9
  %1904 = add nsw i64 %1903, 1
  store i64 %1904, ptr %93, align 8, !tbaa !9
  br label %1905

1905:                                             ; preds = %1902, %1899
  %1906 = load i64, ptr %84, align 8, !tbaa !9
  %1907 = icmp ne i64 %1906, 0
  br i1 %1907, label %1908, label %2619

1908:                                             ; preds = %1905
  %1909 = load float, ptr %65, align 4, !tbaa !11
  %1910 = load float, ptr %63, align 4, !tbaa !11
  %1911 = fdiv float %1909, %1910
  store float %1911, ptr %73, align 4, !tbaa !11
  %1912 = load float, ptr %63, align 4, !tbaa !11
  %1913 = load float, ptr %65, align 4, !tbaa !11
  %1914 = fdiv float %1912, %1913
  store float %1914, ptr %72, align 4, !tbaa !11
  %1915 = load float, ptr %73, align 4, !tbaa !11
  %1916 = load float, ptr %72, align 4, !tbaa !11
  %1917 = fsub float %1915, %1916
  store float %1917, ptr %39, align 4, !tbaa !11
  %1918 = load float, ptr %39, align 4, !tbaa !11
  %1919 = fcmp oge float %1918, 0.000000e+00
  br i1 %1919, label %1920, label %1922

1920:                                             ; preds = %1908
  %1921 = load float, ptr %39, align 4, !tbaa !11
  br label %1925

1922:                                             ; preds = %1908
  %1923 = load float, ptr %39, align 4, !tbaa !11
  %1924 = fneg float %1923
  br label %1925

1925:                                             ; preds = %1922, %1920
  %1926 = phi float [ %1921, %1920 ], [ %1924, %1922 ]
  %1927 = fpext float %1926 to double
  %1928 = fmul double %1927, -5.000000e-01
  %1929 = load float, ptr %64, align 4, !tbaa !11
  %1930 = fpext float %1929 to double
  %1931 = fdiv double %1928, %1930
  %1932 = fptrunc double %1931 to float
  store float %1932, ptr %74, align 4, !tbaa !11
  %1933 = load float, ptr %74, align 4, !tbaa !11
  %1934 = fcmp oge float %1933, 0.000000e+00
  br i1 %1934, label %1935, label %1937

1935:                                             ; preds = %1925
  %1936 = load float, ptr %74, align 4, !tbaa !11
  br label %1940

1937:                                             ; preds = %1925
  %1938 = load float, ptr %74, align 4, !tbaa !11
  %1939 = fneg float %1938
  br label %1940

1940:                                             ; preds = %1937, %1935
  %1941 = phi float [ %1936, %1935 ], [ %1939, %1937 ]
  %1942 = fpext float %1941 to double
  %1943 = load float, ptr %41, align 4, !tbaa !11
  %1944 = fpext float %1943 to double
  %1945 = fcmp ogt double %1942, %1944
  br i1 %1945, label %1946, label %2065

1946:                                             ; preds = %1940
  %1947 = load float, ptr %74, align 4, !tbaa !11
  %1948 = fdiv float 5.000000e-01, %1947
  store float %1948, ptr %46, align 4, !tbaa !11
  %1949 = load float, ptr %46, align 4, !tbaa !11
  %1950 = load ptr, ptr %27, align 8, !tbaa !5
  %1951 = load i64, ptr %44, align 8, !tbaa !9
  %1952 = getelementptr inbounds float, ptr %1950, i64 %1951
  %1953 = load float, ptr %1952, align 4, !tbaa !11
  %1954 = fmul float %1949, %1953
  %1955 = load ptr, ptr %27, align 8, !tbaa !5
  %1956 = load i64, ptr %45, align 8, !tbaa !9
  %1957 = getelementptr inbounds float, ptr %1955, i64 %1956
  %1958 = load float, ptr %1957, align 4, !tbaa !11
  %1959 = fdiv float %1954, %1958
  %1960 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 2
  store float %1959, ptr %1960, align 8, !tbaa !11
  %1961 = load float, ptr %46, align 4, !tbaa !11
  %1962 = fneg float %1961
  %1963 = load ptr, ptr %27, align 8, !tbaa !5
  %1964 = load i64, ptr %45, align 8, !tbaa !9
  %1965 = getelementptr inbounds float, ptr %1963, i64 %1964
  %1966 = load float, ptr %1965, align 4, !tbaa !11
  %1967 = fmul float %1962, %1966
  %1968 = load ptr, ptr %27, align 8, !tbaa !5
  %1969 = load i64, ptr %44, align 8, !tbaa !9
  %1970 = getelementptr inbounds float, ptr %1968, i64 %1969
  %1971 = load float, ptr %1970, align 4, !tbaa !11
  %1972 = fdiv float %1967, %1971
  %1973 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 3
  store float %1972, ptr %1973, align 4, !tbaa !11
  %1974 = load ptr, ptr %19, align 8, !tbaa !5
  %1975 = load ptr, ptr %21, align 8, !tbaa !5
  %1976 = load i64, ptr %44, align 8, !tbaa !9
  %1977 = load i64, ptr %30, align 8, !tbaa !9
  %1978 = mul nsw i64 %1976, %1977
  %1979 = add nsw i64 %1978, 1
  %1980 = getelementptr inbounds float, ptr %1975, i64 %1979
  %1981 = load ptr, ptr %21, align 8, !tbaa !5
  %1982 = load i64, ptr %45, align 8, !tbaa !9
  %1983 = load i64, ptr %30, align 8, !tbaa !9
  %1984 = mul nsw i64 %1982, %1983
  %1985 = add nsw i64 %1984, 1
  %1986 = getelementptr inbounds float, ptr %1981, i64 %1985
  %1987 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %1988 = call i32 @f2c_srotm(ptr noundef %1974, ptr noundef %1980, ptr noundef @c__1, ptr noundef %1986, ptr noundef @c__1, ptr noundef %1987)
  %1989 = load i64, ptr %80, align 8, !tbaa !9
  %1990 = icmp ne i64 %1989, 0
  br i1 %1990, label %1991, label %2006

1991:                                             ; preds = %1946
  %1992 = load ptr, ptr %25, align 8, !tbaa !5
  %1993 = load i64, ptr %44, align 8, !tbaa !9
  %1994 = load i64, ptr %32, align 8, !tbaa !9
  %1995 = mul nsw i64 %1993, %1994
  %1996 = add nsw i64 %1995, 1
  %1997 = getelementptr inbounds float, ptr %1992, i64 %1996
  %1998 = load ptr, ptr %25, align 8, !tbaa !5
  %1999 = load i64, ptr %45, align 8, !tbaa !9
  %2000 = load i64, ptr %32, align 8, !tbaa !9
  %2001 = mul nsw i64 %1999, %2000
  %2002 = add nsw i64 %2001, 1
  %2003 = getelementptr inbounds float, ptr %1998, i64 %2002
  %2004 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %2005 = call i32 @f2c_srotm(ptr noundef %62, ptr noundef %1997, ptr noundef @c__1, ptr noundef %2003, ptr noundef @c__1, ptr noundef %2004)
  br label %2006

2006:                                             ; preds = %1991, %1946
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %2007 = load float, ptr %46, align 4, !tbaa !11
  %2008 = load float, ptr %72, align 4, !tbaa !11
  %2009 = fmul float %2007, %2008
  %2010 = load float, ptr %64, align 4, !tbaa !11
  %2011 = call float @llvm.fmuladd.f32(float %2009, float %2010, float 1.000000e+00)
  store float %2011, ptr %40, align 4, !tbaa !11
  %2012 = load float, ptr %65, align 4, !tbaa !11
  %2013 = fpext float %2012 to double
  %2014 = load float, ptr %39, align 4, !tbaa !11
  %2015 = load float, ptr %40, align 4, !tbaa !11
  %2016 = fcmp oge float %2014, %2015
  br i1 %2016, label %2017, label %2019

2017:                                             ; preds = %2006
  %2018 = load float, ptr %39, align 4, !tbaa !11
  br label %2021

2019:                                             ; preds = %2006
  %2020 = load float, ptr %40, align 4, !tbaa !11
  br label %2021

2021:                                             ; preds = %2019, %2017
  %2022 = phi float [ %2018, %2017 ], [ %2020, %2019 ]
  %2023 = fpext float %2022 to double
  %2024 = call double @sqrt(double noundef %2023) #5
  %2025 = fmul double %2013, %2024
  %2026 = fptrunc double %2025 to float
  %2027 = load ptr, ptr %23, align 8, !tbaa !5
  %2028 = load i64, ptr %45, align 8, !tbaa !9
  %2029 = getelementptr inbounds float, ptr %2027, i64 %2028
  store float %2026, ptr %2029, align 4, !tbaa !11
  %2030 = load float, ptr %46, align 4, !tbaa !11
  %2031 = load float, ptr %73, align 4, !tbaa !11
  %2032 = fmul float %2030, %2031
  %2033 = load float, ptr %64, align 4, !tbaa !11
  %2034 = fneg float %2032
  %2035 = call float @llvm.fmuladd.f32(float %2034, float %2033, float 1.000000e+00)
  %2036 = fpext float %2035 to double
  %2037 = call double @sqrt(double noundef %2036) #5
  %2038 = load float, ptr %63, align 4, !tbaa !11
  %2039 = fpext float %2038 to double
  %2040 = fmul double %2039, %2037
  %2041 = fptrunc double %2040 to float
  store float %2041, ptr %63, align 4, !tbaa !11
  %2042 = load float, ptr %90, align 4, !tbaa !11
  store float %2042, ptr %39, align 4, !tbaa !11
  %2043 = load float, ptr %46, align 4, !tbaa !11
  %2044 = fcmp oge float %2043, 0.000000e+00
  br i1 %2044, label %2045, label %2047

2045:                                             ; preds = %2021
  %2046 = load float, ptr %46, align 4, !tbaa !11
  br label %2050

2047:                                             ; preds = %2021
  %2048 = load float, ptr %46, align 4, !tbaa !11
  %2049 = fneg float %2048
  br label %2050

2050:                                             ; preds = %2047, %2045
  %2051 = phi float [ %2046, %2045 ], [ %2049, %2047 ]
  %2052 = fpext float %2051 to double
  %2053 = fptrunc double %2052 to float
  store float %2053, ptr %40, align 4, !tbaa !11
  %2054 = load float, ptr %39, align 4, !tbaa !11
  %2055 = load float, ptr %40, align 4, !tbaa !11
  %2056 = fcmp oge float %2054, %2055
  br i1 %2056, label %2057, label %2059

2057:                                             ; preds = %2050
  %2058 = load float, ptr %39, align 4, !tbaa !11
  br label %2061

2059:                                             ; preds = %2050
  %2060 = load float, ptr %40, align 4, !tbaa !11
  br label %2061

2061:                                             ; preds = %2059, %2057
  %2062 = phi float [ %2058, %2057 ], [ %2060, %2059 ]
  %2063 = fpext float %2062 to double
  %2064 = fptrunc double %2063 to float
  store float %2064, ptr %90, align 4, !tbaa !11
  br label %2618

2065:                                             ; preds = %1940
  %2066 = call double @r_sign(ptr noundef @c_b18, ptr noundef %64)
  %2067 = fneg double %2066
  %2068 = fptrunc double %2067 to float
  store float %2068, ptr %89, align 4, !tbaa !11
  %2069 = load float, ptr %74, align 4, !tbaa !11
  %2070 = fpext float %2069 to double
  %2071 = load float, ptr %89, align 4, !tbaa !11
  %2072 = fpext float %2071 to double
  %2073 = load float, ptr %74, align 4, !tbaa !11
  %2074 = load float, ptr %74, align 4, !tbaa !11
  %2075 = call float @llvm.fmuladd.f32(float %2073, float %2074, float 1.000000e+00)
  %2076 = fpext float %2075 to double
  %2077 = call double @sqrt(double noundef %2076) #5
  %2078 = call double @llvm.fmuladd.f64(double %2072, double %2077, double %2070)
  %2079 = fdiv double 1.000000e+00, %2078
  %2080 = fptrunc double %2079 to float
  store float %2080, ptr %46, align 4, !tbaa !11
  %2081 = load float, ptr %46, align 4, !tbaa !11
  %2082 = load float, ptr %46, align 4, !tbaa !11
  %2083 = call float @llvm.fmuladd.f32(float %2081, float %2082, float 1.000000e+00)
  %2084 = fdiv float 1.000000e+00, %2083
  %2085 = fpext float %2084 to double
  %2086 = call double @sqrt(double noundef %2085) #5
  %2087 = fptrunc double %2086 to float
  store float %2087, ptr %51, align 4, !tbaa !11
  %2088 = load float, ptr %46, align 4, !tbaa !11
  %2089 = load float, ptr %51, align 4, !tbaa !11
  %2090 = fmul float %2088, %2089
  store float %2090, ptr %52, align 4, !tbaa !11
  %2091 = load float, ptr %90, align 4, !tbaa !11
  store float %2091, ptr %39, align 4, !tbaa !11
  %2092 = load float, ptr %52, align 4, !tbaa !11
  %2093 = fcmp oge float %2092, 0.000000e+00
  br i1 %2093, label %2094, label %2096

2094:                                             ; preds = %2065
  %2095 = load float, ptr %52, align 4, !tbaa !11
  br label %2099

2096:                                             ; preds = %2065
  %2097 = load float, ptr %52, align 4, !tbaa !11
  %2098 = fneg float %2097
  br label %2099

2099:                                             ; preds = %2096, %2094
  %2100 = phi float [ %2095, %2094 ], [ %2098, %2096 ]
  %2101 = fpext float %2100 to double
  %2102 = fptrunc double %2101 to float
  store float %2102, ptr %40, align 4, !tbaa !11
  %2103 = load float, ptr %39, align 4, !tbaa !11
  %2104 = load float, ptr %40, align 4, !tbaa !11
  %2105 = fcmp oge float %2103, %2104
  br i1 %2105, label %2106, label %2108

2106:                                             ; preds = %2099
  %2107 = load float, ptr %39, align 4, !tbaa !11
  br label %2110

2108:                                             ; preds = %2099
  %2109 = load float, ptr %40, align 4, !tbaa !11
  br label %2110

2110:                                             ; preds = %2108, %2106
  %2111 = phi float [ %2107, %2106 ], [ %2109, %2108 ]
  %2112 = fpext float %2111 to double
  %2113 = fptrunc double %2112 to float
  store float %2113, ptr %90, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %2114 = load float, ptr %46, align 4, !tbaa !11
  %2115 = load float, ptr %72, align 4, !tbaa !11
  %2116 = fmul float %2114, %2115
  %2117 = load float, ptr %64, align 4, !tbaa !11
  %2118 = call float @llvm.fmuladd.f32(float %2116, float %2117, float 1.000000e+00)
  store float %2118, ptr %40, align 4, !tbaa !11
  %2119 = load float, ptr %65, align 4, !tbaa !11
  %2120 = fpext float %2119 to double
  %2121 = load float, ptr %39, align 4, !tbaa !11
  %2122 = load float, ptr %40, align 4, !tbaa !11
  %2123 = fcmp oge float %2121, %2122
  br i1 %2123, label %2124, label %2126

2124:                                             ; preds = %2110
  %2125 = load float, ptr %39, align 4, !tbaa !11
  br label %2128

2126:                                             ; preds = %2110
  %2127 = load float, ptr %40, align 4, !tbaa !11
  br label %2128

2128:                                             ; preds = %2126, %2124
  %2129 = phi float [ %2125, %2124 ], [ %2127, %2126 ]
  %2130 = fpext float %2129 to double
  %2131 = call double @sqrt(double noundef %2130) #5
  %2132 = fmul double %2120, %2131
  %2133 = fptrunc double %2132 to float
  %2134 = load ptr, ptr %23, align 8, !tbaa !5
  %2135 = load i64, ptr %45, align 8, !tbaa !9
  %2136 = getelementptr inbounds float, ptr %2134, i64 %2135
  store float %2133, ptr %2136, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %2137 = load float, ptr %46, align 4, !tbaa !11
  %2138 = load float, ptr %73, align 4, !tbaa !11
  %2139 = fmul float %2137, %2138
  %2140 = load float, ptr %64, align 4, !tbaa !11
  %2141 = fneg float %2139
  %2142 = call float @llvm.fmuladd.f32(float %2141, float %2140, float 1.000000e+00)
  store float %2142, ptr %40, align 4, !tbaa !11
  %2143 = load float, ptr %39, align 4, !tbaa !11
  %2144 = load float, ptr %40, align 4, !tbaa !11
  %2145 = fcmp oge float %2143, %2144
  br i1 %2145, label %2146, label %2148

2146:                                             ; preds = %2128
  %2147 = load float, ptr %39, align 4, !tbaa !11
  br label %2150

2148:                                             ; preds = %2128
  %2149 = load float, ptr %40, align 4, !tbaa !11
  br label %2150

2150:                                             ; preds = %2148, %2146
  %2151 = phi float [ %2147, %2146 ], [ %2149, %2148 ]
  %2152 = fpext float %2151 to double
  %2153 = call double @sqrt(double noundef %2152) #5
  %2154 = load float, ptr %63, align 4, !tbaa !11
  %2155 = fpext float %2154 to double
  %2156 = fmul double %2155, %2153
  %2157 = fptrunc double %2156 to float
  store float %2157, ptr %63, align 4, !tbaa !11
  %2158 = load ptr, ptr %27, align 8, !tbaa !5
  %2159 = load i64, ptr %44, align 8, !tbaa !9
  %2160 = getelementptr inbounds float, ptr %2158, i64 %2159
  %2161 = load float, ptr %2160, align 4, !tbaa !11
  %2162 = load ptr, ptr %27, align 8, !tbaa !5
  %2163 = load i64, ptr %45, align 8, !tbaa !9
  %2164 = getelementptr inbounds float, ptr %2162, i64 %2163
  %2165 = load float, ptr %2164, align 4, !tbaa !11
  %2166 = fdiv float %2161, %2165
  store float %2166, ptr %72, align 4, !tbaa !11
  %2167 = load ptr, ptr %27, align 8, !tbaa !5
  %2168 = load i64, ptr %45, align 8, !tbaa !9
  %2169 = getelementptr inbounds float, ptr %2167, i64 %2168
  %2170 = load float, ptr %2169, align 4, !tbaa !11
  %2171 = load ptr, ptr %27, align 8, !tbaa !5
  %2172 = load i64, ptr %44, align 8, !tbaa !9
  %2173 = getelementptr inbounds float, ptr %2171, i64 %2172
  %2174 = load float, ptr %2173, align 4, !tbaa !11
  %2175 = fdiv float %2170, %2174
  store float %2175, ptr %73, align 4, !tbaa !11
  %2176 = load ptr, ptr %27, align 8, !tbaa !5
  %2177 = load i64, ptr %44, align 8, !tbaa !9
  %2178 = getelementptr inbounds float, ptr %2176, i64 %2177
  %2179 = load float, ptr %2178, align 4, !tbaa !11
  %2180 = fcmp oge float %2179, 1.000000e+00
  br i1 %2180, label %2181, label %2332

2181:                                             ; preds = %2150
  %2182 = load ptr, ptr %27, align 8, !tbaa !5
  %2183 = load i64, ptr %45, align 8, !tbaa !9
  %2184 = getelementptr inbounds float, ptr %2182, i64 %2183
  %2185 = load float, ptr %2184, align 4, !tbaa !11
  %2186 = fcmp oge float %2185, 1.000000e+00
  br i1 %2186, label %2187, label %2242

2187:                                             ; preds = %2181
  %2188 = load float, ptr %46, align 4, !tbaa !11
  %2189 = load float, ptr %72, align 4, !tbaa !11
  %2190 = fmul float %2188, %2189
  %2191 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 2
  store float %2190, ptr %2191, align 8, !tbaa !11
  %2192 = load float, ptr %46, align 4, !tbaa !11
  %2193 = fneg float %2192
  %2194 = load float, ptr %73, align 4, !tbaa !11
  %2195 = fmul float %2193, %2194
  %2196 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 3
  store float %2195, ptr %2196, align 4, !tbaa !11
  %2197 = load float, ptr %51, align 4, !tbaa !11
  %2198 = load ptr, ptr %27, align 8, !tbaa !5
  %2199 = load i64, ptr %44, align 8, !tbaa !9
  %2200 = getelementptr inbounds float, ptr %2198, i64 %2199
  %2201 = load float, ptr %2200, align 4, !tbaa !11
  %2202 = fmul float %2201, %2197
  store float %2202, ptr %2200, align 4, !tbaa !11
  %2203 = load float, ptr %51, align 4, !tbaa !11
  %2204 = load ptr, ptr %27, align 8, !tbaa !5
  %2205 = load i64, ptr %45, align 8, !tbaa !9
  %2206 = getelementptr inbounds float, ptr %2204, i64 %2205
  %2207 = load float, ptr %2206, align 4, !tbaa !11
  %2208 = fmul float %2207, %2203
  store float %2208, ptr %2206, align 4, !tbaa !11
  %2209 = load ptr, ptr %19, align 8, !tbaa !5
  %2210 = load ptr, ptr %21, align 8, !tbaa !5
  %2211 = load i64, ptr %44, align 8, !tbaa !9
  %2212 = load i64, ptr %30, align 8, !tbaa !9
  %2213 = mul nsw i64 %2211, %2212
  %2214 = add nsw i64 %2213, 1
  %2215 = getelementptr inbounds float, ptr %2210, i64 %2214
  %2216 = load ptr, ptr %21, align 8, !tbaa !5
  %2217 = load i64, ptr %45, align 8, !tbaa !9
  %2218 = load i64, ptr %30, align 8, !tbaa !9
  %2219 = mul nsw i64 %2217, %2218
  %2220 = add nsw i64 %2219, 1
  %2221 = getelementptr inbounds float, ptr %2216, i64 %2220
  %2222 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %2223 = call i32 @f2c_srotm(ptr noundef %2209, ptr noundef %2215, ptr noundef @c__1, ptr noundef %2221, ptr noundef @c__1, ptr noundef %2222)
  %2224 = load i64, ptr %80, align 8, !tbaa !9
  %2225 = icmp ne i64 %2224, 0
  br i1 %2225, label %2226, label %2241

2226:                                             ; preds = %2187
  %2227 = load ptr, ptr %25, align 8, !tbaa !5
  %2228 = load i64, ptr %44, align 8, !tbaa !9
  %2229 = load i64, ptr %32, align 8, !tbaa !9
  %2230 = mul nsw i64 %2228, %2229
  %2231 = add nsw i64 %2230, 1
  %2232 = getelementptr inbounds float, ptr %2227, i64 %2231
  %2233 = load ptr, ptr %25, align 8, !tbaa !5
  %2234 = load i64, ptr %45, align 8, !tbaa !9
  %2235 = load i64, ptr %32, align 8, !tbaa !9
  %2236 = mul nsw i64 %2234, %2235
  %2237 = add nsw i64 %2236, 1
  %2238 = getelementptr inbounds float, ptr %2233, i64 %2237
  %2239 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %2240 = call i32 @f2c_srotm(ptr noundef %62, ptr noundef %2232, ptr noundef @c__1, ptr noundef %2238, ptr noundef @c__1, ptr noundef %2239)
  br label %2241

2241:                                             ; preds = %2226, %2187
  br label %2331

2242:                                             ; preds = %2181
  %2243 = load float, ptr %46, align 4, !tbaa !11
  %2244 = fneg float %2243
  %2245 = load float, ptr %73, align 4, !tbaa !11
  %2246 = fmul float %2244, %2245
  store float %2246, ptr %39, align 4, !tbaa !11
  %2247 = load ptr, ptr %19, align 8, !tbaa !5
  %2248 = load ptr, ptr %21, align 8, !tbaa !5
  %2249 = load i64, ptr %45, align 8, !tbaa !9
  %2250 = load i64, ptr %30, align 8, !tbaa !9
  %2251 = mul nsw i64 %2249, %2250
  %2252 = add nsw i64 %2251, 1
  %2253 = getelementptr inbounds float, ptr %2248, i64 %2252
  %2254 = load ptr, ptr %21, align 8, !tbaa !5
  %2255 = load i64, ptr %44, align 8, !tbaa !9
  %2256 = load i64, ptr %30, align 8, !tbaa !9
  %2257 = mul nsw i64 %2255, %2256
  %2258 = add nsw i64 %2257, 1
  %2259 = getelementptr inbounds float, ptr %2254, i64 %2258
  %2260 = call i32 @f2c_saxpy(ptr noundef %2247, ptr noundef %39, ptr noundef %2253, ptr noundef @c__1, ptr noundef %2259, ptr noundef @c__1)
  %2261 = load float, ptr %51, align 4, !tbaa !11
  %2262 = load float, ptr %52, align 4, !tbaa !11
  %2263 = fmul float %2261, %2262
  %2264 = load float, ptr %72, align 4, !tbaa !11
  %2265 = fmul float %2263, %2264
  store float %2265, ptr %39, align 4, !tbaa !11
  %2266 = load ptr, ptr %19, align 8, !tbaa !5
  %2267 = load ptr, ptr %21, align 8, !tbaa !5
  %2268 = load i64, ptr %44, align 8, !tbaa !9
  %2269 = load i64, ptr %30, align 8, !tbaa !9
  %2270 = mul nsw i64 %2268, %2269
  %2271 = add nsw i64 %2270, 1
  %2272 = getelementptr inbounds float, ptr %2267, i64 %2271
  %2273 = load ptr, ptr %21, align 8, !tbaa !5
  %2274 = load i64, ptr %45, align 8, !tbaa !9
  %2275 = load i64, ptr %30, align 8, !tbaa !9
  %2276 = mul nsw i64 %2274, %2275
  %2277 = add nsw i64 %2276, 1
  %2278 = getelementptr inbounds float, ptr %2273, i64 %2277
  %2279 = call i32 @f2c_saxpy(ptr noundef %2266, ptr noundef %39, ptr noundef %2272, ptr noundef @c__1, ptr noundef %2278, ptr noundef @c__1)
  %2280 = load float, ptr %51, align 4, !tbaa !11
  %2281 = load ptr, ptr %27, align 8, !tbaa !5
  %2282 = load i64, ptr %44, align 8, !tbaa !9
  %2283 = getelementptr inbounds float, ptr %2281, i64 %2282
  %2284 = load float, ptr %2283, align 4, !tbaa !11
  %2285 = fmul float %2284, %2280
  store float %2285, ptr %2283, align 4, !tbaa !11
  %2286 = load float, ptr %51, align 4, !tbaa !11
  %2287 = load ptr, ptr %27, align 8, !tbaa !5
  %2288 = load i64, ptr %45, align 8, !tbaa !9
  %2289 = getelementptr inbounds float, ptr %2287, i64 %2288
  %2290 = load float, ptr %2289, align 4, !tbaa !11
  %2291 = fdiv float %2290, %2286
  store float %2291, ptr %2289, align 4, !tbaa !11
  %2292 = load i64, ptr %80, align 8, !tbaa !9
  %2293 = icmp ne i64 %2292, 0
  br i1 %2293, label %2294, label %2330

2294:                                             ; preds = %2242
  %2295 = load float, ptr %46, align 4, !tbaa !11
  %2296 = fneg float %2295
  %2297 = load float, ptr %73, align 4, !tbaa !11
  %2298 = fmul float %2296, %2297
  store float %2298, ptr %39, align 4, !tbaa !11
  %2299 = load ptr, ptr %25, align 8, !tbaa !5
  %2300 = load i64, ptr %45, align 8, !tbaa !9
  %2301 = load i64, ptr %32, align 8, !tbaa !9
  %2302 = mul nsw i64 %2300, %2301
  %2303 = add nsw i64 %2302, 1
  %2304 = getelementptr inbounds float, ptr %2299, i64 %2303
  %2305 = load ptr, ptr %25, align 8, !tbaa !5
  %2306 = load i64, ptr %44, align 8, !tbaa !9
  %2307 = load i64, ptr %32, align 8, !tbaa !9
  %2308 = mul nsw i64 %2306, %2307
  %2309 = add nsw i64 %2308, 1
  %2310 = getelementptr inbounds float, ptr %2305, i64 %2309
  %2311 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2304, ptr noundef @c__1, ptr noundef %2310, ptr noundef @c__1)
  %2312 = load float, ptr %51, align 4, !tbaa !11
  %2313 = load float, ptr %52, align 4, !tbaa !11
  %2314 = fmul float %2312, %2313
  %2315 = load float, ptr %72, align 4, !tbaa !11
  %2316 = fmul float %2314, %2315
  store float %2316, ptr %39, align 4, !tbaa !11
  %2317 = load ptr, ptr %25, align 8, !tbaa !5
  %2318 = load i64, ptr %44, align 8, !tbaa !9
  %2319 = load i64, ptr %32, align 8, !tbaa !9
  %2320 = mul nsw i64 %2318, %2319
  %2321 = add nsw i64 %2320, 1
  %2322 = getelementptr inbounds float, ptr %2317, i64 %2321
  %2323 = load ptr, ptr %25, align 8, !tbaa !5
  %2324 = load i64, ptr %45, align 8, !tbaa !9
  %2325 = load i64, ptr %32, align 8, !tbaa !9
  %2326 = mul nsw i64 %2324, %2325
  %2327 = add nsw i64 %2326, 1
  %2328 = getelementptr inbounds float, ptr %2323, i64 %2327
  %2329 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2322, ptr noundef @c__1, ptr noundef %2328, ptr noundef @c__1)
  br label %2330

2330:                                             ; preds = %2294, %2242
  br label %2331

2331:                                             ; preds = %2330, %2241
  br label %2617

2332:                                             ; preds = %2150
  %2333 = load ptr, ptr %27, align 8, !tbaa !5
  %2334 = load i64, ptr %45, align 8, !tbaa !9
  %2335 = getelementptr inbounds float, ptr %2333, i64 %2334
  %2336 = load float, ptr %2335, align 4, !tbaa !11
  %2337 = fcmp oge float %2336, 1.000000e+00
  br i1 %2337, label %2338, label %2427

2338:                                             ; preds = %2332
  %2339 = load float, ptr %46, align 4, !tbaa !11
  %2340 = load float, ptr %72, align 4, !tbaa !11
  %2341 = fmul float %2339, %2340
  store float %2341, ptr %39, align 4, !tbaa !11
  %2342 = load ptr, ptr %19, align 8, !tbaa !5
  %2343 = load ptr, ptr %21, align 8, !tbaa !5
  %2344 = load i64, ptr %44, align 8, !tbaa !9
  %2345 = load i64, ptr %30, align 8, !tbaa !9
  %2346 = mul nsw i64 %2344, %2345
  %2347 = add nsw i64 %2346, 1
  %2348 = getelementptr inbounds float, ptr %2343, i64 %2347
  %2349 = load ptr, ptr %21, align 8, !tbaa !5
  %2350 = load i64, ptr %45, align 8, !tbaa !9
  %2351 = load i64, ptr %30, align 8, !tbaa !9
  %2352 = mul nsw i64 %2350, %2351
  %2353 = add nsw i64 %2352, 1
  %2354 = getelementptr inbounds float, ptr %2349, i64 %2353
  %2355 = call i32 @f2c_saxpy(ptr noundef %2342, ptr noundef %39, ptr noundef %2348, ptr noundef @c__1, ptr noundef %2354, ptr noundef @c__1)
  %2356 = load float, ptr %51, align 4, !tbaa !11
  %2357 = fneg float %2356
  %2358 = load float, ptr %52, align 4, !tbaa !11
  %2359 = fmul float %2357, %2358
  %2360 = load float, ptr %73, align 4, !tbaa !11
  %2361 = fmul float %2359, %2360
  store float %2361, ptr %39, align 4, !tbaa !11
  %2362 = load ptr, ptr %19, align 8, !tbaa !5
  %2363 = load ptr, ptr %21, align 8, !tbaa !5
  %2364 = load i64, ptr %45, align 8, !tbaa !9
  %2365 = load i64, ptr %30, align 8, !tbaa !9
  %2366 = mul nsw i64 %2364, %2365
  %2367 = add nsw i64 %2366, 1
  %2368 = getelementptr inbounds float, ptr %2363, i64 %2367
  %2369 = load ptr, ptr %21, align 8, !tbaa !5
  %2370 = load i64, ptr %44, align 8, !tbaa !9
  %2371 = load i64, ptr %30, align 8, !tbaa !9
  %2372 = mul nsw i64 %2370, %2371
  %2373 = add nsw i64 %2372, 1
  %2374 = getelementptr inbounds float, ptr %2369, i64 %2373
  %2375 = call i32 @f2c_saxpy(ptr noundef %2362, ptr noundef %39, ptr noundef %2368, ptr noundef @c__1, ptr noundef %2374, ptr noundef @c__1)
  %2376 = load float, ptr %51, align 4, !tbaa !11
  %2377 = load ptr, ptr %27, align 8, !tbaa !5
  %2378 = load i64, ptr %44, align 8, !tbaa !9
  %2379 = getelementptr inbounds float, ptr %2377, i64 %2378
  %2380 = load float, ptr %2379, align 4, !tbaa !11
  %2381 = fdiv float %2380, %2376
  store float %2381, ptr %2379, align 4, !tbaa !11
  %2382 = load float, ptr %51, align 4, !tbaa !11
  %2383 = load ptr, ptr %27, align 8, !tbaa !5
  %2384 = load i64, ptr %45, align 8, !tbaa !9
  %2385 = getelementptr inbounds float, ptr %2383, i64 %2384
  %2386 = load float, ptr %2385, align 4, !tbaa !11
  %2387 = fmul float %2386, %2382
  store float %2387, ptr %2385, align 4, !tbaa !11
  %2388 = load i64, ptr %80, align 8, !tbaa !9
  %2389 = icmp ne i64 %2388, 0
  br i1 %2389, label %2390, label %2426

2390:                                             ; preds = %2338
  %2391 = load float, ptr %46, align 4, !tbaa !11
  %2392 = load float, ptr %72, align 4, !tbaa !11
  %2393 = fmul float %2391, %2392
  store float %2393, ptr %39, align 4, !tbaa !11
  %2394 = load ptr, ptr %25, align 8, !tbaa !5
  %2395 = load i64, ptr %44, align 8, !tbaa !9
  %2396 = load i64, ptr %32, align 8, !tbaa !9
  %2397 = mul nsw i64 %2395, %2396
  %2398 = add nsw i64 %2397, 1
  %2399 = getelementptr inbounds float, ptr %2394, i64 %2398
  %2400 = load ptr, ptr %25, align 8, !tbaa !5
  %2401 = load i64, ptr %45, align 8, !tbaa !9
  %2402 = load i64, ptr %32, align 8, !tbaa !9
  %2403 = mul nsw i64 %2401, %2402
  %2404 = add nsw i64 %2403, 1
  %2405 = getelementptr inbounds float, ptr %2400, i64 %2404
  %2406 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2399, ptr noundef @c__1, ptr noundef %2405, ptr noundef @c__1)
  %2407 = load float, ptr %51, align 4, !tbaa !11
  %2408 = fneg float %2407
  %2409 = load float, ptr %52, align 4, !tbaa !11
  %2410 = fmul float %2408, %2409
  %2411 = load float, ptr %73, align 4, !tbaa !11
  %2412 = fmul float %2410, %2411
  store float %2412, ptr %39, align 4, !tbaa !11
  %2413 = load ptr, ptr %25, align 8, !tbaa !5
  %2414 = load i64, ptr %45, align 8, !tbaa !9
  %2415 = load i64, ptr %32, align 8, !tbaa !9
  %2416 = mul nsw i64 %2414, %2415
  %2417 = add nsw i64 %2416, 1
  %2418 = getelementptr inbounds float, ptr %2413, i64 %2417
  %2419 = load ptr, ptr %25, align 8, !tbaa !5
  %2420 = load i64, ptr %44, align 8, !tbaa !9
  %2421 = load i64, ptr %32, align 8, !tbaa !9
  %2422 = mul nsw i64 %2420, %2421
  %2423 = add nsw i64 %2422, 1
  %2424 = getelementptr inbounds float, ptr %2419, i64 %2423
  %2425 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2418, ptr noundef @c__1, ptr noundef %2424, ptr noundef @c__1)
  br label %2426

2426:                                             ; preds = %2390, %2338
  br label %2616

2427:                                             ; preds = %2332
  %2428 = load ptr, ptr %27, align 8, !tbaa !5
  %2429 = load i64, ptr %44, align 8, !tbaa !9
  %2430 = getelementptr inbounds float, ptr %2428, i64 %2429
  %2431 = load float, ptr %2430, align 4, !tbaa !11
  %2432 = load ptr, ptr %27, align 8, !tbaa !5
  %2433 = load i64, ptr %45, align 8, !tbaa !9
  %2434 = getelementptr inbounds float, ptr %2432, i64 %2433
  %2435 = load float, ptr %2434, align 4, !tbaa !11
  %2436 = fcmp oge float %2431, %2435
  br i1 %2436, label %2437, label %2526

2437:                                             ; preds = %2427
  %2438 = load float, ptr %46, align 4, !tbaa !11
  %2439 = fneg float %2438
  %2440 = load float, ptr %73, align 4, !tbaa !11
  %2441 = fmul float %2439, %2440
  store float %2441, ptr %39, align 4, !tbaa !11
  %2442 = load ptr, ptr %19, align 8, !tbaa !5
  %2443 = load ptr, ptr %21, align 8, !tbaa !5
  %2444 = load i64, ptr %45, align 8, !tbaa !9
  %2445 = load i64, ptr %30, align 8, !tbaa !9
  %2446 = mul nsw i64 %2444, %2445
  %2447 = add nsw i64 %2446, 1
  %2448 = getelementptr inbounds float, ptr %2443, i64 %2447
  %2449 = load ptr, ptr %21, align 8, !tbaa !5
  %2450 = load i64, ptr %44, align 8, !tbaa !9
  %2451 = load i64, ptr %30, align 8, !tbaa !9
  %2452 = mul nsw i64 %2450, %2451
  %2453 = add nsw i64 %2452, 1
  %2454 = getelementptr inbounds float, ptr %2449, i64 %2453
  %2455 = call i32 @f2c_saxpy(ptr noundef %2442, ptr noundef %39, ptr noundef %2448, ptr noundef @c__1, ptr noundef %2454, ptr noundef @c__1)
  %2456 = load float, ptr %51, align 4, !tbaa !11
  %2457 = load float, ptr %52, align 4, !tbaa !11
  %2458 = fmul float %2456, %2457
  %2459 = load float, ptr %72, align 4, !tbaa !11
  %2460 = fmul float %2458, %2459
  store float %2460, ptr %39, align 4, !tbaa !11
  %2461 = load ptr, ptr %19, align 8, !tbaa !5
  %2462 = load ptr, ptr %21, align 8, !tbaa !5
  %2463 = load i64, ptr %44, align 8, !tbaa !9
  %2464 = load i64, ptr %30, align 8, !tbaa !9
  %2465 = mul nsw i64 %2463, %2464
  %2466 = add nsw i64 %2465, 1
  %2467 = getelementptr inbounds float, ptr %2462, i64 %2466
  %2468 = load ptr, ptr %21, align 8, !tbaa !5
  %2469 = load i64, ptr %45, align 8, !tbaa !9
  %2470 = load i64, ptr %30, align 8, !tbaa !9
  %2471 = mul nsw i64 %2469, %2470
  %2472 = add nsw i64 %2471, 1
  %2473 = getelementptr inbounds float, ptr %2468, i64 %2472
  %2474 = call i32 @f2c_saxpy(ptr noundef %2461, ptr noundef %39, ptr noundef %2467, ptr noundef @c__1, ptr noundef %2473, ptr noundef @c__1)
  %2475 = load float, ptr %51, align 4, !tbaa !11
  %2476 = load ptr, ptr %27, align 8, !tbaa !5
  %2477 = load i64, ptr %44, align 8, !tbaa !9
  %2478 = getelementptr inbounds float, ptr %2476, i64 %2477
  %2479 = load float, ptr %2478, align 4, !tbaa !11
  %2480 = fmul float %2479, %2475
  store float %2480, ptr %2478, align 4, !tbaa !11
  %2481 = load float, ptr %51, align 4, !tbaa !11
  %2482 = load ptr, ptr %27, align 8, !tbaa !5
  %2483 = load i64, ptr %45, align 8, !tbaa !9
  %2484 = getelementptr inbounds float, ptr %2482, i64 %2483
  %2485 = load float, ptr %2484, align 4, !tbaa !11
  %2486 = fdiv float %2485, %2481
  store float %2486, ptr %2484, align 4, !tbaa !11
  %2487 = load i64, ptr %80, align 8, !tbaa !9
  %2488 = icmp ne i64 %2487, 0
  br i1 %2488, label %2489, label %2525

2489:                                             ; preds = %2437
  %2490 = load float, ptr %46, align 4, !tbaa !11
  %2491 = fneg float %2490
  %2492 = load float, ptr %73, align 4, !tbaa !11
  %2493 = fmul float %2491, %2492
  store float %2493, ptr %39, align 4, !tbaa !11
  %2494 = load ptr, ptr %25, align 8, !tbaa !5
  %2495 = load i64, ptr %45, align 8, !tbaa !9
  %2496 = load i64, ptr %32, align 8, !tbaa !9
  %2497 = mul nsw i64 %2495, %2496
  %2498 = add nsw i64 %2497, 1
  %2499 = getelementptr inbounds float, ptr %2494, i64 %2498
  %2500 = load ptr, ptr %25, align 8, !tbaa !5
  %2501 = load i64, ptr %44, align 8, !tbaa !9
  %2502 = load i64, ptr %32, align 8, !tbaa !9
  %2503 = mul nsw i64 %2501, %2502
  %2504 = add nsw i64 %2503, 1
  %2505 = getelementptr inbounds float, ptr %2500, i64 %2504
  %2506 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2499, ptr noundef @c__1, ptr noundef %2505, ptr noundef @c__1)
  %2507 = load float, ptr %51, align 4, !tbaa !11
  %2508 = load float, ptr %52, align 4, !tbaa !11
  %2509 = fmul float %2507, %2508
  %2510 = load float, ptr %72, align 4, !tbaa !11
  %2511 = fmul float %2509, %2510
  store float %2511, ptr %39, align 4, !tbaa !11
  %2512 = load ptr, ptr %25, align 8, !tbaa !5
  %2513 = load i64, ptr %44, align 8, !tbaa !9
  %2514 = load i64, ptr %32, align 8, !tbaa !9
  %2515 = mul nsw i64 %2513, %2514
  %2516 = add nsw i64 %2515, 1
  %2517 = getelementptr inbounds float, ptr %2512, i64 %2516
  %2518 = load ptr, ptr %25, align 8, !tbaa !5
  %2519 = load i64, ptr %45, align 8, !tbaa !9
  %2520 = load i64, ptr %32, align 8, !tbaa !9
  %2521 = mul nsw i64 %2519, %2520
  %2522 = add nsw i64 %2521, 1
  %2523 = getelementptr inbounds float, ptr %2518, i64 %2522
  %2524 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2517, ptr noundef @c__1, ptr noundef %2523, ptr noundef @c__1)
  br label %2525

2525:                                             ; preds = %2489, %2437
  br label %2615

2526:                                             ; preds = %2427
  %2527 = load float, ptr %46, align 4, !tbaa !11
  %2528 = load float, ptr %72, align 4, !tbaa !11
  %2529 = fmul float %2527, %2528
  store float %2529, ptr %39, align 4, !tbaa !11
  %2530 = load ptr, ptr %19, align 8, !tbaa !5
  %2531 = load ptr, ptr %21, align 8, !tbaa !5
  %2532 = load i64, ptr %44, align 8, !tbaa !9
  %2533 = load i64, ptr %30, align 8, !tbaa !9
  %2534 = mul nsw i64 %2532, %2533
  %2535 = add nsw i64 %2534, 1
  %2536 = getelementptr inbounds float, ptr %2531, i64 %2535
  %2537 = load ptr, ptr %21, align 8, !tbaa !5
  %2538 = load i64, ptr %45, align 8, !tbaa !9
  %2539 = load i64, ptr %30, align 8, !tbaa !9
  %2540 = mul nsw i64 %2538, %2539
  %2541 = add nsw i64 %2540, 1
  %2542 = getelementptr inbounds float, ptr %2537, i64 %2541
  %2543 = call i32 @f2c_saxpy(ptr noundef %2530, ptr noundef %39, ptr noundef %2536, ptr noundef @c__1, ptr noundef %2542, ptr noundef @c__1)
  %2544 = load float, ptr %51, align 4, !tbaa !11
  %2545 = fneg float %2544
  %2546 = load float, ptr %52, align 4, !tbaa !11
  %2547 = fmul float %2545, %2546
  %2548 = load float, ptr %73, align 4, !tbaa !11
  %2549 = fmul float %2547, %2548
  store float %2549, ptr %39, align 4, !tbaa !11
  %2550 = load ptr, ptr %19, align 8, !tbaa !5
  %2551 = load ptr, ptr %21, align 8, !tbaa !5
  %2552 = load i64, ptr %45, align 8, !tbaa !9
  %2553 = load i64, ptr %30, align 8, !tbaa !9
  %2554 = mul nsw i64 %2552, %2553
  %2555 = add nsw i64 %2554, 1
  %2556 = getelementptr inbounds float, ptr %2551, i64 %2555
  %2557 = load ptr, ptr %21, align 8, !tbaa !5
  %2558 = load i64, ptr %44, align 8, !tbaa !9
  %2559 = load i64, ptr %30, align 8, !tbaa !9
  %2560 = mul nsw i64 %2558, %2559
  %2561 = add nsw i64 %2560, 1
  %2562 = getelementptr inbounds float, ptr %2557, i64 %2561
  %2563 = call i32 @f2c_saxpy(ptr noundef %2550, ptr noundef %39, ptr noundef %2556, ptr noundef @c__1, ptr noundef %2562, ptr noundef @c__1)
  %2564 = load float, ptr %51, align 4, !tbaa !11
  %2565 = load ptr, ptr %27, align 8, !tbaa !5
  %2566 = load i64, ptr %44, align 8, !tbaa !9
  %2567 = getelementptr inbounds float, ptr %2565, i64 %2566
  %2568 = load float, ptr %2567, align 4, !tbaa !11
  %2569 = fdiv float %2568, %2564
  store float %2569, ptr %2567, align 4, !tbaa !11
  %2570 = load float, ptr %51, align 4, !tbaa !11
  %2571 = load ptr, ptr %27, align 8, !tbaa !5
  %2572 = load i64, ptr %45, align 8, !tbaa !9
  %2573 = getelementptr inbounds float, ptr %2571, i64 %2572
  %2574 = load float, ptr %2573, align 4, !tbaa !11
  %2575 = fmul float %2574, %2570
  store float %2575, ptr %2573, align 4, !tbaa !11
  %2576 = load i64, ptr %80, align 8, !tbaa !9
  %2577 = icmp ne i64 %2576, 0
  br i1 %2577, label %2578, label %2614

2578:                                             ; preds = %2526
  %2579 = load float, ptr %46, align 4, !tbaa !11
  %2580 = load float, ptr %72, align 4, !tbaa !11
  %2581 = fmul float %2579, %2580
  store float %2581, ptr %39, align 4, !tbaa !11
  %2582 = load ptr, ptr %25, align 8, !tbaa !5
  %2583 = load i64, ptr %44, align 8, !tbaa !9
  %2584 = load i64, ptr %32, align 8, !tbaa !9
  %2585 = mul nsw i64 %2583, %2584
  %2586 = add nsw i64 %2585, 1
  %2587 = getelementptr inbounds float, ptr %2582, i64 %2586
  %2588 = load ptr, ptr %25, align 8, !tbaa !5
  %2589 = load i64, ptr %45, align 8, !tbaa !9
  %2590 = load i64, ptr %32, align 8, !tbaa !9
  %2591 = mul nsw i64 %2589, %2590
  %2592 = add nsw i64 %2591, 1
  %2593 = getelementptr inbounds float, ptr %2588, i64 %2592
  %2594 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2587, ptr noundef @c__1, ptr noundef %2593, ptr noundef @c__1)
  %2595 = load float, ptr %51, align 4, !tbaa !11
  %2596 = fneg float %2595
  %2597 = load float, ptr %52, align 4, !tbaa !11
  %2598 = fmul float %2596, %2597
  %2599 = load float, ptr %73, align 4, !tbaa !11
  %2600 = fmul float %2598, %2599
  store float %2600, ptr %39, align 4, !tbaa !11
  %2601 = load ptr, ptr %25, align 8, !tbaa !5
  %2602 = load i64, ptr %45, align 8, !tbaa !9
  %2603 = load i64, ptr %32, align 8, !tbaa !9
  %2604 = mul nsw i64 %2602, %2603
  %2605 = add nsw i64 %2604, 1
  %2606 = getelementptr inbounds float, ptr %2601, i64 %2605
  %2607 = load ptr, ptr %25, align 8, !tbaa !5
  %2608 = load i64, ptr %44, align 8, !tbaa !9
  %2609 = load i64, ptr %32, align 8, !tbaa !9
  %2610 = mul nsw i64 %2608, %2609
  %2611 = add nsw i64 %2610, 1
  %2612 = getelementptr inbounds float, ptr %2607, i64 %2611
  %2613 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %2606, ptr noundef @c__1, ptr noundef %2612, ptr noundef @c__1)
  br label %2614

2614:                                             ; preds = %2578, %2526
  br label %2615

2615:                                             ; preds = %2614, %2525
  br label %2616

2616:                                             ; preds = %2615, %2426
  br label %2617

2617:                                             ; preds = %2616, %2331
  br label %2618

2618:                                             ; preds = %2617, %2061
  br label %2717

2619:                                             ; preds = %1905
  %2620 = load ptr, ptr %19, align 8, !tbaa !5
  %2621 = load ptr, ptr %21, align 8, !tbaa !5
  %2622 = load i64, ptr %44, align 8, !tbaa !9
  %2623 = load i64, ptr %30, align 8, !tbaa !9
  %2624 = mul nsw i64 %2622, %2623
  %2625 = add nsw i64 %2624, 1
  %2626 = getelementptr inbounds float, ptr %2621, i64 %2625
  %2627 = load ptr, ptr %27, align 8, !tbaa !5
  %2628 = load ptr, ptr %20, align 8, !tbaa !5
  %2629 = load i64, ptr %2628, align 8, !tbaa !9
  %2630 = add nsw i64 %2629, 1
  %2631 = getelementptr inbounds float, ptr %2627, i64 %2630
  %2632 = call i32 @f2c_scopy(ptr noundef %2620, ptr noundef %2626, ptr noundef @c__1, ptr noundef %2631, ptr noundef @c__1)
  %2633 = load ptr, ptr %19, align 8, !tbaa !5
  %2634 = load ptr, ptr %27, align 8, !tbaa !5
  %2635 = load ptr, ptr %20, align 8, !tbaa !5
  %2636 = load i64, ptr %2635, align 8, !tbaa !9
  %2637 = add nsw i64 %2636, 1
  %2638 = getelementptr inbounds float, ptr %2634, i64 %2637
  %2639 = load ptr, ptr %22, align 8, !tbaa !5
  %2640 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef @c_b18, ptr noundef %2633, ptr noundef @c__1, ptr noundef %2638, ptr noundef %2639, ptr noundef %67)
  %2641 = load ptr, ptr %19, align 8, !tbaa !5
  %2642 = load ptr, ptr %21, align 8, !tbaa !5
  %2643 = load i64, ptr %45, align 8, !tbaa !9
  %2644 = load i64, ptr %30, align 8, !tbaa !9
  %2645 = mul nsw i64 %2643, %2644
  %2646 = add nsw i64 %2645, 1
  %2647 = getelementptr inbounds float, ptr %2642, i64 %2646
  %2648 = load ptr, ptr %22, align 8, !tbaa !5
  %2649 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef @c_b18, ptr noundef %2641, ptr noundef @c__1, ptr noundef %2647, ptr noundef %2648, ptr noundef %67)
  %2650 = load float, ptr %64, align 4, !tbaa !11
  %2651 = fneg float %2650
  %2652 = load ptr, ptr %27, align 8, !tbaa !5
  %2653 = load i64, ptr %44, align 8, !tbaa !9
  %2654 = getelementptr inbounds float, ptr %2652, i64 %2653
  %2655 = load float, ptr %2654, align 4, !tbaa !11
  %2656 = fmul float %2651, %2655
  %2657 = load ptr, ptr %27, align 8, !tbaa !5
  %2658 = load i64, ptr %45, align 8, !tbaa !9
  %2659 = getelementptr inbounds float, ptr %2657, i64 %2658
  %2660 = load float, ptr %2659, align 4, !tbaa !11
  %2661 = fdiv float %2656, %2660
  store float %2661, ptr %69, align 4, !tbaa !11
  %2662 = load ptr, ptr %19, align 8, !tbaa !5
  %2663 = load ptr, ptr %27, align 8, !tbaa !5
  %2664 = load ptr, ptr %20, align 8, !tbaa !5
  %2665 = load i64, ptr %2664, align 8, !tbaa !9
  %2666 = add nsw i64 %2665, 1
  %2667 = getelementptr inbounds float, ptr %2663, i64 %2666
  %2668 = load ptr, ptr %21, align 8, !tbaa !5
  %2669 = load i64, ptr %45, align 8, !tbaa !9
  %2670 = load i64, ptr %30, align 8, !tbaa !9
  %2671 = mul nsw i64 %2669, %2670
  %2672 = add nsw i64 %2671, 1
  %2673 = getelementptr inbounds float, ptr %2668, i64 %2672
  %2674 = call i32 @f2c_saxpy(ptr noundef %2662, ptr noundef %69, ptr noundef %2667, ptr noundef @c__1, ptr noundef %2673, ptr noundef @c__1)
  %2675 = load ptr, ptr %19, align 8, !tbaa !5
  %2676 = load ptr, ptr %21, align 8, !tbaa !5
  %2677 = load i64, ptr %45, align 8, !tbaa !9
  %2678 = load i64, ptr %30, align 8, !tbaa !9
  %2679 = mul nsw i64 %2677, %2678
  %2680 = add nsw i64 %2679, 1
  %2681 = getelementptr inbounds float, ptr %2676, i64 %2680
  %2682 = load ptr, ptr %22, align 8, !tbaa !5
  %2683 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %65, ptr noundef %2675, ptr noundef @c__1, ptr noundef %2681, ptr noundef %2682, ptr noundef %67)
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %2684 = load float, ptr %64, align 4, !tbaa !11
  %2685 = load float, ptr %64, align 4, !tbaa !11
  %2686 = fneg float %2684
  %2687 = call float @llvm.fmuladd.f32(float %2686, float %2685, float 1.000000e+00)
  store float %2687, ptr %40, align 4, !tbaa !11
  %2688 = load float, ptr %65, align 4, !tbaa !11
  %2689 = fpext float %2688 to double
  %2690 = load float, ptr %39, align 4, !tbaa !11
  %2691 = load float, ptr %40, align 4, !tbaa !11
  %2692 = fcmp oge float %2690, %2691
  br i1 %2692, label %2693, label %2695

2693:                                             ; preds = %2619
  %2694 = load float, ptr %39, align 4, !tbaa !11
  br label %2697

2695:                                             ; preds = %2619
  %2696 = load float, ptr %40, align 4, !tbaa !11
  br label %2697

2697:                                             ; preds = %2695, %2693
  %2698 = phi float [ %2694, %2693 ], [ %2696, %2695 ]
  %2699 = fpext float %2698 to double
  %2700 = call double @sqrt(double noundef %2699) #5
  %2701 = fmul double %2689, %2700
  %2702 = fptrunc double %2701 to float
  %2703 = load ptr, ptr %23, align 8, !tbaa !5
  %2704 = load i64, ptr %45, align 8, !tbaa !9
  %2705 = getelementptr inbounds float, ptr %2703, i64 %2704
  store float %2702, ptr %2705, align 4, !tbaa !11
  %2706 = load float, ptr %90, align 4, !tbaa !11
  %2707 = load float, ptr %76, align 4, !tbaa !11
  %2708 = fcmp oge float %2706, %2707
  br i1 %2708, label %2709, label %2711

2709:                                             ; preds = %2697
  %2710 = load float, ptr %90, align 4, !tbaa !11
  br label %2713

2711:                                             ; preds = %2697
  %2712 = load float, ptr %76, align 4, !tbaa !11
  br label %2713

2713:                                             ; preds = %2711, %2709
  %2714 = phi float [ %2710, %2709 ], [ %2712, %2711 ]
  %2715 = fpext float %2714 to double
  %2716 = fptrunc double %2715 to float
  store float %2716, ptr %90, align 4, !tbaa !11
  br label %2717

2717:                                             ; preds = %2713, %2618
  %2718 = load ptr, ptr %23, align 8, !tbaa !5
  %2719 = load i64, ptr %45, align 8, !tbaa !9
  %2720 = getelementptr inbounds float, ptr %2718, i64 %2719
  %2721 = load float, ptr %2720, align 4, !tbaa !11
  %2722 = load float, ptr %65, align 4, !tbaa !11
  %2723 = fdiv float %2721, %2722
  store float %2723, ptr %39, align 4, !tbaa !11
  %2724 = load float, ptr %39, align 4, !tbaa !11
  %2725 = load float, ptr %39, align 4, !tbaa !11
  %2726 = fmul float %2724, %2725
  %2727 = load float, ptr %99, align 4, !tbaa !11
  %2728 = fcmp ole float %2726, %2727
  br i1 %2728, label %2729, label %2782

2729:                                             ; preds = %2717
  %2730 = load float, ptr %65, align 4, !tbaa !11
  %2731 = load float, ptr %97, align 4, !tbaa !11
  %2732 = fcmp olt float %2730, %2731
  br i1 %2732, label %2733, label %2756

2733:                                             ; preds = %2729
  %2734 = load float, ptr %65, align 4, !tbaa !11
  %2735 = load float, ptr %49, align 4, !tbaa !11
  %2736 = fcmp ogt float %2734, %2735
  br i1 %2736, label %2737, label %2756

2737:                                             ; preds = %2733
  %2738 = load ptr, ptr %19, align 8, !tbaa !5
  %2739 = load ptr, ptr %21, align 8, !tbaa !5
  %2740 = load i64, ptr %45, align 8, !tbaa !9
  %2741 = load i64, ptr %30, align 8, !tbaa !9
  %2742 = mul nsw i64 %2740, %2741
  %2743 = add nsw i64 %2742, 1
  %2744 = getelementptr inbounds float, ptr %2739, i64 %2743
  %2745 = call double @f2c_snrm2(ptr noundef %2738, ptr noundef %2744, ptr noundef @c__1)
  %2746 = load ptr, ptr %27, align 8, !tbaa !5
  %2747 = load i64, ptr %45, align 8, !tbaa !9
  %2748 = getelementptr inbounds float, ptr %2746, i64 %2747
  %2749 = load float, ptr %2748, align 4, !tbaa !11
  %2750 = fpext float %2749 to double
  %2751 = fmul double %2745, %2750
  %2752 = fptrunc double %2751 to float
  %2753 = load ptr, ptr %23, align 8, !tbaa !5
  %2754 = load i64, ptr %45, align 8, !tbaa !9
  %2755 = getelementptr inbounds float, ptr %2753, i64 %2754
  store float %2752, ptr %2755, align 4, !tbaa !11
  br label %2781

2756:                                             ; preds = %2733, %2729
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  store float 0.000000e+00, ptr %65, align 4, !tbaa !11
  %2757 = load ptr, ptr %19, align 8, !tbaa !5
  %2758 = load ptr, ptr %21, align 8, !tbaa !5
  %2759 = load i64, ptr %45, align 8, !tbaa !9
  %2760 = load i64, ptr %30, align 8, !tbaa !9
  %2761 = mul nsw i64 %2759, %2760
  %2762 = add nsw i64 %2761, 1
  %2763 = getelementptr inbounds float, ptr %2758, i64 %2762
  %2764 = call i32 @slassq_(ptr noundef %2757, ptr noundef %2763, ptr noundef @c__1, ptr noundef %46, ptr noundef %65)
  %2765 = load float, ptr %46, align 4, !tbaa !11
  %2766 = fpext float %2765 to double
  %2767 = load float, ptr %65, align 4, !tbaa !11
  %2768 = fpext float %2767 to double
  %2769 = call double @sqrt(double noundef %2768) #5
  %2770 = fmul double %2766, %2769
  %2771 = load ptr, ptr %27, align 8, !tbaa !5
  %2772 = load i64, ptr %45, align 8, !tbaa !9
  %2773 = getelementptr inbounds float, ptr %2771, i64 %2772
  %2774 = load float, ptr %2773, align 4, !tbaa !11
  %2775 = fpext float %2774 to double
  %2776 = fmul double %2770, %2775
  %2777 = fptrunc double %2776 to float
  %2778 = load ptr, ptr %23, align 8, !tbaa !5
  %2779 = load i64, ptr %45, align 8, !tbaa !9
  %2780 = getelementptr inbounds float, ptr %2778, i64 %2779
  store float %2777, ptr %2780, align 4, !tbaa !11
  br label %2781

2781:                                             ; preds = %2756, %2737
  br label %2782

2782:                                             ; preds = %2781, %2717
  %2783 = load float, ptr %63, align 4, !tbaa !11
  %2784 = load float, ptr %68, align 4, !tbaa !11
  %2785 = fdiv float %2783, %2784
  %2786 = load float, ptr %99, align 4, !tbaa !11
  %2787 = fcmp ole float %2785, %2786
  br i1 %2787, label %2788, label %2839

2788:                                             ; preds = %2782
  %2789 = load float, ptr %63, align 4, !tbaa !11
  %2790 = load float, ptr %97, align 4, !tbaa !11
  %2791 = fcmp olt float %2789, %2790
  br i1 %2791, label %2792, label %2812

2792:                                             ; preds = %2788
  %2793 = load float, ptr %63, align 4, !tbaa !11
  %2794 = load float, ptr %49, align 4, !tbaa !11
  %2795 = fcmp ogt float %2793, %2794
  br i1 %2795, label %2796, label %2812

2796:                                             ; preds = %2792
  %2797 = load ptr, ptr %19, align 8, !tbaa !5
  %2798 = load ptr, ptr %21, align 8, !tbaa !5
  %2799 = load i64, ptr %44, align 8, !tbaa !9
  %2800 = load i64, ptr %30, align 8, !tbaa !9
  %2801 = mul nsw i64 %2799, %2800
  %2802 = add nsw i64 %2801, 1
  %2803 = getelementptr inbounds float, ptr %2798, i64 %2802
  %2804 = call double @f2c_snrm2(ptr noundef %2797, ptr noundef %2803, ptr noundef @c__1)
  %2805 = load ptr, ptr %27, align 8, !tbaa !5
  %2806 = load i64, ptr %44, align 8, !tbaa !9
  %2807 = getelementptr inbounds float, ptr %2805, i64 %2806
  %2808 = load float, ptr %2807, align 4, !tbaa !11
  %2809 = fpext float %2808 to double
  %2810 = fmul double %2804, %2809
  %2811 = fptrunc double %2810 to float
  store float %2811, ptr %63, align 4, !tbaa !11
  br label %2834

2812:                                             ; preds = %2792, %2788
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %2813 = load ptr, ptr %19, align 8, !tbaa !5
  %2814 = load ptr, ptr %21, align 8, !tbaa !5
  %2815 = load i64, ptr %44, align 8, !tbaa !9
  %2816 = load i64, ptr %30, align 8, !tbaa !9
  %2817 = mul nsw i64 %2815, %2816
  %2818 = add nsw i64 %2817, 1
  %2819 = getelementptr inbounds float, ptr %2814, i64 %2818
  %2820 = call i32 @slassq_(ptr noundef %2813, ptr noundef %2819, ptr noundef @c__1, ptr noundef %46, ptr noundef %63)
  %2821 = load float, ptr %46, align 4, !tbaa !11
  %2822 = fpext float %2821 to double
  %2823 = load float, ptr %63, align 4, !tbaa !11
  %2824 = fpext float %2823 to double
  %2825 = call double @sqrt(double noundef %2824) #5
  %2826 = fmul double %2822, %2825
  %2827 = load ptr, ptr %27, align 8, !tbaa !5
  %2828 = load i64, ptr %44, align 8, !tbaa !9
  %2829 = getelementptr inbounds float, ptr %2827, i64 %2828
  %2830 = load float, ptr %2829, align 4, !tbaa !11
  %2831 = fpext float %2830 to double
  %2832 = fmul double %2826, %2831
  %2833 = fptrunc double %2832 to float
  store float %2833, ptr %63, align 4, !tbaa !11
  br label %2834

2834:                                             ; preds = %2812, %2796
  %2835 = load float, ptr %63, align 4, !tbaa !11
  %2836 = load ptr, ptr %23, align 8, !tbaa !5
  %2837 = load i64, ptr %44, align 8, !tbaa !9
  %2838 = getelementptr inbounds float, ptr %2836, i64 %2837
  store float %2835, ptr %2838, align 4, !tbaa !11
  br label %2839

2839:                                             ; preds = %2834, %2782
  br label %2849

2840:                                             ; preds = %1893
  %2841 = load i64, ptr %53, align 8, !tbaa !9
  %2842 = icmp eq i64 %2841, 0
  br i1 %2842, label %2843, label %2846

2843:                                             ; preds = %2840
  %2844 = load i64, ptr %92, align 8, !tbaa !9
  %2845 = add nsw i64 %2844, 1
  store i64 %2845, ptr %92, align 8, !tbaa !9
  br label %2846

2846:                                             ; preds = %2843, %2840
  %2847 = load i64, ptr %42, align 8, !tbaa !9
  %2848 = add nsw i64 %2847, 1
  store i64 %2848, ptr %42, align 8, !tbaa !9
  br label %2849

2849:                                             ; preds = %2846, %2839
  br label %2859

2850:                                             ; preds = %1659
  %2851 = load i64, ptr %53, align 8, !tbaa !9
  %2852 = icmp eq i64 %2851, 0
  br i1 %2852, label %2853, label %2856

2853:                                             ; preds = %2850
  %2854 = load i64, ptr %92, align 8, !tbaa !9
  %2855 = add nsw i64 %2854, 1
  store i64 %2855, ptr %92, align 8, !tbaa !9
  br label %2856

2856:                                             ; preds = %2853, %2850
  %2857 = load i64, ptr %42, align 8, !tbaa !9
  %2858 = add nsw i64 %2857, 1
  store i64 %2858, ptr %42, align 8, !tbaa !9
  br label %2859

2859:                                             ; preds = %2856, %2849
  %2860 = load i64, ptr %43, align 8, !tbaa !9
  %2861 = load i64, ptr %86, align 8, !tbaa !9
  %2862 = icmp sle i64 %2860, %2861
  br i1 %2862, label %2863, label %2874

2863:                                             ; preds = %2859
  %2864 = load i64, ptr %42, align 8, !tbaa !9
  %2865 = load i64, ptr %100, align 8, !tbaa !9
  %2866 = icmp sgt i64 %2864, %2865
  br i1 %2866, label %2867, label %2874

2867:                                             ; preds = %2863
  %2868 = load i64, ptr %53, align 8, !tbaa !9
  %2869 = icmp eq i64 %2868, 0
  br i1 %2869, label %2870, label %2873

2870:                                             ; preds = %2867
  %2871 = load float, ptr %63, align 4, !tbaa !11
  %2872 = fneg float %2871
  store float %2872, ptr %63, align 4, !tbaa !11
  br label %2873

2873:                                             ; preds = %2870, %2867
  store i64 0, ptr %92, align 8, !tbaa !9
  br label %2879

2874:                                             ; preds = %2863, %2859
  br label %2875

2875:                                             ; preds = %2874
  %2876 = load i64, ptr %45, align 8, !tbaa !9
  %2877 = add nsw i64 %2876, 1
  store i64 %2877, ptr %45, align 8, !tbaa !9
  br label %1655, !llvm.loop !22

2878:                                             ; preds = %1655
  br label %2879

2879:                                             ; preds = %2878, %2873
  %2880 = load float, ptr %63, align 4, !tbaa !11
  %2881 = load ptr, ptr %23, align 8, !tbaa !5
  %2882 = load i64, ptr %44, align 8, !tbaa !9
  %2883 = getelementptr inbounds float, ptr %2881, i64 %2882
  store float %2880, ptr %2883, align 4, !tbaa !11
  br label %2915

2884:                                             ; preds = %1634
  %2885 = load float, ptr %63, align 4, !tbaa !11
  %2886 = load ptr, ptr %23, align 8, !tbaa !5
  %2887 = load i64, ptr %44, align 8, !tbaa !9
  %2888 = getelementptr inbounds float, ptr %2886, i64 %2887
  store float %2885, ptr %2888, align 4, !tbaa !11
  %2889 = load i64, ptr %53, align 8, !tbaa !9
  %2890 = icmp eq i64 %2889, 0
  br i1 %2890, label %2891, label %2914

2891:                                             ; preds = %2884
  %2892 = load float, ptr %63, align 4, !tbaa !11
  %2893 = fcmp oeq float %2892, 0.000000e+00
  br i1 %2893, label %2894, label %2914

2894:                                             ; preds = %2891
  %2895 = load i64, ptr %57, align 8, !tbaa !9
  %2896 = load i64, ptr %56, align 8, !tbaa !9
  %2897 = add nsw i64 %2895, %2896
  %2898 = sub nsw i64 %2897, 1
  store i64 %2898, ptr %37, align 8, !tbaa !9
  %2899 = load i64, ptr %92, align 8, !tbaa !9
  %2900 = load i64, ptr %37, align 8, !tbaa !9
  %2901 = load ptr, ptr %20, align 8, !tbaa !5
  %2902 = load i64, ptr %2901, align 8, !tbaa !9
  %2903 = icmp sle i64 %2900, %2902
  br i1 %2903, label %2904, label %2906

2904:                                             ; preds = %2894
  %2905 = load i64, ptr %37, align 8, !tbaa !9
  br label %2909

2906:                                             ; preds = %2894
  %2907 = load ptr, ptr %20, align 8, !tbaa !5
  %2908 = load i64, ptr %2907, align 8, !tbaa !9
  br label %2909

2909:                                             ; preds = %2906, %2904
  %2910 = phi i64 [ %2905, %2904 ], [ %2908, %2906 ]
  %2911 = add nsw i64 %2899, %2910
  %2912 = load i64, ptr %44, align 8, !tbaa !9
  %2913 = sub nsw i64 %2911, %2912
  store i64 %2913, ptr %92, align 8, !tbaa !9
  br label %2914

2914:                                             ; preds = %2909, %2891, %2884
  br label %2915

2915:                                             ; preds = %2914, %2879
  br label %2916

2916:                                             ; preds = %2915
  %2917 = load i64, ptr %44, align 8, !tbaa !9
  %2918 = add nsw i64 %2917, 1
  store i64 %2918, ptr %44, align 8, !tbaa !9
  br label %1481, !llvm.loop !23

2919:                                             ; preds = %1481
  br label %2920

2920:                                             ; preds = %2919
  %2921 = load i64, ptr %53, align 8, !tbaa !9
  %2922 = add nsw i64 %2921, 1
  store i64 %2922, ptr %53, align 8, !tbaa !9
  br label %1454, !llvm.loop !24

2923:                                             ; preds = %1454
  %2924 = load i64, ptr %58, align 8, !tbaa !9
  %2925 = sub nsw i64 %2924, 1
  %2926 = load i64, ptr %56, align 8, !tbaa !9
  %2927 = mul nsw i64 %2925, %2926
  %2928 = add nsw i64 %2927, 1
  store i64 %2928, ptr %57, align 8, !tbaa !9
  %2929 = load i64, ptr %60, align 8, !tbaa !9
  store i64 %2929, ptr %35, align 8, !tbaa !9
  %2930 = load i64, ptr %58, align 8, !tbaa !9
  %2931 = add nsw i64 %2930, 1
  store i64 %2931, ptr %54, align 8, !tbaa !9
  br label %2932

2932:                                             ; preds = %4396, %2923
  %2933 = load i64, ptr %54, align 8, !tbaa !9
  %2934 = load i64, ptr %35, align 8, !tbaa !9
  %2935 = icmp sle i64 %2933, %2934
  br i1 %2935, label %2936, label %4399

2936:                                             ; preds = %2932
  %2937 = load i64, ptr %54, align 8, !tbaa !9
  %2938 = sub nsw i64 %2937, 1
  %2939 = load i64, ptr %56, align 8, !tbaa !9
  %2940 = mul nsw i64 %2938, %2939
  %2941 = add nsw i64 %2940, 1
  store i64 %2941, ptr %59, align 8, !tbaa !9
  store i64 0, ptr %85, align 8, !tbaa !9
  %2942 = load i64, ptr %57, align 8, !tbaa !9
  %2943 = load i64, ptr %56, align 8, !tbaa !9
  %2944 = add nsw i64 %2942, %2943
  %2945 = sub nsw i64 %2944, 1
  store i64 %2945, ptr %37, align 8, !tbaa !9
  %2946 = load i64, ptr %37, align 8, !tbaa !9
  %2947 = load ptr, ptr %20, align 8, !tbaa !5
  %2948 = load i64, ptr %2947, align 8, !tbaa !9
  %2949 = icmp sle i64 %2946, %2948
  br i1 %2949, label %2950, label %2952

2950:                                             ; preds = %2936
  %2951 = load i64, ptr %37, align 8, !tbaa !9
  br label %2955

2952:                                             ; preds = %2936
  %2953 = load ptr, ptr %20, align 8, !tbaa !5
  %2954 = load i64, ptr %2953, align 8, !tbaa !9
  br label %2955

2955:                                             ; preds = %2952, %2950
  %2956 = phi i64 [ %2951, %2950 ], [ %2954, %2952 ]
  store i64 %2956, ptr %36, align 8, !tbaa !9
  %2957 = load i64, ptr %57, align 8, !tbaa !9
  store i64 %2957, ptr %44, align 8, !tbaa !9
  br label %2958

2958:                                             ; preds = %4392, %2955
  %2959 = load i64, ptr %44, align 8, !tbaa !9
  %2960 = load i64, ptr %36, align 8, !tbaa !9
  %2961 = icmp sle i64 %2959, %2960
  br i1 %2961, label %2962, label %4395

2962:                                             ; preds = %2958
  %2963 = load ptr, ptr %23, align 8, !tbaa !5
  %2964 = load i64, ptr %44, align 8, !tbaa !9
  %2965 = getelementptr inbounds float, ptr %2963, i64 %2964
  %2966 = load float, ptr %2965, align 4, !tbaa !11
  store float %2966, ptr %63, align 4, !tbaa !11
  %2967 = load float, ptr %63, align 4, !tbaa !11
  %2968 = fcmp ogt float %2967, 0.000000e+00
  br i1 %2968, label %2969, label %4362

2969:                                             ; preds = %2962
  store i64 0, ptr %42, align 8, !tbaa !9
  %2970 = load i64, ptr %59, align 8, !tbaa !9
  %2971 = load i64, ptr %56, align 8, !tbaa !9
  %2972 = add nsw i64 %2970, %2971
  %2973 = sub nsw i64 %2972, 1
  store i64 %2973, ptr %38, align 8, !tbaa !9
  %2974 = load i64, ptr %38, align 8, !tbaa !9
  %2975 = load ptr, ptr %20, align 8, !tbaa !5
  %2976 = load i64, ptr %2975, align 8, !tbaa !9
  %2977 = icmp sle i64 %2974, %2976
  br i1 %2977, label %2978, label %2980

2978:                                             ; preds = %2969
  %2979 = load i64, ptr %38, align 8, !tbaa !9
  br label %2983

2980:                                             ; preds = %2969
  %2981 = load ptr, ptr %20, align 8, !tbaa !5
  %2982 = load i64, ptr %2981, align 8, !tbaa !9
  br label %2983

2983:                                             ; preds = %2980, %2978
  %2984 = phi i64 [ %2979, %2978 ], [ %2982, %2980 ]
  store i64 %2984, ptr %37, align 8, !tbaa !9
  %2985 = load i64, ptr %59, align 8, !tbaa !9
  store i64 %2985, ptr %45, align 8, !tbaa !9
  br label %2986

2986:                                             ; preds = %4353, %2983
  %2987 = load i64, ptr %45, align 8, !tbaa !9
  %2988 = load i64, ptr %37, align 8, !tbaa !9
  %2989 = icmp sle i64 %2987, %2988
  br i1 %2989, label %2990, label %4356

2990:                                             ; preds = %2986
  %2991 = load ptr, ptr %23, align 8, !tbaa !5
  %2992 = load i64, ptr %45, align 8, !tbaa !9
  %2993 = getelementptr inbounds float, ptr %2991, i64 %2992
  %2994 = load float, ptr %2993, align 4, !tbaa !11
  store float %2994, ptr %65, align 4, !tbaa !11
  %2995 = load float, ptr %65, align 4, !tbaa !11
  %2996 = fcmp ogt float %2995, 0.000000e+00
  br i1 %2996, label %2997, label %4321

2997:                                             ; preds = %2990
  %2998 = load float, ptr %63, align 4, !tbaa !11
  store float %2998, ptr %68, align 4, !tbaa !11
  %2999 = load float, ptr %65, align 4, !tbaa !11
  %3000 = fcmp oge float %2999, 1.000000e+00
  br i1 %3000, label %3001, label %3110

3001:                                             ; preds = %2997
  %3002 = load float, ptr %63, align 4, !tbaa !11
  %3003 = load float, ptr %65, align 4, !tbaa !11
  %3004 = fcmp oge float %3002, %3003
  br i1 %3004, label %3005, label %3013

3005:                                             ; preds = %3001
  %3006 = load float, ptr %75, align 4, !tbaa !11
  %3007 = load float, ptr %63, align 4, !tbaa !11
  %3008 = fmul float %3006, %3007
  %3009 = load float, ptr %65, align 4, !tbaa !11
  %3010 = fcmp ole float %3008, %3009
  %3011 = zext i1 %3010 to i32
  %3012 = sext i32 %3011 to i64
  store i64 %3012, ptr %84, align 8, !tbaa !9
  br label %3021

3013:                                             ; preds = %3001
  %3014 = load float, ptr %75, align 4, !tbaa !11
  %3015 = load float, ptr %65, align 4, !tbaa !11
  %3016 = fmul float %3014, %3015
  %3017 = load float, ptr %63, align 4, !tbaa !11
  %3018 = fcmp ole float %3016, %3017
  %3019 = zext i1 %3018 to i32
  %3020 = sext i32 %3019 to i64
  store i64 %3020, ptr %84, align 8, !tbaa !9
  br label %3021

3021:                                             ; preds = %3013, %3005
  %3022 = load float, ptr %63, align 4, !tbaa !11
  %3023 = load float, ptr %55, align 4, !tbaa !11
  %3024 = load float, ptr %65, align 4, !tbaa !11
  %3025 = fdiv float %3023, %3024
  %3026 = fcmp olt float %3022, %3025
  br i1 %3026, label %3027, label %3061

3027:                                             ; preds = %3021
  %3028 = load ptr, ptr %19, align 8, !tbaa !5
  %3029 = load ptr, ptr %21, align 8, !tbaa !5
  %3030 = load i64, ptr %44, align 8, !tbaa !9
  %3031 = load i64, ptr %30, align 8, !tbaa !9
  %3032 = mul nsw i64 %3030, %3031
  %3033 = add nsw i64 %3032, 1
  %3034 = getelementptr inbounds float, ptr %3029, i64 %3033
  %3035 = load ptr, ptr %21, align 8, !tbaa !5
  %3036 = load i64, ptr %45, align 8, !tbaa !9
  %3037 = load i64, ptr %30, align 8, !tbaa !9
  %3038 = mul nsw i64 %3036, %3037
  %3039 = add nsw i64 %3038, 1
  %3040 = getelementptr inbounds float, ptr %3035, i64 %3039
  %3041 = call double @f2c_sdot(ptr noundef %3028, ptr noundef %3034, ptr noundef @c__1, ptr noundef %3040, ptr noundef @c__1)
  %3042 = load ptr, ptr %27, align 8, !tbaa !5
  %3043 = load i64, ptr %44, align 8, !tbaa !9
  %3044 = getelementptr inbounds float, ptr %3042, i64 %3043
  %3045 = load float, ptr %3044, align 4, !tbaa !11
  %3046 = fpext float %3045 to double
  %3047 = fmul double %3041, %3046
  %3048 = load ptr, ptr %27, align 8, !tbaa !5
  %3049 = load i64, ptr %45, align 8, !tbaa !9
  %3050 = getelementptr inbounds float, ptr %3048, i64 %3049
  %3051 = load float, ptr %3050, align 4, !tbaa !11
  %3052 = fpext float %3051 to double
  %3053 = fmul double %3047, %3052
  %3054 = load float, ptr %65, align 4, !tbaa !11
  %3055 = fpext float %3054 to double
  %3056 = fdiv double %3053, %3055
  %3057 = load float, ptr %63, align 4, !tbaa !11
  %3058 = fpext float %3057 to double
  %3059 = fdiv double %3056, %3058
  %3060 = fptrunc double %3059 to float
  store float %3060, ptr %64, align 4, !tbaa !11
  br label %3109

3061:                                             ; preds = %3021
  %3062 = load ptr, ptr %19, align 8, !tbaa !5
  %3063 = load ptr, ptr %21, align 8, !tbaa !5
  %3064 = load i64, ptr %44, align 8, !tbaa !9
  %3065 = load i64, ptr %30, align 8, !tbaa !9
  %3066 = mul nsw i64 %3064, %3065
  %3067 = add nsw i64 %3066, 1
  %3068 = getelementptr inbounds float, ptr %3063, i64 %3067
  %3069 = load ptr, ptr %27, align 8, !tbaa !5
  %3070 = load ptr, ptr %20, align 8, !tbaa !5
  %3071 = load i64, ptr %3070, align 8, !tbaa !9
  %3072 = add nsw i64 %3071, 1
  %3073 = getelementptr inbounds float, ptr %3069, i64 %3072
  %3074 = call i32 @f2c_scopy(ptr noundef %3062, ptr noundef %3068, ptr noundef @c__1, ptr noundef %3073, ptr noundef @c__1)
  %3075 = load ptr, ptr %27, align 8, !tbaa !5
  %3076 = load i64, ptr %44, align 8, !tbaa !9
  %3077 = getelementptr inbounds float, ptr %3075, i64 %3076
  %3078 = load ptr, ptr %19, align 8, !tbaa !5
  %3079 = load ptr, ptr %27, align 8, !tbaa !5
  %3080 = load ptr, ptr %20, align 8, !tbaa !5
  %3081 = load i64, ptr %3080, align 8, !tbaa !9
  %3082 = add nsw i64 %3081, 1
  %3083 = getelementptr inbounds float, ptr %3079, i64 %3082
  %3084 = load ptr, ptr %22, align 8, !tbaa !5
  %3085 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef %3077, ptr noundef %3078, ptr noundef @c__1, ptr noundef %3083, ptr noundef %3084, ptr noundef %67)
  %3086 = load ptr, ptr %19, align 8, !tbaa !5
  %3087 = load ptr, ptr %27, align 8, !tbaa !5
  %3088 = load ptr, ptr %20, align 8, !tbaa !5
  %3089 = load i64, ptr %3088, align 8, !tbaa !9
  %3090 = add nsw i64 %3089, 1
  %3091 = getelementptr inbounds float, ptr %3087, i64 %3090
  %3092 = load ptr, ptr %21, align 8, !tbaa !5
  %3093 = load i64, ptr %45, align 8, !tbaa !9
  %3094 = load i64, ptr %30, align 8, !tbaa !9
  %3095 = mul nsw i64 %3093, %3094
  %3096 = add nsw i64 %3095, 1
  %3097 = getelementptr inbounds float, ptr %3092, i64 %3096
  %3098 = call double @f2c_sdot(ptr noundef %3086, ptr noundef %3091, ptr noundef @c__1, ptr noundef %3097, ptr noundef @c__1)
  %3099 = load ptr, ptr %27, align 8, !tbaa !5
  %3100 = load i64, ptr %45, align 8, !tbaa !9
  %3101 = getelementptr inbounds float, ptr %3099, i64 %3100
  %3102 = load float, ptr %3101, align 4, !tbaa !11
  %3103 = fpext float %3102 to double
  %3104 = fmul double %3098, %3103
  %3105 = load float, ptr %65, align 4, !tbaa !11
  %3106 = fpext float %3105 to double
  %3107 = fdiv double %3104, %3106
  %3108 = fptrunc double %3107 to float
  store float %3108, ptr %64, align 4, !tbaa !11
  br label %3109

3109:                                             ; preds = %3061, %3027
  br label %3219

3110:                                             ; preds = %2997
  %3111 = load float, ptr %63, align 4, !tbaa !11
  %3112 = load float, ptr %65, align 4, !tbaa !11
  %3113 = fcmp oge float %3111, %3112
  br i1 %3113, label %3114, label %3122

3114:                                             ; preds = %3110
  %3115 = load float, ptr %63, align 4, !tbaa !11
  %3116 = load float, ptr %65, align 4, !tbaa !11
  %3117 = load float, ptr %75, align 4, !tbaa !11
  %3118 = fdiv float %3116, %3117
  %3119 = fcmp ole float %3115, %3118
  %3120 = zext i1 %3119 to i32
  %3121 = sext i32 %3120 to i64
  store i64 %3121, ptr %84, align 8, !tbaa !9
  br label %3130

3122:                                             ; preds = %3110
  %3123 = load float, ptr %65, align 4, !tbaa !11
  %3124 = load float, ptr %63, align 4, !tbaa !11
  %3125 = load float, ptr %75, align 4, !tbaa !11
  %3126 = fdiv float %3124, %3125
  %3127 = fcmp ole float %3123, %3126
  %3128 = zext i1 %3127 to i32
  %3129 = sext i32 %3128 to i64
  store i64 %3129, ptr %84, align 8, !tbaa !9
  br label %3130

3130:                                             ; preds = %3122, %3114
  %3131 = load float, ptr %63, align 4, !tbaa !11
  %3132 = load float, ptr %75, align 4, !tbaa !11
  %3133 = load float, ptr %65, align 4, !tbaa !11
  %3134 = fdiv float %3132, %3133
  %3135 = fcmp ogt float %3131, %3134
  br i1 %3135, label %3136, label %3170

3136:                                             ; preds = %3130
  %3137 = load ptr, ptr %19, align 8, !tbaa !5
  %3138 = load ptr, ptr %21, align 8, !tbaa !5
  %3139 = load i64, ptr %44, align 8, !tbaa !9
  %3140 = load i64, ptr %30, align 8, !tbaa !9
  %3141 = mul nsw i64 %3139, %3140
  %3142 = add nsw i64 %3141, 1
  %3143 = getelementptr inbounds float, ptr %3138, i64 %3142
  %3144 = load ptr, ptr %21, align 8, !tbaa !5
  %3145 = load i64, ptr %45, align 8, !tbaa !9
  %3146 = load i64, ptr %30, align 8, !tbaa !9
  %3147 = mul nsw i64 %3145, %3146
  %3148 = add nsw i64 %3147, 1
  %3149 = getelementptr inbounds float, ptr %3144, i64 %3148
  %3150 = call double @f2c_sdot(ptr noundef %3137, ptr noundef %3143, ptr noundef @c__1, ptr noundef %3149, ptr noundef @c__1)
  %3151 = load ptr, ptr %27, align 8, !tbaa !5
  %3152 = load i64, ptr %44, align 8, !tbaa !9
  %3153 = getelementptr inbounds float, ptr %3151, i64 %3152
  %3154 = load float, ptr %3153, align 4, !tbaa !11
  %3155 = fpext float %3154 to double
  %3156 = fmul double %3150, %3155
  %3157 = load ptr, ptr %27, align 8, !tbaa !5
  %3158 = load i64, ptr %45, align 8, !tbaa !9
  %3159 = getelementptr inbounds float, ptr %3157, i64 %3158
  %3160 = load float, ptr %3159, align 4, !tbaa !11
  %3161 = fpext float %3160 to double
  %3162 = fmul double %3156, %3161
  %3163 = load float, ptr %65, align 4, !tbaa !11
  %3164 = fpext float %3163 to double
  %3165 = fdiv double %3162, %3164
  %3166 = load float, ptr %63, align 4, !tbaa !11
  %3167 = fpext float %3166 to double
  %3168 = fdiv double %3165, %3167
  %3169 = fptrunc double %3168 to float
  store float %3169, ptr %64, align 4, !tbaa !11
  br label %3218

3170:                                             ; preds = %3130
  %3171 = load ptr, ptr %19, align 8, !tbaa !5
  %3172 = load ptr, ptr %21, align 8, !tbaa !5
  %3173 = load i64, ptr %45, align 8, !tbaa !9
  %3174 = load i64, ptr %30, align 8, !tbaa !9
  %3175 = mul nsw i64 %3173, %3174
  %3176 = add nsw i64 %3175, 1
  %3177 = getelementptr inbounds float, ptr %3172, i64 %3176
  %3178 = load ptr, ptr %27, align 8, !tbaa !5
  %3179 = load ptr, ptr %20, align 8, !tbaa !5
  %3180 = load i64, ptr %3179, align 8, !tbaa !9
  %3181 = add nsw i64 %3180, 1
  %3182 = getelementptr inbounds float, ptr %3178, i64 %3181
  %3183 = call i32 @f2c_scopy(ptr noundef %3171, ptr noundef %3177, ptr noundef @c__1, ptr noundef %3182, ptr noundef @c__1)
  %3184 = load ptr, ptr %27, align 8, !tbaa !5
  %3185 = load i64, ptr %45, align 8, !tbaa !9
  %3186 = getelementptr inbounds float, ptr %3184, i64 %3185
  %3187 = load ptr, ptr %19, align 8, !tbaa !5
  %3188 = load ptr, ptr %27, align 8, !tbaa !5
  %3189 = load ptr, ptr %20, align 8, !tbaa !5
  %3190 = load i64, ptr %3189, align 8, !tbaa !9
  %3191 = add nsw i64 %3190, 1
  %3192 = getelementptr inbounds float, ptr %3188, i64 %3191
  %3193 = load ptr, ptr %22, align 8, !tbaa !5
  %3194 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef %3186, ptr noundef %3187, ptr noundef @c__1, ptr noundef %3192, ptr noundef %3193, ptr noundef %67)
  %3195 = load ptr, ptr %19, align 8, !tbaa !5
  %3196 = load ptr, ptr %27, align 8, !tbaa !5
  %3197 = load ptr, ptr %20, align 8, !tbaa !5
  %3198 = load i64, ptr %3197, align 8, !tbaa !9
  %3199 = add nsw i64 %3198, 1
  %3200 = getelementptr inbounds float, ptr %3196, i64 %3199
  %3201 = load ptr, ptr %21, align 8, !tbaa !5
  %3202 = load i64, ptr %44, align 8, !tbaa !9
  %3203 = load i64, ptr %30, align 8, !tbaa !9
  %3204 = mul nsw i64 %3202, %3203
  %3205 = add nsw i64 %3204, 1
  %3206 = getelementptr inbounds float, ptr %3201, i64 %3205
  %3207 = call double @f2c_sdot(ptr noundef %3195, ptr noundef %3200, ptr noundef @c__1, ptr noundef %3206, ptr noundef @c__1)
  %3208 = load ptr, ptr %27, align 8, !tbaa !5
  %3209 = load i64, ptr %44, align 8, !tbaa !9
  %3210 = getelementptr inbounds float, ptr %3208, i64 %3209
  %3211 = load float, ptr %3210, align 4, !tbaa !11
  %3212 = fpext float %3211 to double
  %3213 = fmul double %3207, %3212
  %3214 = load float, ptr %63, align 4, !tbaa !11
  %3215 = fpext float %3214 to double
  %3216 = fdiv double %3213, %3215
  %3217 = fptrunc double %3216 to float
  store float %3217, ptr %64, align 4, !tbaa !11
  br label %3218

3218:                                             ; preds = %3170, %3136
  br label %3219

3219:                                             ; preds = %3218, %3109
  %3220 = load float, ptr %88, align 4, !tbaa !11
  store float %3220, ptr %39, align 4, !tbaa !11
  %3221 = load float, ptr %64, align 4, !tbaa !11
  %3222 = fcmp oge float %3221, 0.000000e+00
  br i1 %3222, label %3223, label %3225

3223:                                             ; preds = %3219
  %3224 = load float, ptr %64, align 4, !tbaa !11
  br label %3228

3225:                                             ; preds = %3219
  %3226 = load float, ptr %64, align 4, !tbaa !11
  %3227 = fneg float %3226
  br label %3228

3228:                                             ; preds = %3225, %3223
  %3229 = phi float [ %3224, %3223 ], [ %3227, %3225 ]
  %3230 = fpext float %3229 to double
  %3231 = fptrunc double %3230 to float
  store float %3231, ptr %40, align 4, !tbaa !11
  %3232 = load float, ptr %39, align 4, !tbaa !11
  %3233 = load float, ptr %40, align 4, !tbaa !11
  %3234 = fcmp oge float %3232, %3233
  br i1 %3234, label %3235, label %3237

3235:                                             ; preds = %3228
  %3236 = load float, ptr %39, align 4, !tbaa !11
  br label %3239

3237:                                             ; preds = %3228
  %3238 = load float, ptr %40, align 4, !tbaa !11
  br label %3239

3239:                                             ; preds = %3237, %3235
  %3240 = phi float [ %3236, %3235 ], [ %3238, %3237 ]
  %3241 = fpext float %3240 to double
  %3242 = fptrunc double %3241 to float
  store float %3242, ptr %88, align 4, !tbaa !11
  %3243 = load float, ptr %64, align 4, !tbaa !11
  %3244 = fcmp oge float %3243, 0.000000e+00
  br i1 %3244, label %3245, label %3247

3245:                                             ; preds = %3239
  %3246 = load float, ptr %64, align 4, !tbaa !11
  br label %3250

3247:                                             ; preds = %3239
  %3248 = load float, ptr %64, align 4, !tbaa !11
  %3249 = fneg float %3248
  br label %3250

3250:                                             ; preds = %3247, %3245
  %3251 = phi float [ %3246, %3245 ], [ %3249, %3247 ]
  %3252 = fpext float %3251 to double
  %3253 = load float, ptr %61, align 4, !tbaa !11
  %3254 = fpext float %3253 to double
  %3255 = fcmp ogt double %3252, %3254
  br i1 %3255, label %3256, label %4313

3256:                                             ; preds = %3250
  store i64 0, ptr %92, align 8, !tbaa !9
  store i64 0, ptr %42, align 8, !tbaa !9
  %3257 = load i64, ptr %93, align 8, !tbaa !9
  %3258 = add nsw i64 %3257, 1
  store i64 %3258, ptr %93, align 8, !tbaa !9
  %3259 = load i64, ptr %84, align 8, !tbaa !9
  %3260 = icmp ne i64 %3259, 0
  br i1 %3260, label %3261, label %3986

3261:                                             ; preds = %3256
  %3262 = load float, ptr %65, align 4, !tbaa !11
  %3263 = load float, ptr %63, align 4, !tbaa !11
  %3264 = fdiv float %3262, %3263
  store float %3264, ptr %73, align 4, !tbaa !11
  %3265 = load float, ptr %63, align 4, !tbaa !11
  %3266 = load float, ptr %65, align 4, !tbaa !11
  %3267 = fdiv float %3265, %3266
  store float %3267, ptr %72, align 4, !tbaa !11
  %3268 = load float, ptr %73, align 4, !tbaa !11
  %3269 = load float, ptr %72, align 4, !tbaa !11
  %3270 = fsub float %3268, %3269
  store float %3270, ptr %39, align 4, !tbaa !11
  %3271 = load float, ptr %39, align 4, !tbaa !11
  %3272 = fcmp oge float %3271, 0.000000e+00
  br i1 %3272, label %3273, label %3275

3273:                                             ; preds = %3261
  %3274 = load float, ptr %39, align 4, !tbaa !11
  br label %3278

3275:                                             ; preds = %3261
  %3276 = load float, ptr %39, align 4, !tbaa !11
  %3277 = fneg float %3276
  br label %3278

3278:                                             ; preds = %3275, %3273
  %3279 = phi float [ %3274, %3273 ], [ %3277, %3275 ]
  %3280 = fpext float %3279 to double
  %3281 = fmul double %3280, -5.000000e-01
  %3282 = load float, ptr %64, align 4, !tbaa !11
  %3283 = fpext float %3282 to double
  %3284 = fdiv double %3281, %3283
  %3285 = fptrunc double %3284 to float
  store float %3285, ptr %74, align 4, !tbaa !11
  %3286 = load float, ptr %65, align 4, !tbaa !11
  %3287 = load float, ptr %68, align 4, !tbaa !11
  %3288 = fcmp ogt float %3286, %3287
  br i1 %3288, label %3289, label %3292

3289:                                             ; preds = %3278
  %3290 = load float, ptr %74, align 4, !tbaa !11
  %3291 = fneg float %3290
  store float %3291, ptr %74, align 4, !tbaa !11
  br label %3292

3292:                                             ; preds = %3289, %3278
  %3293 = load float, ptr %74, align 4, !tbaa !11
  %3294 = fcmp oge float %3293, 0.000000e+00
  br i1 %3294, label %3295, label %3297

3295:                                             ; preds = %3292
  %3296 = load float, ptr %74, align 4, !tbaa !11
  br label %3300

3297:                                             ; preds = %3292
  %3298 = load float, ptr %74, align 4, !tbaa !11
  %3299 = fneg float %3298
  br label %3300

3300:                                             ; preds = %3297, %3295
  %3301 = phi float [ %3296, %3295 ], [ %3299, %3297 ]
  %3302 = fpext float %3301 to double
  %3303 = load float, ptr %41, align 4, !tbaa !11
  %3304 = fpext float %3303 to double
  %3305 = fcmp ogt double %3302, %3304
  br i1 %3305, label %3306, label %3434

3306:                                             ; preds = %3300
  %3307 = load float, ptr %74, align 4, !tbaa !11
  %3308 = fdiv float 5.000000e-01, %3307
  store float %3308, ptr %46, align 4, !tbaa !11
  %3309 = load float, ptr %46, align 4, !tbaa !11
  %3310 = load ptr, ptr %27, align 8, !tbaa !5
  %3311 = load i64, ptr %44, align 8, !tbaa !9
  %3312 = getelementptr inbounds float, ptr %3310, i64 %3311
  %3313 = load float, ptr %3312, align 4, !tbaa !11
  %3314 = fmul float %3309, %3313
  %3315 = load ptr, ptr %27, align 8, !tbaa !5
  %3316 = load i64, ptr %45, align 8, !tbaa !9
  %3317 = getelementptr inbounds float, ptr %3315, i64 %3316
  %3318 = load float, ptr %3317, align 4, !tbaa !11
  %3319 = fdiv float %3314, %3318
  %3320 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 2
  store float %3319, ptr %3320, align 8, !tbaa !11
  %3321 = load float, ptr %46, align 4, !tbaa !11
  %3322 = fneg float %3321
  %3323 = load ptr, ptr %27, align 8, !tbaa !5
  %3324 = load i64, ptr %45, align 8, !tbaa !9
  %3325 = getelementptr inbounds float, ptr %3323, i64 %3324
  %3326 = load float, ptr %3325, align 4, !tbaa !11
  %3327 = fmul float %3322, %3326
  %3328 = load ptr, ptr %27, align 8, !tbaa !5
  %3329 = load i64, ptr %44, align 8, !tbaa !9
  %3330 = getelementptr inbounds float, ptr %3328, i64 %3329
  %3331 = load float, ptr %3330, align 4, !tbaa !11
  %3332 = fdiv float %3327, %3331
  %3333 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 3
  store float %3332, ptr %3333, align 4, !tbaa !11
  %3334 = load ptr, ptr %19, align 8, !tbaa !5
  %3335 = load ptr, ptr %21, align 8, !tbaa !5
  %3336 = load i64, ptr %44, align 8, !tbaa !9
  %3337 = load i64, ptr %30, align 8, !tbaa !9
  %3338 = mul nsw i64 %3336, %3337
  %3339 = add nsw i64 %3338, 1
  %3340 = getelementptr inbounds float, ptr %3335, i64 %3339
  %3341 = load ptr, ptr %21, align 8, !tbaa !5
  %3342 = load i64, ptr %45, align 8, !tbaa !9
  %3343 = load i64, ptr %30, align 8, !tbaa !9
  %3344 = mul nsw i64 %3342, %3343
  %3345 = add nsw i64 %3344, 1
  %3346 = getelementptr inbounds float, ptr %3341, i64 %3345
  %3347 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %3348 = call i32 @f2c_srotm(ptr noundef %3334, ptr noundef %3340, ptr noundef @c__1, ptr noundef %3346, ptr noundef @c__1, ptr noundef %3347)
  %3349 = load i64, ptr %80, align 8, !tbaa !9
  %3350 = icmp ne i64 %3349, 0
  br i1 %3350, label %3351, label %3366

3351:                                             ; preds = %3306
  %3352 = load ptr, ptr %25, align 8, !tbaa !5
  %3353 = load i64, ptr %44, align 8, !tbaa !9
  %3354 = load i64, ptr %32, align 8, !tbaa !9
  %3355 = mul nsw i64 %3353, %3354
  %3356 = add nsw i64 %3355, 1
  %3357 = getelementptr inbounds float, ptr %3352, i64 %3356
  %3358 = load ptr, ptr %25, align 8, !tbaa !5
  %3359 = load i64, ptr %45, align 8, !tbaa !9
  %3360 = load i64, ptr %32, align 8, !tbaa !9
  %3361 = mul nsw i64 %3359, %3360
  %3362 = add nsw i64 %3361, 1
  %3363 = getelementptr inbounds float, ptr %3358, i64 %3362
  %3364 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %3365 = call i32 @f2c_srotm(ptr noundef %62, ptr noundef %3357, ptr noundef @c__1, ptr noundef %3363, ptr noundef @c__1, ptr noundef %3364)
  br label %3366

3366:                                             ; preds = %3351, %3306
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %3367 = load float, ptr %46, align 4, !tbaa !11
  %3368 = load float, ptr %72, align 4, !tbaa !11
  %3369 = fmul float %3367, %3368
  %3370 = load float, ptr %64, align 4, !tbaa !11
  %3371 = call float @llvm.fmuladd.f32(float %3369, float %3370, float 1.000000e+00)
  store float %3371, ptr %40, align 4, !tbaa !11
  %3372 = load float, ptr %65, align 4, !tbaa !11
  %3373 = fpext float %3372 to double
  %3374 = load float, ptr %39, align 4, !tbaa !11
  %3375 = load float, ptr %40, align 4, !tbaa !11
  %3376 = fcmp oge float %3374, %3375
  br i1 %3376, label %3377, label %3379

3377:                                             ; preds = %3366
  %3378 = load float, ptr %39, align 4, !tbaa !11
  br label %3381

3379:                                             ; preds = %3366
  %3380 = load float, ptr %40, align 4, !tbaa !11
  br label %3381

3381:                                             ; preds = %3379, %3377
  %3382 = phi float [ %3378, %3377 ], [ %3380, %3379 ]
  %3383 = fpext float %3382 to double
  %3384 = call double @sqrt(double noundef %3383) #5
  %3385 = fmul double %3373, %3384
  %3386 = fptrunc double %3385 to float
  %3387 = load ptr, ptr %23, align 8, !tbaa !5
  %3388 = load i64, ptr %45, align 8, !tbaa !9
  %3389 = getelementptr inbounds float, ptr %3387, i64 %3388
  store float %3386, ptr %3389, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %3390 = load float, ptr %46, align 4, !tbaa !11
  %3391 = load float, ptr %73, align 4, !tbaa !11
  %3392 = fmul float %3390, %3391
  %3393 = load float, ptr %64, align 4, !tbaa !11
  %3394 = fneg float %3392
  %3395 = call float @llvm.fmuladd.f32(float %3394, float %3393, float 1.000000e+00)
  store float %3395, ptr %40, align 4, !tbaa !11
  %3396 = load float, ptr %39, align 4, !tbaa !11
  %3397 = load float, ptr %40, align 4, !tbaa !11
  %3398 = fcmp oge float %3396, %3397
  br i1 %3398, label %3399, label %3401

3399:                                             ; preds = %3381
  %3400 = load float, ptr %39, align 4, !tbaa !11
  br label %3403

3401:                                             ; preds = %3381
  %3402 = load float, ptr %40, align 4, !tbaa !11
  br label %3403

3403:                                             ; preds = %3401, %3399
  %3404 = phi float [ %3400, %3399 ], [ %3402, %3401 ]
  %3405 = fpext float %3404 to double
  %3406 = call double @sqrt(double noundef %3405) #5
  %3407 = load float, ptr %63, align 4, !tbaa !11
  %3408 = fpext float %3407 to double
  %3409 = fmul double %3408, %3406
  %3410 = fptrunc double %3409 to float
  store float %3410, ptr %63, align 4, !tbaa !11
  %3411 = load float, ptr %90, align 4, !tbaa !11
  store float %3411, ptr %39, align 4, !tbaa !11
  %3412 = load float, ptr %46, align 4, !tbaa !11
  %3413 = fcmp oge float %3412, 0.000000e+00
  br i1 %3413, label %3414, label %3416

3414:                                             ; preds = %3403
  %3415 = load float, ptr %46, align 4, !tbaa !11
  br label %3419

3416:                                             ; preds = %3403
  %3417 = load float, ptr %46, align 4, !tbaa !11
  %3418 = fneg float %3417
  br label %3419

3419:                                             ; preds = %3416, %3414
  %3420 = phi float [ %3415, %3414 ], [ %3418, %3416 ]
  %3421 = fpext float %3420 to double
  %3422 = fptrunc double %3421 to float
  store float %3422, ptr %40, align 4, !tbaa !11
  %3423 = load float, ptr %39, align 4, !tbaa !11
  %3424 = load float, ptr %40, align 4, !tbaa !11
  %3425 = fcmp oge float %3423, %3424
  br i1 %3425, label %3426, label %3428

3426:                                             ; preds = %3419
  %3427 = load float, ptr %39, align 4, !tbaa !11
  br label %3430

3428:                                             ; preds = %3419
  %3429 = load float, ptr %40, align 4, !tbaa !11
  br label %3430

3430:                                             ; preds = %3428, %3426
  %3431 = phi float [ %3427, %3426 ], [ %3429, %3428 ]
  %3432 = fpext float %3431 to double
  %3433 = fptrunc double %3432 to float
  store float %3433, ptr %90, align 4, !tbaa !11
  br label %3985

3434:                                             ; preds = %3300
  %3435 = call double @r_sign(ptr noundef @c_b18, ptr noundef %64)
  %3436 = fneg double %3435
  %3437 = fptrunc double %3436 to float
  store float %3437, ptr %89, align 4, !tbaa !11
  %3438 = load float, ptr %65, align 4, !tbaa !11
  %3439 = load float, ptr %68, align 4, !tbaa !11
  %3440 = fcmp ogt float %3438, %3439
  br i1 %3440, label %3441, label %3444

3441:                                             ; preds = %3434
  %3442 = load float, ptr %89, align 4, !tbaa !11
  %3443 = fneg float %3442
  store float %3443, ptr %89, align 4, !tbaa !11
  br label %3444

3444:                                             ; preds = %3441, %3434
  %3445 = load float, ptr %74, align 4, !tbaa !11
  %3446 = fpext float %3445 to double
  %3447 = load float, ptr %89, align 4, !tbaa !11
  %3448 = fpext float %3447 to double
  %3449 = load float, ptr %74, align 4, !tbaa !11
  %3450 = load float, ptr %74, align 4, !tbaa !11
  %3451 = call float @llvm.fmuladd.f32(float %3449, float %3450, float 1.000000e+00)
  %3452 = fpext float %3451 to double
  %3453 = call double @sqrt(double noundef %3452) #5
  %3454 = call double @llvm.fmuladd.f64(double %3448, double %3453, double %3446)
  %3455 = fdiv double 1.000000e+00, %3454
  %3456 = fptrunc double %3455 to float
  store float %3456, ptr %46, align 4, !tbaa !11
  %3457 = load float, ptr %46, align 4, !tbaa !11
  %3458 = load float, ptr %46, align 4, !tbaa !11
  %3459 = call float @llvm.fmuladd.f32(float %3457, float %3458, float 1.000000e+00)
  %3460 = fdiv float 1.000000e+00, %3459
  %3461 = fpext float %3460 to double
  %3462 = call double @sqrt(double noundef %3461) #5
  %3463 = fptrunc double %3462 to float
  store float %3463, ptr %51, align 4, !tbaa !11
  %3464 = load float, ptr %46, align 4, !tbaa !11
  %3465 = load float, ptr %51, align 4, !tbaa !11
  %3466 = fmul float %3464, %3465
  store float %3466, ptr %52, align 4, !tbaa !11
  %3467 = load float, ptr %90, align 4, !tbaa !11
  store float %3467, ptr %39, align 4, !tbaa !11
  %3468 = load float, ptr %52, align 4, !tbaa !11
  %3469 = fcmp oge float %3468, 0.000000e+00
  br i1 %3469, label %3470, label %3472

3470:                                             ; preds = %3444
  %3471 = load float, ptr %52, align 4, !tbaa !11
  br label %3475

3472:                                             ; preds = %3444
  %3473 = load float, ptr %52, align 4, !tbaa !11
  %3474 = fneg float %3473
  br label %3475

3475:                                             ; preds = %3472, %3470
  %3476 = phi float [ %3471, %3470 ], [ %3474, %3472 ]
  %3477 = fpext float %3476 to double
  %3478 = fptrunc double %3477 to float
  store float %3478, ptr %40, align 4, !tbaa !11
  %3479 = load float, ptr %39, align 4, !tbaa !11
  %3480 = load float, ptr %40, align 4, !tbaa !11
  %3481 = fcmp oge float %3479, %3480
  br i1 %3481, label %3482, label %3484

3482:                                             ; preds = %3475
  %3483 = load float, ptr %39, align 4, !tbaa !11
  br label %3486

3484:                                             ; preds = %3475
  %3485 = load float, ptr %40, align 4, !tbaa !11
  br label %3486

3486:                                             ; preds = %3484, %3482
  %3487 = phi float [ %3483, %3482 ], [ %3485, %3484 ]
  %3488 = fpext float %3487 to double
  %3489 = fptrunc double %3488 to float
  store float %3489, ptr %90, align 4, !tbaa !11
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %3490 = load float, ptr %46, align 4, !tbaa !11
  %3491 = load float, ptr %72, align 4, !tbaa !11
  %3492 = fmul float %3490, %3491
  %3493 = load float, ptr %64, align 4, !tbaa !11
  %3494 = call float @llvm.fmuladd.f32(float %3492, float %3493, float 1.000000e+00)
  store float %3494, ptr %40, align 4, !tbaa !11
  %3495 = load float, ptr %65, align 4, !tbaa !11
  %3496 = fpext float %3495 to double
  %3497 = load float, ptr %39, align 4, !tbaa !11
  %3498 = load float, ptr %40, align 4, !tbaa !11
  %3499 = fcmp oge float %3497, %3498
  br i1 %3499, label %3500, label %3502

3500:                                             ; preds = %3486
  %3501 = load float, ptr %39, align 4, !tbaa !11
  br label %3504

3502:                                             ; preds = %3486
  %3503 = load float, ptr %40, align 4, !tbaa !11
  br label %3504

3504:                                             ; preds = %3502, %3500
  %3505 = phi float [ %3501, %3500 ], [ %3503, %3502 ]
  %3506 = fpext float %3505 to double
  %3507 = call double @sqrt(double noundef %3506) #5
  %3508 = fmul double %3496, %3507
  %3509 = fptrunc double %3508 to float
  %3510 = load ptr, ptr %23, align 8, !tbaa !5
  %3511 = load i64, ptr %45, align 8, !tbaa !9
  %3512 = getelementptr inbounds float, ptr %3510, i64 %3511
  store float %3509, ptr %3512, align 4, !tbaa !11
  %3513 = load float, ptr %46, align 4, !tbaa !11
  %3514 = load float, ptr %73, align 4, !tbaa !11
  %3515 = fmul float %3513, %3514
  %3516 = load float, ptr %64, align 4, !tbaa !11
  %3517 = fneg float %3515
  %3518 = call float @llvm.fmuladd.f32(float %3517, float %3516, float 1.000000e+00)
  %3519 = fpext float %3518 to double
  %3520 = call double @sqrt(double noundef %3519) #5
  %3521 = load float, ptr %63, align 4, !tbaa !11
  %3522 = fpext float %3521 to double
  %3523 = fmul double %3522, %3520
  %3524 = fptrunc double %3523 to float
  store float %3524, ptr %63, align 4, !tbaa !11
  %3525 = load ptr, ptr %27, align 8, !tbaa !5
  %3526 = load i64, ptr %44, align 8, !tbaa !9
  %3527 = getelementptr inbounds float, ptr %3525, i64 %3526
  %3528 = load float, ptr %3527, align 4, !tbaa !11
  %3529 = load ptr, ptr %27, align 8, !tbaa !5
  %3530 = load i64, ptr %45, align 8, !tbaa !9
  %3531 = getelementptr inbounds float, ptr %3529, i64 %3530
  %3532 = load float, ptr %3531, align 4, !tbaa !11
  %3533 = fdiv float %3528, %3532
  store float %3533, ptr %72, align 4, !tbaa !11
  %3534 = load ptr, ptr %27, align 8, !tbaa !5
  %3535 = load i64, ptr %45, align 8, !tbaa !9
  %3536 = getelementptr inbounds float, ptr %3534, i64 %3535
  %3537 = load float, ptr %3536, align 4, !tbaa !11
  %3538 = load ptr, ptr %27, align 8, !tbaa !5
  %3539 = load i64, ptr %44, align 8, !tbaa !9
  %3540 = getelementptr inbounds float, ptr %3538, i64 %3539
  %3541 = load float, ptr %3540, align 4, !tbaa !11
  %3542 = fdiv float %3537, %3541
  store float %3542, ptr %73, align 4, !tbaa !11
  %3543 = load ptr, ptr %27, align 8, !tbaa !5
  %3544 = load i64, ptr %44, align 8, !tbaa !9
  %3545 = getelementptr inbounds float, ptr %3543, i64 %3544
  %3546 = load float, ptr %3545, align 4, !tbaa !11
  %3547 = fcmp oge float %3546, 1.000000e+00
  br i1 %3547, label %3548, label %3699

3548:                                             ; preds = %3504
  %3549 = load ptr, ptr %27, align 8, !tbaa !5
  %3550 = load i64, ptr %45, align 8, !tbaa !9
  %3551 = getelementptr inbounds float, ptr %3549, i64 %3550
  %3552 = load float, ptr %3551, align 4, !tbaa !11
  %3553 = fcmp oge float %3552, 1.000000e+00
  br i1 %3553, label %3554, label %3609

3554:                                             ; preds = %3548
  %3555 = load float, ptr %46, align 4, !tbaa !11
  %3556 = load float, ptr %72, align 4, !tbaa !11
  %3557 = fmul float %3555, %3556
  %3558 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 2
  store float %3557, ptr %3558, align 8, !tbaa !11
  %3559 = load float, ptr %46, align 4, !tbaa !11
  %3560 = fneg float %3559
  %3561 = load float, ptr %73, align 4, !tbaa !11
  %3562 = fmul float %3560, %3561
  %3563 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 3
  store float %3562, ptr %3563, align 4, !tbaa !11
  %3564 = load float, ptr %51, align 4, !tbaa !11
  %3565 = load ptr, ptr %27, align 8, !tbaa !5
  %3566 = load i64, ptr %44, align 8, !tbaa !9
  %3567 = getelementptr inbounds float, ptr %3565, i64 %3566
  %3568 = load float, ptr %3567, align 4, !tbaa !11
  %3569 = fmul float %3568, %3564
  store float %3569, ptr %3567, align 4, !tbaa !11
  %3570 = load float, ptr %51, align 4, !tbaa !11
  %3571 = load ptr, ptr %27, align 8, !tbaa !5
  %3572 = load i64, ptr %45, align 8, !tbaa !9
  %3573 = getelementptr inbounds float, ptr %3571, i64 %3572
  %3574 = load float, ptr %3573, align 4, !tbaa !11
  %3575 = fmul float %3574, %3570
  store float %3575, ptr %3573, align 4, !tbaa !11
  %3576 = load ptr, ptr %19, align 8, !tbaa !5
  %3577 = load ptr, ptr %21, align 8, !tbaa !5
  %3578 = load i64, ptr %44, align 8, !tbaa !9
  %3579 = load i64, ptr %30, align 8, !tbaa !9
  %3580 = mul nsw i64 %3578, %3579
  %3581 = add nsw i64 %3580, 1
  %3582 = getelementptr inbounds float, ptr %3577, i64 %3581
  %3583 = load ptr, ptr %21, align 8, !tbaa !5
  %3584 = load i64, ptr %45, align 8, !tbaa !9
  %3585 = load i64, ptr %30, align 8, !tbaa !9
  %3586 = mul nsw i64 %3584, %3585
  %3587 = add nsw i64 %3586, 1
  %3588 = getelementptr inbounds float, ptr %3583, i64 %3587
  %3589 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %3590 = call i32 @f2c_srotm(ptr noundef %3576, ptr noundef %3582, ptr noundef @c__1, ptr noundef %3588, ptr noundef @c__1, ptr noundef %3589)
  %3591 = load i64, ptr %80, align 8, !tbaa !9
  %3592 = icmp ne i64 %3591, 0
  br i1 %3592, label %3593, label %3608

3593:                                             ; preds = %3554
  %3594 = load ptr, ptr %25, align 8, !tbaa !5
  %3595 = load i64, ptr %44, align 8, !tbaa !9
  %3596 = load i64, ptr %32, align 8, !tbaa !9
  %3597 = mul nsw i64 %3595, %3596
  %3598 = add nsw i64 %3597, 1
  %3599 = getelementptr inbounds float, ptr %3594, i64 %3598
  %3600 = load ptr, ptr %25, align 8, !tbaa !5
  %3601 = load i64, ptr %45, align 8, !tbaa !9
  %3602 = load i64, ptr %32, align 8, !tbaa !9
  %3603 = mul nsw i64 %3601, %3602
  %3604 = add nsw i64 %3603, 1
  %3605 = getelementptr inbounds float, ptr %3600, i64 %3604
  %3606 = getelementptr inbounds [5 x float], ptr %78, i64 0, i64 0
  %3607 = call i32 @f2c_srotm(ptr noundef %62, ptr noundef %3599, ptr noundef @c__1, ptr noundef %3605, ptr noundef @c__1, ptr noundef %3606)
  br label %3608

3608:                                             ; preds = %3593, %3554
  br label %3698

3609:                                             ; preds = %3548
  %3610 = load float, ptr %46, align 4, !tbaa !11
  %3611 = fneg float %3610
  %3612 = load float, ptr %73, align 4, !tbaa !11
  %3613 = fmul float %3611, %3612
  store float %3613, ptr %39, align 4, !tbaa !11
  %3614 = load ptr, ptr %19, align 8, !tbaa !5
  %3615 = load ptr, ptr %21, align 8, !tbaa !5
  %3616 = load i64, ptr %45, align 8, !tbaa !9
  %3617 = load i64, ptr %30, align 8, !tbaa !9
  %3618 = mul nsw i64 %3616, %3617
  %3619 = add nsw i64 %3618, 1
  %3620 = getelementptr inbounds float, ptr %3615, i64 %3619
  %3621 = load ptr, ptr %21, align 8, !tbaa !5
  %3622 = load i64, ptr %44, align 8, !tbaa !9
  %3623 = load i64, ptr %30, align 8, !tbaa !9
  %3624 = mul nsw i64 %3622, %3623
  %3625 = add nsw i64 %3624, 1
  %3626 = getelementptr inbounds float, ptr %3621, i64 %3625
  %3627 = call i32 @f2c_saxpy(ptr noundef %3614, ptr noundef %39, ptr noundef %3620, ptr noundef @c__1, ptr noundef %3626, ptr noundef @c__1)
  %3628 = load float, ptr %51, align 4, !tbaa !11
  %3629 = load float, ptr %52, align 4, !tbaa !11
  %3630 = fmul float %3628, %3629
  %3631 = load float, ptr %72, align 4, !tbaa !11
  %3632 = fmul float %3630, %3631
  store float %3632, ptr %39, align 4, !tbaa !11
  %3633 = load ptr, ptr %19, align 8, !tbaa !5
  %3634 = load ptr, ptr %21, align 8, !tbaa !5
  %3635 = load i64, ptr %44, align 8, !tbaa !9
  %3636 = load i64, ptr %30, align 8, !tbaa !9
  %3637 = mul nsw i64 %3635, %3636
  %3638 = add nsw i64 %3637, 1
  %3639 = getelementptr inbounds float, ptr %3634, i64 %3638
  %3640 = load ptr, ptr %21, align 8, !tbaa !5
  %3641 = load i64, ptr %45, align 8, !tbaa !9
  %3642 = load i64, ptr %30, align 8, !tbaa !9
  %3643 = mul nsw i64 %3641, %3642
  %3644 = add nsw i64 %3643, 1
  %3645 = getelementptr inbounds float, ptr %3640, i64 %3644
  %3646 = call i32 @f2c_saxpy(ptr noundef %3633, ptr noundef %39, ptr noundef %3639, ptr noundef @c__1, ptr noundef %3645, ptr noundef @c__1)
  %3647 = load i64, ptr %80, align 8, !tbaa !9
  %3648 = icmp ne i64 %3647, 0
  br i1 %3648, label %3649, label %3685

3649:                                             ; preds = %3609
  %3650 = load float, ptr %46, align 4, !tbaa !11
  %3651 = fneg float %3650
  %3652 = load float, ptr %73, align 4, !tbaa !11
  %3653 = fmul float %3651, %3652
  store float %3653, ptr %39, align 4, !tbaa !11
  %3654 = load ptr, ptr %25, align 8, !tbaa !5
  %3655 = load i64, ptr %45, align 8, !tbaa !9
  %3656 = load i64, ptr %32, align 8, !tbaa !9
  %3657 = mul nsw i64 %3655, %3656
  %3658 = add nsw i64 %3657, 1
  %3659 = getelementptr inbounds float, ptr %3654, i64 %3658
  %3660 = load ptr, ptr %25, align 8, !tbaa !5
  %3661 = load i64, ptr %44, align 8, !tbaa !9
  %3662 = load i64, ptr %32, align 8, !tbaa !9
  %3663 = mul nsw i64 %3661, %3662
  %3664 = add nsw i64 %3663, 1
  %3665 = getelementptr inbounds float, ptr %3660, i64 %3664
  %3666 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3659, ptr noundef @c__1, ptr noundef %3665, ptr noundef @c__1)
  %3667 = load float, ptr %51, align 4, !tbaa !11
  %3668 = load float, ptr %52, align 4, !tbaa !11
  %3669 = fmul float %3667, %3668
  %3670 = load float, ptr %72, align 4, !tbaa !11
  %3671 = fmul float %3669, %3670
  store float %3671, ptr %39, align 4, !tbaa !11
  %3672 = load ptr, ptr %25, align 8, !tbaa !5
  %3673 = load i64, ptr %44, align 8, !tbaa !9
  %3674 = load i64, ptr %32, align 8, !tbaa !9
  %3675 = mul nsw i64 %3673, %3674
  %3676 = add nsw i64 %3675, 1
  %3677 = getelementptr inbounds float, ptr %3672, i64 %3676
  %3678 = load ptr, ptr %25, align 8, !tbaa !5
  %3679 = load i64, ptr %45, align 8, !tbaa !9
  %3680 = load i64, ptr %32, align 8, !tbaa !9
  %3681 = mul nsw i64 %3679, %3680
  %3682 = add nsw i64 %3681, 1
  %3683 = getelementptr inbounds float, ptr %3678, i64 %3682
  %3684 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3677, ptr noundef @c__1, ptr noundef %3683, ptr noundef @c__1)
  br label %3685

3685:                                             ; preds = %3649, %3609
  %3686 = load float, ptr %51, align 4, !tbaa !11
  %3687 = load ptr, ptr %27, align 8, !tbaa !5
  %3688 = load i64, ptr %44, align 8, !tbaa !9
  %3689 = getelementptr inbounds float, ptr %3687, i64 %3688
  %3690 = load float, ptr %3689, align 4, !tbaa !11
  %3691 = fmul float %3690, %3686
  store float %3691, ptr %3689, align 4, !tbaa !11
  %3692 = load float, ptr %51, align 4, !tbaa !11
  %3693 = load ptr, ptr %27, align 8, !tbaa !5
  %3694 = load i64, ptr %45, align 8, !tbaa !9
  %3695 = getelementptr inbounds float, ptr %3693, i64 %3694
  %3696 = load float, ptr %3695, align 4, !tbaa !11
  %3697 = fdiv float %3696, %3692
  store float %3697, ptr %3695, align 4, !tbaa !11
  br label %3698

3698:                                             ; preds = %3685, %3608
  br label %3984

3699:                                             ; preds = %3504
  %3700 = load ptr, ptr %27, align 8, !tbaa !5
  %3701 = load i64, ptr %45, align 8, !tbaa !9
  %3702 = getelementptr inbounds float, ptr %3700, i64 %3701
  %3703 = load float, ptr %3702, align 4, !tbaa !11
  %3704 = fcmp oge float %3703, 1.000000e+00
  br i1 %3704, label %3705, label %3794

3705:                                             ; preds = %3699
  %3706 = load float, ptr %46, align 4, !tbaa !11
  %3707 = load float, ptr %72, align 4, !tbaa !11
  %3708 = fmul float %3706, %3707
  store float %3708, ptr %39, align 4, !tbaa !11
  %3709 = load ptr, ptr %19, align 8, !tbaa !5
  %3710 = load ptr, ptr %21, align 8, !tbaa !5
  %3711 = load i64, ptr %44, align 8, !tbaa !9
  %3712 = load i64, ptr %30, align 8, !tbaa !9
  %3713 = mul nsw i64 %3711, %3712
  %3714 = add nsw i64 %3713, 1
  %3715 = getelementptr inbounds float, ptr %3710, i64 %3714
  %3716 = load ptr, ptr %21, align 8, !tbaa !5
  %3717 = load i64, ptr %45, align 8, !tbaa !9
  %3718 = load i64, ptr %30, align 8, !tbaa !9
  %3719 = mul nsw i64 %3717, %3718
  %3720 = add nsw i64 %3719, 1
  %3721 = getelementptr inbounds float, ptr %3716, i64 %3720
  %3722 = call i32 @f2c_saxpy(ptr noundef %3709, ptr noundef %39, ptr noundef %3715, ptr noundef @c__1, ptr noundef %3721, ptr noundef @c__1)
  %3723 = load float, ptr %51, align 4, !tbaa !11
  %3724 = fneg float %3723
  %3725 = load float, ptr %52, align 4, !tbaa !11
  %3726 = fmul float %3724, %3725
  %3727 = load float, ptr %73, align 4, !tbaa !11
  %3728 = fmul float %3726, %3727
  store float %3728, ptr %39, align 4, !tbaa !11
  %3729 = load ptr, ptr %19, align 8, !tbaa !5
  %3730 = load ptr, ptr %21, align 8, !tbaa !5
  %3731 = load i64, ptr %45, align 8, !tbaa !9
  %3732 = load i64, ptr %30, align 8, !tbaa !9
  %3733 = mul nsw i64 %3731, %3732
  %3734 = add nsw i64 %3733, 1
  %3735 = getelementptr inbounds float, ptr %3730, i64 %3734
  %3736 = load ptr, ptr %21, align 8, !tbaa !5
  %3737 = load i64, ptr %44, align 8, !tbaa !9
  %3738 = load i64, ptr %30, align 8, !tbaa !9
  %3739 = mul nsw i64 %3737, %3738
  %3740 = add nsw i64 %3739, 1
  %3741 = getelementptr inbounds float, ptr %3736, i64 %3740
  %3742 = call i32 @f2c_saxpy(ptr noundef %3729, ptr noundef %39, ptr noundef %3735, ptr noundef @c__1, ptr noundef %3741, ptr noundef @c__1)
  %3743 = load i64, ptr %80, align 8, !tbaa !9
  %3744 = icmp ne i64 %3743, 0
  br i1 %3744, label %3745, label %3781

3745:                                             ; preds = %3705
  %3746 = load float, ptr %46, align 4, !tbaa !11
  %3747 = load float, ptr %72, align 4, !tbaa !11
  %3748 = fmul float %3746, %3747
  store float %3748, ptr %39, align 4, !tbaa !11
  %3749 = load ptr, ptr %25, align 8, !tbaa !5
  %3750 = load i64, ptr %44, align 8, !tbaa !9
  %3751 = load i64, ptr %32, align 8, !tbaa !9
  %3752 = mul nsw i64 %3750, %3751
  %3753 = add nsw i64 %3752, 1
  %3754 = getelementptr inbounds float, ptr %3749, i64 %3753
  %3755 = load ptr, ptr %25, align 8, !tbaa !5
  %3756 = load i64, ptr %45, align 8, !tbaa !9
  %3757 = load i64, ptr %32, align 8, !tbaa !9
  %3758 = mul nsw i64 %3756, %3757
  %3759 = add nsw i64 %3758, 1
  %3760 = getelementptr inbounds float, ptr %3755, i64 %3759
  %3761 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3754, ptr noundef @c__1, ptr noundef %3760, ptr noundef @c__1)
  %3762 = load float, ptr %51, align 4, !tbaa !11
  %3763 = fneg float %3762
  %3764 = load float, ptr %52, align 4, !tbaa !11
  %3765 = fmul float %3763, %3764
  %3766 = load float, ptr %73, align 4, !tbaa !11
  %3767 = fmul float %3765, %3766
  store float %3767, ptr %39, align 4, !tbaa !11
  %3768 = load ptr, ptr %25, align 8, !tbaa !5
  %3769 = load i64, ptr %45, align 8, !tbaa !9
  %3770 = load i64, ptr %32, align 8, !tbaa !9
  %3771 = mul nsw i64 %3769, %3770
  %3772 = add nsw i64 %3771, 1
  %3773 = getelementptr inbounds float, ptr %3768, i64 %3772
  %3774 = load ptr, ptr %25, align 8, !tbaa !5
  %3775 = load i64, ptr %44, align 8, !tbaa !9
  %3776 = load i64, ptr %32, align 8, !tbaa !9
  %3777 = mul nsw i64 %3775, %3776
  %3778 = add nsw i64 %3777, 1
  %3779 = getelementptr inbounds float, ptr %3774, i64 %3778
  %3780 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3773, ptr noundef @c__1, ptr noundef %3779, ptr noundef @c__1)
  br label %3781

3781:                                             ; preds = %3745, %3705
  %3782 = load float, ptr %51, align 4, !tbaa !11
  %3783 = load ptr, ptr %27, align 8, !tbaa !5
  %3784 = load i64, ptr %44, align 8, !tbaa !9
  %3785 = getelementptr inbounds float, ptr %3783, i64 %3784
  %3786 = load float, ptr %3785, align 4, !tbaa !11
  %3787 = fdiv float %3786, %3782
  store float %3787, ptr %3785, align 4, !tbaa !11
  %3788 = load float, ptr %51, align 4, !tbaa !11
  %3789 = load ptr, ptr %27, align 8, !tbaa !5
  %3790 = load i64, ptr %45, align 8, !tbaa !9
  %3791 = getelementptr inbounds float, ptr %3789, i64 %3790
  %3792 = load float, ptr %3791, align 4, !tbaa !11
  %3793 = fmul float %3792, %3788
  store float %3793, ptr %3791, align 4, !tbaa !11
  br label %3983

3794:                                             ; preds = %3699
  %3795 = load ptr, ptr %27, align 8, !tbaa !5
  %3796 = load i64, ptr %44, align 8, !tbaa !9
  %3797 = getelementptr inbounds float, ptr %3795, i64 %3796
  %3798 = load float, ptr %3797, align 4, !tbaa !11
  %3799 = load ptr, ptr %27, align 8, !tbaa !5
  %3800 = load i64, ptr %45, align 8, !tbaa !9
  %3801 = getelementptr inbounds float, ptr %3799, i64 %3800
  %3802 = load float, ptr %3801, align 4, !tbaa !11
  %3803 = fcmp oge float %3798, %3802
  br i1 %3803, label %3804, label %3893

3804:                                             ; preds = %3794
  %3805 = load float, ptr %46, align 4, !tbaa !11
  %3806 = fneg float %3805
  %3807 = load float, ptr %73, align 4, !tbaa !11
  %3808 = fmul float %3806, %3807
  store float %3808, ptr %39, align 4, !tbaa !11
  %3809 = load ptr, ptr %19, align 8, !tbaa !5
  %3810 = load ptr, ptr %21, align 8, !tbaa !5
  %3811 = load i64, ptr %45, align 8, !tbaa !9
  %3812 = load i64, ptr %30, align 8, !tbaa !9
  %3813 = mul nsw i64 %3811, %3812
  %3814 = add nsw i64 %3813, 1
  %3815 = getelementptr inbounds float, ptr %3810, i64 %3814
  %3816 = load ptr, ptr %21, align 8, !tbaa !5
  %3817 = load i64, ptr %44, align 8, !tbaa !9
  %3818 = load i64, ptr %30, align 8, !tbaa !9
  %3819 = mul nsw i64 %3817, %3818
  %3820 = add nsw i64 %3819, 1
  %3821 = getelementptr inbounds float, ptr %3816, i64 %3820
  %3822 = call i32 @f2c_saxpy(ptr noundef %3809, ptr noundef %39, ptr noundef %3815, ptr noundef @c__1, ptr noundef %3821, ptr noundef @c__1)
  %3823 = load float, ptr %51, align 4, !tbaa !11
  %3824 = load float, ptr %52, align 4, !tbaa !11
  %3825 = fmul float %3823, %3824
  %3826 = load float, ptr %72, align 4, !tbaa !11
  %3827 = fmul float %3825, %3826
  store float %3827, ptr %39, align 4, !tbaa !11
  %3828 = load ptr, ptr %19, align 8, !tbaa !5
  %3829 = load ptr, ptr %21, align 8, !tbaa !5
  %3830 = load i64, ptr %44, align 8, !tbaa !9
  %3831 = load i64, ptr %30, align 8, !tbaa !9
  %3832 = mul nsw i64 %3830, %3831
  %3833 = add nsw i64 %3832, 1
  %3834 = getelementptr inbounds float, ptr %3829, i64 %3833
  %3835 = load ptr, ptr %21, align 8, !tbaa !5
  %3836 = load i64, ptr %45, align 8, !tbaa !9
  %3837 = load i64, ptr %30, align 8, !tbaa !9
  %3838 = mul nsw i64 %3836, %3837
  %3839 = add nsw i64 %3838, 1
  %3840 = getelementptr inbounds float, ptr %3835, i64 %3839
  %3841 = call i32 @f2c_saxpy(ptr noundef %3828, ptr noundef %39, ptr noundef %3834, ptr noundef @c__1, ptr noundef %3840, ptr noundef @c__1)
  %3842 = load float, ptr %51, align 4, !tbaa !11
  %3843 = load ptr, ptr %27, align 8, !tbaa !5
  %3844 = load i64, ptr %44, align 8, !tbaa !9
  %3845 = getelementptr inbounds float, ptr %3843, i64 %3844
  %3846 = load float, ptr %3845, align 4, !tbaa !11
  %3847 = fmul float %3846, %3842
  store float %3847, ptr %3845, align 4, !tbaa !11
  %3848 = load float, ptr %51, align 4, !tbaa !11
  %3849 = load ptr, ptr %27, align 8, !tbaa !5
  %3850 = load i64, ptr %45, align 8, !tbaa !9
  %3851 = getelementptr inbounds float, ptr %3849, i64 %3850
  %3852 = load float, ptr %3851, align 4, !tbaa !11
  %3853 = fdiv float %3852, %3848
  store float %3853, ptr %3851, align 4, !tbaa !11
  %3854 = load i64, ptr %80, align 8, !tbaa !9
  %3855 = icmp ne i64 %3854, 0
  br i1 %3855, label %3856, label %3892

3856:                                             ; preds = %3804
  %3857 = load float, ptr %46, align 4, !tbaa !11
  %3858 = fneg float %3857
  %3859 = load float, ptr %73, align 4, !tbaa !11
  %3860 = fmul float %3858, %3859
  store float %3860, ptr %39, align 4, !tbaa !11
  %3861 = load ptr, ptr %25, align 8, !tbaa !5
  %3862 = load i64, ptr %45, align 8, !tbaa !9
  %3863 = load i64, ptr %32, align 8, !tbaa !9
  %3864 = mul nsw i64 %3862, %3863
  %3865 = add nsw i64 %3864, 1
  %3866 = getelementptr inbounds float, ptr %3861, i64 %3865
  %3867 = load ptr, ptr %25, align 8, !tbaa !5
  %3868 = load i64, ptr %44, align 8, !tbaa !9
  %3869 = load i64, ptr %32, align 8, !tbaa !9
  %3870 = mul nsw i64 %3868, %3869
  %3871 = add nsw i64 %3870, 1
  %3872 = getelementptr inbounds float, ptr %3867, i64 %3871
  %3873 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3866, ptr noundef @c__1, ptr noundef %3872, ptr noundef @c__1)
  %3874 = load float, ptr %51, align 4, !tbaa !11
  %3875 = load float, ptr %52, align 4, !tbaa !11
  %3876 = fmul float %3874, %3875
  %3877 = load float, ptr %72, align 4, !tbaa !11
  %3878 = fmul float %3876, %3877
  store float %3878, ptr %39, align 4, !tbaa !11
  %3879 = load ptr, ptr %25, align 8, !tbaa !5
  %3880 = load i64, ptr %44, align 8, !tbaa !9
  %3881 = load i64, ptr %32, align 8, !tbaa !9
  %3882 = mul nsw i64 %3880, %3881
  %3883 = add nsw i64 %3882, 1
  %3884 = getelementptr inbounds float, ptr %3879, i64 %3883
  %3885 = load ptr, ptr %25, align 8, !tbaa !5
  %3886 = load i64, ptr %45, align 8, !tbaa !9
  %3887 = load i64, ptr %32, align 8, !tbaa !9
  %3888 = mul nsw i64 %3886, %3887
  %3889 = add nsw i64 %3888, 1
  %3890 = getelementptr inbounds float, ptr %3885, i64 %3889
  %3891 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3884, ptr noundef @c__1, ptr noundef %3890, ptr noundef @c__1)
  br label %3892

3892:                                             ; preds = %3856, %3804
  br label %3982

3893:                                             ; preds = %3794
  %3894 = load float, ptr %46, align 4, !tbaa !11
  %3895 = load float, ptr %72, align 4, !tbaa !11
  %3896 = fmul float %3894, %3895
  store float %3896, ptr %39, align 4, !tbaa !11
  %3897 = load ptr, ptr %19, align 8, !tbaa !5
  %3898 = load ptr, ptr %21, align 8, !tbaa !5
  %3899 = load i64, ptr %44, align 8, !tbaa !9
  %3900 = load i64, ptr %30, align 8, !tbaa !9
  %3901 = mul nsw i64 %3899, %3900
  %3902 = add nsw i64 %3901, 1
  %3903 = getelementptr inbounds float, ptr %3898, i64 %3902
  %3904 = load ptr, ptr %21, align 8, !tbaa !5
  %3905 = load i64, ptr %45, align 8, !tbaa !9
  %3906 = load i64, ptr %30, align 8, !tbaa !9
  %3907 = mul nsw i64 %3905, %3906
  %3908 = add nsw i64 %3907, 1
  %3909 = getelementptr inbounds float, ptr %3904, i64 %3908
  %3910 = call i32 @f2c_saxpy(ptr noundef %3897, ptr noundef %39, ptr noundef %3903, ptr noundef @c__1, ptr noundef %3909, ptr noundef @c__1)
  %3911 = load float, ptr %51, align 4, !tbaa !11
  %3912 = fneg float %3911
  %3913 = load float, ptr %52, align 4, !tbaa !11
  %3914 = fmul float %3912, %3913
  %3915 = load float, ptr %73, align 4, !tbaa !11
  %3916 = fmul float %3914, %3915
  store float %3916, ptr %39, align 4, !tbaa !11
  %3917 = load ptr, ptr %19, align 8, !tbaa !5
  %3918 = load ptr, ptr %21, align 8, !tbaa !5
  %3919 = load i64, ptr %45, align 8, !tbaa !9
  %3920 = load i64, ptr %30, align 8, !tbaa !9
  %3921 = mul nsw i64 %3919, %3920
  %3922 = add nsw i64 %3921, 1
  %3923 = getelementptr inbounds float, ptr %3918, i64 %3922
  %3924 = load ptr, ptr %21, align 8, !tbaa !5
  %3925 = load i64, ptr %44, align 8, !tbaa !9
  %3926 = load i64, ptr %30, align 8, !tbaa !9
  %3927 = mul nsw i64 %3925, %3926
  %3928 = add nsw i64 %3927, 1
  %3929 = getelementptr inbounds float, ptr %3924, i64 %3928
  %3930 = call i32 @f2c_saxpy(ptr noundef %3917, ptr noundef %39, ptr noundef %3923, ptr noundef @c__1, ptr noundef %3929, ptr noundef @c__1)
  %3931 = load float, ptr %51, align 4, !tbaa !11
  %3932 = load ptr, ptr %27, align 8, !tbaa !5
  %3933 = load i64, ptr %44, align 8, !tbaa !9
  %3934 = getelementptr inbounds float, ptr %3932, i64 %3933
  %3935 = load float, ptr %3934, align 4, !tbaa !11
  %3936 = fdiv float %3935, %3931
  store float %3936, ptr %3934, align 4, !tbaa !11
  %3937 = load float, ptr %51, align 4, !tbaa !11
  %3938 = load ptr, ptr %27, align 8, !tbaa !5
  %3939 = load i64, ptr %45, align 8, !tbaa !9
  %3940 = getelementptr inbounds float, ptr %3938, i64 %3939
  %3941 = load float, ptr %3940, align 4, !tbaa !11
  %3942 = fmul float %3941, %3937
  store float %3942, ptr %3940, align 4, !tbaa !11
  %3943 = load i64, ptr %80, align 8, !tbaa !9
  %3944 = icmp ne i64 %3943, 0
  br i1 %3944, label %3945, label %3981

3945:                                             ; preds = %3893
  %3946 = load float, ptr %46, align 4, !tbaa !11
  %3947 = load float, ptr %72, align 4, !tbaa !11
  %3948 = fmul float %3946, %3947
  store float %3948, ptr %39, align 4, !tbaa !11
  %3949 = load ptr, ptr %25, align 8, !tbaa !5
  %3950 = load i64, ptr %44, align 8, !tbaa !9
  %3951 = load i64, ptr %32, align 8, !tbaa !9
  %3952 = mul nsw i64 %3950, %3951
  %3953 = add nsw i64 %3952, 1
  %3954 = getelementptr inbounds float, ptr %3949, i64 %3953
  %3955 = load ptr, ptr %25, align 8, !tbaa !5
  %3956 = load i64, ptr %45, align 8, !tbaa !9
  %3957 = load i64, ptr %32, align 8, !tbaa !9
  %3958 = mul nsw i64 %3956, %3957
  %3959 = add nsw i64 %3958, 1
  %3960 = getelementptr inbounds float, ptr %3955, i64 %3959
  %3961 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3954, ptr noundef @c__1, ptr noundef %3960, ptr noundef @c__1)
  %3962 = load float, ptr %51, align 4, !tbaa !11
  %3963 = fneg float %3962
  %3964 = load float, ptr %52, align 4, !tbaa !11
  %3965 = fmul float %3963, %3964
  %3966 = load float, ptr %73, align 4, !tbaa !11
  %3967 = fmul float %3965, %3966
  store float %3967, ptr %39, align 4, !tbaa !11
  %3968 = load ptr, ptr %25, align 8, !tbaa !5
  %3969 = load i64, ptr %45, align 8, !tbaa !9
  %3970 = load i64, ptr %32, align 8, !tbaa !9
  %3971 = mul nsw i64 %3969, %3970
  %3972 = add nsw i64 %3971, 1
  %3973 = getelementptr inbounds float, ptr %3968, i64 %3972
  %3974 = load ptr, ptr %25, align 8, !tbaa !5
  %3975 = load i64, ptr %44, align 8, !tbaa !9
  %3976 = load i64, ptr %32, align 8, !tbaa !9
  %3977 = mul nsw i64 %3975, %3976
  %3978 = add nsw i64 %3977, 1
  %3979 = getelementptr inbounds float, ptr %3974, i64 %3978
  %3980 = call i32 @f2c_saxpy(ptr noundef %62, ptr noundef %39, ptr noundef %3973, ptr noundef @c__1, ptr noundef %3979, ptr noundef @c__1)
  br label %3981

3981:                                             ; preds = %3945, %3893
  br label %3982

3982:                                             ; preds = %3981, %3892
  br label %3983

3983:                                             ; preds = %3982, %3781
  br label %3984

3984:                                             ; preds = %3983, %3698
  br label %3985

3985:                                             ; preds = %3984, %3430
  br label %4187

3986:                                             ; preds = %3256
  %3987 = load float, ptr %63, align 4, !tbaa !11
  %3988 = load float, ptr %65, align 4, !tbaa !11
  %3989 = fcmp ogt float %3987, %3988
  br i1 %3989, label %3990, label %4088

3990:                                             ; preds = %3986
  %3991 = load ptr, ptr %19, align 8, !tbaa !5
  %3992 = load ptr, ptr %21, align 8, !tbaa !5
  %3993 = load i64, ptr %44, align 8, !tbaa !9
  %3994 = load i64, ptr %30, align 8, !tbaa !9
  %3995 = mul nsw i64 %3993, %3994
  %3996 = add nsw i64 %3995, 1
  %3997 = getelementptr inbounds float, ptr %3992, i64 %3996
  %3998 = load ptr, ptr %27, align 8, !tbaa !5
  %3999 = load ptr, ptr %20, align 8, !tbaa !5
  %4000 = load i64, ptr %3999, align 8, !tbaa !9
  %4001 = add nsw i64 %4000, 1
  %4002 = getelementptr inbounds float, ptr %3998, i64 %4001
  %4003 = call i32 @f2c_scopy(ptr noundef %3991, ptr noundef %3997, ptr noundef @c__1, ptr noundef %4002, ptr noundef @c__1)
  %4004 = load ptr, ptr %19, align 8, !tbaa !5
  %4005 = load ptr, ptr %27, align 8, !tbaa !5
  %4006 = load ptr, ptr %20, align 8, !tbaa !5
  %4007 = load i64, ptr %4006, align 8, !tbaa !9
  %4008 = add nsw i64 %4007, 1
  %4009 = getelementptr inbounds float, ptr %4005, i64 %4008
  %4010 = load ptr, ptr %22, align 8, !tbaa !5
  %4011 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef @c_b18, ptr noundef %4004, ptr noundef @c__1, ptr noundef %4009, ptr noundef %4010, ptr noundef %67)
  %4012 = load ptr, ptr %19, align 8, !tbaa !5
  %4013 = load ptr, ptr %21, align 8, !tbaa !5
  %4014 = load i64, ptr %45, align 8, !tbaa !9
  %4015 = load i64, ptr %30, align 8, !tbaa !9
  %4016 = mul nsw i64 %4014, %4015
  %4017 = add nsw i64 %4016, 1
  %4018 = getelementptr inbounds float, ptr %4013, i64 %4017
  %4019 = load ptr, ptr %22, align 8, !tbaa !5
  %4020 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef @c_b18, ptr noundef %4012, ptr noundef @c__1, ptr noundef %4018, ptr noundef %4019, ptr noundef %67)
  %4021 = load float, ptr %64, align 4, !tbaa !11
  %4022 = fneg float %4021
  %4023 = load ptr, ptr %27, align 8, !tbaa !5
  %4024 = load i64, ptr %44, align 8, !tbaa !9
  %4025 = getelementptr inbounds float, ptr %4023, i64 %4024
  %4026 = load float, ptr %4025, align 4, !tbaa !11
  %4027 = fmul float %4022, %4026
  %4028 = load ptr, ptr %27, align 8, !tbaa !5
  %4029 = load i64, ptr %45, align 8, !tbaa !9
  %4030 = getelementptr inbounds float, ptr %4028, i64 %4029
  %4031 = load float, ptr %4030, align 4, !tbaa !11
  %4032 = fdiv float %4027, %4031
  store float %4032, ptr %69, align 4, !tbaa !11
  %4033 = load ptr, ptr %19, align 8, !tbaa !5
  %4034 = load ptr, ptr %27, align 8, !tbaa !5
  %4035 = load ptr, ptr %20, align 8, !tbaa !5
  %4036 = load i64, ptr %4035, align 8, !tbaa !9
  %4037 = add nsw i64 %4036, 1
  %4038 = getelementptr inbounds float, ptr %4034, i64 %4037
  %4039 = load ptr, ptr %21, align 8, !tbaa !5
  %4040 = load i64, ptr %45, align 8, !tbaa !9
  %4041 = load i64, ptr %30, align 8, !tbaa !9
  %4042 = mul nsw i64 %4040, %4041
  %4043 = add nsw i64 %4042, 1
  %4044 = getelementptr inbounds float, ptr %4039, i64 %4043
  %4045 = call i32 @f2c_saxpy(ptr noundef %4033, ptr noundef %69, ptr noundef %4038, ptr noundef @c__1, ptr noundef %4044, ptr noundef @c__1)
  %4046 = load ptr, ptr %19, align 8, !tbaa !5
  %4047 = load ptr, ptr %21, align 8, !tbaa !5
  %4048 = load i64, ptr %45, align 8, !tbaa !9
  %4049 = load i64, ptr %30, align 8, !tbaa !9
  %4050 = mul nsw i64 %4048, %4049
  %4051 = add nsw i64 %4050, 1
  %4052 = getelementptr inbounds float, ptr %4047, i64 %4051
  %4053 = load ptr, ptr %22, align 8, !tbaa !5
  %4054 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %65, ptr noundef %4046, ptr noundef @c__1, ptr noundef %4052, ptr noundef %4053, ptr noundef %67)
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %4055 = load float, ptr %64, align 4, !tbaa !11
  %4056 = load float, ptr %64, align 4, !tbaa !11
  %4057 = fneg float %4055
  %4058 = call float @llvm.fmuladd.f32(float %4057, float %4056, float 1.000000e+00)
  store float %4058, ptr %40, align 4, !tbaa !11
  %4059 = load float, ptr %65, align 4, !tbaa !11
  %4060 = fpext float %4059 to double
  %4061 = load float, ptr %39, align 4, !tbaa !11
  %4062 = load float, ptr %40, align 4, !tbaa !11
  %4063 = fcmp oge float %4061, %4062
  br i1 %4063, label %4064, label %4066

4064:                                             ; preds = %3990
  %4065 = load float, ptr %39, align 4, !tbaa !11
  br label %4068

4066:                                             ; preds = %3990
  %4067 = load float, ptr %40, align 4, !tbaa !11
  br label %4068

4068:                                             ; preds = %4066, %4064
  %4069 = phi float [ %4065, %4064 ], [ %4067, %4066 ]
  %4070 = fpext float %4069 to double
  %4071 = call double @sqrt(double noundef %4070) #5
  %4072 = fmul double %4060, %4071
  %4073 = fptrunc double %4072 to float
  %4074 = load ptr, ptr %23, align 8, !tbaa !5
  %4075 = load i64, ptr %45, align 8, !tbaa !9
  %4076 = getelementptr inbounds float, ptr %4074, i64 %4075
  store float %4073, ptr %4076, align 4, !tbaa !11
  %4077 = load float, ptr %90, align 4, !tbaa !11
  %4078 = load float, ptr %76, align 4, !tbaa !11
  %4079 = fcmp oge float %4077, %4078
  br i1 %4079, label %4080, label %4082

4080:                                             ; preds = %4068
  %4081 = load float, ptr %90, align 4, !tbaa !11
  br label %4084

4082:                                             ; preds = %4068
  %4083 = load float, ptr %76, align 4, !tbaa !11
  br label %4084

4084:                                             ; preds = %4082, %4080
  %4085 = phi float [ %4081, %4080 ], [ %4083, %4082 ]
  %4086 = fpext float %4085 to double
  %4087 = fptrunc double %4086 to float
  store float %4087, ptr %90, align 4, !tbaa !11
  br label %4186

4088:                                             ; preds = %3986
  %4089 = load ptr, ptr %19, align 8, !tbaa !5
  %4090 = load ptr, ptr %21, align 8, !tbaa !5
  %4091 = load i64, ptr %45, align 8, !tbaa !9
  %4092 = load i64, ptr %30, align 8, !tbaa !9
  %4093 = mul nsw i64 %4091, %4092
  %4094 = add nsw i64 %4093, 1
  %4095 = getelementptr inbounds float, ptr %4090, i64 %4094
  %4096 = load ptr, ptr %27, align 8, !tbaa !5
  %4097 = load ptr, ptr %20, align 8, !tbaa !5
  %4098 = load i64, ptr %4097, align 8, !tbaa !9
  %4099 = add nsw i64 %4098, 1
  %4100 = getelementptr inbounds float, ptr %4096, i64 %4099
  %4101 = call i32 @f2c_scopy(ptr noundef %4089, ptr noundef %4095, ptr noundef @c__1, ptr noundef %4100, ptr noundef @c__1)
  %4102 = load ptr, ptr %19, align 8, !tbaa !5
  %4103 = load ptr, ptr %27, align 8, !tbaa !5
  %4104 = load ptr, ptr %20, align 8, !tbaa !5
  %4105 = load i64, ptr %4104, align 8, !tbaa !9
  %4106 = add nsw i64 %4105, 1
  %4107 = getelementptr inbounds float, ptr %4103, i64 %4106
  %4108 = load ptr, ptr %22, align 8, !tbaa !5
  %4109 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %65, ptr noundef @c_b18, ptr noundef %4102, ptr noundef @c__1, ptr noundef %4107, ptr noundef %4108, ptr noundef %67)
  %4110 = load ptr, ptr %19, align 8, !tbaa !5
  %4111 = load ptr, ptr %21, align 8, !tbaa !5
  %4112 = load i64, ptr %44, align 8, !tbaa !9
  %4113 = load i64, ptr %30, align 8, !tbaa !9
  %4114 = mul nsw i64 %4112, %4113
  %4115 = add nsw i64 %4114, 1
  %4116 = getelementptr inbounds float, ptr %4111, i64 %4115
  %4117 = load ptr, ptr %22, align 8, !tbaa !5
  %4118 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef %63, ptr noundef @c_b18, ptr noundef %4110, ptr noundef @c__1, ptr noundef %4116, ptr noundef %4117, ptr noundef %67)
  %4119 = load float, ptr %64, align 4, !tbaa !11
  %4120 = fneg float %4119
  %4121 = load ptr, ptr %27, align 8, !tbaa !5
  %4122 = load i64, ptr %45, align 8, !tbaa !9
  %4123 = getelementptr inbounds float, ptr %4121, i64 %4122
  %4124 = load float, ptr %4123, align 4, !tbaa !11
  %4125 = fmul float %4120, %4124
  %4126 = load ptr, ptr %27, align 8, !tbaa !5
  %4127 = load i64, ptr %44, align 8, !tbaa !9
  %4128 = getelementptr inbounds float, ptr %4126, i64 %4127
  %4129 = load float, ptr %4128, align 4, !tbaa !11
  %4130 = fdiv float %4125, %4129
  store float %4130, ptr %69, align 4, !tbaa !11
  %4131 = load ptr, ptr %19, align 8, !tbaa !5
  %4132 = load ptr, ptr %27, align 8, !tbaa !5
  %4133 = load ptr, ptr %20, align 8, !tbaa !5
  %4134 = load i64, ptr %4133, align 8, !tbaa !9
  %4135 = add nsw i64 %4134, 1
  %4136 = getelementptr inbounds float, ptr %4132, i64 %4135
  %4137 = load ptr, ptr %21, align 8, !tbaa !5
  %4138 = load i64, ptr %44, align 8, !tbaa !9
  %4139 = load i64, ptr %30, align 8, !tbaa !9
  %4140 = mul nsw i64 %4138, %4139
  %4141 = add nsw i64 %4140, 1
  %4142 = getelementptr inbounds float, ptr %4137, i64 %4141
  %4143 = call i32 @f2c_saxpy(ptr noundef %4131, ptr noundef %69, ptr noundef %4136, ptr noundef @c__1, ptr noundef %4142, ptr noundef @c__1)
  %4144 = load ptr, ptr %19, align 8, !tbaa !5
  %4145 = load ptr, ptr %21, align 8, !tbaa !5
  %4146 = load i64, ptr %44, align 8, !tbaa !9
  %4147 = load i64, ptr %30, align 8, !tbaa !9
  %4148 = mul nsw i64 %4146, %4147
  %4149 = add nsw i64 %4148, 1
  %4150 = getelementptr inbounds float, ptr %4145, i64 %4149
  %4151 = load ptr, ptr %22, align 8, !tbaa !5
  %4152 = call i32 @slascl_(ptr noundef @.str.5, ptr noundef @c__0, ptr noundef @c__0, ptr noundef @c_b18, ptr noundef %63, ptr noundef %4144, ptr noundef @c__1, ptr noundef %4150, ptr noundef %4151, ptr noundef %67)
  store float 0.000000e+00, ptr %39, align 4, !tbaa !11
  %4153 = load float, ptr %64, align 4, !tbaa !11
  %4154 = load float, ptr %64, align 4, !tbaa !11
  %4155 = fneg float %4153
  %4156 = call float @llvm.fmuladd.f32(float %4155, float %4154, float 1.000000e+00)
  store float %4156, ptr %40, align 4, !tbaa !11
  %4157 = load float, ptr %63, align 4, !tbaa !11
  %4158 = fpext float %4157 to double
  %4159 = load float, ptr %39, align 4, !tbaa !11
  %4160 = load float, ptr %40, align 4, !tbaa !11
  %4161 = fcmp oge float %4159, %4160
  br i1 %4161, label %4162, label %4164

4162:                                             ; preds = %4088
  %4163 = load float, ptr %39, align 4, !tbaa !11
  br label %4166

4164:                                             ; preds = %4088
  %4165 = load float, ptr %40, align 4, !tbaa !11
  br label %4166

4166:                                             ; preds = %4164, %4162
  %4167 = phi float [ %4163, %4162 ], [ %4165, %4164 ]
  %4168 = fpext float %4167 to double
  %4169 = call double @sqrt(double noundef %4168) #5
  %4170 = fmul double %4158, %4169
  %4171 = fptrunc double %4170 to float
  %4172 = load ptr, ptr %23, align 8, !tbaa !5
  %4173 = load i64, ptr %44, align 8, !tbaa !9
  %4174 = getelementptr inbounds float, ptr %4172, i64 %4173
  store float %4171, ptr %4174, align 4, !tbaa !11
  %4175 = load float, ptr %90, align 4, !tbaa !11
  %4176 = load float, ptr %76, align 4, !tbaa !11
  %4177 = fcmp oge float %4175, %4176
  br i1 %4177, label %4178, label %4180

4178:                                             ; preds = %4166
  %4179 = load float, ptr %90, align 4, !tbaa !11
  br label %4182

4180:                                             ; preds = %4166
  %4181 = load float, ptr %76, align 4, !tbaa !11
  br label %4182

4182:                                             ; preds = %4180, %4178
  %4183 = phi float [ %4179, %4178 ], [ %4181, %4180 ]
  %4184 = fpext float %4183 to double
  %4185 = fptrunc double %4184 to float
  store float %4185, ptr %90, align 4, !tbaa !11
  br label %4186

4186:                                             ; preds = %4182, %4084
  br label %4187

4187:                                             ; preds = %4186, %3985
  %4188 = load ptr, ptr %23, align 8, !tbaa !5
  %4189 = load i64, ptr %45, align 8, !tbaa !9
  %4190 = getelementptr inbounds float, ptr %4188, i64 %4189
  %4191 = load float, ptr %4190, align 4, !tbaa !11
  %4192 = load float, ptr %65, align 4, !tbaa !11
  %4193 = fdiv float %4191, %4192
  store float %4193, ptr %39, align 4, !tbaa !11
  %4194 = load float, ptr %39, align 4, !tbaa !11
  %4195 = load float, ptr %39, align 4, !tbaa !11
  %4196 = fmul float %4194, %4195
  %4197 = load float, ptr %99, align 4, !tbaa !11
  %4198 = fcmp ole float %4196, %4197
  br i1 %4198, label %4199, label %4252

4199:                                             ; preds = %4187
  %4200 = load float, ptr %65, align 4, !tbaa !11
  %4201 = load float, ptr %97, align 4, !tbaa !11
  %4202 = fcmp olt float %4200, %4201
  br i1 %4202, label %4203, label %4226

4203:                                             ; preds = %4199
  %4204 = load float, ptr %65, align 4, !tbaa !11
  %4205 = load float, ptr %49, align 4, !tbaa !11
  %4206 = fcmp ogt float %4204, %4205
  br i1 %4206, label %4207, label %4226

4207:                                             ; preds = %4203
  %4208 = load ptr, ptr %19, align 8, !tbaa !5
  %4209 = load ptr, ptr %21, align 8, !tbaa !5
  %4210 = load i64, ptr %45, align 8, !tbaa !9
  %4211 = load i64, ptr %30, align 8, !tbaa !9
  %4212 = mul nsw i64 %4210, %4211
  %4213 = add nsw i64 %4212, 1
  %4214 = getelementptr inbounds float, ptr %4209, i64 %4213
  %4215 = call double @f2c_snrm2(ptr noundef %4208, ptr noundef %4214, ptr noundef @c__1)
  %4216 = load ptr, ptr %27, align 8, !tbaa !5
  %4217 = load i64, ptr %45, align 8, !tbaa !9
  %4218 = getelementptr inbounds float, ptr %4216, i64 %4217
  %4219 = load float, ptr %4218, align 4, !tbaa !11
  %4220 = fpext float %4219 to double
  %4221 = fmul double %4215, %4220
  %4222 = fptrunc double %4221 to float
  %4223 = load ptr, ptr %23, align 8, !tbaa !5
  %4224 = load i64, ptr %45, align 8, !tbaa !9
  %4225 = getelementptr inbounds float, ptr %4223, i64 %4224
  store float %4222, ptr %4225, align 4, !tbaa !11
  br label %4251

4226:                                             ; preds = %4203, %4199
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  store float 0.000000e+00, ptr %65, align 4, !tbaa !11
  %4227 = load ptr, ptr %19, align 8, !tbaa !5
  %4228 = load ptr, ptr %21, align 8, !tbaa !5
  %4229 = load i64, ptr %45, align 8, !tbaa !9
  %4230 = load i64, ptr %30, align 8, !tbaa !9
  %4231 = mul nsw i64 %4229, %4230
  %4232 = add nsw i64 %4231, 1
  %4233 = getelementptr inbounds float, ptr %4228, i64 %4232
  %4234 = call i32 @slassq_(ptr noundef %4227, ptr noundef %4233, ptr noundef @c__1, ptr noundef %46, ptr noundef %65)
  %4235 = load float, ptr %46, align 4, !tbaa !11
  %4236 = fpext float %4235 to double
  %4237 = load float, ptr %65, align 4, !tbaa !11
  %4238 = fpext float %4237 to double
  %4239 = call double @sqrt(double noundef %4238) #5
  %4240 = fmul double %4236, %4239
  %4241 = load ptr, ptr %27, align 8, !tbaa !5
  %4242 = load i64, ptr %45, align 8, !tbaa !9
  %4243 = getelementptr inbounds float, ptr %4241, i64 %4242
  %4244 = load float, ptr %4243, align 4, !tbaa !11
  %4245 = fpext float %4244 to double
  %4246 = fmul double %4240, %4245
  %4247 = fptrunc double %4246 to float
  %4248 = load ptr, ptr %23, align 8, !tbaa !5
  %4249 = load i64, ptr %45, align 8, !tbaa !9
  %4250 = getelementptr inbounds float, ptr %4248, i64 %4249
  store float %4247, ptr %4250, align 4, !tbaa !11
  br label %4251

4251:                                             ; preds = %4226, %4207
  br label %4252

4252:                                             ; preds = %4251, %4187
  %4253 = load float, ptr %63, align 4, !tbaa !11
  %4254 = load float, ptr %68, align 4, !tbaa !11
  %4255 = fdiv float %4253, %4254
  store float %4255, ptr %39, align 4, !tbaa !11
  %4256 = load float, ptr %39, align 4, !tbaa !11
  %4257 = load float, ptr %39, align 4, !tbaa !11
  %4258 = fmul float %4256, %4257
  %4259 = load float, ptr %99, align 4, !tbaa !11
  %4260 = fcmp ole float %4258, %4259
  br i1 %4260, label %4261, label %4312

4261:                                             ; preds = %4252
  %4262 = load float, ptr %63, align 4, !tbaa !11
  %4263 = load float, ptr %97, align 4, !tbaa !11
  %4264 = fcmp olt float %4262, %4263
  br i1 %4264, label %4265, label %4285

4265:                                             ; preds = %4261
  %4266 = load float, ptr %63, align 4, !tbaa !11
  %4267 = load float, ptr %49, align 4, !tbaa !11
  %4268 = fcmp ogt float %4266, %4267
  br i1 %4268, label %4269, label %4285

4269:                                             ; preds = %4265
  %4270 = load ptr, ptr %19, align 8, !tbaa !5
  %4271 = load ptr, ptr %21, align 8, !tbaa !5
  %4272 = load i64, ptr %44, align 8, !tbaa !9
  %4273 = load i64, ptr %30, align 8, !tbaa !9
  %4274 = mul nsw i64 %4272, %4273
  %4275 = add nsw i64 %4274, 1
  %4276 = getelementptr inbounds float, ptr %4271, i64 %4275
  %4277 = call double @f2c_snrm2(ptr noundef %4270, ptr noundef %4276, ptr noundef @c__1)
  %4278 = load ptr, ptr %27, align 8, !tbaa !5
  %4279 = load i64, ptr %44, align 8, !tbaa !9
  %4280 = getelementptr inbounds float, ptr %4278, i64 %4279
  %4281 = load float, ptr %4280, align 4, !tbaa !11
  %4282 = fpext float %4281 to double
  %4283 = fmul double %4277, %4282
  %4284 = fptrunc double %4283 to float
  store float %4284, ptr %63, align 4, !tbaa !11
  br label %4307

4285:                                             ; preds = %4265, %4261
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %4286 = load ptr, ptr %19, align 8, !tbaa !5
  %4287 = load ptr, ptr %21, align 8, !tbaa !5
  %4288 = load i64, ptr %44, align 8, !tbaa !9
  %4289 = load i64, ptr %30, align 8, !tbaa !9
  %4290 = mul nsw i64 %4288, %4289
  %4291 = add nsw i64 %4290, 1
  %4292 = getelementptr inbounds float, ptr %4287, i64 %4291
  %4293 = call i32 @slassq_(ptr noundef %4286, ptr noundef %4292, ptr noundef @c__1, ptr noundef %46, ptr noundef %63)
  %4294 = load float, ptr %46, align 4, !tbaa !11
  %4295 = fpext float %4294 to double
  %4296 = load float, ptr %63, align 4, !tbaa !11
  %4297 = fpext float %4296 to double
  %4298 = call double @sqrt(double noundef %4297) #5
  %4299 = fmul double %4295, %4298
  %4300 = load ptr, ptr %27, align 8, !tbaa !5
  %4301 = load i64, ptr %44, align 8, !tbaa !9
  %4302 = getelementptr inbounds float, ptr %4300, i64 %4301
  %4303 = load float, ptr %4302, align 4, !tbaa !11
  %4304 = fpext float %4303 to double
  %4305 = fmul double %4299, %4304
  %4306 = fptrunc double %4305 to float
  store float %4306, ptr %63, align 4, !tbaa !11
  br label %4307

4307:                                             ; preds = %4285, %4269
  %4308 = load float, ptr %63, align 4, !tbaa !11
  %4309 = load ptr, ptr %23, align 8, !tbaa !5
  %4310 = load i64, ptr %44, align 8, !tbaa !9
  %4311 = getelementptr inbounds float, ptr %4309, i64 %4310
  store float %4308, ptr %4311, align 4, !tbaa !11
  br label %4312

4312:                                             ; preds = %4307, %4252
  br label %4320

4313:                                             ; preds = %3250
  %4314 = load i64, ptr %92, align 8, !tbaa !9
  %4315 = add nsw i64 %4314, 1
  store i64 %4315, ptr %92, align 8, !tbaa !9
  %4316 = load i64, ptr %42, align 8, !tbaa !9
  %4317 = add nsw i64 %4316, 1
  store i64 %4317, ptr %42, align 8, !tbaa !9
  %4318 = load i64, ptr %85, align 8, !tbaa !9
  %4319 = add nsw i64 %4318, 1
  store i64 %4319, ptr %85, align 8, !tbaa !9
  br label %4320

4320:                                             ; preds = %4313, %4312
  br label %4328

4321:                                             ; preds = %2990
  %4322 = load i64, ptr %92, align 8, !tbaa !9
  %4323 = add nsw i64 %4322, 1
  store i64 %4323, ptr %92, align 8, !tbaa !9
  %4324 = load i64, ptr %42, align 8, !tbaa !9
  %4325 = add nsw i64 %4324, 1
  store i64 %4325, ptr %42, align 8, !tbaa !9
  %4326 = load i64, ptr %85, align 8, !tbaa !9
  %4327 = add nsw i64 %4326, 1
  store i64 %4327, ptr %85, align 8, !tbaa !9
  br label %4328

4328:                                             ; preds = %4321, %4320
  %4329 = load i64, ptr %43, align 8, !tbaa !9
  %4330 = load i64, ptr %86, align 8, !tbaa !9
  %4331 = icmp sle i64 %4329, %4330
  br i1 %4331, label %4332, label %4341

4332:                                             ; preds = %4328
  %4333 = load i64, ptr %85, align 8, !tbaa !9
  %4334 = load i64, ptr %87, align 8, !tbaa !9
  %4335 = icmp sge i64 %4333, %4334
  br i1 %4335, label %4336, label %4341

4336:                                             ; preds = %4332
  %4337 = load float, ptr %63, align 4, !tbaa !11
  %4338 = load ptr, ptr %23, align 8, !tbaa !5
  %4339 = load i64, ptr %44, align 8, !tbaa !9
  %4340 = getelementptr inbounds float, ptr %4338, i64 %4339
  store float %4337, ptr %4340, align 4, !tbaa !11
  store i64 0, ptr %92, align 8, !tbaa !9
  br label %4400

4341:                                             ; preds = %4332, %4328
  %4342 = load i64, ptr %43, align 8, !tbaa !9
  %4343 = load i64, ptr %86, align 8, !tbaa !9
  %4344 = icmp sle i64 %4342, %4343
  br i1 %4344, label %4345, label %4352

4345:                                             ; preds = %4341
  %4346 = load i64, ptr %42, align 8, !tbaa !9
  %4347 = load i64, ptr %100, align 8, !tbaa !9
  %4348 = icmp sgt i64 %4346, %4347
  br i1 %4348, label %4349, label %4352

4349:                                             ; preds = %4345
  %4350 = load float, ptr %63, align 4, !tbaa !11
  %4351 = fneg float %4350
  store float %4351, ptr %63, align 4, !tbaa !11
  store i64 0, ptr %92, align 8, !tbaa !9
  br label %4357

4352:                                             ; preds = %4345, %4341
  br label %4353

4353:                                             ; preds = %4352
  %4354 = load i64, ptr %45, align 8, !tbaa !9
  %4355 = add nsw i64 %4354, 1
  store i64 %4355, ptr %45, align 8, !tbaa !9
  br label %2986, !llvm.loop !25

4356:                                             ; preds = %2986
  br label %4357

4357:                                             ; preds = %4356, %4349
  %4358 = load float, ptr %63, align 4, !tbaa !11
  %4359 = load ptr, ptr %23, align 8, !tbaa !5
  %4360 = load i64, ptr %44, align 8, !tbaa !9
  %4361 = getelementptr inbounds float, ptr %4359, i64 %4360
  store float %4358, ptr %4361, align 4, !tbaa !11
  br label %4391

4362:                                             ; preds = %2962
  %4363 = load float, ptr %63, align 4, !tbaa !11
  %4364 = fcmp oeq float %4363, 0.000000e+00
  br i1 %4364, label %4365, label %4386

4365:                                             ; preds = %4362
  %4366 = load i64, ptr %59, align 8, !tbaa !9
  %4367 = load i64, ptr %56, align 8, !tbaa !9
  %4368 = add nsw i64 %4366, %4367
  %4369 = sub nsw i64 %4368, 1
  store i64 %4369, ptr %37, align 8, !tbaa !9
  %4370 = load i64, ptr %92, align 8, !tbaa !9
  %4371 = load i64, ptr %37, align 8, !tbaa !9
  %4372 = load ptr, ptr %20, align 8, !tbaa !5
  %4373 = load i64, ptr %4372, align 8, !tbaa !9
  %4374 = icmp sle i64 %4371, %4373
  br i1 %4374, label %4375, label %4377

4375:                                             ; preds = %4365
  %4376 = load i64, ptr %37, align 8, !tbaa !9
  br label %4380

4377:                                             ; preds = %4365
  %4378 = load ptr, ptr %20, align 8, !tbaa !5
  %4379 = load i64, ptr %4378, align 8, !tbaa !9
  br label %4380

4380:                                             ; preds = %4377, %4375
  %4381 = phi i64 [ %4376, %4375 ], [ %4379, %4377 ]
  %4382 = add nsw i64 %4370, %4381
  %4383 = load i64, ptr %59, align 8, !tbaa !9
  %4384 = sub nsw i64 %4382, %4383
  %4385 = add nsw i64 %4384, 1
  store i64 %4385, ptr %92, align 8, !tbaa !9
  br label %4386

4386:                                             ; preds = %4380, %4362
  %4387 = load float, ptr %63, align 4, !tbaa !11
  %4388 = fcmp olt float %4387, 0.000000e+00
  br i1 %4388, label %4389, label %4390

4389:                                             ; preds = %4386
  store i64 0, ptr %92, align 8, !tbaa !9
  br label %4390

4390:                                             ; preds = %4389, %4386
  br label %4391

4391:                                             ; preds = %4390, %4357
  br label %4392

4392:                                             ; preds = %4391
  %4393 = load i64, ptr %44, align 8, !tbaa !9
  %4394 = add nsw i64 %4393, 1
  store i64 %4394, ptr %44, align 8, !tbaa !9
  br label %2958, !llvm.loop !26

4395:                                             ; preds = %2958
  br label %4396

4396:                                             ; preds = %4395
  %4397 = load i64, ptr %54, align 8, !tbaa !9
  %4398 = add nsw i64 %4397, 1
  store i64 %4398, ptr %54, align 8, !tbaa !9
  br label %2932, !llvm.loop !27

4399:                                             ; preds = %2932
  br label %4400

4400:                                             ; preds = %4399, %4336
  %4401 = load i64, ptr %57, align 8, !tbaa !9
  %4402 = load i64, ptr %56, align 8, !tbaa !9
  %4403 = add nsw i64 %4401, %4402
  %4404 = sub nsw i64 %4403, 1
  store i64 %4404, ptr %36, align 8, !tbaa !9
  %4405 = load i64, ptr %36, align 8, !tbaa !9
  %4406 = load ptr, ptr %20, align 8, !tbaa !5
  %4407 = load i64, ptr %4406, align 8, !tbaa !9
  %4408 = icmp sle i64 %4405, %4407
  br i1 %4408, label %4409, label %4411

4409:                                             ; preds = %4400
  %4410 = load i64, ptr %36, align 8, !tbaa !9
  br label %4414

4411:                                             ; preds = %4400
  %4412 = load ptr, ptr %20, align 8, !tbaa !5
  %4413 = load i64, ptr %4412, align 8, !tbaa !9
  br label %4414

4414:                                             ; preds = %4411, %4409
  %4415 = phi i64 [ %4410, %4409 ], [ %4413, %4411 ]
  store i64 %4415, ptr %35, align 8, !tbaa !9
  %4416 = load i64, ptr %57, align 8, !tbaa !9
  store i64 %4416, ptr %44, align 8, !tbaa !9
  br label %4417

4417:                                             ; preds = %4440, %4414
  %4418 = load i64, ptr %44, align 8, !tbaa !9
  %4419 = load i64, ptr %35, align 8, !tbaa !9
  %4420 = icmp sle i64 %4418, %4419
  br i1 %4420, label %4421, label %4443

4421:                                             ; preds = %4417
  %4422 = load ptr, ptr %23, align 8, !tbaa !5
  %4423 = load i64, ptr %44, align 8, !tbaa !9
  %4424 = getelementptr inbounds float, ptr %4422, i64 %4423
  %4425 = load float, ptr %4424, align 4, !tbaa !11
  store float %4425, ptr %39, align 4, !tbaa !11
  %4426 = load float, ptr %39, align 4, !tbaa !11
  %4427 = fcmp oge float %4426, 0.000000e+00
  br i1 %4427, label %4428, label %4430

4428:                                             ; preds = %4421
  %4429 = load float, ptr %39, align 4, !tbaa !11
  br label %4433

4430:                                             ; preds = %4421
  %4431 = load float, ptr %39, align 4, !tbaa !11
  %4432 = fneg float %4431
  br label %4433

4433:                                             ; preds = %4430, %4428
  %4434 = phi float [ %4429, %4428 ], [ %4432, %4430 ]
  %4435 = fpext float %4434 to double
  %4436 = fptrunc double %4435 to float
  %4437 = load ptr, ptr %23, align 8, !tbaa !5
  %4438 = load i64, ptr %44, align 8, !tbaa !9
  %4439 = getelementptr inbounds float, ptr %4437, i64 %4438
  store float %4436, ptr %4439, align 4, !tbaa !11
  br label %4440

4440:                                             ; preds = %4433
  %4441 = load i64, ptr %44, align 8, !tbaa !9
  %4442 = add nsw i64 %4441, 1
  store i64 %4442, ptr %44, align 8, !tbaa !9
  br label %4417, !llvm.loop !28

4443:                                             ; preds = %4417
  br label %4444

4444:                                             ; preds = %4443
  %4445 = load i64, ptr %58, align 8, !tbaa !9
  %4446 = add nsw i64 %4445, 1
  store i64 %4446, ptr %58, align 8, !tbaa !9
  br label %1431, !llvm.loop !29

4447:                                             ; preds = %1431
  %4448 = load ptr, ptr %23, align 8, !tbaa !5
  %4449 = load ptr, ptr %20, align 8, !tbaa !5
  %4450 = load i64, ptr %4449, align 8, !tbaa !9
  %4451 = getelementptr inbounds float, ptr %4448, i64 %4450
  %4452 = load float, ptr %4451, align 4, !tbaa !11
  %4453 = load float, ptr %97, align 4, !tbaa !11
  %4454 = fcmp olt float %4452, %4453
  br i1 %4454, label %4455, label %4485

4455:                                             ; preds = %4447
  %4456 = load ptr, ptr %23, align 8, !tbaa !5
  %4457 = load ptr, ptr %20, align 8, !tbaa !5
  %4458 = load i64, ptr %4457, align 8, !tbaa !9
  %4459 = getelementptr inbounds float, ptr %4456, i64 %4458
  %4460 = load float, ptr %4459, align 4, !tbaa !11
  %4461 = load float, ptr %49, align 4, !tbaa !11
  %4462 = fcmp ogt float %4460, %4461
  br i1 %4462, label %4463, label %4485

4463:                                             ; preds = %4455
  %4464 = load ptr, ptr %19, align 8, !tbaa !5
  %4465 = load ptr, ptr %21, align 8, !tbaa !5
  %4466 = load ptr, ptr %20, align 8, !tbaa !5
  %4467 = load i64, ptr %4466, align 8, !tbaa !9
  %4468 = load i64, ptr %30, align 8, !tbaa !9
  %4469 = mul nsw i64 %4467, %4468
  %4470 = add nsw i64 %4469, 1
  %4471 = getelementptr inbounds float, ptr %4465, i64 %4470
  %4472 = call double @f2c_snrm2(ptr noundef %4464, ptr noundef %4471, ptr noundef @c__1)
  %4473 = load ptr, ptr %27, align 8, !tbaa !5
  %4474 = load ptr, ptr %20, align 8, !tbaa !5
  %4475 = load i64, ptr %4474, align 8, !tbaa !9
  %4476 = getelementptr inbounds float, ptr %4473, i64 %4475
  %4477 = load float, ptr %4476, align 4, !tbaa !11
  %4478 = fpext float %4477 to double
  %4479 = fmul double %4472, %4478
  %4480 = fptrunc double %4479 to float
  %4481 = load ptr, ptr %23, align 8, !tbaa !5
  %4482 = load ptr, ptr %20, align 8, !tbaa !5
  %4483 = load i64, ptr %4482, align 8, !tbaa !9
  %4484 = getelementptr inbounds float, ptr %4481, i64 %4483
  store float %4480, ptr %4484, align 4, !tbaa !11
  br label %4513

4485:                                             ; preds = %4455, %4447
  store float 0.000000e+00, ptr %46, align 4, !tbaa !11
  store float 0.000000e+00, ptr %63, align 4, !tbaa !11
  %4486 = load ptr, ptr %19, align 8, !tbaa !5
  %4487 = load ptr, ptr %21, align 8, !tbaa !5
  %4488 = load ptr, ptr %20, align 8, !tbaa !5
  %4489 = load i64, ptr %4488, align 8, !tbaa !9
  %4490 = load i64, ptr %30, align 8, !tbaa !9
  %4491 = mul nsw i64 %4489, %4490
  %4492 = add nsw i64 %4491, 1
  %4493 = getelementptr inbounds float, ptr %4487, i64 %4492
  %4494 = call i32 @slassq_(ptr noundef %4486, ptr noundef %4493, ptr noundef @c__1, ptr noundef %46, ptr noundef %63)
  %4495 = load float, ptr %46, align 4, !tbaa !11
  %4496 = fpext float %4495 to double
  %4497 = load float, ptr %63, align 4, !tbaa !11
  %4498 = fpext float %4497 to double
  %4499 = call double @sqrt(double noundef %4498) #5
  %4500 = fmul double %4496, %4499
  %4501 = load ptr, ptr %27, align 8, !tbaa !5
  %4502 = load ptr, ptr %20, align 8, !tbaa !5
  %4503 = load i64, ptr %4502, align 8, !tbaa !9
  %4504 = getelementptr inbounds float, ptr %4501, i64 %4503
  %4505 = load float, ptr %4504, align 4, !tbaa !11
  %4506 = fpext float %4505 to double
  %4507 = fmul double %4500, %4506
  %4508 = fptrunc double %4507 to float
  %4509 = load ptr, ptr %23, align 8, !tbaa !5
  %4510 = load ptr, ptr %20, align 8, !tbaa !5
  %4511 = load i64, ptr %4510, align 8, !tbaa !9
  %4512 = getelementptr inbounds float, ptr %4509, i64 %4511
  store float %4508, ptr %4512, align 4, !tbaa !11
  br label %4513

4513:                                             ; preds = %4485, %4463
  %4514 = load i64, ptr %43, align 8, !tbaa !9
  %4515 = load i64, ptr %86, align 8, !tbaa !9
  %4516 = icmp slt i64 %4514, %4515
  br i1 %4516, label %4517, label %4528

4517:                                             ; preds = %4513
  %4518 = load float, ptr %88, align 4, !tbaa !11
  %4519 = load float, ptr %101, align 4, !tbaa !11
  %4520 = fcmp ole float %4518, %4519
  br i1 %4520, label %4526, label %4521

4521:                                             ; preds = %4517
  %4522 = load i64, ptr %93, align 8, !tbaa !9
  %4523 = load ptr, ptr %20, align 8, !tbaa !5
  %4524 = load i64, ptr %4523, align 8, !tbaa !9
  %4525 = icmp sle i64 %4522, %4524
  br i1 %4525, label %4526, label %4528

4526:                                             ; preds = %4521, %4517
  %4527 = load i64, ptr %43, align 8, !tbaa !9
  store i64 %4527, ptr %86, align 8, !tbaa !9
  br label %4528

4528:                                             ; preds = %4526, %4521, %4513
  %4529 = load i64, ptr %43, align 8, !tbaa !9
  %4530 = load i64, ptr %86, align 8, !tbaa !9
  %4531 = add nsw i64 %4530, 1
  %4532 = icmp sgt i64 %4529, %4531
  br i1 %4532, label %4533, label %4556

4533:                                             ; preds = %4528
  %4534 = load float, ptr %88, align 4, !tbaa !11
  %4535 = fpext float %4534 to double
  %4536 = load ptr, ptr %20, align 8, !tbaa !5
  %4537 = load i64, ptr %4536, align 8, !tbaa !9
  %4538 = sitofp i64 %4537 to float
  %4539 = fpext float %4538 to double
  %4540 = call double @sqrt(double noundef %4539) #5
  %4541 = load float, ptr %61, align 4, !tbaa !11
  %4542 = fpext float %4541 to double
  %4543 = fmul double %4540, %4542
  %4544 = fcmp olt double %4535, %4543
  br i1 %4544, label %4545, label %4556

4545:                                             ; preds = %4533
  %4546 = load ptr, ptr %20, align 8, !tbaa !5
  %4547 = load i64, ptr %4546, align 8, !tbaa !9
  %4548 = sitofp i64 %4547 to float
  %4549 = load float, ptr %88, align 4, !tbaa !11
  %4550 = fmul float %4548, %4549
  %4551 = load float, ptr %90, align 4, !tbaa !11
  %4552 = fmul float %4550, %4551
  %4553 = load float, ptr %61, align 4, !tbaa !11
  %4554 = fcmp olt float %4552, %4553
  br i1 %4554, label %4555, label %4556

4555:                                             ; preds = %4545
  br label %4567

4556:                                             ; preds = %4545, %4533, %4528
  %4557 = load i64, ptr %92, align 8, !tbaa !9
  %4558 = load i64, ptr %91, align 8, !tbaa !9
  %4559 = icmp sge i64 %4557, %4558
  br i1 %4559, label %4560, label %4561

4560:                                             ; preds = %4556
  br label %4567

4561:                                             ; preds = %4556
  br label %4562

4562:                                             ; preds = %4561
  %4563 = load i64, ptr %43, align 8, !tbaa !9
  %4564 = add nsw i64 %4563, 1
  store i64 %4564, ptr %43, align 8, !tbaa !9
  br label %1426, !llvm.loop !30

4565:                                             ; preds = %1426
  %4566 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 29, ptr %4566, align 8, !tbaa !9
  br label %4569

4567:                                             ; preds = %4560, %4555
  %4568 = load ptr, ptr %29, align 8, !tbaa !5
  store i64 0, ptr %4568, align 8, !tbaa !9
  br label %4569

4569:                                             ; preds = %4567, %4565
  store i64 0, ptr %47, align 8, !tbaa !9
  store i64 0, ptr %48, align 8, !tbaa !9
  %4570 = load ptr, ptr %20, align 8, !tbaa !5
  %4571 = load i64, ptr %4570, align 8, !tbaa !9
  %4572 = sub nsw i64 %4571, 1
  store i64 %4572, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %4573

4573:                                             ; preds = %4677, %4569
  %4574 = load i64, ptr %44, align 8, !tbaa !9
  %4575 = load i64, ptr %34, align 8, !tbaa !9
  %4576 = icmp sle i64 %4574, %4575
  br i1 %4576, label %4577, label %4680

4577:                                             ; preds = %4573
  %4578 = load ptr, ptr %20, align 8, !tbaa !5
  %4579 = load i64, ptr %4578, align 8, !tbaa !9
  %4580 = load i64, ptr %44, align 8, !tbaa !9
  %4581 = sub nsw i64 %4579, %4580
  %4582 = add nsw i64 %4581, 1
  store i64 %4582, ptr %35, align 8, !tbaa !9
  %4583 = load ptr, ptr %23, align 8, !tbaa !5
  %4584 = load i64, ptr %44, align 8, !tbaa !9
  %4585 = getelementptr inbounds float, ptr %4583, i64 %4584
  %4586 = call i64 @f2c_isamax(ptr noundef %35, ptr noundef %4585, ptr noundef @c__1)
  %4587 = load i64, ptr %44, align 8, !tbaa !9
  %4588 = add nsw i64 %4586, %4587
  %4589 = sub nsw i64 %4588, 1
  store i64 %4589, ptr %45, align 8, !tbaa !9
  %4590 = load i64, ptr %44, align 8, !tbaa !9
  %4591 = load i64, ptr %45, align 8, !tbaa !9
  %4592 = icmp ne i64 %4590, %4591
  br i1 %4592, label %4593, label %4655

4593:                                             ; preds = %4577
  %4594 = load ptr, ptr %23, align 8, !tbaa !5
  %4595 = load i64, ptr %44, align 8, !tbaa !9
  %4596 = getelementptr inbounds float, ptr %4594, i64 %4595
  %4597 = load float, ptr %4596, align 4, !tbaa !11
  store float %4597, ptr %69, align 4, !tbaa !11
  %4598 = load ptr, ptr %23, align 8, !tbaa !5
  %4599 = load i64, ptr %45, align 8, !tbaa !9
  %4600 = getelementptr inbounds float, ptr %4598, i64 %4599
  %4601 = load float, ptr %4600, align 4, !tbaa !11
  %4602 = load ptr, ptr %23, align 8, !tbaa !5
  %4603 = load i64, ptr %44, align 8, !tbaa !9
  %4604 = getelementptr inbounds float, ptr %4602, i64 %4603
  store float %4601, ptr %4604, align 4, !tbaa !11
  %4605 = load float, ptr %69, align 4, !tbaa !11
  %4606 = load ptr, ptr %23, align 8, !tbaa !5
  %4607 = load i64, ptr %45, align 8, !tbaa !9
  %4608 = getelementptr inbounds float, ptr %4606, i64 %4607
  store float %4605, ptr %4608, align 4, !tbaa !11
  %4609 = load ptr, ptr %27, align 8, !tbaa !5
  %4610 = load i64, ptr %44, align 8, !tbaa !9
  %4611 = getelementptr inbounds float, ptr %4609, i64 %4610
  %4612 = load float, ptr %4611, align 4, !tbaa !11
  store float %4612, ptr %69, align 4, !tbaa !11
  %4613 = load ptr, ptr %27, align 8, !tbaa !5
  %4614 = load i64, ptr %45, align 8, !tbaa !9
  %4615 = getelementptr inbounds float, ptr %4613, i64 %4614
  %4616 = load float, ptr %4615, align 4, !tbaa !11
  %4617 = load ptr, ptr %27, align 8, !tbaa !5
  %4618 = load i64, ptr %44, align 8, !tbaa !9
  %4619 = getelementptr inbounds float, ptr %4617, i64 %4618
  store float %4616, ptr %4619, align 4, !tbaa !11
  %4620 = load float, ptr %69, align 4, !tbaa !11
  %4621 = load ptr, ptr %27, align 8, !tbaa !5
  %4622 = load i64, ptr %45, align 8, !tbaa !9
  %4623 = getelementptr inbounds float, ptr %4621, i64 %4622
  store float %4620, ptr %4623, align 4, !tbaa !11
  %4624 = load ptr, ptr %19, align 8, !tbaa !5
  %4625 = load ptr, ptr %21, align 8, !tbaa !5
  %4626 = load i64, ptr %44, align 8, !tbaa !9
  %4627 = load i64, ptr %30, align 8, !tbaa !9
  %4628 = mul nsw i64 %4626, %4627
  %4629 = add nsw i64 %4628, 1
  %4630 = getelementptr inbounds float, ptr %4625, i64 %4629
  %4631 = load ptr, ptr %21, align 8, !tbaa !5
  %4632 = load i64, ptr %45, align 8, !tbaa !9
  %4633 = load i64, ptr %30, align 8, !tbaa !9
  %4634 = mul nsw i64 %4632, %4633
  %4635 = add nsw i64 %4634, 1
  %4636 = getelementptr inbounds float, ptr %4631, i64 %4635
  %4637 = call i32 @f2c_sswap(ptr noundef %4624, ptr noundef %4630, ptr noundef @c__1, ptr noundef %4636, ptr noundef @c__1)
  %4638 = load i64, ptr %80, align 8, !tbaa !9
  %4639 = icmp ne i64 %4638, 0
  br i1 %4639, label %4640, label %4654

4640:                                             ; preds = %4593
  %4641 = load ptr, ptr %25, align 8, !tbaa !5
  %4642 = load i64, ptr %44, align 8, !tbaa !9
  %4643 = load i64, ptr %32, align 8, !tbaa !9
  %4644 = mul nsw i64 %4642, %4643
  %4645 = add nsw i64 %4644, 1
  %4646 = getelementptr inbounds float, ptr %4641, i64 %4645
  %4647 = load ptr, ptr %25, align 8, !tbaa !5
  %4648 = load i64, ptr %45, align 8, !tbaa !9
  %4649 = load i64, ptr %32, align 8, !tbaa !9
  %4650 = mul nsw i64 %4648, %4649
  %4651 = add nsw i64 %4650, 1
  %4652 = getelementptr inbounds float, ptr %4647, i64 %4651
  %4653 = call i32 @f2c_sswap(ptr noundef %62, ptr noundef %4646, ptr noundef @c__1, ptr noundef %4652, ptr noundef @c__1)
  br label %4654

4654:                                             ; preds = %4640, %4593
  br label %4655

4655:                                             ; preds = %4654, %4577
  %4656 = load ptr, ptr %23, align 8, !tbaa !5
  %4657 = load i64, ptr %44, align 8, !tbaa !9
  %4658 = getelementptr inbounds float, ptr %4656, i64 %4657
  %4659 = load float, ptr %4658, align 4, !tbaa !11
  %4660 = fcmp une float %4659, 0.000000e+00
  br i1 %4660, label %4661, label %4676

4661:                                             ; preds = %4655
  %4662 = load i64, ptr %48, align 8, !tbaa !9
  %4663 = add nsw i64 %4662, 1
  store i64 %4663, ptr %48, align 8, !tbaa !9
  %4664 = load ptr, ptr %23, align 8, !tbaa !5
  %4665 = load i64, ptr %44, align 8, !tbaa !9
  %4666 = getelementptr inbounds float, ptr %4664, i64 %4665
  %4667 = load float, ptr %4666, align 4, !tbaa !11
  %4668 = load float, ptr %70, align 4, !tbaa !11
  %4669 = fmul float %4667, %4668
  %4670 = load float, ptr %76, align 4, !tbaa !11
  %4671 = fcmp ogt float %4669, %4670
  br i1 %4671, label %4672, label %4675

4672:                                             ; preds = %4661
  %4673 = load i64, ptr %47, align 8, !tbaa !9
  %4674 = add nsw i64 %4673, 1
  store i64 %4674, ptr %47, align 8, !tbaa !9
  br label %4675

4675:                                             ; preds = %4672, %4661
  br label %4676

4676:                                             ; preds = %4675, %4655
  br label %4677

4677:                                             ; preds = %4676
  %4678 = load i64, ptr %44, align 8, !tbaa !9
  %4679 = add nsw i64 %4678, 1
  store i64 %4679, ptr %44, align 8, !tbaa !9
  br label %4573, !llvm.loop !31

4680:                                             ; preds = %4573
  %4681 = load ptr, ptr %23, align 8, !tbaa !5
  %4682 = load ptr, ptr %20, align 8, !tbaa !5
  %4683 = load i64, ptr %4682, align 8, !tbaa !9
  %4684 = getelementptr inbounds float, ptr %4681, i64 %4683
  %4685 = load float, ptr %4684, align 4, !tbaa !11
  %4686 = fcmp une float %4685, 0.000000e+00
  br i1 %4686, label %4687, label %4703

4687:                                             ; preds = %4680
  %4688 = load i64, ptr %48, align 8, !tbaa !9
  %4689 = add nsw i64 %4688, 1
  store i64 %4689, ptr %48, align 8, !tbaa !9
  %4690 = load ptr, ptr %23, align 8, !tbaa !5
  %4691 = load ptr, ptr %20, align 8, !tbaa !5
  %4692 = load i64, ptr %4691, align 8, !tbaa !9
  %4693 = getelementptr inbounds float, ptr %4690, i64 %4692
  %4694 = load float, ptr %4693, align 4, !tbaa !11
  %4695 = load float, ptr %70, align 4, !tbaa !11
  %4696 = fmul float %4694, %4695
  %4697 = load float, ptr %76, align 4, !tbaa !11
  %4698 = fcmp ogt float %4696, %4697
  br i1 %4698, label %4699, label %4702

4699:                                             ; preds = %4687
  %4700 = load i64, ptr %47, align 8, !tbaa !9
  %4701 = add nsw i64 %4700, 1
  store i64 %4701, ptr %47, align 8, !tbaa !9
  br label %4702

4702:                                             ; preds = %4699, %4687
  br label %4703

4703:                                             ; preds = %4702, %4680
  %4704 = load i64, ptr %77, align 8, !tbaa !9
  %4705 = icmp ne i64 %4704, 0
  br i1 %4705, label %4709, label %4706

4706:                                             ; preds = %4703
  %4707 = load i64, ptr %81, align 8, !tbaa !9
  %4708 = icmp ne i64 %4707, 0
  br i1 %4708, label %4709, label %4737

4709:                                             ; preds = %4706, %4703
  %4710 = load i64, ptr %47, align 8, !tbaa !9
  store i64 %4710, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %4711

4711:                                             ; preds = %4733, %4709
  %4712 = load i64, ptr %44, align 8, !tbaa !9
  %4713 = load i64, ptr %34, align 8, !tbaa !9
  %4714 = icmp sle i64 %4712, %4713
  br i1 %4714, label %4715, label %4736

4715:                                             ; preds = %4711
  %4716 = load ptr, ptr %27, align 8, !tbaa !5
  %4717 = load i64, ptr %44, align 8, !tbaa !9
  %4718 = getelementptr inbounds float, ptr %4716, i64 %4717
  %4719 = load float, ptr %4718, align 4, !tbaa !11
  %4720 = load ptr, ptr %23, align 8, !tbaa !5
  %4721 = load i64, ptr %44, align 8, !tbaa !9
  %4722 = getelementptr inbounds float, ptr %4720, i64 %4721
  %4723 = load float, ptr %4722, align 4, !tbaa !11
  %4724 = fdiv float %4719, %4723
  store float %4724, ptr %39, align 4, !tbaa !11
  %4725 = load ptr, ptr %19, align 8, !tbaa !5
  %4726 = load ptr, ptr %21, align 8, !tbaa !5
  %4727 = load i64, ptr %44, align 8, !tbaa !9
  %4728 = load i64, ptr %30, align 8, !tbaa !9
  %4729 = mul nsw i64 %4727, %4728
  %4730 = add nsw i64 %4729, 1
  %4731 = getelementptr inbounds float, ptr %4726, i64 %4730
  %4732 = call i32 @f2c_sscal(ptr noundef %4725, ptr noundef %39, ptr noundef %4731, ptr noundef @c__1)
  br label %4733

4733:                                             ; preds = %4715
  %4734 = load i64, ptr %44, align 8, !tbaa !9
  %4735 = add nsw i64 %4734, 1
  store i64 %4735, ptr %44, align 8, !tbaa !9
  br label %4711, !llvm.loop !32

4736:                                             ; preds = %4711
  br label %4737

4737:                                             ; preds = %4736, %4706
  %4738 = load i64, ptr %80, align 8, !tbaa !9
  %4739 = icmp ne i64 %4738, 0
  br i1 %4739, label %4740, label %4794

4740:                                             ; preds = %4737
  %4741 = load i64, ptr %79, align 8, !tbaa !9
  %4742 = icmp ne i64 %4741, 0
  br i1 %4742, label %4743, label %4765

4743:                                             ; preds = %4740
  %4744 = load ptr, ptr %20, align 8, !tbaa !5
  %4745 = load i64, ptr %4744, align 8, !tbaa !9
  store i64 %4745, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %4746

4746:                                             ; preds = %4761, %4743
  %4747 = load i64, ptr %44, align 8, !tbaa !9
  %4748 = load i64, ptr %34, align 8, !tbaa !9
  %4749 = icmp sle i64 %4747, %4748
  br i1 %4749, label %4750, label %4764

4750:                                             ; preds = %4746
  %4751 = load ptr, ptr %27, align 8, !tbaa !5
  %4752 = load i64, ptr %44, align 8, !tbaa !9
  %4753 = getelementptr inbounds float, ptr %4751, i64 %4752
  %4754 = load ptr, ptr %25, align 8, !tbaa !5
  %4755 = load i64, ptr %44, align 8, !tbaa !9
  %4756 = load i64, ptr %32, align 8, !tbaa !9
  %4757 = mul nsw i64 %4755, %4756
  %4758 = add nsw i64 %4757, 1
  %4759 = getelementptr inbounds float, ptr %4754, i64 %4758
  %4760 = call i32 @f2c_sscal(ptr noundef %62, ptr noundef %4753, ptr noundef %4759, ptr noundef @c__1)
  br label %4761

4761:                                             ; preds = %4750
  %4762 = load i64, ptr %44, align 8, !tbaa !9
  %4763 = add nsw i64 %4762, 1
  store i64 %4763, ptr %44, align 8, !tbaa !9
  br label %4746, !llvm.loop !33

4764:                                             ; preds = %4746
  br label %4793

4765:                                             ; preds = %4740
  %4766 = load ptr, ptr %20, align 8, !tbaa !5
  %4767 = load i64, ptr %4766, align 8, !tbaa !9
  store i64 %4767, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %4768

4768:                                             ; preds = %4789, %4765
  %4769 = load i64, ptr %44, align 8, !tbaa !9
  %4770 = load i64, ptr %34, align 8, !tbaa !9
  %4771 = icmp sle i64 %4769, %4770
  br i1 %4771, label %4772, label %4792

4772:                                             ; preds = %4768
  %4773 = load ptr, ptr %25, align 8, !tbaa !5
  %4774 = load i64, ptr %44, align 8, !tbaa !9
  %4775 = load i64, ptr %32, align 8, !tbaa !9
  %4776 = mul nsw i64 %4774, %4775
  %4777 = add nsw i64 %4776, 1
  %4778 = getelementptr inbounds float, ptr %4773, i64 %4777
  %4779 = call double @f2c_snrm2(ptr noundef %62, ptr noundef %4778, ptr noundef @c__1)
  %4780 = fdiv double 1.000000e+00, %4779
  %4781 = fptrunc double %4780 to float
  store float %4781, ptr %69, align 4, !tbaa !11
  %4782 = load ptr, ptr %25, align 8, !tbaa !5
  %4783 = load i64, ptr %44, align 8, !tbaa !9
  %4784 = load i64, ptr %32, align 8, !tbaa !9
  %4785 = mul nsw i64 %4783, %4784
  %4786 = add nsw i64 %4785, 1
  %4787 = getelementptr inbounds float, ptr %4782, i64 %4786
  %4788 = call i32 @f2c_sscal(ptr noundef %62, ptr noundef %69, ptr noundef %4787, ptr noundef @c__1)
  br label %4789

4789:                                             ; preds = %4772
  %4790 = load i64, ptr %44, align 8, !tbaa !9
  %4791 = add nsw i64 %4790, 1
  store i64 %4791, ptr %44, align 8, !tbaa !9
  br label %4768, !llvm.loop !34

4792:                                             ; preds = %4768
  br label %4793

4793:                                             ; preds = %4792, %4764
  br label %4794

4794:                                             ; preds = %4793, %4737
  %4795 = load float, ptr %70, align 4, !tbaa !11
  %4796 = fcmp ogt float %4795, 1.000000e+00
  br i1 %4796, label %4797, label %4805

4797:                                             ; preds = %4794
  %4798 = load ptr, ptr %23, align 8, !tbaa !5
  %4799 = getelementptr inbounds float, ptr %4798, i64 1
  %4800 = load float, ptr %4799, align 4, !tbaa !11
  %4801 = load float, ptr %55, align 4, !tbaa !11
  %4802 = load float, ptr %70, align 4, !tbaa !11
  %4803 = fdiv float %4801, %4802
  %4804 = fcmp olt float %4800, %4803
  br i1 %4804, label %4817, label %4805

4805:                                             ; preds = %4797, %4794
  %4806 = load float, ptr %70, align 4, !tbaa !11
  %4807 = fcmp olt float %4806, 1.000000e+00
  br i1 %4807, label %4808, label %4838

4808:                                             ; preds = %4805
  %4809 = load ptr, ptr %23, align 8, !tbaa !5
  %4810 = load i64, ptr %47, align 8, !tbaa !9
  %4811 = getelementptr inbounds float, ptr %4809, i64 %4810
  %4812 = load float, ptr %4811, align 4, !tbaa !11
  %4813 = load float, ptr %76, align 4, !tbaa !11
  %4814 = load float, ptr %70, align 4, !tbaa !11
  %4815 = fdiv float %4813, %4814
  %4816 = fcmp ogt float %4812, %4815
  br i1 %4816, label %4817, label %4838

4817:                                             ; preds = %4808, %4797
  %4818 = load ptr, ptr %20, align 8, !tbaa !5
  %4819 = load i64, ptr %4818, align 8, !tbaa !9
  store i64 %4819, ptr %34, align 8, !tbaa !9
  store i64 1, ptr %44, align 8, !tbaa !9
  br label %4820

4820:                                             ; preds = %4834, %4817
  %4821 = load i64, ptr %44, align 8, !tbaa !9
  %4822 = load i64, ptr %34, align 8, !tbaa !9
  %4823 = icmp sle i64 %4821, %4822
  br i1 %4823, label %4824, label %4837

4824:                                             ; preds = %4820
  %4825 = load float, ptr %70, align 4, !tbaa !11
  %4826 = load ptr, ptr %23, align 8, !tbaa !5
  %4827 = load i64, ptr %44, align 8, !tbaa !9
  %4828 = getelementptr inbounds float, ptr %4826, i64 %4827
  %4829 = load float, ptr %4828, align 4, !tbaa !11
  %4830 = fmul float %4825, %4829
  %4831 = load ptr, ptr %23, align 8, !tbaa !5
  %4832 = load i64, ptr %44, align 8, !tbaa !9
  %4833 = getelementptr inbounds float, ptr %4831, i64 %4832
  store float %4830, ptr %4833, align 4, !tbaa !11
  br label %4834

4834:                                             ; preds = %4824
  %4835 = load i64, ptr %44, align 8, !tbaa !9
  %4836 = add nsw i64 %4835, 1
  store i64 %4836, ptr %44, align 8, !tbaa !9
  br label %4820, !llvm.loop !35

4837:                                             ; preds = %4820
  store float 1.000000e+00, ptr %70, align 4, !tbaa !11
  br label %4838

4838:                                             ; preds = %4837, %4808, %4805
  %4839 = load float, ptr %70, align 4, !tbaa !11
  %4840 = load ptr, ptr %27, align 8, !tbaa !5
  %4841 = getelementptr inbounds float, ptr %4840, i64 1
  store float %4839, ptr %4841, align 4, !tbaa !11
  %4842 = load i64, ptr %48, align 8, !tbaa !9
  %4843 = sitofp i64 %4842 to float
  %4844 = load ptr, ptr %27, align 8, !tbaa !5
  %4845 = getelementptr inbounds float, ptr %4844, i64 2
  store float %4843, ptr %4845, align 4, !tbaa !11
  %4846 = load i64, ptr %47, align 8, !tbaa !9
  %4847 = sitofp i64 %4846 to float
  %4848 = load ptr, ptr %27, align 8, !tbaa !5
  %4849 = getelementptr inbounds float, ptr %4848, i64 3
  store float %4847, ptr %4849, align 4, !tbaa !11
  %4850 = load i64, ptr %43, align 8, !tbaa !9
  %4851 = sitofp i64 %4850 to float
  %4852 = load ptr, ptr %27, align 8, !tbaa !5
  %4853 = getelementptr inbounds float, ptr %4852, i64 4
  store float %4851, ptr %4853, align 4, !tbaa !11
  %4854 = load float, ptr %88, align 4, !tbaa !11
  %4855 = load ptr, ptr %27, align 8, !tbaa !5
  %4856 = getelementptr inbounds float, ptr %4855, i64 5
  store float %4854, ptr %4856, align 4, !tbaa !11
  %4857 = load float, ptr %90, align 4, !tbaa !11
  %4858 = load ptr, ptr %27, align 8, !tbaa !5
  %4859 = getelementptr inbounds float, ptr %4858, i64 6
  store float %4857, ptr %4859, align 4, !tbaa !11
  store i32 0, ptr %15, align 4
  store i32 1, ptr %102, align 4
  br label %4860

4860:                                             ; preds = %4838, %765, %719, %588, %508, %426, %354, %278, %265
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %96) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 20, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, 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 8, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 8, 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 8, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #5
  %4861 = load i32, ptr %15, align 4
  ret i32 %4861
}

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

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

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

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

declare double @slamch_(ptr noundef) #2

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

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

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

declare i32 @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 i32 @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 i64 @f2c_isamax(ptr noundef, ptr noundef, ptr noundef) #2

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

declare double @f2c_snrm2(ptr noundef, ptr noundef, ptr noundef) #2

declare double @f2c_sdot(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) #2

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

declare i32 @f2c_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

declare double @r_sign(ptr noundef, ptr noundef) #2

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

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

declare i32 @f2c_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 = !{!"long", !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 i64, align 8
@c__0 = external hidden global i64, align 8
@c__2 = external hidden global i64, align 8

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

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

53:                                               ; preds = %51, %14
  %54 = icmp ne i64 %43, 0
  %55 = icmp ne i64 %44, 0
  %or.cond3 = select i1 %54, i1 true, i1 %55
  br i1 %or.cond3, label %58, label %56

56:                                               ; preds = %53
  %57 = tail call i64 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.6) #7
  %.not1578 = icmp eq i64 %57, 0
  br i1 %.not1578, label %91, label %58

58:                                               ; preds = %56, %53
  %59 = icmp ne i64 %45, 0
  %60 = icmp ne i64 %46, 0
  %or.cond5 = select i1 %59, i1 true, i1 %60
  br i1 %or.cond5, label %63, label %61

61:                                               ; preds = %58
  %62 = tail call i64 @lsame_(ptr noundef %2, ptr noundef nonnull @.str.6) #7
  %.not1579 = icmp eq i64 %62, 0
  br i1 %.not1579, label %91, label %63

63:                                               ; preds = %61, %58
  %64 = load i64, ptr %3, align 8, !tbaa !5
  %65 = icmp slt i64 %64, 0
  br i1 %65, label %91, label %66

66:                                               ; preds = %63
  %67 = load i64, ptr %4, align 8, !tbaa !5
  %or.cond1652 = icmp ugt i64 %67, %64
  br i1 %or.cond1652, label %91, label %68

68:                                               ; preds = %66
  %69 = load i64, ptr %6, align 8, !tbaa !5
  %70 = icmp slt i64 %69, %64
  br i1 %70, label %91, label %71

71:                                               ; preds = %68
  %72 = load i64, ptr %8, align 8, !tbaa !5
  %73 = icmp slt i64 %72, 0
  br i1 %73, label %91, label %74

74:                                               ; preds = %71
  br i1 %59, label %75, label %78

75:                                               ; preds = %74
  %76 = load i64, ptr %10, align 8, !tbaa !5
  %77 = icmp slt i64 %76, %67
  br i1 %77, label %91, label %78

78:                                               ; preds = %75, %74
  br i1 %60, label %79, label %82

79:                                               ; preds = %78
  %80 = load i64, ptr %10, align 8, !tbaa !5
  %81 = icmp slt i64 %80, %72
  br i1 %81, label %91, label %82

82:                                               ; preds = %79, %78
  br i1 %55, label %83, label %86

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

86:                                               ; preds = %83, %82
  %87 = add nuw nsw i64 %67, %64
  store i64 %87, ptr %15, align 8, !tbaa !5
  %88 = load i64, ptr %12, align 8, !tbaa !5
  %89 = tail call i64 @llvm.umax.i64(i64 %87, i64 6)
  %90 = icmp slt i64 %88, %89
  br i1 %90, label %91, label %93

91:                                               ; preds = %86, %83, %75, %79, %71, %68, %66, %63, %61, %56, %51
  %.sink2181 = phi i64 [ -1, %51 ], [ -2, %56 ], [ -3, %61 ], [ -4, %63 ], [ -5, %66 ], [ -7, %68 ], [ -9, %71 ], [ -11, %79 ], [ -11, %75 ], [ -12, %83 ], [ -13, %86 ]
  %.ph.neg = phi i64 [ 1, %51 ], [ 2, %56 ], [ 3, %61 ], [ 4, %63 ], [ 5, %66 ], [ 7, %68 ], [ 9, %71 ], [ 11, %79 ], [ 11, %75 ], [ 12, %83 ], [ 13, %86 ]
  store i64 %.sink2181, ptr %13, align 8, !tbaa !5
  store i64 %.ph.neg, ptr %15, align 8, !tbaa !5
  %92 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %15) #7
  br label %1879

93:                                               ; preds = %86
  store i64 0, ptr %13, align 8, !tbaa !5
  %94 = load i64, ptr %3, align 8, !tbaa !5
  %95 = icmp eq i64 %94, 0
  br i1 %95, label %1879, label %96

96:                                               ; preds = %93
  %97 = load i64, ptr %4, align 8, !tbaa !5
  %98 = icmp eq i64 %97, 0
  br i1 %98, label %1879, label %99

99:                                               ; preds = %96
  %.not1611 = icmp eq i64 %44, 0
  br i1 %.not1611, label %102, label %100

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

102:                                              ; preds = %99
  %103 = or i64 %43, %45
  %or.cond7 = icmp ne i64 %103, 0
  %or.cond9 = select i1 %or.cond7, i1 true, i1 %60
  %104 = sitofp i64 %94 to float
  br i1 %or.cond9, label %105, label %106

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

106:                                              ; preds = %102, %105, %100
  %.01511 = phi float [ %101, %100 ], [ %sqrtf, %105 ], [ %104, %102 ]
  %107 = tail call double @slamch_(ptr noundef nonnull @.str.8) #7
  %108 = fptrunc double %107 to float
  store float %108, ptr %34, align 4, !tbaa !9
  %sqrtf1581 = tail call float @sqrtf(float noundef %108) #3
  %109 = tail call double @slamch_(ptr noundef nonnull @.str.9) #7
  %110 = fptrunc double %109 to float
  store float %110, ptr %32, align 4, !tbaa !9
  %sqrtf1582 = tail call float @sqrtf(float noundef %110) #3
  %111 = fdiv float %110, %108
  %112 = tail call double @slamch_(ptr noundef nonnull @.str.10) #7
  %113 = fptrunc double %112 to float
  %114 = fdiv float 1.000000e+00, %sqrtf1582
  %115 = fpext float %113 to double
  %116 = load i64, ptr %3, align 8, !tbaa !5
  %117 = load i64, ptr %4, align 8, !tbaa !5
  %118 = mul nsw i64 %117, %116
  %119 = icmp slt i64 %118, 0
  br i1 %119, label %cdce.call, label %cdce.end, !prof !11

cdce.call:                                        ; preds = %106
  %120 = sitofp i64 %118 to float
  %sqrtf1583 = tail call float @sqrtf(float noundef %120) #3
  br label %cdce.end

cdce.end:                                         ; preds = %106, %cdce.call
  %121 = fdiv float 1.000000e+00, %sqrtf1581
  %122 = fmul float %.01511, %108
  store float %122, ptr %24, align 4, !tbaa !9
  %sqrtf1584 = tail call float @sqrtf(float noundef %122) #3
  %123 = load i64, ptr %3, align 8, !tbaa !5
  %124 = sitofp i64 %123 to float
  %125 = fmul float %108, %124
  %126 = fcmp ult float %125, 1.000000e+00
  br i1 %126, label %129, label %127

127:                                              ; preds = %cdce.end
  store i64 -5, ptr %13, align 8, !tbaa !5
  store i64 5, ptr %15, align 8, !tbaa !5
  %128 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %15) #7
  br label %1879

129:                                              ; preds = %cdce.end
  br i1 %59, label %130, label %133

130:                                              ; preds = %129
  %131 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %131, ptr %25, align 8, !tbaa !5
  %132 = call i32 @slaset_(ptr noundef nonnull @.str.3, ptr noundef nonnull %25, ptr noundef nonnull %4, ptr noundef nonnull @c_b17, ptr noundef nonnull @c_b18, ptr noundef %9, ptr noundef nonnull %10) #7
  %.pre = load i64, ptr %3, align 8, !tbaa !5
  %.pre2154 = sitofp i64 %.pre to float
  br label %136

133:                                              ; preds = %129
  %.not1585 = icmp eq i64 %46, 0
  br i1 %.not1585, label %136, label %134

134:                                              ; preds = %133
  %135 = load i64, ptr %8, align 8, !tbaa !5
  store i64 %135, ptr %25, align 8, !tbaa !5
  br label %136

136:                                              ; preds = %133, %134, %130
  %.pre-phi = phi float [ %124, %133 ], [ %124, %134 ], [ %.pre2154, %130 ]
  %137 = load i64, ptr %4, align 8, !tbaa !5
  %138 = sitofp i64 %137 to float
  %139 = fmul float %.pre-phi, %138
  %140 = fpext float %139 to double
  %141 = call double @sqrt(double noundef %140) #7
  %142 = fdiv double 1.000000e+00, %141
  %143 = fptrunc double %142 to float
  store float %143, ptr %31, align 4, !tbaa !9
  %144 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %144, ptr %15, align 8, !tbaa !5
  br i1 %50, label %145, label %188

145:                                              ; preds = %136
  store i64 1, ptr %20, align 8, !tbaa !5
  %.not15961753 = icmp slt i64 %144, 1
  br i1 %.not15961753, label %.loopexit1698.thread, label %.lr.ph1757

.lr.ph1757:                                       ; preds = %145
  %146 = add i64 %36, 1
  br label %147

147:                                              ; preds = %.lr.ph1757, %.loopexit1697
  %.014201756 = phi i64 [ 1, %.lr.ph1757 ], [ %.1, %.loopexit1697 ]
  %.014211755 = phi i64 [ 1, %.lr.ph1757 ], [ %.11422, %.loopexit1697 ]
  %storemerge15951754 = phi i64 [ 1, %.lr.ph1757 ], [ %186, %.loopexit1697 ]
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  store float 0.000000e+00, ptr %28, align 4, !tbaa !9
  %148 = load i64, ptr %3, align 8, !tbaa !5
  %reass.sub = sub i64 %148, %storemerge15951754
  %149 = add i64 %reass.sub, 1
  store i64 %149, ptr %16, align 8, !tbaa !5
  %150 = mul i64 %storemerge15951754, %146
  %151 = getelementptr inbounds float, ptr %38, i64 %150
  %152 = call i32 @slassq_(ptr noundef nonnull %16, ptr noundef %151, ptr noundef nonnull @c__1, ptr noundef nonnull %26, ptr noundef nonnull %28) #7
  %153 = load float, ptr %26, align 4, !tbaa !9
  %154 = fcmp ogt float %153, %113
  br i1 %154, label %155, label %157

155:                                              ; preds = %147
  store i64 -6, ptr %13, align 8, !tbaa !5
  store i64 6, ptr %16, align 8, !tbaa !5
  %156 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16) #7
  br label %1879

157:                                              ; preds = %147
  %158 = load float, ptr %28, align 4, !tbaa !9
  %sqrtf1649 = call float @sqrtf(float noundef %158) #3
  store float %sqrtf1649, ptr %28, align 4, !tbaa !9
  %159 = load float, ptr %26, align 4, !tbaa !9
  %160 = fdiv float %113, %sqrtf1649
  %161 = fcmp olt float %159, %160
  %162 = icmp ne i64 %.014201756, 0
  %or.cond11 = and i1 %162, %161
  br i1 %or.cond11, label %163, label %167

163:                                              ; preds = %157
  %164 = fmul float %sqrtf1649, %159
  %165 = load i64, ptr %20, align 8, !tbaa !5
  %166 = getelementptr inbounds float, ptr %35, i64 %165
  store float %164, ptr %166, align 4, !tbaa !9
  br label %.loopexit1697

167:                                              ; preds = %157
  %168 = load float, ptr %31, align 4, !tbaa !9
  %169 = fmul float %sqrtf1649, %168
  %170 = fmul float %159, %169
  %171 = load i64, ptr %20, align 8, !tbaa !5
  %172 = getelementptr inbounds float, ptr %35, i64 %171
  store float %170, ptr %172, align 4, !tbaa !9
  %.not1650 = icmp eq i64 %.014211755, 0
  br i1 %.not1650, label %.loopexit1697, label %173

173:                                              ; preds = %167
  %174 = add nsw i64 %171, -1
  store i64 %174, ptr %16, align 8, !tbaa !5
  %.not1651.not1750 = icmp sgt i64 %171, 1
  br i1 %.not1651.not1750, label %.lr.ph1752.preheader, label %.loopexit1697

.lr.ph1752.preheader:                             ; preds = %173
  %175 = add nsw i64 %171, -1
  %min.iters.check2266 = icmp ult i64 %171, 9
  br i1 %min.iters.check2266, label %.lr.ph1752.preheader2349, label %vector.ph2267

vector.ph2267:                                    ; preds = %.lr.ph1752.preheader
  %n.vec2269 = and i64 %175, -8
  %ind.end2270 = or disjoint i64 %n.vec2269, 1
  %broadcast.splatinsert2277 = insertelement <4 x float> poison, float %168, i64 0
  %broadcast.splat2278 = shufflevector <4 x float> %broadcast.splatinsert2277, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2272

vector.body2272:                                  ; preds = %vector.body2272, %vector.ph2267
  %index2273 = phi i64 [ 0, %vector.ph2267 ], [ %index.next2279, %vector.body2272 ]
  %176 = getelementptr float, ptr %7, i64 %index2273
  %177 = getelementptr inbounds i8, ptr %176, i64 16
  %wide.load2275 = load <4 x float>, ptr %176, align 4, !tbaa !9
  %wide.load2276 = load <4 x float>, ptr %177, align 4, !tbaa !9
  %178 = fmul <4 x float> %broadcast.splat2278, %wide.load2275
  %179 = fmul <4 x float> %broadcast.splat2278, %wide.load2276
  store <4 x float> %178, ptr %176, align 4, !tbaa !9
  store <4 x float> %179, ptr %177, align 4, !tbaa !9
  %index.next2279 = add nuw i64 %index2273, 8
  %180 = icmp eq i64 %index.next2279, %n.vec2269
  br i1 %180, label %middle.block2264, label %vector.body2272, !llvm.loop !12

middle.block2264:                                 ; preds = %vector.body2272
  %cmp.n2280 = icmp eq i64 %175, %n.vec2269
  br i1 %cmp.n2280, label %.loopexit1697, label %.lr.ph1752.preheader2349

.lr.ph1752.preheader2349:                         ; preds = %middle.block2264, %.lr.ph1752.preheader
  %.015011751.ph = phi i64 [ 1, %.lr.ph1752.preheader ], [ %ind.end2270, %middle.block2264 ]
  br label %.lr.ph1752

.lr.ph1752:                                       ; preds = %.lr.ph1752.preheader2349, %.lr.ph1752
  %.015011751 = phi i64 [ %184, %.lr.ph1752 ], [ %.015011751.ph, %.lr.ph1752.preheader2349 ]
  %181 = getelementptr inbounds float, ptr %35, i64 %.015011751
  %182 = load float, ptr %181, align 4, !tbaa !9
  %183 = fmul float %168, %182
  store float %183, ptr %181, align 4, !tbaa !9
  %184 = add nuw nsw i64 %.015011751, 1
  %exitcond2133.not = icmp eq i64 %184, %171
  br i1 %exitcond2133.not, label %.loopexit1697, label %.lr.ph1752, !llvm.loop !16

.loopexit1697:                                    ; preds = %.lr.ph1752, %middle.block2264, %173, %163, %167
  %185 = phi i64 [ %165, %163 ], [ %171, %167 ], [ %171, %173 ], [ %171, %middle.block2264 ], [ %171, %.lr.ph1752 ]
  %.11422 = phi i64 [ %.014211755, %163 ], [ 0, %167 ], [ 0, %173 ], [ 0, %middle.block2264 ], [ 0, %.lr.ph1752 ]
  %.1 = phi i64 [ 1, %163 ], [ 0, %167 ], [ 0, %173 ], [ 0, %middle.block2264 ], [ 0, %.lr.ph1752 ]
  %186 = add nsw i64 %185, 1
  store i64 %186, ptr %20, align 8, !tbaa !5
  %187 = load i64, ptr %15, align 8, !tbaa !5
  %.not1596.not = icmp slt i64 %185, %187
  br i1 %.not1596.not, label %147, label %.loopexit1698, !llvm.loop !17

188:                                              ; preds = %136
  %invariant.gep1742 = getelementptr i8, ptr %38, i64 4
  store i64 1, ptr %20, align 8, !tbaa !5
  %.not15911744 = icmp slt i64 %144, 1
  br i1 %49, label %189, label %227

189:                                              ; preds = %188
  br i1 %.not15911744, label %.loopexit1698.thread, label %.lr.ph1748

.lr.ph1748:                                       ; preds = %189, %.loopexit1699
  %.21747 = phi i64 [ %.3, %.loopexit1699 ], [ 1, %189 ]
  %.214231746 = phi i64 [ %.31424, %.loopexit1699 ], [ 1, %189 ]
  %storemerge15901745 = phi i64 [ %225, %.loopexit1699 ], [ 1, %189 ]
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  store float 0.000000e+00, ptr %28, align 4, !tbaa !9
  %190 = mul nsw i64 %storemerge15901745, %36
  %gep1743 = getelementptr float, ptr %invariant.gep1742, i64 %190
  %191 = call i32 @slassq_(ptr noundef nonnull %20, ptr noundef %gep1743, ptr noundef nonnull @c__1, ptr noundef nonnull %26, ptr noundef nonnull %28) #7
  %192 = load float, ptr %26, align 4, !tbaa !9
  %193 = fcmp ogt float %192, %113
  br i1 %193, label %194, label %196

194:                                              ; preds = %.lr.ph1748
  store i64 -6, ptr %13, align 8, !tbaa !5
  store i64 6, ptr %16, align 8, !tbaa !5
  %195 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16) #7
  br label %1879

196:                                              ; preds = %.lr.ph1748
  %197 = load float, ptr %28, align 4, !tbaa !9
  %sqrtf1592 = call float @sqrtf(float noundef %197) #3
  store float %sqrtf1592, ptr %28, align 4, !tbaa !9
  %198 = load float, ptr %26, align 4, !tbaa !9
  %199 = fdiv float %113, %sqrtf1592
  %200 = fcmp olt float %198, %199
  %201 = icmp ne i64 %.21747, 0
  %or.cond13 = and i1 %201, %200
  br i1 %or.cond13, label %202, label %206

202:                                              ; preds = %196
  %203 = fmul float %sqrtf1592, %198
  %204 = load i64, ptr %20, align 8, !tbaa !5
  %205 = getelementptr inbounds float, ptr %35, i64 %204
  store float %203, ptr %205, align 4, !tbaa !9
  br label %.loopexit1699

206:                                              ; preds = %196
  %207 = load float, ptr %31, align 4, !tbaa !9
  %208 = fmul float %sqrtf1592, %207
  %209 = fmul float %198, %208
  %210 = load i64, ptr %20, align 8, !tbaa !5
  %211 = getelementptr inbounds float, ptr %35, i64 %210
  store float %209, ptr %211, align 4, !tbaa !9
  %.not1593 = icmp eq i64 %.214231746, 0
  br i1 %.not1593, label %.loopexit1699, label %212

212:                                              ; preds = %206
  %213 = add nsw i64 %210, -1
  store i64 %213, ptr %16, align 8, !tbaa !5
  %.not1594.not1739 = icmp sgt i64 %210, 1
  br i1 %.not1594.not1739, label %.lr.ph1741.preheader, label %.loopexit1699

.lr.ph1741.preheader:                             ; preds = %212
  %214 = add nsw i64 %210, -1
  %min.iters.check2249 = icmp ult i64 %210, 9
  br i1 %min.iters.check2249, label %.lr.ph1741.preheader2350, label %vector.ph2250

vector.ph2250:                                    ; preds = %.lr.ph1741.preheader
  %n.vec2252 = and i64 %214, -8
  %ind.end2253 = or disjoint i64 %n.vec2252, 1
  %broadcast.splatinsert2260 = insertelement <4 x float> poison, float %207, i64 0
  %broadcast.splat2261 = shufflevector <4 x float> %broadcast.splatinsert2260, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2255

vector.body2255:                                  ; preds = %vector.body2255, %vector.ph2250
  %index2256 = phi i64 [ 0, %vector.ph2250 ], [ %index.next2262, %vector.body2255 ]
  %215 = getelementptr float, ptr %7, i64 %index2256
  %216 = getelementptr inbounds i8, ptr %215, i64 16
  %wide.load2258 = load <4 x float>, ptr %215, align 4, !tbaa !9
  %wide.load2259 = load <4 x float>, ptr %216, align 4, !tbaa !9
  %217 = fmul <4 x float> %broadcast.splat2261, %wide.load2258
  %218 = fmul <4 x float> %broadcast.splat2261, %wide.load2259
  store <4 x float> %217, ptr %215, align 4, !tbaa !9
  store <4 x float> %218, ptr %216, align 4, !tbaa !9
  %index.next2262 = add nuw i64 %index2256, 8
  %219 = icmp eq i64 %index.next2262, %n.vec2252
  br i1 %219, label %middle.block2247, label %vector.body2255, !llvm.loop !18

middle.block2247:                                 ; preds = %vector.body2255
  %cmp.n2263 = icmp eq i64 %214, %n.vec2252
  br i1 %cmp.n2263, label %.loopexit1699, label %.lr.ph1741.preheader2350

.lr.ph1741.preheader2350:                         ; preds = %middle.block2247, %.lr.ph1741.preheader
  %.115021740.ph = phi i64 [ 1, %.lr.ph1741.preheader ], [ %ind.end2253, %middle.block2247 ]
  br label %.lr.ph1741

.lr.ph1741:                                       ; preds = %.lr.ph1741.preheader2350, %.lr.ph1741
  %.115021740 = phi i64 [ %223, %.lr.ph1741 ], [ %.115021740.ph, %.lr.ph1741.preheader2350 ]
  %220 = getelementptr inbounds float, ptr %35, i64 %.115021740
  %221 = load float, ptr %220, align 4, !tbaa !9
  %222 = fmul float %207, %221
  store float %222, ptr %220, align 4, !tbaa !9
  %223 = add nuw nsw i64 %.115021740, 1
  %exitcond2132.not = icmp eq i64 %223, %210
  br i1 %exitcond2132.not, label %.loopexit1699, label %.lr.ph1741, !llvm.loop !19

.loopexit1699:                                    ; preds = %.lr.ph1741, %middle.block2247, %212, %202, %206
  %224 = phi i64 [ %204, %202 ], [ %210, %206 ], [ %210, %212 ], [ %210, %middle.block2247 ], [ %210, %.lr.ph1741 ]
  %.31424 = phi i64 [ %.214231746, %202 ], [ 0, %206 ], [ 0, %212 ], [ 0, %middle.block2247 ], [ 0, %.lr.ph1741 ]
  %.3 = phi i64 [ 1, %202 ], [ 0, %206 ], [ 0, %212 ], [ 0, %middle.block2247 ], [ 0, %.lr.ph1741 ]
  %225 = add nsw i64 %224, 1
  store i64 %225, ptr %20, align 8, !tbaa !5
  %226 = load i64, ptr %15, align 8, !tbaa !5
  %.not1591.not = icmp slt i64 %224, %226
  br i1 %.not1591.not, label %.lr.ph1748, label %.loopexit1698, !llvm.loop !20

227:                                              ; preds = %188
  br i1 %.not15911744, label %.loopexit1698.thread, label %.lr.ph1738

.lr.ph1738:                                       ; preds = %227, %.loopexit1701
  %.41737 = phi i64 [ %.5, %.loopexit1701 ], [ 1, %227 ]
  %.414251736 = phi i64 [ %.51426, %.loopexit1701 ], [ 1, %227 ]
  %storemerge1735 = phi i64 [ %263, %.loopexit1701 ], [ 1, %227 ]
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  store float 0.000000e+00, ptr %28, align 4, !tbaa !9
  %228 = mul nsw i64 %storemerge1735, %36
  %gep = getelementptr float, ptr %invariant.gep1742, i64 %228
  %229 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep, ptr noundef nonnull @c__1, ptr noundef nonnull %26, ptr noundef nonnull %28) #7
  %230 = load float, ptr %26, align 4, !tbaa !9
  %231 = fcmp ogt float %230, %113
  br i1 %231, label %232, label %234

232:                                              ; preds = %.lr.ph1738
  store i64 -6, ptr %13, align 8, !tbaa !5
  store i64 6, ptr %16, align 8, !tbaa !5
  %233 = call i32 @xerbla_(ptr noundef nonnull @.str.7, ptr noundef nonnull %16) #7
  br label %1879

234:                                              ; preds = %.lr.ph1738
  %235 = load float, ptr %28, align 4, !tbaa !9
  %sqrtf1587 = call float @sqrtf(float noundef %235) #3
  store float %sqrtf1587, ptr %28, align 4, !tbaa !9
  %236 = load float, ptr %26, align 4, !tbaa !9
  %237 = fdiv float %113, %sqrtf1587
  %238 = fcmp olt float %236, %237
  %239 = icmp ne i64 %.41737, 0
  %or.cond15 = and i1 %239, %238
  br i1 %or.cond15, label %240, label %244

240:                                              ; preds = %234
  %241 = fmul float %sqrtf1587, %236
  %242 = load i64, ptr %20, align 8, !tbaa !5
  %243 = getelementptr inbounds float, ptr %35, i64 %242
  store float %241, ptr %243, align 4, !tbaa !9
  br label %.loopexit1701

244:                                              ; preds = %234
  %245 = load float, ptr %31, align 4, !tbaa !9
  %246 = fmul float %sqrtf1587, %245
  %247 = fmul float %236, %246
  %248 = load i64, ptr %20, align 8, !tbaa !5
  %249 = getelementptr inbounds float, ptr %35, i64 %248
  store float %247, ptr %249, align 4, !tbaa !9
  %.not1588 = icmp eq i64 %.414251736, 0
  br i1 %.not1588, label %.loopexit1701, label %250

250:                                              ; preds = %244
  %251 = add nsw i64 %248, -1
  store i64 %251, ptr %16, align 8, !tbaa !5
  %.not1589.not1732 = icmp sgt i64 %248, 1
  br i1 %.not1589.not1732, label %.lr.ph.preheader, label %.loopexit1701

.lr.ph.preheader:                                 ; preds = %250
  %252 = add nsw i64 %248, -1
  %min.iters.check = icmp ult i64 %248, 9
  br i1 %min.iters.check, label %.lr.ph.preheader2352, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph.preheader
  %n.vec = and i64 %252, -8
  %ind.end = or disjoint i64 %n.vec, 1
  %broadcast.splatinsert = insertelement <4 x float> poison, float %245, 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 ]
  %253 = getelementptr float, ptr %7, i64 %index
  %254 = getelementptr inbounds i8, ptr %253, i64 16
  %wide.load = load <4 x float>, ptr %253, align 4, !tbaa !9
  %wide.load2246 = load <4 x float>, ptr %254, align 4, !tbaa !9
  %255 = fmul <4 x float> %broadcast.splat, %wide.load
  %256 = fmul <4 x float> %broadcast.splat, %wide.load2246
  store <4 x float> %255, ptr %253, align 4, !tbaa !9
  store <4 x float> %256, ptr %254, align 4, !tbaa !9
  %index.next = add nuw i64 %index, 8
  %257 = icmp eq i64 %index.next, %n.vec
  br i1 %257, label %middle.block, label %vector.body, !llvm.loop !21

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %252, %n.vec
  br i1 %cmp.n, label %.loopexit1701, label %.lr.ph.preheader2352

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

.lr.ph:                                           ; preds = %.lr.ph.preheader2352, %.lr.ph
  %.215031733 = phi i64 [ %261, %.lr.ph ], [ %.215031733.ph, %.lr.ph.preheader2352 ]
  %258 = getelementptr inbounds float, ptr %35, i64 %.215031733
  %259 = load float, ptr %258, align 4, !tbaa !9
  %260 = fmul float %245, %259
  store float %260, ptr %258, align 4, !tbaa !9
  %261 = add nuw nsw i64 %.215031733, 1
  %exitcond.not = icmp eq i64 %261, %248
  br i1 %exitcond.not, label %.loopexit1701, label %.lr.ph, !llvm.loop !22

.loopexit1701:                                    ; preds = %.lr.ph, %middle.block, %250, %240, %244
  %262 = phi i64 [ %242, %240 ], [ %248, %244 ], [ %248, %250 ], [ %248, %middle.block ], [ %248, %.lr.ph ]
  %.51426 = phi i64 [ %.414251736, %240 ], [ 0, %244 ], [ 0, %250 ], [ 0, %middle.block ], [ 0, %.lr.ph ]
  %.5 = phi i64 [ 1, %240 ], [ 0, %244 ], [ 0, %250 ], [ 0, %middle.block ], [ 0, %.lr.ph ]
  %263 = add nsw i64 %262, 1
  store i64 %263, ptr %20, align 8, !tbaa !5
  %264 = load i64, ptr %15, align 8, !tbaa !5
  %.not1586.not = icmp slt i64 %262, %264
  br i1 %.not1586.not, label %.lr.ph1738, label %.loopexit1698, !llvm.loop !23

.loopexit1698:                                    ; preds = %.loopexit1701, %.loopexit1699, %.loopexit1697
  %.6 = phi i64 [ %.1, %.loopexit1697 ], [ %.3, %.loopexit1699 ], [ %.5, %.loopexit1701 ]
  %.not1597 = icmp eq i64 %.6, 0
  br i1 %.not1597, label %265, label %.loopexit1698.thread

.loopexit1698.thread:                             ; preds = %227, %189, %145, %.loopexit1698
  store float 1.000000e+00, ptr %31, align 4, !tbaa !9
  br label %265

265:                                              ; preds = %.loopexit1698.thread, %.loopexit1698
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  store float %113, ptr %28, align 4, !tbaa !9
  %266 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %266, ptr %15, align 8, !tbaa !5
  %.not15991760 = icmp slt i64 %266, 1
  br i1 %.not15991760, label %.thread, label %.lr.ph1762.preheader

.thread:                                          ; preds = %265
  store i64 1, ptr %20, align 8, !tbaa !5
  br label %283

.lr.ph1762.preheader:                             ; preds = %265
  %267 = add nuw i64 %266, 1
  br label %.lr.ph1762

.lr.ph1762:                                       ; preds = %.lr.ph1762.preheader, %276
  %storemerge15981761 = phi i64 [ %280, %276 ], [ 1, %.lr.ph1762.preheader ]
  %268 = phi float [ %277, %276 ], [ %113, %.lr.ph1762.preheader ]
  %269 = phi float [ %279, %276 ], [ 0.000000e+00, %.lr.ph1762.preheader ]
  %270 = getelementptr inbounds float, ptr %35, i64 %storemerge15981761
  %271 = load float, ptr %270, align 4, !tbaa !9
  %272 = fcmp une float %271, 0.000000e+00
  br i1 %272, label %273, label %276

273:                                              ; preds = %.lr.ph1762
  %274 = fcmp ole float %268, %271
  %275 = select i1 %274, float %268, float %271
  store float %275, ptr %28, align 4, !tbaa !9
  br label %276

276:                                              ; preds = %273, %.lr.ph1762
  %277 = phi float [ %275, %273 ], [ %268, %.lr.ph1762 ]
  %278 = fcmp oge float %269, %271
  %279 = select i1 %278, float %269, float %271
  %280 = add nuw i64 %storemerge15981761, 1
  %exitcond2134.not = icmp eq i64 %storemerge15981761, %266
  br i1 %exitcond2134.not, label %281, label %.lr.ph1762, !llvm.loop !24

281:                                              ; preds = %276
  store float %269, ptr %19, align 4, !tbaa !9
  store float %279, ptr %26, align 4, !tbaa !9
  store i64 %267, ptr %20, align 8, !tbaa !5
  %282 = fcmp oeq float %279, 0.000000e+00
  br i1 %282, label %283, label %288

283:                                              ; preds = %.thread, %281
  %.not1648 = icmp eq i64 %43, 0
  br i1 %.not1648, label %286, label %284

284:                                              ; preds = %283
  %285 = call i32 @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 %286

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

288:                                              ; preds = %281
  %289 = icmp eq i64 %266, 1
  br i1 %289, label %290, label %301

290:                                              ; preds = %288
  %.not1647 = icmp eq i64 %43, 0
  br i1 %.not1647, label %293, label %291

291:                                              ; preds = %290
  %292 = call i32 @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 %29) #7
  br label %293

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

301:                                              ; preds = %288
  %302 = load float, ptr %32, align 4, !tbaa !9
  %303 = load float, ptr %34, align 4, !tbaa !9
  %304 = fdiv float %302, %303
  %sqrtf1600 = call float @sqrtf(float noundef %304) #3
  %305 = load i64, ptr %4, align 8, !tbaa !5
  %306 = sitofp i64 %305 to float
  %307 = fdiv float %113, %306
  %sqrtf1601 = call float @sqrtf(float noundef %307) #3
  %308 = load float, ptr %26, align 4, !tbaa !9
  %309 = fcmp ugt float %308, %sqrtf1600
  br i1 %309, label %310, label %316

310:                                              ; preds = %301
  %311 = load float, ptr %28, align 4, !tbaa !9
  %312 = fcmp ult float %311, %sqrtf1601
  br i1 %312, label %313, label %316

313:                                              ; preds = %310
  %314 = fcmp ugt float %sqrtf1600, %311
  %315 = fcmp ugt float %308, %sqrtf1601
  %or.cond1653 = select i1 %314, i1 true, i1 %315
  br i1 %or.cond1653, label %320, label %316

316:                                              ; preds = %313, %310, %301
  store float %113, ptr %19, align 4, !tbaa !9
  %317 = fdiv float %sqrtf1601, %308
  %318 = fcmp oge float %317, %113
  %319 = select i1 %318, float %113, float %317
  store float %319, ptr %30, align 4, !tbaa !9
  br label %362

320:                                              ; preds = %313
  %321 = fcmp ugt float %311, %sqrtf1600
  %brmerge = select i1 %321, i1 true, i1 %315
  br i1 %brmerge, label %335, label %322

322:                                              ; preds = %320
  %323 = fdiv float %sqrtf1600, %311
  store float %323, ptr %19, align 4, !tbaa !9
  %324 = fpext float %308 to double
  %325 = load i64, ptr %4, align 8, !tbaa !5
  %326 = sitofp i64 %325 to float
  %327 = fpext float %326 to double
  %328 = call double @sqrt(double noundef %327) #7
  %329 = fmul double %328, %324
  %330 = fdiv double %115, %329
  %331 = fptrunc double %330 to float
  %332 = load float, ptr %19, align 4
  %333 = fcmp ole float %332, %331
  %334 = select i1 %333, float %332, float %331
  store float %334, ptr %30, align 4, !tbaa !9
  br label %362

335:                                              ; preds = %320
  %336 = fcmp ult float %308, %sqrtf1601
  %or.cond1674 = select i1 %314, i1 true, i1 %336
  br i1 %or.cond1674, label %347, label %337

337:                                              ; preds = %335
  %338 = insertelement <2 x float> poison, float %sqrtf1600, i64 0
  %339 = insertelement <2 x float> %338, float %sqrtf1601, i64 1
  %340 = insertelement <2 x float> poison, float %311, i64 0
  %341 = insertelement <2 x float> %340, float %308, i64 1
  %342 = fdiv <2 x float> %339, %341
  %343 = extractelement <2 x float> %342, i64 0
  store float %343, ptr %19, align 4, !tbaa !9
  %344 = extractelement <2 x float> %342, i64 1
  %345 = fcmp oge float %343, %344
  %346 = select i1 %345, float %343, float %344
  store float %346, ptr %30, align 4, !tbaa !9
  br label %362

347:                                              ; preds = %335
  %or.cond1675 = select i1 %321, i1 true, i1 %336
  br i1 %or.cond1675, label %.thread1673, label %348

348:                                              ; preds = %347
  %349 = fdiv float %sqrtf1600, %311
  store float %349, ptr %19, align 4, !tbaa !9
  %350 = load i64, ptr %4, align 8, !tbaa !5
  %351 = sitofp i64 %350 to float
  %352 = fpext float %351 to double
  %353 = call double @sqrt(double noundef %352) #7
  %354 = load float, ptr %26, align 4, !tbaa !9
  %355 = fpext float %354 to double
  %356 = fmul double %353, %355
  %357 = fdiv double %115, %356
  %358 = fptrunc double %357 to float
  %359 = load float, ptr %19, align 4
  %360 = fcmp ole float %359, %358
  %361 = select i1 %360, float %359, float %358
  store float %361, ptr %30, align 4, !tbaa !9
  br label %362

.thread1673:                                      ; preds = %347
  store float 1.000000e+00, ptr %30, align 4, !tbaa !9
  br label %367

362:                                              ; preds = %322, %348, %337, %316
  %363 = phi float [ %334, %322 ], [ %361, %348 ], [ %346, %337 ], [ %319, %316 ]
  %364 = fcmp une float %363, 1.000000e+00
  br i1 %364, label %365, label %367

365:                                              ; preds = %362
  %366 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %30, ptr noundef nonnull %4, ptr noundef nonnull @c__1, ptr noundef nonnull %7, ptr noundef nonnull %4, ptr noundef nonnull %29) #7
  %.pre2138 = load float, ptr %30, align 4, !tbaa !9
  br label %367

367:                                              ; preds = %.thread1673, %365, %362
  %368 = phi float [ 1.000000e+00, %.thread1673 ], [ %.pre2138, %365 ], [ 1.000000e+00, %362 ]
  %369 = load float, ptr %31, align 4, !tbaa !9
  %370 = fmul float %368, %369
  store float %370, ptr %31, align 4, !tbaa !9
  %371 = fcmp une float %370, 1.000000e+00
  br i1 %371, label %372, label %376

372:                                              ; preds = %367
  %373 = call i32 @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 %29) #7
  %374 = load float, ptr %31, align 4, !tbaa !9
  %375 = fdiv float 1.000000e+00, %374
  store float %375, ptr %31, align 4, !tbaa !9
  br label %376

376:                                              ; preds = %372, %367
  %377 = load i64, ptr %4, align 8, !tbaa !5
  %378 = add nsw i64 %377, -1
  %379 = mul nsw i64 %378, %377
  %380 = sdiv i64 %379, 2
  store float 0.000000e+00, ptr %33, align 16, !tbaa !9
  %.not16021765 = icmp slt i64 %377, 1
  br i1 %.not16021765, label %._crit_edge1769, label %.lr.ph1768.preheader

.lr.ph1768.preheader:                             ; preds = %376
  %min.iters.check2283 = icmp ult i64 %377, 8
  br i1 %min.iters.check2283, label %.lr.ph1768.preheader2346, label %vector.ph2284

vector.ph2284:                                    ; preds = %.lr.ph1768.preheader
  %n.vec2286 = and i64 %377, 9223372036854775800
  %ind.end2287 = or disjoint i64 %n.vec2286, 1
  br label %vector.body2289

vector.body2289:                                  ; preds = %vector.body2289, %vector.ph2284
  %index2290 = phi i64 [ 0, %vector.ph2284 ], [ %index.next2292, %vector.body2289 ]
  %381 = getelementptr float, ptr %11, i64 %index2290
  %382 = getelementptr inbounds i8, ptr %381, i64 16
  store <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>, ptr %381, 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 %382, align 4, !tbaa !9
  %index.next2292 = add nuw i64 %index2290, 8
  %383 = icmp eq i64 %index.next2292, %n.vec2286
  br i1 %383, label %middle.block2281, label %vector.body2289, !llvm.loop !25

middle.block2281:                                 ; preds = %vector.body2289
  %cmp.n2293 = icmp eq i64 %377, %n.vec2286
  br i1 %cmp.n2293, label %._crit_edge1769, label %.lr.ph1768.preheader2346

.lr.ph1768.preheader2346:                         ; preds = %middle.block2281, %.lr.ph1768.preheader
  %.315041766.ph = phi i64 [ 1, %.lr.ph1768.preheader ], [ %ind.end2287, %middle.block2281 ]
  br label %.lr.ph1768

.lr.ph1768:                                       ; preds = %.lr.ph1768.preheader2346, %.lr.ph1768
  %.315041766 = phi i64 [ %385, %.lr.ph1768 ], [ %.315041766.ph, %.lr.ph1768.preheader2346 ]
  %384 = getelementptr inbounds float, ptr %42, i64 %.315041766
  store float 1.000000e+00, ptr %384, align 4, !tbaa !9
  %385 = add nuw i64 %.315041766, 1
  %exitcond2135.not = icmp eq i64 %.315041766, %377
  br i1 %exitcond2135.not, label %._crit_edge1769, label %.lr.ph1768, !llvm.loop !26

._crit_edge1769:                                  ; preds = %.lr.ph1768, %middle.block2281, %376
  %spec.select = call i64 @llvm.smin.i64(i64 %377, i64 8)
  %386 = sdiv i64 %377, %spec.select
  %387 = mul nsw i64 %386, %spec.select
  %.not1603 = icmp ne i64 %387, %377
  %388 = zext i1 %.not1603 to i64
  %.01512 = add nsw i64 %386, %388
  %389 = mul nsw i64 %spec.select, %spec.select
  %390 = call i64 @llvm.smin.i64(i64 %377, i64 5)
  %391 = shl i64 %spec.select, 2
  store i64 %391, ptr %16, align 8, !tbaa !5
  %392 = or i64 %48, %47
  %or.cond17.not = icmp ne i64 %392, 0
  %393 = call i64 @llvm.smax.i64(i64 %391, i64 64)
  %394 = icmp sgt i64 %377, %393
  %or.cond1677 = and i1 %or.cond17.not, %394
  br i1 %or.cond1677, label %395, label %533

395:                                              ; preds = %._crit_edge1769
  %396 = lshr i64 %377, 2
  store i64 %396, ptr %23, align 8, !tbaa !5
  %397 = lshr i64 %377, 1
  store i64 %397, ptr %22, align 8, !tbaa !5
  br i1 %50, label %398, label %486

398:                                              ; preds = %395
  %399 = mul nuw nsw i64 %396, 3
  %400 = load i64, ptr %3, align 8, !tbaa !5
  %401 = sub nsw i64 %400, %399
  store i64 %401, ptr %15, align 8, !tbaa !5
  %402 = sub nsw i64 %377, %399
  store i64 %402, ptr %16, align 8, !tbaa !5
  %403 = load i64, ptr %12, align 8, !tbaa !5
  %404 = sub nsw i64 %403, %377
  store i64 %404, ptr %17, align 8, !tbaa !5
  %405 = add nuw nsw i64 %399, 1
  %406 = add i64 %36, 1
  %407 = mul i64 %405, %406
  %408 = getelementptr inbounds float, ptr %38, i64 %407
  %409 = getelementptr float, ptr %11, i64 %399
  %410 = getelementptr float, ptr %7, i64 %399
  %411 = select i1 %60, i64 0, i64 %399
  %412 = mul nsw i64 %405, %39
  %413 = getelementptr float, ptr %41, i64 %411
  %414 = getelementptr i8, ptr %413, i64 4
  %415 = getelementptr float, ptr %414, i64 %412
  %416 = getelementptr float, ptr %11, i64 %377
  %417 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %408, ptr noundef nonnull %6, ptr noundef %409, ptr noundef %410, ptr noundef nonnull %25, ptr noundef %415, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__2, ptr noundef %416, ptr noundef nonnull %17, ptr noundef nonnull %29) #7
  %418 = load i64, ptr %3, align 8, !tbaa !5
  %419 = load i64, ptr %22, align 8, !tbaa !5
  %420 = sub nsw i64 %418, %419
  store i64 %420, ptr %15, align 8, !tbaa !5
  %421 = sub nsw i64 %399, %419
  store i64 %421, ptr %16, align 8, !tbaa !5
  %422 = load i64, ptr %12, align 8, !tbaa !5
  %423 = load i64, ptr %4, align 8, !tbaa !5
  %424 = sub nsw i64 %422, %423
  store i64 %424, ptr %17, align 8, !tbaa !5
  %425 = add nsw i64 %419, 1
  %426 = mul i64 %425, %406
  %427 = getelementptr inbounds float, ptr %38, i64 %426
  %428 = getelementptr float, ptr %11, i64 %419
  %429 = getelementptr float, ptr %7, i64 %419
  %430 = select i1 %60, i64 0, i64 %419
  %431 = mul nsw i64 %425, %39
  %432 = getelementptr float, ptr %41, i64 %430
  %433 = getelementptr i8, ptr %432, i64 4
  %434 = getelementptr float, ptr %433, i64 %431
  %435 = getelementptr float, ptr %11, i64 %423
  %436 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %427, ptr noundef nonnull %6, ptr noundef %428, ptr noundef %429, ptr noundef nonnull %25, ptr noundef %434, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__2, ptr noundef %435, ptr noundef nonnull %17, ptr noundef nonnull %29) #7
  %437 = load i64, ptr %3, align 8, !tbaa !5
  %438 = load i64, ptr %22, align 8, !tbaa !5
  %439 = sub nsw i64 %437, %438
  store i64 %439, ptr %15, align 8, !tbaa !5
  %440 = load i64, ptr %4, align 8, !tbaa !5
  %441 = sub nsw i64 %440, %438
  store i64 %441, ptr %16, align 8, !tbaa !5
  %442 = load i64, ptr %12, align 8, !tbaa !5
  %443 = sub nsw i64 %442, %440
  store i64 %443, ptr %17, align 8, !tbaa !5
  %444 = add nsw i64 %438, 1
  %445 = mul i64 %444, %406
  %446 = getelementptr inbounds float, ptr %38, i64 %445
  %447 = getelementptr float, ptr %11, i64 %438
  %448 = getelementptr float, ptr %7, i64 %438
  %449 = select i1 %60, i64 0, i64 %438
  %450 = mul nsw i64 %444, %39
  %451 = getelementptr float, ptr %41, i64 %449
  %452 = getelementptr i8, ptr %451, i64 4
  %453 = getelementptr float, ptr %452, i64 %450
  %454 = getelementptr float, ptr %11, i64 %440
  %455 = call i32 @sgsvj1_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef nonnull %23, ptr noundef %446, ptr noundef nonnull %6, ptr noundef %447, ptr noundef %448, ptr noundef nonnull %25, ptr noundef %453, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %454, ptr noundef nonnull %17, ptr noundef nonnull %29) #7
  %456 = load i64, ptr %3, align 8, !tbaa !5
  %457 = load i64, ptr %23, align 8, !tbaa !5
  %458 = sub nsw i64 %456, %457
  store i64 %458, ptr %15, align 8, !tbaa !5
  %459 = load i64, ptr %22, align 8, !tbaa !5
  %460 = sub nsw i64 %459, %457
  store i64 %460, ptr %16, align 8, !tbaa !5
  %461 = load i64, ptr %12, align 8, !tbaa !5
  %462 = load i64, ptr %4, align 8, !tbaa !5
  %463 = sub nsw i64 %461, %462
  store i64 %463, ptr %17, align 8, !tbaa !5
  %464 = add nsw i64 %457, 1
  %465 = mul i64 %464, %406
  %466 = getelementptr inbounds float, ptr %38, i64 %465
  %467 = getelementptr float, ptr %11, i64 %457
  %468 = getelementptr float, ptr %7, i64 %457
  %469 = select i1 %60, i64 0, i64 %457
  %470 = mul nsw i64 %464, %39
  %471 = getelementptr float, ptr %41, i64 %469
  %472 = getelementptr i8, ptr %471, i64 4
  %473 = getelementptr float, ptr %472, i64 %470
  %474 = getelementptr float, ptr %11, i64 %462
  %475 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %16, ptr noundef %466, ptr noundef nonnull %6, ptr noundef %467, ptr noundef %468, ptr noundef nonnull %25, ptr noundef %473, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %474, ptr noundef nonnull %17, ptr noundef nonnull %29) #7
  %476 = load i64, ptr %12, align 8, !tbaa !5
  %477 = load i64, ptr %4, align 8, !tbaa !5
  %478 = sub nsw i64 %476, %477
  store i64 %478, ptr %15, align 8, !tbaa !5
  %479 = getelementptr float, ptr %11, i64 %477
  %480 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %25, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %479, ptr noundef nonnull %15, ptr noundef nonnull %29) #7
  %481 = load i64, ptr %12, align 8, !tbaa !5
  %482 = load i64, ptr %4, align 8, !tbaa !5
  %483 = sub nsw i64 %481, %482
  store i64 %483, ptr %15, align 8, !tbaa !5
  %484 = getelementptr float, ptr %11, i64 %482
  %485 = call i32 @sgsvj1_(ptr noundef %2, ptr noundef nonnull %3, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %25, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %484, ptr noundef nonnull %15, ptr noundef nonnull %29) #7
  br label %533

486:                                              ; preds = %395
  br i1 %49, label %487, label %533

487:                                              ; preds = %486
  %488 = load i64, ptr %12, align 8, !tbaa !5
  %489 = sub nsw i64 %488, %377
  store i64 %489, ptr %15, align 8, !tbaa !5
  %490 = getelementptr float, ptr %11, i64 %377
  %491 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %23, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %25, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__2, ptr noundef %490, ptr noundef nonnull %15, ptr noundef nonnull %29) #7
  %492 = load i64, ptr %12, align 8, !tbaa !5
  %493 = load i64, ptr %4, align 8, !tbaa !5
  %494 = sub nsw i64 %492, %493
  store i64 %494, ptr %15, align 8, !tbaa !5
  %495 = load i64, ptr %23, align 8, !tbaa !5
  %496 = add nsw i64 %495, 1
  %497 = mul nsw i64 %496, %36
  %498 = getelementptr float, ptr %38, i64 %497
  %499 = getelementptr i8, ptr %498, i64 4
  %500 = getelementptr float, ptr %11, i64 %495
  %501 = getelementptr float, ptr %7, i64 %495
  %502 = select i1 %60, i64 0, i64 %495
  %503 = mul nsw i64 %496, %39
  %504 = getelementptr float, ptr %41, i64 %502
  %505 = getelementptr i8, ptr %504, i64 4
  %506 = getelementptr float, ptr %505, i64 %503
  %507 = getelementptr float, ptr %11, i64 %493
  %508 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %499, ptr noundef nonnull %6, ptr noundef %500, ptr noundef %501, ptr noundef nonnull %25, ptr noundef %506, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %507, ptr noundef nonnull %15, ptr noundef nonnull %29) #7
  %509 = load i64, ptr %12, align 8, !tbaa !5
  %510 = load i64, ptr %4, align 8, !tbaa !5
  %511 = sub nsw i64 %509, %510
  store i64 %511, ptr %15, align 8, !tbaa !5
  %512 = getelementptr float, ptr %11, i64 %510
  %513 = call i32 @sgsvj1_(ptr noundef %2, ptr noundef nonnull %22, ptr noundef nonnull %22, ptr noundef nonnull %23, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %11, ptr noundef %7, ptr noundef nonnull %25, ptr noundef %9, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %512, ptr noundef nonnull %15, ptr noundef nonnull %29) #7
  %514 = load i64, ptr %22, align 8, !tbaa !5
  %515 = load i64, ptr %23, align 8, !tbaa !5
  %516 = add nsw i64 %515, %514
  store i64 %516, ptr %15, align 8, !tbaa !5
  %517 = load i64, ptr %12, align 8, !tbaa !5
  %518 = load i64, ptr %4, align 8, !tbaa !5
  %519 = sub nsw i64 %517, %518
  store i64 %519, ptr %16, align 8, !tbaa !5
  %520 = add nsw i64 %514, 1
  %521 = mul nsw i64 %520, %36
  %522 = getelementptr float, ptr %38, i64 %521
  %523 = getelementptr i8, ptr %522, i64 4
  %524 = getelementptr float, ptr %11, i64 %514
  %525 = getelementptr float, ptr %7, i64 %514
  %526 = select i1 %60, i64 0, i64 %514
  %527 = mul nsw i64 %520, %39
  %528 = getelementptr float, ptr %41, i64 %526
  %529 = getelementptr i8, ptr %528, i64 4
  %530 = getelementptr float, ptr %529, i64 %527
  %531 = getelementptr float, ptr %11, i64 %518
  %532 = call i32 @sgsvj0_(ptr noundef %2, ptr noundef nonnull %15, ptr noundef nonnull %23, ptr noundef %523, ptr noundef nonnull %6, ptr noundef %524, ptr noundef %525, ptr noundef nonnull %25, ptr noundef %530, ptr noundef nonnull %10, ptr noundef nonnull %34, ptr noundef nonnull %32, ptr noundef nonnull %24, ptr noundef nonnull @c__1, ptr noundef %531, ptr noundef nonnull %16, ptr noundef nonnull %29) #7
  br label %533

533:                                              ; preds = %398, %487, %486, %._crit_edge1769
  %invariant.gep2063 = getelementptr i8, ptr %38, i64 4
  %534 = add i64 %spec.select, -1
  %invariant.gep1866 = getelementptr i8, ptr %41, i64 4
  %535 = getelementptr inbounds i8, ptr %33, i64 8
  %.not16062050 = icmp slt i64 %.01512, 1
  %536 = insertelement <2 x float> poison, float %111, i64 0
  %537 = shufflevector <2 x float> %536, <2 x float> poison, <2 x i32> zeroinitializer
  br label %538

538:                                              ; preds = %533, %1748
  %.014842068 = phi i64 [ 3, %533 ], [ %.11485, %1748 ]
  %.015002067 = phi i64 [ 1, %533 ], [ %1749, %1748 ]
  store i64 %.01512, ptr %15, align 8, !tbaa !5
  br i1 %.not16062050, label %.._crit_edge2058_crit_edge, label %.lr.ph2057

.._crit_edge2058_crit_edge:                       ; preds = %538
  %.pre2148 = load i64, ptr %4, align 8, !tbaa !5
  br label %._crit_edge2058

.lr.ph2057:                                       ; preds = %538
  %.not1646 = icmp sle i64 %.015002067, %.014842068
  %.not1631 = icmp sgt i64 %.015002067, %.014842068
  br label %540

..loopexit1695_crit_edge:                         ; preds = %.lr.ph2047, %middle.block2294
  %.lcssa2242 = phi float [ %1696, %middle.block2294 ], [ %1698, %.lr.ph2047 ]
  %.lcssa = phi i64 [ %ind.end2300, %middle.block2294 ], [ %1702, %.lr.ph2047 ]
  store float %.lcssa2242, ptr %19, align 4, !tbaa !9
  br label %.loopexit1695

.loopexit1695:                                    ; preds = %..loopexit1695_crit_edge, %.loopexit1696
  %storemerge1634.lcssa = phi i64 [ %.lcssa, %..loopexit1695_crit_edge ], [ %544, %.loopexit1696 ]
  store i64 %storemerge1634.lcssa, ptr %20, align 8, !tbaa !5
  %539 = load i64, ptr %15, align 8, !tbaa !5
  %.not1606.not = icmp slt i64 %.015142051, %539
  %indvar.next = add i64 %indvar, 1
  br i1 %.not1606.not, label %540, label %._crit_edge2058, !llvm.loop !27

540:                                              ; preds = %.lr.ph2057, %.loopexit1695
  %indvar = phi i64 [ 0, %.lr.ph2057 ], [ %indvar.next, %.loopexit1695 ]
  %.014272055 = phi i64 [ 0, %.lr.ph2057 ], [ %.14, %.loopexit1695 ]
  %.014342054 = phi i64 [ 0, %.lr.ph2057 ], [ %.17, %.loopexit1695 ]
  %.114502053 = phi float [ 0.000000e+00, %.lr.ph2057 ], [ %.161465, %.loopexit1695 ]
  %.114692052 = phi float [ 0.000000e+00, %.lr.ph2057 ], [ %.141482, %.loopexit1695 ]
  %.015142051 = phi i64 [ 1, %.lr.ph2057 ], [ %1100, %.loopexit1695 ]
  %541 = mul i64 %spec.select, %indvar
  %542 = add nsw i64 %.015142051, -1
  %543 = mul nsw i64 %542, %spec.select
  %544 = add nsw i64 %543, 1
  %545 = sub nsw i64 %.01512, %.015142051
  store i64 %545, ptr %18, align 8, !tbaa !5
  %546 = call i64 @llvm.smin.i64(i64 %545, i64 1)
  store i64 %546, ptr %16, align 8, !tbaa !5
  %.not16211887 = icmp slt i64 %545, 0
  br i1 %.not16211887, label %._crit_edge1896, label %.lr.ph1895

.lr.ph1895:                                       ; preds = %540, %._crit_edge1882
  %547 = phi i64 [ %1098, %._crit_edge1882 ], [ %546, %540 ]
  %.114281893 = phi i64 [ %.21429.lcssa, %._crit_edge1882 ], [ %.014272055, %540 ]
  %.114351892 = phi i64 [ %.21436.lcssa, %._crit_edge1882 ], [ %.014342054, %540 ]
  %.214511891 = phi float [ %.31452.lcssa, %._crit_edge1882 ], [ %.114502053, %540 ]
  %.214701890 = phi float [ %.31471.lcssa, %._crit_edge1882 ], [ %.114692052, %540 ]
  %.015081889 = phi i64 [ %1099, %._crit_edge1882 ], [ 0, %540 ]
  %.015131888 = phi i64 [ %549, %._crit_edge1882 ], [ %544, %540 ]
  %548 = mul nsw i64 %.015081889, %spec.select
  %549 = add nsw i64 %548, %.015131888
  %550 = add i64 %534, %549
  store i64 %550, ptr %18, align 8, !tbaa !5
  %551 = load i64, ptr %4, align 8, !tbaa !5
  %552 = add nsw i64 %551, -1
  %553 = call i64 @llvm.smin.i64(i64 %550, i64 %552)
  store i64 %553, ptr %17, align 8, !tbaa !5
  store i64 %549, ptr %20, align 8, !tbaa !5
  %.not16381874 = icmp sgt i64 %549, %553
  br i1 %.not16381874, label %._crit_edge1882, label %.lr.ph1881

.lr.ph1881:                                       ; preds = %.lr.ph1895
  %554 = icmp eq i64 %.015081889, 0
  %555 = zext i1 %554 to i64
  br label %556

556:                                              ; preds = %.lr.ph1881, %1094
  %.214291879 = phi i64 [ %.114281893, %.lr.ph1881 ], [ %.7, %1094 ]
  %.214361878 = phi i64 [ %.114351892, %.lr.ph1881 ], [ %.91443, %1094 ]
  %.314521877 = phi float [ %.214511891, %.lr.ph1881 ], [ %.81457, %1094 ]
  %.314711876 = phi float [ %.214701890, %.lr.ph1881 ], [ %.71475, %1094 ]
  %storemerge16371875 = phi i64 [ %549, %.lr.ph1881 ], [ %1096, %1094 ]
  %557 = load i64, ptr %4, align 8, !tbaa !5
  %reass.sub2108 = sub i64 %557, %storemerge16371875
  %558 = add i64 %reass.sub2108, 1
  store i64 %558, ptr %18, align 8, !tbaa !5
  %559 = getelementptr inbounds float, ptr %35, i64 %storemerge16371875
  %560 = call i64 @f2c_isamax(ptr noundef nonnull %18, ptr noundef nonnull %559, ptr noundef nonnull @c__1) #7
  %561 = load i64, ptr %20, align 8, !tbaa !5
  %562 = add i64 %560, -1
  %563 = add i64 %562, %561
  %.not1639 = icmp eq i64 %562, 0
  br i1 %.not1639, label %583, label %564

564:                                              ; preds = %556
  %565 = mul nsw i64 %561, %36
  %gep1863 = getelementptr float, ptr %invariant.gep2063, i64 %565
  %566 = mul nsw i64 %563, %36
  %gep1865 = getelementptr float, ptr %invariant.gep2063, i64 %566
  %567 = call i32 @f2c_sswap(ptr noundef nonnull %3, ptr noundef %gep1863, ptr noundef nonnull @c__1, ptr noundef %gep1865, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %568, label %573

568:                                              ; preds = %564
  %569 = load i64, ptr %20, align 8, !tbaa !5
  %570 = mul nsw i64 %569, %39
  %gep1867 = getelementptr float, ptr %invariant.gep1866, i64 %570
  %571 = mul nsw i64 %563, %39
  %gep1869 = getelementptr float, ptr %invariant.gep1866, i64 %571
  %572 = call i32 @f2c_sswap(ptr noundef nonnull %25, ptr noundef %gep1867, ptr noundef nonnull @c__1, ptr noundef %gep1869, ptr noundef nonnull @c__1) #7
  br label %573

573:                                              ; preds = %568, %564
  %574 = load i64, ptr %20, align 8, !tbaa !5
  %575 = getelementptr inbounds float, ptr %35, i64 %574
  %576 = load float, ptr %575, align 4, !tbaa !9
  %577 = getelementptr inbounds float, ptr %35, i64 %563
  %578 = load float, ptr %577, align 4, !tbaa !9
  store float %578, ptr %575, align 4, !tbaa !9
  store float %576, ptr %577, align 4, !tbaa !9
  %579 = getelementptr inbounds float, ptr %42, i64 %574
  %580 = load float, ptr %579, align 4, !tbaa !9
  store float %580, ptr %30, align 4, !tbaa !9
  %581 = getelementptr inbounds float, ptr %42, i64 %563
  %582 = load float, ptr %581, align 4, !tbaa !9
  store float %582, ptr %579, align 4, !tbaa !9
  store float %580, ptr %581, align 4, !tbaa !9
  br label %583

583:                                              ; preds = %573, %556
  %584 = phi i64 [ %574, %573 ], [ %561, %556 ]
  %585 = getelementptr inbounds float, ptr %35, i64 %584
  %586 = load float, ptr %585, align 4, !tbaa !9
  br i1 %554, label %587, label %._crit_edge2140

587:                                              ; preds = %583
  %588 = fcmp olt float %586, %114
  %589 = fcmp ogt float %586, %sqrtf1582
  %or.cond1654 = and i1 %588, %589
  br i1 %or.cond1654, label %590, label %593

590:                                              ; preds = %587
  %591 = mul nsw i64 %584, %36
  %gep1873 = getelementptr float, ptr %invariant.gep2063, i64 %591
  %592 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep1873, ptr noundef nonnull @c__1) #7
  br label %._crit_edge2140.sink.split

593:                                              ; preds = %587
  store float 0.000000e+00, ptr %30, align 4, !tbaa !9
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  %594 = mul nsw i64 %584, %36
  %gep1871 = getelementptr float, ptr %invariant.gep2063, i64 %594
  %595 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep1871, ptr noundef nonnull @c__1, ptr noundef nonnull %30, ptr noundef nonnull %26) #7
  %596 = load float, ptr %30, align 4, !tbaa !9
  %597 = fpext float %596 to double
  %598 = load float, ptr %26, align 4, !tbaa !9
  %599 = fpext float %598 to double
  %600 = call double @sqrt(double noundef %599) #7
  %601 = fmul double %600, %597
  br label %._crit_edge2140.sink.split

._crit_edge2140.sink.split:                       ; preds = %593, %590
  %.sink2186 = phi double [ %592, %590 ], [ %601, %593 ]
  %.sink2190 = load i64, ptr %20, align 8, !tbaa !5
  %602 = getelementptr inbounds float, ptr %42, i64 %.sink2190
  %603 = load float, ptr %602, align 4, !tbaa !9
  %604 = fpext float %603 to double
  %605 = fmul double %.sink2186, %604
  %606 = fptrunc double %605 to float
  %607 = getelementptr inbounds float, ptr %35, i64 %.sink2190
  store float %606, ptr %607, align 4, !tbaa !9
  br label %._crit_edge2140

._crit_edge2140:                                  ; preds = %._crit_edge2140.sink.split, %583
  %storemerge1640 = phi float [ %586, %583 ], [ %606, %._crit_edge2140.sink.split ]
  %.pn = phi i64 [ %584, %583 ], [ %.sink2190, %._crit_edge2140.sink.split ]
  store float %storemerge1640, ptr %26, align 4, !tbaa !9
  %608 = fcmp ogt float %storemerge1640, 0.000000e+00
  br i1 %608, label %609, label %1088

609:                                              ; preds = %._crit_edge2140
  %610 = load i64, ptr %4, align 8, !tbaa !5
  %.1655 = call i64 @llvm.smin.i64(i64 %550, i64 %610)
  store i64 %.1655, ptr %18, align 8, !tbaa !5
  br label %611

611:                                              ; preds = %1080, %609
  %.51506.in = phi i64 [ %.pn, %609 ], [ %.51506, %1080 ]
  %.01495 = phi i64 [ 0, %609 ], [ %.21497, %1080 ]
  %.41472 = phi float [ %.314711876, %609 ], [ %.51473, %1080 ]
  %.41453 = phi float [ %.314521877, %609 ], [ %.61455, %1080 ]
  %.31437 = phi i64 [ %.214361878, %609 ], [ %.71441, %1080 ]
  %.31430 = phi i64 [ %.214291879, %609 ], [ %.51432, %1080 ]
  %.51506 = add nsw i64 %.51506.in, 1
  %612 = load i64, ptr %18, align 8, !tbaa !5
  %.not1643.not = icmp slt i64 %.51506.in, %612
  br i1 %.not1643.not, label %613, label %.loopexit1694.loopexit

613:                                              ; preds = %611
  %614 = getelementptr float, ptr %7, i64 %.51506.in
  %615 = load float, ptr %614, align 4, !tbaa !9
  store float %615, ptr %28, align 4, !tbaa !9
  %616 = fcmp ogt float %615, 0.000000e+00
  br i1 %616, label %617, label %1078

617:                                              ; preds = %613
  %618 = load float, ptr %26, align 4, !tbaa !9
  %619 = fcmp ult float %615, 1.000000e+00
  br i1 %619, label %667, label %620

620:                                              ; preds = %617
  %621 = fmul float %111, %618
  %622 = fcmp ole float %621, %615
  %623 = fdiv float %113, %615
  %624 = fcmp olt float %618, %623
  %625 = load i64, ptr %20, align 8, !tbaa !5
  %626 = mul nsw i64 %625, %36
  %gep1775 = getelementptr float, ptr %invariant.gep2063, i64 %626
  br i1 %624, label %627, label %646

627:                                              ; preds = %620
  %628 = mul nsw i64 %.51506, %36
  %gep1777 = getelementptr float, ptr %invariant.gep2063, i64 %628
  %629 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %gep1775, ptr noundef nonnull @c__1, ptr noundef %gep1777, ptr noundef nonnull @c__1) #7
  %630 = load i64, ptr %20, align 8, !tbaa !5
  %631 = getelementptr inbounds float, ptr %42, i64 %630
  %632 = load float, ptr %631, align 4, !tbaa !9
  %633 = fpext float %632 to double
  %634 = fmul double %629, %633
  %635 = getelementptr float, ptr %11, i64 %.51506.in
  %636 = load float, ptr %635, align 4, !tbaa !9
  %637 = fpext float %636 to double
  %638 = fmul double %634, %637
  %639 = load float, ptr %28, align 4, !tbaa !9
  %640 = fpext float %639 to double
  %641 = fdiv double %638, %640
  %642 = load float, ptr %26, align 4, !tbaa !9
  %643 = fpext float %642 to double
  %644 = fdiv double %641, %643
  %645 = fptrunc double %644 to float
  store float %645, ptr %27, align 4, !tbaa !9
  br label %716

646:                                              ; preds = %620
  %647 = load i64, ptr %4, align 8, !tbaa !5
  %648 = getelementptr float, ptr %11, i64 %647
  %649 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1775, ptr noundef nonnull @c__1, ptr noundef %648, ptr noundef nonnull @c__1) #7
  %650 = load i64, ptr %20, align 8, !tbaa !5
  %651 = getelementptr inbounds float, ptr %42, i64 %650
  %652 = load i64, ptr %4, align 8, !tbaa !5
  %653 = getelementptr float, ptr %11, i64 %652
  %654 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %26, ptr noundef nonnull %651, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %653, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %655 = load i64, ptr %4, align 8, !tbaa !5
  %656 = getelementptr float, ptr %11, i64 %655
  %657 = mul nsw i64 %.51506, %36
  %gep1773 = getelementptr float, ptr %invariant.gep2063, i64 %657
  %658 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %656, ptr noundef nonnull @c__1, ptr noundef %gep1773, ptr noundef nonnull @c__1) #7
  %659 = getelementptr float, ptr %11, i64 %.51506.in
  %660 = load float, ptr %659, align 4, !tbaa !9
  %661 = fpext float %660 to double
  %662 = fmul double %658, %661
  %663 = load float, ptr %28, align 4, !tbaa !9
  %664 = fpext float %663 to double
  %665 = fdiv double %662, %664
  %666 = fptrunc double %665 to float
  store float %666, ptr %27, align 4, !tbaa !9
  br label %716

667:                                              ; preds = %617
  %668 = fdiv float %615, %111
  %669 = fcmp ole float %618, %668
  %670 = fdiv float %111, %615
  %671 = fcmp ogt float %618, %670
  br i1 %671, label %672, label %693

672:                                              ; preds = %667
  %673 = load i64, ptr %20, align 8, !tbaa !5
  %674 = mul nsw i64 %673, %36
  %gep1783 = getelementptr float, ptr %invariant.gep2063, i64 %674
  %675 = mul nsw i64 %.51506, %36
  %gep1785 = getelementptr float, ptr %invariant.gep2063, i64 %675
  %676 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %gep1783, ptr noundef nonnull @c__1, ptr noundef %gep1785, ptr noundef nonnull @c__1) #7
  %677 = load i64, ptr %20, align 8, !tbaa !5
  %678 = getelementptr inbounds float, ptr %42, i64 %677
  %679 = load float, ptr %678, align 4, !tbaa !9
  %680 = fpext float %679 to double
  %681 = fmul double %676, %680
  %682 = getelementptr float, ptr %11, i64 %.51506.in
  %683 = load float, ptr %682, align 4, !tbaa !9
  %684 = fpext float %683 to double
  %685 = fmul double %681, %684
  %686 = load float, ptr %28, align 4, !tbaa !9
  %687 = fpext float %686 to double
  %688 = fdiv double %685, %687
  %689 = load float, ptr %26, align 4, !tbaa !9
  %690 = fpext float %689 to double
  %691 = fdiv double %688, %690
  %692 = fptrunc double %691 to float
  store float %692, ptr %27, align 4, !tbaa !9
  br label %716

693:                                              ; preds = %667
  %694 = mul nsw i64 %.51506, %36
  %gep1779 = getelementptr float, ptr %invariant.gep2063, i64 %694
  %695 = load i64, ptr %4, align 8, !tbaa !5
  %696 = getelementptr float, ptr %11, i64 %695
  %697 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1779, ptr noundef nonnull @c__1, ptr noundef %696, ptr noundef nonnull @c__1) #7
  %698 = getelementptr float, ptr %11, i64 %.51506.in
  %699 = load i64, ptr %4, align 8, !tbaa !5
  %700 = getelementptr float, ptr %11, i64 %699
  %701 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %28, ptr noundef %698, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %700, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %702 = load i64, ptr %4, align 8, !tbaa !5
  %703 = getelementptr float, ptr %11, i64 %702
  %704 = load i64, ptr %20, align 8, !tbaa !5
  %705 = mul nsw i64 %704, %36
  %gep1781 = getelementptr float, ptr %invariant.gep2063, i64 %705
  %706 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %703, ptr noundef nonnull @c__1, ptr noundef %gep1781, ptr noundef nonnull @c__1) #7
  %707 = load i64, ptr %20, align 8, !tbaa !5
  %708 = getelementptr inbounds float, ptr %42, i64 %707
  %709 = load float, ptr %708, align 4, !tbaa !9
  %710 = fpext float %709 to double
  %711 = fmul double %706, %710
  %712 = load float, ptr %26, align 4, !tbaa !9
  %713 = fpext float %712 to double
  %714 = fdiv double %711, %713
  %715 = fptrunc double %714 to float
  store float %715, ptr %27, align 4, !tbaa !9
  br label %716

716:                                              ; preds = %672, %693, %627, %646
  %717 = phi float [ %645, %627 ], [ %666, %646 ], [ %692, %672 ], [ %715, %693 ]
  %.01491.in = phi i1 [ %622, %627 ], [ %622, %646 ], [ %669, %672 ], [ %669, %693 ]
  store float %.41472, ptr %19, align 4, !tbaa !9
  %718 = fcmp oge float %717, 0.000000e+00
  %719 = fneg float %717
  %720 = select i1 %718, float %717, float %719
  %721 = fcmp oge float %.41472, %720
  %722 = select i1 %721, float %.41472, float %720
  %723 = load float, ptr %24, align 4, !tbaa !9
  %724 = fcmp ogt float %720, %723
  br i1 %724, label %725, label %1076

725:                                              ; preds = %716
  %.11496 = select i1 %554, i64 0, i64 %.01495
  %.41438 = select i1 %554, i64 0, i64 %.31437
  %.41431 = add nsw i64 %.31430, %555
  br i1 %.01491.in, label %726, label %986

726:                                              ; preds = %725
  %727 = load float, ptr %28, align 4, !tbaa !9
  %728 = load float, ptr %26, align 4, !tbaa !9
  %729 = insertelement <2 x float> poison, float %727, i64 0
  %730 = insertelement <2 x float> %729, float %728, i64 1
  %731 = insertelement <2 x float> poison, float %728, i64 0
  %732 = insertelement <2 x float> %731, float %727, i64 1
  %733 = fdiv <2 x float> %730, %732
  %734 = extractelement <2 x float> %733, i64 0
  %735 = extractelement <2 x float> %733, i64 1
  %736 = fsub float %734, %735
  store float %736, ptr %19, align 4, !tbaa !9
  %737 = fcmp oge float %736, 0.000000e+00
  %738 = fneg float %736
  %739 = select i1 %737, float %736, float %738
  %740 = fpext float %739 to double
  %741 = fmul double %740, -5.000000e-01
  %742 = fpext float %717 to double
  %743 = fdiv double %741, %742
  %744 = fptrunc double %743 to float
  %745 = fcmp oge float %744, 0.000000e+00
  %746 = fneg float %744
  %747 = select i1 %745, float %744, float %746
  %748 = fcmp ogt float %747, %121
  br i1 %748, label %749, label %800

749:                                              ; preds = %726
  %750 = fdiv float 5.000000e-01, %744
  store float %750, ptr %21, align 4, !tbaa !9
  %751 = load i64, ptr %20, align 8, !tbaa !5
  %752 = getelementptr inbounds float, ptr %42, i64 %751
  %753 = load float, ptr %752, align 4, !tbaa !9
  %754 = getelementptr float, ptr %11, i64 %.51506.in
  %755 = load float, ptr %754, align 4, !tbaa !9
  %756 = fneg float %750
  %757 = insertelement <2 x float> poison, float %750, i64 0
  %758 = insertelement <2 x float> %757, float %755, i64 1
  %759 = insertelement <2 x float> poison, float %753, i64 0
  %760 = insertelement <2 x float> %759, float %756, i64 1
  %761 = fmul <2 x float> %758, %760
  %762 = insertelement <2 x float> poison, float %755, i64 0
  %763 = insertelement <2 x float> %762, float %753, i64 1
  %764 = fdiv <2 x float> %761, %763
  store <2 x float> %764, ptr %535, align 8, !tbaa !9
  %765 = mul nsw i64 %751, %36
  %gep1847 = getelementptr float, ptr %invariant.gep2063, i64 %765
  %766 = mul nsw i64 %.51506, %36
  %gep1849 = getelementptr float, ptr %invariant.gep2063, i64 %766
  %767 = call i32 @f2c_srotm(ptr noundef nonnull %3, ptr noundef %gep1847, ptr noundef nonnull @c__1, ptr noundef %gep1849, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br i1 %or.cond5, label %768, label %773

768:                                              ; preds = %749
  %769 = load i64, ptr %20, align 8, !tbaa !5
  %770 = mul nsw i64 %769, %39
  %gep1851 = getelementptr float, ptr %invariant.gep1866, i64 %770
  %771 = mul nsw i64 %.51506, %39
  %gep1853 = getelementptr float, ptr %invariant.gep1866, i64 %771
  %772 = call i32 @f2c_srotm(ptr noundef nonnull %25, ptr noundef %gep1851, ptr noundef nonnull @c__1, ptr noundef %gep1853, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br label %773

773:                                              ; preds = %768, %749
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %774 = load float, ptr %21, align 4, !tbaa !9
  %775 = fmul float %735, %774
  %776 = load float, ptr %27, align 4, !tbaa !9
  %777 = call float @llvm.fmuladd.f32(float %775, float %776, float 1.000000e+00)
  %778 = load float, ptr %28, align 4, !tbaa !9
  %779 = fpext float %778 to double
  %780 = fcmp ole float %777, 0.000000e+00
  %781 = select i1 %780, float 0.000000e+00, float %777
  %782 = fpext float %781 to double
  %sqrt = call double @llvm.sqrt.f64(double %782)
  %783 = fmul double %sqrt, %779
  %784 = fptrunc double %783 to float
  store float %784, ptr %614, align 4, !tbaa !9
  %785 = fneg float %774
  %786 = fmul float %734, %785
  %787 = call float @llvm.fmuladd.f32(float %786, float %776, float 1.000000e+00)
  %788 = fpext float %787 to double
  %789 = call double @sqrt(double noundef %788) #7
  %790 = load float, ptr %26, align 4, !tbaa !9
  %791 = fpext float %790 to double
  %792 = fmul double %789, %791
  %793 = fptrunc double %792 to float
  store float %793, ptr %26, align 4, !tbaa !9
  %794 = load float, ptr %21, align 4
  %795 = fcmp oge float %794, 0.000000e+00
  %796 = fneg float %794
  %797 = select i1 %795, float %794, float %796
  %798 = fcmp oge float %.41453, %797
  %799 = select i1 %798, float %.41453, float %797
  br label %1023

800:                                              ; preds = %726
  %801 = call double @r_sign(ptr noundef nonnull @c_b18, ptr noundef nonnull %27) #7
  %802 = fptrunc double %801 to float
  %803 = fneg float %802
  %804 = fpext float %744 to double
  %805 = fpext float %803 to double
  %806 = call float @llvm.fmuladd.f32(float %744, float %744, float 1.000000e+00)
  %807 = fpext float %806 to double
  %sqrt1682 = call double @llvm.sqrt.f64(double %807)
  %808 = call double @llvm.fmuladd.f64(double %805, double %sqrt1682, double %804)
  %809 = fdiv double 1.000000e+00, %808
  %810 = fptrunc double %809 to float
  store float %810, ptr %21, align 4, !tbaa !9
  %811 = call float @llvm.fmuladd.f32(float %810, float %810, float 1.000000e+00)
  %812 = fdiv float 1.000000e+00, %811
  %sqrt1681 = call float @llvm.sqrt.f32(float %812)
  %813 = fmul float %sqrt1681, %810
  %814 = fcmp oge float %813, 0.000000e+00
  %815 = fneg float %813
  %816 = select i1 %814, float %813, float %815
  %817 = fcmp oge float %.41453, %816
  %818 = select i1 %817, float %.41453, float %816
  %819 = load float, ptr %27, align 4, !tbaa !9
  %820 = load float, ptr %28, align 4, !tbaa !9
  %821 = fpext float %820 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %822 = fneg float %810
  %823 = insertelement <2 x float> poison, float %822, i64 0
  %824 = insertelement <2 x float> %823, float %810, i64 1
  %825 = fmul <2 x float> %733, %824
  %826 = insertelement <2 x float> poison, float %819, i64 0
  %827 = shufflevector <2 x float> %826, <2 x float> poison, <2 x i32> zeroinitializer
  %828 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %825, <2 x float> %827, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %829 = fcmp ole <2 x float> %828, zeroinitializer
  %830 = extractelement <2 x i1> %829, i64 1
  %831 = extractelement <2 x float> %828, i64 1
  %832 = fpext float %831 to double
  %833 = select i1 %830, double 0.000000e+00, double %832
  %sqrt1680 = call double @llvm.sqrt.f64(double %833)
  %834 = fmul double %sqrt1680, %821
  %835 = fptrunc double %834 to float
  store float %835, ptr %614, align 4, !tbaa !9
  %836 = extractelement <2 x i1> %829, i64 0
  %837 = extractelement <2 x float> %828, i64 0
  %838 = fpext float %837 to double
  %839 = select i1 %836, double 0.000000e+00, double %838
  %sqrt1679 = call double @llvm.sqrt.f64(double %839)
  %840 = load float, ptr %26, align 4, !tbaa !9
  %841 = fpext float %840 to double
  %842 = fmul double %sqrt1679, %841
  %843 = fptrunc double %842 to float
  store float %843, ptr %26, align 4, !tbaa !9
  %844 = load i64, ptr %20, align 8, !tbaa !5
  %845 = getelementptr inbounds float, ptr %42, i64 %844
  %846 = load float, ptr %845, align 4, !tbaa !9
  %847 = getelementptr float, ptr %11, i64 %.51506.in
  %848 = load float, ptr %847, align 4, !tbaa !9
  %849 = insertelement <2 x float> poison, float %848, i64 0
  %850 = insertelement <2 x float> %849, float %846, i64 1
  %851 = insertelement <2 x float> poison, float %846, i64 0
  %852 = insertelement <2 x float> %851, float %848, i64 1
  %853 = fdiv <2 x float> %850, %852
  %854 = fcmp ult float %846, 1.000000e+00
  %855 = fcmp ult float %848, 1.000000e+00
  br i1 %854, label %899, label %856

856:                                              ; preds = %800
  br i1 %855, label %871, label %857

857:                                              ; preds = %856
  %858 = fmul <2 x float> %853, %824
  %859 = shufflevector <2 x float> %858, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %859, ptr %535, align 8, !tbaa !9
  %860 = fmul float %sqrt1681, %846
  store float %860, ptr %845, align 4, !tbaa !9
  %861 = load float, ptr %847, align 4, !tbaa !9
  %862 = fmul float %sqrt1681, %861
  store float %862, ptr %847, align 4, !tbaa !9
  %863 = mul nsw i64 %844, %36
  %gep1791 = getelementptr float, ptr %invariant.gep2063, i64 %863
  %864 = mul nsw i64 %.51506, %36
  %gep1793 = getelementptr float, ptr %invariant.gep2063, i64 %864
  %865 = call i32 @f2c_srotm(ptr noundef nonnull %3, ptr noundef %gep1791, ptr noundef nonnull @c__1, ptr noundef %gep1793, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br i1 %or.cond5, label %866, label %1023

866:                                              ; preds = %857
  %867 = load i64, ptr %20, align 8, !tbaa !5
  %868 = mul nsw i64 %867, %39
  %gep1795 = getelementptr float, ptr %invariant.gep1866, i64 %868
  %869 = mul nsw i64 %.51506, %39
  %gep1797 = getelementptr float, ptr %invariant.gep1866, i64 %869
  %870 = call i32 @f2c_srotm(ptr noundef nonnull %25, ptr noundef %gep1795, ptr noundef nonnull @c__1, ptr noundef %gep1797, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br label %1023

871:                                              ; preds = %856
  %872 = extractelement <2 x float> %853, i64 0
  %873 = fmul float %872, %822
  store float %873, ptr %19, align 4, !tbaa !9
  %874 = mul nsw i64 %.51506, %36
  %gep1799 = getelementptr float, ptr %invariant.gep2063, i64 %874
  %875 = mul nsw i64 %844, %36
  %gep1801 = getelementptr float, ptr %invariant.gep2063, i64 %875
  %876 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1799, ptr noundef nonnull @c__1, ptr noundef %gep1801, ptr noundef nonnull @c__1) #7
  %877 = fmul float %sqrt1681, %813
  %878 = extractelement <2 x float> %853, i64 1
  %879 = fmul float %877, %878
  store float %879, ptr %19, align 4, !tbaa !9
  %880 = load i64, ptr %20, align 8, !tbaa !5
  %881 = mul nsw i64 %880, %36
  %gep1803 = getelementptr float, ptr %invariant.gep2063, i64 %881
  %882 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1803, ptr noundef nonnull @c__1, ptr noundef %gep1799, ptr noundef nonnull @c__1) #7
  %883 = load i64, ptr %20, align 8, !tbaa !5
  %884 = getelementptr inbounds float, ptr %42, i64 %883
  %885 = load float, ptr %884, align 4, !tbaa !9
  %886 = fmul float %sqrt1681, %885
  store float %886, ptr %884, align 4, !tbaa !9
  %887 = load float, ptr %847, align 4, !tbaa !9
  %888 = fdiv float %887, %sqrt1681
  store float %888, ptr %847, align 4, !tbaa !9
  br i1 %or.cond5, label %889, label %1023

889:                                              ; preds = %871
  %890 = load float, ptr %21, align 4, !tbaa !9
  %891 = fneg float %890
  %892 = fmul float %872, %891
  store float %892, ptr %19, align 4, !tbaa !9
  %893 = mul nsw i64 %.51506, %39
  %gep1805 = getelementptr float, ptr %invariant.gep1866, i64 %893
  %894 = mul nsw i64 %883, %39
  %gep1807 = getelementptr float, ptr %invariant.gep1866, i64 %894
  %895 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1805, ptr noundef nonnull @c__1, ptr noundef %gep1807, ptr noundef nonnull @c__1) #7
  store float %879, ptr %19, align 4, !tbaa !9
  %896 = load i64, ptr %20, align 8, !tbaa !5
  %897 = mul nsw i64 %896, %39
  %gep1809 = getelementptr float, ptr %invariant.gep1866, i64 %897
  %898 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1809, ptr noundef nonnull @c__1, ptr noundef %gep1805, ptr noundef nonnull @c__1) #7
  br label %1023

899:                                              ; preds = %800
  br i1 %855, label %928, label %900

900:                                              ; preds = %899
  %901 = extractelement <2 x float> %853, i64 1
  %902 = fmul float %901, %810
  store float %902, ptr %19, align 4, !tbaa !9
  %903 = mul nsw i64 %844, %36
  %gep1811 = getelementptr float, ptr %invariant.gep2063, i64 %903
  %904 = mul nsw i64 %.51506, %36
  %gep1813 = getelementptr float, ptr %invariant.gep2063, i64 %904
  %905 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1811, ptr noundef nonnull @c__1, ptr noundef %gep1813, ptr noundef nonnull @c__1) #7
  %906 = fneg float %sqrt1681
  %907 = fmul float %813, %906
  %908 = extractelement <2 x float> %853, i64 0
  %909 = fmul float %907, %908
  store float %909, ptr %19, align 4, !tbaa !9
  %910 = load i64, ptr %20, align 8, !tbaa !5
  %911 = mul nsw i64 %910, %36
  %gep1815 = getelementptr float, ptr %invariant.gep2063, i64 %911
  %912 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1813, ptr noundef nonnull @c__1, ptr noundef %gep1815, ptr noundef nonnull @c__1) #7
  %913 = load i64, ptr %20, align 8, !tbaa !5
  %914 = getelementptr inbounds float, ptr %42, i64 %913
  %915 = load float, ptr %914, align 4, !tbaa !9
  %916 = fdiv float %915, %sqrt1681
  store float %916, ptr %914, align 4, !tbaa !9
  %917 = load float, ptr %847, align 4, !tbaa !9
  %918 = fmul float %sqrt1681, %917
  store float %918, ptr %847, align 4, !tbaa !9
  br i1 %or.cond5, label %919, label %1023

919:                                              ; preds = %900
  %920 = load float, ptr %21, align 4, !tbaa !9
  %921 = fmul float %901, %920
  store float %921, ptr %19, align 4, !tbaa !9
  %922 = mul nsw i64 %913, %39
  %gep1817 = getelementptr float, ptr %invariant.gep1866, i64 %922
  %923 = mul nsw i64 %.51506, %39
  %gep1819 = getelementptr float, ptr %invariant.gep1866, i64 %923
  %924 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1817, ptr noundef nonnull @c__1, ptr noundef %gep1819, ptr noundef nonnull @c__1) #7
  store float %909, ptr %19, align 4, !tbaa !9
  %925 = load i64, ptr %20, align 8, !tbaa !5
  %926 = mul nsw i64 %925, %39
  %gep1821 = getelementptr float, ptr %invariant.gep1866, i64 %926
  %927 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1819, ptr noundef nonnull @c__1, ptr noundef %gep1821, ptr noundef nonnull @c__1) #7
  br label %1023

928:                                              ; preds = %899
  %929 = fcmp ult float %846, %848
  br i1 %929, label %958, label %930

930:                                              ; preds = %928
  %931 = extractelement <2 x float> %853, i64 0
  %932 = fmul float %931, %822
  store float %932, ptr %19, align 4, !tbaa !9
  %933 = mul nsw i64 %.51506, %36
  %gep1823 = getelementptr float, ptr %invariant.gep2063, i64 %933
  %934 = mul nsw i64 %844, %36
  %gep1825 = getelementptr float, ptr %invariant.gep2063, i64 %934
  %935 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1823, ptr noundef nonnull @c__1, ptr noundef %gep1825, ptr noundef nonnull @c__1) #7
  %936 = fmul float %sqrt1681, %813
  %937 = extractelement <2 x float> %853, i64 1
  %938 = fmul float %936, %937
  store float %938, ptr %19, align 4, !tbaa !9
  %939 = load i64, ptr %20, align 8, !tbaa !5
  %940 = mul nsw i64 %939, %36
  %gep1827 = getelementptr float, ptr %invariant.gep2063, i64 %940
  %941 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1827, ptr noundef nonnull @c__1, ptr noundef %gep1823, ptr noundef nonnull @c__1) #7
  %942 = load i64, ptr %20, align 8, !tbaa !5
  %943 = getelementptr inbounds float, ptr %42, i64 %942
  %944 = load float, ptr %943, align 4, !tbaa !9
  %945 = fmul float %sqrt1681, %944
  store float %945, ptr %943, align 4, !tbaa !9
  %946 = load float, ptr %847, align 4, !tbaa !9
  %947 = fdiv float %946, %sqrt1681
  store float %947, ptr %847, align 4, !tbaa !9
  br i1 %or.cond5, label %948, label %1023

948:                                              ; preds = %930
  %949 = load float, ptr %21, align 4, !tbaa !9
  %950 = fneg float %949
  %951 = fmul float %931, %950
  store float %951, ptr %19, align 4, !tbaa !9
  %952 = mul nsw i64 %.51506, %39
  %gep1829 = getelementptr float, ptr %invariant.gep1866, i64 %952
  %953 = mul nsw i64 %942, %39
  %gep1831 = getelementptr float, ptr %invariant.gep1866, i64 %953
  %954 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1829, ptr noundef nonnull @c__1, ptr noundef %gep1831, ptr noundef nonnull @c__1) #7
  store float %938, ptr %19, align 4, !tbaa !9
  %955 = load i64, ptr %20, align 8, !tbaa !5
  %956 = mul nsw i64 %955, %39
  %gep1833 = getelementptr float, ptr %invariant.gep1866, i64 %956
  %957 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1833, ptr noundef nonnull @c__1, ptr noundef %gep1829, ptr noundef nonnull @c__1) #7
  br label %1023

958:                                              ; preds = %928
  %959 = extractelement <2 x float> %853, i64 1
  %960 = fmul float %959, %810
  store float %960, ptr %19, align 4, !tbaa !9
  %961 = mul nsw i64 %844, %36
  %gep1835 = getelementptr float, ptr %invariant.gep2063, i64 %961
  %962 = mul nsw i64 %.51506, %36
  %gep1837 = getelementptr float, ptr %invariant.gep2063, i64 %962
  %963 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1835, ptr noundef nonnull @c__1, ptr noundef %gep1837, ptr noundef nonnull @c__1) #7
  %964 = fneg float %sqrt1681
  %965 = fmul float %813, %964
  %966 = extractelement <2 x float> %853, i64 0
  %967 = fmul float %965, %966
  store float %967, ptr %19, align 4, !tbaa !9
  %968 = load i64, ptr %20, align 8, !tbaa !5
  %969 = mul nsw i64 %968, %36
  %gep1839 = getelementptr float, ptr %invariant.gep2063, i64 %969
  %970 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1837, ptr noundef nonnull @c__1, ptr noundef %gep1839, ptr noundef nonnull @c__1) #7
  %971 = load i64, ptr %20, align 8, !tbaa !5
  %972 = getelementptr inbounds float, ptr %42, i64 %971
  %973 = load float, ptr %972, align 4, !tbaa !9
  %974 = fdiv float %973, %sqrt1681
  store float %974, ptr %972, align 4, !tbaa !9
  %975 = load float, ptr %847, align 4, !tbaa !9
  %976 = fmul float %sqrt1681, %975
  store float %976, ptr %847, align 4, !tbaa !9
  br i1 %or.cond5, label %977, label %1023

977:                                              ; preds = %958
  %978 = load float, ptr %21, align 4, !tbaa !9
  %979 = fmul float %959, %978
  store float %979, ptr %19, align 4, !tbaa !9
  %980 = mul nsw i64 %971, %39
  %gep1841 = getelementptr float, ptr %invariant.gep1866, i64 %980
  %981 = mul nsw i64 %.51506, %39
  %gep1843 = getelementptr float, ptr %invariant.gep1866, i64 %981
  %982 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1841, ptr noundef nonnull @c__1, ptr noundef %gep1843, ptr noundef nonnull @c__1) #7
  store float %967, ptr %19, align 4, !tbaa !9
  %983 = load i64, ptr %20, align 8, !tbaa !5
  %984 = mul nsw i64 %983, %39
  %gep1845 = getelementptr float, ptr %invariant.gep1866, i64 %984
  %985 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1843, ptr noundef nonnull @c__1, ptr noundef %gep1845, ptr noundef nonnull @c__1) #7
  br label %1023

986:                                              ; preds = %725
  %987 = load i64, ptr %20, align 8, !tbaa !5
  %988 = mul nsw i64 %987, %36
  %gep1787 = getelementptr float, ptr %invariant.gep2063, i64 %988
  %989 = load i64, ptr %4, align 8, !tbaa !5
  %990 = getelementptr float, ptr %11, i64 %989
  %991 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1787, ptr noundef nonnull @c__1, ptr noundef %990, ptr noundef nonnull @c__1) #7
  %992 = load i64, ptr %4, align 8, !tbaa !5
  %993 = getelementptr float, ptr %11, i64 %992
  %994 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %26, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %993, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %995 = mul nsw i64 %.51506, %36
  %gep1789 = getelementptr float, ptr %invariant.gep2063, i64 %995
  %996 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %28, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1789, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %997 = load float, ptr %27, align 4, !tbaa !9
  %998 = fneg float %997
  %999 = load i64, ptr %20, align 8, !tbaa !5
  %1000 = getelementptr inbounds float, ptr %42, i64 %999
  %1001 = load float, ptr %1000, align 4, !tbaa !9
  %1002 = fmul float %1001, %998
  %1003 = getelementptr float, ptr %11, i64 %.51506.in
  %1004 = load float, ptr %1003, align 4, !tbaa !9
  %1005 = fdiv float %1002, %1004
  store float %1005, ptr %30, align 4, !tbaa !9
  %1006 = load i64, ptr %4, align 8, !tbaa !5
  %1007 = getelementptr float, ptr %11, i64 %1006
  %1008 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %30, ptr noundef %1007, ptr noundef nonnull @c__1, ptr noundef %gep1789, ptr noundef nonnull @c__1) #7
  %1009 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %28, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1789, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1010 = load float, ptr %27, align 4, !tbaa !9
  %1011 = fneg float %1010
  %1012 = call float @llvm.fmuladd.f32(float %1011, float %1010, float 1.000000e+00)
  %1013 = load float, ptr %28, align 4, !tbaa !9
  %1014 = fpext float %1013 to double
  %1015 = fcmp ole float %1012, 0.000000e+00
  %1016 = select i1 %1015, float 0.000000e+00, float %1012
  %1017 = fpext float %1016 to double
  %sqrt1683 = call double @llvm.sqrt.f64(double %1017)
  %1018 = fmul double %sqrt1683, %1014
  %1019 = fptrunc double %1018 to float
  store float %1019, ptr %614, align 4, !tbaa !9
  %1020 = load float, ptr %32, align 4
  %1021 = fcmp oge float %.41453, %1020
  %1022 = select i1 %1021, float %.41453, float %1020
  br label %1023

1023:                                             ; preds = %773, %919, %900, %958, %977, %930, %948, %866, %857, %889, %871, %986
  %.51454 = phi float [ %799, %773 ], [ %818, %866 ], [ %818, %857 ], [ %818, %889 ], [ %818, %871 ], [ %818, %919 ], [ %818, %900 ], [ %818, %948 ], [ %818, %930 ], [ %818, %977 ], [ %818, %958 ], [ %1022, %986 ]
  %1024 = load float, ptr %614, align 4, !tbaa !9
  %1025 = load float, ptr %28, align 4, !tbaa !9
  %1026 = fdiv float %1024, %1025
  store float %1026, ptr %19, align 4, !tbaa !9
  %1027 = fmul float %1026, %1026
  %1028 = fcmp ugt float %1027, %sqrtf1581
  br i1 %1028, label %1049, label %1029

1029:                                             ; preds = %1023
  %1030 = fcmp olt float %1025, %114
  %1031 = fcmp ogt float %1025, %sqrtf1582
  %or.cond1656 = and i1 %1030, %1031
  br i1 %or.cond1656, label %1032, label %1035

1032:                                             ; preds = %1029
  %1033 = mul nsw i64 %.51506, %36
  %gep1857 = getelementptr float, ptr %invariant.gep2063, i64 %1033
  %1034 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep1857, ptr noundef nonnull @c__1) #7
  br label %.sink.split

1035:                                             ; preds = %1029
  store float 0.000000e+00, ptr %21, align 4, !tbaa !9
  store float 0.000000e+00, ptr %28, align 4, !tbaa !9
  %1036 = mul nsw i64 %.51506, %36
  %gep1855 = getelementptr float, ptr %invariant.gep2063, i64 %1036
  %1037 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep1855, ptr noundef nonnull @c__1, ptr noundef nonnull %21, ptr noundef nonnull %28) #7
  %1038 = load float, ptr %21, align 4, !tbaa !9
  %1039 = fpext float %1038 to double
  %1040 = load float, ptr %28, align 4, !tbaa !9
  %1041 = fpext float %1040 to double
  %1042 = call double @sqrt(double noundef %1041) #7
  %1043 = fmul double %1042, %1039
  br label %.sink.split

.sink.split:                                      ; preds = %1035, %1032
  %.sink2193 = phi double [ %1034, %1032 ], [ %1043, %1035 ]
  %1044 = getelementptr float, ptr %11, i64 %.51506.in
  %1045 = load float, ptr %1044, align 4, !tbaa !9
  %1046 = fpext float %1045 to double
  %1047 = fmul double %.sink2193, %1046
  %1048 = fptrunc double %1047 to float
  store float %1048, ptr %614, align 4, !tbaa !9
  br label %1049

1049:                                             ; preds = %.sink.split, %1023
  %1050 = load float, ptr %26, align 4, !tbaa !9
  %1051 = fdiv float %1050, %618
  %1052 = fcmp ugt float %1051, %sqrtf1581
  br i1 %1052, label %1080, label %1053

1053:                                             ; preds = %1049
  %1054 = fcmp olt float %1050, %114
  %1055 = fcmp ogt float %1050, %sqrtf1582
  %or.cond1657 = and i1 %1054, %1055
  br i1 %or.cond1657, label %1056, label %1060

1056:                                             ; preds = %1053
  %1057 = load i64, ptr %20, align 8, !tbaa !5
  %1058 = mul nsw i64 %1057, %36
  %gep1861 = getelementptr float, ptr %invariant.gep2063, i64 %1058
  %1059 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep1861, ptr noundef nonnull @c__1) #7
  br label %1070

1060:                                             ; preds = %1053
  store float 0.000000e+00, ptr %21, align 4, !tbaa !9
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  %1061 = load i64, ptr %20, align 8, !tbaa !5
  %1062 = mul nsw i64 %1061, %36
  %gep1859 = getelementptr float, ptr %invariant.gep2063, i64 %1062
  %1063 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep1859, ptr noundef nonnull @c__1, ptr noundef nonnull %21, ptr noundef nonnull %26) #7
  %1064 = load float, ptr %21, align 4, !tbaa !9
  %1065 = fpext float %1064 to double
  %1066 = load float, ptr %26, align 4, !tbaa !9
  %1067 = fpext float %1066 to double
  %1068 = call double @sqrt(double noundef %1067) #7
  %1069 = fmul double %1068, %1065
  br label %1070

1070:                                             ; preds = %1060, %1056
  %.sink2197 = phi double [ %1069, %1060 ], [ %1059, %1056 ]
  %.sink2201 = load i64, ptr %20, align 8, !tbaa !5
  %1071 = getelementptr inbounds float, ptr %42, i64 %.sink2201
  %1072 = load float, ptr %1071, align 4, !tbaa !9
  %1073 = fpext float %1072 to double
  %1074 = fmul double %.sink2197, %1073
  %storemerge1645 = fptrunc double %1074 to float
  store float %storemerge1645, ptr %26, align 4, !tbaa !9
  %1075 = getelementptr inbounds float, ptr %35, i64 %.sink2201
  store float %storemerge1645, ptr %1075, align 4, !tbaa !9
  br label %1080

1076:                                             ; preds = %716
  %spec.select1658 = add nsw i64 %.31437, %555
  %1077 = add nsw i64 %.01495, 1
  br label %1080

1078:                                             ; preds = %613
  %spec.select1659 = add nsw i64 %.31437, %555
  %1079 = add nsw i64 %.01495, 1
  br label %1080

1080:                                             ; preds = %1076, %1070, %1049, %1078
  %.21497 = phi i64 [ %.11496, %1070 ], [ %.11496, %1049 ], [ %1077, %1076 ], [ %1079, %1078 ]
  %.51473 = phi float [ %722, %1070 ], [ %722, %1049 ], [ %722, %1076 ], [ %.41472, %1078 ]
  %.61455 = phi float [ %.51454, %1070 ], [ %.51454, %1049 ], [ %.41453, %1076 ], [ %.41453, %1078 ]
  %.71441 = phi i64 [ %.41438, %1070 ], [ %.41438, %1049 ], [ %spec.select1658, %1076 ], [ %spec.select1659, %1078 ]
  %.51432 = phi i64 [ %.41431, %1070 ], [ %.41431, %1049 ], [ %.31430, %1076 ], [ %.31430, %1078 ]
  %1081 = icmp sgt i64 %.21497, %390
  %or.cond1660 = select i1 %.not1646, i1 %1081, i1 false
  br i1 %or.cond1660, label %1082, label %611, !llvm.loop !28

1082:                                             ; preds = %1080
  %.pre2143 = load float, ptr %26, align 4, !tbaa !9
  br i1 %554, label %1083, label %.loopexit1694

1083:                                             ; preds = %1082
  %1084 = fneg float %.pre2143
  store float %1084, ptr %26, align 4, !tbaa !9
  br label %.loopexit1694

.loopexit1694.loopexit:                           ; preds = %611
  %.pre2142 = load float, ptr %26, align 4, !tbaa !9
  br label %.loopexit1694

.loopexit1694:                                    ; preds = %.loopexit1694.loopexit, %1082, %1083
  %1085 = phi float [ %1084, %1083 ], [ %.pre2143, %1082 ], [ %.pre2142, %.loopexit1694.loopexit ]
  %.61474 = phi float [ %.51473, %1083 ], [ %.51473, %1082 ], [ %.41472, %.loopexit1694.loopexit ]
  %.71456 = phi float [ %.61455, %1083 ], [ %.61455, %1082 ], [ %.41453, %.loopexit1694.loopexit ]
  %.81442 = phi i64 [ 0, %1083 ], [ 0, %1082 ], [ %.31437, %.loopexit1694.loopexit ]
  %.61433 = phi i64 [ %.51432, %1083 ], [ %.51432, %1082 ], [ %.31430, %.loopexit1694.loopexit ]
  %1086 = load i64, ptr %20, align 8, !tbaa !5
  %1087 = getelementptr inbounds float, ptr %35, i64 %1086
  store float %1085, ptr %1087, align 4, !tbaa !9
  br label %1094

1088:                                             ; preds = %._crit_edge2140
  %1089 = fcmp oeq float %storemerge1640, 0.000000e+00
  %or.cond19 = and i1 %554, %1089
  br i1 %or.cond19, label %1090, label %1094

1090:                                             ; preds = %1088
  store i64 %550, ptr %18, align 8, !tbaa !5
  %1091 = load i64, ptr %4, align 8, !tbaa !5
  %.1661 = call i64 @llvm.smin.i64(i64 %550, i64 %1091)
  %1092 = sub i64 %.214361878, %.pn
  %1093 = add i64 %1092, %.1661
  br label %1094

1094:                                             ; preds = %.loopexit1694, %1090, %1088
  %1095 = phi i64 [ %1086, %.loopexit1694 ], [ %.pn, %1090 ], [ %.pn, %1088 ]
  %.71475 = phi float [ %.61474, %.loopexit1694 ], [ %.314711876, %1090 ], [ %.314711876, %1088 ]
  %.81457 = phi float [ %.71456, %.loopexit1694 ], [ %.314521877, %1090 ], [ %.314521877, %1088 ]
  %.91443 = phi i64 [ %.81442, %.loopexit1694 ], [ %1093, %1090 ], [ %.214361878, %1088 ]
  %.7 = phi i64 [ %.61433, %.loopexit1694 ], [ %.214291879, %1090 ], [ %.214291879, %1088 ]
  %1096 = add nsw i64 %1095, 1
  store i64 %1096, ptr %20, align 8, !tbaa !5
  %1097 = load i64, ptr %17, align 8, !tbaa !5
  %.not1638.not = icmp slt i64 %1095, %1097
  br i1 %.not1638.not, label %556, label %._crit_edge1882.loopexit, !llvm.loop !29

._crit_edge1882.loopexit:                         ; preds = %1094
  %.pre2144 = load i64, ptr %16, align 8, !tbaa !5
  br label %._crit_edge1882

._crit_edge1882:                                  ; preds = %._crit_edge1882.loopexit, %.lr.ph1895
  %1098 = phi i64 [ %547, %.lr.ph1895 ], [ %.pre2144, %._crit_edge1882.loopexit ]
  %.31471.lcssa = phi float [ %.214701890, %.lr.ph1895 ], [ %.71475, %._crit_edge1882.loopexit ]
  %.31452.lcssa = phi float [ %.214511891, %.lr.ph1895 ], [ %.81457, %._crit_edge1882.loopexit ]
  %.21436.lcssa = phi i64 [ %.114351892, %.lr.ph1895 ], [ %.91443, %._crit_edge1882.loopexit ]
  %.21429.lcssa = phi i64 [ %.114281893, %.lr.ph1895 ], [ %.7, %._crit_edge1882.loopexit ]
  %1099 = add nuw nsw i64 %.015081889, 1
  %.not1621.not = icmp slt i64 %.015081889, %1098
  br i1 %.not1621.not, label %.lr.ph1895, label %._crit_edge1896, !llvm.loop !30

._crit_edge1896:                                  ; preds = %._crit_edge1882, %540
  %.21470.lcssa = phi float [ %.114692052, %540 ], [ %.31471.lcssa, %._crit_edge1882 ]
  %.21451.lcssa = phi float [ %.114502053, %540 ], [ %.31452.lcssa, %._crit_edge1882 ]
  %.11435.lcssa = phi i64 [ %.014342054, %540 ], [ %.21436.lcssa, %._crit_edge1882 ]
  %.11428.lcssa = phi i64 [ %.014272055, %540 ], [ %.21429.lcssa, %._crit_edge1882 ]
  store i64 %.01512, ptr %16, align 8, !tbaa !5
  %1100 = add nuw nsw i64 %.015142051, 1
  %.not16222032.not = icmp slt i64 %.015142051, %.01512
  %1101 = mul i64 %.015142051, %spec.select
  br i1 %.not16222032.not, label %.lr.ph2039, label %.loopexit1696

.lr.ph2039:                                       ; preds = %._crit_edge1896, %._crit_edge2027
  %1102 = phi i64 [ %1682, %._crit_edge2027 ], [ %.01512, %._crit_edge1896 ]
  %.82037 = phi i64 [ %.9.lcssa, %._crit_edge2027 ], [ %.11428.lcssa, %._crit_edge1896 ]
  %.1014442036 = phi i64 [ %.111445.lcssa, %._crit_edge2027 ], [ %.11435.lcssa, %._crit_edge1896 ]
  %.914582035 = phi float [ %.101459.lcssa, %._crit_edge2027 ], [ %.21451.lcssa, %._crit_edge1896 ]
  %.814762034 = phi float [ %.91477.lcssa, %._crit_edge2027 ], [ %.21470.lcssa, %._crit_edge1896 ]
  %.015102033 = phi i64 [ %1683, %._crit_edge2027 ], [ %1100, %._crit_edge1896 ]
  %1103 = add nsw i64 %.015102033, -1
  %1104 = mul nsw i64 %1103, %spec.select
  store i64 %1101, ptr %18, align 8, !tbaa !5
  %1105 = load i64, ptr %4, align 8, !tbaa !5
  %.1662 = call i64 @llvm.smin.i64(i64 %1101, i64 %1105)
  store i64 %.1662, ptr %17, align 8, !tbaa !5
  store i64 %544, ptr %20, align 8, !tbaa !5
  %.not16252018.not = icmp slt i64 %543, %.1662
  br i1 %.not16252018.not, label %.lr.ph2026, label %._crit_edge2027

.lr.ph2026:                                       ; preds = %.lr.ph2039
  %1106 = mul i64 %.015102033, %spec.select
  br label %1107

1107:                                             ; preds = %.lr.ph2026, %1678
  %1108 = phi i64 [ %.1662, %.lr.ph2026 ], [ %1679, %1678 ]
  %.92024 = phi i64 [ %.82037, %.lr.ph2026 ], [ %.13, %1678 ]
  %.1114452023 = phi i64 [ %.1014442036, %.lr.ph2026 ], [ %.16, %1678 ]
  %.1014592022 = phi float [ %.914582035, %.lr.ph2026 ], [ %.151464, %1678 ]
  %.914772021 = phi float [ %.814762034, %.lr.ph2026 ], [ %.131481, %1678 ]
  %.014862020 = phi i64 [ 0, %.lr.ph2026 ], [ %.41490, %1678 ]
  %storemerge16242019 = phi i64 [ %544, %.lr.ph2026 ], [ %1681, %1678 ]
  %1109 = getelementptr inbounds float, ptr %35, i64 %storemerge16242019
  %1110 = load float, ptr %1109, align 4, !tbaa !9
  store float %1110, ptr %26, align 4, !tbaa !9
  %1111 = fcmp ogt float %1110, 0.000000e+00
  br i1 %1111, label %1112, label %1669

1112:                                             ; preds = %1107
  %1113 = load i64, ptr %4, align 8, !tbaa !5
  %.1663 = call i64 @llvm.smin.i64(i64 %1106, i64 %1113)
  store i64 %.1663, ptr %18, align 8, !tbaa !5
  %.not16282001.not = icmp slt i64 %1104, %.1663
  br i1 %.not16282001.not, label %.lr.ph2012, label %.loopexit1693

1114:                                             ; preds = %1661
  %1115 = load i64, ptr %18, align 8, !tbaa !5
  %.not1628.not = icmp slt i64 %.615072002, %1115
  br i1 %.not1628.not, label %.lr.ph2012, label %.loopexit1693.loopexit, !llvm.loop !31

.lr.ph2012:                                       ; preds = %1112, %1114
  %.102010 = phi i64 [ %.11, %1114 ], [ %.92024, %1112 ]
  %.1214462009 = phi i64 [ %.131447, %1114 ], [ %.1114452023, %1112 ]
  %.1114602008 = phi float [ %.131462, %1114 ], [ %.1014592022, %1112 ]
  %.1014782007 = phi float [ %.111479, %1114 ], [ %.914772021, %1112 ]
  %.114872006 = phi i64 [ %.21488, %1114 ], [ %.014862020, %1112 ]
  %.314982005 = phi i64 [ %.41499, %1114 ], [ 0, %1112 ]
  %.615072002.in = phi i64 [ %.615072002, %1114 ], [ %1104, %1112 ]
  %.615072002 = add nsw i64 %.615072002.in, 1
  %1116 = getelementptr float, ptr %7, i64 %.615072002.in
  %1117 = load float, ptr %1116, align 4, !tbaa !9
  store float %1117, ptr %28, align 4, !tbaa !9
  %1118 = fcmp ogt float %1117, 0.000000e+00
  br i1 %1118, label %1119, label %1652

1119:                                             ; preds = %.lr.ph2012
  %1120 = load float, ptr %26, align 4, !tbaa !9
  %1121 = fcmp ult float %1117, 1.000000e+00
  %1122 = fcmp ult float %1120, %1117
  br i1 %1121, label %1172, label %1123

1123:                                             ; preds = %1119
  %1124 = fmul float %111, %1120
  %1125 = fcmp ole float %1124, %1117
  %1126 = fmul float %111, %1117
  %1127 = fcmp ole float %1126, %1120
  %.11492.in = select i1 %1122, i1 %1127, i1 %1125
  %1128 = fdiv float %113, %1117
  %1129 = fcmp olt float %1120, %1128
  %1130 = load i64, ptr %20, align 8, !tbaa !5
  %1131 = mul nsw i64 %1130, %36
  %gep1906 = getelementptr float, ptr %invariant.gep2063, i64 %1131
  br i1 %1129, label %1132, label %1151

1132:                                             ; preds = %1123
  %1133 = mul nsw i64 %.615072002, %36
  %gep1908 = getelementptr float, ptr %invariant.gep2063, i64 %1133
  %1134 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %gep1906, ptr noundef nonnull @c__1, ptr noundef %gep1908, ptr noundef nonnull @c__1) #7
  %1135 = load i64, ptr %20, align 8, !tbaa !5
  %1136 = getelementptr inbounds float, ptr %42, i64 %1135
  %1137 = load float, ptr %1136, align 4, !tbaa !9
  %1138 = fpext float %1137 to double
  %1139 = fmul double %1134, %1138
  %1140 = getelementptr float, ptr %11, i64 %.615072002.in
  %1141 = load float, ptr %1140, align 4, !tbaa !9
  %1142 = fpext float %1141 to double
  %1143 = fmul double %1139, %1142
  %1144 = load float, ptr %28, align 4, !tbaa !9
  %1145 = fpext float %1144 to double
  %1146 = fdiv double %1143, %1145
  %1147 = load float, ptr %26, align 4, !tbaa !9
  %1148 = fpext float %1147 to double
  %1149 = fdiv double %1146, %1148
  %1150 = fptrunc double %1149 to float
  store float %1150, ptr %27, align 4, !tbaa !9
  br label %1227

1151:                                             ; preds = %1123
  %1152 = load i64, ptr %4, align 8, !tbaa !5
  %1153 = getelementptr float, ptr %11, i64 %1152
  %1154 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1906, ptr noundef nonnull @c__1, ptr noundef %1153, ptr noundef nonnull @c__1) #7
  %1155 = load i64, ptr %20, align 8, !tbaa !5
  %1156 = getelementptr inbounds float, ptr %42, i64 %1155
  %1157 = load i64, ptr %4, align 8, !tbaa !5
  %1158 = getelementptr float, ptr %11, i64 %1157
  %1159 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %26, ptr noundef nonnull %1156, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %1158, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1160 = load i64, ptr %4, align 8, !tbaa !5
  %1161 = getelementptr float, ptr %11, i64 %1160
  %1162 = mul nsw i64 %.615072002, %36
  %gep1904 = getelementptr float, ptr %invariant.gep2063, i64 %1162
  %1163 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %1161, ptr noundef nonnull @c__1, ptr noundef %gep1904, ptr noundef nonnull @c__1) #7
  %1164 = getelementptr float, ptr %11, i64 %.615072002.in
  %1165 = load float, ptr %1164, align 4, !tbaa !9
  %1166 = fpext float %1165 to double
  %1167 = fmul double %1163, %1166
  %1168 = load float, ptr %28, align 4, !tbaa !9
  %1169 = fpext float %1168 to double
  %1170 = fdiv double %1167, %1169
  %1171 = fptrunc double %1170 to float
  store float %1171, ptr %27, align 4, !tbaa !9
  br label %1227

1172:                                             ; preds = %1119
  %1173 = insertelement <2 x float> poison, float %1117, i64 0
  %1174 = insertelement <2 x float> %1173, float %1120, i64 1
  %1175 = fdiv <2 x float> %1174, %537
  %1176 = insertelement <2 x float> poison, float %1120, i64 0
  %1177 = insertelement <2 x float> %1176, float %1117, i64 1
  %1178 = fcmp ole <2 x float> %1177, %1175
  %1179 = extractelement <2 x i1> %1178, i64 0
  %1180 = extractelement <2 x i1> %1178, i64 1
  %.21493.in = select i1 %1122, i1 %1180, i1 %1179
  %1181 = fdiv float %111, %1117
  %1182 = fcmp ogt float %1120, %1181
  br i1 %1182, label %1183, label %1204

1183:                                             ; preds = %1172
  %1184 = load i64, ptr %20, align 8, !tbaa !5
  %1185 = mul nsw i64 %1184, %36
  %gep1914 = getelementptr float, ptr %invariant.gep2063, i64 %1185
  %1186 = mul nsw i64 %.615072002, %36
  %gep1916 = getelementptr float, ptr %invariant.gep2063, i64 %1186
  %1187 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %gep1914, ptr noundef nonnull @c__1, ptr noundef %gep1916, ptr noundef nonnull @c__1) #7
  %1188 = load i64, ptr %20, align 8, !tbaa !5
  %1189 = getelementptr inbounds float, ptr %42, i64 %1188
  %1190 = load float, ptr %1189, align 4, !tbaa !9
  %1191 = fpext float %1190 to double
  %1192 = fmul double %1187, %1191
  %1193 = getelementptr float, ptr %11, i64 %.615072002.in
  %1194 = load float, ptr %1193, align 4, !tbaa !9
  %1195 = fpext float %1194 to double
  %1196 = fmul double %1192, %1195
  %1197 = load float, ptr %28, align 4, !tbaa !9
  %1198 = fpext float %1197 to double
  %1199 = fdiv double %1196, %1198
  %1200 = load float, ptr %26, align 4, !tbaa !9
  %1201 = fpext float %1200 to double
  %1202 = fdiv double %1199, %1201
  %1203 = fptrunc double %1202 to float
  store float %1203, ptr %27, align 4, !tbaa !9
  br label %1227

1204:                                             ; preds = %1172
  %1205 = mul nsw i64 %.615072002, %36
  %gep1910 = getelementptr float, ptr %invariant.gep2063, i64 %1205
  %1206 = load i64, ptr %4, align 8, !tbaa !5
  %1207 = getelementptr float, ptr %11, i64 %1206
  %1208 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1910, ptr noundef nonnull @c__1, ptr noundef %1207, ptr noundef nonnull @c__1) #7
  %1209 = getelementptr float, ptr %11, i64 %.615072002.in
  %1210 = load i64, ptr %4, align 8, !tbaa !5
  %1211 = getelementptr float, ptr %11, i64 %1210
  %1212 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %28, ptr noundef nonnull %1209, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %1211, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1213 = load i64, ptr %4, align 8, !tbaa !5
  %1214 = getelementptr float, ptr %11, i64 %1213
  %1215 = load i64, ptr %20, align 8, !tbaa !5
  %1216 = mul nsw i64 %1215, %36
  %gep1912 = getelementptr float, ptr %invariant.gep2063, i64 %1216
  %1217 = call double @f2c_sdot(ptr noundef nonnull %3, ptr noundef %1214, ptr noundef nonnull @c__1, ptr noundef %gep1912, ptr noundef nonnull @c__1) #7
  %1218 = load i64, ptr %20, align 8, !tbaa !5
  %1219 = getelementptr inbounds float, ptr %42, i64 %1218
  %1220 = load float, ptr %1219, align 4, !tbaa !9
  %1221 = fpext float %1220 to double
  %1222 = fmul double %1217, %1221
  %1223 = load float, ptr %26, align 4, !tbaa !9
  %1224 = fpext float %1223 to double
  %1225 = fdiv double %1222, %1224
  %1226 = fptrunc double %1225 to float
  store float %1226, ptr %27, align 4, !tbaa !9
  br label %1227

1227:                                             ; preds = %1183, %1204, %1132, %1151
  %1228 = phi float [ %1150, %1132 ], [ %1171, %1151 ], [ %1203, %1183 ], [ %1226, %1204 ]
  %.31494.in = phi i1 [ %.11492.in, %1132 ], [ %.11492.in, %1151 ], [ %.21493.in, %1183 ], [ %.21493.in, %1204 ]
  store float %.1014782007, ptr %19, align 4, !tbaa !9
  %1229 = fcmp oge float %1228, 0.000000e+00
  %1230 = fneg float %1228
  %1231 = select i1 %1229, float %1228, float %1230
  %1232 = fcmp oge float %.1014782007, %1231
  %1233 = select i1 %1232, float %.1014782007, float %1231
  %1234 = load float, ptr %24, align 4, !tbaa !9
  %1235 = fcmp ogt float %1231, %1234
  br i1 %1235, label %1236, label %1648

1236:                                             ; preds = %1227
  %1237 = add nsw i64 %.102010, 1
  br i1 %.31494.in, label %1238, label %1511

1238:                                             ; preds = %1236
  %1239 = load float, ptr %28, align 4, !tbaa !9
  %1240 = load float, ptr %26, align 4, !tbaa !9
  %1241 = insertelement <2 x float> poison, float %1239, i64 0
  %1242 = insertelement <2 x float> %1241, float %1240, i64 1
  %1243 = insertelement <2 x float> poison, float %1240, i64 0
  %1244 = insertelement <2 x float> %1243, float %1239, i64 1
  %1245 = fdiv <2 x float> %1242, %1244
  %1246 = extractelement <2 x float> %1245, i64 0
  %1247 = extractelement <2 x float> %1245, i64 1
  %1248 = fsub float %1246, %1247
  store float %1248, ptr %19, align 4, !tbaa !9
  %1249 = fcmp oge float %1248, 0.000000e+00
  %1250 = fneg float %1248
  %1251 = select i1 %1249, float %1248, float %1250
  %1252 = fpext float %1251 to double
  %1253 = fmul double %1252, -5.000000e-01
  %1254 = fpext float %1228 to double
  %1255 = fdiv double %1253, %1254
  %1256 = fptrunc double %1255 to float
  %1257 = fcmp ogt float %1239, %1120
  %1258 = fneg float %1256
  %.01509 = select i1 %1257, float %1258, float %1256
  %1259 = fcmp oge float %.01509, 0.000000e+00
  %1260 = fneg float %.01509
  %1261 = select i1 %1259, float %.01509, float %1260
  %1262 = fcmp ogt float %1261, %121
  br i1 %1262, label %1263, label %1318

1263:                                             ; preds = %1238
  %1264 = fdiv float 5.000000e-01, %.01509
  store float %1264, ptr %21, align 4, !tbaa !9
  %1265 = load i64, ptr %20, align 8, !tbaa !5
  %1266 = getelementptr inbounds float, ptr %42, i64 %1265
  %1267 = load float, ptr %1266, align 4, !tbaa !9
  %1268 = getelementptr float, ptr %11, i64 %.615072002.in
  %1269 = load float, ptr %1268, align 4, !tbaa !9
  %1270 = fneg float %1264
  %1271 = insertelement <2 x float> poison, float %1264, i64 0
  %1272 = insertelement <2 x float> %1271, float %1269, i64 1
  %1273 = insertelement <2 x float> poison, float %1267, i64 0
  %1274 = insertelement <2 x float> %1273, float %1270, i64 1
  %1275 = fmul <2 x float> %1272, %1274
  %1276 = insertelement <2 x float> poison, float %1269, i64 0
  %1277 = insertelement <2 x float> %1276, float %1267, i64 1
  %1278 = fdiv <2 x float> %1275, %1277
  store <2 x float> %1278, ptr %535, align 8, !tbaa !9
  %1279 = mul nsw i64 %1265, %36
  %gep1986 = getelementptr float, ptr %invariant.gep2063, i64 %1279
  %1280 = mul nsw i64 %.615072002, %36
  %gep1988 = getelementptr float, ptr %invariant.gep2063, i64 %1280
  %1281 = call i32 @f2c_srotm(ptr noundef nonnull %3, ptr noundef %gep1986, ptr noundef nonnull @c__1, ptr noundef %gep1988, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br i1 %or.cond5, label %1282, label %1287

1282:                                             ; preds = %1263
  %1283 = load i64, ptr %20, align 8, !tbaa !5
  %1284 = mul nsw i64 %1283, %39
  %gep1990 = getelementptr float, ptr %invariant.gep1866, i64 %1284
  %1285 = mul nsw i64 %.615072002, %39
  %gep1992 = getelementptr float, ptr %invariant.gep1866, i64 %1285
  %1286 = call i32 @f2c_srotm(ptr noundef nonnull %25, ptr noundef %gep1990, ptr noundef nonnull @c__1, ptr noundef %gep1992, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br label %1287

1287:                                             ; preds = %1282, %1263
  %1288 = load float, ptr %21, align 4
  %1289 = load float, ptr %27, align 4, !tbaa !9
  %1290 = load float, ptr %28, align 4, !tbaa !9
  %1291 = fpext float %1290 to double
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1292 = fneg float %1288
  %1293 = insertelement <2 x float> poison, float %1292, i64 0
  %1294 = insertelement <2 x float> %1293, float %1288, i64 1
  %1295 = fmul <2 x float> %1245, %1294
  %1296 = insertelement <2 x float> poison, float %1289, i64 0
  %1297 = shufflevector <2 x float> %1296, <2 x float> poison, <2 x i32> zeroinitializer
  %1298 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %1295, <2 x float> %1297, <2 x float> <float 1.000000e+00, float 1.000000e+00>)
  %1299 = fcmp ole <2 x float> %1298, zeroinitializer
  %1300 = extractelement <2 x i1> %1299, i64 1
  %1301 = extractelement <2 x float> %1298, i64 1
  %1302 = fpext float %1301 to double
  %1303 = select i1 %1300, double 0.000000e+00, double %1302
  %sqrt1685 = call double @llvm.sqrt.f64(double %1303)
  %1304 = fmul double %sqrt1685, %1291
  %1305 = fptrunc double %1304 to float
  store float %1305, ptr %1116, align 4, !tbaa !9
  %1306 = extractelement <2 x i1> %1299, i64 0
  %1307 = extractelement <2 x float> %1298, i64 0
  %1308 = fpext float %1307 to double
  %1309 = select i1 %1306, double 0.000000e+00, double %1308
  %sqrt1684 = call double @llvm.sqrt.f64(double %1309)
  %1310 = load float, ptr %26, align 4, !tbaa !9
  %1311 = fpext float %1310 to double
  %1312 = fmul double %sqrt1684, %1311
  %1313 = fptrunc double %1312 to float
  store float %1313, ptr %26, align 4, !tbaa !9
  %1314 = fcmp oge float %1288, 0.000000e+00
  %1315 = select i1 %1314, float %1288, float %1292
  %1316 = fcmp oge float %.1114602008, %1315
  %1317 = select i1 %1316, float %.1114602008, float %1315
  br label %1594

1318:                                             ; preds = %1238
  %1319 = call double @r_sign(ptr noundef nonnull @c_b18, ptr noundef nonnull %27) #7
  %1320 = fptrunc double %1319 to float
  %1321 = fneg float %1320
  %1322 = load float, ptr %28, align 4, !tbaa !9
  %1323 = fcmp ogt float %1322, %1120
  %.01467 = select i1 %1323, float %1320, float %1321
  %1324 = fpext float %.01509 to double
  %1325 = fpext float %.01467 to double
  %1326 = call float @llvm.fmuladd.f32(float %.01509, float %.01509, float 1.000000e+00)
  %1327 = fpext float %1326 to double
  %sqrt1688 = call double @llvm.sqrt.f64(double %1327)
  %1328 = call double @llvm.fmuladd.f64(double %1325, double %sqrt1688, double %1324)
  %1329 = fdiv double 1.000000e+00, %1328
  %1330 = fptrunc double %1329 to float
  store float %1330, ptr %21, align 4, !tbaa !9
  %1331 = call float @llvm.fmuladd.f32(float %1330, float %1330, float 1.000000e+00)
  %1332 = fdiv float 1.000000e+00, %1331
  %sqrt1687 = call float @llvm.sqrt.f32(float %1332)
  %1333 = fmul float %sqrt1687, %1330
  %1334 = fcmp oge float %1333, 0.000000e+00
  %1335 = fneg float %1333
  %1336 = select i1 %1334, float %1333, float %1335
  %1337 = fcmp oge float %.1114602008, %1336
  %1338 = select i1 %1337, float %.1114602008, float %1336
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1339 = fmul float %1247, %1330
  %1340 = load float, ptr %27, align 4, !tbaa !9
  %1341 = call float @llvm.fmuladd.f32(float %1339, float %1340, float 1.000000e+00)
  %1342 = fpext float %1322 to double
  %1343 = fcmp ole float %1341, 0.000000e+00
  %1344 = select i1 %1343, float 0.000000e+00, float %1341
  %1345 = fpext float %1344 to double
  %sqrt1686 = call double @llvm.sqrt.f64(double %1345)
  %1346 = fmul double %sqrt1686, %1342
  %1347 = fptrunc double %1346 to float
  store float %1347, ptr %1116, align 4, !tbaa !9
  %1348 = fneg float %1330
  %1349 = fmul float %1246, %1348
  %1350 = call float @llvm.fmuladd.f32(float %1349, float %1340, float 1.000000e+00)
  %1351 = fpext float %1350 to double
  %1352 = call double @sqrt(double noundef %1351) #7
  %1353 = load float, ptr %26, align 4, !tbaa !9
  %1354 = fpext float %1353 to double
  %1355 = fmul double %1352, %1354
  %1356 = fptrunc double %1355 to float
  store float %1356, ptr %26, align 4, !tbaa !9
  %1357 = load i64, ptr %20, align 8, !tbaa !5
  %1358 = getelementptr inbounds float, ptr %42, i64 %1357
  %1359 = load float, ptr %1358, align 4, !tbaa !9
  %1360 = getelementptr float, ptr %11, i64 %.615072002.in
  %1361 = load float, ptr %1360, align 4, !tbaa !9
  %1362 = insertelement <2 x float> poison, float %1361, i64 0
  %1363 = insertelement <2 x float> %1362, float %1359, i64 1
  %1364 = insertelement <2 x float> poison, float %1359, i64 0
  %1365 = insertelement <2 x float> %1364, float %1361, i64 1
  %1366 = fdiv <2 x float> %1363, %1365
  %1367 = fcmp ult float %1359, 1.000000e+00
  %1368 = fcmp ult float %1361, 1.000000e+00
  br i1 %1367, label %1419, label %1369

1369:                                             ; preds = %1318
  %1370 = load float, ptr %21, align 4, !tbaa !9
  br i1 %1368, label %1388, label %1371

1371:                                             ; preds = %1369
  %1372 = fneg float %1370
  %1373 = insertelement <2 x float> poison, float %1372, i64 0
  %1374 = insertelement <2 x float> %1373, float %1370, i64 1
  %1375 = fmul <2 x float> %1366, %1374
  %1376 = shufflevector <2 x float> %1375, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %1376, ptr %535, align 8, !tbaa !9
  %1377 = fmul float %sqrt1687, %1359
  store float %1377, ptr %1358, align 4, !tbaa !9
  %1378 = load float, ptr %1360, align 4, !tbaa !9
  %1379 = fmul float %sqrt1687, %1378
  store float %1379, ptr %1360, align 4, !tbaa !9
  %1380 = mul nsw i64 %1357, %36
  %gep1930 = getelementptr float, ptr %invariant.gep2063, i64 %1380
  %1381 = mul nsw i64 %.615072002, %36
  %gep1932 = getelementptr float, ptr %invariant.gep2063, i64 %1381
  %1382 = call i32 @f2c_srotm(ptr noundef nonnull %3, ptr noundef %gep1930, ptr noundef nonnull @c__1, ptr noundef %gep1932, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br i1 %or.cond5, label %1383, label %1594

1383:                                             ; preds = %1371
  %1384 = load i64, ptr %20, align 8, !tbaa !5
  %1385 = mul nsw i64 %1384, %39
  %gep1934 = getelementptr float, ptr %invariant.gep1866, i64 %1385
  %1386 = mul nsw i64 %.615072002, %39
  %gep1936 = getelementptr float, ptr %invariant.gep1866, i64 %1386
  %1387 = call i32 @f2c_srotm(ptr noundef nonnull %25, ptr noundef %gep1934, ptr noundef nonnull @c__1, ptr noundef %gep1936, ptr noundef nonnull @c__1, ptr noundef nonnull %33) #7
  br label %1594

1388:                                             ; preds = %1369
  %1389 = fneg float %1370
  %1390 = extractelement <2 x float> %1366, i64 0
  %1391 = fmul float %1390, %1389
  store float %1391, ptr %19, align 4, !tbaa !9
  %1392 = mul nsw i64 %.615072002, %36
  %gep1938 = getelementptr float, ptr %invariant.gep2063, i64 %1392
  %1393 = mul nsw i64 %1357, %36
  %gep1940 = getelementptr float, ptr %invariant.gep2063, i64 %1393
  %1394 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1938, ptr noundef nonnull @c__1, ptr noundef %gep1940, ptr noundef nonnull @c__1) #7
  %1395 = fmul float %sqrt1687, %1333
  %1396 = extractelement <2 x float> %1366, i64 1
  %1397 = fmul float %1395, %1396
  store float %1397, ptr %19, align 4, !tbaa !9
  %1398 = load i64, ptr %20, align 8, !tbaa !5
  %1399 = mul nsw i64 %1398, %36
  %gep1942 = getelementptr float, ptr %invariant.gep2063, i64 %1399
  %1400 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1942, ptr noundef nonnull @c__1, ptr noundef %gep1938, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %1401, label %1412

1401:                                             ; preds = %1388
  %1402 = load float, ptr %21, align 4, !tbaa !9
  %1403 = fneg float %1402
  %1404 = fmul float %1390, %1403
  store float %1404, ptr %19, align 4, !tbaa !9
  %1405 = mul nsw i64 %.615072002, %39
  %gep1944 = getelementptr float, ptr %invariant.gep1866, i64 %1405
  %1406 = load i64, ptr %20, align 8, !tbaa !5
  %1407 = mul nsw i64 %1406, %39
  %gep1946 = getelementptr float, ptr %invariant.gep1866, i64 %1407
  %1408 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1944, ptr noundef nonnull @c__1, ptr noundef %gep1946, ptr noundef nonnull @c__1) #7
  store float %1397, ptr %19, align 4, !tbaa !9
  %1409 = load i64, ptr %20, align 8, !tbaa !5
  %1410 = mul nsw i64 %1409, %39
  %gep1948 = getelementptr float, ptr %invariant.gep1866, i64 %1410
  %1411 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1948, ptr noundef nonnull @c__1, ptr noundef %gep1944, ptr noundef nonnull @c__1) #7
  br label %1412

1412:                                             ; preds = %1401, %1388
  %1413 = load i64, ptr %20, align 8, !tbaa !5
  %1414 = getelementptr inbounds float, ptr %42, i64 %1413
  %1415 = load float, ptr %1414, align 4, !tbaa !9
  %1416 = fmul float %sqrt1687, %1415
  store float %1416, ptr %1414, align 4, !tbaa !9
  %1417 = load float, ptr %1360, align 4, !tbaa !9
  %1418 = fdiv float %1417, %sqrt1687
  store float %1418, ptr %1360, align 4, !tbaa !9
  br label %1594

1419:                                             ; preds = %1318
  br i1 %1368, label %1451, label %1420

1420:                                             ; preds = %1419
  %1421 = load float, ptr %21, align 4, !tbaa !9
  %1422 = extractelement <2 x float> %1366, i64 1
  %1423 = fmul float %1422, %1421
  store float %1423, ptr %19, align 4, !tbaa !9
  %1424 = mul nsw i64 %1357, %36
  %gep1950 = getelementptr float, ptr %invariant.gep2063, i64 %1424
  %1425 = mul nsw i64 %.615072002, %36
  %gep1952 = getelementptr float, ptr %invariant.gep2063, i64 %1425
  %1426 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1950, ptr noundef nonnull @c__1, ptr noundef %gep1952, ptr noundef nonnull @c__1) #7
  %1427 = fneg float %sqrt1687
  %1428 = fmul float %1333, %1427
  %1429 = extractelement <2 x float> %1366, i64 0
  %1430 = fmul float %1428, %1429
  store float %1430, ptr %19, align 4, !tbaa !9
  %1431 = load i64, ptr %20, align 8, !tbaa !5
  %1432 = mul nsw i64 %1431, %36
  %gep1954 = getelementptr float, ptr %invariant.gep2063, i64 %1432
  %1433 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1952, ptr noundef nonnull @c__1, ptr noundef %gep1954, ptr noundef nonnull @c__1) #7
  br i1 %or.cond5, label %1434, label %1444

1434:                                             ; preds = %1420
  %1435 = load float, ptr %21, align 4, !tbaa !9
  %1436 = fmul float %1422, %1435
  store float %1436, ptr %19, align 4, !tbaa !9
  %1437 = load i64, ptr %20, align 8, !tbaa !5
  %1438 = mul nsw i64 %1437, %39
  %gep1956 = getelementptr float, ptr %invariant.gep1866, i64 %1438
  %1439 = mul nsw i64 %.615072002, %39
  %gep1958 = getelementptr float, ptr %invariant.gep1866, i64 %1439
  %1440 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1956, ptr noundef nonnull @c__1, ptr noundef %gep1958, ptr noundef nonnull @c__1) #7
  store float %1430, ptr %19, align 4, !tbaa !9
  %1441 = load i64, ptr %20, align 8, !tbaa !5
  %1442 = mul nsw i64 %1441, %39
  %gep1960 = getelementptr float, ptr %invariant.gep1866, i64 %1442
  %1443 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1958, ptr noundef nonnull @c__1, ptr noundef %gep1960, ptr noundef nonnull @c__1) #7
  br label %1444

1444:                                             ; preds = %1434, %1420
  %1445 = load i64, ptr %20, align 8, !tbaa !5
  %1446 = getelementptr inbounds float, ptr %42, i64 %1445
  %1447 = load float, ptr %1446, align 4, !tbaa !9
  %1448 = fdiv float %1447, %sqrt1687
  store float %1448, ptr %1446, align 4, !tbaa !9
  %1449 = load float, ptr %1360, align 4, !tbaa !9
  %1450 = fmul float %sqrt1687, %1449
  store float %1450, ptr %1360, align 4, !tbaa !9
  br label %1594

1451:                                             ; preds = %1419
  %1452 = fcmp ult float %1359, %1361
  %1453 = load float, ptr %21, align 4, !tbaa !9
  br i1 %1452, label %1483, label %1454

1454:                                             ; preds = %1451
  %1455 = fneg float %1453
  %1456 = extractelement <2 x float> %1366, i64 0
  %1457 = fmul float %1456, %1455
  store float %1457, ptr %19, align 4, !tbaa !9
  %1458 = mul nsw i64 %.615072002, %36
  %gep1962 = getelementptr float, ptr %invariant.gep2063, i64 %1458
  %1459 = mul nsw i64 %1357, %36
  %gep1964 = getelementptr float, ptr %invariant.gep2063, i64 %1459
  %1460 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1962, ptr noundef nonnull @c__1, ptr noundef %gep1964, ptr noundef nonnull @c__1) #7
  %1461 = fmul float %sqrt1687, %1333
  %1462 = extractelement <2 x float> %1366, i64 1
  %1463 = fmul float %1461, %1462
  store float %1463, ptr %19, align 4, !tbaa !9
  %1464 = load i64, ptr %20, align 8, !tbaa !5
  %1465 = mul nsw i64 %1464, %36
  %gep1966 = getelementptr float, ptr %invariant.gep2063, i64 %1465
  %1466 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1966, ptr noundef nonnull @c__1, ptr noundef %gep1962, ptr noundef nonnull @c__1) #7
  %1467 = load i64, ptr %20, align 8, !tbaa !5
  %1468 = getelementptr inbounds float, ptr %42, i64 %1467
  %1469 = load float, ptr %1468, align 4, !tbaa !9
  %1470 = fmul float %sqrt1687, %1469
  store float %1470, ptr %1468, align 4, !tbaa !9
  %1471 = load float, ptr %1360, align 4, !tbaa !9
  %1472 = fdiv float %1471, %sqrt1687
  store float %1472, ptr %1360, align 4, !tbaa !9
  br i1 %or.cond5, label %1473, label %1594

1473:                                             ; preds = %1454
  %1474 = load float, ptr %21, align 4, !tbaa !9
  %1475 = fneg float %1474
  %1476 = fmul float %1456, %1475
  store float %1476, ptr %19, align 4, !tbaa !9
  %1477 = mul nsw i64 %.615072002, %39
  %gep1968 = getelementptr float, ptr %invariant.gep1866, i64 %1477
  %1478 = mul nsw i64 %1467, %39
  %gep1970 = getelementptr float, ptr %invariant.gep1866, i64 %1478
  %1479 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1968, ptr noundef nonnull @c__1, ptr noundef %gep1970, ptr noundef nonnull @c__1) #7
  store float %1463, ptr %19, align 4, !tbaa !9
  %1480 = load i64, ptr %20, align 8, !tbaa !5
  %1481 = mul nsw i64 %1480, %39
  %gep1972 = getelementptr float, ptr %invariant.gep1866, i64 %1481
  %1482 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1972, ptr noundef nonnull @c__1, ptr noundef %gep1968, ptr noundef nonnull @c__1) #7
  br label %1594

1483:                                             ; preds = %1451
  %1484 = extractelement <2 x float> %1366, i64 1
  %1485 = fmul float %1484, %1453
  store float %1485, ptr %19, align 4, !tbaa !9
  %1486 = mul nsw i64 %1357, %36
  %gep1974 = getelementptr float, ptr %invariant.gep2063, i64 %1486
  %1487 = mul nsw i64 %.615072002, %36
  %gep1976 = getelementptr float, ptr %invariant.gep2063, i64 %1487
  %1488 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1974, ptr noundef nonnull @c__1, ptr noundef %gep1976, ptr noundef nonnull @c__1) #7
  %1489 = fneg float %sqrt1687
  %1490 = fmul float %1333, %1489
  %1491 = extractelement <2 x float> %1366, i64 0
  %1492 = fmul float %1490, %1491
  store float %1492, ptr %19, align 4, !tbaa !9
  %1493 = load i64, ptr %20, align 8, !tbaa !5
  %1494 = mul nsw i64 %1493, %36
  %gep1978 = getelementptr float, ptr %invariant.gep2063, i64 %1494
  %1495 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep1976, ptr noundef nonnull @c__1, ptr noundef %gep1978, ptr noundef nonnull @c__1) #7
  %1496 = load i64, ptr %20, align 8, !tbaa !5
  %1497 = getelementptr inbounds float, ptr %42, i64 %1496
  %1498 = load float, ptr %1497, align 4, !tbaa !9
  %1499 = fdiv float %1498, %sqrt1687
  store float %1499, ptr %1497, align 4, !tbaa !9
  %1500 = load float, ptr %1360, align 4, !tbaa !9
  %1501 = fmul float %sqrt1687, %1500
  store float %1501, ptr %1360, align 4, !tbaa !9
  br i1 %or.cond5, label %1502, label %1594

1502:                                             ; preds = %1483
  %1503 = load float, ptr %21, align 4, !tbaa !9
  %1504 = fmul float %1484, %1503
  store float %1504, ptr %19, align 4, !tbaa !9
  %1505 = mul nsw i64 %1496, %39
  %gep1980 = getelementptr float, ptr %invariant.gep1866, i64 %1505
  %1506 = mul nsw i64 %.615072002, %39
  %gep1982 = getelementptr float, ptr %invariant.gep1866, i64 %1506
  %1507 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1980, ptr noundef nonnull @c__1, ptr noundef %gep1982, ptr noundef nonnull @c__1) #7
  store float %1492, ptr %19, align 4, !tbaa !9
  %1508 = load i64, ptr %20, align 8, !tbaa !5
  %1509 = mul nsw i64 %1508, %39
  %gep1984 = getelementptr float, ptr %invariant.gep1866, i64 %1509
  %1510 = call i32 @f2c_saxpy(ptr noundef nonnull %25, ptr noundef nonnull %19, ptr noundef %gep1982, ptr noundef nonnull @c__1, ptr noundef %gep1984, ptr noundef nonnull @c__1) #7
  br label %1594

1511:                                             ; preds = %1236
  %1512 = load float, ptr %26, align 4, !tbaa !9
  %1513 = load float, ptr %28, align 4, !tbaa !9
  %1514 = fcmp ogt float %1512, %1513
  br i1 %1514, label %1515, label %1552

1515:                                             ; preds = %1511
  %1516 = load i64, ptr %20, align 8, !tbaa !5
  %1517 = mul nsw i64 %1516, %36
  %gep1926 = getelementptr float, ptr %invariant.gep2063, i64 %1517
  %1518 = load i64, ptr %4, align 8, !tbaa !5
  %1519 = getelementptr float, ptr %11, i64 %1518
  %1520 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1926, ptr noundef nonnull @c__1, ptr noundef %1519, ptr noundef nonnull @c__1) #7
  %1521 = load i64, ptr %4, align 8, !tbaa !5
  %1522 = getelementptr float, ptr %11, i64 %1521
  %1523 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %26, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %1522, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1524 = mul nsw i64 %.615072002, %36
  %gep1928 = getelementptr float, ptr %invariant.gep2063, i64 %1524
  %1525 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %28, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1928, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1526 = load float, ptr %27, align 4, !tbaa !9
  %1527 = fneg float %1526
  %1528 = load i64, ptr %20, align 8, !tbaa !5
  %1529 = getelementptr inbounds float, ptr %42, i64 %1528
  %1530 = load float, ptr %1529, align 4, !tbaa !9
  %1531 = fmul float %1530, %1527
  %1532 = getelementptr float, ptr %11, i64 %.615072002.in
  %1533 = load float, ptr %1532, align 4, !tbaa !9
  %1534 = fdiv float %1531, %1533
  store float %1534, ptr %30, align 4, !tbaa !9
  %1535 = load i64, ptr %4, align 8, !tbaa !5
  %1536 = getelementptr float, ptr %11, i64 %1535
  %1537 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %30, ptr noundef %1536, ptr noundef nonnull @c__1, ptr noundef %gep1928, ptr noundef nonnull @c__1) #7
  %1538 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %28, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1928, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1539 = load float, ptr %27, align 4, !tbaa !9
  %1540 = fneg float %1539
  %1541 = call float @llvm.fmuladd.f32(float %1540, float %1539, float 1.000000e+00)
  %1542 = load float, ptr %28, align 4, !tbaa !9
  %1543 = fpext float %1542 to double
  %1544 = fcmp ole float %1541, 0.000000e+00
  %1545 = select i1 %1544, float 0.000000e+00, float %1541
  %1546 = fpext float %1545 to double
  %sqrt1689 = call double @llvm.sqrt.f64(double %1546)
  %1547 = fmul double %sqrt1689, %1543
  %1548 = fptrunc double %1547 to float
  store float %1548, ptr %1116, align 4, !tbaa !9
  %1549 = load float, ptr %32, align 4
  %1550 = fcmp oge float %.1114602008, %1549
  %1551 = select i1 %1550, float %.1114602008, float %1549
  br label %1594

1552:                                             ; preds = %1511
  %1553 = mul nsw i64 %.615072002, %36
  %gep1918 = getelementptr float, ptr %invariant.gep2063, i64 %1553
  %1554 = load i64, ptr %4, align 8, !tbaa !5
  %1555 = getelementptr float, ptr %11, i64 %1554
  %1556 = call i32 @f2c_scopy(ptr noundef nonnull %3, ptr noundef %gep1918, ptr noundef nonnull @c__1, ptr noundef %1555, ptr noundef nonnull @c__1) #7
  %1557 = load i64, ptr %4, align 8, !tbaa !5
  %1558 = getelementptr float, ptr %11, i64 %1557
  %1559 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %28, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %1558, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1560 = load i64, ptr %20, align 8, !tbaa !5
  %1561 = mul nsw i64 %1560, %36
  %gep1920 = getelementptr float, ptr %invariant.gep2063, i64 %1561
  %1562 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull %26, ptr noundef nonnull @c_b18, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1920, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  %1563 = load float, ptr %27, align 4, !tbaa !9
  %1564 = fneg float %1563
  %1565 = getelementptr float, ptr %11, i64 %.615072002.in
  %1566 = load float, ptr %1565, align 4, !tbaa !9
  %1567 = fmul float %1566, %1564
  %1568 = load i64, ptr %20, align 8, !tbaa !5
  %1569 = getelementptr inbounds float, ptr %42, i64 %1568
  %1570 = load float, ptr %1569, align 4, !tbaa !9
  %1571 = fdiv float %1567, %1570
  store float %1571, ptr %30, align 4, !tbaa !9
  %1572 = load i64, ptr %4, align 8, !tbaa !5
  %1573 = getelementptr float, ptr %11, i64 %1572
  %1574 = mul nsw i64 %1568, %36
  %gep1922 = getelementptr float, ptr %invariant.gep2063, i64 %1574
  %1575 = call i32 @f2c_saxpy(ptr noundef nonnull %3, ptr noundef nonnull %30, ptr noundef %1573, ptr noundef nonnull @c__1, ptr noundef %gep1922, ptr noundef nonnull @c__1) #7
  %1576 = load i64, ptr %20, align 8, !tbaa !5
  %1577 = mul nsw i64 %1576, %36
  %gep1924 = getelementptr float, ptr %invariant.gep2063, i64 %1577
  %1578 = call i32 @slascl_(ptr noundef nonnull @.str.5, ptr noundef nonnull @c__0, ptr noundef nonnull @c__0, ptr noundef nonnull @c_b18, ptr noundef nonnull %26, ptr noundef nonnull %3, ptr noundef nonnull @c__1, ptr noundef %gep1924, ptr noundef nonnull %6, ptr noundef nonnull %29) #7
  store float 0.000000e+00, ptr %19, align 4, !tbaa !9
  %1579 = load float, ptr %27, align 4, !tbaa !9
  %1580 = fneg float %1579
  %1581 = call float @llvm.fmuladd.f32(float %1580, float %1579, float 1.000000e+00)
  %1582 = load float, ptr %26, align 4, !tbaa !9
  %1583 = fpext float %1582 to double
  %1584 = fcmp ole float %1581, 0.000000e+00
  %1585 = select i1 %1584, float 0.000000e+00, float %1581
  %1586 = fpext float %1585 to double
  %sqrt1690 = call double @llvm.sqrt.f64(double %1586)
  %1587 = fmul double %sqrt1690, %1583
  %1588 = fptrunc double %1587 to float
  %1589 = load i64, ptr %20, align 8, !tbaa !5
  %1590 = getelementptr inbounds float, ptr %35, i64 %1589
  store float %1588, ptr %1590, align 4, !tbaa !9
  %1591 = load float, ptr %32, align 4
  %1592 = fcmp oge float %.1114602008, %1591
  %1593 = select i1 %1592, float %.1114602008, float %1591
  br label %1594

1594:                                             ; preds = %1515, %1552, %1287, %1444, %1483, %1502, %1454, %1473, %1412, %1383, %1371
  %.121461 = phi float [ %1317, %1287 ], [ %1338, %1383 ], [ %1338, %1371 ], [ %1338, %1412 ], [ %1338, %1444 ], [ %1338, %1473 ], [ %1338, %1454 ], [ %1338, %1502 ], [ %1338, %1483 ], [ %1551, %1515 ], [ %1593, %1552 ]
  %1595 = load float, ptr %1116, align 4, !tbaa !9
  %1596 = load float, ptr %28, align 4, !tbaa !9
  %1597 = fdiv float %1595, %1596
  store float %1597, ptr %19, align 4, !tbaa !9
  %1598 = fmul float %1597, %1597
  %1599 = fcmp ugt float %1598, %sqrtf1581
  br i1 %1599, label %1620, label %1600

1600:                                             ; preds = %1594
  %1601 = fcmp olt float %1596, %114
  %1602 = fcmp ogt float %1596, %sqrtf1582
  %or.cond1664 = and i1 %1601, %1602
  br i1 %or.cond1664, label %1603, label %1606

1603:                                             ; preds = %1600
  %1604 = mul nsw i64 %.615072002, %36
  %gep1996 = getelementptr float, ptr %invariant.gep2063, i64 %1604
  %1605 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep1996, ptr noundef nonnull @c__1) #7
  br label %.sink.split2202

1606:                                             ; preds = %1600
  store float 0.000000e+00, ptr %21, align 4, !tbaa !9
  store float 0.000000e+00, ptr %28, align 4, !tbaa !9
  %1607 = mul nsw i64 %.615072002, %36
  %gep1994 = getelementptr float, ptr %invariant.gep2063, i64 %1607
  %1608 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep1994, ptr noundef nonnull @c__1, ptr noundef nonnull %21, ptr noundef nonnull %28) #7
  %1609 = load float, ptr %21, align 4, !tbaa !9
  %1610 = fpext float %1609 to double
  %1611 = load float, ptr %28, align 4, !tbaa !9
  %1612 = fpext float %1611 to double
  %1613 = call double @sqrt(double noundef %1612) #7
  %1614 = fmul double %1613, %1610
  br label %.sink.split2202

.sink.split2202:                                  ; preds = %1606, %1603
  %.sink2205 = phi double [ %1605, %1603 ], [ %1614, %1606 ]
  %1615 = getelementptr float, ptr %11, i64 %.615072002.in
  %1616 = load float, ptr %1615, align 4, !tbaa !9
  %1617 = fpext float %1616 to double
  %1618 = fmul double %.sink2205, %1617
  %1619 = fptrunc double %1618 to float
  store float %1619, ptr %1116, align 4, !tbaa !9
  br label %1620

1620:                                             ; preds = %.sink.split2202, %1594
  %1621 = load float, ptr %26, align 4, !tbaa !9
  %1622 = fdiv float %1621, %1120
  store float %1622, ptr %19, align 4, !tbaa !9
  %1623 = fmul float %1622, %1622
  %1624 = fcmp ugt float %1623, %sqrtf1581
  br i1 %1624, label %1656, label %1625

1625:                                             ; preds = %1620
  %1626 = fcmp olt float %1621, %114
  %1627 = fcmp ogt float %1621, %sqrtf1582
  %or.cond1665 = and i1 %1626, %1627
  br i1 %or.cond1665, label %1628, label %1632

1628:                                             ; preds = %1625
  %1629 = load i64, ptr %20, align 8, !tbaa !5
  %1630 = mul nsw i64 %1629, %36
  %gep2000 = getelementptr float, ptr %invariant.gep2063, i64 %1630
  %1631 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep2000, ptr noundef nonnull @c__1) #7
  br label %1642

1632:                                             ; preds = %1625
  store float 0.000000e+00, ptr %21, align 4, !tbaa !9
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  %1633 = load i64, ptr %20, align 8, !tbaa !5
  %1634 = mul nsw i64 %1633, %36
  %gep1998 = getelementptr float, ptr %invariant.gep2063, i64 %1634
  %1635 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep1998, ptr noundef nonnull @c__1, ptr noundef nonnull %21, ptr noundef nonnull %26) #7
  %1636 = load float, ptr %21, align 4, !tbaa !9
  %1637 = fpext float %1636 to double
  %1638 = load float, ptr %26, align 4, !tbaa !9
  %1639 = fpext float %1638 to double
  %1640 = call double @sqrt(double noundef %1639) #7
  %1641 = fmul double %1640, %1637
  br label %1642

1642:                                             ; preds = %1632, %1628
  %.sink2209 = phi double [ %1641, %1632 ], [ %1631, %1628 ]
  %.sink2213 = load i64, ptr %20, align 8, !tbaa !5
  %1643 = getelementptr inbounds float, ptr %42, i64 %.sink2213
  %1644 = load float, ptr %1643, align 4, !tbaa !9
  %1645 = fpext float %1644 to double
  %1646 = fmul double %.sink2209, %1645
  %storemerge1630 = fptrunc double %1646 to float
  store float %storemerge1630, ptr %26, align 4, !tbaa !9
  %1647 = getelementptr inbounds float, ptr %35, i64 %.sink2213
  store float %storemerge1630, ptr %1647, align 4, !tbaa !9
  br label %1656

1648:                                             ; preds = %1227
  %1649 = add nsw i64 %.1214462009, 1
  %1650 = add nsw i64 %.314982005, 1
  %1651 = add nsw i64 %.114872006, 1
  br label %1656

1652:                                             ; preds = %.lr.ph2012
  %1653 = add nsw i64 %.1214462009, 1
  %1654 = add nsw i64 %.314982005, 1
  %1655 = add nsw i64 %.114872006, 1
  br label %1656

1656:                                             ; preds = %1648, %1642, %1620, %1652
  %.41499 = phi i64 [ 0, %1642 ], [ 0, %1620 ], [ %1650, %1648 ], [ %1654, %1652 ]
  %.21488 = phi i64 [ %.114872006, %1642 ], [ %.114872006, %1620 ], [ %1651, %1648 ], [ %1655, %1652 ]
  %.111479 = phi float [ %1233, %1642 ], [ %1233, %1620 ], [ %1233, %1648 ], [ %.1014782007, %1652 ]
  %.131462 = phi float [ %.121461, %1642 ], [ %.121461, %1620 ], [ %.1114602008, %1648 ], [ %.1114602008, %1652 ]
  %.131447 = phi i64 [ 0, %1642 ], [ 0, %1620 ], [ %1649, %1648 ], [ %1653, %1652 ]
  %.11 = phi i64 [ %1237, %1642 ], [ %1237, %1620 ], [ %.102010, %1648 ], [ %.102010, %1652 ]
  %.not1632 = icmp slt i64 %.21488, %389
  %or.cond1666 = select i1 %.not1631, i1 true, i1 %.not1632
  br i1 %or.cond1666, label %1661, label %1657

1657:                                             ; preds = %1656
  %1658 = load float, ptr %26, align 4, !tbaa !9
  %1659 = load i64, ptr %20, align 8, !tbaa !5
  %1660 = getelementptr inbounds float, ptr %35, i64 %1659
  store float %1658, ptr %1660, align 4, !tbaa !9
  br label %.loopexit1696

1661:                                             ; preds = %1656
  %1662 = icmp sle i64 %.41499, %390
  %or.cond1667.not = select i1 %.not1631, i1 true, i1 %1662
  br i1 %or.cond1667.not, label %1114, label %1663

1663:                                             ; preds = %1661
  %1664 = load float, ptr %26, align 4, !tbaa !9
  %1665 = fneg float %1664
  store float %1665, ptr %26, align 4, !tbaa !9
  br label %.loopexit1693

.loopexit1693.loopexit:                           ; preds = %1114
  %.pre2145 = load float, ptr %26, align 4, !tbaa !9
  br label %.loopexit1693

.loopexit1693:                                    ; preds = %.loopexit1693.loopexit, %1112, %1663
  %1666 = phi float [ %1665, %1663 ], [ %1110, %1112 ], [ %.pre2145, %.loopexit1693.loopexit ]
  %.31489 = phi i64 [ %.21488, %1663 ], [ %.014862020, %1112 ], [ %.21488, %.loopexit1693.loopexit ]
  %.121480 = phi float [ %.111479, %1663 ], [ %.914772021, %1112 ], [ %.111479, %.loopexit1693.loopexit ]
  %.141463 = phi float [ %.131462, %1663 ], [ %.1014592022, %1112 ], [ %.131462, %.loopexit1693.loopexit ]
  %.141448 = phi i64 [ 0, %1663 ], [ %.1114452023, %1112 ], [ %.131447, %.loopexit1693.loopexit ]
  %.12 = phi i64 [ %.11, %1663 ], [ %.92024, %1112 ], [ %.11, %.loopexit1693.loopexit ]
  %1667 = load i64, ptr %20, align 8, !tbaa !5
  %1668 = getelementptr inbounds float, ptr %35, i64 %1667
  store float %1666, ptr %1668, align 4, !tbaa !9
  %.pre2146 = load i64, ptr %17, align 8, !tbaa !5
  br label %1678

1669:                                             ; preds = %1107
  %1670 = fcmp oeq float %1110, 0.000000e+00
  br i1 %1670, label %1671, label %1675

1671:                                             ; preds = %1669
  store i64 %1106, ptr %18, align 8, !tbaa !5
  %1672 = load i64, ptr %4, align 8, !tbaa !5
  %.1668 = call i64 @llvm.smin.i64(i64 %1106, i64 %1672)
  %1673 = sub i64 %.1114452023, %1104
  %1674 = add i64 %1673, %.1668
  br label %1675

1675:                                             ; preds = %1671, %1669
  %.15 = phi i64 [ %1674, %1671 ], [ %.1114452023, %1669 ]
  %1676 = fcmp olt float %1110, 0.000000e+00
  br i1 %1676, label %1677, label %1678

1677:                                             ; preds = %1675
  br label %1678

1678:                                             ; preds = %.loopexit1693, %1677, %1675
  %1679 = phi i64 [ %.pre2146, %.loopexit1693 ], [ %1108, %1677 ], [ %1108, %1675 ]
  %1680 = phi i64 [ %1667, %.loopexit1693 ], [ %storemerge16242019, %1677 ], [ %storemerge16242019, %1675 ]
  %.41490 = phi i64 [ %.31489, %.loopexit1693 ], [ %.014862020, %1677 ], [ %.014862020, %1675 ]
  %.131481 = phi float [ %.121480, %.loopexit1693 ], [ %.914772021, %1677 ], [ %.914772021, %1675 ]
  %.151464 = phi float [ %.141463, %.loopexit1693 ], [ %.1014592022, %1677 ], [ %.1014592022, %1675 ]
  %.16 = phi i64 [ %.141448, %.loopexit1693 ], [ 0, %1677 ], [ %.15, %1675 ]
  %.13 = phi i64 [ %.12, %.loopexit1693 ], [ %.92024, %1677 ], [ %.92024, %1675 ]
  %1681 = add nsw i64 %1680, 1
  store i64 %1681, ptr %20, align 8, !tbaa !5
  %.not1625.not = icmp slt i64 %1680, %1679
  br i1 %.not1625.not, label %1107, label %._crit_edge2027.loopexit, !llvm.loop !32

._crit_edge2027.loopexit:                         ; preds = %1678
  %.pre2147 = load i64, ptr %16, align 8, !tbaa !5
  br label %._crit_edge2027

._crit_edge2027:                                  ; preds = %._crit_edge2027.loopexit, %.lr.ph2039
  %1682 = phi i64 [ %1102, %.lr.ph2039 ], [ %.pre2147, %._crit_edge2027.loopexit ]
  %.91477.lcssa = phi float [ %.814762034, %.lr.ph2039 ], [ %.131481, %._crit_edge2027.loopexit ]
  %.101459.lcssa = phi float [ %.914582035, %.lr.ph2039 ], [ %.151464, %._crit_edge2027.loopexit ]
  %.111445.lcssa = phi i64 [ %.1014442036, %.lr.ph2039 ], [ %.16, %._crit_edge2027.loopexit ]
  %.9.lcssa = phi i64 [ %.82037, %.lr.ph2039 ], [ %.13, %._crit_edge2027.loopexit ]
  %1683 = add nuw nsw i64 %.015102033, 1
  %.not1622.not = icmp slt i64 %.015102033, %1682
  br i1 %.not1622.not, label %.lr.ph2039, label %.loopexit1696, !llvm.loop !33

.loopexit1696:                                    ; preds = %._crit_edge2027, %._crit_edge1896, %1657
  %.141482 = phi float [ %.111479, %1657 ], [ %.21470.lcssa, %._crit_edge1896 ], [ %.91477.lcssa, %._crit_edge2027 ]
  %.161465 = phi float [ %.131462, %1657 ], [ %.21451.lcssa, %._crit_edge1896 ], [ %.101459.lcssa, %._crit_edge2027 ]
  %.17 = phi i64 [ 0, %1657 ], [ %.11435.lcssa, %._crit_edge1896 ], [ %.111445.lcssa, %._crit_edge2027 ]
  %.14 = phi i64 [ %.11, %1657 ], [ %.11428.lcssa, %._crit_edge1896 ], [ %.9.lcssa, %._crit_edge2027 ]
  store i64 %1101, ptr %17, align 8, !tbaa !5
  %1684 = load i64, ptr %4, align 8, !tbaa !5
  %.1669 = call i64 @llvm.smin.i64(i64 %1101, i64 %1684)
  store i64 %.1669, ptr %16, align 8, !tbaa !5
  %.not16352044.not = icmp slt i64 %543, %.1669
  br i1 %.not16352044.not, label %.lr.ph2047.preheader, label %.loopexit1695

.lr.ph2047.preheader:                             ; preds = %.loopexit1696
  %1685 = sub i64 %.1669, %541
  %min.iters.check2296 = icmp ult i64 %1685, 8
  br i1 %min.iters.check2296, label %.lr.ph2047.preheader2328, label %vector.ph2297

vector.ph2297:                                    ; preds = %.lr.ph2047.preheader
  %n.vec2299 = and i64 %1685, -8
  %ind.end2300 = add i64 %544, %n.vec2299
  %1686 = getelementptr float, ptr %7, i64 %543
  br label %vector.body2302

vector.body2302:                                  ; preds = %vector.body2302, %vector.ph2297
  %index2303 = phi i64 [ 0, %vector.ph2297 ], [ %index.next2307, %vector.body2302 ]
  %1687 = getelementptr float, ptr %1686, i64 %index2303
  %1688 = getelementptr inbounds i8, ptr %1687, i64 16
  %wide.load2305 = load <4 x float>, ptr %1687, align 4, !tbaa !9
  %wide.load2306 = load <4 x float>, ptr %1688, align 4, !tbaa !9
  %1689 = fcmp oge <4 x float> %wide.load2305, zeroinitializer
  %1690 = fcmp oge <4 x float> %wide.load2306, zeroinitializer
  %1691 = fneg <4 x float> %wide.load2305
  %1692 = fneg <4 x float> %wide.load2306
  %1693 = select <4 x i1> %1689, <4 x float> %wide.load2305, <4 x float> %1691
  %1694 = select <4 x i1> %1690, <4 x float> %wide.load2306, <4 x float> %1692
  store <4 x float> %1693, ptr %1687, align 4, !tbaa !9
  store <4 x float> %1694, ptr %1688, align 4, !tbaa !9
  %index.next2307 = add nuw i64 %index2303, 8
  %1695 = icmp eq i64 %index.next2307, %n.vec2299
  br i1 %1695, label %middle.block2294, label %vector.body2302, !llvm.loop !34

middle.block2294:                                 ; preds = %vector.body2302
  %1696 = extractelement <4 x float> %wide.load2306, i64 3
  %cmp.n2308 = icmp eq i64 %1685, %n.vec2299
  br i1 %cmp.n2308, label %..loopexit1695_crit_edge, label %.lr.ph2047.preheader2328

.lr.ph2047.preheader2328:                         ; preds = %middle.block2294, %.lr.ph2047.preheader
  %storemerge16342045.ph = phi i64 [ %544, %.lr.ph2047.preheader ], [ %ind.end2300, %middle.block2294 ]
  br label %.lr.ph2047

.lr.ph2047:                                       ; preds = %.lr.ph2047.preheader2328, %.lr.ph2047
  %storemerge16342045 = phi i64 [ %1702, %.lr.ph2047 ], [ %storemerge16342045.ph, %.lr.ph2047.preheader2328 ]
  %1697 = getelementptr inbounds float, ptr %35, i64 %storemerge16342045
  %1698 = load float, ptr %1697, align 4, !tbaa !9
  %1699 = fcmp oge float %1698, 0.000000e+00
  %1700 = fneg float %1698
  %1701 = select i1 %1699, float %1698, float %1700
  store float %1701, ptr %1697, align 4, !tbaa !9
  %1702 = add nsw i64 %storemerge16342045, 1
  %.not1635.not = icmp slt i64 %storemerge16342045, %.1669
  br i1 %.not1635.not, label %.lr.ph2047, label %..loopexit1695_crit_edge, !llvm.loop !35

._crit_edge2058:                                  ; preds = %.loopexit1695, %.._crit_edge2058_crit_edge
  %1703 = phi i64 [ %.pre2148, %.._crit_edge2058_crit_edge ], [ %1684, %.loopexit1695 ]
  %.11469.lcssa = phi float [ 0.000000e+00, %.._crit_edge2058_crit_edge ], [ %.141482, %.loopexit1695 ]
  %.11450.lcssa = phi float [ 0.000000e+00, %.._crit_edge2058_crit_edge ], [ %.161465, %.loopexit1695 ]
  %.01434.lcssa = phi i64 [ 0, %.._crit_edge2058_crit_edge ], [ %.17, %.loopexit1695 ]
  %.01427.lcssa = phi i64 [ 0, %.._crit_edge2058_crit_edge ], [ %.14, %.loopexit1695 ]
  %1704 = getelementptr inbounds float, ptr %35, i64 %1703
  %1705 = load float, ptr %1704, align 4, !tbaa !9
  %1706 = fcmp olt float %1705, %114
  %1707 = fcmp ogt float %1705, %sqrtf1582
  %or.cond1670 = and i1 %1706, %1707
  br i1 %or.cond1670, label %1708, label %1711

1708:                                             ; preds = %._crit_edge2058
  %1709 = mul nsw i64 %1703, %36
  %gep2066 = getelementptr float, ptr %invariant.gep2063, i64 %1709
  %1710 = call double @f2c_snrm2(ptr noundef nonnull %3, ptr noundef %gep2066, ptr noundef nonnull @c__1) #7
  br label %1720

1711:                                             ; preds = %._crit_edge2058
  store float 0.000000e+00, ptr %21, align 4, !tbaa !9
  store float 0.000000e+00, ptr %26, align 4, !tbaa !9
  %1712 = mul nsw i64 %1703, %36
  %gep2064 = getelementptr float, ptr %invariant.gep2063, i64 %1712
  %1713 = call i32 @slassq_(ptr noundef nonnull %3, ptr noundef %gep2064, ptr noundef nonnull @c__1, ptr noundef nonnull %21, ptr noundef nonnull %26) #7
  %1714 = load float, ptr %21, align 4, !tbaa !9
  %1715 = fpext float %1714 to double
  %1716 = load float, ptr %26, align 4, !tbaa !9
  %1717 = fpext float %1716 to double
  %1718 = call double @sqrt(double noundef %1717) #7
  %1719 = fmul double %1718, %1715
  br label %1720

1720:                                             ; preds = %1711, %1708
  %.sink2218 = phi double [ %1719, %1711 ], [ %1710, %1708 ]
  %1721 = load i64, ptr %4, align 8, !tbaa !5
  %1722 = getelementptr inbounds float, ptr %42, i64 %1721
  %1723 = load float, ptr %1722, align 4, !tbaa !9
  %1724 = fpext float %1723 to double
  %1725 = fmul double %.sink2218, %1724
  %1726 = fptrunc double %1725 to float
  %1727 = getelementptr inbounds float, ptr %35, i64 %1721
  store float %1726, ptr %1727, align 4, !tbaa !9
  %1728 = icmp slt i64 %.015002067, %.014842068
  %1729 = fcmp ugt float %.11469.lcssa, %sqrtf1584
  %.not1607 = icmp sgt i64 %.01427.lcssa, %1721
  %or.cond2223 = select i1 %1729, i1 %.not1607, i1 false
  %spec.select2224 = select i1 %or.cond2223, i64 %.014842068, i64 %.015002067
  %.11485 = select i1 %1728, i64 %spec.select2224, i64 %.014842068
  %1730 = add nsw i64 %.11485, 1
  %1731 = icmp sgt i64 %.015002067, %1730
  br i1 %1731, label %1732, label %1747

1732:                                             ; preds = %1720
  %1733 = fpext float %.11469.lcssa to double
  %1734 = sitofp i64 %1721 to float
  %1735 = fpext float %1734 to double
  %1736 = call double @sqrt(double noundef %1735) #7
  %1737 = load float, ptr %24, align 4, !tbaa !9
  %1738 = fpext float %1737 to double
  %1739 = fmul double %1736, %1738
  %1740 = fcmp ogt double %1739, %1733
  br i1 %1740, label %1741, label %1747

1741:                                             ; preds = %1732
  %1742 = load i64, ptr %4, align 8, !tbaa !5
  %1743 = sitofp i64 %1742 to float
  %1744 = fmul float %.11469.lcssa, %1743
  %1745 = fmul float %.11450.lcssa, %1744
  %1746 = fcmp uge float %1745, %1737
  %.not1608 = icmp slt i64 %.01434.lcssa, %380
  %or.cond1671 = select i1 %1746, i1 %.not1608, i1 false
  br i1 %or.cond1671, label %1748, label %1750

1747:                                             ; preds = %1732, %1720
  %.not1608.old = icmp slt i64 %.01434.lcssa, %380
  br i1 %.not1608.old, label %1748, label %1750

1748:                                             ; preds = %1741, %1747
  %1749 = add nuw nsw i64 %.015002067, 1
  %exitcond2136.not = icmp eq i64 %1749, 31
  br i1 %exitcond2136.not, label %1750, label %538, !llvm.loop !36

1750:                                             ; preds = %1741, %1747, %1748
  %.01500.lcssa = phi i64 [ %.015002067, %1741 ], [ %.015002067, %1747 ], [ 31, %1748 ]
  %storemerge1605 = phi i64 [ 0, %1741 ], [ 0, %1747 ], [ 29, %1748 ]
  store i64 %storemerge1605, ptr %13, align 8, !tbaa !5
  store i64 0, ptr %22, align 8, !tbaa !5
  store i64 0, ptr %23, align 8, !tbaa !5
  %1751 = load i64, ptr %4, align 8, !tbaa !5
  %1752 = add nsw i64 %1751, -1
  store i64 %1752, ptr %15, align 8, !tbaa !5
  store i64 1, ptr %20, align 8, !tbaa !5
  %.not16102077 = icmp slt i64 %1751, 2
  br i1 %.not16102077, label %._crit_edge2081, label %.lr.ph2080

.lr.ph2080:                                       ; preds = %1750, %1791
  %storemerge16092078 = phi i64 [ %1792, %1791 ], [ 1, %1750 ]
  %1753 = load i64, ptr %4, align 8, !tbaa !5
  %reass.sub2109 = sub i64 %1753, %storemerge16092078
  %1754 = add i64 %reass.sub2109, 1
  store i64 %1754, ptr %16, align 8, !tbaa !5
  %1755 = getelementptr inbounds float, ptr %35, i64 %storemerge16092078
  %1756 = call i64 @f2c_isamax(ptr noundef nonnull %16, ptr noundef nonnull %1755, ptr noundef nonnull @c__1) #7
  %1757 = load i64, ptr %20, align 8, !tbaa !5
  %1758 = add i64 %1756, -1
  %1759 = add i64 %1758, %1757
  %.not1620 = icmp eq i64 %1758, 0
  br i1 %.not1620, label %1776, label %1760

1760:                                             ; preds = %.lr.ph2080
  %1761 = getelementptr inbounds float, ptr %35, i64 %1757
  %1762 = load float, ptr %1761, align 4, !tbaa !9
  %1763 = getelementptr inbounds float, ptr %35, i64 %1759
  %1764 = load float, ptr %1763, align 4, !tbaa !9
  store float %1764, ptr %1761, align 4, !tbaa !9
  store float %1762, ptr %1763, align 4, !tbaa !9
  %1765 = getelementptr inbounds float, ptr %42, i64 %1757
  %1766 = load float, ptr %1765, align 4, !tbaa !9
  store float %1766, ptr %30, align 4, !tbaa !9
  %1767 = getelementptr inbounds float, ptr %42, i64 %1759
  %1768 = load float, ptr %1767, align 4, !tbaa !9
  store float %1768, ptr %1765, align 4, !tbaa !9
  store float %1766, ptr %1767, align 4, !tbaa !9
  %1769 = mul nsw i64 %1757, %36
  %gep2070 = getelementptr float, ptr %invariant.gep2063, i64 %1769
  %1770 = mul nsw i64 %1759, %36
  %gep2072 = getelementptr float, ptr %invariant.gep2063, i64 %1770
  %1771 = call i32 @f2c_sswap(ptr noundef nonnull %3, ptr noundef %gep2070, ptr noundef nonnull @c__1, ptr noundef %gep2072, ptr noundef nonnull @c__1) #7
  %.pre2150 = load i64, ptr %20, align 8, !tbaa !5
  br i1 %or.cond5, label %1772, label %1776

1772:                                             ; preds = %1760
  %1773 = mul nsw i64 %.pre2150, %39
  %gep2074 = getelementptr float, ptr %invariant.gep1866, i64 %1773
  %1774 = mul nsw i64 %1759, %39
  %gep2076 = getelementptr float, ptr %invariant.gep1866, i64 %1774
  %1775 = call i32 @f2c_sswap(ptr noundef nonnull %25, ptr noundef %gep2074, ptr noundef nonnull @c__1, ptr noundef %gep2076, ptr noundef nonnull @c__1) #7
  %.pre2149 = load i64, ptr %20, align 8, !tbaa !5
  br label %1776

1776:                                             ; preds = %1760, %1772, %.lr.ph2080
  %1777 = phi i64 [ %.pre2150, %1760 ], [ %.pre2149, %1772 ], [ %1757, %.lr.ph2080 ]
  %1778 = getelementptr inbounds float, ptr %35, i64 %1777
  %1779 = load float, ptr %1778, align 4, !tbaa !9
  %1780 = fcmp une float %1779, 0.000000e+00
  br i1 %1780, label %1781, label %1791

1781:                                             ; preds = %1776
  %1782 = load i64, ptr %23, align 8, !tbaa !5
  %1783 = add nsw i64 %1782, 1
  store i64 %1783, ptr %23, align 8, !tbaa !5
  %1784 = load float, ptr %31, align 4, !tbaa !9
  %1785 = fmul float %1779, %1784
  %1786 = load float, ptr %32, align 4, !tbaa !9
  %1787 = fcmp ogt float %1785, %1786
  br i1 %1787, label %1788, label %1791

1788:                                             ; preds = %1781
  %1789 = load i64, ptr %22, align 8, !tbaa !5
  %1790 = add nsw i64 %1789, 1
  store i64 %1790, ptr %22, align 8, !tbaa !5
  br label %1791

1791:                                             ; preds = %1776, %1788, %1781
  %1792 = add nsw i64 %1777, 1
  store i64 %1792, ptr %20, align 8, !tbaa !5
  %1793 = load i64, ptr %15, align 8, !tbaa !5
  %.not1610.not = icmp slt i64 %1777, %1793
  br i1 %.not1610.not, label %.lr.ph2080, label %._crit_edge2081.loopexit, !llvm.loop !37

._crit_edge2081.loopexit:                         ; preds = %1791
  %.pre2151 = load i64, ptr %4, align 8, !tbaa !5
  br label %._crit_edge2081

._crit_edge2081:                                  ; preds = %._crit_edge2081.loopexit, %1750
  %1794 = phi i64 [ %.pre2151, %._crit_edge2081.loopexit ], [ %1751, %1750 ]
  %1795 = getelementptr inbounds float, ptr %35, i64 %1794
  %1796 = load float, ptr %1795, align 4, !tbaa !9
  %1797 = fcmp une float %1796, 0.000000e+00
  br i1 %1797, label %1798, label %1808

1798:                                             ; preds = %._crit_edge2081
  %1799 = load i64, ptr %23, align 8, !tbaa !5
  %1800 = add nsw i64 %1799, 1
  store i64 %1800, ptr %23, align 8, !tbaa !5
  %1801 = load float, ptr %31, align 4, !tbaa !9
  %1802 = fmul float %1796, %1801
  %1803 = load float, ptr %32, align 4, !tbaa !9
  %1804 = fcmp ogt float %1802, %1803
  br i1 %1804, label %1805, label %1808

1805:                                             ; preds = %1798
  %1806 = load i64, ptr %22, align 8, !tbaa !5
  %1807 = add nsw i64 %1806, 1
  store i64 %1807, ptr %22, align 8, !tbaa !5
  br label %1808

1808:                                             ; preds = %1798, %1805, %._crit_edge2081
  %1809 = or i64 %44, %43
  %or.cond21.not = icmp eq i64 %1809, 0
  br i1 %or.cond21.not, label %.loopexit1692, label %1810

1810:                                             ; preds = %1808
  %1811 = load i64, ptr %22, align 8, !tbaa !5
  store i64 %1811, ptr %15, align 8, !tbaa !5
  store i64 1, ptr %20, align 8, !tbaa !5
  %.not16132084 = icmp slt i64 %1811, 1
  br i1 %.not16132084, label %.loopexit1692, label %.lr.ph2087

.lr.ph2087:                                       ; preds = %1810, %.lr.ph2087
  %storemerge16122085 = phi i64 [ %1820, %.lr.ph2087 ], [ 1, %1810 ]
  %1812 = getelementptr inbounds float, ptr %42, i64 %storemerge16122085
  %1813 = load float, ptr %1812, align 4, !tbaa !9
  %1814 = getelementptr inbounds float, ptr %35, i64 %storemerge16122085
  %1815 = load float, ptr %1814, align 4, !tbaa !9
  %1816 = fdiv float %1813, %1815
  store float %1816, ptr %19, align 4, !tbaa !9
  %1817 = mul nsw i64 %storemerge16122085, %36
  %gep2083 = getelementptr float, ptr %invariant.gep2063, i64 %1817
  %1818 = call i32 @f2c_sscal(ptr noundef nonnull %3, ptr noundef nonnull %19, ptr noundef %gep2083, ptr noundef nonnull @c__1) #7
  %1819 = load i64, ptr %20, align 8, !tbaa !5
  %1820 = add nsw i64 %1819, 1
  store i64 %1820, ptr %20, align 8, !tbaa !5
  %1821 = load i64, ptr %15, align 8, !tbaa !5
  %.not1613.not = icmp slt i64 %1819, %1821
  br i1 %.not1613.not, label %.lr.ph2087, label %.loopexit1692, !llvm.loop !38

.loopexit1692:                                    ; preds = %.lr.ph2087, %1810, %1808
  br i1 %or.cond5, label %1822, label %.loopexit

1822:                                             ; preds = %.loopexit1692
  %1823 = load i64, ptr %4, align 8, !tbaa !5
  store i64 %1823, ptr %15, align 8, !tbaa !5
  store i64 1, ptr %20, align 8, !tbaa !5
  %.not16172098 = icmp slt i64 %1823, 1
  br i1 %60, label %1824, label %1831

1824:                                             ; preds = %1822
  br i1 %.not16172098, label %.loopexit, label %.lr.ph2101

.lr.ph2101:                                       ; preds = %1824, %.lr.ph2101
  %storemerge16162099 = phi i64 [ %1829, %.lr.ph2101 ], [ 1, %1824 ]
  %1825 = getelementptr inbounds float, ptr %42, i64 %storemerge16162099
  %1826 = mul nsw i64 %storemerge16162099, %39
  %gep2097 = getelementptr float, ptr %invariant.gep1866, i64 %1826
  %1827 = call i32 @f2c_sscal(ptr noundef nonnull %25, ptr noundef nonnull %1825, ptr noundef %gep2097, ptr noundef nonnull @c__1) #7
  %1828 = load i64, ptr %20, align 8, !tbaa !5
  %1829 = add nsw i64 %1828, 1
  store i64 %1829, ptr %20, align 8, !tbaa !5
  %1830 = load i64, ptr %15, align 8, !tbaa !5
  %.not1617.not = icmp slt i64 %1828, %1830
  br i1 %.not1617.not, label %.lr.ph2101, label %.loopexit, !llvm.loop !39

1831:                                             ; preds = %1822
  br i1 %.not16172098, label %.loopexit, label %.lr.ph2095

.lr.ph2095:                                       ; preds = %1831, %.lr.ph2095
  %storemerge16142093 = phi i64 [ %1840, %.lr.ph2095 ], [ 1, %1831 ]
  %1832 = mul nsw i64 %storemerge16142093, %39
  %gep2089 = getelementptr float, ptr %invariant.gep1866, i64 %1832
  %1833 = call double @f2c_snrm2(ptr noundef nonnull %25, ptr noundef %gep2089, ptr noundef nonnull @c__1) #7
  %1834 = fdiv double 1.000000e+00, %1833
  %1835 = fptrunc double %1834 to float
  store float %1835, ptr %30, align 4, !tbaa !9
  %1836 = load i64, ptr %20, align 8, !tbaa !5
  %1837 = mul nsw i64 %1836, %39
  %gep2091 = getelementptr float, ptr %invariant.gep1866, i64 %1837
  %1838 = call i32 @f2c_sscal(ptr noundef nonnull %25, ptr noundef nonnull %30, ptr noundef %gep2091, ptr noundef nonnull @c__1) #7
  %1839 = load i64, ptr %20, align 8, !tbaa !5
  %1840 = add nsw i64 %1839, 1
  store i64 %1840, ptr %20, align 8, !tbaa !5
  %1841 = load i64, ptr %15, align 8, !tbaa !5
  %.not1615.not = icmp slt i64 %1839, %1841
  br i1 %.not1615.not, label %.lr.ph2095, label %.loopexit, !llvm.loop !40

.loopexit:                                        ; preds = %.lr.ph2095, %.lr.ph2101, %1831, %1824, %.loopexit1692
  %1842 = load float, ptr %31, align 4, !tbaa !9
  %1843 = fcmp ogt float %1842, 1.000000e+00
  br i1 %1843, label %1844, label %1848

1844:                                             ; preds = %.loopexit
  %1845 = load float, ptr %7, align 4, !tbaa !9
  %1846 = fdiv float %113, %1842
  %1847 = fcmp olt float %1845, %1846
  br i1 %1847, label %1856, label %1848

1848:                                             ; preds = %1844, %.loopexit
  %1849 = fcmp olt float %1842, 1.000000e+00
  %.pre2153 = load i64, ptr %22, align 8, !tbaa !5
  br i1 %1849, label %1850, label %1867

1850:                                             ; preds = %1848
  %1851 = getelementptr inbounds float, ptr %35, i64 %.pre2153
  %1852 = load float, ptr %1851, align 4, !tbaa !9
  %1853 = load float, ptr %32, align 4, !tbaa !9
  %1854 = fdiv float %1853, %1842
  %1855 = fcmp ogt float %1852, %1854
  br i1 %1855, label %1856, label %1867

1856:                                             ; preds = %1850, %1844
  %1857 = load i64, ptr %4, align 8, !tbaa !5
  %.not16192102 = icmp slt i64 %1857, 1
  br i1 %.not16192102, label %._crit_edge2106, label %.lr.ph2105.preheader

.lr.ph2105.preheader:                             ; preds = %1856
  %min.iters.check2311 = icmp ult i64 %1857, 8
  br i1 %min.iters.check2311, label %.lr.ph2105.preheader2326, label %vector.ph2312

vector.ph2312:                                    ; preds = %.lr.ph2105.preheader
  %n.vec2314 = and i64 %1857, 9223372036854775800
  %ind.end2315 = or disjoint i64 %n.vec2314, 1
  %broadcast.splatinsert2322 = insertelement <4 x float> poison, float %1842, i64 0
  %broadcast.splat2323 = shufflevector <4 x float> %broadcast.splatinsert2322, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body2317

vector.body2317:                                  ; preds = %vector.body2317, %vector.ph2312
  %index2318 = phi i64 [ 0, %vector.ph2312 ], [ %index.next2324, %vector.body2317 ]
  %1858 = getelementptr float, ptr %7, i64 %index2318
  %1859 = getelementptr inbounds i8, ptr %1858, i64 16
  %wide.load2320 = load <4 x float>, ptr %1858, align 4, !tbaa !9
  %wide.load2321 = load <4 x float>, ptr %1859, align 4, !tbaa !9
  %1860 = fmul <4 x float> %broadcast.splat2323, %wide.load2320
  %1861 = fmul <4 x float> %broadcast.splat2323, %wide.load2321
  store <4 x float> %1860, ptr %1858, align 4, !tbaa !9
  store <4 x float> %1861, ptr %1859, align 4, !tbaa !9
  %index.next2324 = add nuw i64 %index2318, 8
  %1862 = icmp eq i64 %index.next2324, %n.vec2314
  br i1 %1862, label %middle.block2309, label %vector.body2317, !llvm.loop !41

middle.block2309:                                 ; preds = %vector.body2317
  %cmp.n2325 = icmp eq i64 %1857, %n.vec2314
  br i1 %cmp.n2325, label %._crit_edge2106, label %.lr.ph2105.preheader2326

.lr.ph2105.preheader2326:                         ; preds = %middle.block2309, %.lr.ph2105.preheader
  %storemerge16182103.ph = phi i64 [ 1, %.lr.ph2105.preheader ], [ %ind.end2315, %middle.block2309 ]
  br label %.lr.ph2105

.lr.ph2105:                                       ; preds = %.lr.ph2105.preheader2326, %.lr.ph2105
  %storemerge16182103 = phi i64 [ %1866, %.lr.ph2105 ], [ %storemerge16182103.ph, %.lr.ph2105.preheader2326 ]
  %1863 = getelementptr inbounds float, ptr %35, i64 %storemerge16182103
  %1864 = load float, ptr %1863, align 4, !tbaa !9
  %1865 = fmul float %1842, %1864
  store float %1865, ptr %1863, align 4, !tbaa !9
  %1866 = add nuw i64 %storemerge16182103, 1
  %exitcond2137.not = icmp eq i64 %storemerge16182103, %1857
  br i1 %exitcond2137.not, label %._crit_edge2106, label %.lr.ph2105, !llvm.loop !42

._crit_edge2106:                                  ; preds = %.lr.ph2105, %middle.block2309, %1856
  %.pre2152 = load i64, ptr %22, align 8, !tbaa !5
  br label %1867

1867:                                             ; preds = %._crit_edge2106, %1850, %1848
  %1868 = phi i64 [ %.pre2152, %._crit_edge2106 ], [ %.pre2153, %1850 ], [ %.pre2153, %1848 ]
  %1869 = phi float [ 1.000000e+00, %._crit_edge2106 ], [ %1842, %1850 ], [ %1842, %1848 ]
  store float %1869, ptr %11, align 4, !tbaa !9
  %1870 = load i64, ptr %23, align 8, !tbaa !5
  %1871 = sitofp i64 %1870 to float
  %1872 = getelementptr inbounds i8, ptr %11, i64 4
  store float %1871, ptr %1872, align 4, !tbaa !9
  %1873 = sitofp i64 %1868 to float
  %1874 = getelementptr inbounds i8, ptr %11, i64 8
  store float %1873, ptr %1874, align 4, !tbaa !9
  %1875 = uitofp nneg i64 %.01500.lcssa to float
  %1876 = getelementptr inbounds i8, ptr %11, i64 12
  store float %1875, ptr %1876, align 4, !tbaa !9
  %1877 = getelementptr inbounds i8, ptr %11, i64 16
  store float %.11469.lcssa, ptr %1877, align 4, !tbaa !9
  %1878 = getelementptr inbounds i8, ptr %11, i64 20
  store float %.11450.lcssa, ptr %1878, align 4, !tbaa !9
  br label %1879

1879:                                             ; preds = %93, %96, %1867, %293, %286, %232, %194, %155, %127, %91
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %34) #7
  call void @llvm.lifetime.end.p0(i64 20, 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 8, ptr nonnull %29) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #7
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %16) #7
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #7
  ret i32 0
}

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

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

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

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

declare double @slamch_(ptr noundef) local_unnamed_addr #2

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

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

declare i32 @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 i32 @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 i32 @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 i64 @f2c_isamax(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare double @f2c_snrm2(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare double @f2c_sdot(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

declare i32 @f2c_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

declare double @r_sign(ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

declare i32 @f2c_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 i64 @llvm.smax.i64(i64, i64) #5

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i64 @llvm.umax.i64(i64, i64) #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 <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 = !{!"long", !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