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

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

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@c__2 = external hidden global i32, align 4

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

131:                                              ; preds = %25
  store i32 1, ptr %102, align 4
  br label %2088

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

136:                                              ; preds = %132
  store i32 1, ptr %83, align 4, !tbaa !9
  br label %149

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

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

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

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

147:                                              ; preds = %146, %142
  br label %148

148:                                              ; preds = %147, %141
  br label %149

149:                                              ; preds = %148, %136
  %150 = load ptr, ptr %40, align 8, !tbaa !5
  store i32 0, ptr %150, align 4, !tbaa !9
  %151 = call float @slamch_(ptr noundef @.str.3)
  store float %151, ptr %86, align 4, !tbaa !11
  %152 = call float @slamch_(ptr noundef @.str.4)
  store float %152, ptr %95, align 4, !tbaa !11
  %153 = load float, ptr %95, align 4, !tbaa !11
  %154 = fmul float %153, 1.000000e+02
  store float %154, ptr %98, align 4, !tbaa !11
  %155 = load float, ptr %95, align 4, !tbaa !11
  %156 = fpext float %155 to double
  %157 = call double @sqrt(double noundef %156) #5
  %158 = fmul double %157, 0x3F40624DE0000000
  %159 = fptrunc double %158 to float
  store float %159, ptr %92, align 4, !tbaa !11
  %160 = load ptr, ptr %27, align 8, !tbaa !5
  %161 = load i32, ptr %160, align 4, !tbaa !9
  %162 = icmp eq i32 %161, 1
  br i1 %162, label %163, label %222

163:                                              ; preds = %149
  %164 = load i32, ptr %83, align 4, !tbaa !9
  %165 = icmp eq i32 %164, 1
  br i1 %165, label %194, label %166

166:                                              ; preds = %163
  %167 = load i32, ptr %83, align 4, !tbaa !9
  %168 = icmp eq i32 %167, 3
  br i1 %168, label %169, label %183

169:                                              ; preds = %166
  %170 = load ptr, ptr %32, align 8, !tbaa !5
  %171 = getelementptr inbounds float, ptr %170, i64 1
  %172 = load float, ptr %171, align 4, !tbaa !11
  %173 = load ptr, ptr %28, align 8, !tbaa !5
  %174 = load float, ptr %173, align 4, !tbaa !11
  %175 = fcmp ogt float %172, %174
  br i1 %175, label %176, label %183

176:                                              ; preds = %169
  %177 = load ptr, ptr %32, align 8, !tbaa !5
  %178 = getelementptr inbounds float, ptr %177, i64 1
  %179 = load float, ptr %178, align 4, !tbaa !11
  %180 = load ptr, ptr %29, align 8, !tbaa !5
  %181 = load float, ptr %180, align 4, !tbaa !11
  %182 = fcmp ole float %179, %181
  br i1 %182, label %194, label %183

183:                                              ; preds = %176, %169, %166
  %184 = load i32, ptr %83, align 4, !tbaa !9
  %185 = icmp eq i32 %184, 2
  br i1 %185, label %186, label %219

186:                                              ; preds = %183
  %187 = load ptr, ptr %30, align 8, !tbaa !5
  %188 = load i32, ptr %187, align 4, !tbaa !9
  %189 = icmp eq i32 %188, 1
  br i1 %189, label %190, label %219

190:                                              ; preds = %186
  %191 = load ptr, ptr %31, align 8, !tbaa !5
  %192 = load i32, ptr %191, align 4, !tbaa !9
  %193 = icmp eq i32 %192, 1
  br i1 %193, label %194, label %219

194:                                              ; preds = %190, %176, %163
  %195 = load ptr, ptr %40, align 8, !tbaa !5
  store i32 1, ptr %195, align 4, !tbaa !9
  %196 = load ptr, ptr %32, align 8, !tbaa !5
  %197 = getelementptr inbounds float, ptr %196, i64 1
  %198 = load float, ptr %197, align 4, !tbaa !11
  %199 = load ptr, ptr %41, align 8, !tbaa !5
  %200 = getelementptr inbounds float, ptr %199, i64 1
  store float %198, ptr %200, align 4, !tbaa !11
  %201 = load ptr, ptr %42, align 8, !tbaa !5
  %202 = getelementptr inbounds float, ptr %201, i64 1
  store float 0.000000e+00, ptr %202, align 4, !tbaa !11
  %203 = load ptr, ptr %43, align 8, !tbaa !5
  %204 = getelementptr inbounds float, ptr %203, i64 1
  store float 0.000000e+00, ptr %204, align 4, !tbaa !11
  %205 = load ptr, ptr %44, align 8, !tbaa !5
  %206 = getelementptr inbounds i32, ptr %205, i64 1
  store i32 1, ptr %206, align 4, !tbaa !9
  %207 = load ptr, ptr %45, align 8, !tbaa !5
  %208 = getelementptr inbounds i32, ptr %207, i64 1
  store i32 1, ptr %208, align 4, !tbaa !9
  %209 = load ptr, ptr %32, align 8, !tbaa !5
  %210 = getelementptr inbounds float, ptr %209, i64 1
  %211 = load float, ptr %210, align 4, !tbaa !11
  %212 = load ptr, ptr %46, align 8, !tbaa !5
  %213 = getelementptr inbounds float, ptr %212, i64 1
  store float %211, ptr %213, align 4, !tbaa !11
  %214 = load ptr, ptr %32, align 8, !tbaa !5
  %215 = getelementptr inbounds float, ptr %214, i64 1
  %216 = load float, ptr %215, align 4, !tbaa !11
  %217 = load ptr, ptr %46, align 8, !tbaa !5
  %218 = getelementptr inbounds float, ptr %217, i64 2
  store float %216, ptr %218, align 4, !tbaa !11
  br label %219

219:                                              ; preds = %194, %190, %186, %183
  %220 = load ptr, ptr %33, align 8, !tbaa !5
  %221 = getelementptr inbounds float, ptr %220, i64 1
  store float 0.000000e+00, ptr %221, align 4, !tbaa !11
  store i32 1, ptr %102, align 4
  br label %2088

222:                                              ; preds = %149
  %223 = load ptr, ptr %32, align 8, !tbaa !5
  %224 = getelementptr inbounds float, ptr %223, i64 1
  %225 = load float, ptr %224, align 4, !tbaa !11
  store float %225, ptr %77, align 4, !tbaa !11
  %226 = load ptr, ptr %32, align 8, !tbaa !5
  %227 = getelementptr inbounds float, ptr %226, i64 1
  %228 = load float, ptr %227, align 4, !tbaa !11
  store float %228, ptr %80, align 4, !tbaa !11
  store float 0.000000e+00, ptr %59, align 4, !tbaa !11
  store float 0.000000e+00, ptr %62, align 4, !tbaa !11
  %229 = load ptr, ptr %33, align 8, !tbaa !5
  %230 = load ptr, ptr %27, align 8, !tbaa !5
  %231 = load i32, ptr %230, align 4, !tbaa !9
  %232 = sext i32 %231 to i64
  %233 = getelementptr inbounds float, ptr %229, i64 %232
  store float 0.000000e+00, ptr %233, align 4, !tbaa !11
  %234 = load ptr, ptr %27, align 8, !tbaa !5
  %235 = load i32, ptr %234, align 4, !tbaa !9
  store i32 %235, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %236

236:                                              ; preds = %331, %222
  %237 = load i32, ptr %67, align 4, !tbaa !9
  %238 = load i32, ptr %51, align 4, !tbaa !9
  %239 = icmp sle i32 %237, %238
  br i1 %239, label %240, label %334

240:                                              ; preds = %236
  %241 = load ptr, ptr %42, align 8, !tbaa !5
  %242 = load i32, ptr %67, align 4, !tbaa !9
  %243 = sext i32 %242 to i64
  %244 = getelementptr inbounds float, ptr %241, i64 %243
  store float 0.000000e+00, ptr %244, align 4, !tbaa !11
  %245 = load ptr, ptr %43, align 8, !tbaa !5
  %246 = load i32, ptr %67, align 4, !tbaa !9
  %247 = sext i32 %246 to i64
  %248 = getelementptr inbounds float, ptr %245, i64 %247
  store float 0.000000e+00, ptr %248, align 4, !tbaa !11
  %249 = load ptr, ptr %33, align 8, !tbaa !5
  %250 = load i32, ptr %67, align 4, !tbaa !9
  %251 = sext i32 %250 to i64
  %252 = getelementptr inbounds float, ptr %249, i64 %251
  %253 = load float, ptr %252, align 4, !tbaa !11
  store float %253, ptr %53, align 4, !tbaa !11
  %254 = load float, ptr %53, align 4, !tbaa !11
  %255 = fcmp oge float %254, 0.000000e+00
  br i1 %255, label %256, label %258

256:                                              ; preds = %240
  %257 = load float, ptr %53, align 4, !tbaa !11
  br label %261

258:                                              ; preds = %240
  %259 = load float, ptr %53, align 4, !tbaa !11
  %260 = fneg float %259
  br label %261

261:                                              ; preds = %258, %256
  %262 = phi float [ %257, %256 ], [ %260, %258 ]
  store float %262, ptr %56, align 4, !tbaa !11
  %263 = load float, ptr %56, align 4, !tbaa !11
  %264 = load float, ptr %62, align 4, !tbaa !11
  %265 = fcmp oge float %263, %264
  br i1 %265, label %266, label %268

266:                                              ; preds = %261
  %267 = load float, ptr %56, align 4, !tbaa !11
  store float %267, ptr %62, align 4, !tbaa !11
  br label %268

268:                                              ; preds = %266, %261
  %269 = load float, ptr %56, align 4, !tbaa !11
  %270 = load float, ptr %59, align 4, !tbaa !11
  %271 = fadd float %269, %270
  store float %271, ptr %101, align 4, !tbaa !11
  %272 = load ptr, ptr %32, align 8, !tbaa !5
  %273 = load i32, ptr %67, align 4, !tbaa !9
  %274 = sext i32 %273 to i64
  %275 = getelementptr inbounds float, ptr %272, i64 %274
  %276 = load float, ptr %275, align 4, !tbaa !11
  %277 = load float, ptr %101, align 4, !tbaa !11
  %278 = fsub float %276, %277
  %279 = load ptr, ptr %46, align 8, !tbaa !5
  %280 = load i32, ptr %67, align 4, !tbaa !9
  %281 = shl i32 %280, 1
  %282 = sub nsw i32 %281, 1
  %283 = sext i32 %282 to i64
  %284 = getelementptr inbounds float, ptr %279, i64 %283
  store float %278, ptr %284, align 4, !tbaa !11
  %285 = load float, ptr %77, align 4, !tbaa !11
  store float %285, ptr %53, align 4, !tbaa !11
  %286 = load ptr, ptr %46, align 8, !tbaa !5
  %287 = load i32, ptr %67, align 4, !tbaa !9
  %288 = shl i32 %287, 1
  %289 = sub nsw i32 %288, 1
  %290 = sext i32 %289 to i64
  %291 = getelementptr inbounds float, ptr %286, i64 %290
  %292 = load float, ptr %291, align 4, !tbaa !11
  store float %292, ptr %54, align 4, !tbaa !11
  %293 = load float, ptr %53, align 4, !tbaa !11
  %294 = load float, ptr %54, align 4, !tbaa !11
  %295 = fcmp ole float %293, %294
  br i1 %295, label %296, label %298

296:                                              ; preds = %268
  %297 = load float, ptr %53, align 4, !tbaa !11
  br label %300

298:                                              ; preds = %268
  %299 = load float, ptr %54, align 4, !tbaa !11
  br label %300

300:                                              ; preds = %298, %296
  %301 = phi float [ %297, %296 ], [ %299, %298 ]
  store float %301, ptr %77, align 4, !tbaa !11
  %302 = load ptr, ptr %32, align 8, !tbaa !5
  %303 = load i32, ptr %67, align 4, !tbaa !9
  %304 = sext i32 %303 to i64
  %305 = getelementptr inbounds float, ptr %302, i64 %304
  %306 = load float, ptr %305, align 4, !tbaa !11
  %307 = load float, ptr %101, align 4, !tbaa !11
  %308 = fadd float %306, %307
  %309 = load ptr, ptr %46, align 8, !tbaa !5
  %310 = load i32, ptr %67, align 4, !tbaa !9
  %311 = mul nsw i32 %310, 2
  %312 = sext i32 %311 to i64
  %313 = getelementptr inbounds float, ptr %309, i64 %312
  store float %308, ptr %313, align 4, !tbaa !11
  %314 = load float, ptr %80, align 4, !tbaa !11
  store float %314, ptr %53, align 4, !tbaa !11
  %315 = load ptr, ptr %46, align 8, !tbaa !5
  %316 = load i32, ptr %67, align 4, !tbaa !9
  %317 = mul nsw i32 %316, 2
  %318 = sext i32 %317 to i64
  %319 = getelementptr inbounds float, ptr %315, i64 %318
  %320 = load float, ptr %319, align 4, !tbaa !11
  store float %320, ptr %54, align 4, !tbaa !11
  %321 = load float, ptr %53, align 4, !tbaa !11
  %322 = load float, ptr %54, align 4, !tbaa !11
  %323 = fcmp oge float %321, %322
  br i1 %323, label %324, label %326

324:                                              ; preds = %300
  %325 = load float, ptr %53, align 4, !tbaa !11
  br label %328

326:                                              ; preds = %300
  %327 = load float, ptr %54, align 4, !tbaa !11
  br label %328

328:                                              ; preds = %326, %324
  %329 = phi float [ %325, %324 ], [ %327, %326 ]
  store float %329, ptr %80, align 4, !tbaa !11
  %330 = load float, ptr %56, align 4, !tbaa !11
  store float %330, ptr %59, align 4, !tbaa !11
  br label %331

331:                                              ; preds = %328
  %332 = load i32, ptr %67, align 4, !tbaa !9
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr %67, align 4, !tbaa !9
  br label %236, !llvm.loop !13

334:                                              ; preds = %236
  %335 = load float, ptr %62, align 4, !tbaa !11
  store float %335, ptr %55, align 4, !tbaa !11
  store float 1.000000e+00, ptr %53, align 4, !tbaa !11
  %336 = load float, ptr %55, align 4, !tbaa !11
  %337 = load float, ptr %55, align 4, !tbaa !11
  %338 = fmul float %336, %337
  store float %338, ptr %54, align 4, !tbaa !11
  %339 = load float, ptr %86, align 4, !tbaa !11
  %340 = load float, ptr %53, align 4, !tbaa !11
  %341 = load float, ptr %54, align 4, !tbaa !11
  %342 = fcmp oge float %340, %341
  br i1 %342, label %343, label %345

343:                                              ; preds = %334
  %344 = load float, ptr %53, align 4, !tbaa !11
  br label %347

345:                                              ; preds = %334
  %346 = load float, ptr %54, align 4, !tbaa !11
  br label %347

347:                                              ; preds = %345, %343
  %348 = phi float [ %344, %343 ], [ %346, %345 ]
  %349 = fmul float %339, %348
  %350 = load ptr, ptr %47, align 8, !tbaa !5
  store float %349, ptr %350, align 4, !tbaa !11
  %351 = load float, ptr %80, align 4, !tbaa !11
  %352 = load float, ptr %77, align 4, !tbaa !11
  %353 = fsub float %351, %352
  store float %353, ptr %87, align 4, !tbaa !11
  %354 = load ptr, ptr %27, align 8, !tbaa !5
  %355 = load ptr, ptr %32, align 8, !tbaa !5
  %356 = getelementptr inbounds float, ptr %355, i64 1
  %357 = load ptr, ptr %33, align 8, !tbaa !5
  %358 = getelementptr inbounds float, ptr %357, i64 1
  %359 = load ptr, ptr %34, align 8, !tbaa !5
  %360 = getelementptr inbounds float, ptr %359, i64 1
  %361 = load ptr, ptr %37, align 8, !tbaa !5
  %362 = load ptr, ptr %38, align 8, !tbaa !5
  %363 = load ptr, ptr %39, align 8, !tbaa !5
  %364 = getelementptr inbounds i32, ptr %363, i64 1
  call void @slarra_(ptr noundef %354, ptr noundef %356, ptr noundef %358, ptr noundef %360, ptr noundef %361, ptr noundef %87, ptr noundef %362, ptr noundef %364, ptr noundef %72)
  store i32 0, ptr %82, align 4, !tbaa !9
  %365 = load i32, ptr %83, align 4, !tbaa !9
  %366 = icmp eq i32 %365, 1
  br i1 %366, label %367, label %371

367:                                              ; preds = %347
  %368 = load i32, ptr %82, align 4, !tbaa !9
  %369 = icmp ne i32 %368, 0
  %370 = xor i1 %369, true
  br label %371

371:                                              ; preds = %367, %347
  %372 = phi i1 [ false, %347 ], [ %370, %367 ]
  %373 = zext i1 %372 to i32
  store i32 %373, ptr %88, align 4, !tbaa !9
  %374 = load i32, ptr %83, align 4, !tbaa !9
  %375 = icmp eq i32 %374, 1
  br i1 %375, label %376, label %384

376:                                              ; preds = %371
  %377 = load i32, ptr %82, align 4, !tbaa !9
  %378 = icmp ne i32 %377, 0
  br i1 %378, label %384, label %379

379:                                              ; preds = %376
  %380 = load float, ptr %77, align 4, !tbaa !11
  %381 = load ptr, ptr %28, align 8, !tbaa !5
  store float %380, ptr %381, align 4, !tbaa !11
  %382 = load float, ptr %80, align 4, !tbaa !11
  %383 = load ptr, ptr %29, align 8, !tbaa !5
  store float %382, ptr %383, align 4, !tbaa !11
  br label %451

384:                                              ; preds = %376, %371
  %385 = load ptr, ptr %26, align 8, !tbaa !5
  %386 = load ptr, ptr %27, align 8, !tbaa !5
  %387 = load ptr, ptr %28, align 8, !tbaa !5
  %388 = load ptr, ptr %29, align 8, !tbaa !5
  %389 = load ptr, ptr %30, align 8, !tbaa !5
  %390 = load ptr, ptr %31, align 8, !tbaa !5
  %391 = load ptr, ptr %46, align 8, !tbaa !5
  %392 = getelementptr inbounds float, ptr %391, i64 1
  %393 = load ptr, ptr %32, align 8, !tbaa !5
  %394 = getelementptr inbounds float, ptr %393, i64 1
  %395 = load ptr, ptr %33, align 8, !tbaa !5
  %396 = getelementptr inbounds float, ptr %395, i64 1
  %397 = load ptr, ptr %34, align 8, !tbaa !5
  %398 = getelementptr inbounds float, ptr %397, i64 1
  %399 = load ptr, ptr %47, align 8, !tbaa !5
  %400 = load ptr, ptr %38, align 8, !tbaa !5
  %401 = load ptr, ptr %39, align 8, !tbaa !5
  %402 = getelementptr inbounds i32, ptr %401, i64 1
  %403 = load ptr, ptr %41, align 8, !tbaa !5
  %404 = getelementptr inbounds float, ptr %403, i64 1
  %405 = load ptr, ptr %42, align 8, !tbaa !5
  %406 = getelementptr inbounds float, ptr %405, i64 1
  %407 = load ptr, ptr %28, align 8, !tbaa !5
  %408 = load ptr, ptr %29, align 8, !tbaa !5
  %409 = load ptr, ptr %44, align 8, !tbaa !5
  %410 = getelementptr inbounds i32, ptr %409, i64 1
  %411 = load ptr, ptr %45, align 8, !tbaa !5
  %412 = getelementptr inbounds i32, ptr %411, i64 1
  %413 = load ptr, ptr %48, align 8, !tbaa !5
  %414 = getelementptr inbounds float, ptr %413, i64 1
  %415 = load ptr, ptr %49, align 8, !tbaa !5
  %416 = getelementptr inbounds i32, ptr %415, i64 1
  call void @slarrd_(ptr noundef %385, ptr noundef @.str.5, ptr noundef %386, ptr noundef %387, ptr noundef %388, ptr noundef %389, ptr noundef %390, ptr noundef %392, ptr noundef %92, ptr noundef %394, ptr noundef %396, ptr noundef %398, ptr noundef %399, ptr noundef %400, ptr noundef %402, ptr noundef %79, ptr noundef %404, ptr noundef %406, ptr noundef %407, ptr noundef %408, ptr noundef %410, ptr noundef %412, ptr noundef %414, ptr noundef %416, ptr noundef %72)
  %417 = load i32, ptr %72, align 4, !tbaa !9
  %418 = icmp ne i32 %417, 0
  br i1 %418, label %419, label %421

419:                                              ; preds = %384
  %420 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -1, ptr %420, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

421:                                              ; preds = %384
  %422 = load ptr, ptr %27, align 8, !tbaa !5
  %423 = load i32, ptr %422, align 4, !tbaa !9
  store i32 %423, ptr %51, align 4, !tbaa !9
  %424 = load i32, ptr %79, align 4, !tbaa !9
  %425 = add nsw i32 %424, 1
  store i32 %425, ptr %67, align 4, !tbaa !9
  br label %426

426:                                              ; preds = %447, %421
  %427 = load i32, ptr %67, align 4, !tbaa !9
  %428 = load i32, ptr %51, align 4, !tbaa !9
  %429 = icmp sle i32 %427, %428
  br i1 %429, label %430, label %450

430:                                              ; preds = %426
  %431 = load ptr, ptr %41, align 8, !tbaa !5
  %432 = load i32, ptr %67, align 4, !tbaa !9
  %433 = sext i32 %432 to i64
  %434 = getelementptr inbounds float, ptr %431, i64 %433
  store float 0.000000e+00, ptr %434, align 4, !tbaa !11
  %435 = load ptr, ptr %42, align 8, !tbaa !5
  %436 = load i32, ptr %67, align 4, !tbaa !9
  %437 = sext i32 %436 to i64
  %438 = getelementptr inbounds float, ptr %435, i64 %437
  store float 0.000000e+00, ptr %438, align 4, !tbaa !11
  %439 = load ptr, ptr %44, align 8, !tbaa !5
  %440 = load i32, ptr %67, align 4, !tbaa !9
  %441 = sext i32 %440 to i64
  %442 = getelementptr inbounds i32, ptr %439, i64 %441
  store i32 0, ptr %442, align 4, !tbaa !9
  %443 = load ptr, ptr %45, align 8, !tbaa !5
  %444 = load i32, ptr %67, align 4, !tbaa !9
  %445 = sext i32 %444 to i64
  %446 = getelementptr inbounds i32, ptr %443, i64 %445
  store i32 0, ptr %446, align 4, !tbaa !9
  br label %447

447:                                              ; preds = %430
  %448 = load i32, ptr %67, align 4, !tbaa !9
  %449 = add nsw i32 %448, 1
  store i32 %449, ptr %67, align 4, !tbaa !9
  br label %426, !llvm.loop !15

450:                                              ; preds = %426
  br label %451

451:                                              ; preds = %450, %379
  store i32 1, ptr %81, align 4, !tbaa !9
  store i32 1, ptr %85, align 4, !tbaa !9
  %452 = load ptr, ptr %38, align 8, !tbaa !5
  %453 = load i32, ptr %452, align 4, !tbaa !9
  store i32 %453, ptr %51, align 4, !tbaa !9
  store i32 1, ptr %58, align 4, !tbaa !9
  br label %454

454:                                              ; preds = %2084, %451
  %455 = load i32, ptr %58, align 4, !tbaa !9
  %456 = load i32, ptr %51, align 4, !tbaa !9
  %457 = icmp sle i32 %455, %456
  br i1 %457, label %458, label %2087

458:                                              ; preds = %454
  %459 = load ptr, ptr %39, align 8, !tbaa !5
  %460 = load i32, ptr %58, align 4, !tbaa !9
  %461 = sext i32 %460 to i64
  %462 = getelementptr inbounds i32, ptr %459, i64 %461
  %463 = load i32, ptr %462, align 4, !tbaa !9
  store i32 %463, ptr %57, align 4, !tbaa !9
  %464 = load i32, ptr %57, align 4, !tbaa !9
  %465 = load i32, ptr %81, align 4, !tbaa !9
  %466 = sub nsw i32 %464, %465
  %467 = add nsw i32 %466, 1
  store i32 %467, ptr %78, align 4, !tbaa !9
  %468 = load i32, ptr %78, align 4, !tbaa !9
  %469 = icmp eq i32 %468, 1
  br i1 %469, label %470, label %549

470:                                              ; preds = %458
  %471 = load i32, ptr %83, align 4, !tbaa !9
  %472 = icmp eq i32 %471, 1
  br i1 %472, label %505, label %473

473:                                              ; preds = %470
  %474 = load i32, ptr %83, align 4, !tbaa !9
  %475 = icmp eq i32 %474, 3
  br i1 %475, label %476, label %494

476:                                              ; preds = %473
  %477 = load ptr, ptr %32, align 8, !tbaa !5
  %478 = load i32, ptr %81, align 4, !tbaa !9
  %479 = sext i32 %478 to i64
  %480 = getelementptr inbounds float, ptr %477, i64 %479
  %481 = load float, ptr %480, align 4, !tbaa !11
  %482 = load ptr, ptr %28, align 8, !tbaa !5
  %483 = load float, ptr %482, align 4, !tbaa !11
  %484 = fcmp ogt float %481, %483
  br i1 %484, label %485, label %494

485:                                              ; preds = %476
  %486 = load ptr, ptr %32, align 8, !tbaa !5
  %487 = load i32, ptr %81, align 4, !tbaa !9
  %488 = sext i32 %487 to i64
  %489 = getelementptr inbounds float, ptr %486, i64 %488
  %490 = load float, ptr %489, align 4, !tbaa !11
  %491 = load ptr, ptr %29, align 8, !tbaa !5
  %492 = load float, ptr %491, align 4, !tbaa !11
  %493 = fcmp ole float %490, %492
  br i1 %493, label %505, label %494

494:                                              ; preds = %485, %476, %473
  %495 = load i32, ptr %83, align 4, !tbaa !9
  %496 = icmp eq i32 %495, 2
  br i1 %496, label %497, label %542

497:                                              ; preds = %494
  %498 = load ptr, ptr %44, align 8, !tbaa !5
  %499 = load i32, ptr %85, align 4, !tbaa !9
  %500 = sext i32 %499 to i64
  %501 = getelementptr inbounds i32, ptr %498, i64 %500
  %502 = load i32, ptr %501, align 4, !tbaa !9
  %503 = load i32, ptr %58, align 4, !tbaa !9
  %504 = icmp eq i32 %502, %503
  br i1 %504, label %505, label %542

505:                                              ; preds = %497, %485, %470
  %506 = load ptr, ptr %40, align 8, !tbaa !5
  %507 = load i32, ptr %506, align 4, !tbaa !9
  %508 = add nsw i32 %507, 1
  store i32 %508, ptr %506, align 4, !tbaa !9
  %509 = load ptr, ptr %32, align 8, !tbaa !5
  %510 = load i32, ptr %81, align 4, !tbaa !9
  %511 = sext i32 %510 to i64
  %512 = getelementptr inbounds float, ptr %509, i64 %511
  %513 = load float, ptr %512, align 4, !tbaa !11
  %514 = load ptr, ptr %41, align 8, !tbaa !5
  %515 = load ptr, ptr %40, align 8, !tbaa !5
  %516 = load i32, ptr %515, align 4, !tbaa !9
  %517 = sext i32 %516 to i64
  %518 = getelementptr inbounds float, ptr %514, i64 %517
  store float %513, ptr %518, align 4, !tbaa !11
  %519 = load ptr, ptr %42, align 8, !tbaa !5
  %520 = load ptr, ptr %40, align 8, !tbaa !5
  %521 = load i32, ptr %520, align 4, !tbaa !9
  %522 = sext i32 %521 to i64
  %523 = getelementptr inbounds float, ptr %519, i64 %522
  store float 0.000000e+00, ptr %523, align 4, !tbaa !11
  %524 = load ptr, ptr %43, align 8, !tbaa !5
  %525 = load ptr, ptr %40, align 8, !tbaa !5
  %526 = load i32, ptr %525, align 4, !tbaa !9
  %527 = sext i32 %526 to i64
  %528 = getelementptr inbounds float, ptr %524, i64 %527
  store float 0.000000e+00, ptr %528, align 4, !tbaa !11
  %529 = load i32, ptr %58, align 4, !tbaa !9
  %530 = load ptr, ptr %44, align 8, !tbaa !5
  %531 = load ptr, ptr %40, align 8, !tbaa !5
  %532 = load i32, ptr %531, align 4, !tbaa !9
  %533 = sext i32 %532 to i64
  %534 = getelementptr inbounds i32, ptr %530, i64 %533
  store i32 %529, ptr %534, align 4, !tbaa !9
  %535 = load ptr, ptr %45, align 8, !tbaa !5
  %536 = load ptr, ptr %40, align 8, !tbaa !5
  %537 = load i32, ptr %536, align 4, !tbaa !9
  %538 = sext i32 %537 to i64
  %539 = getelementptr inbounds i32, ptr %535, i64 %538
  store i32 1, ptr %539, align 4, !tbaa !9
  %540 = load i32, ptr %85, align 4, !tbaa !9
  %541 = add nsw i32 %540, 1
  store i32 %541, ptr %85, align 4, !tbaa !9
  br label %542

542:                                              ; preds = %505, %497, %494
  %543 = load ptr, ptr %33, align 8, !tbaa !5
  %544 = load i32, ptr %57, align 4, !tbaa !9
  %545 = sext i32 %544 to i64
  %546 = getelementptr inbounds float, ptr %543, i64 %545
  store float 0.000000e+00, ptr %546, align 4, !tbaa !11
  %547 = load i32, ptr %57, align 4, !tbaa !9
  %548 = add nsw i32 %547, 1
  store i32 %548, ptr %81, align 4, !tbaa !9
  br label %2083

549:                                              ; preds = %458
  %550 = load ptr, ptr %33, align 8, !tbaa !5
  %551 = load i32, ptr %57, align 4, !tbaa !9
  %552 = sext i32 %551 to i64
  %553 = getelementptr inbounds float, ptr %550, i64 %552
  store float 0.000000e+00, ptr %553, align 4, !tbaa !11
  %554 = load ptr, ptr %32, align 8, !tbaa !5
  %555 = load i32, ptr %81, align 4, !tbaa !9
  %556 = sext i32 %555 to i64
  %557 = getelementptr inbounds float, ptr %554, i64 %556
  %558 = load float, ptr %557, align 4, !tbaa !11
  store float %558, ptr %77, align 4, !tbaa !11
  %559 = load ptr, ptr %32, align 8, !tbaa !5
  %560 = load i32, ptr %81, align 4, !tbaa !9
  %561 = sext i32 %560 to i64
  %562 = getelementptr inbounds float, ptr %559, i64 %561
  %563 = load float, ptr %562, align 4, !tbaa !11
  store float %563, ptr %80, align 4, !tbaa !11
  %564 = load i32, ptr %57, align 4, !tbaa !9
  store i32 %564, ptr %52, align 4, !tbaa !9
  %565 = load i32, ptr %81, align 4, !tbaa !9
  store i32 %565, ptr %67, align 4, !tbaa !9
  br label %566

566:                                              ; preds = %602, %549
  %567 = load i32, ptr %67, align 4, !tbaa !9
  %568 = load i32, ptr %52, align 4, !tbaa !9
  %569 = icmp sle i32 %567, %568
  br i1 %569, label %570, label %605

570:                                              ; preds = %566
  %571 = load ptr, ptr %46, align 8, !tbaa !5
  %572 = load i32, ptr %67, align 4, !tbaa !9
  %573 = shl i32 %572, 1
  %574 = sub nsw i32 %573, 1
  %575 = sext i32 %574 to i64
  %576 = getelementptr inbounds float, ptr %571, i64 %575
  %577 = load float, ptr %576, align 4, !tbaa !11
  store float %577, ptr %53, align 4, !tbaa !11
  %578 = load float, ptr %53, align 4, !tbaa !11
  %579 = load float, ptr %77, align 4, !tbaa !11
  %580 = fcmp ole float %578, %579
  br i1 %580, label %581, label %583

581:                                              ; preds = %570
  %582 = load float, ptr %53, align 4, !tbaa !11
  br label %585

583:                                              ; preds = %570
  %584 = load float, ptr %77, align 4, !tbaa !11
  br label %585

585:                                              ; preds = %583, %581
  %586 = phi float [ %582, %581 ], [ %584, %583 ]
  store float %586, ptr %77, align 4, !tbaa !11
  %587 = load ptr, ptr %46, align 8, !tbaa !5
  %588 = load i32, ptr %67, align 4, !tbaa !9
  %589 = mul nsw i32 %588, 2
  %590 = sext i32 %589 to i64
  %591 = getelementptr inbounds float, ptr %587, i64 %590
  %592 = load float, ptr %591, align 4, !tbaa !11
  store float %592, ptr %53, align 4, !tbaa !11
  %593 = load float, ptr %53, align 4, !tbaa !11
  %594 = load float, ptr %80, align 4, !tbaa !11
  %595 = fcmp oge float %593, %594
  br i1 %595, label %596, label %598

596:                                              ; preds = %585
  %597 = load float, ptr %53, align 4, !tbaa !11
  br label %600

598:                                              ; preds = %585
  %599 = load float, ptr %80, align 4, !tbaa !11
  br label %600

600:                                              ; preds = %598, %596
  %601 = phi float [ %597, %596 ], [ %599, %598 ]
  store float %601, ptr %80, align 4, !tbaa !11
  br label %602

