; LLVM IR from niuyishuai/PDCABB :: LAPACK_BLAS/LAPACK (slaqr0)

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

@c__13 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@c__15 = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@c__12 = external hidden global i64, align 8
@c__14 = external hidden global i64, align 8
@c__16 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_false = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8

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

118:                                              ; preds = %16
  %119 = load ptr, ptr %31, align 8, !tbaa !5
  %120 = getelementptr inbounds float, ptr %119, i64 1
  store float 1.000000e+00, ptr %120, align 4, !tbaa !11
  store i32 0, ptr %17, align 4
  store i32 1, ptr %91, align 4
  br label %1396

121:                                              ; preds = %16
  %122 = load ptr, ptr %20, align 8, !tbaa !5
  %123 = load i64, ptr %122, align 8, !tbaa !9
  %124 = icmp sle i64 %123, 11
  br i1 %124, label %125, label %152

125:                                              ; preds = %121
  store i64 1, ptr %90, align 8, !tbaa !9
  %126 = load ptr, ptr %32, align 8, !tbaa !5
  %127 = load i64, ptr %126, align 8, !tbaa !9
  %128 = icmp ne i64 %127, -1
  br i1 %128, label %129, label %151

129:                                              ; preds = %125
  %130 = load ptr, ptr %18, align 8, !tbaa !5
  %131 = load ptr, ptr %19, align 8, !tbaa !5
  %132 = load ptr, ptr %20, align 8, !tbaa !5
  %133 = load ptr, ptr %21, align 8, !tbaa !5
  %134 = load ptr, ptr %22, align 8, !tbaa !5
  %135 = load ptr, ptr %23, align 8, !tbaa !5
  %136 = load i64, ptr %35, align 8, !tbaa !9
  %137 = getelementptr inbounds float, ptr %135, i64 %136
  %138 = load ptr, ptr %24, align 8, !tbaa !5
  %139 = load ptr, ptr %25, align 8, !tbaa !5
  %140 = getelementptr inbounds float, ptr %139, i64 1
  %141 = load ptr, ptr %26, align 8, !tbaa !5
  %142 = getelementptr inbounds float, ptr %141, i64 1
  %143 = load ptr, ptr %27, align 8, !tbaa !5
  %144 = load ptr, ptr %28, align 8, !tbaa !5
  %145 = load ptr, ptr %29, align 8, !tbaa !5
  %146 = load i64, ptr %37, align 8, !tbaa !9
  %147 = getelementptr inbounds float, ptr %145, i64 %146
  %148 = load ptr, ptr %30, align 8, !tbaa !5
  %149 = load ptr, ptr %33, align 8, !tbaa !5
  %150 = call i32 @slahqr_(ptr noundef %130, ptr noundef %131, ptr noundef %132, ptr noundef %133, ptr noundef %134, ptr noundef %137, ptr noundef %138, ptr noundef %140, ptr noundef %142, ptr noundef %143, ptr noundef %144, ptr noundef %147, ptr noundef %148, ptr noundef %149)
  br label %151

151:                                              ; preds = %129, %125
  br label %1391

152:                                              ; preds = %121
  %153 = load ptr, ptr %33, align 8, !tbaa !5
  store i64 0, ptr %153, align 8, !tbaa !9
  %154 = load ptr, ptr %18, align 8, !tbaa !5
  %155 = load i64, ptr %154, align 8, !tbaa !9
  %156 = icmp ne i64 %155, 0
  br i1 %156, label %157, label %159

157:                                              ; preds = %152
  %158 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  store i8 83, ptr %158, align 1, !tbaa !13
  br label %161

159:                                              ; preds = %152
  %160 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  store i8 69, ptr %160, align 1, !tbaa !13
  br label %161

161:                                              ; preds = %159, %157
  %162 = load ptr, ptr %19, align 8, !tbaa !5
  %163 = load i64, ptr %162, align 8, !tbaa !9
  %164 = icmp ne i64 %163, 0
  br i1 %164, label %165, label %167

165:                                              ; preds = %161
  %166 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 1
  store i8 86, ptr %166, align 1, !tbaa !13
  br label %169

167:                                              ; preds = %161
  %168 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 1
  store i8 78, ptr %168, align 1, !tbaa !13
  br label %169

169:                                              ; preds = %167, %165
  %170 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  %171 = load ptr, ptr %20, align 8, !tbaa !5
  %172 = load ptr, ptr %21, align 8, !tbaa !5
  %173 = load ptr, ptr %22, align 8, !tbaa !5
  %174 = load ptr, ptr %32, align 8, !tbaa !5
  %175 = call i64 @ilaenv_(ptr noundef @c__13, ptr noundef @.str, ptr noundef %170, ptr noundef %171, ptr noundef %172, ptr noundef %173, ptr noundef %174)
  store i64 %175, ptr %72, align 8, !tbaa !9
  %176 = load i64, ptr %72, align 8, !tbaa !9
  %177 = icmp sge i64 2, %176
  br i1 %177, label %178, label %179

178:                                              ; preds = %169
  br label %181

179:                                              ; preds = %169
  %180 = load i64, ptr %72, align 8, !tbaa !9
  br label %181

181:                                              ; preds = %179, %178
  %182 = phi i64 [ 2, %178 ], [ %180, %179 ]
  store i64 %182, ptr %72, align 8, !tbaa !9
  %183 = load ptr, ptr %22, align 8, !tbaa !5
  %184 = load i64, ptr %183, align 8, !tbaa !9
  %185 = load ptr, ptr %21, align 8, !tbaa !5
  %186 = load i64, ptr %185, align 8, !tbaa !9
  %187 = sub nsw i64 %184, %186
  %188 = add nsw i64 %187, 1
  store i64 %188, ptr %38, align 8, !tbaa !9
  %189 = load ptr, ptr %20, align 8, !tbaa !5
  %190 = load i64, ptr %189, align 8, !tbaa !9
  %191 = sub nsw i64 %190, 1
  %192 = sdiv i64 %191, 3
  store i64 %192, ptr %39, align 8, !tbaa !9
  %193 = load i64, ptr %38, align 8, !tbaa !9
  %194 = load i64, ptr %39, align 8, !tbaa !9
  %195 = icmp sle i64 %193, %194
  br i1 %195, label %196, label %198

196:                                              ; preds = %181
  %197 = load i64, ptr %38, align 8, !tbaa !9
  br label %200

198:                                              ; preds = %181
  %199 = load i64, ptr %39, align 8, !tbaa !9
  br label %200

200:                                              ; preds = %198, %196
  %201 = phi i64 [ %197, %196 ], [ %199, %198 ]
  store i64 %201, ptr %38, align 8, !tbaa !9
  %202 = load i64, ptr %38, align 8, !tbaa !9
  %203 = load i64, ptr %72, align 8, !tbaa !9
  %204 = icmp sle i64 %202, %203
  br i1 %204, label %205, label %207

205:                                              ; preds = %200
  %206 = load i64, ptr %38, align 8, !tbaa !9
  br label %209

207:                                              ; preds = %200
  %208 = load i64, ptr %72, align 8, !tbaa !9
  br label %209

209:                                              ; preds = %207, %205
  %210 = phi i64 [ %206, %205 ], [ %208, %207 ]
  store i64 %210, ptr %72, align 8, !tbaa !9
  %211 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  %212 = load ptr, ptr %20, align 8, !tbaa !5
  %213 = load ptr, ptr %21, align 8, !tbaa !5
  %214 = load ptr, ptr %22, align 8, !tbaa !5
  %215 = load ptr, ptr %32, align 8, !tbaa !5
  %216 = call i64 @ilaenv_(ptr noundef @c__15, ptr noundef @.str, ptr noundef %211, ptr noundef %212, ptr noundef %213, ptr noundef %214, ptr noundef %215)
  store i64 %216, ptr %71, align 8, !tbaa !9
  %217 = load i64, ptr %71, align 8, !tbaa !9
  store i64 %217, ptr %38, align 8, !tbaa !9
  %218 = load ptr, ptr %20, align 8, !tbaa !5
  %219 = load i64, ptr %218, align 8, !tbaa !9
  %220 = add nsw i64 %219, 6
  %221 = sdiv i64 %220, 9
  store i64 %221, ptr %39, align 8, !tbaa !9
  %222 = load i64, ptr %38, align 8, !tbaa !9
  %223 = load i64, ptr %39, align 8, !tbaa !9
  %224 = icmp sle i64 %222, %223
  br i1 %224, label %225, label %227

225:                                              ; preds = %209
  %226 = load i64, ptr %38, align 8, !tbaa !9
  br label %229

227:                                              ; preds = %209
  %228 = load i64, ptr %39, align 8, !tbaa !9
  br label %229

229:                                              ; preds = %227, %225
  %230 = phi i64 [ %226, %225 ], [ %228, %227 ]
  store i64 %230, ptr %38, align 8, !tbaa !9
  %231 = load ptr, ptr %22, align 8, !tbaa !5
  %232 = load i64, ptr %231, align 8, !tbaa !9
  %233 = load ptr, ptr %21, align 8, !tbaa !5
  %234 = load i64, ptr %233, align 8, !tbaa !9
  %235 = sub nsw i64 %232, %234
  store i64 %235, ptr %39, align 8, !tbaa !9
  %236 = load i64, ptr %38, align 8, !tbaa !9
  %237 = load i64, ptr %39, align 8, !tbaa !9
  %238 = icmp sle i64 %236, %237
  br i1 %238, label %239, label %241

239:                                              ; preds = %229
  %240 = load i64, ptr %38, align 8, !tbaa !9
  br label %243

241:                                              ; preds = %229
  %242 = load i64, ptr %39, align 8, !tbaa !9
  br label %243

243:                                              ; preds = %241, %239
  %244 = phi i64 [ %240, %239 ], [ %242, %241 ]
  store i64 %244, ptr %71, align 8, !tbaa !9
  store i64 2, ptr %38, align 8, !tbaa !9
  %245 = load i64, ptr %71, align 8, !tbaa !9
  %246 = load i64, ptr %71, align 8, !tbaa !9
  %247 = srem i64 %246, 2
  %248 = sub nsw i64 %245, %247
  store i64 %248, ptr %39, align 8, !tbaa !9
  %249 = load i64, ptr %38, align 8, !tbaa !9
  %250 = load i64, ptr %39, align 8, !tbaa !9
  %251 = icmp sge i64 %249, %250
  br i1 %251, label %252, label %254

252:                                              ; preds = %243
  %253 = load i64, ptr %38, align 8, !tbaa !9
  br label %256

254:                                              ; preds = %243
  %255 = load i64, ptr %39, align 8, !tbaa !9
  br label %256

256:                                              ; preds = %254, %252
  %257 = phi i64 [ %253, %252 ], [ %255, %254 ]
  store i64 %257, ptr %71, align 8, !tbaa !9
  %258 = load i64, ptr %72, align 8, !tbaa !9
  %259 = add nsw i64 %258, 1
  store i64 %259, ptr %38, align 8, !tbaa !9
  %260 = load ptr, ptr %18, align 8, !tbaa !5
  %261 = load ptr, ptr %19, align 8, !tbaa !5
  %262 = load ptr, ptr %20, align 8, !tbaa !5
  %263 = load ptr, ptr %21, align 8, !tbaa !5
  %264 = load ptr, ptr %22, align 8, !tbaa !5
  %265 = load ptr, ptr %23, align 8, !tbaa !5
  %266 = load i64, ptr %35, align 8, !tbaa !9
  %267 = getelementptr inbounds float, ptr %265, i64 %266
  %268 = load ptr, ptr %24, align 8, !tbaa !5
  %269 = load ptr, ptr %27, align 8, !tbaa !5
  %270 = load ptr, ptr %28, align 8, !tbaa !5
  %271 = load ptr, ptr %29, align 8, !tbaa !5
  %272 = load i64, ptr %37, align 8, !tbaa !9
  %273 = getelementptr inbounds float, ptr %271, i64 %272
  %274 = load ptr, ptr %30, align 8, !tbaa !5
  %275 = load ptr, ptr %25, align 8, !tbaa !5
  %276 = getelementptr inbounds float, ptr %275, i64 1
  %277 = load ptr, ptr %26, align 8, !tbaa !5
  %278 = getelementptr inbounds float, ptr %277, i64 1
  %279 = load ptr, ptr %23, align 8, !tbaa !5
  %280 = load i64, ptr %35, align 8, !tbaa !9
  %281 = getelementptr inbounds float, ptr %279, i64 %280
  %282 = load ptr, ptr %24, align 8, !tbaa !5
  %283 = load ptr, ptr %20, align 8, !tbaa !5
  %284 = load ptr, ptr %23, align 8, !tbaa !5
  %285 = load i64, ptr %35, align 8, !tbaa !9
  %286 = getelementptr inbounds float, ptr %284, i64 %285
  %287 = load ptr, ptr %24, align 8, !tbaa !5
  %288 = load ptr, ptr %20, align 8, !tbaa !5
  %289 = load ptr, ptr %23, align 8, !tbaa !5
  %290 = load i64, ptr %35, align 8, !tbaa !9
  %291 = getelementptr inbounds float, ptr %289, i64 %290
  %292 = load ptr, ptr %24, align 8, !tbaa !5
  %293 = load ptr, ptr %31, align 8, !tbaa !5
  %294 = getelementptr inbounds float, ptr %293, i64 1
  %295 = call i32 @slaqr3_(ptr noundef %260, ptr noundef %261, ptr noundef %262, ptr noundef %263, ptr noundef %264, ptr noundef %38, ptr noundef %267, ptr noundef %268, ptr noundef %269, ptr noundef %270, ptr noundef %273, ptr noundef %274, ptr noundef %62, ptr noundef %53, ptr noundef %276, ptr noundef %278, ptr noundef %281, ptr noundef %282, ptr noundef %283, ptr noundef %286, ptr noundef %287, ptr noundef %288, ptr noundef %291, ptr noundef %292, ptr noundef %294, ptr noundef @c_n1)
  %296 = load i64, ptr %71, align 8, !tbaa !9
  %297 = mul nsw i64 %296, 3
  %298 = sdiv i64 %297, 2
  store i64 %298, ptr %38, align 8, !tbaa !9
  %299 = load ptr, ptr %31, align 8, !tbaa !5
  %300 = getelementptr inbounds float, ptr %299, i64 1
  %301 = load float, ptr %300, align 4, !tbaa !11
  %302 = fptosi float %301 to i64
  store i64 %302, ptr %39, align 8, !tbaa !9
  %303 = load i64, ptr %38, align 8, !tbaa !9
  %304 = load i64, ptr %39, align 8, !tbaa !9
  %305 = icmp sge i64 %303, %304
  br i1 %305, label %306, label %308

306:                                              ; preds = %256
  %307 = load i64, ptr %38, align 8, !tbaa !9
  br label %310

308:                                              ; preds = %256
  %309 = load i64, ptr %39, align 8, !tbaa !9
  br label %310

310:                                              ; preds = %308, %306
  %311 = phi i64 [ %307, %306 ], [ %309, %308 ]
  store i64 %311, ptr %90, align 8, !tbaa !9
  %312 = load ptr, ptr %32, align 8, !tbaa !5
  %313 = load i64, ptr %312, align 8, !tbaa !9
  %314 = icmp eq i64 %313, -1
  br i1 %314, label %315, label %320

315:                                              ; preds = %310
  %316 = load i64, ptr %90, align 8, !tbaa !9
  %317 = sitofp i64 %316 to float
  %318 = load ptr, ptr %31, align 8, !tbaa !5
  %319 = getelementptr inbounds float, ptr %318, i64 1
  store float %317, ptr %319, align 4, !tbaa !11
  store i32 0, ptr %17, align 4
  store i32 1, ptr %91, align 4
  br label %1396

320:                                              ; preds = %310
  %321 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  %322 = load ptr, ptr %20, align 8, !tbaa !5
  %323 = load ptr, ptr %21, align 8, !tbaa !5
  %324 = load ptr, ptr %22, align 8, !tbaa !5
  %325 = load ptr, ptr %32, align 8, !tbaa !5
  %326 = call i64 @ilaenv_(ptr noundef @c__12, ptr noundef @.str, ptr noundef %321, ptr noundef %322, ptr noundef %323, ptr noundef %324, ptr noundef %325)
  store i64 %326, ptr %77, align 8, !tbaa !9
  %327 = load i64, ptr %77, align 8, !tbaa !9
  %328 = icmp sge i64 11, %327
  br i1 %328, label %329, label %330