602:                                              ; preds = %600
  %603 = load i32, ptr %67, align 4, !tbaa !9
  %604 = add nsw i32 %603, 1
  store i32 %604, ptr %67, align 4, !tbaa !9
  br label %566, !llvm.loop !16

605:                                              ; preds = %566
  %606 = load float, ptr %80, align 4, !tbaa !11
  %607 = load float, ptr %77, align 4, !tbaa !11
  %608 = fsub float %606, %607
  store float %608, ptr %87, align 4, !tbaa !11
  %609 = load i32, ptr %83, align 4, !tbaa !9
  %610 = icmp eq i32 %609, 1
  br i1 %610, label %611, label %614

611:                                              ; preds = %605
  %612 = load i32, ptr %82, align 4, !tbaa !9
  %613 = icmp ne i32 %612, 0
  br i1 %613, label %614, label %756

614:                                              ; preds = %611, %605
  store i32 0, ptr %76, align 4, !tbaa !9
  %615 = load i32, ptr %79, align 4, !tbaa !9
  store i32 %615, ptr %52, align 4, !tbaa !9
  %616 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %616, ptr %67, align 4, !tbaa !9
  br label %617

617:                                              ; preds = %634, %614
  %618 = load i32, ptr %67, align 4, !tbaa !9
  %619 = load i32, ptr %52, align 4, !tbaa !9
  %620 = icmp sle i32 %618, %619
  br i1 %620, label %621, label %637

621:                                              ; preds = %617
  %622 = load ptr, ptr %44, align 8, !tbaa !5
  %623 = load i32, ptr %67, align 4, !tbaa !9
  %624 = sext i32 %623 to i64
  %625 = getelementptr inbounds i32, ptr %622, i64 %624
  %626 = load i32, ptr %625, align 4, !tbaa !9
  %627 = load i32, ptr %58, align 4, !tbaa !9
  %628 = icmp eq i32 %626, %627
  br i1 %628, label %629, label %632

629:                                              ; preds = %621
  %630 = load i32, ptr %76, align 4, !tbaa !9
  %631 = add nsw i32 %630, 1
  store i32 %631, ptr %76, align 4, !tbaa !9
  br label %633

632:                                              ; preds = %621
  br label %638

633:                                              ; preds = %629
  br label %634

634:                                              ; preds = %633
  %635 = load i32, ptr %67, align 4, !tbaa !9
  %636 = add nsw i32 %635, 1
  store i32 %636, ptr %67, align 4, !tbaa !9
  br label %617, !llvm.loop !17

637:                                              ; preds = %617
  br label %638

638:                                              ; preds = %637, %632
  %639 = load i32, ptr %76, align 4, !tbaa !9
  %640 = icmp eq i32 %639, 0
  br i1 %640, label %641, label %648

641:                                              ; preds = %638
  %642 = load ptr, ptr %33, align 8, !tbaa !5
  %643 = load i32, ptr %57, align 4, !tbaa !9
  %644 = sext i32 %643 to i64
  %645 = getelementptr inbounds float, ptr %642, i64 %644
  store float 0.000000e+00, ptr %645, align 4, !tbaa !11
  %646 = load i32, ptr %57, align 4, !tbaa !9
  %647 = add nsw i32 %646, 1
  store i32 %647, ptr %81, align 4, !tbaa !9
  br label %2083

648:                                              ; preds = %638
  %649 = load i32, ptr %76, align 4, !tbaa !9
  %650 = sitofp i32 %649 to float
  %651 = load i32, ptr %78, align 4, !tbaa !9
  %652 = sitofp i32 %651 to float
  %653 = fmul float %652, 5.000000e-01
  %654 = fcmp ogt float %650, %653
  br i1 %654, label %655, label %659

655:                                              ; preds = %648
  %656 = load i32, ptr %82, align 4, !tbaa !9
  %657 = icmp ne i32 %656, 0
  %658 = xor i1 %657, true
  br label %659

659:                                              ; preds = %655, %648
  %660 = phi i1 [ false, %648 ], [ %658, %655 ]
  %661 = zext i1 %660 to i32
  store i32 %661, ptr %88, align 4, !tbaa !9
  %662 = load i32, ptr %85, align 4, !tbaa !9
  %663 = load i32, ptr %76, align 4, !tbaa !9
  %664 = add nsw i32 %662, %663
  %665 = sub nsw i32 %664, 1
  store i32 %665, ptr %63, align 4, !tbaa !9
  store float 0.000000e+00, ptr %71, align 4, !tbaa !11
  %666 = load i32, ptr %63, align 4, !tbaa !9
  %667 = sub nsw i32 %666, 1
  store i32 %667, ptr %52, align 4, !tbaa !9
  %668 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %668, ptr %67, align 4, !tbaa !9
  br label %669

669:                                              ; preds = %712, %659
  %670 = load i32, ptr %67, align 4, !tbaa !9
  %671 = load i32, ptr %52, align 4, !tbaa !9
  %672 = icmp sle i32 %670, %671
  br i1 %672, label %673, label %715

673:                                              ; preds = %669
  store float 0.000000e+00, ptr %53, align 4, !tbaa !11
  %674 = load ptr, ptr %41, align 8, !tbaa !5
  %675 = load i32, ptr %67, align 4, !tbaa !9
  %676 = add nsw i32 %675, 1
  %677 = sext i32 %676 to i64
  %678 = getelementptr inbounds float, ptr %674, i64 %677
  %679 = load float, ptr %678, align 4, !tbaa !11
  %680 = load ptr, ptr %42, align 8, !tbaa !5
  %681 = load i32, ptr %67, align 4, !tbaa !9
  %682 = add nsw i32 %681, 1
  %683 = sext i32 %682 to i64
  %684 = getelementptr inbounds float, ptr %680, i64 %683
  %685 = load float, ptr %684, align 4, !tbaa !11
  %686 = fsub float %679, %685
  %687 = load ptr, ptr %41, align 8, !tbaa !5
  %688 = load i32, ptr %67, align 4, !tbaa !9
  %689 = sext i32 %688 to i64
  %690 = getelementptr inbounds float, ptr %687, i64 %689
  %691 = load float, ptr %690, align 4, !tbaa !11
  %692 = load ptr, ptr %42, align 8, !tbaa !5
  %693 = load i32, ptr %67, align 4, !tbaa !9
  %694 = sext i32 %693 to i64
  %695 = getelementptr inbounds float, ptr %692, i64 %694
  %696 = load float, ptr %695, align 4, !tbaa !11
  %697 = fadd float %691, %696
  %698 = fsub float %686, %697
  store float %698, ptr %54, align 4, !tbaa !11
  %699 = load float, ptr %53, align 4, !tbaa !11
  %700 = load float, ptr %54, align 4, !tbaa !11
  %701 = fcmp oge float %699, %700
  br i1 %701, label %702, label %704

702:                                              ; preds = %673
  %703 = load float, ptr %53, align 4, !tbaa !11
  br label %706

704:                                              ; preds = %673
  %705 = load float, ptr %54, align 4, !tbaa !11
  br label %706

706:                                              ; preds = %704, %702
  %707 = phi float [ %703, %702 ], [ %705, %704 ]
  %708 = load ptr, ptr %43, align 8, !tbaa !5
  %709 = load i32, ptr %67, align 4, !tbaa !9
  %710 = sext i32 %709 to i64
  %711 = getelementptr inbounds float, ptr %708, i64 %710
  store float %707, ptr %711, align 4, !tbaa !11
  br label %712

712:                                              ; preds = %706
  %713 = load i32, ptr %67, align 4, !tbaa !9
  %714 = add nsw i32 %713, 1
  store i32 %714, ptr %67, align 4, !tbaa !9
  br label %669, !llvm.loop !18

715:                                              ; preds = %669
  store float 0.000000e+00, ptr %53, align 4, !tbaa !11
  %716 = load ptr, ptr %29, align 8, !tbaa !5
  %717 = load float, ptr %716, align 4, !tbaa !11
  %718 = load float, ptr %71, align 4, !tbaa !11
  %719 = fsub float %717, %718
  %720 = load ptr, ptr %41, align 8, !tbaa !5
  %721 = load i32, ptr %63, align 4, !tbaa !9
  %722 = sext i32 %721 to i64
  %723 = getelementptr inbounds float, ptr %720, i64 %722
  %724 = load float, ptr %723, align 4, !tbaa !11
  %725 = load ptr, ptr %42, align 8, !tbaa !5
  %726 = load i32, ptr %63, align 4, !tbaa !9
  %727 = sext i32 %726 to i64
  %728 = getelementptr inbounds float, ptr %725, i64 %727
  %729 = load float, ptr %728, align 4, !tbaa !11
  %730 = fadd float %724, %729
  %731 = fsub float %719, %730
  store float %731, ptr %54, align 4, !tbaa !11
  %732 = load float, ptr %53, align 4, !tbaa !11
  %733 = load float, ptr %54, align 4, !tbaa !11
  %734 = fcmp oge float %732, %733
  br i1 %734, label %735, label %737

735:                                              ; preds = %715
  %736 = load float, ptr %53, align 4, !tbaa !11
  br label %739

737:                                              ; preds = %715
  %738 = load float, ptr %54, align 4, !tbaa !11
  br label %739

739:                                              ; preds = %737, %735
  %740 = phi float [ %736, %735 ], [ %738, %737 ]
  %741 = load ptr, ptr %43, align 8, !tbaa !5
  %742 = load i32, ptr %63, align 4, !tbaa !9
  %743 = sext i32 %742 to i64
  %744 = getelementptr inbounds float, ptr %741, i64 %743
  store float %740, ptr %744, align 4, !tbaa !11
  %745 = load ptr, ptr %45, align 8, !tbaa !5
  %746 = load i32, ptr %85, align 4, !tbaa !9
  %747 = sext i32 %746 to i64
  %748 = getelementptr inbounds i32, ptr %745, i64 %747
  %749 = load i32, ptr %748, align 4, !tbaa !9
  store i32 %749, ptr %60, align 4, !tbaa !9
  %750 = load ptr, ptr %45, align 8, !tbaa !5
  %751 = load i32, ptr %63, align 4, !tbaa !9
  %752 = sext i32 %751 to i64
  %753 = getelementptr inbounds i32, ptr %750, i64 %752
  %754 = load i32, ptr %753, align 4, !tbaa !9
  store i32 %754, ptr %65, align 4, !tbaa !9
  br label %755

755:                                              ; preds = %739
  br label %756

756:                                              ; preds = %755, %611
  %757 = load i32, ptr %83, align 4, !tbaa !9
  %758 = icmp eq i32 %757, 1
  br i1 %758, label %759, label %762

759:                                              ; preds = %756
  %760 = load i32, ptr %82, align 4, !tbaa !9
  %761 = icmp ne i32 %760, 0
  br i1 %761, label %762, label %765

762:                                              ; preds = %759, %756
  %763 = load i32, ptr %88, align 4, !tbaa !9
  %764 = icmp ne i32 %763, 0
  br i1 %764, label %765, label %854

765:                                              ; preds = %762, %759
  %766 = load ptr, ptr %32, align 8, !tbaa !5
  %767 = load i32, ptr %81, align 4, !tbaa !9
  %768 = sext i32 %767 to i64
  %769 = getelementptr inbounds float, ptr %766, i64 %768
  %770 = load ptr, ptr %34, align 8, !tbaa !5
  %771 = load i32, ptr %81, align 4, !tbaa !9
  %772 = sext i32 %771 to i64
  %773 = getelementptr inbounds float, ptr %770, i64 %772
  %774 = load ptr, ptr %47, align 8, !tbaa !5
  call void @slarrk_(ptr noundef %78, ptr noundef @c__1, ptr noundef %77, ptr noundef %80, ptr noundef %769, ptr noundef %773, ptr noundef %774, ptr noundef %98, ptr noundef %97, ptr noundef %101, ptr noundef %72)
  %775 = load i32, ptr %72, align 4, !tbaa !9
  %776 = icmp ne i32 %775, 0
  br i1 %776, label %777, label %779

777:                                              ; preds = %765
  %778 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -1, ptr %778, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

779:                                              ; preds = %765
  %780 = load float, ptr %77, align 4, !tbaa !11
  store float %780, ptr %54, align 4, !tbaa !11
  %781 = load float, ptr %97, align 4, !tbaa !11
  %782 = load float, ptr %101, align 4, !tbaa !11
  %783 = fsub float %781, %782
  %784 = load float, ptr %95, align 4, !tbaa !11
  %785 = fmul float %784, 1.000000e+02
  %786 = load float, ptr %97, align 4, !tbaa !11
  %787 = load float, ptr %101, align 4, !tbaa !11
  %788 = fsub float %786, %787
  store float %788, ptr %53, align 4, !tbaa !11
  %789 = load float, ptr %53, align 4, !tbaa !11
  %790 = fcmp oge float %789, 0.000000e+00
  br i1 %790, label %791, label %793

791:                                              ; preds = %779
  %792 = load float, ptr %53, align 4, !tbaa !11
  br label %796

793:                                              ; preds = %779
  %794 = load float, ptr %53, align 4, !tbaa !11
  %795 = fneg float %794
  br label %796

796:                                              ; preds = %793, %791
  %797 = phi float [ %792, %791 ], [ %795, %793 ]
  %798 = fneg float %785
  %799 = call float @llvm.fmuladd.f32(float %798, float %797, float %783)
  store float %799, ptr %55, align 4, !tbaa !11
  %800 = load float, ptr %54, align 4, !tbaa !11
  %801 = load float, ptr %55, align 4, !tbaa !11
  %802 = fcmp oge float %800, %801
  br i1 %802, label %803, label %805

803:                                              ; preds = %796
  %804 = load float, ptr %54, align 4, !tbaa !11
  br label %807

805:                                              ; preds = %796
  %806 = load float, ptr %55, align 4, !tbaa !11
  br label %807

807:                                              ; preds = %805, %803
  %808 = phi float [ %804, %803 ], [ %806, %805 ]
  store float %808, ptr %90, align 4, !tbaa !11
  %809 = load ptr, ptr %32, align 8, !tbaa !5
  %810 = load i32, ptr %81, align 4, !tbaa !9
  %811 = sext i32 %810 to i64
  %812 = getelementptr inbounds float, ptr %809, i64 %811
  %813 = load ptr, ptr %34, align 8, !tbaa !5
  %814 = load i32, ptr %81, align 4, !tbaa !9
  %815 = sext i32 %814 to i64
  %816 = getelementptr inbounds float, ptr %813, i64 %815
  %817 = load ptr, ptr %47, align 8, !tbaa !5
  call void @slarrk_(ptr noundef %78, ptr noundef %78, ptr noundef %77, ptr noundef %80, ptr noundef %812, ptr noundef %816, ptr noundef %817, ptr noundef %98, ptr noundef %97, ptr noundef %101, ptr noundef %72)
  %818 = load i32, ptr %72, align 4, !tbaa !9
  %819 = icmp ne i32 %818, 0
  br i1 %819, label %820, label %822

820:                                              ; preds = %807
  %821 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -1, ptr %821, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

822:                                              ; preds = %807
  %823 = load float, ptr %80, align 4, !tbaa !11
  store float %823, ptr %54, align 4, !tbaa !11
  %824 = load float, ptr %97, align 4, !tbaa !11
  %825 = load float, ptr %101, align 4, !tbaa !11
  %826 = fadd float %824, %825
  %827 = load float, ptr %95, align 4, !tbaa !11
  %828 = fmul float %827, 1.000000e+02
  %829 = load float, ptr %97, align 4, !tbaa !11
  %830 = load float, ptr %101, align 4, !tbaa !11
  %831 = fadd float %829, %830
  store float %831, ptr %53, align 4, !tbaa !11
  %832 = load float, ptr %53, align 4, !tbaa !11
  %833 = fcmp oge float %832, 0.000000e+00
  br i1 %833, label %834, label %836

834:                                              ; preds = %822
  %835 = load float, ptr %53, align 4, !tbaa !11
  br label %839

836:                                              ; preds = %822
  %837 = load float, ptr %53, align 4, !tbaa !11
  %838 = fneg float %837
  br label %839

839:                                              ; preds = %836, %834
  %840 = phi float [ %835, %834 ], [ %838, %836 ]
  %841 = call float @llvm.fmuladd.f32(float %828, float %840, float %826)
  store float %841, ptr %55, align 4, !tbaa !11
  %842 = load float, ptr %54, align 4, !tbaa !11
  %843 = load float, ptr %55, align 4, !tbaa !11
  %844 = fcmp ole float %842, %843
  br i1 %844, label %845, label %847

845:                                              ; preds = %839
  %846 = load float, ptr %54, align 4, !tbaa !11
  br label %849

847:                                              ; preds = %839
  %848 = load float, ptr %55, align 4, !tbaa !11
  br label %849

849:                                              ; preds = %847, %845
  %850 = phi float [ %846, %845 ], [ %848, %847 ]
  store float %850, ptr %91, align 4, !tbaa !11
  %851 = load float, ptr %91, align 4, !tbaa !11
  %852 = load float, ptr %90, align 4, !tbaa !11
  %853 = fsub float %851, %852
  store float %853, ptr %87, align 4, !tbaa !11
  br label %944

854:                                              ; preds = %762
  %855 = load float, ptr %77, align 4, !tbaa !11
  store float %855, ptr %54, align 4, !tbaa !11
  %856 = load ptr, ptr %41, align 8, !tbaa !5
  %857 = load i32, ptr %85, align 4, !tbaa !9
  %858 = sext i32 %857 to i64
  %859 = getelementptr inbounds float, ptr %856, i64 %858
  %860 = load float, ptr %859, align 4, !tbaa !11
  %861 = load ptr, ptr %42, align 8, !tbaa !5
  %862 = load i32, ptr %85, align 4, !tbaa !9
  %863 = sext i32 %862 to i64
  %864 = getelementptr inbounds float, ptr %861, i64 %863
  %865 = load float, ptr %864, align 4, !tbaa !11
  %866 = fsub float %860, %865
  %867 = load float, ptr %95, align 4, !tbaa !11
  %868 = fmul float %867, 1.000000e+02
  %869 = load ptr, ptr %41, align 8, !tbaa !5
  %870 = load i32, ptr %85, align 4, !tbaa !9
  %871 = sext i32 %870 to i64
  %872 = getelementptr inbounds float, ptr %869, i64 %871
  %873 = load float, ptr %872, align 4, !tbaa !11
  %874 = load ptr, ptr %42, align 8, !tbaa !5
  %875 = load i32, ptr %85, align 4, !tbaa !9
  %876 = sext i32 %875 to i64
  %877 = getelementptr inbounds float, ptr %874, i64 %876
  %878 = load float, ptr %877, align 4, !tbaa !11
  %879 = fsub float %873, %878
  store float %879, ptr %53, align 4, !tbaa !11
  %880 = load float, ptr %53, align 4, !tbaa !11
  %881 = fcmp oge float %880, 0.000000e+00
  br i1 %881, label %882, label %884

882:                                              ; preds = %854
  %883 = load float, ptr %53, align 4, !tbaa !11
  br label %887

884:                                              ; preds = %854
  %885 = load float, ptr %53, align 4, !tbaa !11
  %886 = fneg float %885
  br label %887

887:                                              ; preds = %884, %882
  %888 = phi float [ %883, %882 ], [ %886, %884 ]
  %889 = fneg float %868
  %890 = call float @llvm.fmuladd.f32(float %889, float %888, float %866)
  store float %890, ptr %55, align 4, !tbaa !11
  %891 = load float, ptr %54, align 4, !tbaa !11
  %892 = load float, ptr %55, align 4, !tbaa !11
  %893 = fcmp oge float %891, %892
  br i1 %893, label %894, label %896

894:                                              ; preds = %887
  %895 = load float, ptr %54, align 4, !tbaa !11
  br label %898

896:                                              ; preds = %887
  %897 = load float, ptr %55, align 4, !tbaa !11
  br label %898

898:                                              ; preds = %896, %894
  %899 = phi float [ %895, %894 ], [ %897, %896 ]
  store float %899, ptr %90, align 4, !tbaa !11
  %900 = load float, ptr %80, align 4, !tbaa !11
  store float %900, ptr %54, align 4, !tbaa !11
  %901 = load ptr, ptr %41, align 8, !tbaa !5
  %902 = load i32, ptr %63, align 4, !tbaa !9
  %903 = sext i32 %902 to i64
  %904 = getelementptr inbounds float, ptr %901, i64 %903
  %905 = load float, ptr %904, align 4, !tbaa !11
  %906 = load ptr, ptr %42, align 8, !tbaa !5
  %907 = load i32, ptr %63, align 4, !tbaa !9
  %908 = sext i32 %907 to i64
  %909 = getelementptr inbounds float, ptr %906, i64 %908
  %910 = load float, ptr %909, align 4, !tbaa !11
  %911 = fadd float %905, %910
  %912 = load float, ptr %95, align 4, !tbaa !11
  %913 = fmul float %912, 1.000000e+02
  %914 = load ptr, ptr %41, align 8, !tbaa !5
  %915 = load i32, ptr %63, align 4, !tbaa !9
  %916 = sext i32 %915 to i64
  %917 = getelementptr inbounds float, ptr %914, i64 %916
  %918 = load float, ptr %917, align 4, !tbaa !11
  %919 = load ptr, ptr %42, align 8, !tbaa !5
  %920 = load i32, ptr %63, align 4, !tbaa !9
  %921 = sext i32 %920 to i64
  %922 = getelementptr inbounds float, ptr %919, i64 %921
  %923 = load float, ptr %922, align 4, !tbaa !11
  %924 = fadd float %918, %923
  store float %924, ptr %53, align 4, !tbaa !11
  %925 = load float, ptr %53, align 4, !tbaa !11
  %926 = fcmp oge float %925, 0.000000e+00
  br i1 %926, label %927, label %929

927:                                              ; preds = %898
  %928 = load float, ptr %53, align 4, !tbaa !11
  br label %932

929:                                              ; preds = %898
  %930 = load float, ptr %53, align 4, !tbaa !11
  %931 = fneg float %930
  br label %932

932:                                              ; preds = %929, %927
  %933 = phi float [ %928, %927 ], [ %931, %929 ]
  %934 = call float @llvm.fmuladd.f32(float %913, float %933, float %911)
  store float %934, ptr %55, align 4, !tbaa !11
  %935 = load float, ptr %54, align 4, !tbaa !11
  %936 = load float, ptr %55, align 4, !tbaa !11
  %937 = fcmp ole float %935, %936
  br i1 %937, label %938, label %940

938:                                              ; preds = %932
  %939 = load float, ptr %54, align 4, !tbaa !11
  br label %942

940:                                              ; preds = %932
  %941 = load float, ptr %55, align 4, !tbaa !11
  br label %942

942:                                              ; preds = %940, %938
  %943 = phi float [ %939, %938 ], [ %941, %940 ]
  store float %943, ptr %91, align 4, !tbaa !11
  br label %944

944:                                              ; preds = %942, %849
  %945 = load i32, ptr %83, align 4, !tbaa !9
  %946 = icmp eq i32 %945, 1
  br i1 %946, label %947, label %964

947:                                              ; preds = %944
  %948 = load i32, ptr %82, align 4, !tbaa !9
  %949 = icmp ne i32 %948, 0
  br i1 %949, label %964, label %950

950:                                              ; preds = %947
  store i32 1, ptr %88, align 4, !tbaa !9
  store i32 1, ptr %60, align 4, !tbaa !9
  %951 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %951, ptr %65, align 4, !tbaa !9
  %952 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %952, ptr %76, align 4, !tbaa !9
  %953 = load i32, ptr %85, align 4, !tbaa !9
  %954 = load i32, ptr %76, align 4, !tbaa !9
  %955 = add nsw i32 %953, %954
  %956 = sub nsw i32 %955, 1
  store i32 %956, ptr %63, align 4, !tbaa !9
  %957 = load float, ptr %90, align 4, !tbaa !11
  %958 = load float, ptr %87, align 4, !tbaa !11
  %959 = call float @llvm.fmuladd.f32(float %958, float 2.500000e-01, float %957)
  store float %959, ptr %74, align 4, !tbaa !11
  %960 = load float, ptr %91, align 4, !tbaa !11
  %961 = load float, ptr %87, align 4, !tbaa !11
  %962 = fneg float %961
  %963 = call float @llvm.fmuladd.f32(float %962, float 2.500000e-01, float %960)
  store float %963, ptr %75, align 4, !tbaa !11
  br label %1027

964:                                              ; preds = %947, %944
  %965 = load i32, ptr %88, align 4, !tbaa !9
  %966 = icmp ne i32 %965, 0
  br i1 %966, label %967, label %975

967:                                              ; preds = %964
  %968 = load float, ptr %90, align 4, !tbaa !11
  %969 = load float, ptr %87, align 4, !tbaa !11
  %970 = call float @llvm.fmuladd.f32(float %969, float 2.500000e-01, float %968)
  store float %970, ptr %74, align 4, !tbaa !11
  %971 = load float, ptr %91, align 4, !tbaa !11
  %972 = load float, ptr %87, align 4, !tbaa !11
  %973 = fneg float %972
  %974 = call float @llvm.fmuladd.f32(float %973, float 2.500000e-01, float %971)
  store float %974, ptr %75, align 4, !tbaa !11
  br label %1026

975:                                              ; preds = %964
  %976 = load float, ptr %91, align 4, !tbaa !11
  %977 = load ptr, ptr %29, align 8, !tbaa !5
  %978 = load float, ptr %977, align 4, !tbaa !11
  %979 = fcmp ole float %976, %978
  br i1 %979, label %980, label %982

980:                                              ; preds = %975
  %981 = load float, ptr %91, align 4, !tbaa !11
  br label %985

982:                                              ; preds = %975
  %983 = load ptr, ptr %29, align 8, !tbaa !5
  %984 = load float, ptr %983, align 4, !tbaa !11
  br label %985

985:                                              ; preds = %982, %980
  %986 = phi float [ %981, %980 ], [ %984, %982 ]
  %987 = load float, ptr %90, align 4, !tbaa !11
  %988 = load ptr, ptr %28, align 8, !tbaa !5
  %989 = load float, ptr %988, align 4, !tbaa !11
  %990 = fcmp oge float %987, %989
  br i1 %990, label %991, label %993

991:                                              ; preds = %985
  %992 = load float, ptr %90, align 4, !tbaa !11
  br label %996

993:                                              ; preds = %985
  %994 = load ptr, ptr %28, align 8, !tbaa !5
  %995 = load float, ptr %994, align 4, !tbaa !11
  br label %996

996:                                              ; preds = %993, %991
  %997 = phi float [ %992, %991 ], [ %995, %993 ]
  %998 = fsub float %986, %997
  store float %998, ptr %97, align 4, !tbaa !11
  %999 = load float, ptr %90, align 4, !tbaa !11
  %1000 = load ptr, ptr %28, align 8, !tbaa !5
  %1001 = load float, ptr %1000, align 4, !tbaa !11
  %1002 = fcmp oge float %999, %1001
  br i1 %1002, label %1003, label %1005

1003:                                             ; preds = %996
  %1004 = load float, ptr %90, align 4, !tbaa !11
  br label %1008

1005:                                             ; preds = %996
  %1006 = load ptr, ptr %28, align 8, !tbaa !5
  %1007 = load float, ptr %1006, align 4, !tbaa !11
  br label %1008

1008:                                             ; preds = %1005, %1003
  %1009 = phi float [ %1004, %1003 ], [ %1007, %1005 ]
  %1010 = load float, ptr %97, align 4, !tbaa !11
  %1011 = call float @llvm.fmuladd.f32(float %1010, float 2.500000e-01, float %1009)
  store float %1011, ptr %74, align 4, !tbaa !11
  %1012 = load float, ptr %91, align 4, !tbaa !11
  %1013 = load ptr, ptr %29, align 8, !tbaa !5
  %1014 = load float, ptr %1013, align 4, !tbaa !11
  %1015 = fcmp ole float %1012, %1014
  br i1 %1015, label %1016, label %1018

1016:                                             ; preds = %1008
  %1017 = load float, ptr %91, align 4, !tbaa !11
  br label %1021

1018:                                             ; preds = %1008
  %1019 = load ptr, ptr %29, align 8, !tbaa !5
  %1020 = load float, ptr %1019, align 4, !tbaa !11
  br label %1021

1021:                                             ; preds = %1018, %1016
  %1022 = phi float [ %1017, %1016 ], [ %1020, %1018 ]
  %1023 = load float, ptr %97, align 4, !tbaa !11
  %1024 = fneg float %1023
  %1025 = call float @llvm.fmuladd.f32(float %1024, float 2.500000e-01, float %1022)
  store float %1025, ptr %75, align 4, !tbaa !11
  br label %1026

1026:                                             ; preds = %1021, %967
  br label %1027

1027:                                             ; preds = %1026, %950
  %1028 = load i32, ptr %76, align 4, !tbaa !9
  %1029 = icmp sgt i32 %1028, 1
  br i1 %1029, label %1030, label %1040

1030:                                             ; preds = %1027
  %1031 = load ptr, ptr %32, align 8, !tbaa !5
  %1032 = load i32, ptr %81, align 4, !tbaa !9
  %1033 = sext i32 %1032 to i64
  %1034 = getelementptr inbounds float, ptr %1031, i64 %1033
  %1035 = load ptr, ptr %33, align 8, !tbaa !5
  %1036 = load i32, ptr %81, align 4, !tbaa !9
  %1037 = sext i32 %1036 to i64
  %1038 = getelementptr inbounds float, ptr %1035, i64 %1037
  %1039 = load ptr, ptr %47, align 8, !tbaa !5
  call void @slarrc_(ptr noundef @.str.6, ptr noundef %78, ptr noundef %74, ptr noundef %75, ptr noundef %1034, ptr noundef %1038, ptr noundef %1039, ptr noundef %94, ptr noundef %99, ptr noundef %100, ptr noundef %72)
  br label %1040

1040:                                             ; preds = %1030, %1027
  %1041 = load i32, ptr %76, align 4, !tbaa !9
  %1042 = icmp eq i32 %1041, 1
  br i1 %1042, label %1043, label %1045

1043:                                             ; preds = %1040
  %1044 = load float, ptr %77, align 4, !tbaa !11
  store float %1044, ptr %71, align 4, !tbaa !11
  store float 1.000000e+00, ptr %84, align 4, !tbaa !11
  br label %1124

1045:                                             ; preds = %1040
  %1046 = load i32, ptr %99, align 4, !tbaa !9
  %1047 = load i32, ptr %60, align 4, !tbaa !9
  %1048 = sub nsw i32 %1046, %1047
  %1049 = load i32, ptr %65, align 4, !tbaa !9
  %1050 = load i32, ptr %100, align 4, !tbaa !9
  %1051 = sub nsw i32 %1049, %1050
  %1052 = icmp sge i32 %1048, %1051
  br i1 %1052, label %1053, label %1088

1053:                                             ; preds = %1045
  %1054 = load i32, ptr %83, align 4, !tbaa !9
  %1055 = icmp eq i32 %1054, 1
  br i1 %1055, label %1056, label %1069

1056:                                             ; preds = %1053
  %1057 = load i32, ptr %82, align 4, !tbaa !9
  %1058 = icmp ne i32 %1057, 0
  br i1 %1058, label %1069, label %1059

1059:                                             ; preds = %1056
  %1060 = load float, ptr %90, align 4, !tbaa !11
  %1061 = load float, ptr %77, align 4, !tbaa !11
  %1062 = fcmp oge float %1060, %1061
  br i1 %1062, label %1063, label %1065

1063:                                             ; preds = %1059
  %1064 = load float, ptr %90, align 4, !tbaa !11
  br label %1067

1065:                                             ; preds = %1059
  %1066 = load float, ptr %77, align 4, !tbaa !11
  br label %1067

1067:                                             ; preds = %1065, %1063
  %1068 = phi float [ %1064, %1063 ], [ %1066, %1065 ]
  store float %1068, ptr %71, align 4, !tbaa !11
  br label %1087

1069:                                             ; preds = %1056, %1053
  %1070 = load i32, ptr %88, align 4, !tbaa !9
  %1071 = icmp ne i32 %1070, 0
  br i1 %1071, label %1072, label %1074

1072:                                             ; preds = %1069
  %1073 = load float, ptr %90, align 4, !tbaa !11
  store float %1073, ptr %71, align 4, !tbaa !11
  br label %1086

1074:                                             ; preds = %1069
  %1075 = load float, ptr %90, align 4, !tbaa !11
  %1076 = load ptr, ptr %28, align 8, !tbaa !5
  %1077 = load float, ptr %1076, align 4, !tbaa !11
  %1078 = fcmp oge float %1075, %1077
  br i1 %1078, label %1079, label %1081

1079:                                             ; preds = %1074
  %1080 = load float, ptr %90, align 4, !tbaa !11
  br label %1084

1081:                                             ; preds = %1074
  %1082 = load ptr, ptr %28, align 8, !tbaa !5
  %1083 = load float, ptr %1082, align 4, !tbaa !11
  br label %1084

1084:                                             ; preds = %1081, %1079
  %1085 = phi float [ %1080, %1079 ], [ %1083, %1081 ]
  store float %1085, ptr %71, align 4, !tbaa !11
  br label %1086

1086:                                             ; preds = %1084, %1072
  br label %1087

1087:                                             ; preds = %1086, %1067
  store float 1.000000e+00, ptr %84, align 4, !tbaa !11
  br label %1123

1088:                                             ; preds = %1045
  %1089 = load i32, ptr %83, align 4, !tbaa !9
  %1090 = icmp eq i32 %1089, 1
  br i1 %1090, label %1091, label %1104

1091:                                             ; preds = %1088
  %1092 = load i32, ptr %82, align 4, !tbaa !9
  %1093 = icmp ne i32 %1092, 0
  br i1 %1093, label %1104, label %1094

1094:                                             ; preds = %1091
  %1095 = load float, ptr %91, align 4, !tbaa !11
  %1096 = load float, ptr %80, align 4, !tbaa !11
  %1097 = fcmp ole float %1095, %1096
  br i1 %1097, label %1098, label %1100

1098:                                             ; preds = %1094
  %1099 = load float, ptr %91, align 4, !tbaa !11
  br label %1102

1100:                                             ; preds = %1094
  %1101 = load float, ptr %80, align 4, !tbaa !11
  br label %1102

1102:                                             ; preds = %1100, %1098
  %1103 = phi float [ %1099, %1098 ], [ %1101, %1100 ]
  store float %1103, ptr %71, align 4, !tbaa !11
  br label %1122

1104:                                             ; preds = %1091, %1088
  %1105 = load i32, ptr %88, align 4, !tbaa !9
  %1106 = icmp ne i32 %1105, 0
  br i1 %1106, label %1107, label %1109

1107:                                             ; preds = %1104
  %1108 = load float, ptr %91, align 4, !tbaa !11
  store float %1108, ptr %71, align 4, !tbaa !11
  br label %1121

1109:                                             ; preds = %1104
  %1110 = load float, ptr %91, align 4, !tbaa !11
  %1111 = load ptr, ptr %29, align 8, !tbaa !5
  %1112 = load float, ptr %1111, align 4, !tbaa !11
  %1113 = fcmp ole float %1110, %1112
  br i1 %1113, label %1114, label %1116

1114:                                             ; preds = %1109
  %1115 = load float, ptr %91, align 4, !tbaa !11
  br label %1119

1116:                                             ; preds = %1109
  %1117 = load ptr, ptr %29, align 8, !tbaa !5
  %1118 = load float, ptr %1117, align 4, !tbaa !11
  br label %1119

1119:                                             ; preds = %1116, %1114
  %1120 = phi float [ %1115, %1114 ], [ %1118, %1116 ]
  store float %1120, ptr %71, align 4, !tbaa !11
  br label %1121

1121:                                             ; preds = %1119, %1107
  br label %1122

1122:                                             ; preds = %1121, %1102
  store float -1.000000e+00, ptr %84, align 4, !tbaa !11
  br label %1123

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

1124:                                             ; preds = %1123, %1043
  %1125 = load i32, ptr %88, align 4, !tbaa !9
  %1126 = icmp ne i32 %1125, 0
  br i1 %1126, label %1127, label %1160

1127:                                             ; preds = %1124
  %1128 = load float, ptr %87, align 4, !tbaa !11
  %1129 = load float, ptr %95, align 4, !tbaa !11
  %1130 = fmul float %1128, %1129
  %1131 = load ptr, ptr %27, align 8, !tbaa !5
  %1132 = load i32, ptr %1131, align 4, !tbaa !9
  %1133 = sitofp i32 %1132 to float
  %1134 = load ptr, ptr %47, align 8, !tbaa !5
  %1135 = load float, ptr %1134, align 4, !tbaa !11
  %1136 = fmul float %1135, 2.000000e+00
  %1137 = call float @llvm.fmuladd.f32(float %1130, float %1133, float %1136)
  store float %1137, ptr %96, align 4, !tbaa !11
  %1138 = load float, ptr %96, align 4, !tbaa !11
  store float %1138, ptr %53, align 4, !tbaa !11
  %1139 = load float, ptr %95, align 4, !tbaa !11
  %1140 = fmul float %1139, 2.000000e+00
  %1141 = load float, ptr %71, align 4, !tbaa !11
  %1142 = fcmp oge float %1141, 0.000000e+00
  br i1 %1142, label %1143, label %1145

1143:                                             ; preds = %1127
  %1144 = load float, ptr %71, align 4, !tbaa !11
  br label %1148

1145:                                             ; preds = %1127
  %1146 = load float, ptr %71, align 4, !tbaa !11
  %1147 = fneg float %1146
  br label %1148

1148:                                             ; preds = %1145, %1143
  %1149 = phi float [ %1144, %1143 ], [ %1147, %1145 ]
  %1150 = fmul float %1140, %1149
  store float %1150, ptr %54, align 4, !tbaa !11
  %1151 = load float, ptr %53, align 4, !tbaa !11
  %1152 = load float, ptr %54, align 4, !tbaa !11
  %1153 = fcmp oge float %1151, %1152
  br i1 %1153, label %1154, label %1156

1154:                                             ; preds = %1148
  %1155 = load float, ptr %53, align 4, !tbaa !11
  br label %1158

1156:                                             ; preds = %1148
  %1157 = load float, ptr %54, align 4, !tbaa !11
  br label %1158

1158:                                             ; preds = %1156, %1154
  %1159 = phi float [ %1155, %1154 ], [ %1157, %1156 ]
  store float %1159, ptr %96, align 4, !tbaa !11
  br label %1275

1160:                                             ; preds = %1124
  %1161 = load i32, ptr %76, align 4, !tbaa !9
  %1162 = icmp sgt i32 %1161, 1
  br i1 %1162, label %1163, label %1268

1163:                                             ; preds = %1160
  %1164 = load ptr, ptr %41, align 8, !tbaa !5
  %1165 = load i32, ptr %63, align 4, !tbaa !9
  %1166 = sext i32 %1165 to i64
  %1167 = getelementptr inbounds float, ptr %1164, i64 %1166
  %1168 = load float, ptr %1167, align 4, !tbaa !11
  %1169 = load ptr, ptr %42, align 8, !tbaa !5
  %1170 = load i32, ptr %63, align 4, !tbaa !9
  %1171 = sext i32 %1170 to i64
  %1172 = getelementptr inbounds float, ptr %1169, i64 %1171
  %1173 = load float, ptr %1172, align 4, !tbaa !11
  %1174 = fadd float %1168, %1173
  %1175 = load ptr, ptr %41, align 8, !tbaa !5
  %1176 = load i32, ptr %85, align 4, !tbaa !9
  %1177 = sext i32 %1176 to i64
  %1178 = getelementptr inbounds float, ptr %1175, i64 %1177
  %1179 = load float, ptr %1178, align 4, !tbaa !11
  %1180 = fsub float %1174, %1179
  %1181 = load ptr, ptr %42, align 8, !tbaa !5
  %1182 = load i32, ptr %85, align 4, !tbaa !9
  %1183 = sext i32 %1182 to i64
  %1184 = getelementptr inbounds float, ptr %1181, i64 %1183
  %1185 = load float, ptr %1184, align 4, !tbaa !11
  %1186 = fsub float %1180, %1185
  store float %1186, ptr %89, align 4, !tbaa !11
  %1187 = load float, ptr %89, align 4, !tbaa !11
  %1188 = load i32, ptr %63, align 4, !tbaa !9
  %1189 = load i32, ptr %85, align 4, !tbaa !9
  %1190 = sub nsw i32 %1188, %1189
  %1191 = sitofp i32 %1190 to float
  %1192 = fdiv float %1187, %1191
  store float %1192, ptr %53, align 4, !tbaa !11
  %1193 = load float, ptr %53, align 4, !tbaa !11
  %1194 = fcmp oge float %1193, 0.000000e+00
  br i1 %1194, label %1195, label %1197

1195:                                             ; preds = %1163
  %1196 = load float, ptr %53, align 4, !tbaa !11
  br label %1200

1197:                                             ; preds = %1163
  %1198 = load float, ptr %53, align 4, !tbaa !11
  %1199 = fneg float %1198
  br label %1200

1200:                                             ; preds = %1197, %1195
  %1201 = phi float [ %1196, %1195 ], [ %1199, %1197 ]
  store float %1201, ptr %70, align 4, !tbaa !11
  %1202 = load float, ptr %84, align 4, !tbaa !11
  %1203 = fcmp oeq float %1202, 1.000000e+00
  br i1 %1203, label %1204, label %1235

1204:                                             ; preds = %1200
  %1205 = load ptr, ptr %43, align 8, !tbaa !5
  %1206 = load i32, ptr %85, align 4, !tbaa !9
  %1207 = sext i32 %1206 to i64
  %1208 = getelementptr inbounds float, ptr %1205, i64 %1207
  %1209 = load float, ptr %1208, align 4, !tbaa !11
  store float %1209, ptr %53, align 4, !tbaa !11
  %1210 = load float, ptr %53, align 4, !tbaa !11
  %1211 = load float, ptr %70, align 4, !tbaa !11
  %1212 = fcmp oge float %1210, %1211
  br i1 %1212, label %1213, label %1215

1213:                                             ; preds = %1204
  %1214 = load float, ptr %53, align 4, !tbaa !11
  br label %1217

1215:                                             ; preds = %1204
  %1216 = load float, ptr %70, align 4, !tbaa !11
  br label %1217

1217:                                             ; preds = %1215, %1213
  %1218 = phi float [ %1214, %1213 ], [ %1216, %1215 ]
  %1219 = fmul float %1218, 5.000000e-01
  store float %1219, ptr %96, align 4, !tbaa !11
  %1220 = load float, ptr %96, align 4, !tbaa !11
  store float %1220, ptr %53, align 4, !tbaa !11
  %1221 = load ptr, ptr %42, align 8, !tbaa !5
  %1222 = load i32, ptr %85, align 4, !tbaa !9
  %1223 = sext i32 %1222 to i64
  %1224 = getelementptr inbounds float, ptr %1221, i64 %1223
  %1225 = load float, ptr %1224, align 4, !tbaa !11
  store float %1225, ptr %54, align 4, !tbaa !11
  %1226 = load float, ptr %53, align 4, !tbaa !11
  %1227 = load float, ptr %54, align 4, !tbaa !11
  %1228 = fcmp oge float %1226, %1227
  br i1 %1228, label %1229, label %1231

1229:                                             ; preds = %1217
  %1230 = load float, ptr %53, align 4, !tbaa !11
  br label %1233

1231:                                             ; preds = %1217
  %1232 = load float, ptr %54, align 4, !tbaa !11
  br label %1233

1233:                                             ; preds = %1231, %1229
  %1234 = phi float [ %1230, %1229 ], [ %1232, %1231 ]
  store float %1234, ptr %96, align 4, !tbaa !11
  br label %1267

1235:                                             ; preds = %1200
  %1236 = load ptr, ptr %43, align 8, !tbaa !5
  %1237 = load i32, ptr %63, align 4, !tbaa !9
  %1238 = sub nsw i32 %1237, 1
  %1239 = sext i32 %1238 to i64
  %1240 = getelementptr inbounds float, ptr %1236, i64 %1239
  %1241 = load float, ptr %1240, align 4, !tbaa !11
  store float %1241, ptr %53, align 4, !tbaa !11
  %1242 = load float, ptr %53, align 4, !tbaa !11
  %1243 = load float, ptr %70, align 4, !tbaa !11
  %1244 = fcmp oge float %1242, %1243
  br i1 %1244, label %1245, label %1247

1245:                                             ; preds = %1235
  %1246 = load float, ptr %53, align 4, !tbaa !11
  br label %1249

1247:                                             ; preds = %1235
  %1248 = load float, ptr %70, align 4, !tbaa !11
  br label %1249

1249:                                             ; preds = %1247, %1245
  %1250 = phi float [ %1246, %1245 ], [ %1248, %1247 ]
  %1251 = fmul float %1250, 5.000000e-01
  store float %1251, ptr %96, align 4, !tbaa !11
  %1252 = load float, ptr %96, align 4, !tbaa !11
  store float %1252, ptr %53, align 4, !tbaa !11
  %1253 = load ptr, ptr %42, align 8, !tbaa !5
  %1254 = load i32, ptr %63, align 4, !tbaa !9
  %1255 = sext i32 %1254 to i64
  %1256 = getelementptr inbounds float, ptr %1253, i64 %1255
  %1257 = load float, ptr %1256, align 4, !tbaa !11
  store float %1257, ptr %54, align 4, !tbaa !11
  %1258 = load float, ptr %53, align 4, !tbaa !11
  %1259 = load float, ptr %54, align 4, !tbaa !11
  %1260 = fcmp oge float %1258, %1259
  br i1 %1260, label %1261, label %1263

1261:                                             ; preds = %1249
  %1262 = load float, ptr %53, align 4, !tbaa !11
  br label %1265

1263:                                             ; preds = %1249
  %1264 = load float, ptr %54, align 4, !tbaa !11
  br label %1265

1265:                                             ; preds = %1263, %1261
  %1266 = phi float [ %1262, %1261 ], [ %1264, %1263 ]
  store float %1266, ptr %96, align 4, !tbaa !11
  br label %1267

1267:                                             ; preds = %1265, %1233
  br label %1274

1268:                                             ; preds = %1160
  %1269 = load ptr, ptr %42, align 8, !tbaa !5
  %1270 = load i32, ptr %85, align 4, !tbaa !9
  %1271 = sext i32 %1270 to i64
  %1272 = getelementptr inbounds float, ptr %1269, i64 %1271
  %1273 = load float, ptr %1272, align 4, !tbaa !11
  store float %1273, ptr %96, align 4, !tbaa !11
  br label %1274

1274:                                             ; preds = %1268, %1267
  br label %1275

1275:                                             ; preds = %1274, %1158
  store i32 1, ptr %64, align 4, !tbaa !9
  br label %1276

1276:                                             ; preds = %1477, %1275
  %1277 = load i32, ptr %64, align 4, !tbaa !9
  %1278 = icmp sle i32 %1277, 6
  br i1 %1278, label %1279, label %1480

1279:                                             ; preds = %1276
  %1280 = load ptr, ptr %32, align 8, !tbaa !5
  %1281 = load i32, ptr %81, align 4, !tbaa !9
  %1282 = sext i32 %1281 to i64
  %1283 = getelementptr inbounds float, ptr %1280, i64 %1282
  %1284 = load float, ptr %1283, align 4, !tbaa !11
  %1285 = load float, ptr %71, align 4, !tbaa !11
  %1286 = fsub float %1284, %1285
  store float %1286, ptr %93, align 4, !tbaa !11
  %1287 = load float, ptr %93, align 4, !tbaa !11
  %1288 = load ptr, ptr %48, align 8, !tbaa !5
  %1289 = getelementptr inbounds float, ptr %1288, i64 1
  store float %1287, ptr %1289, align 4, !tbaa !11
  %1290 = load ptr, ptr %48, align 8, !tbaa !5
  %1291 = getelementptr inbounds float, ptr %1290, i64 1
  %1292 = load float, ptr %1291, align 4, !tbaa !11
  %1293 = fcmp oge float %1292, 0.000000e+00
  br i1 %1293, label %1294, label %1298

1294:                                             ; preds = %1279
  %1295 = load ptr, ptr %48, align 8, !tbaa !5
  %1296 = getelementptr inbounds float, ptr %1295, i64 1
  %1297 = load float, ptr %1296, align 4, !tbaa !11
  br label %1303

1298:                                             ; preds = %1279
  %1299 = load ptr, ptr %48, align 8, !tbaa !5
  %1300 = getelementptr inbounds float, ptr %1299, i64 1
  %1301 = load float, ptr %1300, align 4, !tbaa !11
  %1302 = fneg float %1301
  br label %1303

1303:                                             ; preds = %1298, %1294
  %1304 = phi float [ %1297, %1294 ], [ %1302, %1298 ]
  store float %1304, ptr %61, align 4, !tbaa !11
  %1305 = load i32, ptr %81, align 4, !tbaa !9
  store i32 %1305, ptr %68, align 4, !tbaa !9
  %1306 = load i32, ptr %78, align 4, !tbaa !9
  %1307 = sub nsw i32 %1306, 1
  store i32 %1307, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1308

1308:                                             ; preds = %1390, %1303
  %1309 = load i32, ptr %67, align 4, !tbaa !9
  %1310 = load i32, ptr %52, align 4, !tbaa !9
  %1311 = icmp sle i32 %1309, %1310
  br i1 %1311, label %1312, label %1393

1312:                                             ; preds = %1308
  %1313 = load ptr, ptr %48, align 8, !tbaa !5
  %1314 = load i32, ptr %67, align 4, !tbaa !9
  %1315 = sext i32 %1314 to i64
  %1316 = getelementptr inbounds float, ptr %1313, i64 %1315
  %1317 = load float, ptr %1316, align 4, !tbaa !11
  %1318 = fdiv float 1.000000e+00, %1317
  %1319 = load ptr, ptr %48, align 8, !tbaa !5
  %1320 = load i32, ptr %78, align 4, !tbaa !9
  %1321 = shl i32 %1320, 1
  %1322 = load i32, ptr %67, align 4, !tbaa !9
  %1323 = add nsw i32 %1321, %1322
  %1324 = sext i32 %1323 to i64
  %1325 = getelementptr inbounds float, ptr %1319, i64 %1324
  store float %1318, ptr %1325, align 4, !tbaa !11
  %1326 = load ptr, ptr %33, align 8, !tbaa !5
  %1327 = load i32, ptr %68, align 4, !tbaa !9
  %1328 = sext i32 %1327 to i64
  %1329 = getelementptr inbounds float, ptr %1326, i64 %1328
  %1330 = load float, ptr %1329, align 4, !tbaa !11
  %1331 = load ptr, ptr %48, align 8, !tbaa !5
  %1332 = load i32, ptr %78, align 4, !tbaa !9
  %1333 = shl i32 %1332, 1
  %1334 = load i32, ptr %67, align 4, !tbaa !9
  %1335 = add nsw i32 %1333, %1334
  %1336 = sext i32 %1335 to i64
  %1337 = getelementptr inbounds float, ptr %1331, i64 %1336
  %1338 = load float, ptr %1337, align 4, !tbaa !11
  %1339 = fmul float %1330, %1338
  store float %1339, ptr %97, align 4, !tbaa !11
  %1340 = load float, ptr %97, align 4, !tbaa !11
  %1341 = load ptr, ptr %48, align 8, !tbaa !5
  %1342 = load i32, ptr %78, align 4, !tbaa !9
  %1343 = load i32, ptr %67, align 4, !tbaa !9
  %1344 = add nsw i32 %1342, %1343
  %1345 = sext i32 %1344 to i64
  %1346 = getelementptr inbounds float, ptr %1341, i64 %1345
  store float %1340, ptr %1346, align 4, !tbaa !11
  %1347 = load ptr, ptr %32, align 8, !tbaa !5
  %1348 = load i32, ptr %68, align 4, !tbaa !9
  %1349 = add nsw i32 %1348, 1
  %1350 = sext i32 %1349 to i64
  %1351 = getelementptr inbounds float, ptr %1347, i64 %1350
  %1352 = load float, ptr %1351, align 4, !tbaa !11
  %1353 = load float, ptr %71, align 4, !tbaa !11
  %1354 = fsub float %1352, %1353
  %1355 = load float, ptr %97, align 4, !tbaa !11
  %1356 = load ptr, ptr %33, align 8, !tbaa !5
  %1357 = load i32, ptr %68, align 4, !tbaa !9
  %1358 = sext i32 %1357 to i64
  %1359 = getelementptr inbounds float, ptr %1356, i64 %1358
  %1360 = load float, ptr %1359, align 4, !tbaa !11
  %1361 = fneg float %1355
  %1362 = call float @llvm.fmuladd.f32(float %1361, float %1360, float %1354)
  store float %1362, ptr %93, align 4, !tbaa !11
  %1363 = load float, ptr %93, align 4, !tbaa !11
  %1364 = load ptr, ptr %48, align 8, !tbaa !5
  %1365 = load i32, ptr %67, align 4, !tbaa !9
  %1366 = add nsw i32 %1365, 1
  %1367 = sext i32 %1366 to i64
  %1368 = getelementptr inbounds float, ptr %1364, i64 %1367
  store float %1363, ptr %1368, align 4, !tbaa !11
  %1369 = load float, ptr %61, align 4, !tbaa !11
  store float %1369, ptr %53, align 4, !tbaa !11
  %1370 = load float, ptr %93, align 4, !tbaa !11
  %1371 = fcmp oge float %1370, 0.000000e+00
  br i1 %1371, label %1372, label %1374

1372:                                             ; preds = %1312
  %1373 = load float, ptr %93, align 4, !tbaa !11
  br label %1377

1374:                                             ; preds = %1312
  %1375 = load float, ptr %93, align 4, !tbaa !11
  %1376 = fneg float %1375
  br label %1377

1377:                                             ; preds = %1374, %1372
  %1378 = phi float [ %1373, %1372 ], [ %1376, %1374 ]
  store float %1378, ptr %54, align 4, !tbaa !11
  %1379 = load float, ptr %53, align 4, !tbaa !11
  %1380 = load float, ptr %54, align 4, !tbaa !11
  %1381 = fcmp oge float %1379, %1380
  br i1 %1381, label %1382, label %1384

1382:                                             ; preds = %1377
  %1383 = load float, ptr %53, align 4, !tbaa !11
  br label %1386

1384:                                             ; preds = %1377
  %1385 = load float, ptr %54, align 4, !tbaa !11
  br label %1386

1386:                                             ; preds = %1384, %1382
  %1387 = phi float [ %1383, %1382 ], [ %1385, %1384 ]
  store float %1387, ptr %61, align 4, !tbaa !11
  %1388 = load i32, ptr %68, align 4, !tbaa !9
  %1389 = add nsw i32 %1388, 1
  store i32 %1389, ptr %68, align 4, !tbaa !9
  br label %1390

1390:                                             ; preds = %1386
  %1391 = load i32, ptr %67, align 4, !tbaa !9
  %1392 = add nsw i32 %1391, 1
  store i32 %1392, ptr %67, align 4, !tbaa !9
  br label %1308, !llvm.loop !19

1393:                                             ; preds = %1308
  %1394 = load float, ptr %61, align 4, !tbaa !11
  %1395 = load float, ptr %87, align 4, !tbaa !11
  %1396 = fmul float %1395, 6.400000e+01
  %1397 = fcmp ogt float %1394, %1396
  br i1 %1397, label %1398, label %1399

1398:                                             ; preds = %1393
  store i32 1, ptr %73, align 4, !tbaa !9
  br label %1400

1399:                                             ; preds = %1393
  store i32 0, ptr %73, align 4, !tbaa !9
  br label %1400

1400:                                             ; preds = %1399, %1398
  %1401 = load i32, ptr %88, align 4, !tbaa !9
  %1402 = icmp ne i32 %1401, 0
  br i1 %1402, label %1403, label %1428

1403:                                             ; preds = %1400
  %1404 = load i32, ptr %73, align 4, !tbaa !9
  %1405 = icmp ne i32 %1404, 0
  br i1 %1405, label %1428, label %1406

1406:                                             ; preds = %1403
  %1407 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %1407, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1408

1408:                                             ; preds = %1424, %1406
  %1409 = load i32, ptr %67, align 4, !tbaa !9
  %1410 = load i32, ptr %52, align 4, !tbaa !9
  %1411 = icmp sle i32 %1409, %1410
  br i1 %1411, label %1412, label %1427

1412:                                             ; preds = %1408
  %1413 = load float, ptr %84, align 4, !tbaa !11
  %1414 = load ptr, ptr %48, align 8, !tbaa !5
  %1415 = load i32, ptr %67, align 4, !tbaa !9
  %1416 = sext i32 %1415 to i64
  %1417 = getelementptr inbounds float, ptr %1414, i64 %1416
  %1418 = load float, ptr %1417, align 4, !tbaa !11
  %1419 = fmul float %1413, %1418
  store float %1419, ptr %97, align 4, !tbaa !11
  %1420 = load float, ptr %97, align 4, !tbaa !11
  %1421 = fcmp olt float %1420, 0.000000e+00
  br i1 %1421, label %1422, label %1423

1422:                                             ; preds = %1412
  store i32 1, ptr %73, align 4, !tbaa !9
  br label %1423

1423:                                             ; preds = %1422, %1412
  br label %1424

1424:                                             ; preds = %1423
  %1425 = load i32, ptr %67, align 4, !tbaa !9
  %1426 = add nsw i32 %1425, 1
  store i32 %1426, ptr %67, align 4, !tbaa !9
  br label %1408, !llvm.loop !20

1427:                                             ; preds = %1408
  br label %1428

1428:                                             ; preds = %1427, %1403, %1400
  %1429 = load i32, ptr %73, align 4, !tbaa !9
  %1430 = icmp ne i32 %1429, 0
  br i1 %1430, label %1431, label %1475

1431:                                             ; preds = %1428
  %1432 = load i32, ptr %64, align 4, !tbaa !9
  %1433 = icmp eq i32 %1432, 5
  br i1 %1433, label %1434, label %1466

1434:                                             ; preds = %1431
  %1435 = load float, ptr %84, align 4, !tbaa !11
  %1436 = fcmp oeq float %1435, 1.000000e+00
  br i1 %1436, label %1437, label %1452

1437:                                             ; preds = %1434
  %1438 = load float, ptr %77, align 4, !tbaa !11
  %1439 = load float, ptr %87, align 4, !tbaa !11
  %1440 = fmul float %1439, 2.000000e+00
  %1441 = load float, ptr %95, align 4, !tbaa !11
  %1442 = fmul float %1440, %1441
  %1443 = load ptr, ptr %27, align 8, !tbaa !5
  %1444 = load i32, ptr %1443, align 4, !tbaa !9
  %1445 = sitofp i32 %1444 to float
  %1446 = fneg float %1442
  %1447 = call float @llvm.fmuladd.f32(float %1446, float %1445, float %1438)
  %1448 = load ptr, ptr %47, align 8, !tbaa !5
  %1449 = load float, ptr %1448, align 4, !tbaa !11
  %1450 = fneg float %1449
  %1451 = call float @llvm.fmuladd.f32(float %1450, float 4.000000e+00, float %1447)
  store float %1451, ptr %71, align 4, !tbaa !11
  br label %1465

1452:                                             ; preds = %1434
  %1453 = load float, ptr %80, align 4, !tbaa !11
  %1454 = load float, ptr %87, align 4, !tbaa !11
  %1455 = fmul float %1454, 2.000000e+00
  %1456 = load float, ptr %95, align 4, !tbaa !11
  %1457 = fmul float %1455, %1456
  %1458 = load ptr, ptr %27, align 8, !tbaa !5
  %1459 = load i32, ptr %1458, align 4, !tbaa !9
  %1460 = sitofp i32 %1459 to float
  %1461 = call float @llvm.fmuladd.f32(float %1457, float %1460, float %1453)
  %1462 = load ptr, ptr %47, align 8, !tbaa !5
  %1463 = load float, ptr %1462, align 4, !tbaa !11
  %1464 = call float @llvm.fmuladd.f32(float %1463, float 4.000000e+00, float %1461)
  store float %1464, ptr %71, align 4, !tbaa !11
  br label %1465

1465:                                             ; preds = %1452, %1437
  br label %1474

1466:                                             ; preds = %1431
  %1467 = load float, ptr %84, align 4, !tbaa !11
  %1468 = load float, ptr %96, align 4, !tbaa !11
  %1469 = load float, ptr %71, align 4, !tbaa !11
  %1470 = fneg float %1467
  %1471 = call float @llvm.fmuladd.f32(float %1470, float %1468, float %1469)
  store float %1471, ptr %71, align 4, !tbaa !11
  %1472 = load float, ptr %96, align 4, !tbaa !11
  %1473 = fmul float %1472, 2.000000e+00
  store float %1473, ptr %96, align 4, !tbaa !11
  br label %1474

1474:                                             ; preds = %1466, %1465
  br label %1476

1475:                                             ; preds = %1428
  br label %1482

1476:                                             ; preds = %1474
  br label %1477

1477:                                             ; preds = %1476
  %1478 = load i32, ptr %64, align 4, !tbaa !9
  %1479 = add nsw i32 %1478, 1
  store i32 %1479, ptr %64, align 4, !tbaa !9
  br label %1276, !llvm.loop !21

1480:                                             ; preds = %1276
  %1481 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 2, ptr %1481, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

1482:                                             ; preds = %1475
  %1483 = load float, ptr %71, align 4, !tbaa !11
  %1484 = load ptr, ptr %33, align 8, !tbaa !5
  %1485 = load i32, ptr %57, align 4, !tbaa !9
  %1486 = sext i32 %1485 to i64
  %1487 = getelementptr inbounds float, ptr %1484, i64 %1486
  store float %1483, ptr %1487, align 4, !tbaa !11
  %1488 = load ptr, ptr %48, align 8, !tbaa !5
  %1489 = getelementptr inbounds float, ptr %1488, i64 1
  %1490 = load ptr, ptr %32, align 8, !tbaa !5
  %1491 = load i32, ptr %81, align 4, !tbaa !9
  %1492 = sext i32 %1491 to i64
  %1493 = getelementptr inbounds float, ptr %1490, i64 %1492
  call void @scopy_(ptr noundef %78, ptr noundef %1489, ptr noundef @c__1, ptr noundef %1493, ptr noundef @c__1)
  %1494 = load i32, ptr %78, align 4, !tbaa !9
  %1495 = sub nsw i32 %1494, 1
  store i32 %1495, ptr %52, align 4, !tbaa !9
  %1496 = load ptr, ptr %48, align 8, !tbaa !5
  %1497 = load i32, ptr %78, align 4, !tbaa !9
  %1498 = add nsw i32 %1497, 1
  %1499 = sext i32 %1498 to i64
  %1500 = getelementptr inbounds float, ptr %1496, i64 %1499
  %1501 = load ptr, ptr %33, align 8, !tbaa !5
  %1502 = load i32, ptr %81, align 4, !tbaa !9
  %1503 = sext i32 %1502 to i64
  %1504 = getelementptr inbounds float, ptr %1501, i64 %1503
  call void @scopy_(ptr noundef %52, ptr noundef %1500, ptr noundef @c__1, ptr noundef %1504, ptr noundef @c__1)
  %1505 = load i32, ptr %76, align 4, !tbaa !9
  %1506 = icmp sgt i32 %1505, 1
  br i1 %1506, label %1507, label %1587

1507:                                             ; preds = %1482
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1508

1508:                                             ; preds = %1516, %1507
  %1509 = load i32, ptr %67, align 4, !tbaa !9
  %1510 = icmp sle i32 %1509, 4
  br i1 %1510, label %1511, label %1519

1511:                                             ; preds = %1508
  %1512 = load i32, ptr %67, align 4, !tbaa !9
  %1513 = sub nsw i32 %1512, 1
  %1514 = sext i32 %1513 to i64
  %1515 = getelementptr inbounds [4 x i32], ptr %69, i64 0, i64 %1514
  store i32 1, ptr %1515, align 4, !tbaa !9
  br label %1516

1516:                                             ; preds = %1511
  %1517 = load i32, ptr %67, align 4, !tbaa !9
  %1518 = add nsw i32 %1517, 1
  store i32 %1518, ptr %67, align 4, !tbaa !9
  br label %1508, !llvm.loop !22

1519:                                             ; preds = %1508
  %1520 = load i32, ptr %78, align 4, !tbaa !9
  %1521 = shl i32 %1520, 1
  %1522 = sub nsw i32 %1521, 1
  store i32 %1522, ptr %52, align 4, !tbaa !9
  %1523 = getelementptr inbounds [4 x i32], ptr %69, i64 0, i64 0
  %1524 = load ptr, ptr %48, align 8, !tbaa !5
  %1525 = getelementptr inbounds float, ptr %1524, i64 1
  call void @slarnv_(ptr noundef @c__2, ptr noundef %1523, ptr noundef %52, ptr noundef %1525)
  %1526 = load i32, ptr %78, align 4, !tbaa !9
  %1527 = sub nsw i32 %1526, 1
  store i32 %1527, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1528

1528:                                             ; preds = %1569, %1519
  %1529 = load i32, ptr %67, align 4, !tbaa !9
  %1530 = load i32, ptr %52, align 4, !tbaa !9
  %1531 = icmp sle i32 %1529, %1530
  br i1 %1531, label %1532, label %1572

1532:                                             ; preds = %1528
  %1533 = load float, ptr %95, align 4, !tbaa !11
  %1534 = fmul float %1533, 4.000000e+00
  %1535 = load ptr, ptr %48, align 8, !tbaa !5
  %1536 = load i32, ptr %67, align 4, !tbaa !9
  %1537 = sext i32 %1536 to i64
  %1538 = getelementptr inbounds float, ptr %1535, i64 %1537
  %1539 = load float, ptr %1538, align 4, !tbaa !11
  %1540 = call float @llvm.fmuladd.f32(float %1534, float %1539, float 1.000000e+00)
  %1541 = load ptr, ptr %32, align 8, !tbaa !5
  %1542 = load i32, ptr %81, align 4, !tbaa !9
  %1543 = load i32, ptr %67, align 4, !tbaa !9
  %1544 = add nsw i32 %1542, %1543
  %1545 = sub nsw i32 %1544, 1
  %1546 = sext i32 %1545 to i64
  %1547 = getelementptr inbounds float, ptr %1541, i64 %1546
  %1548 = load float, ptr %1547, align 4, !tbaa !11
  %1549 = fmul float %1548, %1540
  store float %1549, ptr %1547, align 4, !tbaa !11
  %1550 = load float, ptr %95, align 4, !tbaa !11
  %1551 = fmul float %1550, 4.000000e+00
  %1552 = load ptr, ptr %48, align 8, !tbaa !5
  %1553 = load i32, ptr %78, align 4, !tbaa !9
  %1554 = load i32, ptr %67, align 4, !tbaa !9
  %1555 = add nsw i32 %1553, %1554
  %1556 = sext i32 %1555 to i64
  %1557 = getelementptr inbounds float, ptr %1552, i64 %1556
  %1558 = load float, ptr %1557, align 4, !tbaa !11
  %1559 = call float @llvm.fmuladd.f32(float %1551, float %1558, float 1.000000e+00)
  %1560 = load ptr, ptr %33, align 8, !tbaa !5
  %1561 = load i32, ptr %81, align 4, !tbaa !9
  %1562 = load i32, ptr %67, align 4, !tbaa !9
  %1563 = add nsw i32 %1561, %1562
  %1564 = sub nsw i32 %1563, 1
  %1565 = sext i32 %1564 to i64
  %1566 = getelementptr inbounds float, ptr %1560, i64 %1565
  %1567 = load float, ptr %1566, align 4, !tbaa !11
  %1568 = fmul float %1567, %1559
  store float %1568, ptr %1566, align 4, !tbaa !11
  br label %1569