329:                                              ; preds = %320
  br label %332

330:                                              ; preds = %320
  %331 = load i64, ptr %77, align 8, !tbaa !9
  br label %332

332:                                              ; preds = %330, %329
  %333 = phi i64 [ 11, %329 ], [ %331, %330 ]
  store i64 %333, ptr %77, align 8, !tbaa !9
  %334 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  %335 = load ptr, ptr %20, align 8, !tbaa !5
  %336 = load ptr, ptr %21, align 8, !tbaa !5
  %337 = load ptr, ptr %22, align 8, !tbaa !5
  %338 = load ptr, ptr %32, align 8, !tbaa !5
  %339 = call i64 @ilaenv_(ptr noundef @c__14, ptr noundef @.str, ptr noundef %334, ptr noundef %335, ptr noundef %336, ptr noundef %337, ptr noundef %338)
  store i64 %339, ptr %86, align 8, !tbaa !9
  %340 = load i64, ptr %86, align 8, !tbaa !9
  %341 = icmp sge i64 0, %340
  br i1 %341, label %342, label %343

342:                                              ; preds = %332
  br label %345

343:                                              ; preds = %332
  %344 = load i64, ptr %86, align 8, !tbaa !9
  br label %345

345:                                              ; preds = %343, %342
  %346 = phi i64 [ 0, %342 ], [ %344, %343 ]
  store i64 %346, ptr %86, align 8, !tbaa !9
  %347 = getelementptr inbounds [2 x i8], ptr %87, i64 0, i64 0
  %348 = load ptr, ptr %20, align 8, !tbaa !5
  %349 = load ptr, ptr %21, align 8, !tbaa !5
  %350 = load ptr, ptr %22, align 8, !tbaa !5
  %351 = load ptr, ptr %32, align 8, !tbaa !5
  %352 = call i64 @ilaenv_(ptr noundef @c__16, ptr noundef @.str, ptr noundef %347, ptr noundef %348, ptr noundef %349, ptr noundef %350, ptr noundef %351)
  store i64 %352, ptr %81, align 8, !tbaa !9
  %353 = load i64, ptr %81, align 8, !tbaa !9
  %354 = icmp sge i64 0, %353
  br i1 %354, label %355, label %356

355:                                              ; preds = %345
  br label %358

356:                                              ; preds = %345
  %357 = load i64, ptr %81, align 8, !tbaa !9
  br label %358

358:                                              ; preds = %356, %355
  %359 = phi i64 [ 0, %355 ], [ %357, %356 ]
  store i64 %359, ptr %81, align 8, !tbaa !9
  %360 = load i64, ptr %81, align 8, !tbaa !9
  %361 = icmp sle i64 2, %360
  br i1 %361, label %362, label %363

362:                                              ; preds = %358
  br label %365

363:                                              ; preds = %358
  %364 = load i64, ptr %81, align 8, !tbaa !9
  br label %365

365:                                              ; preds = %363, %362
  %366 = phi i64 [ 2, %362 ], [ %364, %363 ]
  store i64 %366, ptr %81, align 8, !tbaa !9
  %367 = load ptr, ptr %20, align 8, !tbaa !5
  %368 = load i64, ptr %367, align 8, !tbaa !9
  %369 = sub nsw i64 %368, 1
  %370 = sdiv i64 %369, 3
  store i64 %370, ptr %38, align 8, !tbaa !9
  %371 = load ptr, ptr %32, align 8, !tbaa !5
  %372 = load i64, ptr %371, align 8, !tbaa !9
  %373 = sdiv i64 %372, 2
  store i64 %373, ptr %39, align 8, !tbaa !9
  %374 = load i64, ptr %38, align 8, !tbaa !9
  %375 = load i64, ptr %39, align 8, !tbaa !9
  %376 = icmp sle i64 %374, %375
  br i1 %376, label %377, label %379

377:                                              ; preds = %365
  %378 = load i64, ptr %38, align 8, !tbaa !9
  br label %381

379:                                              ; preds = %365
  %380 = load i64, ptr %39, align 8, !tbaa !9
  br label %381

381:                                              ; preds = %379, %377
  %382 = phi i64 [ %378, %377 ], [ %380, %379 ]
  store i64 %382, ptr %84, align 8, !tbaa !9
  %383 = load i64, ptr %84, align 8, !tbaa !9
  store i64 %383, ptr %65, align 8, !tbaa !9
  %384 = load ptr, ptr %20, align 8, !tbaa !5
  %385 = load i64, ptr %384, align 8, !tbaa !9
  %386 = add nsw i64 %385, 6
  %387 = sdiv i64 %386, 9
  store i64 %387, ptr %38, align 8, !tbaa !9
  %388 = load ptr, ptr %32, align 8, !tbaa !5
  %389 = load i64, ptr %388, align 8, !tbaa !9
  %390 = shl i64 %389, 1
  %391 = sdiv i64 %390, 3
  store i64 %391, ptr %39, align 8, !tbaa !9
  %392 = load i64, ptr %38, align 8, !tbaa !9
  %393 = load i64, ptr %39, align 8, !tbaa !9
  %394 = icmp sle i64 %392, %393
  br i1 %394, label %395, label %397

395:                                              ; preds = %381
  %396 = load i64, ptr %38, align 8, !tbaa !9
  br label %399

397:                                              ; preds = %381
  %398 = load i64, ptr %39, align 8, !tbaa !9
  br label %399

399:                                              ; preds = %397, %395
  %400 = phi i64 [ %396, %395 ], [ %398, %397 ]
  store i64 %400, ptr %83, align 8, !tbaa !9
  %401 = load i64, ptr %83, align 8, !tbaa !9
  %402 = srem i64 %401, 2
  %403 = load i64, ptr %83, align 8, !tbaa !9
  %404 = sub nsw i64 %403, %402
  store i64 %404, ptr %83, align 8, !tbaa !9
  store i64 1, ptr %75, align 8, !tbaa !9
  store i64 10, ptr %38, align 8, !tbaa !9
  %405 = load ptr, ptr %22, align 8, !tbaa !5
  %406 = load i64, ptr %405, align 8, !tbaa !9
  %407 = load ptr, ptr %21, align 8, !tbaa !5
  %408 = load i64, ptr %407, align 8, !tbaa !9
  %409 = sub nsw i64 %406, %408
  %410 = add nsw i64 %409, 1
  store i64 %410, ptr %39, align 8, !tbaa !9
  %411 = load i64, ptr %38, align 8, !tbaa !9
  %412 = load i64, ptr %39, align 8, !tbaa !9
  %413 = icmp sge i64 %411, %412
  br i1 %413, label %414, label %416

414:                                              ; preds = %399
  %415 = load i64, ptr %38, align 8, !tbaa !9
  br label %418

416:                                              ; preds = %399
  %417 = load i64, ptr %39, align 8, !tbaa !9
  br label %418

418:                                              ; preds = %416, %414
  %419 = phi i64 [ %415, %414 ], [ %417, %416 ]
  %420 = mul nsw i64 %419, 30
  store i64 %420, ptr %82, align 8, !tbaa !9
  %421 = load ptr, ptr %22, align 8, !tbaa !5
  %422 = load i64, ptr %421, align 8, !tbaa !9
  store i64 %422, ptr %76, align 8, !tbaa !9
  %423 = load i64, ptr %82, align 8, !tbaa !9
  store i64 %423, ptr %38, align 8, !tbaa !9
  store i64 1, ptr %56, align 8, !tbaa !9
  br label %424

424:                                              ; preds = %1384, %418
  %425 = load i64, ptr %56, align 8, !tbaa !9
  %426 = load i64, ptr %38, align 8, !tbaa !9
  %427 = icmp sle i64 %425, %426
  br i1 %427, label %428, label %1387

428:                                              ; preds = %424
  %429 = load i64, ptr %76, align 8, !tbaa !9
  %430 = load ptr, ptr %21, align 8, !tbaa !5
  %431 = load i64, ptr %430, align 8, !tbaa !9
  %432 = icmp slt i64 %429, %431
  br i1 %432, label %433, label %434

433:                                              ; preds = %428
  br label %1390

434:                                              ; preds = %428
  %435 = load ptr, ptr %21, align 8, !tbaa !5
  %436 = load i64, ptr %435, align 8, !tbaa !9
  %437 = add nsw i64 %436, 1
  store i64 %437, ptr %39, align 8, !tbaa !9
  %438 = load i64, ptr %76, align 8, !tbaa !9
  store i64 %438, ptr %48, align 8, !tbaa !9
  br label %439

439:                                              ; preds = %456, %434
  %440 = load i64, ptr %48, align 8, !tbaa !9
  %441 = load i64, ptr %39, align 8, !tbaa !9
  %442 = icmp sge i64 %440, %441
  br i1 %442, label %443, label %459

443:                                              ; preds = %439
  %444 = load ptr, ptr %23, align 8, !tbaa !5
  %445 = load i64, ptr %48, align 8, !tbaa !9
  %446 = load i64, ptr %48, align 8, !tbaa !9
  %447 = sub nsw i64 %446, 1
  %448 = load i64, ptr %34, align 8, !tbaa !9
  %449 = mul nsw i64 %447, %448
  %450 = add nsw i64 %445, %449
  %451 = getelementptr inbounds float, ptr %444, i64 %450
  %452 = load float, ptr %451, align 4, !tbaa !11
  %453 = fcmp oeq float %452, 0.000000e+00
  br i1 %453, label %454, label %455

454:                                              ; preds = %443
  br label %462

455:                                              ; preds = %443
  br label %456

456:                                              ; preds = %455
  %457 = load i64, ptr %48, align 8, !tbaa !9
  %458 = add nsw i64 %457, -1
  store i64 %458, ptr %48, align 8, !tbaa !9
  br label %439, !llvm.loop !14

459:                                              ; preds = %439
  %460 = load ptr, ptr %21, align 8, !tbaa !5
  %461 = load i64, ptr %460, align 8, !tbaa !9
  store i64 %461, ptr %48, align 8, !tbaa !9
  br label %462

462:                                              ; preds = %459, %454
  %463 = load i64, ptr %48, align 8, !tbaa !9
  store i64 %463, ptr %79, align 8, !tbaa !9
  %464 = load i64, ptr %76, align 8, !tbaa !9
  %465 = load i64, ptr %79, align 8, !tbaa !9
  %466 = sub nsw i64 %464, %465
  %467 = add nsw i64 %466, 1
  store i64 %467, ptr %55, align 8, !tbaa !9
  %468 = load i64, ptr %55, align 8, !tbaa !9
  %469 = load i64, ptr %84, align 8, !tbaa !9
  %470 = icmp sle i64 %468, %469
  br i1 %470, label %471, label %473

471:                                              ; preds = %462
  %472 = load i64, ptr %55, align 8, !tbaa !9
  br label %475

473:                                              ; preds = %462
  %474 = load i64, ptr %84, align 8, !tbaa !9
  br label %475

475:                                              ; preds = %473, %471
  %476 = phi i64 [ %472, %471 ], [ %474, %473 ]
  store i64 %476, ptr %88, align 8, !tbaa !9
  %477 = load i64, ptr %75, align 8, !tbaa !9
  %478 = icmp slt i64 %477, 5
  br i1 %478, label %479, label %489

479:                                              ; preds = %475
  %480 = load i64, ptr %88, align 8, !tbaa !9
  %481 = load i64, ptr %72, align 8, !tbaa !9
  %482 = icmp sle i64 %480, %481
  br i1 %482, label %483, label %485

483:                                              ; preds = %479
  %484 = load i64, ptr %88, align 8, !tbaa !9
  br label %487

485:                                              ; preds = %479
  %486 = load i64, ptr %72, align 8, !tbaa !9
  br label %487

487:                                              ; preds = %485, %483
  %488 = phi i64 [ %484, %483 ], [ %486, %485 ]
  store i64 %488, ptr %65, align 8, !tbaa !9
  br label %502

489:                                              ; preds = %475
  %490 = load i64, ptr %88, align 8, !tbaa !9
  store i64 %490, ptr %39, align 8, !tbaa !9
  %491 = load i64, ptr %65, align 8, !tbaa !9
  %492 = shl i64 %491, 1
  store i64 %492, ptr %40, align 8, !tbaa !9
  %493 = load i64, ptr %39, align 8, !tbaa !9
  %494 = load i64, ptr %40, align 8, !tbaa !9
  %495 = icmp sle i64 %493, %494
  br i1 %495, label %496, label %498

496:                                              ; preds = %489
  %497 = load i64, ptr %39, align 8, !tbaa !9
  br label %500

498:                                              ; preds = %489
  %499 = load i64, ptr %40, align 8, !tbaa !9
  br label %500

500:                                              ; preds = %498, %496
  %501 = phi i64 [ %497, %496 ], [ %499, %498 ]
  store i64 %501, ptr %65, align 8, !tbaa !9
  br label %502

502:                                              ; preds = %500, %487
  %503 = load i64, ptr %65, align 8, !tbaa !9
  %504 = load i64, ptr %84, align 8, !tbaa !9
  %505 = icmp slt i64 %503, %504
  br i1 %505, label %506, label %563

506:                                              ; preds = %502
  %507 = load i64, ptr %65, align 8, !tbaa !9
  %508 = load i64, ptr %55, align 8, !tbaa !9
  %509 = sub nsw i64 %508, 1
  %510 = icmp sge i64 %507, %509
  br i1 %510, label %511, label %513

511:                                              ; preds = %506
  %512 = load i64, ptr %55, align 8, !tbaa !9
  store i64 %512, ptr %65, align 8, !tbaa !9
  br label %562

513:                                              ; preds = %506
  %514 = load i64, ptr %76, align 8, !tbaa !9
  %515 = load i64, ptr %65, align 8, !tbaa !9
  %516 = sub nsw i64 %514, %515
  %517 = add nsw i64 %516, 1
  store i64 %517, ptr %85, align 8, !tbaa !9
  %518 = load ptr, ptr %23, align 8, !tbaa !5
  %519 = load i64, ptr %85, align 8, !tbaa !9
  %520 = load i64, ptr %85, align 8, !tbaa !9
  %521 = sub nsw i64 %520, 1
  %522 = load i64, ptr %34, align 8, !tbaa !9
  %523 = mul nsw i64 %521, %522
  %524 = add nsw i64 %519, %523
  %525 = getelementptr inbounds float, ptr %518, i64 %524
  %526 = load float, ptr %525, align 4, !tbaa !11
  store float %526, ptr %43, align 4, !tbaa !11
  %527 = load float, ptr %43, align 4, !tbaa !11
  %528 = fcmp oge float %527, 0.000000e+00
  br i1 %528, label %529, label %531

529:                                              ; preds = %513
  %530 = load float, ptr %43, align 4, !tbaa !11
  br label %534

531:                                              ; preds = %513
  %532 = load float, ptr %43, align 4, !tbaa !11
  %533 = fneg float %532
  br label %534

534:                                              ; preds = %531, %529
  %535 = phi float [ %530, %529 ], [ %533, %531 ]
  %536 = fpext float %535 to double
  %537 = load ptr, ptr %23, align 8, !tbaa !5
  %538 = load i64, ptr %85, align 8, !tbaa !9
  %539 = sub nsw i64 %538, 1
  %540 = load i64, ptr %85, align 8, !tbaa !9
  %541 = sub nsw i64 %540, 2
  %542 = load i64, ptr %34, align 8, !tbaa !9
  %543 = mul nsw i64 %541, %542
  %544 = add nsw i64 %539, %543
  %545 = getelementptr inbounds float, ptr %537, i64 %544
  %546 = load float, ptr %545, align 4, !tbaa !11
  store float %546, ptr %44, align 4, !tbaa !11
  %547 = load float, ptr %44, align 4, !tbaa !11
  %548 = fcmp oge float %547, 0.000000e+00
  br i1 %548, label %549, label %551

549:                                              ; preds = %534
  %550 = load float, ptr %44, align 4, !tbaa !11
  br label %554

551:                                              ; preds = %534
  %552 = load float, ptr %44, align 4, !tbaa !11
  %553 = fneg float %552
  br label %554

554:                                              ; preds = %551, %549
  %555 = phi float [ %550, %549 ], [ %553, %551 ]
  %556 = fpext float %555 to double
  %557 = fcmp ogt double %536, %556
  br i1 %557, label %558, label %561