1569:                                             ; preds = %1532
  %1570 = load i32, ptr %67, align 4, !tbaa !9
  %1571 = add nsw i32 %1570, 1
  store i32 %1571, ptr %67, align 4, !tbaa !9
  br label %1528, !llvm.loop !23

1572:                                             ; preds = %1528
  %1573 = load float, ptr %95, align 4, !tbaa !11
  %1574 = fmul float %1573, 4.000000e+00
  %1575 = load ptr, ptr %48, align 8, !tbaa !5
  %1576 = load i32, ptr %78, align 4, !tbaa !9
  %1577 = sext i32 %1576 to i64
  %1578 = getelementptr inbounds float, ptr %1575, i64 %1577
  %1579 = load float, ptr %1578, align 4, !tbaa !11
  %1580 = call float @llvm.fmuladd.f32(float %1574, float %1579, float 1.000000e+00)
  %1581 = load ptr, ptr %32, align 8, !tbaa !5
  %1582 = load i32, ptr %57, align 4, !tbaa !9
  %1583 = sext i32 %1582 to i64
  %1584 = getelementptr inbounds float, ptr %1581, i64 %1583
  %1585 = load float, ptr %1584, align 4, !tbaa !11
  %1586 = fmul float %1585, %1580
  store float %1586, ptr %1584, align 4, !tbaa !11
  br label %1587

1587:                                             ; preds = %1572, %1482
  %1588 = load i32, ptr %88, align 4, !tbaa !9
  %1589 = icmp ne i32 %1588, 0
  br i1 %1589, label %1754, label %1590

1590:                                             ; preds = %1587
  %1591 = load i32, ptr %63, align 4, !tbaa !9
  store i32 %1591, ptr %52, align 4, !tbaa !9
  %1592 = load i32, ptr %85, align 4, !tbaa !9
  store i32 %1592, ptr %68, align 4, !tbaa !9
  br label %1593

1593:                                             ; preds = %1626, %1590
  %1594 = load i32, ptr %68, align 4, !tbaa !9
  %1595 = load i32, ptr %52, align 4, !tbaa !9
  %1596 = icmp sle i32 %1594, %1595
  br i1 %1596, label %1597, label %1629

1597:                                             ; preds = %1593
  %1598 = load float, ptr %71, align 4, !tbaa !11
  %1599 = load ptr, ptr %41, align 8, !tbaa !5
  %1600 = load i32, ptr %68, align 4, !tbaa !9
  %1601 = sext i32 %1600 to i64
  %1602 = getelementptr inbounds float, ptr %1599, i64 %1601
  %1603 = load float, ptr %1602, align 4, !tbaa !11
  %1604 = fsub float %1603, %1598
  store float %1604, ptr %1602, align 4, !tbaa !11
  %1605 = load ptr, ptr %41, align 8, !tbaa !5
  %1606 = load i32, ptr %68, align 4, !tbaa !9
  %1607 = sext i32 %1606 to i64
  %1608 = getelementptr inbounds float, ptr %1605, i64 %1607
  %1609 = load float, ptr %1608, align 4, !tbaa !11
  store float %1609, ptr %53, align 4, !tbaa !11
  %1610 = load float, ptr %53, align 4, !tbaa !11
  %1611 = fcmp oge float %1610, 0.000000e+00
  br i1 %1611, label %1612, label %1614

1612:                                             ; preds = %1597
  %1613 = load float, ptr %53, align 4, !tbaa !11
  br label %1617

1614:                                             ; preds = %1597
  %1615 = load float, ptr %53, align 4, !tbaa !11
  %1616 = fneg float %1615
  br label %1617

1617:                                             ; preds = %1614, %1612
  %1618 = phi float [ %1613, %1612 ], [ %1616, %1614 ]
  %1619 = load float, ptr %95, align 4, !tbaa !11
  %1620 = load ptr, ptr %42, align 8, !tbaa !5
  %1621 = load i32, ptr %68, align 4, !tbaa !9
  %1622 = sext i32 %1621 to i64
  %1623 = getelementptr inbounds float, ptr %1620, i64 %1622
  %1624 = load float, ptr %1623, align 4, !tbaa !11
  %1625 = call float @llvm.fmuladd.f32(float %1618, float %1619, float %1624)
  store float %1625, ptr %1623, align 4, !tbaa !11
  br label %1626

1626:                                             ; preds = %1617
  %1627 = load i32, ptr %68, align 4, !tbaa !9
  %1628 = add nsw i32 %1627, 1
  store i32 %1628, ptr %68, align 4, !tbaa !9
  br label %1593, !llvm.loop !24

1629:                                             ; preds = %1593
  %1630 = load i32, ptr %57, align 4, !tbaa !9
  %1631 = sub nsw i32 %1630, 1
  store i32 %1631, ptr %52, align 4, !tbaa !9
  %1632 = load i32, ptr %81, align 4, !tbaa !9
  store i32 %1632, ptr %67, align 4, !tbaa !9
  br label %1633

1633:                                             ; preds = %1656, %1629
  %1634 = load i32, ptr %67, align 4, !tbaa !9
  %1635 = load i32, ptr %52, align 4, !tbaa !9
  %1636 = icmp sle i32 %1634, %1635
  br i1 %1636, label %1637, label %1659

1637:                                             ; preds = %1633
  %1638 = load ptr, ptr %33, align 8, !tbaa !5
  %1639 = load i32, ptr %67, align 4, !tbaa !9
  %1640 = sext i32 %1639 to i64
  %1641 = getelementptr inbounds float, ptr %1638, i64 %1640
  %1642 = load float, ptr %1641, align 4, !tbaa !11
  store float %1642, ptr %53, align 4, !tbaa !11
  %1643 = load ptr, ptr %32, align 8, !tbaa !5
  %1644 = load i32, ptr %67, align 4, !tbaa !9
  %1645 = sext i32 %1644 to i64
  %1646 = getelementptr inbounds float, ptr %1643, i64 %1645
  %1647 = load float, ptr %1646, align 4, !tbaa !11
  %1648 = load float, ptr %53, align 4, !tbaa !11
  %1649 = load float, ptr %53, align 4, !tbaa !11
  %1650 = fmul float %1648, %1649
  %1651 = fmul float %1647, %1650
  %1652 = load ptr, ptr %48, align 8, !tbaa !5
  %1653 = load i32, ptr %67, align 4, !tbaa !9
  %1654 = sext i32 %1653 to i64
  %1655 = getelementptr inbounds float, ptr %1652, i64 %1654
  store float %1651, ptr %1655, align 4, !tbaa !11
  br label %1656

1656:                                             ; preds = %1637
  %1657 = load i32, ptr %67, align 4, !tbaa !9
  %1658 = add nsw i32 %1657, 1
  store i32 %1658, ptr %67, align 4, !tbaa !9
  br label %1633, !llvm.loop !25

1659:                                             ; preds = %1633
  %1660 = load i32, ptr %60, align 4, !tbaa !9
  %1661 = sub nsw i32 %1660, 1
  store i32 %1661, ptr %52, align 4, !tbaa !9
  %1662 = load ptr, ptr %32, align 8, !tbaa !5
  %1663 = load i32, ptr %81, align 4, !tbaa !9
  %1664 = sext i32 %1663 to i64
  %1665 = getelementptr inbounds float, ptr %1662, i64 %1664
  %1666 = load ptr, ptr %48, align 8, !tbaa !5
  %1667 = load i32, ptr %81, align 4, !tbaa !9
  %1668 = sext i32 %1667 to i64
  %1669 = getelementptr inbounds float, ptr %1666, i64 %1668
  %1670 = load ptr, ptr %35, align 8, !tbaa !5
  %1671 = load ptr, ptr %36, align 8, !tbaa !5
  %1672 = load ptr, ptr %41, align 8, !tbaa !5
  %1673 = load i32, ptr %85, align 4, !tbaa !9
  %1674 = sext i32 %1673 to i64
  %1675 = getelementptr inbounds float, ptr %1672, i64 %1674
  %1676 = load ptr, ptr %43, align 8, !tbaa !5
  %1677 = load i32, ptr %85, align 4, !tbaa !9
  %1678 = sext i32 %1677 to i64
  %1679 = getelementptr inbounds float, ptr %1676, i64 %1678
  %1680 = load ptr, ptr %42, align 8, !tbaa !5
  %1681 = load i32, ptr %85, align 4, !tbaa !9
  %1682 = sext i32 %1681 to i64
  %1683 = getelementptr inbounds float, ptr %1680, i64 %1682
  %1684 = load ptr, ptr %48, align 8, !tbaa !5
  %1685 = load ptr, ptr %27, align 8, !tbaa !5
  %1686 = load i32, ptr %1685, align 4, !tbaa !9
  %1687 = shl i32 %1686, 1
  %1688 = add nsw i32 %1687, 1
  %1689 = sext i32 %1688 to i64
  %1690 = getelementptr inbounds float, ptr %1684, i64 %1689
  %1691 = load ptr, ptr %49, align 8, !tbaa !5
  %1692 = getelementptr inbounds i32, ptr %1691, i64 1
  %1693 = load ptr, ptr %47, align 8, !tbaa !5
  call void @slarrb_(ptr noundef %78, ptr noundef %1665, ptr noundef %1669, ptr noundef %60, ptr noundef %65, ptr noundef %1670, ptr noundef %1671, ptr noundef %52, ptr noundef %1675, ptr noundef %1679, ptr noundef %1683, ptr noundef %1690, ptr noundef %1692, ptr noundef %1693, ptr noundef %87, ptr noundef %78, ptr noundef %72)
  %1694 = load i32, ptr %72, align 4, !tbaa !9
  %1695 = icmp ne i32 %1694, 0
  br i1 %1695, label %1696, label %1698

1696:                                             ; preds = %1659
  %1697 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -4, ptr %1697, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

1698:                                             ; preds = %1659
  store float 0.000000e+00, ptr %53, align 4, !tbaa !11
  %1699 = load ptr, ptr %29, align 8, !tbaa !5
  %1700 = load float, ptr %1699, align 4, !tbaa !11
  %1701 = load float, ptr %71, align 4, !tbaa !11
  %1702 = fsub float %1700, %1701
  %1703 = load ptr, ptr %41, align 8, !tbaa !5
  %1704 = load i32, ptr %63, align 4, !tbaa !9
  %1705 = sext i32 %1704 to i64
  %1706 = getelementptr inbounds float, ptr %1703, i64 %1705
  %1707 = load float, ptr %1706, align 4, !tbaa !11
  %1708 = load ptr, ptr %42, align 8, !tbaa !5
  %1709 = load i32, ptr %63, align 4, !tbaa !9
  %1710 = sext i32 %1709 to i64
  %1711 = getelementptr inbounds float, ptr %1708, i64 %1710
  %1712 = load float, ptr %1711, align 4, !tbaa !11
  %1713 = fadd float %1707, %1712
  %1714 = fsub float %1702, %1713
  store float %1714, ptr %54, align 4, !tbaa !11
  %1715 = load float, ptr %53, align 4, !tbaa !11
  %1716 = load float, ptr %54, align 4, !tbaa !11
  %1717 = fcmp oge float %1715, %1716
  br i1 %1717, label %1718, label %1720

1718:                                             ; preds = %1698
  %1719 = load float, ptr %53, align 4, !tbaa !11
  br label %1722

1720:                                             ; preds = %1698
  %1721 = load float, ptr %54, align 4, !tbaa !11
  br label %1722

1722:                                             ; preds = %1720, %1718
  %1723 = phi float [ %1719, %1718 ], [ %1721, %1720 ]
  %1724 = load ptr, ptr %43, align 8, !tbaa !5
  %1725 = load i32, ptr %63, align 4, !tbaa !9
  %1726 = sext i32 %1725 to i64
  %1727 = getelementptr inbounds float, ptr %1724, i64 %1726
  store float %1723, ptr %1727, align 4, !tbaa !11
  %1728 = load i32, ptr %65, align 4, !tbaa !9
  store i32 %1728, ptr %52, align 4, !tbaa !9
  %1729 = load i32, ptr %60, align 4, !tbaa !9
  store i32 %1729, ptr %67, align 4, !tbaa !9
  br label %1730

1730:                                             ; preds = %1750, %1722
  %1731 = load i32, ptr %67, align 4, !tbaa !9
  %1732 = load i32, ptr %52, align 4, !tbaa !9
  %1733 = icmp sle i32 %1731, %1732
  br i1 %1733, label %1734, label %1753

1734:                                             ; preds = %1730
  %1735 = load ptr, ptr %40, align 8, !tbaa !5
  %1736 = load i32, ptr %1735, align 4, !tbaa !9
  %1737 = add nsw i32 %1736, 1
  store i32 %1737, ptr %1735, align 4, !tbaa !9
  %1738 = load i32, ptr %58, align 4, !tbaa !9
  %1739 = load ptr, ptr %44, align 8, !tbaa !5
  %1740 = load ptr, ptr %40, align 8, !tbaa !5
  %1741 = load i32, ptr %1740, align 4, !tbaa !9
  %1742 = sext i32 %1741 to i64
  %1743 = getelementptr inbounds i32, ptr %1739, i64 %1742
  store i32 %1738, ptr %1743, align 4, !tbaa !9
  %1744 = load i32, ptr %67, align 4, !tbaa !9
  %1745 = load ptr, ptr %45, align 8, !tbaa !5
  %1746 = load ptr, ptr %40, align 8, !tbaa !5
  %1747 = load i32, ptr %1746, align 4, !tbaa !9
  %1748 = sext i32 %1747 to i64
  %1749 = getelementptr inbounds i32, ptr %1745, i64 %1748
  store i32 %1744, ptr %1749, align 4, !tbaa !9
  br label %1750

1750:                                             ; preds = %1734
  %1751 = load i32, ptr %67, align 4, !tbaa !9
  %1752 = add nsw i32 %1751, 1
  store i32 %1752, ptr %67, align 4, !tbaa !9
  br label %1730, !llvm.loop !26

1753:                                             ; preds = %1730
  br label %2078

1754:                                             ; preds = %1587
  %1755 = load i32, ptr %78, align 4, !tbaa !9
  %1756 = sitofp i32 %1755 to float
  %1757 = fpext float %1756 to double
  %1758 = call double @log(double noundef %1757) #5
  %1759 = fmul double %1758, 4.000000e+00
  %1760 = load float, ptr %95, align 4, !tbaa !11
  %1761 = fpext float %1760 to double
  %1762 = fmul double %1759, %1761
  %1763 = fptrunc double %1762 to float
  store float %1763, ptr %66, align 4, !tbaa !11
  %1764 = load i32, ptr %81, align 4, !tbaa !9
  store i32 %1764, ptr %68, align 4, !tbaa !9
  %1765 = load i32, ptr %78, align 4, !tbaa !9
  %1766 = sub nsw i32 %1765, 1
  store i32 %1766, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1767

1767:                                             ; preds = %1818, %1754
  %1768 = load i32, ptr %67, align 4, !tbaa !9
  %1769 = load i32, ptr %52, align 4, !tbaa !9
  %1770 = icmp sle i32 %1768, %1769
  br i1 %1770, label %1771, label %1821

1771:                                             ; preds = %1767
  %1772 = load ptr, ptr %32, align 8, !tbaa !5
  %1773 = load i32, ptr %68, align 4, !tbaa !9
  %1774 = sext i32 %1773 to i64
  %1775 = getelementptr inbounds float, ptr %1772, i64 %1774
  %1776 = load float, ptr %1775, align 4, !tbaa !11
  store float %1776, ptr %53, align 4, !tbaa !11
  %1777 = load float, ptr %53, align 4, !tbaa !11
  %1778 = fcmp oge float %1777, 0.000000e+00
  br i1 %1778, label %1779, label %1781

1779:                                             ; preds = %1771
  %1780 = load float, ptr %53, align 4, !tbaa !11
  br label %1784

1781:                                             ; preds = %1771
  %1782 = load float, ptr %53, align 4, !tbaa !11
  %1783 = fneg float %1782
  br label %1784

1784:                                             ; preds = %1781, %1779
  %1785 = phi float [ %1780, %1779 ], [ %1783, %1781 ]
  %1786 = load ptr, ptr %48, align 8, !tbaa !5
  %1787 = load i32, ptr %67, align 4, !tbaa !9
  %1788 = shl i32 %1787, 1
  %1789 = sub nsw i32 %1788, 1
  %1790 = sext i32 %1789 to i64
  %1791 = getelementptr inbounds float, ptr %1786, i64 %1790
  store float %1785, ptr %1791, align 4, !tbaa !11
  %1792 = load ptr, ptr %33, align 8, !tbaa !5
  %1793 = load i32, ptr %68, align 4, !tbaa !9
  %1794 = sext i32 %1793 to i64
  %1795 = getelementptr inbounds float, ptr %1792, i64 %1794
  %1796 = load float, ptr %1795, align 4, !tbaa !11
  %1797 = load ptr, ptr %33, align 8, !tbaa !5
  %1798 = load i32, ptr %68, align 4, !tbaa !9
  %1799 = sext i32 %1798 to i64
  %1800 = getelementptr inbounds float, ptr %1797, i64 %1799
  %1801 = load float, ptr %1800, align 4, !tbaa !11
  %1802 = fmul float %1796, %1801
  %1803 = load ptr, ptr %48, align 8, !tbaa !5
  %1804 = load i32, ptr %67, align 4, !tbaa !9
  %1805 = shl i32 %1804, 1
  %1806 = sub nsw i32 %1805, 1
  %1807 = sext i32 %1806 to i64
  %1808 = getelementptr inbounds float, ptr %1803, i64 %1807
  %1809 = load float, ptr %1808, align 4, !tbaa !11
  %1810 = fmul float %1802, %1809
  %1811 = load ptr, ptr %48, align 8, !tbaa !5
  %1812 = load i32, ptr %67, align 4, !tbaa !9
  %1813 = mul nsw i32 %1812, 2
  %1814 = sext i32 %1813 to i64
  %1815 = getelementptr inbounds float, ptr %1811, i64 %1814
  store float %1810, ptr %1815, align 4, !tbaa !11
  %1816 = load i32, ptr %68, align 4, !tbaa !9
  %1817 = add nsw i32 %1816, 1
  store i32 %1817, ptr %68, align 4, !tbaa !9
  br label %1818

1818:                                             ; preds = %1784
  %1819 = load i32, ptr %67, align 4, !tbaa !9
  %1820 = add nsw i32 %1819, 1
  store i32 %1820, ptr %67, align 4, !tbaa !9
  br label %1767, !llvm.loop !27

1821:                                             ; preds = %1767
  %1822 = load ptr, ptr %32, align 8, !tbaa !5
  %1823 = load i32, ptr %57, align 4, !tbaa !9
  %1824 = sext i32 %1823 to i64
  %1825 = getelementptr inbounds float, ptr %1822, i64 %1824
  %1826 = load float, ptr %1825, align 4, !tbaa !11
  store float %1826, ptr %53, align 4, !tbaa !11
  %1827 = load float, ptr %53, align 4, !tbaa !11
  %1828 = fcmp oge float %1827, 0.000000e+00
  br i1 %1828, label %1829, label %1831

1829:                                             ; preds = %1821
  %1830 = load float, ptr %53, align 4, !tbaa !11
  br label %1834

1831:                                             ; preds = %1821
  %1832 = load float, ptr %53, align 4, !tbaa !11
  %1833 = fneg float %1832
  br label %1834

1834:                                             ; preds = %1831, %1829
  %1835 = phi float [ %1830, %1829 ], [ %1833, %1831 ]
  %1836 = load ptr, ptr %48, align 8, !tbaa !5
  %1837 = load i32, ptr %78, align 4, !tbaa !9
  %1838 = shl i32 %1837, 1
  %1839 = sub nsw i32 %1838, 1
  %1840 = sext i32 %1839 to i64
  %1841 = getelementptr inbounds float, ptr %1836, i64 %1840
  store float %1835, ptr %1841, align 4, !tbaa !11
  %1842 = load ptr, ptr %48, align 8, !tbaa !5
  %1843 = load i32, ptr %78, align 4, !tbaa !9
  %1844 = mul nsw i32 %1843, 2
  %1845 = sext i32 %1844 to i64
  %1846 = getelementptr inbounds float, ptr %1842, i64 %1845
  store float 0.000000e+00, ptr %1846, align 4, !tbaa !11
  %1847 = load ptr, ptr %48, align 8, !tbaa !5
  %1848 = getelementptr inbounds float, ptr %1847, i64 1
  call void @slasq2_(ptr noundef %78, ptr noundef %1848, ptr noundef %72)
  %1849 = load i32, ptr %72, align 4, !tbaa !9
  %1850 = icmp ne i32 %1849, 0
  br i1 %1850, label %1851, label %1853

1851:                                             ; preds = %1834
  %1852 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -5, ptr %1852, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

1853:                                             ; preds = %1834
  %1854 = load i32, ptr %78, align 4, !tbaa !9
  store i32 %1854, ptr %52, align 4, !tbaa !9
  store i32 1, ptr %67, align 4, !tbaa !9
  br label %1855

1855:                                             ; preds = %1869, %1853
  %1856 = load i32, ptr %67, align 4, !tbaa !9
  %1857 = load i32, ptr %52, align 4, !tbaa !9
  %1858 = icmp sle i32 %1856, %1857
  br i1 %1858, label %1859, label %1872

1859:                                             ; preds = %1855
  %1860 = load ptr, ptr %48, align 8, !tbaa !5
  %1861 = load i32, ptr %67, align 4, !tbaa !9
  %1862 = sext i32 %1861 to i64
  %1863 = getelementptr inbounds float, ptr %1860, i64 %1862
  %1864 = load float, ptr %1863, align 4, !tbaa !11
  %1865 = fcmp olt float %1864, 0.000000e+00
  br i1 %1865, label %1866, label %1868

1866:                                             ; preds = %1859
  %1867 = load ptr, ptr %50, align 8, !tbaa !5
  store i32 -6, ptr %1867, align 4, !tbaa !9
  store i32 1, ptr %102, align 4
  br label %2088

1868:                                             ; preds = %1859
  br label %1869

1869:                                             ; preds = %1868
  %1870 = load i32, ptr %67, align 4, !tbaa !9
  %1871 = add nsw i32 %1870, 1
  store i32 %1871, ptr %67, align 4, !tbaa !9
  br label %1855, !llvm.loop !28

1872:                                             ; preds = %1855
  br label %1873

1873:                                             ; preds = %1872
  %1874 = load float, ptr %84, align 4, !tbaa !11
  %1875 = fcmp ogt float %1874, 0.000000e+00
  br i1 %1875, label %1876, label %1916

1876:                                             ; preds = %1873
  %1877 = load i32, ptr %65, align 4, !tbaa !9
  store i32 %1877, ptr %52, align 4, !tbaa !9
  %1878 = load i32, ptr %60, align 4, !tbaa !9
  store i32 %1878, ptr %67, align 4, !tbaa !9
  br label %1879

1879:                                             ; preds = %1912, %1876
  %1880 = load i32, ptr %67, align 4, !tbaa !9
  %1881 = load i32, ptr %52, align 4, !tbaa !9
  %1882 = icmp sle i32 %1880, %1881
  br i1 %1882, label %1883, label %1915

1883:                                             ; preds = %1879
  %1884 = load ptr, ptr %40, align 8, !tbaa !5
  %1885 = load i32, ptr %1884, align 4, !tbaa !9
  %1886 = add nsw i32 %1885, 1
  store i32 %1886, ptr %1884, align 4, !tbaa !9
  %1887 = load ptr, ptr %48, align 8, !tbaa !5
  %1888 = load i32, ptr %78, align 4, !tbaa !9
  %1889 = load i32, ptr %67, align 4, !tbaa !9
  %1890 = sub nsw i32 %1888, %1889
  %1891 = add nsw i32 %1890, 1
  %1892 = sext i32 %1891 to i64
  %1893 = getelementptr inbounds float, ptr %1887, i64 %1892
  %1894 = load float, ptr %1893, align 4, !tbaa !11
  %1895 = load ptr, ptr %41, align 8, !tbaa !5
  %1896 = load ptr, ptr %40, align 8, !tbaa !5
  %1897 = load i32, ptr %1896, align 4, !tbaa !9
  %1898 = sext i32 %1897 to i64
  %1899 = getelementptr inbounds float, ptr %1895, i64 %1898
  store float %1894, ptr %1899, align 4, !tbaa !11
  %1900 = load i32, ptr %58, align 4, !tbaa !9
  %1901 = load ptr, ptr %44, align 8, !tbaa !5
  %1902 = load ptr, ptr %40, align 8, !tbaa !5
  %1903 = load i32, ptr %1902, align 4, !tbaa !9
  %1904 = sext i32 %1903 to i64
  %1905 = getelementptr inbounds i32, ptr %1901, i64 %1904
  store i32 %1900, ptr %1905, align 4, !tbaa !9
  %1906 = load i32, ptr %67, align 4, !tbaa !9
  %1907 = load ptr, ptr %45, align 8, !tbaa !5
  %1908 = load ptr, ptr %40, align 8, !tbaa !5
  %1909 = load i32, ptr %1908, align 4, !tbaa !9
  %1910 = sext i32 %1909 to i64
  %1911 = getelementptr inbounds i32, ptr %1907, i64 %1910
  store i32 %1906, ptr %1911, align 4, !tbaa !9
  br label %1912

1912:                                             ; preds = %1883
  %1913 = load i32, ptr %67, align 4, !tbaa !9
  %1914 = add nsw i32 %1913, 1
  store i32 %1914, ptr %67, align 4, !tbaa !9
  br label %1879, !llvm.loop !29

1915:                                             ; preds = %1879
  br label %1954

1916:                                             ; preds = %1873
  %1917 = load i32, ptr %65, align 4, !tbaa !9
  store i32 %1917, ptr %52, align 4, !tbaa !9
  %1918 = load i32, ptr %60, align 4, !tbaa !9
  store i32 %1918, ptr %67, align 4, !tbaa !9
  br label %1919

1919:                                             ; preds = %1950, %1916
  %1920 = load i32, ptr %67, align 4, !tbaa !9
  %1921 = load i32, ptr %52, align 4, !tbaa !9
  %1922 = icmp sle i32 %1920, %1921
  br i1 %1922, label %1923, label %1953

1923:                                             ; preds = %1919
  %1924 = load ptr, ptr %40, align 8, !tbaa !5
  %1925 = load i32, ptr %1924, align 4, !tbaa !9
  %1926 = add nsw i32 %1925, 1
  store i32 %1926, ptr %1924, align 4, !tbaa !9
  %1927 = load ptr, ptr %48, align 8, !tbaa !5
  %1928 = load i32, ptr %67, align 4, !tbaa !9
  %1929 = sext i32 %1928 to i64
  %1930 = getelementptr inbounds float, ptr %1927, i64 %1929
  %1931 = load float, ptr %1930, align 4, !tbaa !11
  %1932 = fneg float %1931
  %1933 = load ptr, ptr %41, align 8, !tbaa !5
  %1934 = load ptr, ptr %40, align 8, !tbaa !5
  %1935 = load i32, ptr %1934, align 4, !tbaa !9
  %1936 = sext i32 %1935 to i64
  %1937 = getelementptr inbounds float, ptr %1933, i64 %1936
  store float %1932, ptr %1937, align 4, !tbaa !11
  %1938 = load i32, ptr %58, align 4, !tbaa !9
  %1939 = load ptr, ptr %44, align 8, !tbaa !5
  %1940 = load ptr, ptr %40, align 8, !tbaa !5
  %1941 = load i32, ptr %1940, align 4, !tbaa !9
  %1942 = sext i32 %1941 to i64
  %1943 = getelementptr inbounds i32, ptr %1939, i64 %1942
  store i32 %1938, ptr %1943, align 4, !tbaa !9
  %1944 = load i32, ptr %67, align 4, !tbaa !9
  %1945 = load ptr, ptr %45, align 8, !tbaa !5
  %1946 = load ptr, ptr %40, align 8, !tbaa !5
  %1947 = load i32, ptr %1946, align 4, !tbaa !9
  %1948 = sext i32 %1947 to i64
  %1949 = getelementptr inbounds i32, ptr %1945, i64 %1948
  store i32 %1944, ptr %1949, align 4, !tbaa !9
  br label %1950

1950:                                             ; preds = %1923
  %1951 = load i32, ptr %67, align 4, !tbaa !9
  %1952 = add nsw i32 %1951, 1
  store i32 %1952, ptr %67, align 4, !tbaa !9
  br label %1919, !llvm.loop !30

1953:                                             ; preds = %1919
  br label %1954

1954:                                             ; preds = %1953, %1915
  %1955 = load ptr, ptr %40, align 8, !tbaa !5
  %1956 = load i32, ptr %1955, align 4, !tbaa !9
  store i32 %1956, ptr %52, align 4, !tbaa !9
  %1957 = load ptr, ptr %40, align 8, !tbaa !5
  %1958 = load i32, ptr %1957, align 4, !tbaa !9
  %1959 = load i32, ptr %76, align 4, !tbaa !9
  %1960 = sub nsw i32 %1958, %1959
  %1961 = add nsw i32 %1960, 1
  store i32 %1961, ptr %67, align 4, !tbaa !9
  br label %1962

1962:                                             ; preds = %1987, %1954
  %1963 = load i32, ptr %67, align 4, !tbaa !9
  %1964 = load i32, ptr %52, align 4, !tbaa !9
  %1965 = icmp sle i32 %1963, %1964
  br i1 %1965, label %1966, label %1990

1966:                                             ; preds = %1962
  %1967 = load float, ptr %66, align 4, !tbaa !11
  %1968 = load ptr, ptr %41, align 8, !tbaa !5
  %1969 = load i32, ptr %67, align 4, !tbaa !9
  %1970 = sext i32 %1969 to i64
  %1971 = getelementptr inbounds float, ptr %1968, i64 %1970
  %1972 = load float, ptr %1971, align 4, !tbaa !11
  store float %1972, ptr %53, align 4, !tbaa !11
  %1973 = load float, ptr %53, align 4, !tbaa !11
  %1974 = fcmp oge float %1973, 0.000000e+00
  br i1 %1974, label %1975, label %1977

1975:                                             ; preds = %1966
  %1976 = load float, ptr %53, align 4, !tbaa !11
  br label %1980

1977:                                             ; preds = %1966
  %1978 = load float, ptr %53, align 4, !tbaa !11
  %1979 = fneg float %1978
  br label %1980

1980:                                             ; preds = %1977, %1975
  %1981 = phi float [ %1976, %1975 ], [ %1979, %1977 ]
  %1982 = fmul float %1967, %1981
  %1983 = load ptr, ptr %42, align 8, !tbaa !5
  %1984 = load i32, ptr %67, align 4, !tbaa !9
  %1985 = sext i32 %1984 to i64
  %1986 = getelementptr inbounds float, ptr %1983, i64 %1985
  store float %1982, ptr %1986, align 4, !tbaa !11
  br label %1987

1987:                                             ; preds = %1980
  %1988 = load i32, ptr %67, align 4, !tbaa !9
  %1989 = add nsw i32 %1988, 1
  store i32 %1989, ptr %67, align 4, !tbaa !9
  br label %1962, !llvm.loop !31

1990:                                             ; preds = %1962
  %1991 = load ptr, ptr %40, align 8, !tbaa !5
  %1992 = load i32, ptr %1991, align 4, !tbaa !9
  %1993 = sub nsw i32 %1992, 1
  store i32 %1993, ptr %52, align 4, !tbaa !9
  %1994 = load ptr, ptr %40, align 8, !tbaa !5
  %1995 = load i32, ptr %1994, align 4, !tbaa !9
  %1996 = load i32, ptr %76, align 4, !tbaa !9
  %1997 = sub nsw i32 %1995, %1996
  %1998 = add nsw i32 %1997, 1
  store i32 %1998, ptr %67, align 4, !tbaa !9
  br label %1999

1999:                                             ; preds = %2042, %1990
  %2000 = load i32, ptr %67, align 4, !tbaa !9
  %2001 = load i32, ptr %52, align 4, !tbaa !9
  %2002 = icmp sle i32 %2000, %2001
  br i1 %2002, label %2003, label %2045

2003:                                             ; preds = %1999
  store float 0.000000e+00, ptr %53, align 4, !tbaa !11
  %2004 = load ptr, ptr %41, align 8, !tbaa !5
  %2005 = load i32, ptr %67, align 4, !tbaa !9
  %2006 = add nsw i32 %2005, 1
  %2007 = sext i32 %2006 to i64
  %2008 = getelementptr inbounds float, ptr %2004, i64 %2007
  %2009 = load float, ptr %2008, align 4, !tbaa !11
  %2010 = load ptr, ptr %42, align 8, !tbaa !5
  %2011 = load i32, ptr %67, align 4, !tbaa !9
  %2012 = add nsw i32 %2011, 1
  %2013 = sext i32 %2012 to i64
  %2014 = getelementptr inbounds float, ptr %2010, i64 %2013
  %2015 = load float, ptr %2014, align 4, !tbaa !11
  %2016 = fsub float %2009, %2015
  %2017 = load ptr, ptr %41, align 8, !tbaa !5
  %2018 = load i32, ptr %67, align 4, !tbaa !9
  %2019 = sext i32 %2018 to i64
  %2020 = getelementptr inbounds float, ptr %2017, i64 %2019
  %2021 = load float, ptr %2020, align 4, !tbaa !11
  %2022 = load ptr, ptr %42, align 8, !tbaa !5
  %2023 = load i32, ptr %67, align 4, !tbaa !9
  %2024 = sext i32 %2023 to i64
  %2025 = getelementptr inbounds float, ptr %2022, i64 %2024
  %2026 = load float, ptr %2025, align 4, !tbaa !11
  %2027 = fadd float %2021, %2026
  %2028 = fsub float %2016, %2027
  store float %2028, ptr %54, align 4, !tbaa !11
  %2029 = load float, ptr %53, align 4, !tbaa !11
  %2030 = load float, ptr %54, align 4, !tbaa !11
  %2031 = fcmp oge float %2029, %2030
  br i1 %2031, label %2032, label %2034

2032:                                             ; preds = %2003
  %2033 = load float, ptr %53, align 4, !tbaa !11
  br label %2036

2034:                                             ; preds = %2003
  %2035 = load float, ptr %54, align 4, !tbaa !11
  br label %2036

2036:                                             ; preds = %2034, %2032
  %2037 = phi float [ %2033, %2032 ], [ %2035, %2034 ]
  %2038 = load ptr, ptr %43, align 8, !tbaa !5
  %2039 = load i32, ptr %67, align 4, !tbaa !9
  %2040 = sext i32 %2039 to i64
  %2041 = getelementptr inbounds float, ptr %2038, i64 %2040
  store float %2037, ptr %2041, align 4, !tbaa !11
  br label %2042

2042:                                             ; preds = %2036
  %2043 = load i32, ptr %67, align 4, !tbaa !9
  %2044 = add nsw i32 %2043, 1
  store i32 %2044, ptr %67, align 4, !tbaa !9
  br label %1999, !llvm.loop !32

2045:                                             ; preds = %1999
  store float 0.000000e+00, ptr %53, align 4, !tbaa !11
  %2046 = load ptr, ptr %29, align 8, !tbaa !5
  %2047 = load float, ptr %2046, align 4, !tbaa !11
  %2048 = load float, ptr %71, align 4, !tbaa !11
  %2049 = fsub float %2047, %2048
  %2050 = load ptr, ptr %41, align 8, !tbaa !5
  %2051 = load ptr, ptr %40, align 8, !tbaa !5
  %2052 = load i32, ptr %2051, align 4, !tbaa !9
  %2053 = sext i32 %2052 to i64
  %2054 = getelementptr inbounds float, ptr %2050, i64 %2053
  %2055 = load float, ptr %2054, align 4, !tbaa !11
  %2056 = load ptr, ptr %42, align 8, !tbaa !5
  %2057 = load ptr, ptr %40, align 8, !tbaa !5
  %2058 = load i32, ptr %2057, align 4, !tbaa !9
  %2059 = sext i32 %2058 to i64
  %2060 = getelementptr inbounds float, ptr %2056, i64 %2059
  %2061 = load float, ptr %2060, align 4, !tbaa !11
  %2062 = fadd float %2055, %2061
  %2063 = fsub float %2049, %2062
  store float %2063, ptr %54, align 4, !tbaa !11
  %2064 = load float, ptr %53, align 4, !tbaa !11
  %2065 = load float, ptr %54, align 4, !tbaa !11
  %2066 = fcmp oge float %2064, %2065
  br i1 %2066, label %2067, label %2069

2067:                                             ; preds = %2045
  %2068 = load float, ptr %53, align 4, !tbaa !11
  br label %2071

2069:                                             ; preds = %2045
  %2070 = load float, ptr %54, align 4, !tbaa !11
  br label %2071

2071:                                             ; preds = %2069, %2067
  %2072 = phi float [ %2068, %2067 ], [ %2070, %2069 ]
  %2073 = load ptr, ptr %43, align 8, !tbaa !5
  %2074 = load ptr, ptr %40, align 8, !tbaa !5
  %2075 = load i32, ptr %2074, align 4, !tbaa !9
  %2076 = sext i32 %2075 to i64
  %2077 = getelementptr inbounds float, ptr %2073, i64 %2076
  store float %2072, ptr %2077, align 4, !tbaa !11
  br label %2078

2078:                                             ; preds = %2071, %1753
  %2079 = load i32, ptr %57, align 4, !tbaa !9
  %2080 = add nsw i32 %2079, 1
  store i32 %2080, ptr %81, align 4, !tbaa !9
  %2081 = load i32, ptr %63, align 4, !tbaa !9
  %2082 = add nsw i32 %2081, 1
  store i32 %2082, ptr %85, align 4, !tbaa !9
  br label %2083

2083:                                             ; preds = %2078, %641, %542
  br label %2084

2084:                                             ; preds = %2083
  %2085 = load i32, ptr %58, align 4, !tbaa !9
  %2086 = add nsw i32 %2085, 1
  store i32 %2086, ptr %58, align 4, !tbaa !9
  br label %454, !llvm.loop !33

2087:                                             ; preds = %454
  store i32 1, ptr %102, align 4
  br label %2088

2088:                                             ; preds = %2087, %1866, %1851, %1696, %1480, %820, %777, %419, %219, %131
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 16, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #5
  ret void
}

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

declare void @slarrk_(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) #4

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

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

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

declare void @slarrb_(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: nounwind
declare double @log(double noundef) #3

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

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

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

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

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


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

@.str = external hidden unnamed_addr constant [2 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@c__2 = external hidden global i32, align 4

; Function Attrs: nounwind uwtable
define dso_local void @slarre_(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 nocapture noundef %14, ptr noundef %15, ptr noundef %16, ptr noundef %17, ptr noundef %18, ptr noundef %19, ptr noundef %20, ptr noundef %21, ptr noundef %22, ptr noundef %23, ptr nocapture noundef writeonly %24) local_unnamed_addr #0 {
  %26 = ptrtoint ptr %15 to i64
  %27 = ptrtoint ptr %16 to i64
  %28 = ptrtoint ptr %6 to i64
  %29 = ptrtoint ptr %7 to i64
  %30 = ptrtoint ptr %22 to i64
  %31 = ptrtoint ptr %18 to i64
  %32 = ptrtoint ptr %19 to i64
  %33 = ptrtoint ptr %15 to i64
  %34 = ptrtoint ptr %16 to i64
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca [4 x i32], align 16
  %39 = alloca i32, align 4
  %40 = alloca float, align 4
  %41 = alloca float, align 4
  %42 = alloca float, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca float, align 4
  %46 = alloca float, align 4
  %47 = alloca float, align 4
  %48 = alloca i32, align 4
  %49 = alloca float, align 4
  %50 = alloca float, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca float, align 4
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %35) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %37) #6
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %38) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %46) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %48) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %49) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %50) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %51) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #6
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %53) #6
  %54 = getelementptr inbounds i8, ptr %22, i64 -4
  %55 = getelementptr inbounds i8, ptr %20, i64 -4
  %56 = getelementptr inbounds i8, ptr %19, i64 -4
  %57 = getelementptr inbounds i8, ptr %18, i64 -4
  %58 = getelementptr inbounds i8, ptr %17, i64 -4
  %59 = getelementptr inbounds i8, ptr %16, i64 -4
  %60 = getelementptr inbounds i8, ptr %15, i64 -4
  %61 = getelementptr inbounds i8, ptr %13, i64 -4
  %62 = getelementptr inbounds i8, ptr %8, i64 -4
  %63 = getelementptr inbounds i8, ptr %7, i64 -4
  %64 = getelementptr inbounds i8, ptr %6, i64 -4
  store i32 0, ptr %24, align 4, !tbaa !5
  %65 = load i32, ptr %1, align 4, !tbaa !5
  %66 = icmp slt i32 %65, 1
  br i1 %66, label %.loopexit820, label %67

67:                                               ; preds = %25
  %68 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str) #6
  %.not = icmp ne i32 %68, 0
  br i1 %.not, label %73, label %69

69:                                               ; preds = %67
  %70 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #6
  %.not757 = icmp eq i32 %70, 0
  br i1 %.not757, label %71, label %73

71:                                               ; preds = %69
  %72 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #6
  br label %73

73:                                               ; preds = %71, %69, %67
  %74 = phi i1 [ false, %67 ], [ true, %69 ], [ false, %71 ]
  %75 = phi i1 [ false, %67 ], [ false, %69 ], [ true, %71 ]
  store i32 0, ptr %14, align 4, !tbaa !5
  %76 = tail call float @slamch_(ptr noundef nonnull @.str.3) #6
  %77 = tail call float @slamch_(ptr noundef nonnull @.str.4) #6
  %78 = fmul float %77, 1.000000e+02
  store float %78, ptr %50, align 4, !tbaa !9
  %79 = fpext float %77 to double
  %80 = tail call double @sqrt(double noundef %79) #6
  %81 = fmul double %80, 0x3F40624DE0000000
  %82 = fptrunc double %81 to float
  store float %82, ptr %47, align 4, !tbaa !9
  %83 = load i32, ptr %1, align 4, !tbaa !5
  %84 = icmp eq i32 %83, 1
  br i1 %84, label %85, label %106

85:                                               ; preds = %73
  br i1 %.not, label %101, label %86

86:                                               ; preds = %85
  br i1 %74, label %87, label %94

87:                                               ; preds = %86
  %88 = load float, ptr %6, align 4, !tbaa !9
  %89 = load float, ptr %2, align 4, !tbaa !9
  %90 = fcmp ogt float %88, %89
  br i1 %90, label %91, label %94

91:                                               ; preds = %87
  %92 = load float, ptr %3, align 4, !tbaa !9
  %93 = fcmp ugt float %88, %92
  br i1 %93, label %94, label %101

94:                                               ; preds = %91, %87, %86
  br i1 %75, label %95, label %105

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

98:                                               ; preds = %95
  %99 = load i32, ptr %5, align 4, !tbaa !5
  %100 = icmp eq i32 %99, 1
  br i1 %100, label %101, label %105

101:                                              ; preds = %98, %91, %85
  store i32 1, ptr %14, align 4, !tbaa !5
  %102 = load float, ptr %6, align 4, !tbaa !9
  store float %102, ptr %15, align 4, !tbaa !9
  store float 0.000000e+00, ptr %16, align 4, !tbaa !9
  store float 0.000000e+00, ptr %17, align 4, !tbaa !9
  store i32 1, ptr %18, align 4, !tbaa !5
  store i32 1, ptr %19, align 4, !tbaa !5
  %103 = load float, ptr %6, align 4, !tbaa !9
  store float %103, ptr %20, align 4, !tbaa !9
  %104 = getelementptr inbounds i8, ptr %20, i64 4
  store float %103, ptr %104, align 4, !tbaa !9
  br label %105

105:                                              ; preds = %101, %98, %95, %94
  store float 0.000000e+00, ptr %7, align 4, !tbaa !9
  br label %.loopexit820

106:                                              ; preds = %73
  %107 = load float, ptr %6, align 4, !tbaa !9
  store float %107, ptr %42, align 4, !tbaa !9
  store float %107, ptr %45, align 4, !tbaa !9
  %108 = sext i32 %83 to i64
  %109 = getelementptr inbounds float, ptr %63, i64 %108
  store float 0.000000e+00, ptr %109, align 4, !tbaa !9
  %invariant.gep = getelementptr i8, ptr %20, i64 -8
  %.not759824 = icmp slt i32 %83, 1
  br i1 %.not759824, label %132, label %.lr.ph.preheader

.lr.ph.preheader:                                 ; preds = %106
  %110 = add nuw i32 %83, 1
  %wide.trip.count = zext i32 %110 to i64
  br label %.lr.ph

.lr.ph:                                           ; preds = %.lr.ph.preheader, %.lr.ph
  %indvars.iv = phi i64 [ 1, %.lr.ph.preheader ], [ %indvars.iv.next, %.lr.ph ]
  %.0741826 = phi float [ 0.000000e+00, %.lr.ph.preheader ], [ %.1742, %.lr.ph ]
  %.0744825 = phi float [ 0.000000e+00, %.lr.ph.preheader ], [ %119, %.lr.ph ]
  %111 = phi float [ %107, %.lr.ph.preheader ], [ %126, %.lr.ph ]
  %112 = phi float [ %107, %.lr.ph.preheader ], [ %131, %.lr.ph ]
  %113 = getelementptr inbounds float, ptr %59, i64 %indvars.iv
  store float 0.000000e+00, ptr %113, align 4, !tbaa !9
  %114 = getelementptr inbounds float, ptr %58, i64 %indvars.iv
  store float 0.000000e+00, ptr %114, align 4, !tbaa !9
  %115 = getelementptr inbounds float, ptr %63, i64 %indvars.iv
  %116 = load float, ptr %115, align 4, !tbaa !9
  %117 = fcmp oge float %116, 0.000000e+00
  %118 = fneg float %116
  %119 = select i1 %117, float %116, float %118
  %.inv = fcmp oge float %119, %.0741826
  %.1742 = select i1 %.inv, float %119, float %.0741826
  %120 = fadd float %.0744825, %119
  %121 = getelementptr inbounds float, ptr %64, i64 %indvars.iv
  %122 = load float, ptr %121, align 4, !tbaa !9
  %123 = fsub float %122, %120
  %sext = shl i64 %indvars.iv, 33
  %124 = ashr exact i64 %sext, 30
  %gep = getelementptr i8, ptr %invariant.gep, i64 %124
  store float %123, ptr %gep, align 4, !tbaa !9
  %125 = fcmp ole float %111, %123
  %126 = select i1 %125, float %111, float %123
  %127 = load float, ptr %121, align 4, !tbaa !9
  %128 = fadd float %120, %127
  %.idx = shl i64 %indvars.iv, 3
  %129 = getelementptr inbounds i8, ptr %55, i64 %.idx
  store float %128, ptr %129, align 4, !tbaa !9
  %130 = fcmp oge float %112, %128
  %131 = select i1 %130, float %112, float %128
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, %wide.trip.count
  br i1 %exitcond.not, label %._crit_edge, label %.lr.ph, !llvm.loop !11

._crit_edge:                                      ; preds = %.lr.ph
  store float %120, ptr %53, align 4, !tbaa !9
  store float %126, ptr %42, align 4, !tbaa !9
  store float %131, ptr %45, align 4, !tbaa !9
  br label %132

132:                                              ; preds = %._crit_edge, %106
  %133 = phi float [ %126, %._crit_edge ], [ %107, %106 ]
  %134 = phi float [ %131, %._crit_edge ], [ %107, %106 ]
  %.0741.lcssa = phi float [ %.1742, %._crit_edge ], [ 0.000000e+00, %106 ]
  %135 = fmul float %.0741.lcssa, %.0741.lcssa
  %136 = fcmp ole float %135, 1.000000e+00
  %137 = select i1 %136, float 1.000000e+00, float %135
  %138 = fmul float %76, %137
  store float %138, ptr %21, align 4, !tbaa !9
  %139 = fsub float %134, %133
  store float %139, ptr %46, align 4, !tbaa !9
  call void @slarra_(ptr noundef nonnull %1, ptr noundef nonnull %6, ptr noundef nonnull %7, ptr noundef %8, ptr noundef %11, ptr noundef nonnull %46, ptr noundef %12, ptr noundef %13, ptr noundef nonnull %39) #6
  %140 = zext i1 %.not to i32
  br i1 %.not, label %141, label %144

141:                                              ; preds = %132
  %142 = load float, ptr %42, align 4, !tbaa !9
  store float %142, ptr %2, align 4, !tbaa !9
  %143 = load float, ptr %45, align 4, !tbaa !9
  store float %143, ptr %3, align 4, !tbaa !9
  br label %.loopexit821

144:                                              ; preds = %132
  call void @slarrd_(ptr noundef %0, ptr noundef nonnull @.str.5, ptr noundef nonnull %1, ptr noundef %2, ptr noundef %3, ptr noundef %4, ptr noundef %5, ptr noundef %20, ptr noundef nonnull %47, ptr noundef nonnull %6, ptr noundef nonnull %7, ptr noundef %8, ptr noundef nonnull %21, ptr noundef %12, ptr noundef %13, ptr noundef nonnull %44, ptr noundef %15, ptr noundef %16, ptr noundef %2, ptr noundef %3, ptr noundef %18, ptr noundef %19, ptr noundef %22, ptr noundef %23, ptr noundef nonnull %39) #6
  %145 = load i32, ptr %39, align 4, !tbaa !5
  %.not761 = icmp eq i32 %145, 0
  br i1 %.not761, label %147, label %146

146:                                              ; preds = %144
  store i32 -1, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

147:                                              ; preds = %144
  %148 = load i32, ptr %1, align 4, !tbaa !5
  %149 = load i32, ptr %44, align 4, !tbaa !5
  %.not762.not830 = icmp slt i32 %149, %148
  br i1 %.not762.not830, label %.lr.ph833.preheader, label %.loopexit821

.lr.ph833.preheader:                              ; preds = %147
  %150 = sext i32 %149 to i64
  %wide.trip.count961 = sext i32 %148 to i64
  %151 = sub nsw i64 %wide.trip.count961, %150
  %min.iters.check = icmp ult i64 %151, 8
  br i1 %min.iters.check, label %.lr.ph833.preheader1371, label %vector.memcheck

vector.memcheck:                                  ; preds = %.lr.ph833.preheader
  %152 = sub i64 %34, %33
  %diff.check = icmp ult i64 %152, 32
  %153 = sub i64 %32, %31
  %diff.check1102 = icmp ult i64 %153, 32
  %conflict.rdx = or i1 %diff.check, %diff.check1102
  br i1 %conflict.rdx, label %.lr.ph833.preheader1371, label %vector.ph

vector.ph:                                        ; preds = %vector.memcheck
  %n.vec = and i64 %151, -8
  %ind.end = add nsw i64 %n.vec, %150
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %offset.idx = add i64 %index, %150
  %154 = getelementptr float, ptr %15, i64 %offset.idx
  %155 = getelementptr i8, ptr %154, i64 16
  store <4 x float> zeroinitializer, ptr %154, align 4, !tbaa !9
  store <4 x float> zeroinitializer, ptr %155, align 4, !tbaa !9
  %156 = getelementptr float, ptr %16, i64 %offset.idx
  %157 = getelementptr i8, ptr %156, i64 16
  store <4 x float> zeroinitializer, ptr %156, align 4, !tbaa !9
  store <4 x float> zeroinitializer, ptr %157, align 4, !tbaa !9
  %158 = getelementptr i32, ptr %18, i64 %offset.idx
  %159 = getelementptr i8, ptr %158, i64 16
  store <4 x i32> zeroinitializer, ptr %158, align 4, !tbaa !5
  store <4 x i32> zeroinitializer, ptr %159, align 4, !tbaa !5
  %160 = getelementptr i32, ptr %19, i64 %offset.idx
  %161 = getelementptr i8, ptr %160, i64 16
  store <4 x i32> zeroinitializer, ptr %160, align 4, !tbaa !5
  store <4 x i32> zeroinitializer, ptr %161, align 4, !tbaa !5
  %index.next = add nuw i64 %index, 8
  %162 = icmp eq i64 %index.next, %n.vec
  br i1 %162, label %middle.block, label %vector.body, !llvm.loop !13

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %151, %n.vec
  br i1 %cmp.n, label %.loopexit821, label %.lr.ph833.preheader1371

.lr.ph833.preheader1371:                          ; preds = %middle.block, %vector.memcheck, %.lr.ph833.preheader
  %indvars.iv958.ph = phi i64 [ %150, %vector.memcheck ], [ %150, %.lr.ph833.preheader ], [ %ind.end, %middle.block ]
  %163 = sub nsw i64 %wide.trip.count961, %indvars.iv958.ph
  %xtraiter = and i64 %163, 1
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %.lr.ph833.prol.loopexit, label %.lr.ph833.prol

.lr.ph833.prol:                                   ; preds = %.lr.ph833.preheader1371
  %indvars.iv.next959.prol = add nsw i64 %indvars.iv958.ph, 1
  %164 = getelementptr float, ptr %15, i64 %indvars.iv958.ph
  store float 0.000000e+00, ptr %164, align 4, !tbaa !9
  %165 = getelementptr float, ptr %16, i64 %indvars.iv958.ph
  store float 0.000000e+00, ptr %165, align 4, !tbaa !9
  %166 = getelementptr i32, ptr %18, i64 %indvars.iv958.ph
  store i32 0, ptr %166, align 4, !tbaa !5
  %167 = getelementptr i32, ptr %19, i64 %indvars.iv958.ph
  store i32 0, ptr %167, align 4, !tbaa !5
  br label %.lr.ph833.prol.loopexit

.lr.ph833.prol.loopexit:                          ; preds = %.lr.ph833.prol, %.lr.ph833.preheader1371
  %indvars.iv958.unr = phi i64 [ %indvars.iv958.ph, %.lr.ph833.preheader1371 ], [ %indvars.iv.next959.prol, %.lr.ph833.prol ]
  %168 = add nsw i64 %wide.trip.count961, -1
  %169 = icmp eq i64 %indvars.iv958.ph, %168
  br i1 %169, label %.loopexit821, label %.lr.ph833

.lr.ph833:                                        ; preds = %.lr.ph833.prol.loopexit, %.lr.ph833
  %indvars.iv958 = phi i64 [ %indvars.iv.next959.1, %.lr.ph833 ], [ %indvars.iv958.unr, %.lr.ph833.prol.loopexit ]
  %indvars.iv.next959 = add nsw i64 %indvars.iv958, 1
  %170 = getelementptr float, ptr %15, i64 %indvars.iv958
  store float 0.000000e+00, ptr %170, align 4, !tbaa !9
  %171 = getelementptr float, ptr %16, i64 %indvars.iv958
  store float 0.000000e+00, ptr %171, align 4, !tbaa !9
  %172 = getelementptr i32, ptr %18, i64 %indvars.iv958
  store i32 0, ptr %172, align 4, !tbaa !5
  %173 = getelementptr i32, ptr %19, i64 %indvars.iv958
  store i32 0, ptr %173, align 4, !tbaa !5
  %indvars.iv.next959.1 = add nsw i64 %indvars.iv958, 2
  %174 = getelementptr float, ptr %15, i64 %indvars.iv.next959
  store float 0.000000e+00, ptr %174, align 4, !tbaa !9
  %175 = getelementptr float, ptr %16, i64 %indvars.iv.next959
  store float 0.000000e+00, ptr %175, align 4, !tbaa !9
  %176 = getelementptr i32, ptr %18, i64 %indvars.iv.next959
  store i32 0, ptr %176, align 4, !tbaa !5
  %177 = getelementptr i32, ptr %19, i64 %indvars.iv.next959
  store i32 0, ptr %177, align 4, !tbaa !5
  %exitcond962.not.1 = icmp eq i64 %indvars.iv.next959.1, %wide.trip.count961
  br i1 %exitcond962.not.1, label %.loopexit821, label %.lr.ph833, !llvm.loop !16

.loopexit821:                                     ; preds = %.lr.ph833.prol.loopexit, %.lr.ph833, %middle.block, %147, %141
  %178 = load i32, ptr %12, align 4, !tbaa !5
  %invariant.gep931 = getelementptr i8, ptr %17, i64 -8
  %.not763935 = icmp slt i32 %178, 1
  br i1 %.not763935, label %.loopexit820, label %.lr.ph945

.lr.ph945:                                        ; preds = %.loopexit821
  %179 = fneg float %78
  %180 = fmul float %77, 2.000000e+00
  %181 = fmul float %77, 4.000000e+00
  %invariant.gep884 = getelementptr i8, ptr %22, i64 -8
  %182 = add nuw i32 %178, 1
  %wide.trip.count1045 = zext i32 %182 to i64
  %183 = sub i64 %30, %29
  %184 = sub i64 %30, %28
  %scevgep = getelementptr i8, ptr %15, i64 -4
  %scevgep1126 = getelementptr i8, ptr %16, i64 -4
  %scevgep1147 = getelementptr i8, ptr %17, i64 -4
  %scevgep1150 = getelementptr i8, ptr %15, i64 -4
  %scevgep1152 = getelementptr i8, ptr %15, i64 4
  %scevgep1154 = getelementptr i8, ptr %16, i64 -4
  %scevgep1156 = getelementptr i8, ptr %16, i64 4
  %185 = sub i64 %27, %26
  %scevgep1206 = getelementptr i8, ptr %22, i64 -8
  %scevgep1208 = getelementptr i8, ptr %6, i64 -4
  %scevgep1210 = getelementptr i8, ptr %6, i64 -8
  %scevgep1212 = getelementptr i8, ptr %7, i64 -4
  %scevgep1214 = getelementptr i8, ptr %7, i64 -8
  %scevgep1244 = getelementptr i8, ptr %22, i64 -4
  %scevgep1246 = getelementptr i8, ptr %6, i64 -4
  %scevgep1248 = getelementptr i8, ptr %6, i64 -8
  %scevgep1250 = getelementptr i8, ptr %7, i64 -4
  %scevgep1252 = getelementptr i8, ptr %7, i64 -8
  %scevgep1312 = getelementptr i8, ptr %17, i64 -4
  %scevgep1315 = getelementptr i8, ptr %15, i64 -4
  %scevgep1317 = getelementptr i8, ptr %15, i64 4
  %scevgep1319 = getelementptr i8, ptr %16, i64 -4
  %scevgep1321 = getelementptr i8, ptr %16, i64 4
  %186 = insertelement <2 x float> poison, float %78, i64 0
  %187 = insertelement <2 x float> %186, float %179, i64 1
  %broadcast.splatinsert1286 = insertelement <4 x float> poison, float %181, i64 0
  %broadcast.splat1287 = shufflevector <4 x float> %broadcast.splatinsert1286, <4 x float> poison, <4 x i32> zeroinitializer
  %invariant.gep1397 = getelementptr i8, ptr %54, i64 -4
  %diff.check1187 = icmp ult i64 %185, 32
  %broadcast.splatinsert1142 = insertelement <4 x float> poison, float %77, i64 0
  %broadcast.splat1143 = shufflevector <4 x float> %broadcast.splatinsert1142, <4 x float> poison, <4 x i32> zeroinitializer
  %diff.check1104 = icmp ult i64 %183, 32
  %diff.check1105 = icmp ult i64 %184, 32
  %conflict.rdx1106 = or i1 %diff.check1104, %diff.check1105
  br label %188

188:                                              ; preds = %.lr.ph945, %950
  %indvars.iv1042 = phi i64 [ 1, %.lr.ph945 ], [ %indvars.iv.next1043, %950 ]
  %.0705943 = phi i32 [ %140, %.lr.ph945 ], [ %.3, %950 ]
  %.0708942 = phi i32 [ 1, %.lr.ph945 ], [ %.2710, %950 ]
  %.0713940 = phi i32 [ 1, %.lr.ph945 ], [ %.1714, %950 ]
  %.0715939 = phi i32 [ undef, %.lr.ph945 ], [ %.4, %950 ]
  %.0737938 = phi i32 [ undef, %.lr.ph945 ], [ %.3740, %950 ]
  %189 = getelementptr inbounds i32, ptr %61, i64 %indvars.iv1042
  %190 = load i32, ptr %189, align 4, !tbaa !5
  %191 = sub nsw i32 %190, %.0713940
  %192 = add nsw i32 %191, 1
  store i32 %192, ptr %43, align 4, !tbaa !5
  %193 = icmp eq i32 %190, %.0713940
  br i1 %193, label %194, label %231

194:                                              ; preds = %188
  br i1 %.not, label %212, label %195

195:                                              ; preds = %194
  br i1 %74, label %196, label %205

196:                                              ; preds = %195
  %197 = sext i32 %.0713940 to i64
  %198 = getelementptr inbounds float, ptr %64, i64 %197
  %199 = load float, ptr %198, align 4, !tbaa !9
  %200 = load float, ptr %2, align 4, !tbaa !9
  %201 = fcmp ogt float %199, %200
  br i1 %201, label %202, label %205

202:                                              ; preds = %196
  %203 = load float, ptr %3, align 4, !tbaa !9
  %204 = fcmp ugt float %199, %203
  br i1 %204, label %205, label %212

205:                                              ; preds = %202, %196, %195
  br i1 %75, label %206, label %228

206:                                              ; preds = %205
  %207 = sext i32 %.0708942 to i64
  %208 = getelementptr inbounds i32, ptr %57, i64 %207
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = zext i32 %209 to i64
  %211 = icmp eq i64 %indvars.iv1042, %210
  br i1 %211, label %212, label %228

212:                                              ; preds = %206, %202, %194
  %213 = load i32, ptr %14, align 4, !tbaa !5
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr %14, align 4, !tbaa !5
  %215 = sext i32 %.0713940 to i64
  %216 = getelementptr inbounds float, ptr %64, i64 %215
  %217 = load float, ptr %216, align 4, !tbaa !9
  %218 = sext i32 %214 to i64
  %219 = getelementptr inbounds float, ptr %60, i64 %218
  store float %217, ptr %219, align 4, !tbaa !9
  %220 = getelementptr inbounds float, ptr %59, i64 %218
  store float 0.000000e+00, ptr %220, align 4, !tbaa !9
  %221 = getelementptr inbounds float, ptr %58, i64 %218
  store float 0.000000e+00, ptr %221, align 4, !tbaa !9
  %222 = getelementptr inbounds i32, ptr %57, i64 %218
  %223 = trunc nuw nsw i64 %indvars.iv1042 to i32
  store i32 %223, ptr %222, align 4, !tbaa !5
  %224 = load i32, ptr %14, align 4, !tbaa !5
  %225 = sext i32 %224 to i64
  %226 = getelementptr inbounds i32, ptr %56, i64 %225
  store i32 1, ptr %226, align 4, !tbaa !5
  %227 = add nsw i32 %.0708942, 1
  br label %228

228:                                              ; preds = %212, %206, %205
  %.1709 = phi i32 [ %227, %212 ], [ %.0708942, %206 ], [ %.0708942, %205 ]
  %229 = sext i32 %.0713940 to i64
  %230 = getelementptr inbounds float, ptr %63, i64 %229
  store float 0.000000e+00, ptr %230, align 4, !tbaa !9
  br label %950

231:                                              ; preds = %188
  %232 = sext i32 %190 to i64
  %233 = getelementptr inbounds float, ptr %63, i64 %232
  store float 0.000000e+00, ptr %233, align 4, !tbaa !9
  %234 = sext i32 %.0713940 to i64
  %235 = getelementptr inbounds float, ptr %64, i64 %234
  %236 = load float, ptr %235, align 4, !tbaa !9
  store float %236, ptr %42, align 4, !tbaa !9
  store float %236, ptr %45, align 4, !tbaa !9
  store i32 %190, ptr %35, align 4, !tbaa !5
  %.not764836 = icmp sgt i32 %.0713940, %190
  br i1 %.not764836, label %275, label %.lr.ph839.preheader

.lr.ph839.preheader:                              ; preds = %231
  %237 = add i32 %190, 1
  %238 = sub i32 %237, %.0713940
  %xtraiter1375 = and i32 %238, 1
  %lcmp.mod1376.not = icmp eq i32 %xtraiter1375, 0
  br i1 %lcmp.mod1376.not, label %.lr.ph839.prol.loopexit, label %.lr.ph839.prol

.lr.ph839.prol:                                   ; preds = %.lr.ph839.preheader
  %239 = shl i32 %.0713940, 1
  %240 = sext i32 %239 to i64
  %241 = getelementptr float, ptr %55, i64 %240
  %242 = getelementptr i8, ptr %241, i64 -4
  %243 = load float, ptr %242, align 4, !tbaa !9
  %244 = fcmp ole float %243, %236
  %245 = select i1 %244, float %243, float %236
  %246 = load float, ptr %241, align 4, !tbaa !9
  %247 = fcmp oge float %246, %236
  %248 = select i1 %247, float %246, float %236
  %indvars.iv.next964.prol = add nsw i64 %234, 1
  br label %.lr.ph839.prol.loopexit

.lr.ph839.prol.loopexit:                          ; preds = %.lr.ph839.prol, %.lr.ph839.preheader
  %.lcssa1360.unr = phi float [ poison, %.lr.ph839.preheader ], [ %245, %.lr.ph839.prol ]
  %.lcssa.unr = phi float [ poison, %.lr.ph839.preheader ], [ %248, %.lr.ph839.prol ]
  %indvars.iv963.unr = phi i64 [ %234, %.lr.ph839.preheader ], [ %indvars.iv.next964.prol, %.lr.ph839.prol ]
  %.unr = phi float [ %236, %.lr.ph839.preheader ], [ %245, %.lr.ph839.prol ]
  %.unr1377 = phi float [ %236, %.lr.ph839.preheader ], [ %248, %.lr.ph839.prol ]
  %249 = icmp eq i32 %190, %.0713940
  br i1 %249, label %._crit_edge840, label %.lr.ph839