558:                                              ; preds = %554
  %559 = load i64, ptr %65, align 8, !tbaa !9
  %560 = add nsw i64 %559, 1
  store i64 %560, ptr %65, align 8, !tbaa !9
  br label %561

561:                                              ; preds = %558, %554
  br label %562

562:                                              ; preds = %561, %511
  br label %563

563:                                              ; preds = %562, %502
  %564 = load i64, ptr %75, align 8, !tbaa !9
  %565 = icmp slt i64 %564, 5
  br i1 %565, label %566, label %567

566:                                              ; preds = %563
  store i64 -1, ptr %74, align 8, !tbaa !9
  br label %587

567:                                              ; preds = %563
  %568 = load i64, ptr %74, align 8, !tbaa !9
  %569 = icmp sge i64 %568, 0
  br i1 %569, label %574, label %570

570:                                              ; preds = %567
  %571 = load i64, ptr %65, align 8, !tbaa !9
  %572 = load i64, ptr %88, align 8, !tbaa !9
  %573 = icmp sge i64 %571, %572
  br i1 %573, label %574, label %586

574:                                              ; preds = %570, %567
  %575 = load i64, ptr %74, align 8, !tbaa !9
  %576 = add nsw i64 %575, 1
  store i64 %576, ptr %74, align 8, !tbaa !9
  %577 = load i64, ptr %65, align 8, !tbaa !9
  %578 = load i64, ptr %74, align 8, !tbaa !9
  %579 = sub nsw i64 %577, %578
  %580 = icmp slt i64 %579, 2
  br i1 %580, label %581, label %582

581:                                              ; preds = %574
  store i64 0, ptr %74, align 8, !tbaa !9
  br label %582

582:                                              ; preds = %581, %574
  %583 = load i64, ptr %74, align 8, !tbaa !9
  %584 = load i64, ptr %65, align 8, !tbaa !9
  %585 = sub nsw i64 %584, %583
  store i64 %585, ptr %65, align 8, !tbaa !9
  br label %586

586:                                              ; preds = %582, %570
  br label %587

587:                                              ; preds = %586, %566
  %588 = load ptr, ptr %20, align 8, !tbaa !5
  %589 = load i64, ptr %588, align 8, !tbaa !9
  %590 = load i64, ptr %65, align 8, !tbaa !9
  %591 = sub nsw i64 %589, %590
  %592 = add nsw i64 %591, 1
  store i64 %592, ptr %61, align 8, !tbaa !9
  %593 = load i64, ptr %65, align 8, !tbaa !9
  %594 = add nsw i64 %593, 1
  store i64 %594, ptr %58, align 8, !tbaa !9
  %595 = load ptr, ptr %20, align 8, !tbaa !5
  %596 = load i64, ptr %595, align 8, !tbaa !9
  %597 = load i64, ptr %65, align 8, !tbaa !9
  %598 = sub nsw i64 %596, %597
  %599 = sub nsw i64 %598, 1
  %600 = load i64, ptr %58, align 8, !tbaa !9
  %601 = sub nsw i64 %599, %600
  %602 = add nsw i64 %601, 1
  store i64 %602, ptr %68, align 8, !tbaa !9
  %603 = load i64, ptr %65, align 8, !tbaa !9
  %604 = add nsw i64 %603, 2
  store i64 %604, ptr %73, align 8, !tbaa !9
  %605 = load ptr, ptr %20, align 8, !tbaa !5
  %606 = load i64, ptr %605, align 8, !tbaa !9
  %607 = load i64, ptr %65, align 8, !tbaa !9
  %608 = sub nsw i64 %606, %607
  %609 = load i64, ptr %73, align 8, !tbaa !9
  %610 = sub nsw i64 %608, %609
  %611 = add nsw i64 %610, 1
  store i64 %611, ptr %69, align 8, !tbaa !9
  %612 = load ptr, ptr %18, align 8, !tbaa !5
  %613 = load ptr, ptr %19, align 8, !tbaa !5
  %614 = load ptr, ptr %20, align 8, !tbaa !5
  %615 = load ptr, ptr %23, align 8, !tbaa !5
  %616 = load i64, ptr %35, align 8, !tbaa !9
  %617 = getelementptr inbounds float, ptr %615, i64 %616
  %618 = load ptr, ptr %24, align 8, !tbaa !5
  %619 = load ptr, ptr %27, align 8, !tbaa !5
  %620 = load ptr, ptr %28, align 8, !tbaa !5
  %621 = load ptr, ptr %29, align 8, !tbaa !5
  %622 = load i64, ptr %37, align 8, !tbaa !9
  %623 = getelementptr inbounds float, ptr %621, i64 %622
  %624 = load ptr, ptr %30, align 8, !tbaa !5
  %625 = load ptr, ptr %25, align 8, !tbaa !5
  %626 = getelementptr inbounds float, ptr %625, i64 1
  %627 = load ptr, ptr %26, align 8, !tbaa !5
  %628 = getelementptr inbounds float, ptr %627, i64 1
  %629 = load ptr, ptr %23, align 8, !tbaa !5
  %630 = load i64, ptr %61, align 8, !tbaa !9
  %631 = load i64, ptr %34, align 8, !tbaa !9
  %632 = add nsw i64 %630, %631
  %633 = getelementptr inbounds float, ptr %629, i64 %632
  %634 = load ptr, ptr %24, align 8, !tbaa !5
  %635 = load ptr, ptr %23, align 8, !tbaa !5
  %636 = load i64, ptr %61, align 8, !tbaa !9
  %637 = load i64, ptr %58, align 8, !tbaa !9
  %638 = load i64, ptr %34, align 8, !tbaa !9
  %639 = mul nsw i64 %637, %638
  %640 = add nsw i64 %636, %639
  %641 = getelementptr inbounds float, ptr %635, i64 %640
  %642 = load ptr, ptr %24, align 8, !tbaa !5
  %643 = load ptr, ptr %23, align 8, !tbaa !5
  %644 = load i64, ptr %73, align 8, !tbaa !9
  %645 = load i64, ptr %34, align 8, !tbaa !9
  %646 = add nsw i64 %644, %645
  %647 = getelementptr inbounds float, ptr %643, i64 %646
  %648 = load ptr, ptr %24, align 8, !tbaa !5
  %649 = load ptr, ptr %31, align 8, !tbaa !5
  %650 = getelementptr inbounds float, ptr %649, i64 1
  %651 = load ptr, ptr %32, align 8, !tbaa !5
  %652 = call i32 @slaqr3_(ptr noundef %612, ptr noundef %613, ptr noundef %614, ptr noundef %79, ptr noundef %76, ptr noundef %65, ptr noundef %617, ptr noundef %618, ptr noundef %619, ptr noundef %620, ptr noundef %623, ptr noundef %624, ptr noundef %62, ptr noundef %53, ptr noundef %626, ptr noundef %628, ptr noundef %633, ptr noundef %634, ptr noundef %68, ptr noundef %641, ptr noundef %642, ptr noundef %69, ptr noundef %647, ptr noundef %648, ptr noundef %650, ptr noundef %651)
  %653 = load i64, ptr %53, align 8, !tbaa !9
  %654 = load i64, ptr %76, align 8, !tbaa !9
  %655 = sub nsw i64 %654, %653
  store i64 %655, ptr %76, align 8, !tbaa !9
  %656 = load i64, ptr %76, align 8, !tbaa !9
  %657 = load i64, ptr %62, align 8, !tbaa !9
  %658 = sub nsw i64 %656, %657
  %659 = add nsw i64 %658, 1
  store i64 %659, ptr %57, align 8, !tbaa !9
  %660 = load i64, ptr %53, align 8, !tbaa !9
  %661 = icmp eq i64 %660, 0
  br i1 %661, label %684, label %662

662:                                              ; preds = %587
  %663 = load i64, ptr %53, align 8, !tbaa !9
  %664 = mul nsw i64 %663, 100
  %665 = load i64, ptr %65, align 8, !tbaa !9
  %666 = load i64, ptr %86, align 8, !tbaa !9
  %667 = mul nsw i64 %665, %666
  %668 = icmp sle i64 %664, %667
  br i1 %668, label %669, label %1376

669:                                              ; preds = %662
  %670 = load i64, ptr %76, align 8, !tbaa !9
  %671 = load i64, ptr %79, align 8, !tbaa !9
  %672 = sub nsw i64 %670, %671
  %673 = add nsw i64 %672, 1
  %674 = load i64, ptr %77, align 8, !tbaa !9
  %675 = load i64, ptr %84, align 8, !tbaa !9
  %676 = icmp sle i64 %674, %675
  br i1 %676, label %677, label %679

677:                                              ; preds = %669
  %678 = load i64, ptr %77, align 8, !tbaa !9
  br label %681

679:                                              ; preds = %669
  %680 = load i64, ptr %84, align 8, !tbaa !9
  br label %681

681:                                              ; preds = %679, %677
  %682 = phi i64 [ %678, %677 ], [ %680, %679 ]
  %683 = icmp sgt i64 %673, %682
  br i1 %683, label %684, label %1376

684:                                              ; preds = %681, %587
  store i64 2, ptr %41, align 8, !tbaa !9
  %685 = load i64, ptr %76, align 8, !tbaa !9
  %686 = load i64, ptr %79, align 8, !tbaa !9
  %687 = sub nsw i64 %685, %686
  store i64 %687, ptr %42, align 8, !tbaa !9
  %688 = load i64, ptr %83, align 8, !tbaa !9
  %689 = load i64, ptr %71, align 8, !tbaa !9
  %690 = icmp sle i64 %688, %689
  br i1 %690, label %691, label %693

691:                                              ; preds = %684
  %692 = load i64, ptr %83, align 8, !tbaa !9
  br label %695

693:                                              ; preds = %684
  %694 = load i64, ptr %71, align 8, !tbaa !9
  br label %695

695:                                              ; preds = %693, %691
  %696 = phi i64 [ %692, %691 ], [ %694, %693 ]
  store i64 %696, ptr %39, align 8, !tbaa !9
  %697 = load i64, ptr %41, align 8, !tbaa !9
  %698 = load i64, ptr %42, align 8, !tbaa !9
  %699 = icmp sge i64 %697, %698
  br i1 %699, label %700, label %702

700:                                              ; preds = %695
  %701 = load i64, ptr %41, align 8, !tbaa !9
  br label %704

702:                                              ; preds = %695
  %703 = load i64, ptr %42, align 8, !tbaa !9
  br label %704

704:                                              ; preds = %702, %700
  %705 = phi i64 [ %701, %700 ], [ %703, %702 ]
  store i64 %705, ptr %40, align 8, !tbaa !9
  %706 = load i64, ptr %39, align 8, !tbaa !9
  %707 = load i64, ptr %40, align 8, !tbaa !9
  %708 = icmp sle i64 %706, %707
  br i1 %708, label %709, label %711

709:                                              ; preds = %704
  %710 = load i64, ptr %39, align 8, !tbaa !9
  br label %713

711:                                              ; preds = %704
  %712 = load i64, ptr %40, align 8, !tbaa !9
  br label %713

713:                                              ; preds = %711, %709
  %714 = phi i64 [ %710, %709 ], [ %712, %711 ]
  store i64 %714, ptr %63, align 8, !tbaa !9
  %715 = load i64, ptr %63, align 8, !tbaa !9
  %716 = srem i64 %715, 2
  %717 = load i64, ptr %63, align 8, !tbaa !9
  %718 = sub nsw i64 %717, %716
  store i64 %718, ptr %63, align 8, !tbaa !9
  %719 = load i64, ptr %75, align 8, !tbaa !9
  %720 = srem i64 %719, 6
  %721 = icmp eq i64 %720, 0
  br i1 %721, label %722, label %859

722:                                              ; preds = %713
  %723 = load i64, ptr %76, align 8, !tbaa !9
  %724 = load i64, ptr %63, align 8, !tbaa !9
  %725 = sub nsw i64 %723, %724
  %726 = add nsw i64 %725, 1
  store i64 %726, ptr %57, align 8, !tbaa !9
  %727 = load i64, ptr %57, align 8, !tbaa !9
  %728 = add nsw i64 %727, 1
  store i64 %728, ptr %40, align 8, !tbaa !9
  %729 = load i64, ptr %79, align 8, !tbaa !9
  %730 = add nsw i64 %729, 2
  store i64 %730, ptr %41, align 8, !tbaa !9
  %731 = load i64, ptr %40, align 8, !tbaa !9
  %732 = load i64, ptr %41, align 8, !tbaa !9
  %733 = icmp sge i64 %731, %732
  br i1 %733, label %734, label %736

734:                                              ; preds = %722
  %735 = load i64, ptr %40, align 8, !tbaa !9
  br label %738

736:                                              ; preds = %722
  %737 = load i64, ptr %41, align 8, !tbaa !9
  br label %738

738:                                              ; preds = %736, %734
  %739 = phi i64 [ %735, %734 ], [ %737, %736 ]
  store i64 %739, ptr %39, align 8, !tbaa !9
  %740 = load i64, ptr %76, align 8, !tbaa !9
  store i64 %740, ptr %47, align 8, !tbaa !9
  br label %741

741:                                              ; preds = %816, %738
  %742 = load i64, ptr %47, align 8, !tbaa !9
  %743 = load i64, ptr %39, align 8, !tbaa !9
  %744 = icmp sge i64 %742, %743
  br i1 %744, label %745, label %819

745:                                              ; preds = %741
  %746 = load ptr, ptr %23, align 8, !tbaa !5
  %747 = load i64, ptr %47, align 8, !tbaa !9
  %748 = load i64, ptr %47, align 8, !tbaa !9
  %749 = sub nsw i64 %748, 1
  %750 = load i64, ptr %34, align 8, !tbaa !9
  %751 = mul nsw i64 %749, %750
  %752 = add nsw i64 %747, %751
  %753 = getelementptr inbounds float, ptr %746, i64 %752
  %754 = load float, ptr %753, align 4, !tbaa !11
  store float %754, ptr %43, align 4, !tbaa !11
  %755 = load float, ptr %43, align 4, !tbaa !11
  %756 = fcmp oge float %755, 0.000000e+00
  br i1 %756, label %757, label %759

757:                                              ; preds = %745
  %758 = load float, ptr %43, align 4, !tbaa !11
  br label %762

759:                                              ; preds = %745
  %760 = load float, ptr %43, align 4, !tbaa !11
  %761 = fneg float %760
  br label %762

762:                                              ; preds = %759, %757
  %763 = phi float [ %758, %757 ], [ %761, %759 ]
  %764 = fpext float %763 to double
  %765 = load ptr, ptr %23, align 8, !tbaa !5
  %766 = load i64, ptr %47, align 8, !tbaa !9
  %767 = sub nsw i64 %766, 1
  %768 = load i64, ptr %47, align 8, !tbaa !9
  %769 = sub nsw i64 %768, 2
  %770 = load i64, ptr %34, align 8, !tbaa !9
  %771 = mul nsw i64 %769, %770
  %772 = add nsw i64 %767, %771
  %773 = getelementptr inbounds float, ptr %765, i64 %772
  %774 = load float, ptr %773, align 4, !tbaa !11
  store float %774, ptr %44, align 4, !tbaa !11
  %775 = load float, ptr %44, align 4, !tbaa !11
  %776 = fcmp oge float %775, 0.000000e+00
  br i1 %776, label %777, label %779

777:                                              ; preds = %762
  %778 = load float, ptr %44, align 4, !tbaa !11
  br label %782

779:                                              ; preds = %762
  %780 = load float, ptr %44, align 4, !tbaa !11
  %781 = fneg float %780
  br label %782

782:                                              ; preds = %779, %777
  %783 = phi float [ %778, %777 ], [ %781, %779 ]
  %784 = fpext float %783 to double
  %785 = fadd double %764, %784
  %786 = fptrunc double %785 to float
  store float %786, ptr %64, align 4, !tbaa !11
  %787 = load float, ptr %64, align 4, !tbaa !11
  %788 = load ptr, ptr %23, align 8, !tbaa !5
  %789 = load i64, ptr %47, align 8, !tbaa !9
  %790 = load i64, ptr %47, align 8, !tbaa !9
  %791 = load i64, ptr %34, align 8, !tbaa !9
  %792 = mul nsw i64 %790, %791
  %793 = add nsw i64 %789, %792
  %794 = getelementptr inbounds float, ptr %788, i64 %793
  %795 = load float, ptr %794, align 4, !tbaa !11
  %796 = call float @llvm.fmuladd.f32(float %787, float 7.500000e-01, float %795)
  store float %796, ptr %49, align 4, !tbaa !11
  %797 = load float, ptr %64, align 4, !tbaa !11
  store float %797, ptr %50, align 4, !tbaa !11
  %798 = load float, ptr %64, align 4, !tbaa !11
  %799 = fmul float %798, -4.375000e-01
  store float %799, ptr %51, align 4, !tbaa !11
  %800 = load float, ptr %49, align 4, !tbaa !11
  store float %800, ptr %52, align 4, !tbaa !11
  %801 = load ptr, ptr %25, align 8, !tbaa !5
  %802 = load i64, ptr %47, align 8, !tbaa !9
  %803 = sub nsw i64 %802, 1
  %804 = getelementptr inbounds float, ptr %801, i64 %803
  %805 = load ptr, ptr %26, align 8, !tbaa !5
  %806 = load i64, ptr %47, align 8, !tbaa !9
  %807 = sub nsw i64 %806, 1
  %808 = getelementptr inbounds float, ptr %805, i64 %807
  %809 = load ptr, ptr %25, align 8, !tbaa !5
  %810 = load i64, ptr %47, align 8, !tbaa !9
  %811 = getelementptr inbounds float, ptr %809, i64 %810
  %812 = load ptr, ptr %26, align 8, !tbaa !5
  %813 = load i64, ptr %47, align 8, !tbaa !9
  %814 = getelementptr inbounds float, ptr %812, i64 %813
  %815 = call i32 @slanv2_(ptr noundef %49, ptr noundef %50, ptr noundef %51, ptr noundef %52, ptr noundef %804, ptr noundef %808, ptr noundef %811, ptr noundef %814, ptr noundef %54, ptr noundef %59)
  br label %816

816:                                              ; preds = %782
  %817 = load i64, ptr %47, align 8, !tbaa !9
  %818 = add nsw i64 %817, -2
  store i64 %818, ptr %47, align 8, !tbaa !9
  br label %741, !llvm.loop !16

819:                                              ; preds = %741
  %820 = load i64, ptr %57, align 8, !tbaa !9
  %821 = load i64, ptr %79, align 8, !tbaa !9
  %822 = icmp eq i64 %820, %821
  br i1 %822, label %823, label %858

823:                                              ; preds = %819
  %824 = load ptr, ptr %23, align 8, !tbaa !5
  %825 = load i64, ptr %57, align 8, !tbaa !9
  %826 = add nsw i64 %825, 1
  %827 = load i64, ptr %57, align 8, !tbaa !9
  %828 = add nsw i64 %827, 1
  %829 = load i64, ptr %34, align 8, !tbaa !9
  %830 = mul nsw i64 %828, %829
  %831 = add nsw i64 %826, %830
  %832 = getelementptr inbounds float, ptr %824, i64 %831
  %833 = load float, ptr %832, align 4, !tbaa !11
  %834 = load ptr, ptr %25, align 8, !tbaa !5
  %835 = load i64, ptr %57, align 8, !tbaa !9
  %836 = add nsw i64 %835, 1
  %837 = getelementptr inbounds float, ptr %834, i64 %836
  store float %833, ptr %837, align 4, !tbaa !11
  %838 = load ptr, ptr %26, align 8, !tbaa !5
  %839 = load i64, ptr %57, align 8, !tbaa !9
  %840 = add nsw i64 %839, 1
  %841 = getelementptr inbounds float, ptr %838, i64 %840
  store float 0.000000e+00, ptr %841, align 4, !tbaa !11
  %842 = load ptr, ptr %25, align 8, !tbaa !5
  %843 = load i64, ptr %57, align 8, !tbaa !9
  %844 = add nsw i64 %843, 1
  %845 = getelementptr inbounds float, ptr %842, i64 %844
  %846 = load float, ptr %845, align 4, !tbaa !11
  %847 = load ptr, ptr %25, align 8, !tbaa !5
  %848 = load i64, ptr %57, align 8, !tbaa !9
  %849 = getelementptr inbounds float, ptr %847, i64 %848
  store float %846, ptr %849, align 4, !tbaa !11
  %850 = load ptr, ptr %26, align 8, !tbaa !5
  %851 = load i64, ptr %57, align 8, !tbaa !9
  %852 = add nsw i64 %851, 1
  %853 = getelementptr inbounds float, ptr %850, i64 %852
  %854 = load float, ptr %853, align 4, !tbaa !11
  %855 = load ptr, ptr %26, align 8, !tbaa !5
  %856 = load i64, ptr %57, align 8, !tbaa !9
  %857 = getelementptr inbounds float, ptr %855, i64 %856
  store float %854, ptr %857, align 4, !tbaa !11
  br label %858

858:                                              ; preds = %823, %819
  br label %1202

859:                                              ; preds = %713
  %860 = load i64, ptr %76, align 8, !tbaa !9
  %861 = load i64, ptr %57, align 8, !tbaa !9
  %862 = sub nsw i64 %860, %861
  %863 = add nsw i64 %862, 1
  %864 = load i64, ptr %63, align 8, !tbaa !9
  %865 = sdiv i64 %864, 2
  %866 = icmp sle i64 %863, %865
  br i1 %866, label %867, label %990

867:                                              ; preds = %859
  %868 = load i64, ptr %76, align 8, !tbaa !9
  %869 = load i64, ptr %63, align 8, !tbaa !9
  %870 = sub nsw i64 %868, %869
  %871 = add nsw i64 %870, 1
  store i64 %871, ptr %57, align 8, !tbaa !9
  %872 = load ptr, ptr %20, align 8, !tbaa !5
  %873 = load i64, ptr %872, align 8, !tbaa !9
  %874 = load i64, ptr %63, align 8, !tbaa !9
  %875 = sub nsw i64 %873, %874
  %876 = add nsw i64 %875, 1
  store i64 %876, ptr %58, align 8, !tbaa !9
  %877 = load ptr, ptr %23, align 8, !tbaa !5
  %878 = load i64, ptr %57, align 8, !tbaa !9
  %879 = load i64, ptr %57, align 8, !tbaa !9
  %880 = load i64, ptr %34, align 8, !tbaa !9
  %881 = mul nsw i64 %879, %880
  %882 = add nsw i64 %878, %881
  %883 = getelementptr inbounds float, ptr %877, i64 %882
  %884 = load ptr, ptr %24, align 8, !tbaa !5
  %885 = load ptr, ptr %23, align 8, !tbaa !5
  %886 = load i64, ptr %58, align 8, !tbaa !9
  %887 = load i64, ptr %34, align 8, !tbaa !9
  %888 = add nsw i64 %886, %887
  %889 = getelementptr inbounds float, ptr %885, i64 %888
  %890 = load ptr, ptr %24, align 8, !tbaa !5
  %891 = call i32 @slacpy_(ptr noundef @.str.1, ptr noundef %63, ptr noundef %63, ptr noundef %883, ptr noundef %884, ptr noundef %889, ptr noundef %890)
  %892 = load i64, ptr %63, align 8, !tbaa !9
  %893 = load i64, ptr %77, align 8, !tbaa !9
  %894 = icmp sgt i64 %892, %893
  br i1 %894, label %895, label %913

895:                                              ; preds = %867
  %896 = load ptr, ptr %23, align 8, !tbaa !5
  %897 = load i64, ptr %58, align 8, !tbaa !9
  %898 = load i64, ptr %34, align 8, !tbaa !9
  %899 = add nsw i64 %897, %898
  %900 = getelementptr inbounds float, ptr %896, i64 %899
  %901 = load ptr, ptr %24, align 8, !tbaa !5
  %902 = load ptr, ptr %25, align 8, !tbaa !5
  %903 = load i64, ptr %57, align 8, !tbaa !9
  %904 = getelementptr inbounds float, ptr %902, i64 %903
  %905 = load ptr, ptr %26, align 8, !tbaa !5
  %906 = load i64, ptr %57, align 8, !tbaa !9
  %907 = getelementptr inbounds float, ptr %905, i64 %906
  %908 = getelementptr inbounds [1 x float], ptr %80, i64 0, i64 0
  %909 = load ptr, ptr %31, align 8, !tbaa !5
  %910 = getelementptr inbounds float, ptr %909, i64 1
  %911 = load ptr, ptr %32, align 8, !tbaa !5
  %912 = call i32 @slaqr4_(ptr noundef @c_false, ptr noundef @c_false, ptr noundef %63, ptr noundef @c__1, ptr noundef %63, ptr noundef %900, ptr noundef %901, ptr noundef %904, ptr noundef %907, ptr noundef @c__1, ptr noundef @c__1, ptr noundef %908, ptr noundef @c__1, ptr noundef %910, ptr noundef %911, ptr noundef %66)
  br label %928

913:                                              ; preds = %867
  %914 = load ptr, ptr %23, align 8, !tbaa !5
  %915 = load i64, ptr %58, align 8, !tbaa !9
  %916 = load i64, ptr %34, align 8, !tbaa !9
  %917 = add nsw i64 %915, %916
  %918 = getelementptr inbounds float, ptr %914, i64 %917
  %919 = load ptr, ptr %24, align 8, !tbaa !5
  %920 = load ptr, ptr %25, align 8, !tbaa !5
  %921 = load i64, ptr %57, align 8, !tbaa !9
  %922 = getelementptr inbounds float, ptr %920, i64 %921
  %923 = load ptr, ptr %26, align 8, !tbaa !5
  %924 = load i64, ptr %57, align 8, !tbaa !9
  %925 = getelementptr inbounds float, ptr %923, i64 %924
  %926 = getelementptr inbounds [1 x float], ptr %80, i64 0, i64 0
  %927 = call i32 @slahqr_(ptr noundef @c_false, ptr noundef @c_false, ptr noundef %63, ptr noundef @c__1, ptr noundef %63, ptr noundef %918, ptr noundef %919, ptr noundef %922, ptr noundef %925, ptr noundef @c__1, ptr noundef @c__1, ptr noundef %926, ptr noundef @c__1, ptr noundef %66)
  br label %928

928:                                              ; preds = %913, %895
  %929 = load i64, ptr %66, align 8, !tbaa !9
  %930 = load i64, ptr %57, align 8, !tbaa !9
  %931 = add nsw i64 %930, %929
  store i64 %931, ptr %57, align 8, !tbaa !9
  %932 = load i64, ptr %57, align 8, !tbaa !9
  %933 = load i64, ptr %76, align 8, !tbaa !9
  %934 = icmp sge i64 %932, %933
  br i1 %934, label %935, label %989

935:                                              ; preds = %928
  %936 = load ptr, ptr %23, align 8, !tbaa !5
  %937 = load i64, ptr %76, align 8, !tbaa !9
  %938 = sub nsw i64 %937, 1
  %939 = load i64, ptr %76, align 8, !tbaa !9
  %940 = sub nsw i64 %939, 1
  %941 = load i64, ptr %34, align 8, !tbaa !9
  %942 = mul nsw i64 %940, %941
  %943 = add nsw i64 %938, %942
  %944 = getelementptr inbounds float, ptr %936, i64 %943
  %945 = load float, ptr %944, align 4, !tbaa !11
  store float %945, ptr %49, align 4, !tbaa !11
  %946 = load ptr, ptr %23, align 8, !tbaa !5
  %947 = load i64, ptr %76, align 8, !tbaa !9
  %948 = load i64, ptr %76, align 8, !tbaa !9
  %949 = sub nsw i64 %948, 1
  %950 = load i64, ptr %34, align 8, !tbaa !9
  %951 = mul nsw i64 %949, %950
  %952 = add nsw i64 %947, %951
  %953 = getelementptr inbounds float, ptr %946, i64 %952
  %954 = load float, ptr %953, align 4, !tbaa !11
  store float %954, ptr %51, align 4, !tbaa !11
  %955 = load ptr, ptr %23, align 8, !tbaa !5
  %956 = load i64, ptr %76, align 8, !tbaa !9
  %957 = sub nsw i64 %956, 1
  %958 = load i64, ptr %76, align 8, !tbaa !9
  %959 = load i64, ptr %34, align 8, !tbaa !9
  %960 = mul nsw i64 %958, %959
  %961 = add nsw i64 %957, %960
  %962 = getelementptr inbounds float, ptr %955, i64 %961
  %963 = load float, ptr %962, align 4, !tbaa !11
  store float %963, ptr %50, align 4, !tbaa !11
  %964 = load ptr, ptr %23, align 8, !tbaa !5
  %965 = load i64, ptr %76, align 8, !tbaa !9
  %966 = load i64, ptr %76, align 8, !tbaa !9
  %967 = load i64, ptr %34, align 8, !tbaa !9
  %968 = mul nsw i64 %966, %967
  %969 = add nsw i64 %965, %968
  %970 = getelementptr inbounds float, ptr %964, i64 %969
  %971 = load float, ptr %970, align 4, !tbaa !11
  store float %971, ptr %52, align 4, !tbaa !11
  %972 = load ptr, ptr %25, align 8, !tbaa !5
  %973 = load i64, ptr %76, align 8, !tbaa !9
  %974 = sub nsw i64 %973, 1
  %975 = getelementptr inbounds float, ptr %972, i64 %974
  %976 = load ptr, ptr %26, align 8, !tbaa !5
  %977 = load i64, ptr %76, align 8, !tbaa !9
  %978 = sub nsw i64 %977, 1
  %979 = getelementptr inbounds float, ptr %976, i64 %978
  %980 = load ptr, ptr %25, align 8, !tbaa !5
  %981 = load i64, ptr %76, align 8, !tbaa !9
  %982 = getelementptr inbounds float, ptr %980, i64 %981
  %983 = load ptr, ptr %26, align 8, !tbaa !5
  %984 = load i64, ptr %76, align 8, !tbaa !9
  %985 = getelementptr inbounds float, ptr %983, i64 %984
  %986 = call i32 @slanv2_(ptr noundef %49, ptr noundef %50, ptr noundef %51, ptr noundef %52, ptr noundef %975, ptr noundef %979, ptr noundef %982, ptr noundef %985, ptr noundef %54, ptr noundef %59)
  %987 = load i64, ptr %76, align 8, !tbaa !9
  %988 = sub nsw i64 %987, 1
  store i64 %988, ptr %57, align 8, !tbaa !9
  br label %989

989:                                              ; preds = %935, %928
  br label %990

990:                                              ; preds = %989, %859
  %991 = load i64, ptr %76, align 8, !tbaa !9
  %992 = load i64, ptr %57, align 8, !tbaa !9
  %993 = sub nsw i64 %991, %992
  %994 = add nsw i64 %993, 1
  %995 = load i64, ptr %63, align 8, !tbaa !9
  %996 = icmp sgt i64 %994, %995
  br i1 %996, label %997, label %1124

997:                                              ; preds = %990
  store i64 0, ptr %89, align 8, !tbaa !9
  %998 = load i64, ptr %57, align 8, !tbaa !9
  %999 = add nsw i64 %998, 1
  store i64 %999, ptr %39, align 8, !tbaa !9
  %1000 = load i64, ptr %76, align 8, !tbaa !9
  store i64 %1000, ptr %48, align 8, !tbaa !9
  br label %1001

1001:                                             ; preds = %1119, %997
  %1002 = load i64, ptr %48, align 8, !tbaa !9
  %1003 = load i64, ptr %39, align 8, !tbaa !9
  %1004 = icmp sge i64 %1002, %1003
  br i1 %1004, label %1005, label %1122

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

1008:                                             ; preds = %1005
  br label %1123

1009:                                             ; preds = %1005
  store i64 1, ptr %89, align 8, !tbaa !9
  %1010 = load i64, ptr %48, align 8, !tbaa !9
  %1011 = sub nsw i64 %1010, 1
  store i64 %1011, ptr %40, align 8, !tbaa !9
  %1012 = load i64, ptr %57, align 8, !tbaa !9
  store i64 %1012, ptr %47, align 8, !tbaa !9
  br label %1013

1013:                                             ; preds = %1115, %1009
  %1014 = load i64, ptr %47, align 8, !tbaa !9
  %1015 = load i64, ptr %40, align 8, !tbaa !9
  %1016 = icmp sle i64 %1014, %1015
  br i1 %1016, label %1017, label %1118