.lr.ph839:                                        ; preds = %.lr.ph839.prol.loopexit, %.lr.ph839
  %indvars.iv963 = phi i64 [ %indvars.iv.next964.1, %.lr.ph839 ], [ %indvars.iv963.unr, %.lr.ph839.prol.loopexit ]
  %250 = phi float [ %271, %.lr.ph839 ], [ %.unr, %.lr.ph839.prol.loopexit ]
  %251 = phi float [ %274, %.lr.ph839 ], [ %.unr1377, %.lr.ph839.prol.loopexit ]
  %252 = trunc nsw i64 %indvars.iv963 to i32
  %253 = shl i32 %252, 1
  %254 = sext i32 %253 to i64
  %255 = getelementptr float, ptr %55, i64 %254
  %256 = getelementptr i8, ptr %255, i64 -4
  %257 = load float, ptr %256, align 4, !tbaa !9
  %258 = fcmp ole float %257, %250
  %259 = select i1 %258, float %257, float %250
  %260 = load float, ptr %255, align 4, !tbaa !9
  %261 = fcmp oge float %260, %251
  %262 = select i1 %261, float %260, float %251
  %263 = trunc i64 %indvars.iv963 to i32
  %264 = shl i32 %263, 1
  %265 = add i32 %264, 2
  %266 = sext i32 %265 to i64
  %267 = getelementptr float, ptr %55, i64 %266
  %268 = getelementptr i8, ptr %267, i64 -4
  %269 = load float, ptr %268, align 4, !tbaa !9
  %270 = fcmp ole float %269, %259
  %271 = select i1 %270, float %269, float %259
  %272 = load float, ptr %267, align 4, !tbaa !9
  %273 = fcmp oge float %272, %262
  %274 = select i1 %273, float %272, float %262
  %indvars.iv.next964.1 = add nsw i64 %indvars.iv963, 2
  %lftr.wideiv.1 = trunc i64 %indvars.iv.next964.1 to i32
  %exitcond966.not.1 = icmp eq i32 %237, %lftr.wideiv.1
  br i1 %exitcond966.not.1, label %._crit_edge840, label %.lr.ph839, !llvm.loop !17

._crit_edge840:                                   ; preds = %.lr.ph839, %.lr.ph839.prol.loopexit
  %.lcssa1360 = phi float [ %.lcssa1360.unr, %.lr.ph839.prol.loopexit ], [ %271, %.lr.ph839 ]
  %.lcssa = phi float [ %.lcssa.unr, %.lr.ph839.prol.loopexit ], [ %274, %.lr.ph839 ]
  store float %.lcssa1360, ptr %42, align 4, !tbaa !9
  store float %.lcssa, ptr %45, align 4, !tbaa !9
  br label %275

275:                                              ; preds = %._crit_edge840, %231
  %276 = phi float [ %.lcssa1360, %._crit_edge840 ], [ %236, %231 ]
  %277 = phi float [ %.lcssa, %._crit_edge840 ], [ %236, %231 ]
  %278 = fsub float %277, %276
  store float %278, ptr %46, align 4, !tbaa !9
  br i1 %.not, label %.thread, label %280

.thread:                                          ; preds = %275
  %279 = icmp ne i32 %.0705943, 0
  br label %361

280:                                              ; preds = %275
  %281 = load i32, ptr %44, align 4, !tbaa !5
  store i32 %281, ptr %35, align 4, !tbaa !5
  %.not765843 = icmp sgt i32 %.0708942, %281
  br i1 %.not765843, label %._crit_edge848.thread, label %.lr.ph847.preheader

.lr.ph847.preheader:                              ; preds = %280
  %282 = sext i32 %.0708942 to i64
  %283 = sext i32 %281 to i64
  %284 = add i32 %281, 1
  %285 = sub i32 %284, %.0708942
  br label %.lr.ph847

.lr.ph847:                                        ; preds = %.lr.ph847.preheader, %290
  %indvars.iv967 = phi i64 [ %282, %.lr.ph847.preheader ], [ %indvars.iv.next968, %290 ]
  %.1716845 = phi i32 [ 0, %.lr.ph847.preheader ], [ %291, %290 ]
  %286 = getelementptr inbounds i32, ptr %57, i64 %indvars.iv967
  %287 = load i32, ptr %286, align 4, !tbaa !5
  %288 = zext i32 %287 to i64
  %289 = icmp eq i64 %indvars.iv1042, %288
  br i1 %289, label %290, label %._crit_edge848

290:                                              ; preds = %.lr.ph847
  %291 = add nuw nsw i32 %.1716845, 1
  %indvars.iv.next968 = add nsw i64 %indvars.iv967, 1
  %.not765.not = icmp slt i64 %indvars.iv967, %283
  br i1 %.not765.not, label %.lr.ph847, label %._crit_edge848, !llvm.loop !18

._crit_edge848:                                   ; preds = %.lr.ph847, %290
  %.1716.lcssa = phi i32 [ %.1716845, %.lr.ph847 ], [ %285, %290 ]
  %292 = icmp eq i32 %.1716.lcssa, 0
  br i1 %292, label %._crit_edge848.thread, label %293

._crit_edge848.thread:                            ; preds = %280, %._crit_edge848
  store float 0.000000e+00, ptr %233, align 4, !tbaa !9
  br label %950

293:                                              ; preds = %._crit_edge848
  %294 = uitofp nneg i32 %.1716.lcssa to float
  %295 = sitofp i32 %192 to float
  %296 = fmul float %295, 5.000000e-01
  %297 = fcmp olt float %296, %294
  %298 = add nsw i32 %.1716.lcssa, %.0708942
  %299 = add nsw i32 %298, -1
  %300 = add nsw i32 %298, -2
  store i32 %300, ptr %35, align 4, !tbaa !5
  %.not766852 = icmp sgt i32 %.0708942, %300
  %.pre1047 = sext i32 %.0708942 to i64
  br i1 %.not766852, label %._crit_edge856, label %.lr.ph855.preheader

.lr.ph855.preheader:                              ; preds = %293
  %301 = add i32 %.0708942, -1
  %302 = add i32 %301, %.1716.lcssa
  %303 = add i32 %.1716.lcssa, -2
  %304 = zext i32 %303 to i64
  %305 = add nuw nsw i64 %304, 1
  %min.iters.check1332 = icmp ult i32 %303, 7
  br i1 %min.iters.check1332, label %.lr.ph855.preheader1359, label %vector.memcheck1311

vector.memcheck1311:                              ; preds = %.lr.ph855.preheader
  %306 = shl nsw i64 %282, 2
  %scevgep1313 = getelementptr i8, ptr %scevgep1312, i64 %306
  %307 = add i32 %.1716.lcssa, -2
  %308 = zext i32 %307 to i64
  %309 = add nsw i64 %282, %308
  %310 = shl nsw i64 %309, 2
  %scevgep1314 = getelementptr i8, ptr %17, i64 %310
  %scevgep1316 = getelementptr i8, ptr %scevgep1315, i64 %306
  %scevgep1318 = getelementptr i8, ptr %scevgep1317, i64 %310
  %scevgep1320 = getelementptr i8, ptr %scevgep1319, i64 %306
  %scevgep1322 = getelementptr i8, ptr %scevgep1321, i64 %310
  %bound01323 = icmp ult ptr %scevgep1313, %scevgep1318
  %bound11324 = icmp ult ptr %scevgep1316, %scevgep1314
  %found.conflict1325 = and i1 %bound01323, %bound11324
  %bound01326 = icmp ult ptr %scevgep1313, %scevgep1322
  %bound11327 = icmp ult ptr %scevgep1320, %scevgep1314
  %found.conflict1328 = and i1 %bound01326, %bound11327
  %conflict.rdx1329 = or i1 %found.conflict1325, %found.conflict1328
  br i1 %conflict.rdx1329, label %.lr.ph855.preheader1359, label %vector.ph1333

vector.ph1333:                                    ; preds = %vector.memcheck1311
  %n.vec1335 = and i64 %305, 8589934584
  %ind.end1336 = add nsw i64 %n.vec1335, %.pre1047
  br label %vector.body1338

vector.body1338:                                  ; preds = %vector.body1338, %vector.ph1333
  %index1339 = phi i64 [ 0, %vector.ph1333 ], [ %index.next1349, %vector.body1338 ]
  %offset.idx1340 = add i64 %index1339, %.pre1047
  %311 = getelementptr float, ptr %15, i64 %offset.idx1340
  %312 = getelementptr i8, ptr %311, i64 16
  %wide.load1341 = load <4 x float>, ptr %311, align 4, !tbaa !9, !alias.scope !19
  %wide.load1342 = load <4 x float>, ptr %312, align 4, !tbaa !9, !alias.scope !19
  %313 = getelementptr float, ptr %16, i64 %offset.idx1340
  %314 = getelementptr i8, ptr %313, i64 16
  %wide.load1343 = load <4 x float>, ptr %313, align 4, !tbaa !9, !alias.scope !22
  %wide.load1344 = load <4 x float>, ptr %314, align 4, !tbaa !9, !alias.scope !22
  %315 = fsub <4 x float> %wide.load1341, %wide.load1343
  %316 = fsub <4 x float> %wide.load1342, %wide.load1344
  %317 = getelementptr inbounds float, ptr %60, i64 %offset.idx1340
  %318 = getelementptr inbounds i8, ptr %317, i64 16
  %wide.load1345 = load <4 x float>, ptr %317, align 4, !tbaa !9, !alias.scope !19
  %wide.load1346 = load <4 x float>, ptr %318, align 4, !tbaa !9, !alias.scope !19
  %319 = getelementptr inbounds float, ptr %59, i64 %offset.idx1340
  %320 = getelementptr inbounds i8, ptr %319, i64 16
  %wide.load1347 = load <4 x float>, ptr %319, align 4, !tbaa !9, !alias.scope !22
  %wide.load1348 = load <4 x float>, ptr %320, align 4, !tbaa !9, !alias.scope !22
  %321 = fadd <4 x float> %wide.load1345, %wide.load1347
  %322 = fadd <4 x float> %wide.load1346, %wide.load1348
  %323 = fsub <4 x float> %315, %321
  %324 = fsub <4 x float> %316, %322
  %325 = fcmp ole <4 x float> %323, zeroinitializer
  %326 = fcmp ole <4 x float> %324, zeroinitializer
  %327 = select <4 x i1> %325, <4 x float> zeroinitializer, <4 x float> %323
  %328 = select <4 x i1> %326, <4 x float> zeroinitializer, <4 x float> %324
  %329 = getelementptr inbounds float, ptr %58, i64 %offset.idx1340
  %330 = getelementptr inbounds i8, ptr %329, i64 16
  store <4 x float> %327, ptr %329, align 4, !tbaa !9, !alias.scope !24, !noalias !26
  store <4 x float> %328, ptr %330, align 4, !tbaa !9, !alias.scope !24, !noalias !26
  %index.next1349 = add nuw i64 %index1339, 8
  %331 = icmp eq i64 %index.next1349, %n.vec1335
  br i1 %331, label %middle.block1330, label %vector.body1338, !llvm.loop !27

middle.block1330:                                 ; preds = %vector.body1338
  %cmp.n1350 = icmp eq i64 %305, %n.vec1335
  br i1 %cmp.n1350, label %._crit_edge856, label %.lr.ph855.preheader1359

.lr.ph855.preheader1359:                          ; preds = %middle.block1330, %vector.memcheck1311, %.lr.ph855.preheader
  %indvars.iv970.ph = phi i64 [ %.pre1047, %vector.memcheck1311 ], [ %.pre1047, %.lr.ph855.preheader ], [ %ind.end1336, %middle.block1330 ]
  br label %.lr.ph855

.lr.ph855:                                        ; preds = %.lr.ph855.preheader1359, %.lr.ph855
  %indvars.iv970 = phi i64 [ %indvars.iv.next971, %.lr.ph855 ], [ %indvars.iv970.ph, %.lr.ph855.preheader1359 ]
  %indvars.iv.next971 = add nsw i64 %indvars.iv970, 1
  %332 = getelementptr float, ptr %15, i64 %indvars.iv970
  %333 = load float, ptr %332, align 4, !tbaa !9
  %334 = getelementptr float, ptr %16, i64 %indvars.iv970
  %335 = load float, ptr %334, align 4, !tbaa !9
  %336 = fsub float %333, %335
  %337 = getelementptr inbounds float, ptr %60, i64 %indvars.iv970
  %338 = load float, ptr %337, align 4, !tbaa !9
  %339 = getelementptr inbounds float, ptr %59, i64 %indvars.iv970
  %340 = load float, ptr %339, align 4, !tbaa !9
  %341 = fadd float %338, %340
  %342 = fsub float %336, %341
  %343 = fcmp ole float %342, 0.000000e+00
  %344 = select i1 %343, float 0.000000e+00, float %342
  %345 = getelementptr inbounds float, ptr %58, i64 %indvars.iv970
  store float %344, ptr %345, align 4, !tbaa !9
  %lftr.wideiv973 = trunc i64 %indvars.iv.next971 to i32
  %exitcond974.not = icmp eq i32 %302, %lftr.wideiv973
  br i1 %exitcond974.not, label %._crit_edge856, label %.lr.ph855, !llvm.loop !28

._crit_edge856:                                   ; preds = %.lr.ph855, %middle.block1330, %293
  %346 = load float, ptr %3, align 4, !tbaa !9
  %347 = sext i32 %299 to i64
  %348 = getelementptr inbounds float, ptr %60, i64 %347
  %349 = load float, ptr %348, align 4, !tbaa !9
  %350 = getelementptr inbounds float, ptr %59, i64 %347
  %351 = load float, ptr %350, align 4, !tbaa !9
  %352 = fadd float %349, %351
  %353 = fsub float %346, %352
  %354 = fcmp ole float %353, 0.000000e+00
  %355 = select i1 %354, float 0.000000e+00, float %353
  %356 = getelementptr inbounds float, ptr %58, i64 %347
  store float %355, ptr %356, align 4, !tbaa !9
  %357 = getelementptr inbounds i32, ptr %56, i64 %.pre1047
  %358 = load i32, ptr %357, align 4, !tbaa !5
  store i32 %358, ptr %36, align 4, !tbaa !5
  %359 = getelementptr inbounds i32, ptr %56, i64 %347
  %360 = load i32, ptr %359, align 4, !tbaa !5
  store i32 %360, ptr %37, align 4, !tbaa !5
  br i1 %297, label %361, label %.thread1052

361:                                              ; preds = %.thread, %._crit_edge856
  %362 = phi i1 [ %279, %.thread ], [ true, %._crit_edge856 ]
  %.2717796 = phi i32 [ %.0715939, %.thread ], [ %.1716.lcssa, %._crit_edge856 ]
  %.1738794 = phi i32 [ %.0737938, %.thread ], [ %299, %._crit_edge856 ]
  %363 = getelementptr inbounds float, ptr %62, i64 %234
  call void @slarrk_(ptr noundef nonnull %43, ptr noundef nonnull @c__1, ptr noundef nonnull %42, ptr noundef nonnull %45, ptr noundef nonnull %235, ptr noundef nonnull %363, ptr noundef nonnull %21, ptr noundef nonnull %50, ptr noundef nonnull %49, ptr noundef nonnull %53, ptr noundef nonnull %39) #6
  %364 = load i32, ptr %39, align 4, !tbaa !5
  %.not767 = icmp eq i32 %364, 0
  br i1 %.not767, label %366, label %365

365:                                              ; preds = %361
  store i32 -1, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

366:                                              ; preds = %361
  %367 = load float, ptr %42, align 4, !tbaa !9
  %368 = load float, ptr %49, align 4, !tbaa !9
  %369 = load float, ptr %53, align 4, !tbaa !9
  call void @slarrk_(ptr noundef nonnull %43, ptr noundef nonnull %43, ptr noundef nonnull %42, ptr noundef nonnull %45, ptr noundef nonnull %235, ptr noundef nonnull %363, ptr noundef nonnull %21, ptr noundef nonnull %50, ptr noundef nonnull %49, ptr noundef nonnull %53, ptr noundef nonnull %39) #6
  %370 = load i32, ptr %39, align 4, !tbaa !5
  %.not768 = icmp eq i32 %370, 0
  br i1 %.not768, label %372, label %371

371:                                              ; preds = %366
  store i32 -1, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

372:                                              ; preds = %366
  %373 = fsub float %368, %369
  %374 = load float, ptr %45, align 4, !tbaa !9
  %375 = load float, ptr %49, align 4, !tbaa !9
  %376 = load float, ptr %53, align 4, !tbaa !9
  %377 = fadd float %375, %376
  %378 = insertelement <2 x float> poison, float %377, i64 0
  %379 = insertelement <2 x float> %378, float %373, i64 1
  %380 = fcmp oge <2 x float> %379, zeroinitializer
  %381 = fneg <2 x float> %379
  %382 = select <2 x i1> %380, <2 x float> %379, <2 x float> %381
  %383 = call <2 x float> @llvm.fmuladd.v2f32(<2 x float> %187, <2 x float> %382, <2 x float> %379)
  %384 = insertelement <2 x float> %383, float %374, i64 0
  %385 = insertelement <2 x float> %383, float %367, i64 1
  %386 = fcmp ole <2 x float> %384, %385
  %387 = insertelement <2 x float> poison, float %374, i64 0
  %388 = insertelement <2 x float> %387, float %367, i64 1
  %389 = select <2 x i1> %386, <2 x float> %388, <2 x float> %383
  %390 = extractelement <2 x float> %389, i64 0
  %391 = extractelement <2 x float> %389, i64 1
  %392 = fsub float %390, %391
  store float %392, ptr %46, align 4, !tbaa !9
  br i1 %.not, label %413, label %421

.thread1052:                                      ; preds = %._crit_edge856
  %393 = getelementptr inbounds float, ptr %60, i64 %.pre1047
  %394 = load float, ptr %393, align 4, !tbaa !9
  %395 = getelementptr inbounds float, ptr %59, i64 %.pre1047
  %396 = load float, ptr %395, align 4, !tbaa !9
  %397 = fsub float %394, %396
  %398 = fcmp oge float %397, 0.000000e+00
  %399 = fneg float %397
  %400 = select i1 %398, float %397, float %399
  %401 = call float @llvm.fmuladd.f32(float %179, float %400, float %397)
  %402 = fcmp oge float %276, %401
  %403 = select i1 %402, float %276, float %401
  %404 = load float, ptr %348, align 4, !tbaa !9
  %405 = load float, ptr %350, align 4, !tbaa !9
  %406 = fadd float %404, %405
  %407 = fcmp oge float %406, 0.000000e+00
  %408 = fneg float %406
  %409 = select i1 %407, float %406, float %408
  %410 = call float @llvm.fmuladd.f32(float %78, float %409, float %406)
  %411 = fcmp ole float %277, %410
  %412 = select i1 %411, float %277, float %410
  br i1 %.not, label %413, label %.thread1065

413:                                              ; preds = %.thread1052, %372
  %.07031064 = phi float [ %412, %.thread1052 ], [ %390, %372 ]
  %.07041061 = phi float [ %403, %.thread1052 ], [ %391, %372 ]
  %414 = phi float [ %278, %.thread1052 ], [ %392, %372 ]
  store i32 1, ptr %36, align 4, !tbaa !5
  %415 = load i32, ptr %43, align 4, !tbaa !5
  store i32 %415, ptr %37, align 4, !tbaa !5
  %416 = add i32 %.0708942, -1
  %417 = add i32 %416, %415
  %418 = call float @llvm.fmuladd.f32(float %414, float 2.500000e-01, float %.07041061)
  store float %418, ptr %40, align 4, !tbaa !9
  %419 = fneg float %414
  %420 = call float @llvm.fmuladd.f32(float %419, float 2.500000e-01, float %.07031064)
  store float %420, ptr %41, align 4, !tbaa !9
  br label %433

421:                                              ; preds = %372
  br i1 %362, label %422, label %.thread1065

422:                                              ; preds = %421
  %423 = call float @llvm.fmuladd.f32(float %392, float 2.500000e-01, float %391)
  store float %423, ptr %40, align 4, !tbaa !9
  %424 = fneg float %392
  %425 = call float @llvm.fmuladd.f32(float %424, float 2.500000e-01, float %390)
  store float %425, ptr %41, align 4, !tbaa !9
  br label %433

.thread1065:                                      ; preds = %.thread1052, %421
  %.271779510571073 = phi i32 [ %.2717796, %421 ], [ %.1716.lcssa, %.thread1052 ]
  %.173879310581072 = phi i32 [ %.1738794, %421 ], [ %299, %.thread1052 ]
  %.070410591071 = phi float [ %391, %421 ], [ %403, %.thread1052 ]
  %.070310621070 = phi float [ %390, %421 ], [ %412, %.thread1052 ]
  %426 = load float, ptr %3, align 4, !tbaa !9
  %.inv813 = fcmp ole float %.070310621070, %426
  %..0703 = select i1 %.inv813, float %.070310621070, float %426
  %427 = load float, ptr %2, align 4, !tbaa !9
  %.inv814 = fcmp oge float %.070410591071, %427
  %428 = select i1 %.inv814, float %.070410591071, float %427
  %429 = fsub float %..0703, %428
  store float %429, ptr %49, align 4, !tbaa !9
  %430 = call float @llvm.fmuladd.f32(float %429, float 2.500000e-01, float %428)
  store float %430, ptr %40, align 4, !tbaa !9
  %431 = fneg float %429
  %432 = call float @llvm.fmuladd.f32(float %431, float 2.500000e-01, float %..0703)
  store float %432, ptr %41, align 4, !tbaa !9
  br label %433

433:                                              ; preds = %422, %.thread1065, %413
  %.07031063 = phi float [ %390, %422 ], [ %.070310621070, %.thread1065 ], [ %.07031064, %413 ]
  %.07041060 = phi float [ %391, %422 ], [ %.070410591071, %.thread1065 ], [ %.07041061, %413 ]
  %.2739 = phi i32 [ %.1738794, %422 ], [ %.173879310581072, %.thread1065 ], [ %417, %413 ]
  %.3718 = phi i32 [ %.2717796, %422 ], [ %.271779510571073, %.thread1065 ], [ %415, %413 ]
  %.not770 = phi i1 [ false, %422 ], [ true, %.thread1065 ], [ false, %413 ]
  %.2707 = phi i32 [ 1, %422 ], [ 0, %.thread1065 ], [ 1, %413 ]
  %434 = icmp sgt i32 %.3718, 1
  br i1 %434, label %.thread797, label %436

.thread797:                                       ; preds = %433
  %435 = getelementptr inbounds float, ptr %63, i64 %234
  call void @slarrc_(ptr noundef nonnull @.str.6, ptr noundef nonnull %43, ptr noundef nonnull %40, ptr noundef nonnull %41, ptr noundef nonnull %235, ptr noundef nonnull %435, ptr noundef nonnull %21, ptr noundef nonnull %48, ptr noundef nonnull %51, ptr noundef nonnull %52, ptr noundef nonnull %39) #6
  br label %440

436:                                              ; preds = %433
  %437 = icmp eq i32 %.3718, 1
  br i1 %437, label %438, label %440

438:                                              ; preds = %436
  %439 = load float, ptr %42, align 4, !tbaa !9
  br label %463

440:                                              ; preds = %.thread797, %436
  %441 = load i32, ptr %51, align 4, !tbaa !5
  %442 = load i32, ptr %36, align 4, !tbaa !5
  %443 = sub nsw i32 %441, %442
  %444 = load i32, ptr %37, align 4, !tbaa !5
  %445 = load i32, ptr %52, align 4, !tbaa !5
  %446 = sub nsw i32 %444, %445
  %.not769 = icmp slt i32 %443, %446
  br i1 %.not769, label %455, label %447

447:                                              ; preds = %440
  br i1 %.not, label %448, label %452

448:                                              ; preds = %447
  %449 = load float, ptr %42, align 4
  %450 = fcmp oge float %.07041060, %449
  %451 = select i1 %450, float %.07041060, float %449
  br label %463

452:                                              ; preds = %447
  br i1 %.not770, label %453, label %.thread808

453:                                              ; preds = %452
  %454 = load float, ptr %2, align 4, !tbaa !9
  %.inv815 = fcmp oge float %.07041060, %454
  %..0704 = select i1 %.inv815, float %.07041060, float %454
  br label %.thread798

455:                                              ; preds = %440
  br i1 %.not, label %456, label %460

456:                                              ; preds = %455
  %457 = load float, ptr %45, align 4
  %458 = fcmp ole float %.07031063, %457
  %459 = select i1 %458, float %.07031063, float %457
  br label %463

460:                                              ; preds = %455
  br i1 %.not770, label %461, label %.thread808

461:                                              ; preds = %460
  %462 = load float, ptr %3, align 4, !tbaa !9
  %.inv816 = fcmp ole float %.07031063, %462
  %..0703788 = select i1 %.inv816, float %.07031063, float %462
  br label %.thread798

463:                                              ; preds = %456, %448, %438
  %.2725 = phi float [ %439, %438 ], [ %451, %448 ], [ %459, %456 ]
  %.0711 = phi float [ 1.000000e+00, %438 ], [ 1.000000e+00, %448 ], [ -1.000000e+00, %456 ]
  br i1 %.not770, label %.thread798, label %.thread808

.thread808:                                       ; preds = %452, %460, %463
  %.0711812 = phi float [ %.0711, %463 ], [ -1.000000e+00, %460 ], [ 1.000000e+00, %452 ]
  %.2725811 = phi float [ %.2725, %463 ], [ %.07031063, %460 ], [ %.07041060, %452 ]
  %464 = load float, ptr %46, align 4, !tbaa !9
  %465 = fmul float %77, %464
  %466 = load i32, ptr %1, align 4, !tbaa !5
  %467 = sitofp i32 %466 to float
  %468 = load float, ptr %21, align 4, !tbaa !9
  %469 = fmul float %468, 2.000000e+00
  %470 = call float @llvm.fmuladd.f32(float %465, float %467, float %469)
  %471 = fcmp oge float %.2725811, 0.000000e+00
  %472 = fneg float %.2725811
  %473 = select i1 %471, float %.2725811, float %472
  %474 = fmul float %180, %473
  %475 = fcmp oge float %470, %474
  %476 = select i1 %475, float %470, float %474
  br label %517

.thread798:                                       ; preds = %453, %461, %463
  %.0711804 = phi float [ %.0711, %463 ], [ -1.000000e+00, %461 ], [ 1.000000e+00, %453 ]
  %.2725802 = phi float [ %.2725, %463 ], [ %..0703788, %461 ], [ %..0704, %453 ]
  br i1 %434, label %477, label %513

477:                                              ; preds = %.thread798
  %478 = sext i32 %.2739 to i64
  %479 = getelementptr inbounds float, ptr %60, i64 %478
  %480 = load float, ptr %479, align 4, !tbaa !9
  %481 = getelementptr inbounds float, ptr %59, i64 %478
  %482 = load float, ptr %481, align 4, !tbaa !9
  %483 = fadd float %480, %482
  %484 = sext i32 %.0708942 to i64
  %485 = getelementptr inbounds float, ptr %60, i64 %484
  %486 = load float, ptr %485, align 4, !tbaa !9
  %487 = fsub float %483, %486
  %488 = getelementptr inbounds float, ptr %59, i64 %484
  %489 = load float, ptr %488, align 4, !tbaa !9
  %490 = fsub float %487, %489
  %491 = sub nsw i32 %.2739, %.0708942
  %492 = sitofp i32 %491 to float
  %493 = fdiv float %490, %492
  %494 = fcmp oge float %493, 0.000000e+00
  %495 = fneg float %493
  %496 = select i1 %494, float %493, float %495
  %497 = fcmp oeq float %.0711804, 1.000000e+00
  br i1 %497, label %498, label %506

498:                                              ; preds = %477
  %499 = getelementptr inbounds float, ptr %58, i64 %484
  %500 = load float, ptr %499, align 4, !tbaa !9
  %501 = fcmp oge float %500, %496
  %502 = select i1 %501, float %500, float %496
  %503 = fmul float %502, 5.000000e-01
  %504 = fcmp oge float %503, %489
  %505 = select i1 %504, float %503, float %489
  br label %517

506:                                              ; preds = %477
  %gep932 = getelementptr float, ptr %invariant.gep931, i64 %478
  %507 = load float, ptr %gep932, align 4, !tbaa !9
  %508 = fcmp oge float %507, %496
  %509 = select i1 %508, float %507, float %496
  %510 = fmul float %509, 5.000000e-01
  %511 = fcmp oge float %510, %482
  %512 = select i1 %511, float %510, float %482
  br label %517

513:                                              ; preds = %.thread798
  %514 = sext i32 %.0708942 to i64
  %515 = getelementptr inbounds float, ptr %59, i64 %514
  %516 = load float, ptr %515, align 4, !tbaa !9
  br label %517

517:                                              ; preds = %513, %506, %498, %.thread808
  %.0711803 = phi float [ %.0711812, %.thread808 ], [ 1.000000e+00, %498 ], [ %.0711804, %506 ], [ %.0711804, %513 ]
  %.2725801 = phi float [ %.2725811, %.thread808 ], [ %.2725802, %498 ], [ %.2725802, %506 ], [ %.2725802, %513 ]
  %.0 = phi float [ %476, %.thread808 ], [ %505, %498 ], [ %512, %506 ], [ %516, %513 ]
  %518 = load i32, ptr %43, align 4, !tbaa !5
  %.not773.not857 = icmp sgt i32 %518, 1
  %519 = load float, ptr %46, align 4, !tbaa !9
  %520 = fmul float %519, 6.400000e+01
  %521 = shl i32 %518, 1
  %.not774866 = icmp slt i32 %518, 1
  %522 = fneg float %.0711803
  %523 = fcmp oeq float %.0711803, 1.000000e+00
  %524 = load float, ptr %45, align 4
  %525 = fmul float %519, 2.000000e+00
  %526 = fmul float %77, %525
  %527 = load float, ptr %42, align 4
  %528 = fmul float %519, -2.000000e+00
  %529 = fmul float %77, %528
  %530 = sext i32 %521 to i64
  %531 = sext i32 %518 to i64
  %532 = add i32 %518, 1
  %wide.trip.count982 = zext nneg i32 %518 to i64
  %invariant.gep1085 = getelementptr float, ptr %54, i64 %530
  %invariant.gep1087 = getelementptr float, ptr %54, i64 %531
  %wide.trip.count987 = zext i32 %532 to i64
  %533 = add nsw i64 %wide.trip.count987, -1
  %min.iters.check1295 = icmp ult i32 %532, 9
  %n.vec1298 = and i64 %533, -8
  %ind.end1299 = or disjoint i64 %n.vec1298, 1
  %broadcast.splatinsert1307 = insertelement <4 x float> poison, float %.0711803, i64 0
  %broadcast.splat1308 = shufflevector <4 x float> %broadcast.splatinsert1307, <4 x float> poison, <4 x i32> zeroinitializer
  %cmp.n1310 = icmp eq i64 %533, %n.vec1298
  br label %534

534:                                              ; preds = %517, %592
  %.1877 = phi float [ %.0, %517 ], [ %.2, %592 ]
  %.3726876 = phi float [ %.2725801, %517 ], [ %.4727, %592 ]
  %.0736875 = phi i32 [ 1, %517 ], [ %593, %592 ]
  %535 = load float, ptr %235, align 4, !tbaa !9
  %536 = fsub float %535, %.3726876
  store float %536, ptr %22, align 4, !tbaa !9
  %537 = fcmp ult float %536, 0.000000e+00
  %538 = fneg float %536
  %539 = select i1 %537, float %538, float %536
  br i1 %.not773.not857, label %.lr.ph862, label %557

.lr.ph862:                                        ; preds = %534, %.lr.ph862
  %540 = phi float [ %550, %.lr.ph862 ], [ %536, %534 ]
  %indvars.iv977 = phi i64 [ %indvars.iv.next978, %.lr.ph862 ], [ 1, %534 ]
  %indvars.iv975 = phi i64 [ %indvars.iv.next976, %.lr.ph862 ], [ %234, %534 ]
  %.0743858 = phi float [ %556, %.lr.ph862 ], [ %539, %534 ]
  %541 = fdiv float 1.000000e+00, %540
  %gep1086 = getelementptr float, ptr %invariant.gep1085, i64 %indvars.iv977
  store float %541, ptr %gep1086, align 4, !tbaa !9
  %542 = getelementptr inbounds float, ptr %63, i64 %indvars.iv975
  %543 = load float, ptr %542, align 4, !tbaa !9
  %544 = fmul float %541, %543
  %gep1088 = getelementptr float, ptr %invariant.gep1087, i64 %indvars.iv977
  store float %544, ptr %gep1088, align 4, !tbaa !9
  %indvars.iv.next976 = add nsw i64 %indvars.iv975, 1
  %545 = getelementptr float, ptr %6, i64 %indvars.iv975
  %546 = load float, ptr %545, align 4, !tbaa !9
  %547 = fsub float %546, %.3726876
  %548 = load float, ptr %542, align 4, !tbaa !9
  %549 = fneg float %544
  %550 = call float @llvm.fmuladd.f32(float %549, float %548, float %547)
  %indvars.iv.next978 = add nuw nsw i64 %indvars.iv977, 1
  %551 = getelementptr float, ptr %22, i64 %indvars.iv977
  store float %550, ptr %551, align 4, !tbaa !9
  %552 = fcmp oge float %550, 0.000000e+00
  %553 = fneg float %550
  %554 = select i1 %552, float %550, float %553
  %555 = fcmp oge float %.0743858, %554
  %556 = select i1 %555, float %.0743858, float %554
  %exitcond983.not = icmp eq i64 %indvars.iv.next978, %wide.trip.count982
  br i1 %exitcond983.not, label %._crit_edge863, label %.lr.ph862, !llvm.loop !29