1017:                                             ; preds = %1013
  %1018 = load ptr, ptr %25, align 8, !tbaa !5
  %1019 = load i64, ptr %47, align 8, !tbaa !9
  %1020 = getelementptr inbounds float, ptr %1018, i64 %1019
  %1021 = load float, ptr %1020, align 4, !tbaa !11
  store float %1021, ptr %43, align 4, !tbaa !11
  %1022 = load float, ptr %43, align 4, !tbaa !11
  %1023 = fcmp oge float %1022, 0.000000e+00
  br i1 %1023, label %1024, label %1026

1024:                                             ; preds = %1017
  %1025 = load float, ptr %43, align 4, !tbaa !11
  br label %1029

1026:                                             ; preds = %1017
  %1027 = load float, ptr %43, align 4, !tbaa !11
  %1028 = fneg float %1027
  br label %1029

1029:                                             ; preds = %1026, %1024
  %1030 = phi float [ %1025, %1024 ], [ %1028, %1026 ]
  %1031 = fpext float %1030 to double
  %1032 = load ptr, ptr %26, align 8, !tbaa !5
  %1033 = load i64, ptr %47, align 8, !tbaa !9
  %1034 = getelementptr inbounds float, ptr %1032, i64 %1033
  %1035 = load float, ptr %1034, align 4, !tbaa !11
  store float %1035, ptr %44, align 4, !tbaa !11
  %1036 = load float, ptr %44, align 4, !tbaa !11
  %1037 = fcmp oge float %1036, 0.000000e+00
  br i1 %1037, label %1038, label %1040

1038:                                             ; preds = %1029
  %1039 = load float, ptr %44, align 4, !tbaa !11
  br label %1043

1040:                                             ; preds = %1029
  %1041 = load float, ptr %44, align 4, !tbaa !11
  %1042 = fneg float %1041
  br label %1043

1043:                                             ; preds = %1040, %1038
  %1044 = phi float [ %1039, %1038 ], [ %1042, %1040 ]
  %1045 = fpext float %1044 to double
  %1046 = fadd double %1031, %1045
  %1047 = load ptr, ptr %25, align 8, !tbaa !5
  %1048 = load i64, ptr %47, align 8, !tbaa !9
  %1049 = add nsw i64 %1048, 1
  %1050 = getelementptr inbounds float, ptr %1047, i64 %1049
  %1051 = load float, ptr %1050, align 4, !tbaa !11
  store float %1051, ptr %45, align 4, !tbaa !11
  %1052 = load float, ptr %45, align 4, !tbaa !11
  %1053 = fcmp oge float %1052, 0.000000e+00
  br i1 %1053, label %1054, label %1056

1054:                                             ; preds = %1043
  %1055 = load float, ptr %45, align 4, !tbaa !11
  br label %1059

1056:                                             ; preds = %1043
  %1057 = load float, ptr %45, align 4, !tbaa !11
  %1058 = fneg float %1057
  br label %1059

1059:                                             ; preds = %1056, %1054
  %1060 = phi float [ %1055, %1054 ], [ %1058, %1056 ]
  %1061 = fpext float %1060 to double
  %1062 = load ptr, ptr %26, align 8, !tbaa !5
  %1063 = load i64, ptr %47, align 8, !tbaa !9
  %1064 = add nsw i64 %1063, 1
  %1065 = getelementptr inbounds float, ptr %1062, i64 %1064
  %1066 = load float, ptr %1065, align 4, !tbaa !11
  store float %1066, ptr %46, align 4, !tbaa !11
  %1067 = load float, ptr %46, align 4, !tbaa !11
  %1068 = fcmp oge float %1067, 0.000000e+00
  br i1 %1068, label %1069, label %1071

1069:                                             ; preds = %1059
  %1070 = load float, ptr %46, align 4, !tbaa !11
  br label %1074

1071:                                             ; preds = %1059
  %1072 = load float, ptr %46, align 4, !tbaa !11
  %1073 = fneg float %1072
  br label %1074

1074:                                             ; preds = %1071, %1069
  %1075 = phi float [ %1070, %1069 ], [ %1073, %1071 ]
  %1076 = fpext float %1075 to double
  %1077 = fadd double %1061, %1076
  %1078 = fcmp olt double %1046, %1077
  br i1 %1078, label %1079, label %1114

1079:                                             ; preds = %1074
  store i64 0, ptr %89, align 8, !tbaa !9
  %1080 = load ptr, ptr %25, align 8, !tbaa !5
  %1081 = load i64, ptr %47, align 8, !tbaa !9
  %1082 = getelementptr inbounds float, ptr %1080, i64 %1081
  %1083 = load float, ptr %1082, align 4, !tbaa !11
  store float %1083, ptr %78, align 4, !tbaa !11
  %1084 = load ptr, ptr %25, align 8, !tbaa !5
  %1085 = load i64, ptr %47, align 8, !tbaa !9
  %1086 = add nsw i64 %1085, 1
  %1087 = getelementptr inbounds float, ptr %1084, i64 %1086
  %1088 = load float, ptr %1087, align 4, !tbaa !11
  %1089 = load ptr, ptr %25, align 8, !tbaa !5
  %1090 = load i64, ptr %47, align 8, !tbaa !9
  %1091 = getelementptr inbounds float, ptr %1089, i64 %1090
  store float %1088, ptr %1091, align 4, !tbaa !11
  %1092 = load float, ptr %78, align 4, !tbaa !11
  %1093 = load ptr, ptr %25, align 8, !tbaa !5
  %1094 = load i64, ptr %47, align 8, !tbaa !9
  %1095 = add nsw i64 %1094, 1
  %1096 = getelementptr inbounds float, ptr %1093, i64 %1095
  store float %1092, ptr %1096, align 4, !tbaa !11
  %1097 = load ptr, ptr %26, align 8, !tbaa !5
  %1098 = load i64, ptr %47, align 8, !tbaa !9
  %1099 = getelementptr inbounds float, ptr %1097, i64 %1098
  %1100 = load float, ptr %1099, align 4, !tbaa !11
  store float %1100, ptr %78, align 4, !tbaa !11
  %1101 = load ptr, ptr %26, align 8, !tbaa !5
  %1102 = load i64, ptr %47, align 8, !tbaa !9
  %1103 = add nsw i64 %1102, 1
  %1104 = getelementptr inbounds float, ptr %1101, i64 %1103
  %1105 = load float, ptr %1104, align 4, !tbaa !11
  %1106 = load ptr, ptr %26, align 8, !tbaa !5
  %1107 = load i64, ptr %47, align 8, !tbaa !9
  %1108 = getelementptr inbounds float, ptr %1106, i64 %1107
  store float %1105, ptr %1108, align 4, !tbaa !11
  %1109 = load float, ptr %78, align 4, !tbaa !11
  %1110 = load ptr, ptr %26, align 8, !tbaa !5
  %1111 = load i64, ptr %47, align 8, !tbaa !9
  %1112 = add nsw i64 %1111, 1
  %1113 = getelementptr inbounds float, ptr %1110, i64 %1112
  store float %1109, ptr %1113, align 4, !tbaa !11
  br label %1114

1114:                                             ; preds = %1079, %1074
  br label %1115

1115:                                             ; preds = %1114
  %1116 = load i64, ptr %47, align 8, !tbaa !9
  %1117 = add nsw i64 %1116, 1
  store i64 %1117, ptr %47, align 8, !tbaa !9
  br label %1013, !llvm.loop !17

1118:                                             ; preds = %1013
  br label %1119

1119:                                             ; preds = %1118
  %1120 = load i64, ptr %48, align 8, !tbaa !9
  %1121 = add nsw i64 %1120, -1
  store i64 %1121, ptr %48, align 8, !tbaa !9
  br label %1001, !llvm.loop !18

1122:                                             ; preds = %1001
  br label %1123

1123:                                             ; preds = %1122, %1008
  br label %1124

1124:                                             ; preds = %1123, %990
  %1125 = load i64, ptr %57, align 8, !tbaa !9
  %1126 = add nsw i64 %1125, 2
  store i64 %1126, ptr %39, align 8, !tbaa !9
  %1127 = load i64, ptr %76, align 8, !tbaa !9
  store i64 %1127, ptr %47, align 8, !tbaa !9
  br label %1128

1128:                                             ; preds = %1198, %1124
  %1129 = load i64, ptr %47, align 8, !tbaa !9
  %1130 = load i64, ptr %39, align 8, !tbaa !9
  %1131 = icmp sge i64 %1129, %1130
  br i1 %1131, label %1132, label %1201

1132:                                             ; preds = %1128
  %1133 = load ptr, ptr %26, align 8, !tbaa !5
  %1134 = load i64, ptr %47, align 8, !tbaa !9
  %1135 = getelementptr inbounds float, ptr %1133, i64 %1134
  %1136 = load float, ptr %1135, align 4, !tbaa !11
  %1137 = load ptr, ptr %26, align 8, !tbaa !5
  %1138 = load i64, ptr %47, align 8, !tbaa !9
  %1139 = sub nsw i64 %1138, 1
  %1140 = getelementptr inbounds float, ptr %1137, i64 %1139
  %1141 = load float, ptr %1140, align 4, !tbaa !11
  %1142 = fneg float %1141
  %1143 = fcmp une float %1136, %1142
  br i1 %1143, label %1144, label %1197

1144:                                             ; preds = %1132
  %1145 = load ptr, ptr %25, align 8, !tbaa !5
  %1146 = load i64, ptr %47, align 8, !tbaa !9
  %1147 = getelementptr inbounds float, ptr %1145, i64 %1146
  %1148 = load float, ptr %1147, align 4, !tbaa !11
  store float %1148, ptr %78, align 4, !tbaa !11
  %1149 = load ptr, ptr %25, align 8, !tbaa !5
  %1150 = load i64, ptr %47, align 8, !tbaa !9
  %1151 = sub nsw i64 %1150, 1
  %1152 = getelementptr inbounds float, ptr %1149, i64 %1151
  %1153 = load float, ptr %1152, align 4, !tbaa !11
  %1154 = load ptr, ptr %25, align 8, !tbaa !5
  %1155 = load i64, ptr %47, align 8, !tbaa !9
  %1156 = getelementptr inbounds float, ptr %1154, i64 %1155
  store float %1153, ptr %1156, align 4, !tbaa !11
  %1157 = load ptr, ptr %25, align 8, !tbaa !5
  %1158 = load i64, ptr %47, align 8, !tbaa !9
  %1159 = sub nsw i64 %1158, 2
  %1160 = getelementptr inbounds float, ptr %1157, i64 %1159
  %1161 = load float, ptr %1160, align 4, !tbaa !11
  %1162 = load ptr, ptr %25, align 8, !tbaa !5
  %1163 = load i64, ptr %47, align 8, !tbaa !9
  %1164 = sub nsw i64 %1163, 1
  %1165 = getelementptr inbounds float, ptr %1162, i64 %1164
  store float %1161, ptr %1165, align 4, !tbaa !11
  %1166 = load float, ptr %78, align 4, !tbaa !11
  %1167 = load ptr, ptr %25, align 8, !tbaa !5
  %1168 = load i64, ptr %47, align 8, !tbaa !9
  %1169 = sub nsw i64 %1168, 2
  %1170 = getelementptr inbounds float, ptr %1167, i64 %1169
  store float %1166, ptr %1170, align 4, !tbaa !11
  %1171 = load ptr, ptr %26, align 8, !tbaa !5
  %1172 = load i64, ptr %47, align 8, !tbaa !9
  %1173 = getelementptr inbounds float, ptr %1171, i64 %1172
  %1174 = load float, ptr %1173, align 4, !tbaa !11
  store float %1174, ptr %78, align 4, !tbaa !11
  %1175 = load ptr, ptr %26, align 8, !tbaa !5
  %1176 = load i64, ptr %47, align 8, !tbaa !9
  %1177 = sub nsw i64 %1176, 1
  %1178 = getelementptr inbounds float, ptr %1175, i64 %1177
  %1179 = load float, ptr %1178, align 4, !tbaa !11
  %1180 = load ptr, ptr %26, align 8, !tbaa !5
  %1181 = load i64, ptr %47, align 8, !tbaa !9
  %1182 = getelementptr inbounds float, ptr %1180, i64 %1181
  store float %1179, ptr %1182, align 4, !tbaa !11
  %1183 = load ptr, ptr %26, align 8, !tbaa !5
  %1184 = load i64, ptr %47, align 8, !tbaa !9
  %1185 = sub nsw i64 %1184, 2
  %1186 = getelementptr inbounds float, ptr %1183, i64 %1185
  %1187 = load float, ptr %1186, align 4, !tbaa !11
  %1188 = load ptr, ptr %26, align 8, !tbaa !5
  %1189 = load i64, ptr %47, align 8, !tbaa !9
  %1190 = sub nsw i64 %1189, 1
  %1191 = getelementptr inbounds float, ptr %1188, i64 %1190
  store float %1187, ptr %1191, align 4, !tbaa !11
  %1192 = load float, ptr %78, align 4, !tbaa !11
  %1193 = load ptr, ptr %26, align 8, !tbaa !5
  %1194 = load i64, ptr %47, align 8, !tbaa !9
  %1195 = sub nsw i64 %1194, 2
  %1196 = getelementptr inbounds float, ptr %1193, i64 %1195
  store float %1192, ptr %1196, align 4, !tbaa !11
  br label %1197

1197:                                             ; preds = %1144, %1132
  br label %1198

1198:                                             ; preds = %1197
  %1199 = load i64, ptr %47, align 8, !tbaa !9
  %1200 = add nsw i64 %1199, -2
  store i64 %1200, ptr %47, align 8, !tbaa !9
  br label %1128, !llvm.loop !19

1201:                                             ; preds = %1128
  br label %1202

1202:                                             ; preds = %1201, %858
  %1203 = load i64, ptr %76, align 8, !tbaa !9
  %1204 = load i64, ptr %57, align 8, !tbaa !9
  %1205 = sub nsw i64 %1203, %1204
  %1206 = add nsw i64 %1205, 1
  %1207 = icmp eq i64 %1206, 2
  br i1 %1207, label %1208, label %1283

1208:                                             ; preds = %1202
  %1209 = load ptr, ptr %26, align 8, !tbaa !5
  %1210 = load i64, ptr %76, align 8, !tbaa !9
  %1211 = getelementptr inbounds float, ptr %1209, i64 %1210
  %1212 = load float, ptr %1211, align 4, !tbaa !11
  %1213 = fcmp oeq float %1212, 0.000000e+00
  br i1 %1213, label %1214, label %1282

1214:                                             ; preds = %1208
  %1215 = load ptr, ptr %25, align 8, !tbaa !5
  %1216 = load i64, ptr %76, align 8, !tbaa !9
  %1217 = getelementptr inbounds float, ptr %1215, i64 %1216
  %1218 = load float, ptr %1217, align 4, !tbaa !11
  %1219 = load ptr, ptr %23, align 8, !tbaa !5
  %1220 = load i64, ptr %76, align 8, !tbaa !9
  %1221 = load i64, ptr %76, align 8, !tbaa !9
  %1222 = load i64, ptr %34, align 8, !tbaa !9
  %1223 = mul nsw i64 %1221, %1222
  %1224 = add nsw i64 %1220, %1223
  %1225 = getelementptr inbounds float, ptr %1219, i64 %1224
  %1226 = load float, ptr %1225, align 4, !tbaa !11
  %1227 = fsub float %1218, %1226
  store float %1227, ptr %43, align 4, !tbaa !11
  %1228 = load float, ptr %43, align 4, !tbaa !11
  %1229 = fcmp oge float %1228, 0.000000e+00
  br i1 %1229, label %1230, label %1232

1230:                                             ; preds = %1214
  %1231 = load float, ptr %43, align 4, !tbaa !11
  br label %1235

1232:                                             ; preds = %1214
  %1233 = load float, ptr %43, align 4, !tbaa !11
  %1234 = fneg float %1233
  br label %1235

1235:                                             ; preds = %1232, %1230
  %1236 = phi float [ %1231, %1230 ], [ %1234, %1232 ]
  %1237 = fpext float %1236 to double
  %1238 = load ptr, ptr %25, align 8, !tbaa !5
  %1239 = load i64, ptr %76, align 8, !tbaa !9
  %1240 = sub nsw i64 %1239, 1
  %1241 = getelementptr inbounds float, ptr %1238, i64 %1240
  %1242 = load float, ptr %1241, align 4, !tbaa !11
  %1243 = load ptr, ptr %23, align 8, !tbaa !5
  %1244 = load i64, ptr %76, align 8, !tbaa !9
  %1245 = load i64, ptr %76, align 8, !tbaa !9
  %1246 = load i64, ptr %34, align 8, !tbaa !9
  %1247 = mul nsw i64 %1245, %1246
  %1248 = add nsw i64 %1244, %1247
  %1249 = getelementptr inbounds float, ptr %1243, i64 %1248
  %1250 = load float, ptr %1249, align 4, !tbaa !11
  %1251 = fsub float %1242, %1250
  store float %1251, ptr %44, align 4, !tbaa !11
  %1252 = load float, ptr %44, align 4, !tbaa !11
  %1253 = fcmp oge float %1252, 0.000000e+00
  br i1 %1253, label %1254, label %1256

1254:                                             ; preds = %1235
  %1255 = load float, ptr %44, align 4, !tbaa !11
  br label %1259

1256:                                             ; preds = %1235
  %1257 = load float, ptr %44, align 4, !tbaa !11
  %1258 = fneg float %1257
  br label %1259

1259:                                             ; preds = %1256, %1254
  %1260 = phi float [ %1255, %1254 ], [ %1258, %1256 ]
  %1261 = fpext float %1260 to double
  %1262 = fcmp olt double %1237, %1261
  br i1 %1262, label %1263, label %1272

1263:                                             ; preds = %1259
  %1264 = load ptr, ptr %25, align 8, !tbaa !5
  %1265 = load i64, ptr %76, align 8, !tbaa !9
  %1266 = getelementptr inbounds float, ptr %1264, i64 %1265
  %1267 = load float, ptr %1266, align 4, !tbaa !11
  %1268 = load ptr, ptr %25, align 8, !tbaa !5
  %1269 = load i64, ptr %76, align 8, !tbaa !9
  %1270 = sub nsw i64 %1269, 1
  %1271 = getelementptr inbounds float, ptr %1268, i64 %1270
  store float %1267, ptr %1271, align 4, !tbaa !11
  br label %1281

1272:                                             ; preds = %1259
  %1273 = load ptr, ptr %25, align 8, !tbaa !5
  %1274 = load i64, ptr %76, align 8, !tbaa !9
  %1275 = sub nsw i64 %1274, 1
  %1276 = getelementptr inbounds float, ptr %1273, i64 %1275
  %1277 = load float, ptr %1276, align 4, !tbaa !11
  %1278 = load ptr, ptr %25, align 8, !tbaa !5
  %1279 = load i64, ptr %76, align 8, !tbaa !9
  %1280 = getelementptr inbounds float, ptr %1278, i64 %1279
  store float %1277, ptr %1280, align 4, !tbaa !11
  br label %1281

1281:                                             ; preds = %1272, %1263
  br label %1282

1282:                                             ; preds = %1281, %1208
  br label %1283

1283:                                             ; preds = %1282, %1202
  %1284 = load i64, ptr %63, align 8, !tbaa !9
  store i64 %1284, ptr %39, align 8, !tbaa !9
  %1285 = load i64, ptr %76, align 8, !tbaa !9
  %1286 = load i64, ptr %57, align 8, !tbaa !9
  %1287 = sub nsw i64 %1285, %1286
  %1288 = add nsw i64 %1287, 1
  store i64 %1288, ptr %40, align 8, !tbaa !9
  %1289 = load i64, ptr %39, align 8, !tbaa !9
  %1290 = load i64, ptr %40, align 8, !tbaa !9
  %1291 = icmp sle i64 %1289, %1290
  br i1 %1291, label %1292, label %1294

1292:                                             ; preds = %1283
  %1293 = load i64, ptr %39, align 8, !tbaa !9
  br label %1296

1294:                                             ; preds = %1283
  %1295 = load i64, ptr %40, align 8, !tbaa !9
  br label %1296

1296:                                             ; preds = %1294, %1292
  %1297 = phi i64 [ %1293, %1292 ], [ %1295, %1294 ]
  store i64 %1297, ptr %63, align 8, !tbaa !9
  %1298 = load i64, ptr %63, align 8, !tbaa !9
  %1299 = srem i64 %1298, 2
  %1300 = load i64, ptr %63, align 8, !tbaa !9
  %1301 = sub nsw i64 %1300, %1299
  store i64 %1301, ptr %63, align 8, !tbaa !9
  %1302 = load i64, ptr %76, align 8, !tbaa !9
  %1303 = load i64, ptr %63, align 8, !tbaa !9
  %1304 = sub nsw i64 %1302, %1303
  %1305 = add nsw i64 %1304, 1
  store i64 %1305, ptr %57, align 8, !tbaa !9
  %1306 = load i64, ptr %63, align 8, !tbaa !9
  %1307 = mul nsw i64 %1306, 3
  %1308 = sub nsw i64 %1307, 3
  store i64 %1308, ptr %67, align 8, !tbaa !9
  %1309 = load ptr, ptr %20, align 8, !tbaa !5
  %1310 = load i64, ptr %1309, align 8, !tbaa !9
  %1311 = load i64, ptr %67, align 8, !tbaa !9
  %1312 = sub nsw i64 %1310, %1311
  %1313 = add nsw i64 %1312, 1
  store i64 %1313, ptr %60, align 8, !tbaa !9
  %1314 = load i64, ptr %67, align 8, !tbaa !9
  %1315 = add nsw i64 %1314, 1
  store i64 %1315, ptr %70, align 8, !tbaa !9
  %1316 = load ptr, ptr %20, align 8, !tbaa !5
  %1317 = load i64, ptr %1316, align 8, !tbaa !9
  %1318 = load i64, ptr %67, align 8, !tbaa !9
  %1319 = sub nsw i64 %1317, %1318
  %1320 = sub nsw i64 %1319, 3
  %1321 = load i64, ptr %67, align 8, !tbaa !9
  %1322 = add nsw i64 %1321, 1
  %1323 = sub nsw i64 %1320, %1322
  %1324 = add nsw i64 %1323, 1
  store i64 %1324, ptr %68, align 8, !tbaa !9
  %1325 = load i64, ptr %67, align 8, !tbaa !9
  %1326 = add nsw i64 %1325, 4
  store i64 %1326, ptr %73, align 8, !tbaa !9
  %1327 = load ptr, ptr %20, align 8, !tbaa !5
  %1328 = load i64, ptr %1327, align 8, !tbaa !9
  %1329 = load i64, ptr %67, align 8, !tbaa !9
  %1330 = sub nsw i64 %1328, %1329
  %1331 = load i64, ptr %73, align 8, !tbaa !9
  %1332 = sub nsw i64 %1330, %1331
  %1333 = add nsw i64 %1332, 1
  store i64 %1333, ptr %69, align 8, !tbaa !9
  %1334 = load ptr, ptr %18, align 8, !tbaa !5
  %1335 = load ptr, ptr %19, align 8, !tbaa !5
  %1336 = load ptr, ptr %20, align 8, !tbaa !5
  %1337 = load ptr, ptr %25, align 8, !tbaa !5
  %1338 = load i64, ptr %57, align 8, !tbaa !9
  %1339 = getelementptr inbounds float, ptr %1337, i64 %1338
  %1340 = load ptr, ptr %26, align 8, !tbaa !5
  %1341 = load i64, ptr %57, align 8, !tbaa !9
  %1342 = getelementptr inbounds float, ptr %1340, i64 %1341
  %1343 = load ptr, ptr %23, align 8, !tbaa !5
  %1344 = load i64, ptr %35, align 8, !tbaa !9
  %1345 = getelementptr inbounds float, ptr %1343, i64 %1344
  %1346 = load ptr, ptr %24, align 8, !tbaa !5
  %1347 = load ptr, ptr %27, align 8, !tbaa !5
  %1348 = load ptr, ptr %28, align 8, !tbaa !5
  %1349 = load ptr, ptr %29, align 8, !tbaa !5
  %1350 = load i64, ptr %37, align 8, !tbaa !9
  %1351 = getelementptr inbounds float, ptr %1349, i64 %1350
  %1352 = load ptr, ptr %30, align 8, !tbaa !5
  %1353 = load ptr, ptr %31, align 8, !tbaa !5
  %1354 = getelementptr inbounds float, ptr %1353, i64 1
  %1355 = load ptr, ptr %23, align 8, !tbaa !5
  %1356 = load i64, ptr %60, align 8, !tbaa !9
  %1357 = load i64, ptr %34, align 8, !tbaa !9
  %1358 = add nsw i64 %1356, %1357
  %1359 = getelementptr inbounds float, ptr %1355, i64 %1358
  %1360 = load ptr, ptr %24, align 8, !tbaa !5
  %1361 = load ptr, ptr %23, align 8, !tbaa !5
  %1362 = load i64, ptr %73, align 8, !tbaa !9
  %1363 = load i64, ptr %34, align 8, !tbaa !9
  %1364 = add nsw i64 %1362, %1363
  %1365 = getelementptr inbounds float, ptr %1361, i64 %1364
  %1366 = load ptr, ptr %24, align 8, !tbaa !5
  %1367 = load ptr, ptr %23, align 8, !tbaa !5
  %1368 = load i64, ptr %60, align 8, !tbaa !9
  %1369 = load i64, ptr %70, align 8, !tbaa !9
  %1370 = load i64, ptr %34, align 8, !tbaa !9
  %1371 = mul nsw i64 %1369, %1370
  %1372 = add nsw i64 %1368, %1371
  %1373 = getelementptr inbounds float, ptr %1367, i64 %1372
  %1374 = load ptr, ptr %24, align 8, !tbaa !5
  %1375 = call i32 @slaqr5_(ptr noundef %1334, ptr noundef %1335, ptr noundef %81, ptr noundef %1336, ptr noundef %79, ptr noundef %76, ptr noundef %63, ptr noundef %1339, ptr noundef %1342, ptr noundef %1345, ptr noundef %1346, ptr noundef %1347, ptr noundef %1348, ptr noundef %1351, ptr noundef %1352, ptr noundef %1354, ptr noundef @c__3, ptr noundef %1359, ptr noundef %1360, ptr noundef %69, ptr noundef %1365, ptr noundef %1366, ptr noundef %68, ptr noundef %1373, ptr noundef %1374)
  br label %1376

1376:                                             ; preds = %1296, %681, %662
  %1377 = load i64, ptr %53, align 8, !tbaa !9
  %1378 = icmp sgt i64 %1377, 0
  br i1 %1378, label %1379, label %1380

1379:                                             ; preds = %1376
  store i64 1, ptr %75, align 8, !tbaa !9
  br label %1383

1380:                                             ; preds = %1376
  %1381 = load i64, ptr %75, align 8, !tbaa !9
  %1382 = add nsw i64 %1381, 1
  store i64 %1382, ptr %75, align 8, !tbaa !9
  br label %1383

1383:                                             ; preds = %1380, %1379
  br label %1384

1384:                                             ; preds = %1383
  %1385 = load i64, ptr %56, align 8, !tbaa !9
  %1386 = add nsw i64 %1385, 1
  store i64 %1386, ptr %56, align 8, !tbaa !9
  br label %424, !llvm.loop !20

1387:                                             ; preds = %424
  %1388 = load i64, ptr %76, align 8, !tbaa !9
  %1389 = load ptr, ptr %33, align 8, !tbaa !5
  store i64 %1388, ptr %1389, align 8, !tbaa !9
  br label %1390

1390:                                             ; preds = %1387, %433
  br label %1391

1391:                                             ; preds = %1390, %151
  %1392 = load i64, ptr %90, align 8, !tbaa !9
  %1393 = sitofp i64 %1392 to float
  %1394 = load ptr, ptr %31, align 8, !tbaa !5
  %1395 = getelementptr inbounds float, ptr %1394, i64 1
  store float %1393, ptr %1395, align 4, !tbaa !11
  store i32 0, ptr %17, align 4
  store i32 1, ptr %91, align 4
  br label %1396

1396:                                             ; preds = %1391, %315, %118
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #4
  call void @llvm.lifetime.end.p0(i64 2, ptr %87) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %86) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %83) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %67) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %66) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %63) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %62) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %55) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %47) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %42) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %39) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %38) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %35) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr %34) #4
  %1397 = load i32, ptr %17, align 4
  ret i32 %1397
}

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

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

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

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

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

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

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

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

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

!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 = !{!7, !7, i64 0}
!14 = distinct !{!14, !15}
!15 = !{!"llvm.loop.mustprogress"}
!16 = distinct !{!16, !15}
!17 = distinct !{!17, !15}
!18 = distinct !{!18, !15}
!19 = distinct !{!19, !15}
!20 = distinct !{!20, !15}


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

@c__13 = external hidden global i64, align 8
@.str = external hidden unnamed_addr constant [7 x i8], align 1
@c__15 = external hidden global i64, align 8
@c_n1 = external hidden global i64, align 8
@c__12 = external hidden global i64, align 8
@c__14 = external hidden global i64, align 8
@c__16 = external hidden global i64, align 8
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@c_false = external hidden global i64, align 8
@c__1 = external hidden global i64, align 8
@c__3 = external hidden global i64, align 8

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @slaqr0_(ptr noundef %0, ptr noundef %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef %13, ptr noundef %14, ptr noundef %15) local_unnamed_addr #0 {
  %17 = alloca i64, align 8
  %18 = alloca float, align 4
  %19 = alloca float, align 4
  %20 = alloca float, align 4
  %21 = alloca float, align 4
  %22 = alloca i64, align 8
  %23 = alloca float, align 4
  %24 = alloca float, align 4
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca [1 x float], align 4
  %34 = alloca i64, align 8
  %35 = alloca [2 x i8], align 1
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %19) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %20) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %35) #5
  %36 = load i64, ptr %6, align 8, !tbaa !5
  %37 = xor i64 %36, -1
  %38 = getelementptr inbounds float, ptr %5, i64 %37
  %39 = getelementptr inbounds i8, ptr %7, i64 -4
  %40 = getelementptr inbounds i8, ptr %8, i64 -4
  store i64 0, ptr %15, align 8, !tbaa !5
  %41 = load i64, ptr %2, align 8, !tbaa !5
  %42 = icmp eq i64 %41, 0
  br i1 %42, label %405, label %43

43:                                               ; preds = %16
  %44 = icmp slt i64 %41, 12
  br i1 %44, label %45, label %49

45:                                               ; preds = %43
  %46 = load i64, ptr %14, align 8, !tbaa !5
  %.not534 = icmp eq i64 %46, -1
  br i1 %.not534, label %.loopexit546, label %47

47:                                               ; preds = %45
  %48 = tail call i32 @slahqr_(ptr noundef %0, ptr noundef %1, ptr noundef nonnull %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %7, ptr noundef %8, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef %12, ptr noundef nonnull %15) #5
  br label %.loopexit546

49:                                               ; preds = %43
  %50 = load i64, ptr %0, align 8, !tbaa !5
  %.not = icmp eq i64 %50, 0
  %. = select i1 %.not, i8 69, i8 83
  store i8 %., ptr %35, align 1, !tbaa !9
  %51 = load i64, ptr %1, align 8, !tbaa !5
  %.not505 = icmp eq i64 %51, 0
  %spec.select = select i1 %.not505, i8 78, i8 86
  %52 = getelementptr inbounds i8, ptr %35, i64 1
  store i8 %spec.select, ptr %52, align 1
  %53 = call i64 @ilaenv_(ptr noundef nonnull @c__13, ptr noundef nonnull @.str, ptr noundef nonnull %35, ptr noundef nonnull %2, ptr noundef %3, ptr noundef %4, ptr noundef %14) #5
  %54 = call i64 @llvm.smax.i64(i64 %53, i64 2)
  %55 = load i64, ptr %4, align 8, !tbaa !5
  %56 = load i64, ptr %3, align 8, !tbaa !5
  %57 = sub nsw i64 %55, %56
  %58 = add nsw i64 %57, 1
  %59 = load i64, ptr %2, align 8, !tbaa !5
  %60 = add nsw i64 %59, -1
  %61 = sdiv i64 %60, 3
  %62 = call i64 @llvm.smin.i64(i64 %58, i64 %61)
  %63 = call i64 @llvm.smin.i64(i64 %62, i64 %54)
  %64 = call i64 @ilaenv_(ptr noundef nonnull @c__15, ptr noundef nonnull @.str, ptr noundef nonnull %35, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef %14) #5
  %65 = load i64, ptr %2, align 8, !tbaa !5
  %66 = add nsw i64 %65, 6
  %67 = sdiv i64 %66, 9
  %68 = call i64 @llvm.smin.i64(i64 %64, i64 %67)
  %69 = load i64, ptr %4, align 8, !tbaa !5
  %70 = load i64, ptr %3, align 8, !tbaa !5
  %71 = sub nsw i64 %69, %70
  %72 = call i64 @llvm.smin.i64(i64 %68, i64 %71)
  %73 = srem i64 %72, 2
  %74 = sub nsw i64 %72, %73
  %75 = call i64 @llvm.smax.i64(i64 %74, i64 2)
  %76 = add nsw i64 %63, 1
  store i64 %76, ptr %17, align 8, !tbaa !5
  %77 = call i32 @slaqr3_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %17, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %25, ptr noundef nonnull %22, ptr noundef %7, ptr noundef %8, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef nonnull %2, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %13, ptr noundef nonnull @c_n1) #5
  %78 = lshr i64 %75, 1
  %79 = add nuw nsw i64 %78, %75
  store i64 %79, ptr %17, align 8, !tbaa !5
  %80 = load float, ptr %13, align 4, !tbaa !10
  %81 = fptosi float %80 to i64
  %82 = call i64 @llvm.smax.i64(i64 %79, i64 %81)
  %83 = load i64, ptr %14, align 8, !tbaa !5
  %84 = icmp eq i64 %83, -1
  br i1 %84, label %85, label %87