._crit_edge863:                                   ; preds = %.lr.ph862
  store float %544, ptr %49, align 4, !tbaa !9
  br label %557

557:                                              ; preds = %._crit_edge863, %534
  %.0743.lcssa = phi float [ %556, %._crit_edge863 ], [ %539, %534 ]
  %558 = fcmp ogt float %.0743.lcssa, %520
  %or.cond15 = or i1 %.not770, %558
  %brmerge = or i1 %or.cond15, %.not774866
  %559 = sext i1 %or.cond15 to i32
  %.mux = add nsw i32 %518, %559
  %..mux = zext i1 %558 to i32
  br i1 %brmerge, label %.loopexit, label %.lr.ph870.preheader

.lr.ph870.preheader:                              ; preds = %557
  br i1 %min.iters.check1295, label %.lr.ph870.preheader1352, label %vector.body1301

vector.body1301:                                  ; preds = %.lr.ph870.preheader, %vector.body1301
  %index1302 = phi i64 [ %index.next1309, %vector.body1301 ], [ 0, %.lr.ph870.preheader ]
  %vec.phi = phi <4 x i1> [ %566, %vector.body1301 ], [ zeroinitializer, %.lr.ph870.preheader ]
  %vec.phi1303 = phi <4 x i1> [ %567, %vector.body1301 ], [ zeroinitializer, %.lr.ph870.preheader ]
  %560 = getelementptr float, ptr %22, i64 %index1302
  %561 = getelementptr inbounds i8, ptr %560, i64 16
  %wide.load1305 = load <4 x float>, ptr %560, align 4, !tbaa !9
  %wide.load1306 = load <4 x float>, ptr %561, align 4, !tbaa !9
  %562 = fmul <4 x float> %broadcast.splat1308, %wide.load1305
  %563 = fmul <4 x float> %broadcast.splat1308, %wide.load1306
  %564 = fcmp olt <4 x float> %562, zeroinitializer
  %565 = fcmp olt <4 x float> %563, zeroinitializer
  %566 = or <4 x i1> %vec.phi, %564
  %567 = or <4 x i1> %vec.phi1303, %565
  %index.next1309 = add nuw i64 %index1302, 8
  %568 = icmp eq i64 %index.next1309, %n.vec1298
  br i1 %568, label %middle.block1293, label %vector.body1301, !llvm.loop !30

middle.block1293:                                 ; preds = %vector.body1301
  %569 = extractelement <4 x float> %563, i64 3
  %bin.rdx = or <4 x i1> %567, %566
  %bin.rdx.fr = freeze <4 x i1> %bin.rdx
  %570 = bitcast <4 x i1> %bin.rdx.fr to i4
  %.not1351 = icmp ne i4 %570, 0
  %rdx.select = zext i1 %.not1351 to i32
  br i1 %cmp.n1310, label %..loopexit_crit_edge, label %.lr.ph870.preheader1352

.lr.ph870.preheader1352:                          ; preds = %middle.block1293, %.lr.ph870.preheader
  %indvars.iv984.ph = phi i64 [ 1, %.lr.ph870.preheader ], [ %ind.end1299, %middle.block1293 ]
  %.1720868.ph = phi i32 [ 0, %.lr.ph870.preheader ], [ %rdx.select, %middle.block1293 ]
  br label %.lr.ph870

.lr.ph870:                                        ; preds = %.lr.ph870.preheader1352, %.lr.ph870
  %indvars.iv984 = phi i64 [ %indvars.iv.next985, %.lr.ph870 ], [ %indvars.iv984.ph, %.lr.ph870.preheader1352 ]
  %.1720868 = phi i32 [ %.2721, %.lr.ph870 ], [ %.1720868.ph, %.lr.ph870.preheader1352 ]
  %571 = getelementptr inbounds float, ptr %54, i64 %indvars.iv984
  %572 = load float, ptr %571, align 4, !tbaa !9
  %573 = fmul float %.0711803, %572
  %574 = fcmp olt float %573, 0.000000e+00
  %.2721 = select i1 %574, i32 1, i32 %.1720868
  %indvars.iv.next985 = add nuw nsw i64 %indvars.iv984, 1
  %exitcond988.not = icmp eq i64 %indvars.iv.next985, %wide.trip.count987
  br i1 %exitcond988.not, label %..loopexit_crit_edge, label %.lr.ph870, !llvm.loop !31

..loopexit_crit_edge:                             ; preds = %.lr.ph870, %middle.block1293
  %.lcssa1095 = phi float [ %569, %middle.block1293 ], [ %573, %.lr.ph870 ]
  %.2721.lcssa = phi i32 [ %rdx.select, %middle.block1293 ], [ %.2721, %.lr.ph870 ]
  store float %.lcssa1095, ptr %49, align 4, !tbaa !9
  br label %.loopexit

.loopexit:                                        ; preds = %557, %..loopexit_crit_edge
  %575 = phi i32 [ %.mux, %557 ], [ %518, %..loopexit_crit_edge ]
  %.3722 = phi i32 [ %..mux, %557 ], [ %.2721.lcssa, %..loopexit_crit_edge ]
  %.not775 = icmp eq i32 %.3722, 0
  br i1 %.not775, label %595, label %576

576:                                              ; preds = %.loopexit
  %577 = icmp eq i32 %.0736875, 5
  br i1 %577, label %578, label %589

578:                                              ; preds = %576
  %579 = load i32, ptr %1, align 4, !tbaa !5
  %580 = sitofp i32 %579 to float
  %581 = load float, ptr %21, align 4, !tbaa !9
  br i1 %523, label %582, label %586

582:                                              ; preds = %578
  %583 = call float @llvm.fmuladd.f32(float %529, float %580, float %527)
  %584 = fneg float %581
  %585 = call float @llvm.fmuladd.f32(float %584, float 4.000000e+00, float %583)
  br label %592

586:                                              ; preds = %578
  %587 = call float @llvm.fmuladd.f32(float %526, float %580, float %524)
  %588 = call float @llvm.fmuladd.f32(float %581, float 4.000000e+00, float %587)
  br label %592

589:                                              ; preds = %576
  %590 = call float @llvm.fmuladd.f32(float %522, float %.1877, float %.3726876)
  %591 = fmul float %.1877, 2.000000e+00
  br label %592

592:                                              ; preds = %582, %586, %589
  %.4727 = phi float [ %585, %582 ], [ %588, %586 ], [ %590, %589 ]
  %.2 = phi float [ %.1877, %582 ], [ %.1877, %586 ], [ %591, %589 ]
  %593 = add nuw nsw i32 %.0736875, 1
  %exitcond989.not = icmp eq i32 %593, 7
  br i1 %exitcond989.not, label %594, label %534, !llvm.loop !32

594:                                              ; preds = %592
  store i32 2, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

595:                                              ; preds = %.loopexit
  store i32 %575, ptr %35, align 4, !tbaa !5
  store float %.3726876, ptr %233, align 4, !tbaa !9
  call void @scopy_(ptr noundef nonnull %43, ptr noundef nonnull %22, ptr noundef nonnull @c__1, ptr noundef nonnull %235, ptr noundef nonnull @c__1) #6
  %596 = load i32, ptr %43, align 4, !tbaa !5
  %597 = add nsw i32 %596, -1
  store i32 %597, ptr %35, align 4, !tbaa !5
  %598 = sext i32 %596 to i64
  %gep934 = getelementptr float, ptr %22, i64 %598
  %599 = getelementptr inbounds float, ptr %63, i64 %234
  call void @scopy_(ptr noundef nonnull %35, ptr noundef %gep934, ptr noundef nonnull @c__1, ptr noundef nonnull %599, ptr noundef nonnull @c__1) #6
  br i1 %434, label %.preheader.preheader, label %650

.preheader.preheader:                             ; preds = %595
  store <4 x i32> <i32 1, i32 1, i32 1, i32 1>, ptr %38, align 16, !tbaa !5
  %600 = load i32, ptr %43, align 4, !tbaa !5
  %601 = shl i32 %600, 1
  %602 = add nsw i32 %601, -1
  store i32 %602, ptr %35, align 4, !tbaa !5
  call void @slarnv_(ptr noundef nonnull @c__2, ptr noundef nonnull %38, ptr noundef nonnull %35, ptr noundef nonnull %22) #6
  %603 = load i32, ptr %43, align 4, !tbaa !5
  %.not776.not879 = icmp sgt i32 %603, 1
  br i1 %.not776.not879, label %.lr.ph882, label %.preheader.preheader.._crit_edge883_crit_edge

.preheader.preheader.._crit_edge883_crit_edge:    ; preds = %.preheader.preheader
  %.pre = sext i32 %603 to i64
  br label %._crit_edge883

.lr.ph882:                                        ; preds = %.preheader.preheader
  %604 = add nsw i32 %.0713940, -1
  %605 = zext nneg i32 %603 to i64
  %wide.trip.count997 = zext nneg i32 %603 to i64
  %invariant.gep1089 = getelementptr inbounds float, ptr %54, i64 %605
  %606 = add nsw i64 %wide.trip.count997, -1
  %min.iters.check1275 = icmp ult i32 %603, 9
  br i1 %min.iters.check1275, label %scalar.ph1274.preheader, label %vector.scevcheck1241

vector.scevcheck1241:                             ; preds = %.lr.ph882
  %607 = add nsw i64 %wide.trip.count997, -2
  %608 = trunc i64 %607 to i32
  %609 = add i32 %.0713940, %608
  %610 = icmp slt i32 %609, %.0713940
  %611 = icmp ugt i64 %607, 4294967295
  %612 = or i1 %610, %611
  br i1 %612, label %scalar.ph1274.preheader, label %vector.memcheck1242

vector.memcheck1242:                              ; preds = %vector.scevcheck1241
  %613 = shl nuw nsw i64 %wide.trip.count997, 2
  %scevgep1243 = getelementptr i8, ptr %22, i64 %613
  %614 = shl nuw nsw i64 %wide.trip.count997, 3
  %scevgep1245 = getelementptr i8, ptr %scevgep1244, i64 %614
  %615 = shl nsw i64 %234, 2
  %scevgep1247 = getelementptr i8, ptr %scevgep1246, i64 %615
  %616 = add nsw i64 %615, %613
  %scevgep1249 = getelementptr i8, ptr %scevgep1248, i64 %616
  %scevgep1251 = getelementptr i8, ptr %scevgep1250, i64 %615
  %scevgep1253 = getelementptr i8, ptr %scevgep1252, i64 %616
  %bound01254 = icmp ult ptr %scevgep1243, %scevgep1249
  %bound11255 = icmp ult ptr %scevgep1247, %scevgep1245
  %found.conflict1256 = and i1 %bound01254, %bound11255
  %bound01257 = icmp ult ptr %scevgep1243, %scevgep1253
  %bound11258 = icmp ult ptr %scevgep1251, %scevgep1245
  %found.conflict1259 = and i1 %bound01257, %bound11258
  %conflict.rdx1260 = or i1 %found.conflict1256, %found.conflict1259
  %bound01261 = icmp ugt ptr %scevgep1249, %22
  %bound11262 = icmp ult ptr %scevgep1247, %invariant.gep1089
  %found.conflict1263 = and i1 %bound01261, %bound11262
  %conflict.rdx1264 = or i1 %conflict.rdx1260, %found.conflict1263
  %bound01265 = icmp ugt ptr %scevgep1253, %22
  %bound11266 = icmp ult ptr %scevgep1251, %invariant.gep1089
  %found.conflict1267 = and i1 %bound01265, %bound11266
  %conflict.rdx1268 = or i1 %conflict.rdx1264, %found.conflict1267
  %bound01269 = icmp ult ptr %scevgep1247, %scevgep1253
  %bound11270 = icmp ult ptr %scevgep1251, %scevgep1249
  %found.conflict1271 = and i1 %bound01269, %bound11270
  %conflict.rdx1272 = or i1 %conflict.rdx1268, %found.conflict1271
  br i1 %conflict.rdx1272, label %scalar.ph1274.preheader, label %vector.ph1276

vector.ph1276:                                    ; preds = %vector.memcheck1242
  %n.vec1278 = and i64 %606, -4
  %ind.end1279 = or disjoint i64 %n.vec1278, 1
  br label %vector.body1281

vector.body1281:                                  ; preds = %vector.body1281, %vector.ph1276
  %index1282 = phi i64 [ 0, %vector.ph1276 ], [ %index.next1291, %vector.body1281 ]
  %offset.idx1283 = or disjoint i64 %index1282, 1
  %617 = trunc i64 %index1282 to i32
  %618 = or disjoint i32 %617, 1
  %619 = getelementptr float, ptr %22, i64 %index1282
  %wide.load1285 = load <4 x float>, ptr %619, align 4, !tbaa !9, !alias.scope !33, !noalias !36
  %620 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat1287, <4 x float> %wide.load1285, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>)
  %621 = add i32 %604, %618
  %622 = sext i32 %621 to i64
  %623 = getelementptr inbounds float, ptr %64, i64 %622
  %wide.load1288 = load <4 x float>, ptr %623, align 4, !tbaa !9, !alias.scope !39, !noalias !40
  %624 = fmul <4 x float> %wide.load1288, %620
  store <4 x float> %624, ptr %623, align 4, !tbaa !9, !alias.scope !39, !noalias !40
  %625 = getelementptr inbounds float, ptr %invariant.gep1089, i64 %offset.idx1283
  %wide.load1289 = load <4 x float>, ptr %625, align 4, !tbaa !9, !alias.scope !41, !noalias !36
  %626 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %broadcast.splat1287, <4 x float> %wide.load1289, <4 x float> <float 1.000000e+00, float 1.000000e+00, float 1.000000e+00, float 1.000000e+00>)
  %627 = getelementptr inbounds float, ptr %63, i64 %622
  %wide.load1290 = load <4 x float>, ptr %627, align 4, !tbaa !9, !alias.scope !40
  %628 = fmul <4 x float> %wide.load1290, %626
  store <4 x float> %628, ptr %627, align 4, !tbaa !9, !alias.scope !40
  %index.next1291 = add nuw i64 %index1282, 4
  %629 = icmp eq i64 %index.next1291, %n.vec1278
  br i1 %629, label %middle.block1273, label %vector.body1281, !llvm.loop !43

middle.block1273:                                 ; preds = %vector.body1281
  %cmp.n1292 = icmp eq i64 %606, %n.vec1278
  br i1 %cmp.n1292, label %._crit_edge883, label %scalar.ph1274.preheader

scalar.ph1274.preheader:                          ; preds = %middle.block1273, %vector.memcheck1242, %vector.scevcheck1241, %.lr.ph882
  %indvars.iv994.ph = phi i64 [ 1, %vector.memcheck1242 ], [ 1, %vector.scevcheck1241 ], [ 1, %.lr.ph882 ], [ %ind.end1279, %middle.block1273 ]
  br label %scalar.ph1274

scalar.ph1274:                                    ; preds = %scalar.ph1274.preheader, %scalar.ph1274
  %indvars.iv994 = phi i64 [ %indvars.iv.next995, %scalar.ph1274 ], [ %indvars.iv994.ph, %scalar.ph1274.preheader ]
  %630 = getelementptr inbounds float, ptr %54, i64 %indvars.iv994
  %631 = load float, ptr %630, align 4, !tbaa !9
  %632 = call float @llvm.fmuladd.f32(float %181, float %631, float 1.000000e+00)
  %633 = trunc nuw nsw i64 %indvars.iv994 to i32
  %634 = add i32 %604, %633
  %635 = sext i32 %634 to i64
  %636 = getelementptr inbounds float, ptr %64, i64 %635
  %637 = load float, ptr %636, align 4, !tbaa !9
  %638 = fmul float %637, %632
  store float %638, ptr %636, align 4, !tbaa !9
  %gep1090 = getelementptr inbounds float, ptr %invariant.gep1089, i64 %indvars.iv994
  %639 = load float, ptr %gep1090, align 4, !tbaa !9
  %640 = call float @llvm.fmuladd.f32(float %181, float %639, float 1.000000e+00)
  %641 = getelementptr inbounds float, ptr %63, i64 %635
  %642 = load float, ptr %641, align 4, !tbaa !9
  %643 = fmul float %642, %640
  store float %643, ptr %641, align 4, !tbaa !9
  %indvars.iv.next995 = add nuw nsw i64 %indvars.iv994, 1
  %exitcond998.not = icmp eq i64 %indvars.iv.next995, %wide.trip.count997
  br i1 %exitcond998.not, label %._crit_edge883, label %scalar.ph1274, !llvm.loop !44

._crit_edge883:                                   ; preds = %scalar.ph1274, %middle.block1273, %.preheader.preheader.._crit_edge883_crit_edge
  %.pre-phi = phi i64 [ %.pre, %.preheader.preheader.._crit_edge883_crit_edge ], [ %605, %middle.block1273 ], [ %605, %scalar.ph1274 ]
  %644 = getelementptr inbounds float, ptr %54, i64 %.pre-phi
  %645 = load float, ptr %644, align 4, !tbaa !9
  %646 = call float @llvm.fmuladd.f32(float %181, float %645, float 1.000000e+00)
  %647 = getelementptr inbounds float, ptr %64, i64 %232
  %648 = load float, ptr %647, align 4, !tbaa !9
  %649 = fmul float %648, %646
  store float %649, ptr %647, align 4, !tbaa !9
  br label %650

650:                                              ; preds = %._crit_edge883, %595
  br i1 %.not770, label %651, label %772

651:                                              ; preds = %650
  %.not777917 = icmp sgt i32 %.0708942, %.2739
  br i1 %.not777917, label %._crit_edge921, label %.lr.ph920.preheader

.lr.ph920.preheader:                              ; preds = %651
  %652 = sext i32 %.0708942 to i64
  %653 = add i32 %.2739, 1
  %654 = sub i32 %.2739, %.0708942
  %655 = zext i32 %654 to i64
  %656 = add nuw nsw i64 %655, 1
  %min.iters.check1131 = icmp ult i32 %654, 3
  br i1 %min.iters.check1131, label %.lr.ph920.preheader1354, label %vector.memcheck1123

vector.memcheck1123:                              ; preds = %.lr.ph920.preheader
  %657 = shl nsw i64 %652, 2
  %scevgep1124 = getelementptr i8, ptr %scevgep, i64 %657
  %658 = sub i32 %.2739, %.0708942
  %659 = zext i32 %658 to i64
  %660 = add nsw i64 %652, %659
  %661 = shl nsw i64 %660, 2
  %scevgep1125 = getelementptr i8, ptr %15, i64 %661
  %scevgep1127 = getelementptr i8, ptr %scevgep1126, i64 %657
  %scevgep1128 = getelementptr i8, ptr %16, i64 %661
  %bound0 = icmp ult ptr %scevgep1124, %scevgep1128
  %bound1 = icmp ult ptr %scevgep1127, %scevgep1125
  %found.conflict = and i1 %bound0, %bound1
  br i1 %found.conflict, label %.lr.ph920.preheader1354, label %vector.ph1132

vector.ph1132:                                    ; preds = %vector.memcheck1123
  %n.vec1134 = and i64 %656, 8589934588
  %ind.end1135 = add nsw i64 %n.vec1134, %652
  %broadcast.splatinsert = insertelement <4 x float> poison, float %.3726876, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body1137

vector.body1137:                                  ; preds = %vector.body1137, %vector.ph1132
  %index1138 = phi i64 [ 0, %vector.ph1132 ], [ %index.next1144, %vector.body1137 ]
  %offset.idx1139 = add i64 %index1138, %652
  %662 = getelementptr inbounds float, ptr %60, i64 %offset.idx1139
  %wide.load1140 = load <4 x float>, ptr %662, align 4, !tbaa !9, !alias.scope !45, !noalias !48
  %663 = fsub <4 x float> %wide.load1140, %broadcast.splat
  store <4 x float> %663, ptr %662, align 4, !tbaa !9, !alias.scope !45, !noalias !48
  %664 = fcmp oge <4 x float> %663, zeroinitializer
  %665 = fneg <4 x float> %663
  %666 = select <4 x i1> %664, <4 x float> %663, <4 x float> %665
  %667 = getelementptr inbounds float, ptr %59, i64 %offset.idx1139
  %wide.load1141 = load <4 x float>, ptr %667, align 4, !tbaa !9, !alias.scope !48
  %668 = call <4 x float> @llvm.fmuladd.v4f32(<4 x float> %666, <4 x float> %broadcast.splat1143, <4 x float> %wide.load1141)
  store <4 x float> %668, ptr %667, align 4, !tbaa !9, !alias.scope !48
  %index.next1144 = add nuw i64 %index1138, 4
  %669 = icmp eq i64 %index.next1144, %n.vec1134
  br i1 %669, label %middle.block1129, label %vector.body1137, !llvm.loop !50

middle.block1129:                                 ; preds = %vector.body1137
  %cmp.n1145 = icmp eq i64 %656, %n.vec1134
  br i1 %cmp.n1145, label %._crit_edge921, label %.lr.ph920.preheader1354

.lr.ph920.preheader1354:                          ; preds = %middle.block1129, %vector.memcheck1123, %.lr.ph920.preheader
  %indvars.iv1031.ph = phi i64 [ %652, %vector.memcheck1123 ], [ %652, %.lr.ph920.preheader ], [ %ind.end1135, %middle.block1129 ]
  br label %.lr.ph920

.lr.ph920:                                        ; preds = %.lr.ph920.preheader1354, %.lr.ph920
  %indvars.iv1031 = phi i64 [ %indvars.iv.next1032, %.lr.ph920 ], [ %indvars.iv1031.ph, %.lr.ph920.preheader1354 ]
  %670 = getelementptr inbounds float, ptr %60, i64 %indvars.iv1031
  %671 = load float, ptr %670, align 4, !tbaa !9
  %672 = fsub float %671, %.3726876
  store float %672, ptr %670, align 4, !tbaa !9
  %673 = fcmp oge float %672, 0.000000e+00
  %674 = fneg float %672
  %675 = select i1 %673, float %672, float %674
  %676 = getelementptr inbounds float, ptr %59, i64 %indvars.iv1031
  %677 = load float, ptr %676, align 4, !tbaa !9
  %678 = call float @llvm.fmuladd.f32(float %675, float %77, float %677)
  store float %678, ptr %676, align 4, !tbaa !9
  %indvars.iv.next1032 = add nsw i64 %indvars.iv1031, 1
  %lftr.wideiv1034 = trunc i64 %indvars.iv.next1032 to i32
  %exitcond1035.not = icmp eq i32 %653, %lftr.wideiv1034
  br i1 %exitcond1035.not, label %._crit_edge921, label %.lr.ph920, !llvm.loop !51

._crit_edge921:                                   ; preds = %.lr.ph920, %middle.block1129, %651
  %.not778.not922 = icmp slt i32 %.0713940, %190
  br i1 %.not778.not922, label %.lr.ph925.preheader, label %._crit_edge926

.lr.ph925.preheader:                              ; preds = %._crit_edge921
  %679 = sub nsw i64 %232, %234
  %min.iters.check1109 = icmp ult i64 %679, 8
  %brmerge1399 = or i1 %min.iters.check1109, %conflict.rdx1106
  br i1 %brmerge1399, label %.lr.ph925.preheader1353, label %vector.ph1110

vector.ph1110:                                    ; preds = %.lr.ph925.preheader
  %n.vec1112 = and i64 %679, -8
  %ind.end1113 = add nsw i64 %n.vec1112, %234
  br label %vector.body1115

vector.body1115:                                  ; preds = %vector.body1115, %vector.ph1110
  %index1116 = phi i64 [ 0, %vector.ph1110 ], [ %index.next1121, %vector.body1115 ]
  %offset.idx1117 = add i64 %index1116, %234
  %680 = getelementptr inbounds float, ptr %63, i64 %offset.idx1117
  %681 = getelementptr inbounds i8, ptr %680, i64 16
  %wide.load = load <4 x float>, ptr %680, align 4, !tbaa !9
  %wide.load1118 = load <4 x float>, ptr %681, align 4, !tbaa !9
  %682 = getelementptr inbounds float, ptr %64, i64 %offset.idx1117
  %683 = getelementptr inbounds i8, ptr %682, i64 16
  %wide.load1119 = load <4 x float>, ptr %682, align 4, !tbaa !9
  %wide.load1120 = load <4 x float>, ptr %683, align 4, !tbaa !9
  %684 = fmul <4 x float> %wide.load, %wide.load
  %685 = fmul <4 x float> %wide.load1118, %wide.load1118
  %686 = fmul <4 x float> %wide.load1119, %684
  %687 = fmul <4 x float> %wide.load1120, %685
  %688 = getelementptr inbounds float, ptr %54, i64 %offset.idx1117
  %689 = getelementptr inbounds i8, ptr %688, i64 16
  store <4 x float> %686, ptr %688, align 4, !tbaa !9
  store <4 x float> %687, ptr %689, align 4, !tbaa !9
  %index.next1121 = add nuw i64 %index1116, 8
  %690 = icmp eq i64 %index.next1121, %n.vec1112
  br i1 %690, label %middle.block1107, label %vector.body1115, !llvm.loop !52

middle.block1107:                                 ; preds = %vector.body1115
  %cmp.n1122 = icmp eq i64 %679, %n.vec1112
  br i1 %cmp.n1122, label %._crit_edge926, label %.lr.ph925.preheader1353

.lr.ph925.preheader1353:                          ; preds = %.lr.ph925.preheader, %middle.block1107
  %indvars.iv1036.ph = phi i64 [ %234, %.lr.ph925.preheader ], [ %ind.end1113, %middle.block1107 ]
  %691 = sub nsw i64 %232, %indvars.iv1036.ph
  %xtraiter1378 = and i64 %691, 1
  %lcmp.mod1379.not = icmp eq i64 %xtraiter1378, 0
  br i1 %lcmp.mod1379.not, label %.lr.ph925.prol.loopexit, label %.lr.ph925.prol

.lr.ph925.prol:                                   ; preds = %.lr.ph925.preheader1353
  %692 = getelementptr inbounds float, ptr %63, i64 %indvars.iv1036.ph
  %693 = load float, ptr %692, align 4, !tbaa !9
  %694 = getelementptr inbounds float, ptr %64, i64 %indvars.iv1036.ph
  %695 = load float, ptr %694, align 4, !tbaa !9
  %696 = fmul float %693, %693
  %697 = fmul float %695, %696
  %698 = getelementptr inbounds float, ptr %54, i64 %indvars.iv1036.ph
  store float %697, ptr %698, align 4, !tbaa !9
  %indvars.iv.next1037.prol = add nsw i64 %indvars.iv1036.ph, 1
  br label %.lr.ph925.prol.loopexit

.lr.ph925.prol.loopexit:                          ; preds = %.lr.ph925.prol, %.lr.ph925.preheader1353
  %indvars.iv1036.unr = phi i64 [ %indvars.iv1036.ph, %.lr.ph925.preheader1353 ], [ %indvars.iv.next1037.prol, %.lr.ph925.prol ]
  %699 = add nsw i64 %232, -1
  %700 = icmp eq i64 %indvars.iv1036.ph, %699
  br i1 %700, label %._crit_edge926, label %.lr.ph925

.lr.ph925:                                        ; preds = %.lr.ph925.prol.loopexit, %.lr.ph925
  %indvars.iv1036 = phi i64 [ %indvars.iv.next1037.1, %.lr.ph925 ], [ %indvars.iv1036.unr, %.lr.ph925.prol.loopexit ]
  %701 = getelementptr inbounds float, ptr %63, i64 %indvars.iv1036
  %702 = load float, ptr %701, align 4, !tbaa !9
  %703 = getelementptr inbounds float, ptr %64, i64 %indvars.iv1036
  %704 = load float, ptr %703, align 4, !tbaa !9
  %705 = fmul float %702, %702
  %706 = fmul float %704, %705
  %707 = getelementptr inbounds float, ptr %54, i64 %indvars.iv1036
  store float %706, ptr %707, align 4, !tbaa !9
  %708 = getelementptr float, ptr %7, i64 %indvars.iv1036
  %709 = load float, ptr %708, align 4, !tbaa !9
  %710 = getelementptr float, ptr %6, i64 %indvars.iv1036
  %711 = load float, ptr %710, align 4, !tbaa !9
  %712 = fmul float %709, %709
  %713 = fmul float %711, %712
  %714 = getelementptr float, ptr %22, i64 %indvars.iv1036
  store float %713, ptr %714, align 4, !tbaa !9
  %indvars.iv.next1037.1 = add nsw i64 %indvars.iv1036, 2
  %exitcond1040.not.1 = icmp eq i64 %indvars.iv.next1037.1, %232
  br i1 %exitcond1040.not.1, label %._crit_edge926, label %.lr.ph925, !llvm.loop !53

._crit_edge926:                                   ; preds = %.lr.ph925.prol.loopexit, %.lr.ph925, %middle.block1107, %._crit_edge921
  %715 = load i32, ptr %36, align 4, !tbaa !5
  %716 = add nsw i32 %715, -1
  store i32 %716, ptr %35, align 4, !tbaa !5
  %717 = getelementptr inbounds float, ptr %54, i64 %234
  %718 = sext i32 %.0708942 to i64
  %719 = getelementptr inbounds float, ptr %60, i64 %718
  %720 = getelementptr inbounds float, ptr %58, i64 %718
  %721 = getelementptr inbounds float, ptr %59, i64 %718
  %722 = load i32, ptr %1, align 4, !tbaa !5
  %723 = shl i32 %722, 1
  %724 = or disjoint i32 %723, 1
  %725 = sext i32 %724 to i64
  %726 = getelementptr inbounds float, ptr %54, i64 %725
  call void @slarrb_(ptr noundef nonnull %43, ptr noundef nonnull %235, ptr noundef nonnull %717, ptr noundef nonnull %36, ptr noundef nonnull %37, ptr noundef %9, ptr noundef %10, ptr noundef nonnull %35, ptr noundef nonnull %719, ptr noundef nonnull %720, ptr noundef nonnull %721, ptr noundef nonnull %726, ptr noundef %23, ptr noundef nonnull %21, ptr noundef nonnull %46, ptr noundef nonnull %43, ptr noundef nonnull %39) #6
  %727 = load i32, ptr %39, align 4, !tbaa !5
  %.not779 = icmp eq i32 %727, 0
  br i1 %.not779, label %729, label %728

728:                                              ; preds = %._crit_edge926
  store i32 -4, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

729:                                              ; preds = %._crit_edge926
  %730 = load float, ptr %3, align 4, !tbaa !9
  %731 = fsub float %730, %.3726876
  %732 = sext i32 %.2739 to i64
  %733 = getelementptr inbounds float, ptr %60, i64 %732
  %734 = load float, ptr %733, align 4, !tbaa !9
  %735 = getelementptr inbounds float, ptr %59, i64 %732
  %736 = load float, ptr %735, align 4, !tbaa !9
  %737 = fadd float %734, %736
  %738 = fsub float %731, %737
  %739 = fcmp ole float %738, 0.000000e+00
  %740 = select i1 %739, float 0.000000e+00, float %738
  %741 = getelementptr inbounds float, ptr %58, i64 %732
  store float %740, ptr %741, align 4, !tbaa !9
  %742 = load i32, ptr %37, align 4, !tbaa !5
  store i32 %742, ptr %35, align 4, !tbaa !5
  %743 = load i32, ptr %36, align 4, !tbaa !5
  %.not780927 = icmp sgt i32 %743, %742
  br i1 %.not780927, label %.loopexit817, label %.lr.ph930.preheader

.lr.ph930.preheader:                              ; preds = %729
  %744 = trunc nuw nsw i64 %indvars.iv1042 to i32
  %745 = add i32 %742, %743
  %746 = and i32 %745, 1
  %lcmp.mod1381.not.not = icmp eq i32 %746, 0
  br i1 %lcmp.mod1381.not.not, label %.lr.ph930.prol, label %.lr.ph930.prol.loopexit

.lr.ph930.prol:                                   ; preds = %.lr.ph930.preheader
  %747 = load i32, ptr %14, align 4, !tbaa !5
  %748 = add nsw i32 %747, 1
  store i32 %748, ptr %14, align 4, !tbaa !5
  %749 = sext i32 %748 to i64
  %750 = getelementptr inbounds i32, ptr %57, i64 %749
  store i32 %744, ptr %750, align 4, !tbaa !5
  %751 = load i32, ptr %14, align 4, !tbaa !5
  %752 = sext i32 %751 to i64
  %753 = getelementptr inbounds i32, ptr %56, i64 %752
  store i32 %743, ptr %753, align 4, !tbaa !5
  %754 = add i32 %743, 1
  br label %.lr.ph930.prol.loopexit

.lr.ph930.prol.loopexit:                          ; preds = %.lr.ph930.prol, %.lr.ph930.preheader
  %.10928.unr = phi i32 [ %743, %.lr.ph930.preheader ], [ %754, %.lr.ph930.prol ]
  %755 = icmp eq i32 %742, %743
  br i1 %755, label %.loopexit817, label %.lr.ph930

.lr.ph930:                                        ; preds = %.lr.ph930.prol.loopexit, %.lr.ph930
  %.10928 = phi i32 [ %771, %.lr.ph930 ], [ %.10928.unr, %.lr.ph930.prol.loopexit ]
  %756 = load i32, ptr %14, align 4, !tbaa !5
  %757 = add nsw i32 %756, 1
  store i32 %757, ptr %14, align 4, !tbaa !5
  %758 = sext i32 %757 to i64
  %759 = getelementptr inbounds i32, ptr %57, i64 %758
  store i32 %744, ptr %759, align 4, !tbaa !5
  %760 = load i32, ptr %14, align 4, !tbaa !5
  %761 = sext i32 %760 to i64
  %762 = getelementptr inbounds i32, ptr %56, i64 %761
  store i32 %.10928, ptr %762, align 4, !tbaa !5
  %763 = add i32 %.10928, 1
  %764 = load i32, ptr %14, align 4, !tbaa !5
  %765 = add nsw i32 %764, 1
  store i32 %765, ptr %14, align 4, !tbaa !5
  %766 = sext i32 %765 to i64
  %767 = getelementptr inbounds i32, ptr %57, i64 %766
  store i32 %744, ptr %767, align 4, !tbaa !5
  %768 = load i32, ptr %14, align 4, !tbaa !5
  %769 = sext i32 %768 to i64
  %770 = getelementptr inbounds i32, ptr %56, i64 %769
  store i32 %763, ptr %770, align 4, !tbaa !5
  %771 = add i32 %.10928, 2
  %exitcond1041.not.1 = icmp eq i32 %763, %742
  br i1 %exitcond1041.not.1, label %.loopexit817, label %.lr.ph930, !llvm.loop !54

772:                                              ; preds = %650
  %773 = load i32, ptr %43, align 4, !tbaa !5
  %774 = sitofp i32 %773 to float
  %775 = fpext float %774 to double
  %776 = call double @log(double noundef %775) #6
  %777 = fmul double %776, 4.000000e+00
  %778 = fmul double %777, %79
  %779 = fptrunc double %778 to float
  %780 = load i32, ptr %43, align 4, !tbaa !5
  %781 = add nsw i32 %780, -1
  store i32 %781, ptr %35, align 4, !tbaa !5
  %.not781.not886 = icmp sgt i32 %780, 1
  br i1 %.not781.not886, label %.lr.ph890.preheader, label %._crit_edge891

.lr.ph890.preheader:                              ; preds = %772
  %wide.trip.count1006 = zext nneg i32 %780 to i64
  %782 = add nsw i64 %wide.trip.count1006, -1
  %min.iters.check1225 = icmp ult i32 %780, 9
  br i1 %min.iters.check1225, label %.lr.ph890.preheader1358, label %vector.scevcheck

vector.scevcheck:                                 ; preds = %.lr.ph890.preheader
  %783 = add nsw i64 %wide.trip.count1006, -2
  %mul.overflow = icmp ugt i64 %783, 2147483647
  %784 = trunc i64 %783 to i31
  %785 = icmp ugt i31 %784, 1073741822
  %786 = or i1 %785, %mul.overflow
  br i1 %786, label %.lr.ph890.preheader1358, label %vector.memcheck1205

vector.memcheck1205:                              ; preds = %vector.scevcheck
  %787 = shl nuw nsw i64 %wide.trip.count1006, 3
  %scevgep1207 = getelementptr i8, ptr %scevgep1206, i64 %787
  %788 = shl nsw i64 %234, 2
  %scevgep1209 = getelementptr i8, ptr %scevgep1208, i64 %788
  %789 = add nsw i64 %234, %wide.trip.count1006
  %790 = shl nsw i64 %789, 2
  %scevgep1211 = getelementptr i8, ptr %scevgep1210, i64 %790
  %scevgep1213 = getelementptr i8, ptr %scevgep1212, i64 %788
  %scevgep1215 = getelementptr i8, ptr %scevgep1214, i64 %790
  %bound01216 = icmp ugt ptr %scevgep1211, %22
  %bound11217 = icmp ult ptr %scevgep1209, %scevgep1207
  %found.conflict1218 = and i1 %bound01216, %bound11217
  %bound01219 = icmp ugt ptr %scevgep1215, %22
  %bound11220 = icmp ult ptr %scevgep1213, %scevgep1207
  %found.conflict1221 = and i1 %bound01219, %bound11220
  %conflict.rdx1222 = or i1 %found.conflict1218, %found.conflict1221
  br i1 %conflict.rdx1222, label %.lr.ph890.preheader1358, label %vector.ph1226

vector.ph1226:                                    ; preds = %vector.memcheck1205
  %n.vec1228 = and i64 %782, -4
  %ind.end1229 = or disjoint i64 %n.vec1228, 1
  %ind.end1231 = add nsw i64 %n.vec1228, %234
  br label %vector.body1233

vector.body1233:                                  ; preds = %vector.body1233, %vector.ph1226
  %index1234 = phi i64 [ 0, %vector.ph1226 ], [ %index.next1239, %vector.body1233 ]
  %offset.idx1236 = add i64 %index1234, %234
  %791 = getelementptr inbounds float, ptr %64, i64 %offset.idx1236
  %wide.load1237 = load <4 x float>, ptr %791, align 4, !tbaa !9, !alias.scope !55
  %792 = fcmp oge <4 x float> %wide.load1237, zeroinitializer
  %793 = fneg <4 x float> %wide.load1237
  %794 = select <4 x i1> %792, <4 x float> %wide.load1237, <4 x float> %793
  %795 = getelementptr inbounds float, ptr %63, i64 %offset.idx1236
  %wide.load1238 = load <4 x float>, ptr %795, align 4, !tbaa !9, !alias.scope !58
  %796 = fmul <4 x float> %wide.load1238, %wide.load1238
  %797 = fmul <4 x float> %794, %796
  %offset.idx1235 = shl i64 %index1234, 3
  %798 = or disjoint i64 %offset.idx1235, 8
  %gep1398 = getelementptr i8, ptr %invariant.gep1397, i64 %798
  %interleaved.vec = shufflevector <4 x float> %794, <4 x float> %797, <8 x i32> <i32 0, i32 4, i32 1, i32 5, i32 2, i32 6, i32 3, i32 7>
  store <8 x float> %interleaved.vec, ptr %gep1398, align 4, !tbaa !9
  %index.next1239 = add nuw i64 %index1234, 4
  %799 = icmp eq i64 %index.next1239, %n.vec1228
  br i1 %799, label %middle.block1223, label %vector.body1233, !llvm.loop !60

middle.block1223:                                 ; preds = %vector.body1233
  %cmp.n1240 = icmp eq i64 %782, %n.vec1228
  br i1 %cmp.n1240, label %._crit_edge891, label %.lr.ph890.preheader1358

.lr.ph890.preheader1358:                          ; preds = %middle.block1223, %vector.memcheck1205, %vector.scevcheck, %.lr.ph890.preheader
  %indvars.iv1001.ph = phi i64 [ 1, %vector.memcheck1205 ], [ 1, %vector.scevcheck ], [ 1, %.lr.ph890.preheader ], [ %ind.end1229, %middle.block1223 ]
  %indvars.iv999.ph = phi i64 [ %234, %vector.memcheck1205 ], [ %234, %vector.scevcheck ], [ %234, %.lr.ph890.preheader ], [ %ind.end1231, %middle.block1223 ]
  br label %.lr.ph890

.lr.ph890:                                        ; preds = %.lr.ph890.preheader1358, %.lr.ph890
  %indvars.iv1001 = phi i64 [ %indvars.iv.next1002, %.lr.ph890 ], [ %indvars.iv1001.ph, %.lr.ph890.preheader1358 ]
  %indvars.iv999 = phi i64 [ %indvars.iv.next1000, %.lr.ph890 ], [ %indvars.iv999.ph, %.lr.ph890.preheader1358 ]
  %800 = getelementptr inbounds float, ptr %64, i64 %indvars.iv999
  %801 = load float, ptr %800, align 4, !tbaa !9
  %802 = fcmp oge float %801, 0.000000e+00
  %803 = fneg float %801
  %804 = select i1 %802, float %801, float %803
  %sext1049 = shl i64 %indvars.iv1001, 33
  %805 = ashr exact i64 %sext1049, 30
  %gep885 = getelementptr i8, ptr %invariant.gep884, i64 %805
  store float %804, ptr %gep885, align 4, !tbaa !9
  %806 = getelementptr inbounds float, ptr %63, i64 %indvars.iv999
  %807 = load float, ptr %806, align 4, !tbaa !9
  %808 = fmul float %807, %807
  %809 = fmul float %804, %808
  %.idx1050 = shl i64 %indvars.iv1001, 3
  %810 = getelementptr inbounds i8, ptr %54, i64 %.idx1050
  store float %809, ptr %810, align 4, !tbaa !9
  %indvars.iv.next1000 = add nsw i64 %indvars.iv999, 1
  %indvars.iv.next1002 = add nuw nsw i64 %indvars.iv1001, 1
  %exitcond1007.not = icmp eq i64 %indvars.iv.next1002, %wide.trip.count1006
  br i1 %exitcond1007.not, label %._crit_edge891, label %.lr.ph890, !llvm.loop !61

._crit_edge891:                                   ; preds = %.lr.ph890, %middle.block1223, %772
  %811 = getelementptr inbounds float, ptr %64, i64 %232
  %812 = load float, ptr %811, align 4, !tbaa !9
  %813 = fcmp oge float %812, 0.000000e+00
  %814 = fneg float %812
  %815 = select i1 %813, float %812, float %814
  %816 = shl i32 %780, 1
  %817 = sext i32 %816 to i64
  %818 = getelementptr float, ptr %54, i64 %817
  %819 = getelementptr i8, ptr %818, i64 -4
  store float %815, ptr %819, align 4, !tbaa !9
  store float 0.000000e+00, ptr %818, align 4, !tbaa !9
  call void @slasq2_(ptr noundef nonnull %43, ptr noundef nonnull %22, ptr noundef nonnull %39) #6
  %820 = load i32, ptr %39, align 4, !tbaa !5
  %.not782 = icmp eq i32 %820, 0
  br i1 %.not782, label %822, label %821

821:                                              ; preds = %._crit_edge891
  store i32 -5, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

822:                                              ; preds = %._crit_edge891
  %823 = load i32, ptr %43, align 4, !tbaa !5
  %.not783892 = icmp slt i32 %823, 1
  br i1 %.not783892, label %._crit_edge896, label %.lr.ph895.preheader

.lr.ph895.preheader:                              ; preds = %822
  %824 = add nuw i32 %823, 1
  %wide.trip.count1011 = zext i32 %824 to i64
  br label %.lr.ph895

825:                                              ; preds = %.lr.ph895
  %indvars.iv.next1009 = add nuw nsw i64 %indvars.iv1008, 1
  %exitcond1012.not = icmp eq i64 %indvars.iv.next1009, %wide.trip.count1011
  br i1 %exitcond1012.not, label %._crit_edge896, label %.lr.ph895, !llvm.loop !62

.lr.ph895:                                        ; preds = %.lr.ph895.preheader, %825
  %indvars.iv1008 = phi i64 [ 1, %.lr.ph895.preheader ], [ %indvars.iv.next1009, %825 ]
  %826 = getelementptr inbounds float, ptr %54, i64 %indvars.iv1008
  %827 = load float, ptr %826, align 4, !tbaa !9
  %828 = fcmp olt float %827, 0.000000e+00
  br i1 %828, label %829, label %825

829:                                              ; preds = %.lr.ph895
  store i32 -6, ptr %24, align 4, !tbaa !5
  br label %.loopexit820

._crit_edge896:                                   ; preds = %825, %822
  %830 = fcmp ogt float %.0711803, 0.000000e+00
  %831 = load i32, ptr %37, align 4, !tbaa !5
  %832 = load i32, ptr %36, align 4, !tbaa !5
  %.not785903 = icmp sgt i32 %832, %831
  br i1 %830, label %833, label %849

833:                                              ; preds = %._crit_edge896
  br i1 %.not785903, label %.loopexit818, label %.lr.ph906.preheader

.lr.ph906.preheader:                              ; preds = %833
  %834 = sext i32 %832 to i64
  %835 = sext i32 %823 to i64
  %836 = add i32 %831, 1
  %837 = trunc nuw nsw i64 %indvars.iv1042 to i32
  br label %.lr.ph906

.lr.ph906:                                        ; preds = %.lr.ph906.preheader, %.lr.ph906
  %indvars.iv1018 = phi i64 [ %834, %.lr.ph906.preheader ], [ %indvars.iv.next1019, %.lr.ph906 ]
  %838 = load i32, ptr %14, align 4, !tbaa !5
  %839 = add nsw i32 %838, 1
  store i32 %839, ptr %14, align 4, !tbaa !5
  %840 = sub nsw i64 %835, %indvars.iv1018
  %gep902 = getelementptr float, ptr %22, i64 %840
  %841 = load float, ptr %gep902, align 4, !tbaa !9
  %842 = sext i32 %839 to i64
  %843 = getelementptr inbounds float, ptr %60, i64 %842
  store float %841, ptr %843, align 4, !tbaa !9
  %844 = getelementptr inbounds i32, ptr %57, i64 %842
  store i32 %837, ptr %844, align 4, !tbaa !5
  %845 = load i32, ptr %14, align 4, !tbaa !5
  %846 = sext i32 %845 to i64
  %847 = getelementptr inbounds i32, ptr %56, i64 %846
  %848 = trunc nsw i64 %indvars.iv1018 to i32
  store i32 %848, ptr %847, align 4, !tbaa !5
  %indvars.iv.next1019 = add nsw i64 %indvars.iv1018, 1
  %lftr.wideiv1021 = trunc i64 %indvars.iv.next1019 to i32
  %exitcond1022.not = icmp eq i32 %836, %lftr.wideiv1021
  br i1 %exitcond1022.not, label %.loopexit818, label %.lr.ph906, !llvm.loop !63

849:                                              ; preds = %._crit_edge896
  br i1 %.not785903, label %.loopexit818, label %.lr.ph900.preheader

.lr.ph900.preheader:                              ; preds = %849
  %850 = sext i32 %832 to i64
  %851 = add i32 %831, 1
  %852 = trunc nuw nsw i64 %indvars.iv1042 to i32
  br label %.lr.ph900

.lr.ph900:                                        ; preds = %.lr.ph900.preheader, %.lr.ph900
  %indvars.iv1013 = phi i64 [ %850, %.lr.ph900.preheader ], [ %indvars.iv.next1014, %.lr.ph900 ]
  %853 = load i32, ptr %14, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr %14, align 4, !tbaa !5
  %855 = getelementptr inbounds float, ptr %54, i64 %indvars.iv1013
  %856 = load float, ptr %855, align 4, !tbaa !9
  %857 = fneg float %856
  %858 = sext i32 %854 to i64
  %859 = getelementptr inbounds float, ptr %60, i64 %858
  store float %857, ptr %859, align 4, !tbaa !9
  %860 = getelementptr inbounds i32, ptr %57, i64 %858
  store i32 %852, ptr %860, align 4, !tbaa !5
  %861 = load i32, ptr %14, align 4, !tbaa !5
  %862 = sext i32 %861 to i64
  %863 = getelementptr inbounds i32, ptr %56, i64 %862
  %864 = trunc nsw i64 %indvars.iv1013 to i32
  store i32 %864, ptr %863, align 4, !tbaa !5
  %indvars.iv.next1014 = add nsw i64 %indvars.iv1013, 1
  %lftr.wideiv1016 = trunc i64 %indvars.iv.next1014 to i32
  %exitcond1017.not = icmp eq i32 %851, %lftr.wideiv1016
  br i1 %exitcond1017.not, label %.loopexit818, label %.lr.ph900, !llvm.loop !64

.loopexit818:                                     ; preds = %.lr.ph900, %.lr.ph906, %849, %833
  %865 = load i32, ptr %14, align 4, !tbaa !5
  %866 = sub i32 %865, %.3718
  %.not786.not907 = icmp sgt i32 %.3718, 0
  br i1 %.not786.not907, label %.lr.ph910.preheader, label %._crit_edge911

.lr.ph910.preheader:                              ; preds = %.loopexit818
  %867 = sext i32 %866 to i64
  %868 = sext i32 %865 to i64
  %869 = add nsw i64 %867, 1
  %smax = call i64 @llvm.smax.i64(i64 %869, i64 %868)
  %870 = sub i64 %smax, %867
  %min.iters.check1190 = icmp ult i64 %870, 8
  %or.cond = or i1 %min.iters.check1190, %diff.check1187
  br i1 %or.cond, label %.lr.ph910.preheader1356, label %vector.ph1191

vector.ph1191:                                    ; preds = %.lr.ph910.preheader
  %n.vec1193 = and i64 %870, -8
  %ind.end1194 = add i64 %n.vec1193, %867
  %broadcast.splatinsert1201 = insertelement <4 x float> poison, float %779, i64 0
  %broadcast.splat1202 = shufflevector <4 x float> %broadcast.splatinsert1201, <4 x float> poison, <4 x i32> zeroinitializer
  br label %vector.body1196

vector.body1196:                                  ; preds = %vector.body1196, %vector.ph1191
  %index1197 = phi i64 [ 0, %vector.ph1191 ], [ %index.next1203, %vector.body1196 ]
  %offset.idx1198 = add i64 %index1197, %867
  %871 = getelementptr float, ptr %15, i64 %offset.idx1198
  %872 = getelementptr i8, ptr %871, i64 16
  %wide.load1199 = load <4 x float>, ptr %871, align 4, !tbaa !9
  %wide.load1200 = load <4 x float>, ptr %872, align 4, !tbaa !9
  %873 = fcmp oge <4 x float> %wide.load1199, zeroinitializer
  %874 = fcmp oge <4 x float> %wide.load1200, zeroinitializer
  %875 = fneg <4 x float> %wide.load1199
  %876 = fneg <4 x float> %wide.load1200
  %877 = select <4 x i1> %873, <4 x float> %wide.load1199, <4 x float> %875
  %878 = select <4 x i1> %874, <4 x float> %wide.load1200, <4 x float> %876
  %879 = fmul <4 x float> %877, %broadcast.splat1202
  %880 = fmul <4 x float> %878, %broadcast.splat1202
  %881 = getelementptr float, ptr %16, i64 %offset.idx1198
  %882 = getelementptr i8, ptr %881, i64 16
  store <4 x float> %879, ptr %881, align 4, !tbaa !9
  store <4 x float> %880, ptr %882, align 4, !tbaa !9
  %index.next1203 = add nuw i64 %index1197, 8
  %883 = icmp eq i64 %index.next1203, %n.vec1193
  br i1 %883, label %middle.block1188, label %vector.body1196, !llvm.loop !65

middle.block1188:                                 ; preds = %vector.body1196
  %cmp.n1204 = icmp eq i64 %870, %n.vec1193
  br i1 %cmp.n1204, label %._crit_edge911, label %.lr.ph910.preheader1356

.lr.ph910.preheader1356:                          ; preds = %middle.block1188, %.lr.ph910.preheader
  %indvars.iv1023.ph = phi i64 [ %867, %.lr.ph910.preheader ], [ %ind.end1194, %middle.block1188 ]
  br label %.lr.ph910

.lr.ph910:                                        ; preds = %.lr.ph910.preheader1356, %.lr.ph910
  %indvars.iv1023 = phi i64 [ %indvars.iv.next1024, %.lr.ph910 ], [ %indvars.iv1023.ph, %.lr.ph910.preheader1356 ]
  %indvars.iv.next1024 = add nsw i64 %indvars.iv1023, 1
  %884 = getelementptr float, ptr %15, i64 %indvars.iv1023
  %885 = load float, ptr %884, align 4, !tbaa !9
  %886 = fcmp oge float %885, 0.000000e+00
  %887 = fneg float %885
  %888 = select i1 %886, float %885, float %887
  %889 = fmul float %888, %779
  %890 = getelementptr float, ptr %16, i64 %indvars.iv1023
  store float %889, ptr %890, align 4, !tbaa !9
  %.not786.not = icmp slt i64 %indvars.iv.next1024, %868
  br i1 %.not786.not, label %.lr.ph910, label %._crit_edge911, !llvm.loop !66

._crit_edge911:                                   ; preds = %.lr.ph910, %middle.block1188, %.loopexit818
  %891 = add nsw i32 %865, -1
  store i32 %891, ptr %35, align 4, !tbaa !5
  %892 = add nsw i32 %866, 1
  %.not787.not912 = icmp slt i32 %892, %865
  br i1 %.not787.not912, label %.lr.ph915.preheader, label %._crit_edge916

.lr.ph915.preheader:                              ; preds = %._crit_edge911
  %893 = sext i32 %892 to i64
  %894 = add i32 %.3718, -2
  %895 = zext i32 %894 to i64
  %896 = add nuw nsw i64 %895, 1
  %min.iters.check1167 = icmp ult i32 %894, 7
  br i1 %min.iters.check1167, label %.lr.ph915.preheader1355, label %vector.memcheck1146

vector.memcheck1146:                              ; preds = %.lr.ph915.preheader
  %897 = shl nsw i64 %893, 2
  %scevgep1148 = getelementptr i8, ptr %scevgep1147, i64 %897
  %898 = add i32 %.3718, -2
  %899 = zext i32 %898 to i64
  %900 = add nsw i64 %893, %899
  %901 = shl nsw i64 %900, 2
  %scevgep1149 = getelementptr i8, ptr %17, i64 %901
  %scevgep1151 = getelementptr i8, ptr %scevgep1150, i64 %897
  %scevgep1153 = getelementptr i8, ptr %scevgep1152, i64 %901
  %scevgep1155 = getelementptr i8, ptr %scevgep1154, i64 %897
  %scevgep1157 = getelementptr i8, ptr %scevgep1156, i64 %901
  %bound01158 = icmp ult ptr %scevgep1148, %scevgep1153
  %bound11159 = icmp ult ptr %scevgep1151, %scevgep1149
  %found.conflict1160 = and i1 %bound01158, %bound11159
  %bound01161 = icmp ult ptr %scevgep1148, %scevgep1157
  %bound11162 = icmp ult ptr %scevgep1155, %scevgep1149
  %found.conflict1163 = and i1 %bound01161, %bound11162
  %conflict.rdx1164 = or i1 %found.conflict1160, %found.conflict1163
  br i1 %conflict.rdx1164, label %.lr.ph915.preheader1355, label %vector.ph1168

vector.ph1168:                                    ; preds = %vector.memcheck1146
  %n.vec1170 = and i64 %896, 8589934584
  %ind.end1171 = add nsw i64 %n.vec1170, %893
  br label %vector.body1173

vector.body1173:                                  ; preds = %vector.body1173, %vector.ph1168
  %index1174 = phi i64 [ 0, %vector.ph1168 ], [ %index.next1184, %vector.body1173 ]
  %offset.idx1175 = add i64 %index1174, %893
  %902 = getelementptr float, ptr %15, i64 %offset.idx1175
  %903 = getelementptr i8, ptr %902, i64 16
  %wide.load1176 = load <4 x float>, ptr %902, align 4, !tbaa !9, !alias.scope !67
  %wide.load1177 = load <4 x float>, ptr %903, align 4, !tbaa !9, !alias.scope !67
  %904 = getelementptr float, ptr %16, i64 %offset.idx1175
  %905 = getelementptr i8, ptr %904, i64 16
  %wide.load1178 = load <4 x float>, ptr %904, align 4, !tbaa !9, !alias.scope !70
  %wide.load1179 = load <4 x float>, ptr %905, align 4, !tbaa !9, !alias.scope !70
  %906 = fsub <4 x float> %wide.load1176, %wide.load1178
  %907 = fsub <4 x float> %wide.load1177, %wide.load1179
  %908 = getelementptr inbounds float, ptr %60, i64 %offset.idx1175
  %909 = getelementptr inbounds i8, ptr %908, i64 16
  %wide.load1180 = load <4 x float>, ptr %908, align 4, !tbaa !9, !alias.scope !67
  %wide.load1181 = load <4 x float>, ptr %909, align 4, !tbaa !9, !alias.scope !67
  %910 = getelementptr inbounds float, ptr %59, i64 %offset.idx1175
  %911 = getelementptr inbounds i8, ptr %910, i64 16
  %wide.load1182 = load <4 x float>, ptr %910, align 4, !tbaa !9, !alias.scope !70
  %wide.load1183 = load <4 x float>, ptr %911, align 4, !tbaa !9, !alias.scope !70
  %912 = fadd <4 x float> %wide.load1180, %wide.load1182
  %913 = fadd <4 x float> %wide.load1181, %wide.load1183
  %914 = fsub <4 x float> %906, %912
  %915 = fsub <4 x float> %907, %913
  %916 = fcmp ole <4 x float> %914, zeroinitializer
  %917 = fcmp ole <4 x float> %915, zeroinitializer
  %918 = select <4 x i1> %916, <4 x float> zeroinitializer, <4 x float> %914
  %919 = select <4 x i1> %917, <4 x float> zeroinitializer, <4 x float> %915
  %920 = getelementptr inbounds float, ptr %58, i64 %offset.idx1175
  %921 = getelementptr inbounds i8, ptr %920, i64 16
  store <4 x float> %918, ptr %920, align 4, !tbaa !9, !alias.scope !72, !noalias !74
  store <4 x float> %919, ptr %921, align 4, !tbaa !9, !alias.scope !72, !noalias !74
  %index.next1184 = add nuw i64 %index1174, 8
  %922 = icmp eq i64 %index.next1184, %n.vec1170
  br i1 %922, label %middle.block1165, label %vector.body1173, !llvm.loop !75

middle.block1165:                                 ; preds = %vector.body1173
  %cmp.n1185 = icmp eq i64 %896, %n.vec1170
  br i1 %cmp.n1185, label %._crit_edge916, label %.lr.ph915.preheader1355

.lr.ph915.preheader1355:                          ; preds = %middle.block1165, %vector.memcheck1146, %.lr.ph915.preheader
  %indvars.iv1026.ph = phi i64 [ %893, %vector.memcheck1146 ], [ %893, %.lr.ph915.preheader ], [ %ind.end1171, %middle.block1165 ]
  br label %.lr.ph915

.lr.ph915:                                        ; preds = %.lr.ph915.preheader1355, %.lr.ph915
  %indvars.iv1026 = phi i64 [ %indvars.iv.next1027, %.lr.ph915 ], [ %indvars.iv1026.ph, %.lr.ph915.preheader1355 ]
  %indvars.iv.next1027 = add nsw i64 %indvars.iv1026, 1
  %923 = getelementptr float, ptr %15, i64 %indvars.iv1026
  %924 = load float, ptr %923, align 4, !tbaa !9
  %925 = getelementptr float, ptr %16, i64 %indvars.iv1026
  %926 = load float, ptr %925, align 4, !tbaa !9
  %927 = fsub float %924, %926
  %928 = getelementptr inbounds float, ptr %60, i64 %indvars.iv1026
  %929 = load float, ptr %928, align 4, !tbaa !9
  %930 = getelementptr inbounds float, ptr %59, i64 %indvars.iv1026
  %931 = load float, ptr %930, align 4, !tbaa !9
  %932 = fadd float %929, %931
  %933 = fsub float %927, %932
  %934 = fcmp ole float %933, 0.000000e+00
  %935 = select i1 %934, float 0.000000e+00, float %933
  %936 = getelementptr inbounds float, ptr %58, i64 %indvars.iv1026
  store float %935, ptr %936, align 4, !tbaa !9
  %lftr.wideiv1029 = trunc i64 %indvars.iv.next1027 to i32
  %exitcond1030.not = icmp eq i32 %865, %lftr.wideiv1029
  br i1 %exitcond1030.not, label %._crit_edge916, label %.lr.ph915, !llvm.loop !76

._crit_edge916:                                   ; preds = %.lr.ph915, %middle.block1165, %._crit_edge911
  %937 = load float, ptr %3, align 4, !tbaa !9
  %938 = fsub float %937, %.3726876
  %939 = sext i32 %865 to i64
  %940 = getelementptr inbounds float, ptr %60, i64 %939
  %941 = load float, ptr %940, align 4, !tbaa !9
  %942 = getelementptr inbounds float, ptr %59, i64 %939
  %943 = load float, ptr %942, align 4, !tbaa !9
  %944 = fadd float %941, %943
  %945 = fsub float %938, %944
  %946 = fcmp ole float %945, 0.000000e+00
  %947 = select i1 %946, float 0.000000e+00, float %945
  %948 = getelementptr inbounds float, ptr %58, i64 %939
  store float %947, ptr %948, align 4, !tbaa !9
  br label %.loopexit817

.loopexit817:                                     ; preds = %.lr.ph930.prol.loopexit, %.lr.ph930, %729, %._crit_edge916
  %949 = add nsw i32 %.2739, 1
  br label %950

950:                                              ; preds = %228, %._crit_edge848.thread, %.loopexit817
  %.3740 = phi i32 [ %.0737938, %228 ], [ %.0737938, %._crit_edge848.thread ], [ %.2739, %.loopexit817 ]
  %.4 = phi i32 [ %.0715939, %228 ], [ 0, %._crit_edge848.thread ], [ %.3718, %.loopexit817 ]
  %.2710 = phi i32 [ %.1709, %228 ], [ %.0708942, %._crit_edge848.thread ], [ %949, %.loopexit817 ]
  %.3 = phi i32 [ %.0705943, %228 ], [ %.0705943, %._crit_edge848.thread ], [ %.2707, %.loopexit817 ]
  %.1714 = add nsw i32 %190, 1
  %indvars.iv.next1043 = add nuw nsw i64 %indvars.iv1042, 1
  %exitcond1046.not = icmp eq i64 %indvars.iv.next1043, %wide.trip.count1045
  br i1 %exitcond1046.not, label %.loopexit820, label %188, !llvm.loop !77

.loopexit820:                                     ; preds = %950, %.loopexit821, %25, %829, %821, %728, %594, %371, %365, %146, %105
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %53) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %51) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %50) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %49) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %48) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %46) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %44) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %43) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %42) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %41) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %39) #6
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %38) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %37) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %36) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %35) #6
  ret void
}

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

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

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

declare void @slarrk_(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) #4

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

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

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

declare void @slarrb_(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 nofree nounwind willreturn memory(write)
declare double @log(double noundef) local_unnamed_addr #3

declare void @slasq2_(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 <4 x float> @llvm.fmuladd.v4f32(<4 x float>, <4 x float>, <4 x float>) #5

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare <2 x float> @llvm.fmuladd.v2f32(<2 x float>, <2 x float>, <2 x float>) #5

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"float", !7, i64 0}
!11 = distinct !{!11, !12}
!12 = !{!"llvm.loop.mustprogress"}
!13 = distinct !{!13, !12, !14, !15}
!14 = !{!"llvm.loop.isvectorized", i32 1}
!15 = !{!"llvm.loop.unroll.runtime.disable"}
!16 = distinct !{!16, !12, !14}
!17 = distinct !{!17, !12}
!18 = distinct !{!18, !12}
!19 = !{!20}
!20 = distinct !{!20, !21}
!21 = distinct !{!21, !"LVerDomain"}
!22 = !{!23}
!23 = distinct !{!23, !21}
!24 = !{!25}
!25 = distinct !{!25, !21}
!26 = !{!20, !23}
!27 = distinct !{!27, !12, !14, !15}
!28 = distinct !{!28, !12, !14}
!29 = distinct !{!29, !12}
!30 = distinct !{!30, !12, !14, !15}
!31 = distinct !{!31, !12, !15, !14}
!32 = distinct !{!32, !12}
!33 = !{!34}
!34 = distinct !{!34, !35}
!35 = distinct !{!35, !"LVerDomain"}
!36 = !{!37, !38}
!37 = distinct !{!37, !35}
!38 = distinct !{!38, !35}
!39 = !{!37}
!40 = !{!38}
!41 = !{!42}
!42 = distinct !{!42, !35}
!43 = distinct !{!43, !12, !14, !15}
!44 = distinct !{!44, !12, !14}
!45 = !{!46}
!46 = distinct !{!46, !47}
!47 = distinct !{!47, !"LVerDomain"}
!48 = !{!49}
!49 = distinct !{!49, !47}
!50 = distinct !{!50, !12, !14, !15}
!51 = distinct !{!51, !12, !14}
!52 = distinct !{!52, !12, !14, !15}
!53 = distinct !{!53, !12, !14}
!54 = distinct !{!54, !12}
!55 = !{!56}
!56 = distinct !{!56, !57}
!57 = distinct !{!57, !"LVerDomain"}
!58 = !{!59}
!59 = distinct !{!59, !57}
!60 = distinct !{!60, !12, !14, !15}
!61 = distinct !{!61, !12, !14}
!62 = distinct !{!62, !12}
!63 = distinct !{!63, !12}
!64 = distinct !{!64, !12}
!65 = distinct !{!65, !12, !14, !15}
!66 = distinct !{!66, !12, !14}
!67 = !{!68}
!68 = distinct !{!68, !69}
!69 = distinct !{!69, !"LVerDomain"}
!70 = !{!71}
!71 = distinct !{!71, !69}
!72 = !{!73}
!73 = distinct !{!73, !69}
!74 = !{!68, !71}
!75 = distinct !{!75, !12, !14, !15}
!76 = distinct !{!76, !12, !14}
!77 = distinct !{!77, !12}


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