85:                                               ; preds = %49
  %86 = uitofp nneg i64 %82 to float
  br label %405

87:                                               ; preds = %49
  %88 = call i64 @ilaenv_(ptr noundef nonnull @c__12, ptr noundef nonnull @.str, ptr noundef nonnull %35, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %14) #5
  %89 = call i64 @llvm.smax.i64(i64 %88, i64 11)
  %90 = call i64 @ilaenv_(ptr noundef nonnull @c__14, ptr noundef nonnull @.str, ptr noundef nonnull %35, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %14) #5
  %91 = call i64 @llvm.smax.i64(i64 %90, i64 0)
  %92 = call i64 @ilaenv_(ptr noundef nonnull @c__16, ptr noundef nonnull @.str, ptr noundef nonnull %35, ptr noundef nonnull %2, ptr noundef nonnull %3, ptr noundef nonnull %4, ptr noundef nonnull %14) #5
  %93 = call i64 @llvm.smax.i64(i64 %92, i64 0)
  %94 = call i64 @llvm.umin.i64(i64 %93, i64 2)
  store i64 %94, ptr %34, align 8, !tbaa !5
  %95 = load i64, ptr %2, align 8, !tbaa !5
  %96 = add nsw i64 %95, -1
  %97 = sdiv i64 %96, 3
  %98 = load i64, ptr %14, align 8, !tbaa !5
  %99 = sdiv i64 %98, 2
  %100 = call i64 @llvm.smin.i64(i64 %97, i64 %99)
  store i64 %100, ptr %27, align 8, !tbaa !5
  %101 = load i64, ptr %4, align 8, !tbaa !5
  %102 = load i64, ptr %3, align 8, !tbaa !5
  %103 = sub nsw i64 %101, %102
  %104 = icmp slt i64 %103, 10
  %105 = mul i64 %103, 30
  %106 = add i64 %105, 30
  %107 = select i1 %104, i64 300, i64 %106
  store i64 %101, ptr %31, align 8, !tbaa !5
  store i64 %107, ptr %17, align 8, !tbaa !5
  %invariant.gep = getelementptr i8, ptr %38, i64 4
  %.not513559 = icmp slt i64 %107, 1
  br i1 %.not513559, label %._crit_edge565, label %.lr.ph564

.lr.ph564:                                        ; preds = %87
  %108 = add nsw i64 %95, 6
  %109 = sdiv i64 %108, 9
  %110 = shl i64 %98, 1
  %111 = sdiv i64 %110, 3
  %112 = call i64 @llvm.smin.i64(i64 %109, i64 %111)
  %113 = srem i64 %112, 2
  %114 = sub nsw i64 %112, %113
  %115 = call i64 @llvm.smin.i64(i64 %89, i64 %100)
  %116 = call i64 @llvm.smin.i64(i64 %114, i64 %75)
  %117 = add i64 %36, 1
  %118 = getelementptr i8, ptr %5, i64 4
  br label %119

119:                                              ; preds = %.lr.ph564, %398
  %.0483562 = phi i64 [ 1, %.lr.ph564 ], [ %.1484, %398 ]
  %.0485561 = phi i64 [ undef, %.lr.ph564 ], [ %.1486, %398 ]
  %.0489560 = phi i64 [ 1, %.lr.ph564 ], [ %401, %398 ]
  %120 = load i64, ptr %31, align 8, !tbaa !5
  %121 = load i64, ptr %3, align 8, !tbaa !5
  %122 = icmp slt i64 %120, %121
  br i1 %122, label %.loopexit546, label %.preheader545

.preheader545:                                    ; preds = %119, %123
  %.0490 = phi i64 [ %124, %123 ], [ %120, %119 ]
  %.not514.not = icmp sgt i64 %.0490, %121
  br i1 %.not514.not, label %123, label %130

123:                                              ; preds = %.preheader545
  %124 = add nsw i64 %.0490, -1
  %125 = mul nsw i64 %124, %36
  %126 = getelementptr float, ptr %38, i64 %.0490
  %127 = getelementptr float, ptr %126, i64 %125
  %128 = load float, ptr %127, align 4, !tbaa !10
  %129 = fcmp oeq float %128, 0.000000e+00
  br i1 %129, label %130, label %.preheader545, !llvm.loop !12

130:                                              ; preds = %.preheader545, %123
  %.1491 = phi i64 [ %.0490, %123 ], [ %121, %.preheader545 ]
  store i64 %.1491, ptr %32, align 8, !tbaa !5
  %131 = sub nsw i64 %120, %.1491
  %132 = add nsw i64 %131, 1
  %133 = call i64 @llvm.smin.i64(i64 %132, i64 %100)
  %134 = icmp slt i64 %.0483562, 5
  %135 = load i64, ptr %27, align 8
  %136 = shl i64 %135, 1
  %.sink = select i1 %134, i64 %63, i64 %136
  %137 = call i64 @llvm.smin.i64(i64 %133, i64 %.sink)
  store i64 %137, ptr %27, align 8, !tbaa !5
  %138 = icmp slt i64 %137, %100
  br i1 %138, label %139, label %161

139:                                              ; preds = %130
  %.not519 = icmp slt i64 %137, %131
  br i1 %.not519, label %141, label %140

140:                                              ; preds = %139
  store i64 %132, ptr %27, align 8, !tbaa !5
  br label %161

141:                                              ; preds = %139
  %142 = sub nsw i64 %120, %137
  %143 = mul nsw i64 %142, %36
  %144 = getelementptr float, ptr %38, i64 %142
  %145 = getelementptr i8, ptr %144, i64 4
  %146 = getelementptr float, ptr %145, i64 %143
  %147 = load float, ptr %146, align 4, !tbaa !10
  %148 = fcmp oge float %147, 0.000000e+00
  %149 = fneg float %147
  %150 = select i1 %148, float %147, float %149
  %151 = add nsw i64 %142, -1
  %152 = mul nsw i64 %151, %36
  %153 = getelementptr float, ptr %144, i64 %152
  %154 = load float, ptr %153, align 4, !tbaa !10
  %155 = fcmp oge float %154, 0.000000e+00
  %156 = fneg float %154
  %157 = select i1 %155, float %154, float %156
  %158 = fcmp ogt float %150, %157
  br i1 %158, label %159, label %161

159:                                              ; preds = %141
  %160 = add nsw i64 %137, 1
  store i64 %160, ptr %27, align 8, !tbaa !5
  br label %161

161:                                              ; preds = %140, %159, %141, %130
  %162 = phi i64 [ %132, %140 ], [ %160, %159 ], [ %137, %141 ], [ %137, %130 ]
  br i1 %134, label %170, label %163

163:                                              ; preds = %161
  %164 = icmp slt i64 %.0485561, 0
  %.not520 = icmp slt i64 %162, %133
  %or.cond535 = select i1 %164, i1 %.not520, i1 false
  br i1 %or.cond535, label %170, label %165

165:                                              ; preds = %163
  %166 = add nsw i64 %.0485561, 1
  %167 = sub nsw i64 %162, %166
  %168 = icmp slt i64 %167, 2
  %spec.store.select = select i1 %168, i64 0, i64 %166
  %169 = sub nsw i64 %162, %spec.store.select
  store i64 %169, ptr %27, align 8, !tbaa !5
  br label %170

170:                                              ; preds = %163, %161, %165
  %171 = phi i64 [ %169, %165 ], [ %162, %161 ], [ %162, %163 ]
  %.1486 = phi i64 [ %spec.store.select, %165 ], [ -1, %161 ], [ %.0485561, %163 ]
  %172 = load i64, ptr %2, align 8, !tbaa !5
  %173 = sub nsw i64 %172, %171
  %174 = add nsw i64 %171, 1
  %175 = xor i64 %171, -1
  %176 = add i64 %173, %175
  store i64 %176, ptr %29, align 8, !tbaa !5
  %.neg537 = add i64 %172, 1
  %177 = shl i64 %171, 1
  %reass.sub = sub i64 %.neg537, %177
  %178 = add i64 %reass.sub, -2
  store i64 %178, ptr %30, align 8, !tbaa !5
  %179 = getelementptr inbounds float, ptr %5, i64 %173
  %180 = mul nsw i64 %174, %36
  %gep = getelementptr float, ptr %invariant.gep, i64 %173
  %181 = getelementptr float, ptr %gep, i64 %180
  %gep556 = getelementptr float, ptr %118, i64 %171
  %182 = call i32 @slaqr3_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %2, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull %27, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %25, ptr noundef nonnull %22, ptr noundef %7, ptr noundef %8, ptr noundef %179, ptr noundef nonnull %6, ptr noundef nonnull %29, ptr noundef %181, ptr noundef nonnull %6, ptr noundef nonnull %30, ptr noundef %gep556, ptr noundef nonnull %6, ptr noundef nonnull %13, ptr noundef nonnull %14) #5
  %183 = load i64, ptr %22, align 8, !tbaa !5
  %184 = load i64, ptr %31, align 8, !tbaa !5
  %185 = sub nsw i64 %184, %183
  store i64 %185, ptr %31, align 8, !tbaa !5
  %186 = load i64, ptr %25, align 8, !tbaa !5
  %187 = sub nsw i64 %185, %186
  %188 = add nsw i64 %187, 1
  %189 = icmp eq i64 %183, 0
  br i1 %189, label %._crit_edge568, label %190

._crit_edge568:                                   ; preds = %170
  %.pre = load i64, ptr %32, align 8, !tbaa !5
  %.pre572 = sub nsw i64 %185, %.pre
  br label %197

190:                                              ; preds = %170
  %191 = mul nsw i64 %183, 100
  %192 = load i64, ptr %27, align 8, !tbaa !5
  %193 = mul nsw i64 %192, %91
  %.not521 = icmp sgt i64 %191, %193
  br i1 %.not521, label %398, label %194

194:                                              ; preds = %190
  %195 = load i64, ptr %32, align 8, !tbaa !5
  %196 = sub nsw i64 %185, %195
  %.not523 = icmp slt i64 %196, %115
  br i1 %.not523, label %398, label %197

197:                                              ; preds = %._crit_edge568, %194
  %.pre-phi = phi i64 [ %.pre572, %._crit_edge568 ], [ %196, %194 ]
  %198 = phi i64 [ %.pre, %._crit_edge568 ], [ %195, %194 ]
  %199 = call i64 @llvm.smax.i64(i64 %.pre-phi, i64 2)
  %200 = call i64 @llvm.smin.i64(i64 %116, i64 %199)
  %201 = srem i64 %200, 2
  %202 = sdiv i64 %200, 2
  %203 = sub nsw i64 %200, %201
  store i64 %203, ptr %26, align 8, !tbaa !5
  %204 = srem i64 %.0483562, 6
  %205 = icmp eq i64 %204, 0
  br i1 %205, label %206, label %251

206:                                              ; preds = %197
  %207 = sub nsw i64 %185, %203
  %208 = add nsw i64 %207, 1
  %209 = add nsw i64 %207, 2
  %210 = add nsw i64 %198, 2
  %211 = call i64 @llvm.smax.i64(i64 %209, i64 %210)
  %.not532552 = icmp slt i64 %185, %211
  br i1 %.not532552, label %._crit_edge, label %.lr.ph554

.lr.ph554:                                        ; preds = %206, %.lr.ph554
  %.0493553 = phi i64 [ %220, %.lr.ph554 ], [ %185, %206 ]
  %212 = add nsw i64 %.0493553, -1
  %213 = mul nsw i64 %212, %36
  %214 = getelementptr float, ptr %38, i64 %.0493553
  %215 = getelementptr float, ptr %214, i64 %213
  %216 = load float, ptr %215, align 4, !tbaa !10
  %217 = fcmp oge float %216, 0.000000e+00
  %218 = fneg float %216
  %219 = select i1 %217, float %216, float %218
  %220 = add nsw i64 %.0493553, -2
  %221 = mul nsw i64 %220, %36
  %222 = getelementptr float, ptr %38, i64 %212
  %223 = getelementptr float, ptr %222, i64 %221
  %224 = load float, ptr %223, align 4, !tbaa !10
  %225 = fcmp oge float %224, 0.000000e+00
  %226 = fneg float %224
  %227 = select i1 %225, float %224, float %226
  %228 = fadd float %219, %227
  %229 = mul i64 %.0493553, %117
  %230 = getelementptr inbounds float, ptr %38, i64 %229
  %231 = load float, ptr %230, align 4, !tbaa !10
  %232 = call float @llvm.fmuladd.f32(float %228, float 7.500000e-01, float %231)
  store float %232, ptr %18, align 4, !tbaa !10
  store float %228, ptr %19, align 4, !tbaa !10
  %233 = fmul float %228, -4.375000e-01
  store float %233, ptr %20, align 4, !tbaa !10
  store float %232, ptr %21, align 4, !tbaa !10
  %234 = getelementptr inbounds float, ptr %39, i64 %212
  %235 = getelementptr inbounds float, ptr %40, i64 %212
  %236 = getelementptr inbounds float, ptr %39, i64 %.0493553
  %237 = getelementptr inbounds float, ptr %40, i64 %.0493553
  %238 = call i32 @slanv2_(ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %234, ptr noundef nonnull %235, ptr noundef nonnull %236, ptr noundef nonnull %237, ptr noundef nonnull %23, ptr noundef nonnull %24) #5
  %.not532 = icmp slt i64 %220, %211
  br i1 %.not532, label %._crit_edge.loopexit, label %.lr.ph554, !llvm.loop !14

._crit_edge.loopexit:                             ; preds = %.lr.ph554
  %.pre569 = load i64, ptr %32, align 8, !tbaa !5
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %206
  %239 = phi i64 [ %.pre569, %._crit_edge.loopexit ], [ %198, %206 ]
  %240 = icmp eq i64 %208, %239
  br i1 %240, label %241, label %.loopexit

241:                                              ; preds = %._crit_edge
  %242 = mul i64 %209, %117
  %243 = getelementptr inbounds float, ptr %38, i64 %242
  %244 = load float, ptr %243, align 4, !tbaa !10
  %245 = getelementptr inbounds float, ptr %39, i64 %209
  store float %244, ptr %245, align 4, !tbaa !10
  %246 = getelementptr inbounds float, ptr %40, i64 %209
  store float 0.000000e+00, ptr %246, align 4, !tbaa !10
  %247 = load float, ptr %245, align 4, !tbaa !10
  %248 = getelementptr float, ptr %7, i64 %207
  store float %247, ptr %248, align 4, !tbaa !10
  %249 = load float, ptr %246, align 4, !tbaa !10
  %250 = getelementptr float, ptr %8, i64 %207
  store float %249, ptr %250, align 4, !tbaa !10
  br label %.loopexit

251:                                              ; preds = %197
  %252 = sub nsw i64 %185, %188
  %.not526.not = icmp slt i64 %252, %202
  br i1 %.not526.not, label %253, label %297

253:                                              ; preds = %251
  %254 = sub nsw i64 %185, %203
  %255 = add nsw i64 %254, 1
  %256 = load i64, ptr %2, align 8, !tbaa !5
  %257 = sub nsw i64 %256, %203
  %258 = mul i64 %255, %117
  %259 = getelementptr inbounds float, ptr %38, i64 %258
  %260 = getelementptr inbounds float, ptr %5, i64 %257
  %261 = call i32 @slacpy_(ptr noundef nonnull @.str.1, ptr noundef nonnull %26, ptr noundef nonnull %26, ptr noundef %259, ptr noundef nonnull %6, ptr noundef %260, ptr noundef nonnull %6) #5
  %262 = load i64, ptr %26, align 8, !tbaa !5
  %263 = icmp sgt i64 %262, %89
  %264 = getelementptr float, ptr %7, i64 %254
  %265 = getelementptr float, ptr %8, i64 %254
  br i1 %263, label %266, label %268

266:                                              ; preds = %253
  %267 = call i32 @slaqr4_(ptr noundef nonnull @c_false, ptr noundef nonnull @c_false, ptr noundef nonnull %26, ptr noundef nonnull @c__1, ptr noundef nonnull %26, ptr noundef %260, ptr noundef nonnull %6, ptr noundef %264, ptr noundef %265, ptr noundef nonnull @c__1, ptr noundef nonnull @c__1, ptr noundef nonnull %33, ptr noundef nonnull @c__1, ptr noundef nonnull %13, ptr noundef nonnull %14, ptr noundef nonnull %28) #5
  br label %270

268:                                              ; preds = %253
  %269 = call i32 @slahqr_(ptr noundef nonnull @c_false, ptr noundef nonnull @c_false, ptr noundef nonnull %26, ptr noundef nonnull @c__1, ptr noundef nonnull %26, ptr noundef %260, ptr noundef nonnull %6, ptr noundef %264, ptr noundef %265, ptr noundef nonnull @c__1, ptr noundef nonnull @c__1, ptr noundef nonnull %33, ptr noundef nonnull @c__1, ptr noundef nonnull %28) #5
  br label %270

270:                                              ; preds = %268, %266
  %271 = load i64, ptr %28, align 8, !tbaa !5
  %272 = add nsw i64 %271, %255
  %273 = load i64, ptr %31, align 8, !tbaa !5
  %.not527 = icmp slt i64 %272, %273
  br i1 %.not527, label %297, label %274

274:                                              ; preds = %270
  %275 = add nsw i64 %273, -1
  %276 = mul i64 %275, %117
  %277 = getelementptr inbounds float, ptr %38, i64 %276
  %278 = load float, ptr %277, align 4, !tbaa !10
  store float %278, ptr %18, align 4, !tbaa !10
  %279 = mul nsw i64 %275, %36
  %280 = getelementptr float, ptr %38, i64 %273
  %281 = getelementptr float, ptr %280, i64 %279
  %282 = load float, ptr %281, align 4, !tbaa !10
  store float %282, ptr %20, align 4, !tbaa !10
  %283 = mul nsw i64 %273, %36
  %284 = getelementptr i8, ptr %280, i64 -4
  %285 = getelementptr float, ptr %284, i64 %283
  %286 = load float, ptr %285, align 4, !tbaa !10
  store float %286, ptr %19, align 4, !tbaa !10
  %287 = mul i64 %273, %117
  %288 = getelementptr inbounds float, ptr %38, i64 %287
  %289 = load float, ptr %288, align 4, !tbaa !10
  store float %289, ptr %21, align 4, !tbaa !10
  %290 = getelementptr inbounds float, ptr %39, i64 %275
  %291 = getelementptr inbounds float, ptr %40, i64 %275
  %292 = getelementptr inbounds float, ptr %39, i64 %273
  %293 = getelementptr inbounds float, ptr %40, i64 %273
  %294 = call i32 @slanv2_(ptr noundef nonnull %18, ptr noundef nonnull %19, ptr noundef nonnull %20, ptr noundef nonnull %21, ptr noundef nonnull %290, ptr noundef nonnull %291, ptr noundef nonnull %292, ptr noundef nonnull %293, ptr noundef nonnull %23, ptr noundef nonnull %24) #5
  %295 = load i64, ptr %31, align 8, !tbaa !5
  %296 = add nsw i64 %295, -1
  br label %297

297:                                              ; preds = %270, %274, %251
  %298 = phi i64 [ %295, %274 ], [ %273, %270 ], [ %185, %251 ]
  %.0487 = phi i64 [ %296, %274 ], [ %272, %270 ], [ %188, %251 ]
  %299 = sub nsw i64 %298, %.0487
  %300 = load i64, ptr %26, align 8, !tbaa !5
  %.not528 = icmp slt i64 %299, %300
  %301 = icmp sle i64 %298, %.0487
  %or.cond566 = or i1 %.not528, %301
  br i1 %or.cond566, label %.loopexit544, label %.preheader

.preheader:                                       ; preds = %297, %327
  %.2492549 = phi i64 [ %328, %327 ], [ %298, %297 ]
  br label %302

302:                                              ; preds = %.preheader, %326
  %.1548 = phi i64 [ 1, %.preheader ], [ %.2, %326 ]
  %.1494547 = phi i64 [ %.0487, %.preheader ], [ %305, %326 ]
  %303 = getelementptr inbounds float, ptr %39, i64 %.1494547
  %304 = getelementptr inbounds float, ptr %40, i64 %.1494547
  %305 = add nsw i64 %.1494547, 1
  %306 = load <2 x float>, ptr %303, align 4, !tbaa !10
  %307 = fcmp oge <2 x float> %306, zeroinitializer
  %308 = fneg <2 x float> %306
  %309 = select <2 x i1> %307, <2 x float> %306, <2 x float> %308
  %310 = fpext <2 x float> %309 to <2 x double>
  %311 = load <2 x float>, ptr %304, align 4, !tbaa !10
  %312 = fcmp oge <2 x float> %311, zeroinitializer
  %313 = fneg <2 x float> %311
  %314 = select <2 x i1> %312, <2 x float> %311, <2 x float> %313
  %315 = fpext <2 x float> %314 to <2 x double>
  %316 = fadd <2 x double> %310, %315
  %317 = extractelement <2 x double> %316, i64 0
  %318 = extractelement <2 x double> %316, i64 1
  %319 = fcmp olt double %317, %318
  br i1 %319, label %320, label %326

320:                                              ; preds = %302
  %321 = getelementptr float, ptr %7, i64 %.1494547
  %322 = extractelement <2 x float> %306, i64 1
  store float %322, ptr %303, align 4, !tbaa !10
  %323 = extractelement <2 x float> %306, i64 0
  store float %323, ptr %321, align 4, !tbaa !10
  %324 = load <2 x float>, ptr %304, align 4, !tbaa !10
  %325 = shufflevector <2 x float> %324, <2 x float> poison, <2 x i32> <i32 1, i32 0>
  store <2 x float> %325, ptr %304, align 4, !tbaa !10
  br label %326

326:                                              ; preds = %302, %320
  %.2 = phi i64 [ 0, %320 ], [ %.1548, %302 ]
  %.not529.not = icmp slt i64 %305, %.2492549
  br i1 %.not529.not, label %302, label %327, !llvm.loop !15

327:                                              ; preds = %326
  %328 = add nsw i64 %.2492549, -1
  %329 = icmp sle i64 %328, %.0487
  %330 = icmp ne i64 %.2, 0
  %or.cond = select i1 %329, i1 true, i1 %330
  br i1 %or.cond, label %.loopexit544, label %.preheader, !llvm.loop !16

.loopexit544:                                     ; preds = %327, %297
  %331 = add nsw i64 %.0487, 2
  %.not530550 = icmp slt i64 %298, %331
  br i1 %.not530550, label %.loopexit, label %.lr.ph

.lr.ph:                                           ; preds = %.loopexit544, %349
  %.2495551 = phi i64 [ %.pre-phi574, %349 ], [ %298, %.loopexit544 ]
  %332 = getelementptr inbounds float, ptr %40, i64 %.2495551
  %333 = load float, ptr %332, align 4, !tbaa !10
  %334 = add nsw i64 %.2495551, -1
  %335 = getelementptr inbounds float, ptr %40, i64 %334
  %336 = load float, ptr %335, align 4, !tbaa !10
  %337 = fneg float %336
  %338 = fcmp une float %333, %337
  br i1 %338, label %339, label %.lr.ph._crit_edge

.lr.ph._crit_edge:                                ; preds = %.lr.ph
  %.pre573 = add nsw i64 %.2495551, -2
  br label %349

339:                                              ; preds = %.lr.ph
  %340 = getelementptr inbounds float, ptr %39, i64 %.2495551
  %341 = load float, ptr %340, align 4, !tbaa !10
  %342 = getelementptr inbounds float, ptr %39, i64 %334
  %343 = add nsw i64 %.2495551, -2
  %344 = getelementptr inbounds float, ptr %39, i64 %343
  %345 = load <2 x float>, ptr %344, align 4, !tbaa !10
  store <2 x float> %345, ptr %342, align 4, !tbaa !10
  store float %341, ptr %344, align 4, !tbaa !10
  %346 = load float, ptr %332, align 4, !tbaa !10
  %347 = getelementptr inbounds float, ptr %40, i64 %343
  %348 = load <2 x float>, ptr %347, align 4, !tbaa !10
  store <2 x float> %348, ptr %335, align 4, !tbaa !10
  store float %346, ptr %347, align 4, !tbaa !10
  br label %349

349:                                              ; preds = %.lr.ph._crit_edge, %339
  %.pre-phi574 = phi i64 [ %.pre573, %.lr.ph._crit_edge ], [ %343, %339 ]
  %.not530 = icmp slt i64 %.pre-phi574, %331
  br i1 %.not530, label %.loopexit, label %.lr.ph, !llvm.loop !17

.loopexit:                                        ; preds = %349, %.loopexit544, %._crit_edge, %241
  %.1488 = phi i64 [ %208, %241 ], [ %208, %._crit_edge ], [ %.0487, %.loopexit544 ], [ %.0487, %349 ]
  %350 = load i64, ptr %31, align 8, !tbaa !5
  %351 = sub nsw i64 %350, %.1488
  %352 = icmp eq i64 %351, 1
  br i1 %352, label %353, label %377

353:                                              ; preds = %.loopexit
  %354 = getelementptr inbounds float, ptr %40, i64 %350
  %355 = load float, ptr %354, align 4, !tbaa !10
  %356 = fcmp oeq float %355, 0.000000e+00
  br i1 %356, label %357, label %377

357:                                              ; preds = %353
  %358 = getelementptr inbounds float, ptr %39, i64 %350
  %359 = mul i64 %350, %117
  %360 = getelementptr inbounds float, ptr %38, i64 %359
  %361 = load float, ptr %360, align 4, !tbaa !10
  %362 = getelementptr i8, ptr %358, i64 -4
  %363 = load <2 x float>, ptr %362, align 4, !tbaa !10
  %364 = insertelement <2 x float> poison, float %361, i64 0
  %365 = shufflevector <2 x float> %364, <2 x float> poison, <2 x i32> zeroinitializer
  %366 = fsub <2 x float> %363, %365
  %367 = fcmp oge <2 x float> %366, zeroinitializer
  %368 = fneg <2 x float> %366
  %369 = select <2 x i1> %367, <2 x float> %366, <2 x float> %368
  %370 = extractelement <2 x float> %369, i64 0
  %371 = extractelement <2 x float> %369, i64 1
  %372 = fcmp olt float %371, %370
  br i1 %372, label %373, label %375

373:                                              ; preds = %357
  %374 = extractelement <2 x float> %363, i64 1
  store float %374, ptr %362, align 4, !tbaa !10
  br label %377

375:                                              ; preds = %357
  %376 = extractelement <2 x float> %363, i64 0
  store float %376, ptr %358, align 4, !tbaa !10
  br label %377

377:                                              ; preds = %353, %375, %373, %.loopexit
  %378 = load i64, ptr %26, align 8, !tbaa !5
  %379 = add nsw i64 %351, 1
  %380 = call i64 @llvm.smin.i64(i64 %378, i64 %379)
  %381 = srem i64 %380, 2
  %382 = sub nsw i64 %380, %381
  store i64 %382, ptr %26, align 8, !tbaa !5
  %383 = sub nsw i64 %350, %382
  %384 = mul nsw i64 %382, 3
  %385 = add nsw i64 %384, -3
  %386 = load i64, ptr %2, align 8, !tbaa !5
  %387 = sub nsw i64 %386, %385
  %388 = add nsw i64 %384, -2
  %389 = sub i64 %387, %384
  store i64 %389, ptr %29, align 8, !tbaa !5
  %.neg = mul i64 %382, -6
  %reass.sub567 = add i64 %.neg, %386
  %390 = add i64 %reass.sub567, 3
  store i64 %390, ptr %30, align 8, !tbaa !5
  %391 = getelementptr float, ptr %7, i64 %383
  %392 = getelementptr float, ptr %8, i64 %383
  %393 = getelementptr inbounds float, ptr %5, i64 %387
  %394 = getelementptr inbounds float, ptr %5, i64 %384
  %395 = mul nsw i64 %388, %36
  %gep558 = getelementptr float, ptr %invariant.gep, i64 %387
  %396 = getelementptr float, ptr %gep558, i64 %395
  %397 = call i32 @slaqr5_(ptr noundef nonnull %0, ptr noundef nonnull %1, ptr noundef nonnull %34, ptr noundef nonnull %2, ptr noundef nonnull %32, ptr noundef nonnull %31, ptr noundef nonnull %26, ptr noundef %391, ptr noundef %392, ptr noundef %5, ptr noundef nonnull %6, ptr noundef %9, ptr noundef %10, ptr noundef %11, ptr noundef nonnull %12, ptr noundef nonnull %13, ptr noundef nonnull @c__3, ptr noundef %393, ptr noundef nonnull %6, ptr noundef nonnull %30, ptr noundef %394, ptr noundef nonnull %6, ptr noundef nonnull %29, ptr noundef %396, ptr noundef nonnull %6) #5
  %.pre570 = load i64, ptr %22, align 8, !tbaa !5
  br label %398

398:                                              ; preds = %377, %194, %190
  %399 = phi i64 [ %.pre570, %377 ], [ %183, %194 ], [ %183, %190 ]
  %400 = add nsw i64 %.0483562, 1
  %.inv = icmp slt i64 %399, 1
  %.1484 = select i1 %.inv, i64 %400, i64 1
  %401 = add nuw nsw i64 %.0489560, 1
  %402 = load i64, ptr %17, align 8, !tbaa !5
  %.not513.not = icmp slt i64 %.0489560, %402
  br i1 %.not513.not, label %119, label %._crit_edge565.loopexit, !llvm.loop !18

._crit_edge565.loopexit:                          ; preds = %398
  %.pre571 = load i64, ptr %31, align 8, !tbaa !5
  br label %._crit_edge565

._crit_edge565:                                   ; preds = %._crit_edge565.loopexit, %87
  %403 = phi i64 [ %.pre571, %._crit_edge565.loopexit ], [ %101, %87 ]
  store i64 %403, ptr %15, align 8, !tbaa !5
  br label %.loopexit546

.loopexit546:                                     ; preds = %119, %._crit_edge565, %45, %47
  %.0 = phi i64 [ 1, %47 ], [ 1, %45 ], [ %82, %._crit_edge565 ], [ %82, %119 ]
  %404 = uitofp nneg i64 %.0 to float
  br label %405

405:                                              ; preds = %16, %.loopexit546, %85
  %.sink575 = phi float [ %404, %.loopexit546 ], [ %86, %85 ], [ 1.000000e+00, %16 ]
  store float %.sink575, ptr %13, align 4, !tbaa !10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %35) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #5
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #5
  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 i32 @slahqr_(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 @ilaenv_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @slaqr3_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, 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) #3

declare i32 @slanv2_(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 @slacpy_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @slaqr4_(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 @slaqr5_(ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

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

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

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

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
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 = !{!"long", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!7, !7, i64 0}
!10 = !{!11, !11, i64 0}
!11 = !{!"float", !7, i64 0}
!12 = distinct !{!12, !13}
!13 = !{!"llvm.loop.mustprogress"}
!14 = distinct !{!14, !13}
!15 = distinct !{!15, !13}
!16 = distinct !{!16, !13}
!17 = distinct !{!17, !13}
!18 = distinct !{!18, !13}


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