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

; 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 [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4

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

107:                                              ; preds = %18
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %121

108:                                              ; preds = %18
  %109 = load ptr, ptr %19, align 8, !tbaa !5
  %110 = call i32 @lsame_(ptr noundef %109, ptr noundef @.str.1)
  %111 = icmp ne i32 %110, 0
  br i1 %111, label %112, label %113

112:                                              ; preds = %108
  store i32 2, ptr %71, align 4, !tbaa !9
  br label %120

113:                                              ; preds = %108
  %114 = load ptr, ptr %19, align 8, !tbaa !5
  %115 = call i32 @lsame_(ptr noundef %114, ptr noundef @.str.2)
  %116 = icmp ne i32 %115, 0
  br i1 %116, label %117, label %118

117:                                              ; preds = %113
  store i32 3, ptr %71, align 4, !tbaa !9
  br label %119

118:                                              ; preds = %113
  store i32 0, ptr %71, align 4, !tbaa !9
  br label %119

119:                                              ; preds = %118, %117
  br label %120

120:                                              ; preds = %119, %112
  br label %121

121:                                              ; preds = %120, %107
  %122 = load ptr, ptr %20, align 8, !tbaa !5
  %123 = call i32 @lsame_(ptr noundef %122, ptr noundef @.str.3)
  %124 = icmp ne i32 %123, 0
  br i1 %124, label %125, label %126

125:                                              ; preds = %121
  store i32 2, ptr %77, align 4, !tbaa !9
  br label %133

126:                                              ; preds = %121
  %127 = load ptr, ptr %20, align 8, !tbaa !5
  %128 = call i32 @lsame_(ptr noundef %127, ptr noundef @.str.4)
  %129 = icmp ne i32 %128, 0
  br i1 %129, label %130, label %131

130:                                              ; preds = %126
  store i32 1, ptr %77, align 4, !tbaa !9
  br label %132

131:                                              ; preds = %126
  store i32 0, ptr %77, align 4, !tbaa !9
  br label %132

132:                                              ; preds = %131, %130
  br label %133

133:                                              ; preds = %132, %125
  %134 = load i32, ptr %71, align 4, !tbaa !9
  %135 = icmp sle i32 %134, 0
  br i1 %135, label %136, label %138

136:                                              ; preds = %133
  %137 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -1, ptr %137, align 4, !tbaa !9
  br label %216

138:                                              ; preds = %133
  %139 = load i32, ptr %77, align 4, !tbaa !9
  %140 = icmp sle i32 %139, 0
  br i1 %140, label %141, label %143

141:                                              ; preds = %138
  %142 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -2, ptr %142, align 4, !tbaa !9
  br label %215

143:                                              ; preds = %138
  %144 = load ptr, ptr %21, align 8, !tbaa !5
  %145 = load i32, ptr %144, align 4, !tbaa !9
  %146 = icmp slt i32 %145, 0
  br i1 %146, label %147, label %149

147:                                              ; preds = %143
  %148 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -3, ptr %148, align 4, !tbaa !9
  br label %214

149:                                              ; preds = %143
  %150 = load i32, ptr %71, align 4, !tbaa !9
  %151 = icmp eq i32 %150, 2
  br i1 %151, label %152, label %161

152:                                              ; preds = %149
  %153 = load ptr, ptr %22, align 8, !tbaa !5
  %154 = load float, ptr %153, align 4, !tbaa !11
  %155 = load ptr, ptr %23, align 8, !tbaa !5
  %156 = load float, ptr %155, align 4, !tbaa !11
  %157 = fcmp oge float %154, %156
  br i1 %157, label %158, label %160

158:                                              ; preds = %152
  %159 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -5, ptr %159, align 4, !tbaa !9
  br label %160

160:                                              ; preds = %158, %152
  br label %213

161:                                              ; preds = %149
  %162 = load i32, ptr %71, align 4, !tbaa !9
  %163 = icmp eq i32 %162, 3
  br i1 %163, label %164, label %183

164:                                              ; preds = %161
  %165 = load ptr, ptr %24, align 8, !tbaa !5
  %166 = load i32, ptr %165, align 4, !tbaa !9
  %167 = icmp slt i32 %166, 1
  br i1 %167, label %181, label %168

168:                                              ; preds = %164
  %169 = load ptr, ptr %24, align 8, !tbaa !5
  %170 = load i32, ptr %169, align 4, !tbaa !9
  %171 = load ptr, ptr %21, align 8, !tbaa !5
  %172 = load i32, ptr %171, align 4, !tbaa !9
  %173 = icmp sge i32 1, %172
  br i1 %173, label %174, label %175

174:                                              ; preds = %168
  br label %178

175:                                              ; preds = %168
  %176 = load ptr, ptr %21, align 8, !tbaa !5
  %177 = load i32, ptr %176, align 4, !tbaa !9
  br label %178

178:                                              ; preds = %175, %174
  %179 = phi i32 [ 1, %174 ], [ %177, %175 ]
  %180 = icmp sgt i32 %170, %179
  br i1 %180, label %181, label %183

181:                                              ; preds = %178, %164
  %182 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -6, ptr %182, align 4, !tbaa !9
  br label %212

183:                                              ; preds = %178, %161
  %184 = load i32, ptr %71, align 4, !tbaa !9
  %185 = icmp eq i32 %184, 3
  br i1 %185, label %186, label %211

186:                                              ; preds = %183
  %187 = load ptr, ptr %25, align 8, !tbaa !5
  %188 = load i32, ptr %187, align 4, !tbaa !9
  %189 = load ptr, ptr %21, align 8, !tbaa !5
  %190 = load i32, ptr %189, align 4, !tbaa !9
  %191 = load ptr, ptr %24, align 8, !tbaa !5
  %192 = load i32, ptr %191, align 4, !tbaa !9
  %193 = icmp sle i32 %190, %192
  br i1 %193, label %194, label %197

194:                                              ; preds = %186
  %195 = load ptr, ptr %21, align 8, !tbaa !5
  %196 = load i32, ptr %195, align 4, !tbaa !9
  br label %200

197:                                              ; preds = %186
  %198 = load ptr, ptr %24, align 8, !tbaa !5
  %199 = load i32, ptr %198, align 4, !tbaa !9
  br label %200

200:                                              ; preds = %197, %194
  %201 = phi i32 [ %196, %194 ], [ %199, %197 ]
  %202 = icmp slt i32 %188, %201
  br i1 %202, label %209, label %203

203:                                              ; preds = %200
  %204 = load ptr, ptr %25, align 8, !tbaa !5
  %205 = load i32, ptr %204, align 4, !tbaa !9
  %206 = load ptr, ptr %21, align 8, !tbaa !5
  %207 = load i32, ptr %206, align 4, !tbaa !9
  %208 = icmp sgt i32 %205, %207
  br i1 %208, label %209, label %211

209:                                              ; preds = %203, %200
  %210 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 -7, ptr %210, align 4, !tbaa !9
  br label %211

211:                                              ; preds = %209, %203, %183
  br label %212

212:                                              ; preds = %211, %181
  br label %213

213:                                              ; preds = %212, %160
  br label %214

214:                                              ; preds = %213, %147
  br label %215

215:                                              ; preds = %214, %141
  br label %216

216:                                              ; preds = %215, %136
  %217 = load ptr, ptr %36, align 8, !tbaa !5
  %218 = load i32, ptr %217, align 4, !tbaa !9
  %219 = icmp ne i32 %218, 0
  br i1 %219, label %220, label %225

220:                                              ; preds = %216
  %221 = load ptr, ptr %36, align 8, !tbaa !5
  %222 = load i32, ptr %221, align 4, !tbaa !9
  %223 = sub nsw i32 0, %222
  store i32 %223, ptr %37, align 4, !tbaa !9
  %224 = call i32 @xerbla_(ptr noundef @.str.5, ptr noundef %37, i32 noundef 6)
  store i32 1, ptr %88, align 4
  br label %1824

225:                                              ; preds = %216
  %226 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 0, ptr %226, align 4, !tbaa !9
  store i32 0, ptr %78, align 4, !tbaa !9
  store i32 0, ptr %80, align 4, !tbaa !9
  %227 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 0, ptr %227, align 4, !tbaa !9
  %228 = load ptr, ptr %21, align 8, !tbaa !5
  %229 = load i32, ptr %228, align 4, !tbaa !9
  %230 = icmp eq i32 %229, 0
  br i1 %230, label %231, label %232

231:                                              ; preds = %225
  store i32 1, ptr %88, align 4
  br label %1824

232:                                              ; preds = %225
  %233 = load i32, ptr %71, align 4, !tbaa !9
  %234 = icmp eq i32 %233, 3
  br i1 %234, label %235, label %246

235:                                              ; preds = %232
  %236 = load ptr, ptr %24, align 8, !tbaa !5
  %237 = load i32, ptr %236, align 4, !tbaa !9
  %238 = icmp eq i32 %237, 1
  br i1 %238, label %239, label %246

239:                                              ; preds = %235
  %240 = load ptr, ptr %25, align 8, !tbaa !5
  %241 = load i32, ptr %240, align 4, !tbaa !9
  %242 = load ptr, ptr %21, align 8, !tbaa !5
  %243 = load i32, ptr %242, align 4, !tbaa !9
  %244 = icmp eq i32 %241, %243
  br i1 %244, label %245, label %246

245:                                              ; preds = %239
  store i32 1, ptr %71, align 4, !tbaa !9
  br label %246

246:                                              ; preds = %245, %239, %235, %232
  %247 = call float @slamch_(ptr noundef @.str.6)
  store float %247, ptr %73, align 4, !tbaa !11
  %248 = call float @slamch_(ptr noundef @.str.7)
  store float %248, ptr %82, align 4, !tbaa !11
  %249 = load float, ptr %82, align 4, !tbaa !11
  %250 = fmul float %249, 2.000000e+00
  store float %250, ptr %57, align 4, !tbaa !11
  %251 = load ptr, ptr %21, align 8, !tbaa !5
  %252 = call i32 @ilaenv_(ptr noundef @c__1, ptr noundef @.str.5, ptr noundef @.str.8, ptr noundef %251, ptr noundef @c_n1, ptr noundef @c_n1, ptr noundef @c_n1, i32 noundef 6, i32 noundef 1)
  store i32 %252, ptr %63, align 4, !tbaa !9
  %253 = load i32, ptr %63, align 4, !tbaa !9
  %254 = icmp sle i32 %253, 1
  br i1 %254, label %255, label %256

255:                                              ; preds = %246
  store i32 0, ptr %63, align 4, !tbaa !9
  br label %256

256:                                              ; preds = %255, %246
  %257 = load ptr, ptr %21, align 8, !tbaa !5
  %258 = load i32, ptr %257, align 4, !tbaa !9
  %259 = icmp eq i32 %258, 1
  br i1 %259, label %260, label %292

260:                                              ; preds = %256
  %261 = load ptr, ptr %30, align 8, !tbaa !5
  store i32 1, ptr %261, align 4, !tbaa !9
  %262 = load ptr, ptr %33, align 8, !tbaa !5
  %263 = getelementptr inbounds i32, ptr %262, i64 1
  store i32 1, ptr %263, align 4, !tbaa !9
  %264 = load i32, ptr %71, align 4, !tbaa !9
  %265 = icmp eq i32 %264, 2
  br i1 %265, label %266, label %282

266:                                              ; preds = %260
  %267 = load ptr, ptr %22, align 8, !tbaa !5
  %268 = load float, ptr %267, align 4, !tbaa !11
  %269 = load ptr, ptr %27, align 8, !tbaa !5
  %270 = getelementptr inbounds float, ptr %269, i64 1
  %271 = load float, ptr %270, align 4, !tbaa !11
  %272 = fcmp oge float %268, %271
  br i1 %272, label %280, label %273

273:                                              ; preds = %266
  %274 = load ptr, ptr %23, align 8, !tbaa !5
  %275 = load float, ptr %274, align 4, !tbaa !11
  %276 = load ptr, ptr %27, align 8, !tbaa !5
  %277 = getelementptr inbounds float, ptr %276, i64 1
  %278 = load float, ptr %277, align 4, !tbaa !11
  %279 = fcmp olt float %275, %278
  br i1 %279, label %280, label %282

280:                                              ; preds = %273, %266
  %281 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 0, ptr %281, align 4, !tbaa !9
  br label %291

282:                                              ; preds = %273, %260
  %283 = load ptr, ptr %27, align 8, !tbaa !5
  %284 = getelementptr inbounds float, ptr %283, i64 1
  %285 = load float, ptr %284, align 4, !tbaa !11
  %286 = load ptr, ptr %31, align 8, !tbaa !5
  %287 = getelementptr inbounds float, ptr %286, i64 1
  store float %285, ptr %287, align 4, !tbaa !11
  %288 = load ptr, ptr %32, align 8, !tbaa !5
  %289 = getelementptr inbounds i32, ptr %288, i64 1
  store i32 1, ptr %289, align 4, !tbaa !9
  %290 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 1, ptr %290, align 4, !tbaa !9
  br label %291

291:                                              ; preds = %282, %280
  store i32 1, ptr %88, align 4
  br label %1824

292:                                              ; preds = %256
  %293 = load ptr, ptr %30, align 8, !tbaa !5
  store i32 1, ptr %293, align 4, !tbaa !9
  %294 = load ptr, ptr %34, align 8, !tbaa !5
  %295 = load ptr, ptr %21, align 8, !tbaa !5
  %296 = load i32, ptr %295, align 4, !tbaa !9
  %297 = sext i32 %296 to i64
  %298 = getelementptr inbounds float, ptr %294, i64 %297
  store float 0.000000e+00, ptr %298, align 4, !tbaa !11
  store float 1.000000e+00, ptr %79, align 4, !tbaa !11
  %299 = load ptr, ptr %21, align 8, !tbaa !5
  %300 = load i32, ptr %299, align 4, !tbaa !9
  store i32 %300, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %49, align 4, !tbaa !9
  br label %301

301:                                              ; preds = %377, %292
  %302 = load i32, ptr %49, align 4, !tbaa !9
  %303 = load i32, ptr %37, align 4, !tbaa !9
  %304 = icmp sle i32 %302, %303
  br i1 %304, label %305, label %380

305:                                              ; preds = %301
  %306 = load ptr, ptr %28, align 8, !tbaa !5
  %307 = load i32, ptr %49, align 4, !tbaa !9
  %308 = sub nsw i32 %307, 1
  %309 = sext i32 %308 to i64
  %310 = getelementptr inbounds float, ptr %306, i64 %309
  %311 = load float, ptr %310, align 4, !tbaa !11
  store float %311, ptr %40, align 4, !tbaa !11
  %312 = load float, ptr %40, align 4, !tbaa !11
  %313 = load float, ptr %40, align 4, !tbaa !11
  %314 = fmul float %312, %313
  store float %314, ptr %86, align 4, !tbaa !11
  %315 = load float, ptr %82, align 4, !tbaa !11
  store float %315, ptr %41, align 4, !tbaa !11
  %316 = load ptr, ptr %27, align 8, !tbaa !5
  %317 = load i32, ptr %49, align 4, !tbaa !9
  %318 = sext i32 %317 to i64
  %319 = getelementptr inbounds float, ptr %316, i64 %318
  %320 = load float, ptr %319, align 4, !tbaa !11
  %321 = load ptr, ptr %27, align 8, !tbaa !5
  %322 = load i32, ptr %49, align 4, !tbaa !9
  %323 = sub nsw i32 %322, 1
  %324 = sext i32 %323 to i64
  %325 = getelementptr inbounds float, ptr %321, i64 %324
  %326 = load float, ptr %325, align 4, !tbaa !11
  %327 = fmul float %320, %326
  store float %327, ptr %40, align 4, !tbaa !11
  %328 = load float, ptr %40, align 4, !tbaa !11
  %329 = fcmp oge float %328, 0.000000e+00
  br i1 %329, label %330, label %332

330:                                              ; preds = %305
  %331 = load float, ptr %40, align 4, !tbaa !11
  br label %335

332:                                              ; preds = %305
  %333 = load float, ptr %40, align 4, !tbaa !11
  %334 = fneg float %333
  br label %335

335:                                              ; preds = %332, %330
  %336 = phi float [ %331, %330 ], [ %334, %332 ]
  %337 = load float, ptr %41, align 4, !tbaa !11
  %338 = load float, ptr %41, align 4, !tbaa !11
  %339 = fmul float %337, %338
  %340 = load float, ptr %73, align 4, !tbaa !11
  %341 = call float @llvm.fmuladd.f32(float %336, float %339, float %340)
  %342 = load float, ptr %86, align 4, !tbaa !11
  %343 = fcmp ogt float %341, %342
  br i1 %343, label %344, label %360

344:                                              ; preds = %335
  %345 = load i32, ptr %49, align 4, !tbaa !9
  %346 = sub nsw i32 %345, 1
  %347 = load ptr, ptr %33, align 8, !tbaa !5
  %348 = load ptr, ptr %30, align 8, !tbaa !5
  %349 = load i32, ptr %348, align 4, !tbaa !9
  %350 = sext i32 %349 to i64
  %351 = getelementptr inbounds i32, ptr %347, i64 %350
  store i32 %346, ptr %351, align 4, !tbaa !9
  %352 = load ptr, ptr %30, align 8, !tbaa !5
  %353 = load i32, ptr %352, align 4, !tbaa !9
  %354 = add nsw i32 %353, 1
  store i32 %354, ptr %352, align 4, !tbaa !9
  %355 = load ptr, ptr %34, align 8, !tbaa !5
  %356 = load i32, ptr %49, align 4, !tbaa !9
  %357 = sub nsw i32 %356, 1
  %358 = sext i32 %357 to i64
  %359 = getelementptr inbounds float, ptr %355, i64 %358
  store float 0.000000e+00, ptr %359, align 4, !tbaa !11
  br label %376

360:                                              ; preds = %335
  %361 = load float, ptr %86, align 4, !tbaa !11
  %362 = load ptr, ptr %34, align 8, !tbaa !5
  %363 = load i32, ptr %49, align 4, !tbaa !9
  %364 = sub nsw i32 %363, 1
  %365 = sext i32 %364 to i64
  %366 = getelementptr inbounds float, ptr %362, i64 %365
  store float %361, ptr %366, align 4, !tbaa !11
  %367 = load float, ptr %79, align 4, !tbaa !11
  %368 = load float, ptr %86, align 4, !tbaa !11
  %369 = fcmp oge float %367, %368
  br i1 %369, label %370, label %372

370:                                              ; preds = %360
  %371 = load float, ptr %79, align 4, !tbaa !11
  br label %374

372:                                              ; preds = %360
  %373 = load float, ptr %86, align 4, !tbaa !11
  br label %374

374:                                              ; preds = %372, %370
  %375 = phi float [ %371, %370 ], [ %373, %372 ]
  store float %375, ptr %79, align 4, !tbaa !11
  br label %376

376:                                              ; preds = %374, %344
  br label %377

377:                                              ; preds = %376
  %378 = load i32, ptr %49, align 4, !tbaa !9
  %379 = add nsw i32 %378, 1
  store i32 %379, ptr %49, align 4, !tbaa !9
  br label %301, !llvm.loop !13

380:                                              ; preds = %301
  %381 = load ptr, ptr %21, align 8, !tbaa !5
  %382 = load i32, ptr %381, align 4, !tbaa !9
  %383 = load ptr, ptr %33, align 8, !tbaa !5
  %384 = load ptr, ptr %30, align 8, !tbaa !5
  %385 = load i32, ptr %384, align 4, !tbaa !9
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds i32, ptr %383, i64 %386
  store i32 %382, ptr %387, align 4, !tbaa !9
  %388 = load float, ptr %73, align 4, !tbaa !11
  %389 = load float, ptr %79, align 4, !tbaa !11
  %390 = fmul float %389, %388
  store float %390, ptr %79, align 4, !tbaa !11
  %391 = load i32, ptr %71, align 4, !tbaa !9
  %392 = icmp eq i32 %391, 3
  br i1 %392, label %393, label %757

393:                                              ; preds = %380
  %394 = load ptr, ptr %27, align 8, !tbaa !5
  %395 = getelementptr inbounds float, ptr %394, i64 1
  %396 = load float, ptr %395, align 4, !tbaa !11
  store float %396, ptr %68, align 4, !tbaa !11
  %397 = load ptr, ptr %27, align 8, !tbaa !5
  %398 = getelementptr inbounds float, ptr %397, i64 1
  %399 = load float, ptr %398, align 4, !tbaa !11
  store float %399, ptr %64, align 4, !tbaa !11
  store float 0.000000e+00, ptr %86, align 4, !tbaa !11
  %400 = load ptr, ptr %21, align 8, !tbaa !5
  %401 = load i32, ptr %400, align 4, !tbaa !9
  %402 = sub nsw i32 %401, 1
  store i32 %402, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %403

403:                                              ; preds = %455, %393
  %404 = load i32, ptr %49, align 4, !tbaa !9
  %405 = load i32, ptr %37, align 4, !tbaa !9
  %406 = icmp sle i32 %404, %405
  br i1 %406, label %407, label %458

407:                                              ; preds = %403
  %408 = load ptr, ptr %34, align 8, !tbaa !5
  %409 = load i32, ptr %49, align 4, !tbaa !9
  %410 = sext i32 %409 to i64
  %411 = getelementptr inbounds float, ptr %408, i64 %410
  %412 = load float, ptr %411, align 4, !tbaa !11
  %413 = fpext float %412 to double
  %414 = call double @sqrt(double noundef %413) #5
  %415 = fptrunc double %414 to float
  store float %415, ptr %87, align 4, !tbaa !11
  %416 = load float, ptr %68, align 4, !tbaa !11
  store float %416, ptr %40, align 4, !tbaa !11
  %417 = load ptr, ptr %27, align 8, !tbaa !5
  %418 = load i32, ptr %49, align 4, !tbaa !9
  %419 = sext i32 %418 to i64
  %420 = getelementptr inbounds float, ptr %417, i64 %419
  %421 = load float, ptr %420, align 4, !tbaa !11
  %422 = load float, ptr %86, align 4, !tbaa !11
  %423 = fadd float %421, %422
  %424 = load float, ptr %87, align 4, !tbaa !11
  %425 = fadd float %423, %424
  store float %425, ptr %41, align 4, !tbaa !11
  %426 = load float, ptr %40, align 4, !tbaa !11
  %427 = load float, ptr %41, align 4, !tbaa !11
  %428 = fcmp oge float %426, %427
  br i1 %428, label %429, label %431

429:                                              ; preds = %407
  %430 = load float, ptr %40, align 4, !tbaa !11
  br label %433

431:                                              ; preds = %407
  %432 = load float, ptr %41, align 4, !tbaa !11
  br label %433

433:                                              ; preds = %431, %429
  %434 = phi float [ %430, %429 ], [ %432, %431 ]
  store float %434, ptr %68, align 4, !tbaa !11
  %435 = load float, ptr %64, align 4, !tbaa !11
  store float %435, ptr %40, align 4, !tbaa !11
  %436 = load ptr, ptr %27, align 8, !tbaa !5
  %437 = load i32, ptr %49, align 4, !tbaa !9
  %438 = sext i32 %437 to i64
  %439 = getelementptr inbounds float, ptr %436, i64 %438
  %440 = load float, ptr %439, align 4, !tbaa !11
  %441 = load float, ptr %86, align 4, !tbaa !11
  %442 = fsub float %440, %441
  %443 = load float, ptr %87, align 4, !tbaa !11
  %444 = fsub float %442, %443
  store float %444, ptr %41, align 4, !tbaa !11
  %445 = load float, ptr %40, align 4, !tbaa !11
  %446 = load float, ptr %41, align 4, !tbaa !11
  %447 = fcmp ole float %445, %446
  br i1 %447, label %448, label %450

448:                                              ; preds = %433
  %449 = load float, ptr %40, align 4, !tbaa !11
  br label %452

450:                                              ; preds = %433
  %451 = load float, ptr %41, align 4, !tbaa !11
  br label %452

452:                                              ; preds = %450, %448
  %453 = phi float [ %449, %448 ], [ %451, %450 ]
  store float %453, ptr %64, align 4, !tbaa !11
  %454 = load float, ptr %87, align 4, !tbaa !11
  store float %454, ptr %86, align 4, !tbaa !11
  br label %455

455:                                              ; preds = %452
  %456 = load i32, ptr %49, align 4, !tbaa !9
  %457 = add nsw i32 %456, 1
  store i32 %457, ptr %49, align 4, !tbaa !9
  br label %403, !llvm.loop !15

458:                                              ; preds = %403
  %459 = load float, ptr %68, align 4, !tbaa !11
  store float %459, ptr %40, align 4, !tbaa !11
  %460 = load ptr, ptr %27, align 8, !tbaa !5
  %461 = load ptr, ptr %21, align 8, !tbaa !5
  %462 = load i32, ptr %461, align 4, !tbaa !9
  %463 = sext i32 %462 to i64
  %464 = getelementptr inbounds float, ptr %460, i64 %463
  %465 = load float, ptr %464, align 4, !tbaa !11
  %466 = load float, ptr %86, align 4, !tbaa !11
  %467 = fadd float %465, %466
  store float %467, ptr %41, align 4, !tbaa !11
  %468 = load float, ptr %40, align 4, !tbaa !11
  %469 = load float, ptr %41, align 4, !tbaa !11
  %470 = fcmp oge float %468, %469
  br i1 %470, label %471, label %473

471:                                              ; preds = %458
  %472 = load float, ptr %40, align 4, !tbaa !11
  br label %475

473:                                              ; preds = %458
  %474 = load float, ptr %41, align 4, !tbaa !11
  br label %475

475:                                              ; preds = %473, %471
  %476 = phi float [ %472, %471 ], [ %474, %473 ]
  store float %476, ptr %68, align 4, !tbaa !11
  %477 = load float, ptr %64, align 4, !tbaa !11
  store float %477, ptr %40, align 4, !tbaa !11
  %478 = load ptr, ptr %27, align 8, !tbaa !5
  %479 = load ptr, ptr %21, align 8, !tbaa !5
  %480 = load i32, ptr %479, align 4, !tbaa !9
  %481 = sext i32 %480 to i64
  %482 = getelementptr inbounds float, ptr %478, i64 %481
  %483 = load float, ptr %482, align 4, !tbaa !11
  %484 = load float, ptr %86, align 4, !tbaa !11
  %485 = fsub float %483, %484
  store float %485, ptr %41, align 4, !tbaa !11
  %486 = load float, ptr %40, align 4, !tbaa !11
  %487 = load float, ptr %41, align 4, !tbaa !11
  %488 = fcmp ole float %486, %487
  br i1 %488, label %489, label %491

489:                                              ; preds = %475
  %490 = load float, ptr %40, align 4, !tbaa !11
  br label %493

491:                                              ; preds = %475
  %492 = load float, ptr %41, align 4, !tbaa !11
  br label %493

493:                                              ; preds = %491, %489
  %494 = phi float [ %490, %489 ], [ %492, %491 ]
  store float %494, ptr %64, align 4, !tbaa !11
  %495 = load float, ptr %64, align 4, !tbaa !11
  %496 = fcmp oge float %495, 0.000000e+00
  br i1 %496, label %497, label %499

497:                                              ; preds = %493
  %498 = load float, ptr %64, align 4, !tbaa !11
  br label %502

499:                                              ; preds = %493
  %500 = load float, ptr %64, align 4, !tbaa !11
  %501 = fneg float %500
  br label %502

502:                                              ; preds = %499, %497
  %503 = phi float [ %498, %497 ], [ %501, %499 ]
  store float %503, ptr %40, align 4, !tbaa !11
  %504 = load float, ptr %68, align 4, !tbaa !11
  %505 = fcmp oge float %504, 0.000000e+00
  br i1 %505, label %506, label %508

506:                                              ; preds = %502
  %507 = load float, ptr %68, align 4, !tbaa !11
  br label %511

508:                                              ; preds = %502
  %509 = load float, ptr %68, align 4, !tbaa !11
  %510 = fneg float %509
  br label %511

511:                                              ; preds = %508, %506
  %512 = phi float [ %507, %506 ], [ %510, %508 ]
  store float %512, ptr %41, align 4, !tbaa !11
  %513 = load float, ptr %40, align 4, !tbaa !11
  %514 = load float, ptr %41, align 4, !tbaa !11
  %515 = fcmp oge float %513, %514
  br i1 %515, label %516, label %518

516:                                              ; preds = %511
  %517 = load float, ptr %40, align 4, !tbaa !11
  br label %520

518:                                              ; preds = %511
  %519 = load float, ptr %41, align 4, !tbaa !11
  br label %520

520:                                              ; preds = %518, %516
  %521 = phi float [ %517, %516 ], [ %519, %518 ]
  store float %521, ptr %58, align 4, !tbaa !11
  %522 = load float, ptr %64, align 4, !tbaa !11
  %523 = load float, ptr %58, align 4, !tbaa !11
  %524 = fmul float %523, 0x4000CCCCC0000000
  %525 = load float, ptr %82, align 4, !tbaa !11
  %526 = fmul float %524, %525
  %527 = load ptr, ptr %21, align 8, !tbaa !5
  %528 = load i32, ptr %527, align 4, !tbaa !9
  %529 = sitofp i32 %528 to float
  %530 = fneg float %526
  %531 = call float @llvm.fmuladd.f32(float %530, float %529, float %522)
  %532 = load float, ptr %79, align 4, !tbaa !11
  %533 = fneg float %532
  %534 = call float @llvm.fmuladd.f32(float %533, float 0x4010CCCCC0000000, float %531)
  store float %534, ptr %64, align 4, !tbaa !11
  %535 = load float, ptr %68, align 4, !tbaa !11
  %536 = load float, ptr %58, align 4, !tbaa !11
  %537 = fmul float %536, 0x4000CCCCC0000000
  %538 = load float, ptr %82, align 4, !tbaa !11
  %539 = fmul float %537, %538
  %540 = load ptr, ptr %21, align 8, !tbaa !5
  %541 = load i32, ptr %540, align 4, !tbaa !9
  %542 = sitofp i32 %541 to float
  %543 = call float @llvm.fmuladd.f32(float %539, float %542, float %535)
  %544 = load float, ptr %79, align 4, !tbaa !11
  %545 = call float @llvm.fmuladd.f32(float %544, float 0x4000CCCCC0000000, float %543)
  store float %545, ptr %68, align 4, !tbaa !11
  %546 = load float, ptr %58, align 4, !tbaa !11
  %547 = load float, ptr %79, align 4, !tbaa !11
  %548 = fadd float %546, %547
  %549 = fpext float %548 to double
  %550 = call double @log(double noundef %549) #5
  %551 = load float, ptr %79, align 4, !tbaa !11
  %552 = fpext float %551 to double
  %553 = call double @log(double noundef %552) #5
  %554 = fsub double %550, %553
  %555 = call double @log(double noundef 2.000000e+00) #5
  %556 = fdiv double %554, %555
  %557 = fptosi double %556 to i32
  %558 = add nsw i32 %557, 2
  store i32 %558, ptr %55, align 4, !tbaa !9
  %559 = load ptr, ptr %26, align 8, !tbaa !5
  %560 = load float, ptr %559, align 4, !tbaa !11
  %561 = fcmp ole float %560, 0.000000e+00
  br i1 %561, label %562, label %566

562:                                              ; preds = %520
  %563 = load float, ptr %82, align 4, !tbaa !11
  %564 = load float, ptr %58, align 4, !tbaa !11
  %565 = fmul float %563, %564
  store float %565, ptr %52, align 4, !tbaa !11
  br label %569

566:                                              ; preds = %520
  %567 = load ptr, ptr %26, align 8, !tbaa !5
  %568 = load float, ptr %567, align 4, !tbaa !11
  store float %568, ptr %52, align 4, !tbaa !11
  br label %569

569:                                              ; preds = %566, %562
  %570 = load float, ptr %64, align 4, !tbaa !11
  %571 = load ptr, ptr %34, align 8, !tbaa !5
  %572 = load ptr, ptr %21, align 8, !tbaa !5
  %573 = load i32, ptr %572, align 4, !tbaa !9
  %574 = add nsw i32 %573, 1
  %575 = sext i32 %574 to i64
  %576 = getelementptr inbounds float, ptr %571, i64 %575
  store float %570, ptr %576, align 4, !tbaa !11
  %577 = load float, ptr %64, align 4, !tbaa !11
  %578 = load ptr, ptr %34, align 8, !tbaa !5
  %579 = load ptr, ptr %21, align 8, !tbaa !5
  %580 = load i32, ptr %579, align 4, !tbaa !9
  %581 = add nsw i32 %580, 2
  %582 = sext i32 %581 to i64
  %583 = getelementptr inbounds float, ptr %578, i64 %582
  store float %577, ptr %583, align 4, !tbaa !11
  %584 = load float, ptr %68, align 4, !tbaa !11
  %585 = load ptr, ptr %34, align 8, !tbaa !5
  %586 = load ptr, ptr %21, align 8, !tbaa !5
  %587 = load i32, ptr %586, align 4, !tbaa !9
  %588 = add nsw i32 %587, 3
  %589 = sext i32 %588 to i64
  %590 = getelementptr inbounds float, ptr %585, i64 %589
  store float %584, ptr %590, align 4, !tbaa !11
  %591 = load float, ptr %68, align 4, !tbaa !11
  %592 = load ptr, ptr %34, align 8, !tbaa !5
  %593 = load ptr, ptr %21, align 8, !tbaa !5
  %594 = load i32, ptr %593, align 4, !tbaa !9
  %595 = add nsw i32 %594, 4
  %596 = sext i32 %595 to i64
  %597 = getelementptr inbounds float, ptr %592, i64 %596
  store float %591, ptr %597, align 4, !tbaa !11
  %598 = load float, ptr %64, align 4, !tbaa !11
  %599 = load ptr, ptr %34, align 8, !tbaa !5
  %600 = load ptr, ptr %21, align 8, !tbaa !5
  %601 = load i32, ptr %600, align 4, !tbaa !9
  %602 = add nsw i32 %601, 5
  %603 = sext i32 %602 to i64
  %604 = getelementptr inbounds float, ptr %599, i64 %603
  store float %598, ptr %604, align 4, !tbaa !11
  %605 = load float, ptr %68, align 4, !tbaa !11
  %606 = load ptr, ptr %34, align 8, !tbaa !5
  %607 = load ptr, ptr %21, align 8, !tbaa !5
  %608 = load i32, ptr %607, align 4, !tbaa !9
  %609 = add nsw i32 %608, 6
  %610 = sext i32 %609 to i64
  %611 = getelementptr inbounds float, ptr %606, i64 %610
  store float %605, ptr %611, align 4, !tbaa !11
  %612 = load ptr, ptr %35, align 8, !tbaa !5
  %613 = getelementptr inbounds i32, ptr %612, i64 1
  store i32 -1, ptr %613, align 4, !tbaa !9
  %614 = load ptr, ptr %35, align 8, !tbaa !5
  %615 = getelementptr inbounds i32, ptr %614, i64 2
  store i32 -1, ptr %615, align 4, !tbaa !9
  %616 = load ptr, ptr %21, align 8, !tbaa !5
  %617 = load i32, ptr %616, align 4, !tbaa !9
  %618 = add nsw i32 %617, 1
  %619 = load ptr, ptr %35, align 8, !tbaa !5
  %620 = getelementptr inbounds i32, ptr %619, i64 3
  store i32 %618, ptr %620, align 4, !tbaa !9
  %621 = load ptr, ptr %21, align 8, !tbaa !5
  %622 = load i32, ptr %621, align 4, !tbaa !9
  %623 = add nsw i32 %622, 1
  %624 = load ptr, ptr %35, align 8, !tbaa !5
  %625 = getelementptr inbounds i32, ptr %624, i64 4
  store i32 %623, ptr %625, align 4, !tbaa !9
  %626 = load ptr, ptr %24, align 8, !tbaa !5
  %627 = load i32, ptr %626, align 4, !tbaa !9
  %628 = sub nsw i32 %627, 1
  %629 = load ptr, ptr %35, align 8, !tbaa !5
  %630 = getelementptr inbounds i32, ptr %629, i64 5
  store i32 %628, ptr %630, align 4, !tbaa !9
  %631 = load ptr, ptr %25, align 8, !tbaa !5
  %632 = load i32, ptr %631, align 4, !tbaa !9
  %633 = load ptr, ptr %35, align 8, !tbaa !5
  %634 = getelementptr inbounds i32, ptr %633, i64 6
  store i32 %632, ptr %634, align 4, !tbaa !9
  %635 = load ptr, ptr %21, align 8, !tbaa !5
  %636 = load ptr, ptr %27, align 8, !tbaa !5
  %637 = getelementptr inbounds float, ptr %636, i64 1
  %638 = load ptr, ptr %28, align 8, !tbaa !5
  %639 = getelementptr inbounds float, ptr %638, i64 1
  %640 = load ptr, ptr %34, align 8, !tbaa !5
  %641 = getelementptr inbounds float, ptr %640, i64 1
  %642 = load ptr, ptr %35, align 8, !tbaa !5
  %643 = getelementptr inbounds i32, ptr %642, i64 5
  %644 = load ptr, ptr %34, align 8, !tbaa !5
  %645 = load ptr, ptr %21, align 8, !tbaa !5
  %646 = load i32, ptr %645, align 4, !tbaa !9
  %647 = add nsw i32 %646, 1
  %648 = sext i32 %647 to i64
  %649 = getelementptr inbounds float, ptr %644, i64 %648
  %650 = load ptr, ptr %34, align 8, !tbaa !5
  %651 = load ptr, ptr %21, align 8, !tbaa !5
  %652 = load i32, ptr %651, align 4, !tbaa !9
  %653 = add nsw i32 %652, 5
  %654 = sext i32 %653 to i64
  %655 = getelementptr inbounds float, ptr %650, i64 %654
  %656 = load ptr, ptr %35, align 8, !tbaa !5
  %657 = getelementptr inbounds i32, ptr %656, i64 1
  %658 = load ptr, ptr %31, align 8, !tbaa !5
  %659 = getelementptr inbounds float, ptr %658, i64 1
  %660 = load ptr, ptr %32, align 8, !tbaa !5
  %661 = getelementptr inbounds i32, ptr %660, i64 1
  call void @slaebz_(ptr noundef @c__3, ptr noundef %55, ptr noundef %635, ptr noundef @c__2, ptr noundef @c__2, ptr noundef %63, ptr noundef %52, ptr noundef %57, ptr noundef %79, ptr noundef %637, ptr noundef %639, ptr noundef %641, ptr noundef %643, ptr noundef %649, ptr noundef %655, ptr noundef %47, ptr noundef %657, ptr noundef %659, ptr noundef %661, ptr noundef %51)
  %662 = load ptr, ptr %35, align 8, !tbaa !5
  %663 = getelementptr inbounds i32, ptr %662, i64 6
  %664 = load i32, ptr %663, align 4, !tbaa !9
  %665 = load ptr, ptr %25, align 8, !tbaa !5
  %666 = load i32, ptr %665, align 4, !tbaa !9
  %667 = icmp eq i32 %664, %666
  br i1 %667, label %668, label %703

668:                                              ; preds = %569
  %669 = load ptr, ptr %34, align 8, !tbaa !5
  %670 = load ptr, ptr %21, align 8, !tbaa !5
  %671 = load i32, ptr %670, align 4, !tbaa !9
  %672 = add nsw i32 %671, 1
  %673 = sext i32 %672 to i64
  %674 = getelementptr inbounds float, ptr %669, i64 %673
  %675 = load float, ptr %674, align 4, !tbaa !11
  store float %675, ptr %70, align 4, !tbaa !11
  %676 = load ptr, ptr %34, align 8, !tbaa !5
  %677 = load ptr, ptr %21, align 8, !tbaa !5
  %678 = load i32, ptr %677, align 4, !tbaa !9
  %679 = add nsw i32 %678, 3
  %680 = sext i32 %679 to i64
  %681 = getelementptr inbounds float, ptr %676, i64 %680
  %682 = load float, ptr %681, align 4, !tbaa !11
  store float %682, ptr %83, align 4, !tbaa !11
  %683 = load ptr, ptr %35, align 8, !tbaa !5
  %684 = getelementptr inbounds i32, ptr %683, i64 1
  %685 = load i32, ptr %684, align 4, !tbaa !9
  store i32 %685, ptr %81, align 4, !tbaa !9
  %686 = load ptr, ptr %34, align 8, !tbaa !5
  %687 = load ptr, ptr %21, align 8, !tbaa !5
  %688 = load i32, ptr %687, align 4, !tbaa !9
  %689 = add nsw i32 %688, 4
  %690 = sext i32 %689 to i64
  %691 = getelementptr inbounds float, ptr %686, i64 %690
  %692 = load float, ptr %691, align 4, !tbaa !11
  store float %692, ptr %74, align 4, !tbaa !11
  %693 = load ptr, ptr %34, align 8, !tbaa !5
  %694 = load ptr, ptr %21, align 8, !tbaa !5
  %695 = load i32, ptr %694, align 4, !tbaa !9
  %696 = add nsw i32 %695, 2
  %697 = sext i32 %696 to i64
  %698 = getelementptr inbounds float, ptr %693, i64 %697
  %699 = load float, ptr %698, align 4, !tbaa !11
  store float %699, ptr %84, align 4, !tbaa !11
  %700 = load ptr, ptr %35, align 8, !tbaa !5
  %701 = getelementptr inbounds i32, ptr %700, i64 4
  %702 = load i32, ptr %701, align 4, !tbaa !9
  store i32 %702, ptr %85, align 4, !tbaa !9
  br label %738

703:                                              ; preds = %569
  %704 = load ptr, ptr %34, align 8, !tbaa !5
  %705 = load ptr, ptr %21, align 8, !tbaa !5
  %706 = load i32, ptr %705, align 4, !tbaa !9
  %707 = add nsw i32 %706, 2
  %708 = sext i32 %707 to i64
  %709 = getelementptr inbounds float, ptr %704, i64 %708
  %710 = load float, ptr %709, align 4, !tbaa !11
  store float %710, ptr %70, align 4, !tbaa !11
  %711 = load ptr, ptr %34, align 8, !tbaa !5
  %712 = load ptr, ptr %21, align 8, !tbaa !5
  %713 = load i32, ptr %712, align 4, !tbaa !9
  %714 = add nsw i32 %713, 4
  %715 = sext i32 %714 to i64
  %716 = getelementptr inbounds float, ptr %711, i64 %715
  %717 = load float, ptr %716, align 4, !tbaa !11
  store float %717, ptr %83, align 4, !tbaa !11
  %718 = load ptr, ptr %35, align 8, !tbaa !5
  %719 = getelementptr inbounds i32, ptr %718, i64 2
  %720 = load i32, ptr %719, align 4, !tbaa !9
  store i32 %720, ptr %81, align 4, !tbaa !9
  %721 = load ptr, ptr %34, align 8, !tbaa !5
  %722 = load ptr, ptr %21, align 8, !tbaa !5
  %723 = load i32, ptr %722, align 4, !tbaa !9
  %724 = add nsw i32 %723, 3
  %725 = sext i32 %724 to i64
  %726 = getelementptr inbounds float, ptr %721, i64 %725
  %727 = load float, ptr %726, align 4, !tbaa !11
  store float %727, ptr %74, align 4, !tbaa !11
  %728 = load ptr, ptr %34, align 8, !tbaa !5
  %729 = load ptr, ptr %21, align 8, !tbaa !5
  %730 = load i32, ptr %729, align 4, !tbaa !9
  %731 = add nsw i32 %730, 1
  %732 = sext i32 %731 to i64
  %733 = getelementptr inbounds float, ptr %728, i64 %732
  %734 = load float, ptr %733, align 4, !tbaa !11
  store float %734, ptr %84, align 4, !tbaa !11
  %735 = load ptr, ptr %35, align 8, !tbaa !5
  %736 = getelementptr inbounds i32, ptr %735, i64 3
  %737 = load i32, ptr %736, align 4, !tbaa !9
  store i32 %737, ptr %85, align 4, !tbaa !9
  br label %738

738:                                              ; preds = %703, %668
  %739 = load i32, ptr %81, align 4, !tbaa !9
  %740 = icmp slt i32 %739, 0
  br i1 %740, label %754, label %741

741:                                              ; preds = %738
  %742 = load i32, ptr %81, align 4, !tbaa !9
  %743 = load ptr, ptr %21, align 8, !tbaa !5
  %744 = load i32, ptr %743, align 4, !tbaa !9
  %745 = icmp sge i32 %742, %744
  br i1 %745, label %754, label %746

746:                                              ; preds = %741
  %747 = load i32, ptr %85, align 4, !tbaa !9
  %748 = icmp slt i32 %747, 1
  br i1 %748, label %754, label %749

749:                                              ; preds = %746
  %750 = load i32, ptr %85, align 4, !tbaa !9
  %751 = load ptr, ptr %21, align 8, !tbaa !5
  %752 = load i32, ptr %751, align 4, !tbaa !9
  %753 = icmp sgt i32 %750, %752
  br i1 %753, label %754, label %756

754:                                              ; preds = %749, %746, %741, %738
  %755 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 4, ptr %755, align 4, !tbaa !9
  store i32 1, ptr %88, align 4
  br label %1824

756:                                              ; preds = %749
  br label %917

757:                                              ; preds = %380
  %758 = load ptr, ptr %27, align 8, !tbaa !5
  %759 = getelementptr inbounds float, ptr %758, i64 1
  %760 = load float, ptr %759, align 4, !tbaa !11
  %761 = fcmp oge float %760, 0.000000e+00
  br i1 %761, label %762, label %766

762:                                              ; preds = %757
  %763 = load ptr, ptr %27, align 8, !tbaa !5
  %764 = getelementptr inbounds float, ptr %763, i64 1
  %765 = load float, ptr %764, align 4, !tbaa !11
  br label %771

766:                                              ; preds = %757
  %767 = load ptr, ptr %27, align 8, !tbaa !5
  %768 = getelementptr inbounds float, ptr %767, i64 1
  %769 = load float, ptr %768, align 4, !tbaa !11
  %770 = fneg float %769
  br label %771

771:                                              ; preds = %766, %762
  %772 = phi float [ %765, %762 ], [ %770, %766 ]
  %773 = load ptr, ptr %28, align 8, !tbaa !5
  %774 = getelementptr inbounds float, ptr %773, i64 1
  %775 = load float, ptr %774, align 4, !tbaa !11
  %776 = fcmp oge float %775, 0.000000e+00
  br i1 %776, label %777, label %781

777:                                              ; preds = %771
  %778 = load ptr, ptr %28, align 8, !tbaa !5
  %779 = getelementptr inbounds float, ptr %778, i64 1
  %780 = load float, ptr %779, align 4, !tbaa !11
  br label %786

781:                                              ; preds = %771
  %782 = load ptr, ptr %28, align 8, !tbaa !5
  %783 = getelementptr inbounds float, ptr %782, i64 1
  %784 = load float, ptr %783, align 4, !tbaa !11
  %785 = fneg float %784
  br label %786

786:                                              ; preds = %781, %777
  %787 = phi float [ %780, %777 ], [ %785, %781 ]
  %788 = fadd float %772, %787
  store float %788, ptr %42, align 4, !tbaa !11
  %789 = load ptr, ptr %27, align 8, !tbaa !5
  %790 = load ptr, ptr %21, align 8, !tbaa !5
  %791 = load i32, ptr %790, align 4, !tbaa !9
  %792 = sext i32 %791 to i64
  %793 = getelementptr inbounds float, ptr %789, i64 %792
  %794 = load float, ptr %793, align 4, !tbaa !11
  store float %794, ptr %40, align 4, !tbaa !11
  %795 = load float, ptr %40, align 4, !tbaa !11
  %796 = fcmp oge float %795, 0.000000e+00
  br i1 %796, label %797, label %799

797:                                              ; preds = %786
  %798 = load float, ptr %40, align 4, !tbaa !11
  br label %802

799:                                              ; preds = %786
  %800 = load float, ptr %40, align 4, !tbaa !11
  %801 = fneg float %800
  br label %802

802:                                              ; preds = %799, %797
  %803 = phi float [ %798, %797 ], [ %801, %799 ]
  %804 = load ptr, ptr %28, align 8, !tbaa !5
  %805 = load ptr, ptr %21, align 8, !tbaa !5
  %806 = load i32, ptr %805, align 4, !tbaa !9
  %807 = sub nsw i32 %806, 1
  %808 = sext i32 %807 to i64
  %809 = getelementptr inbounds float, ptr %804, i64 %808
  %810 = load float, ptr %809, align 4, !tbaa !11
  store float %810, ptr %41, align 4, !tbaa !11
  %811 = load float, ptr %41, align 4, !tbaa !11
  %812 = fcmp oge float %811, 0.000000e+00
  br i1 %812, label %813, label %815

813:                                              ; preds = %802
  %814 = load float, ptr %41, align 4, !tbaa !11
  br label %818

815:                                              ; preds = %802
  %816 = load float, ptr %41, align 4, !tbaa !11
  %817 = fneg float %816
  br label %818

818:                                              ; preds = %815, %813
  %819 = phi float [ %814, %813 ], [ %817, %815 ]
  %820 = fadd float %803, %819
  store float %820, ptr %43, align 4, !tbaa !11
  %821 = load float, ptr %42, align 4, !tbaa !11
  %822 = load float, ptr %43, align 4, !tbaa !11
  %823 = fcmp oge float %821, %822
  br i1 %823, label %824, label %826

824:                                              ; preds = %818
  %825 = load float, ptr %42, align 4, !tbaa !11
  br label %828

826:                                              ; preds = %818
  %827 = load float, ptr %43, align 4, !tbaa !11
  br label %828

828:                                              ; preds = %826, %824
  %829 = phi float [ %825, %824 ], [ %827, %826 ]
  store float %829, ptr %58, align 4, !tbaa !11
  %830 = load ptr, ptr %21, align 8, !tbaa !5
  %831 = load i32, ptr %830, align 4, !tbaa !9
  %832 = sub nsw i32 %831, 1
  store i32 %832, ptr %37, align 4, !tbaa !9
  store i32 2, ptr %49, align 4, !tbaa !9
  br label %833

833:                                              ; preds = %893, %828
  %834 = load i32, ptr %49, align 4, !tbaa !9
  %835 = load i32, ptr %37, align 4, !tbaa !9
  %836 = icmp sle i32 %834, %835
  br i1 %836, label %837, label %896

837:                                              ; preds = %833
  %838 = load float, ptr %58, align 4, !tbaa !11
  store float %838, ptr %43, align 4, !tbaa !11
  %839 = load ptr, ptr %27, align 8, !tbaa !5
  %840 = load i32, ptr %49, align 4, !tbaa !9
  %841 = sext i32 %840 to i64
  %842 = getelementptr inbounds float, ptr %839, i64 %841
  %843 = load float, ptr %842, align 4, !tbaa !11
  store float %843, ptr %40, align 4, !tbaa !11
  %844 = load float, ptr %40, align 4, !tbaa !11
  %845 = fcmp oge float %844, 0.000000e+00
  br i1 %845, label %846, label %848

846:                                              ; preds = %837
  %847 = load float, ptr %40, align 4, !tbaa !11
  br label %851

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

851:                                              ; preds = %848, %846
  %852 = phi float [ %847, %846 ], [ %850, %848 ]
  %853 = load ptr, ptr %28, align 8, !tbaa !5
  %854 = load i32, ptr %49, align 4, !tbaa !9
  %855 = sub nsw i32 %854, 1
  %856 = sext i32 %855 to i64
  %857 = getelementptr inbounds float, ptr %853, i64 %856
  %858 = load float, ptr %857, align 4, !tbaa !11
  store float %858, ptr %41, align 4, !tbaa !11
  %859 = load float, ptr %41, align 4, !tbaa !11
  %860 = fcmp oge float %859, 0.000000e+00
  br i1 %860, label %861, label %863

861:                                              ; preds = %851
  %862 = load float, ptr %41, align 4, !tbaa !11
  br label %866

863:                                              ; preds = %851
  %864 = load float, ptr %41, align 4, !tbaa !11
  %865 = fneg float %864
  br label %866

866:                                              ; preds = %863, %861
  %867 = phi float [ %862, %861 ], [ %865, %863 ]
  %868 = fadd float %852, %867
  %869 = load ptr, ptr %28, align 8, !tbaa !5
  %870 = load i32, ptr %49, 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
  store float %873, ptr %42, align 4, !tbaa !11
  %874 = load float, ptr %42, align 4, !tbaa !11
  %875 = fcmp oge float %874, 0.000000e+00
  br i1 %875, label %876, label %878

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

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

881:                                              ; preds = %878, %876
  %882 = phi float [ %877, %876 ], [ %880, %878 ]
  %883 = fadd float %868, %882
  store float %883, ptr %44, align 4, !tbaa !11
  %884 = load float, ptr %43, align 4, !tbaa !11
  %885 = load float, ptr %44, align 4, !tbaa !11
  %886 = fcmp oge float %884, %885
  br i1 %886, label %887, label %889

887:                                              ; preds = %881
  %888 = load float, ptr %43, align 4, !tbaa !11
  br label %891

889:                                              ; preds = %881
  %890 = load float, ptr %44, align 4, !tbaa !11
  br label %891

891:                                              ; preds = %889, %887
  %892 = phi float [ %888, %887 ], [ %890, %889 ]
  store float %892, ptr %58, align 4, !tbaa !11
  br label %893

893:                                              ; preds = %891
  %894 = load i32, ptr %49, align 4, !tbaa !9
  %895 = add nsw i32 %894, 1
  store i32 %895, ptr %49, align 4, !tbaa !9
  br label %833, !llvm.loop !16

896:                                              ; preds = %833
  %897 = load ptr, ptr %26, align 8, !tbaa !5
  %898 = load float, ptr %897, align 4, !tbaa !11
  %899 = fcmp ole float %898, 0.000000e+00
  br i1 %899, label %900, label %904

900:                                              ; preds = %896
  %901 = load float, ptr %82, align 4, !tbaa !11
  %902 = load float, ptr %58, align 4, !tbaa !11
  %903 = fmul float %901, %902
  store float %903, ptr %52, align 4, !tbaa !11
  br label %907

904:                                              ; preds = %896
  %905 = load ptr, ptr %26, align 8, !tbaa !5
  %906 = load float, ptr %905, align 4, !tbaa !11
  store float %906, ptr %52, align 4, !tbaa !11
  br label %907

907:                                              ; preds = %904, %900
  %908 = load i32, ptr %71, align 4, !tbaa !9
  %909 = icmp eq i32 %908, 2
  br i1 %909, label %910, label %915

910:                                              ; preds = %907
  %911 = load ptr, ptr %22, align 8, !tbaa !5
  %912 = load float, ptr %911, align 4, !tbaa !11
  store float %912, ptr %70, align 4, !tbaa !11
  %913 = load ptr, ptr %23, align 8, !tbaa !5
  %914 = load float, ptr %913, align 4, !tbaa !11
  store float %914, ptr %74, align 4, !tbaa !11
  br label %916

915:                                              ; preds = %907
  store float 0.000000e+00, ptr %70, align 4, !tbaa !11
  store float 0.000000e+00, ptr %74, align 4, !tbaa !11
  br label %916

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

917:                                              ; preds = %916, %756
  %918 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 0, ptr %918, align 4, !tbaa !9
  store i32 0, ptr %45, align 4, !tbaa !9
  %919 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 0, ptr %919, align 4, !tbaa !9
  store i32 0, ptr %81, align 4, !tbaa !9
  store i32 0, ptr %85, align 4, !tbaa !9
  %920 = load ptr, ptr %30, align 8, !tbaa !5
  %921 = load i32, ptr %920, align 4, !tbaa !9
  store i32 %921, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %60, align 4, !tbaa !9
  br label %922

922:                                              ; preds = %1467, %917
  %923 = load i32, ptr %60, align 4, !tbaa !9
  %924 = load i32, ptr %37, align 4, !tbaa !9
  %925 = icmp sle i32 %923, %924
  br i1 %925, label %926, label %1470

926:                                              ; preds = %922
  %927 = load i32, ptr %45, align 4, !tbaa !9
  store i32 %927, ptr %46, align 4, !tbaa !9
  %928 = load i32, ptr %46, align 4, !tbaa !9
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr %67, align 4, !tbaa !9
  %930 = load ptr, ptr %33, align 8, !tbaa !5
  %931 = load i32, ptr %60, align 4, !tbaa !9
  %932 = sext i32 %931 to i64
  %933 = getelementptr inbounds i32, ptr %930, i64 %932
  %934 = load i32, ptr %933, align 4, !tbaa !9
  store i32 %934, ptr %45, align 4, !tbaa !9
  %935 = load i32, ptr %45, align 4, !tbaa !9
  %936 = load i32, ptr %46, align 4, !tbaa !9
  %937 = sub nsw i32 %935, %936
  store i32 %937, ptr %66, align 4, !tbaa !9
  %938 = load i32, ptr %66, align 4, !tbaa !9
  %939 = icmp eq i32 %938, 1
  br i1 %939, label %940, label %1016

940:                                              ; preds = %926
  %941 = load i32, ptr %71, align 4, !tbaa !9
  %942 = icmp eq i32 %941, 1
  br i1 %942, label %953, label %943

943:                                              ; preds = %940
  %944 = load float, ptr %70, align 4, !tbaa !11
  %945 = load ptr, ptr %27, align 8, !tbaa !5
  %946 = load i32, ptr %67, align 4, !tbaa !9
  %947 = sext i32 %946 to i64
  %948 = getelementptr inbounds float, ptr %945, i64 %947
  %949 = load float, ptr %948, align 4, !tbaa !11
  %950 = load float, ptr %79, align 4, !tbaa !11
  %951 = fsub float %949, %950
  %952 = fcmp oge float %944, %951
  br i1 %952, label %953, label %956

953:                                              ; preds = %943, %940
  %954 = load i32, ptr %81, align 4, !tbaa !9
  %955 = add nsw i32 %954, 1
  store i32 %955, ptr %81, align 4, !tbaa !9
  br label %956

956:                                              ; preds = %953, %943
  %957 = load i32, ptr %71, align 4, !tbaa !9
  %958 = icmp eq i32 %957, 1
  br i1 %958, label %969, label %959

959:                                              ; preds = %956
  %960 = load float, ptr %74, align 4, !tbaa !11
  %961 = load ptr, ptr %27, align 8, !tbaa !5
  %962 = load i32, ptr %67, align 4, !tbaa !9
  %963 = sext i32 %962 to i64
  %964 = getelementptr inbounds float, ptr %961, i64 %963
  %965 = load float, ptr %964, align 4, !tbaa !11
  %966 = load float, ptr %79, align 4, !tbaa !11
  %967 = fsub float %965, %966
  %968 = fcmp oge float %960, %967
  br i1 %968, label %969, label %972

969:                                              ; preds = %959, %956
  %970 = load i32, ptr %85, align 4, !tbaa !9
  %971 = add nsw i32 %970, 1
  store i32 %971, ptr %85, align 4, !tbaa !9
  br label %972

972:                                              ; preds = %969, %959
  %973 = load i32, ptr %71, align 4, !tbaa !9
  %974 = icmp eq i32 %973, 1
  br i1 %974, label %995, label %975

975:                                              ; preds = %972
  %976 = load float, ptr %70, align 4, !tbaa !11
  %977 = load ptr, ptr %27, align 8, !tbaa !5
  %978 = load i32, ptr %67, align 4, !tbaa !9
  %979 = sext i32 %978 to i64
  %980 = getelementptr inbounds float, ptr %977, i64 %979
  %981 = load float, ptr %980, align 4, !tbaa !11
  %982 = load float, ptr %79, align 4, !tbaa !11
  %983 = fsub float %981, %982
  %984 = fcmp olt float %976, %983
  br i1 %984, label %985, label %1015

985:                                              ; preds = %975
  %986 = load float, ptr %74, align 4, !tbaa !11
  %987 = load ptr, ptr %27, align 8, !tbaa !5
  %988 = load i32, ptr %67, align 4, !tbaa !9
  %989 = sext i32 %988 to i64
  %990 = getelementptr inbounds float, ptr %987, i64 %989
  %991 = load float, ptr %990, align 4, !tbaa !11
  %992 = load float, ptr %79, align 4, !tbaa !11
  %993 = fsub float %991, %992
  %994 = fcmp oge float %986, %993
  br i1 %994, label %995, label %1015

995:                                              ; preds = %985, %972
  %996 = load ptr, ptr %29, align 8, !tbaa !5
  %997 = load i32, ptr %996, align 4, !tbaa !9
  %998 = add nsw i32 %997, 1
  store i32 %998, ptr %996, align 4, !tbaa !9
  %999 = load ptr, ptr %27, align 8, !tbaa !5
  %1000 = load i32, ptr %67, align 4, !tbaa !9
  %1001 = sext i32 %1000 to i64
  %1002 = getelementptr inbounds float, ptr %999, i64 %1001
  %1003 = load float, ptr %1002, align 4, !tbaa !11
  %1004 = load ptr, ptr %31, align 8, !tbaa !5
  %1005 = load ptr, ptr %29, align 8, !tbaa !5
  %1006 = load i32, ptr %1005, align 4, !tbaa !9
  %1007 = sext i32 %1006 to i64
  %1008 = getelementptr inbounds float, ptr %1004, i64 %1007
  store float %1003, ptr %1008, align 4, !tbaa !11
  %1009 = load i32, ptr %60, align 4, !tbaa !9
  %1010 = load ptr, ptr %32, align 8, !tbaa !5
  %1011 = load ptr, ptr %29, align 8, !tbaa !5
  %1012 = load i32, ptr %1011, align 4, !tbaa !9
  %1013 = sext i32 %1012 to i64
  %1014 = getelementptr inbounds i32, ptr %1010, i64 %1013
  store i32 %1009, ptr %1014, align 4, !tbaa !9
  br label %1015

1015:                                             ; preds = %995, %985, %975
  br label %1465

1016:                                             ; preds = %926
  %1017 = load ptr, ptr %27, align 8, !tbaa !5
  %1018 = load i32, ptr %67, align 4, !tbaa !9
  %1019 = sext i32 %1018 to i64
  %1020 = getelementptr inbounds float, ptr %1017, i64 %1019
  %1021 = load float, ptr %1020, align 4, !tbaa !11
  store float %1021, ptr %68, align 4, !tbaa !11
  %1022 = load ptr, ptr %27, align 8, !tbaa !5
  %1023 = load i32, ptr %67, align 4, !tbaa !9
  %1024 = sext i32 %1023 to i64
  %1025 = getelementptr inbounds float, ptr %1022, i64 %1024
  %1026 = load float, ptr %1025, align 4, !tbaa !11
  store float %1026, ptr %64, align 4, !tbaa !11
  store float 0.000000e+00, ptr %86, align 4, !tbaa !11
  %1027 = load i32, ptr %45, align 4, !tbaa !9
  %1028 = sub nsw i32 %1027, 1
  store i32 %1028, ptr %38, align 4, !tbaa !9
  %1029 = load i32, ptr %67, align 4, !tbaa !9
  store i32 %1029, ptr %49, align 4, !tbaa !9
  br label %1030

1030:                                             ; preds = %1088, %1016
  %1031 = load i32, ptr %49, align 4, !tbaa !9
  %1032 = load i32, ptr %38, align 4, !tbaa !9
  %1033 = icmp sle i32 %1031, %1032
  br i1 %1033, label %1034, label %1091

1034:                                             ; preds = %1030
  %1035 = load ptr, ptr %28, align 8, !tbaa !5
  %1036 = load i32, ptr %49, align 4, !tbaa !9
  %1037 = sext i32 %1036 to i64
  %1038 = getelementptr inbounds float, ptr %1035, i64 %1037
  %1039 = load float, ptr %1038, align 4, !tbaa !11
  store float %1039, ptr %40, align 4, !tbaa !11
  %1040 = load float, ptr %40, align 4, !tbaa !11
  %1041 = fcmp oge float %1040, 0.000000e+00
  br i1 %1041, label %1042, label %1044

1042:                                             ; preds = %1034
  %1043 = load float, ptr %40, align 4, !tbaa !11
  br label %1047

1044:                                             ; preds = %1034
  %1045 = load float, ptr %40, align 4, !tbaa !11
  %1046 = fneg float %1045
  br label %1047

1047:                                             ; preds = %1044, %1042
  %1048 = phi float [ %1043, %1042 ], [ %1046, %1044 ]
  store float %1048, ptr %87, align 4, !tbaa !11
  %1049 = load float, ptr %68, align 4, !tbaa !11
  store float %1049, ptr %40, align 4, !tbaa !11
  %1050 = load ptr, ptr %27, align 8, !tbaa !5
  %1051 = load i32, ptr %49, align 4, !tbaa !9
  %1052 = sext i32 %1051 to i64
  %1053 = getelementptr inbounds float, ptr %1050, i64 %1052
  %1054 = load float, ptr %1053, align 4, !tbaa !11
  %1055 = load float, ptr %86, align 4, !tbaa !11
  %1056 = fadd float %1054, %1055
  %1057 = load float, ptr %87, align 4, !tbaa !11
  %1058 = fadd float %1056, %1057
  store float %1058, ptr %41, align 4, !tbaa !11
  %1059 = load float, ptr %40, align 4, !tbaa !11
  %1060 = load float, ptr %41, align 4, !tbaa !11
  %1061 = fcmp oge float %1059, %1060
  br i1 %1061, label %1062, label %1064

1062:                                             ; preds = %1047
  %1063 = load float, ptr %40, align 4, !tbaa !11
  br label %1066

1064:                                             ; preds = %1047
  %1065 = load float, ptr %41, align 4, !tbaa !11
  br label %1066

1066:                                             ; preds = %1064, %1062
  %1067 = phi float [ %1063, %1062 ], [ %1065, %1064 ]
  store float %1067, ptr %68, align 4, !tbaa !11
  %1068 = load float, ptr %64, align 4, !tbaa !11
  store float %1068, ptr %40, align 4, !tbaa !11
  %1069 = load ptr, ptr %27, align 8, !tbaa !5
  %1070 = load i32, ptr %49, align 4, !tbaa !9
  %1071 = sext i32 %1070 to i64
  %1072 = getelementptr inbounds float, ptr %1069, i64 %1071
  %1073 = load float, ptr %1072, align 4, !tbaa !11
  %1074 = load float, ptr %86, align 4, !tbaa !11
  %1075 = fsub float %1073, %1074
  %1076 = load float, ptr %87, align 4, !tbaa !11
  %1077 = fsub float %1075, %1076
  store float %1077, ptr %41, align 4, !tbaa !11
  %1078 = load float, ptr %40, align 4, !tbaa !11
  %1079 = load float, ptr %41, align 4, !tbaa !11
  %1080 = fcmp ole float %1078, %1079
  br i1 %1080, label %1081, label %1083

1081:                                             ; preds = %1066
  %1082 = load float, ptr %40, align 4, !tbaa !11
  br label %1085

1083:                                             ; preds = %1066
  %1084 = load float, ptr %41, align 4, !tbaa !11
  br label %1085

1085:                                             ; preds = %1083, %1081
  %1086 = phi float [ %1082, %1081 ], [ %1084, %1083 ]
  store float %1086, ptr %64, align 4, !tbaa !11
  %1087 = load float, ptr %87, align 4, !tbaa !11
  store float %1087, ptr %86, align 4, !tbaa !11
  br label %1088

1088:                                             ; preds = %1085
  %1089 = load i32, ptr %49, align 4, !tbaa !9
  %1090 = add nsw i32 %1089, 1
  store i32 %1090, ptr %49, align 4, !tbaa !9
  br label %1030, !llvm.loop !17

1091:                                             ; preds = %1030
  %1092 = load float, ptr %68, align 4, !tbaa !11
  store float %1092, ptr %40, align 4, !tbaa !11
  %1093 = load ptr, ptr %27, align 8, !tbaa !5
  %1094 = load i32, ptr %45, align 4, !tbaa !9
  %1095 = sext i32 %1094 to i64
  %1096 = getelementptr inbounds float, ptr %1093, i64 %1095
  %1097 = load float, ptr %1096, align 4, !tbaa !11
  %1098 = load float, ptr %86, align 4, !tbaa !11
  %1099 = fadd float %1097, %1098
  store float %1099, ptr %41, align 4, !tbaa !11
  %1100 = load float, ptr %40, align 4, !tbaa !11
  %1101 = load float, ptr %41, align 4, !tbaa !11
  %1102 = fcmp oge float %1100, %1101
  br i1 %1102, label %1103, label %1105

1103:                                             ; preds = %1091
  %1104 = load float, ptr %40, align 4, !tbaa !11
  br label %1107

1105:                                             ; preds = %1091
  %1106 = load float, ptr %41, align 4, !tbaa !11
  br label %1107

1107:                                             ; preds = %1105, %1103
  %1108 = phi float [ %1104, %1103 ], [ %1106, %1105 ]
  store float %1108, ptr %68, align 4, !tbaa !11
  %1109 = load float, ptr %64, align 4, !tbaa !11
  store float %1109, ptr %40, align 4, !tbaa !11
  %1110 = load ptr, ptr %27, align 8, !tbaa !5
  %1111 = load i32, ptr %45, align 4, !tbaa !9
  %1112 = sext i32 %1111 to i64
  %1113 = getelementptr inbounds float, ptr %1110, i64 %1112
  %1114 = load float, ptr %1113, align 4, !tbaa !11
  %1115 = load float, ptr %86, align 4, !tbaa !11
  %1116 = fsub float %1114, %1115
  store float %1116, ptr %41, align 4, !tbaa !11
  %1117 = load float, ptr %40, align 4, !tbaa !11
  %1118 = load float, ptr %41, align 4, !tbaa !11
  %1119 = fcmp ole float %1117, %1118
  br i1 %1119, label %1120, label %1122

1120:                                             ; preds = %1107
  %1121 = load float, ptr %40, align 4, !tbaa !11
  br label %1124

1122:                                             ; preds = %1107
  %1123 = load float, ptr %41, align 4, !tbaa !11
  br label %1124

1124:                                             ; preds = %1122, %1120
  %1125 = phi float [ %1121, %1120 ], [ %1123, %1122 ]
  store float %1125, ptr %64, align 4, !tbaa !11
  %1126 = load float, ptr %64, align 4, !tbaa !11
  %1127 = fcmp oge float %1126, 0.000000e+00
  br i1 %1127, label %1128, label %1130

1128:                                             ; preds = %1124
  %1129 = load float, ptr %64, align 4, !tbaa !11
  br label %1133

1130:                                             ; preds = %1124
  %1131 = load float, ptr %64, align 4, !tbaa !11
  %1132 = fneg float %1131
  br label %1133

1133:                                             ; preds = %1130, %1128
  %1134 = phi float [ %1129, %1128 ], [ %1132, %1130 ]
  store float %1134, ptr %40, align 4, !tbaa !11
  %1135 = load float, ptr %68, align 4, !tbaa !11
  %1136 = fcmp oge float %1135, 0.000000e+00
  br i1 %1136, label %1137, label %1139

1137:                                             ; preds = %1133
  %1138 = load float, ptr %68, align 4, !tbaa !11
  br label %1142

1139:                                             ; preds = %1133
  %1140 = load float, ptr %68, align 4, !tbaa !11
  %1141 = fneg float %1140
  br label %1142

1142:                                             ; preds = %1139, %1137
  %1143 = phi float [ %1138, %1137 ], [ %1141, %1139 ]
  store float %1143, ptr %41, align 4, !tbaa !11
  %1144 = load float, ptr %40, align 4, !tbaa !11
  %1145 = load float, ptr %41, align 4, !tbaa !11
  %1146 = fcmp oge float %1144, %1145
  br i1 %1146, label %1147, label %1149

1147:                                             ; preds = %1142
  %1148 = load float, ptr %40, align 4, !tbaa !11
  br label %1151

1149:                                             ; preds = %1142
  %1150 = load float, ptr %41, align 4, !tbaa !11
  br label %1151

1151:                                             ; preds = %1149, %1147
  %1152 = phi float [ %1148, %1147 ], [ %1150, %1149 ]
  store float %1152, ptr %54, align 4, !tbaa !11
  %1153 = load float, ptr %64, align 4, !tbaa !11
  %1154 = load float, ptr %54, align 4, !tbaa !11
  %1155 = fmul float %1154, 0x4000CCCCC0000000
  %1156 = load float, ptr %82, align 4, !tbaa !11
  %1157 = fmul float %1155, %1156
  %1158 = load i32, ptr %66, align 4, !tbaa !9
  %1159 = sitofp i32 %1158 to float
  %1160 = fneg float %1157
  %1161 = call float @llvm.fmuladd.f32(float %1160, float %1159, float %1153)
  %1162 = load float, ptr %79, align 4, !tbaa !11
  %1163 = fneg float %1162
  %1164 = call float @llvm.fmuladd.f32(float %1163, float 0x4000CCCCC0000000, float %1161)
  store float %1164, ptr %64, align 4, !tbaa !11
  %1165 = load float, ptr %68, align 4, !tbaa !11
  %1166 = load float, ptr %54, align 4, !tbaa !11
  %1167 = fmul float %1166, 0x4000CCCCC0000000
  %1168 = load float, ptr %82, align 4, !tbaa !11
  %1169 = fmul float %1167, %1168
  %1170 = load i32, ptr %66, align 4, !tbaa !9
  %1171 = sitofp i32 %1170 to float
  %1172 = call float @llvm.fmuladd.f32(float %1169, float %1171, float %1165)
  %1173 = load float, ptr %79, align 4, !tbaa !11
  %1174 = call float @llvm.fmuladd.f32(float %1173, float 0x4000CCCCC0000000, float %1172)
  store float %1174, ptr %68, align 4, !tbaa !11
  %1175 = load ptr, ptr %26, align 8, !tbaa !5
  %1176 = load float, ptr %1175, align 4, !tbaa !11
  %1177 = fcmp ole float %1176, 0.000000e+00
  br i1 %1177, label %1178, label %1208

1178:                                             ; preds = %1151
  %1179 = load float, ptr %64, align 4, !tbaa !11
  %1180 = fcmp oge float %1179, 0.000000e+00
  br i1 %1180, label %1181, label %1183

1181:                                             ; preds = %1178
  %1182 = load float, ptr %64, align 4, !tbaa !11
  br label %1186

1183:                                             ; preds = %1178
  %1184 = load float, ptr %64, align 4, !tbaa !11
  %1185 = fneg float %1184
  br label %1186

1186:                                             ; preds = %1183, %1181
  %1187 = phi float [ %1182, %1181 ], [ %1185, %1183 ]
  store float %1187, ptr %40, align 4, !tbaa !11
  %1188 = load float, ptr %68, align 4, !tbaa !11
  %1189 = fcmp oge float %1188, 0.000000e+00
  br i1 %1189, label %1190, label %1192

1190:                                             ; preds = %1186
  %1191 = load float, ptr %68, align 4, !tbaa !11
  br label %1195

1192:                                             ; preds = %1186
  %1193 = load float, ptr %68, align 4, !tbaa !11
  %1194 = fneg float %1193
  br label %1195

1195:                                             ; preds = %1192, %1190
  %1196 = phi float [ %1191, %1190 ], [ %1194, %1192 ]
  store float %1196, ptr %41, align 4, !tbaa !11
  %1197 = load float, ptr %82, align 4, !tbaa !11
  %1198 = load float, ptr %40, align 4, !tbaa !11
  %1199 = load float, ptr %41, align 4, !tbaa !11
  %1200 = fcmp oge float %1198, %1199
  br i1 %1200, label %1201, label %1203

1201:                                             ; preds = %1195
  %1202 = load float, ptr %40, align 4, !tbaa !11
  br label %1205

1203:                                             ; preds = %1195
  %1204 = load float, ptr %41, align 4, !tbaa !11
  br label %1205

1205:                                             ; preds = %1203, %1201
  %1206 = phi float [ %1202, %1201 ], [ %1204, %1203 ]
  %1207 = fmul float %1197, %1206
  store float %1207, ptr %52, align 4, !tbaa !11
  br label %1211

1208:                                             ; preds = %1151
  %1209 = load ptr, ptr %26, align 8, !tbaa !5
  %1210 = load float, ptr %1209, align 4, !tbaa !11
  store float %1210, ptr %52, align 4, !tbaa !11
  br label %1211

1211:                                             ; preds = %1208, %1205
  %1212 = load i32, ptr %71, align 4, !tbaa !9
  %1213 = icmp sgt i32 %1212, 1
  br i1 %1213, label %1214, label %1249

1214:                                             ; preds = %1211
  %1215 = load float, ptr %68, align 4, !tbaa !11
  %1216 = load float, ptr %70, align 4, !tbaa !11
  %1217 = fcmp olt float %1215, %1216
  br i1 %1217, label %1218, label %1225

1218:                                             ; preds = %1214
  %1219 = load i32, ptr %66, align 4, !tbaa !9
  %1220 = load i32, ptr %81, align 4, !tbaa !9
  %1221 = add nsw i32 %1220, %1219
  store i32 %1221, ptr %81, align 4, !tbaa !9
  %1222 = load i32, ptr %66, align 4, !tbaa !9
  %1223 = load i32, ptr %85, align 4, !tbaa !9
  %1224 = add nsw i32 %1223, %1222
  store i32 %1224, ptr %85, align 4, !tbaa !9
  br label %1466

1225:                                             ; preds = %1214
  %1226 = load float, ptr %64, align 4, !tbaa !11
  %1227 = load float, ptr %70, align 4, !tbaa !11
  %1228 = fcmp oge float %1226, %1227
  br i1 %1228, label %1229, label %1231

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

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

1233:                                             ; preds = %1231, %1229
  %1234 = phi float [ %1230, %1229 ], [ %1232, %1231 ]
  store float %1234, ptr %64, align 4, !tbaa !11
  %1235 = load float, ptr %68, align 4, !tbaa !11
  %1236 = load float, ptr %74, align 4, !tbaa !11
  %1237 = fcmp ole float %1235, %1236
  br i1 %1237, label %1238, label %1240

1238:                                             ; preds = %1233
  %1239 = load float, ptr %68, align 4, !tbaa !11
  br label %1242

1240:                                             ; preds = %1233
  %1241 = load float, ptr %74, align 4, !tbaa !11
  br label %1242

1242:                                             ; preds = %1240, %1238
  %1243 = phi float [ %1239, %1238 ], [ %1241, %1240 ]
  store float %1243, ptr %68, align 4, !tbaa !11
  %1244 = load float, ptr %64, align 4, !tbaa !11
  %1245 = load float, ptr %68, align 4, !tbaa !11
  %1246 = fcmp oge float %1244, %1245
  br i1 %1246, label %1247, label %1248

1247:                                             ; preds = %1242
  br label %1466

1248:                                             ; preds = %1242
  br label %1249

1249:                                             ; preds = %1248, %1211
  %1250 = load float, ptr %64, align 4, !tbaa !11
  %1251 = load ptr, ptr %34, align 8, !tbaa !5
  %1252 = load ptr, ptr %21, align 8, !tbaa !5
  %1253 = load i32, ptr %1252, align 4, !tbaa !9
  %1254 = add nsw i32 %1253, 1
  %1255 = sext i32 %1254 to i64
  %1256 = getelementptr inbounds float, ptr %1251, i64 %1255
  store float %1250, ptr %1256, align 4, !tbaa !11
  %1257 = load float, ptr %68, align 4, !tbaa !11
  %1258 = load ptr, ptr %34, align 8, !tbaa !5
  %1259 = load ptr, ptr %21, align 8, !tbaa !5
  %1260 = load i32, ptr %1259, align 4, !tbaa !9
  %1261 = load i32, ptr %66, align 4, !tbaa !9
  %1262 = add nsw i32 %1260, %1261
  %1263 = add nsw i32 %1262, 1
  %1264 = sext i32 %1263 to i64
  %1265 = getelementptr inbounds float, ptr %1258, i64 %1264
  store float %1257, ptr %1265, align 4, !tbaa !11
  %1266 = load ptr, ptr %27, align 8, !tbaa !5
  %1267 = load i32, ptr %67, align 4, !tbaa !9
  %1268 = sext i32 %1267 to i64
  %1269 = getelementptr inbounds float, ptr %1266, i64 %1268
  %1270 = load ptr, ptr %28, align 8, !tbaa !5
  %1271 = load i32, ptr %67, align 4, !tbaa !9
  %1272 = sext i32 %1271 to i64
  %1273 = getelementptr inbounds float, ptr %1270, i64 %1272
  %1274 = load ptr, ptr %34, align 8, !tbaa !5
  %1275 = load i32, ptr %67, align 4, !tbaa !9
  %1276 = sext i32 %1275 to i64
  %1277 = getelementptr inbounds float, ptr %1274, i64 %1276
  %1278 = getelementptr inbounds [1 x i32], ptr %75, i64 0, i64 0
  %1279 = load ptr, ptr %34, align 8, !tbaa !5
  %1280 = load ptr, ptr %21, align 8, !tbaa !5
  %1281 = load i32, ptr %1280, align 4, !tbaa !9
  %1282 = add nsw i32 %1281, 1
  %1283 = sext i32 %1282 to i64
  %1284 = getelementptr inbounds float, ptr %1279, i64 %1283
  %1285 = load ptr, ptr %34, align 8, !tbaa !5
  %1286 = load ptr, ptr %21, align 8, !tbaa !5
  %1287 = load i32, ptr %1286, align 4, !tbaa !9
  %1288 = load i32, ptr %66, align 4, !tbaa !9
  %1289 = shl i32 %1288, 1
  %1290 = add nsw i32 %1287, %1289
  %1291 = add nsw i32 %1290, 1
  %1292 = sext i32 %1291 to i64
  %1293 = getelementptr inbounds float, ptr %1285, i64 %1292
  %1294 = load ptr, ptr %35, align 8, !tbaa !5
  %1295 = getelementptr inbounds i32, ptr %1294, i64 1
  %1296 = load ptr, ptr %31, align 8, !tbaa !5
  %1297 = load ptr, ptr %29, align 8, !tbaa !5
  %1298 = load i32, ptr %1297, align 4, !tbaa !9
  %1299 = add nsw i32 %1298, 1
  %1300 = sext i32 %1299 to i64
  %1301 = getelementptr inbounds float, ptr %1296, i64 %1300
  %1302 = load ptr, ptr %32, align 8, !tbaa !5
  %1303 = load ptr, ptr %29, align 8, !tbaa !5
  %1304 = load i32, ptr %1303, align 4, !tbaa !9
  %1305 = add nsw i32 %1304, 1
  %1306 = sext i32 %1305 to i64
  %1307 = getelementptr inbounds i32, ptr %1302, i64 %1306
  call void @slaebz_(ptr noundef @c__1, ptr noundef @c__0, ptr noundef %66, ptr noundef %66, ptr noundef @c__1, ptr noundef %63, ptr noundef %52, ptr noundef %57, ptr noundef %79, ptr noundef %1269, ptr noundef %1273, ptr noundef %1277, ptr noundef %1278, ptr noundef %1284, ptr noundef %1293, ptr noundef %65, ptr noundef %1295, ptr noundef %1301, ptr noundef %1307, ptr noundef %51)
  %1308 = load ptr, ptr %35, align 8, !tbaa !5
  %1309 = getelementptr inbounds i32, ptr %1308, i64 1
  %1310 = load i32, ptr %1309, align 4, !tbaa !9
  %1311 = load i32, ptr %81, align 4, !tbaa !9
  %1312 = add nsw i32 %1311, %1310
  store i32 %1312, ptr %81, align 4, !tbaa !9
  %1313 = load ptr, ptr %35, align 8, !tbaa !5
  %1314 = load i32, ptr %66, align 4, !tbaa !9
  %1315 = add nsw i32 %1314, 1
  %1316 = sext i32 %1315 to i64
  %1317 = getelementptr inbounds i32, ptr %1313, i64 %1316
  %1318 = load i32, ptr %1317, align 4, !tbaa !9
  %1319 = load i32, ptr %85, align 4, !tbaa !9
  %1320 = add nsw i32 %1319, %1318
  store i32 %1320, ptr %85, align 4, !tbaa !9
  %1321 = load ptr, ptr %29, align 8, !tbaa !5
  %1322 = load i32, ptr %1321, align 4, !tbaa !9
  %1323 = load ptr, ptr %35, align 8, !tbaa !5
  %1324 = getelementptr inbounds i32, ptr %1323, i64 1
  %1325 = load i32, ptr %1324, align 4, !tbaa !9
  %1326 = sub nsw i32 %1322, %1325
  store i32 %1326, ptr %53, align 4, !tbaa !9
  %1327 = load float, ptr %68, align 4, !tbaa !11
  %1328 = load float, ptr %64, align 4, !tbaa !11
  %1329 = fsub float %1327, %1328
  %1330 = load float, ptr %79, align 4, !tbaa !11
  %1331 = fadd float %1329, %1330
  %1332 = fpext float %1331 to double
  %1333 = call double @log(double noundef %1332) #5
  %1334 = load float, ptr %79, align 4, !tbaa !11
  %1335 = fpext float %1334 to double
  %1336 = call double @log(double noundef %1335) #5
  %1337 = fsub double %1333, %1336
  %1338 = call double @log(double noundef 2.000000e+00) #5
  %1339 = fdiv double %1337, %1338
  %1340 = fptosi double %1339 to i32
  %1341 = add nsw i32 %1340, 2
  store i32 %1341, ptr %55, align 4, !tbaa !9
  %1342 = load ptr, ptr %27, align 8, !tbaa !5
  %1343 = load i32, ptr %67, align 4, !tbaa !9
  %1344 = sext i32 %1343 to i64
  %1345 = getelementptr inbounds float, ptr %1342, i64 %1344
  %1346 = load ptr, ptr %28, align 8, !tbaa !5
  %1347 = load i32, ptr %67, align 4, !tbaa !9
  %1348 = sext i32 %1347 to i64
  %1349 = getelementptr inbounds float, ptr %1346, i64 %1348
  %1350 = load ptr, ptr %34, align 8, !tbaa !5
  %1351 = load i32, ptr %67, align 4, !tbaa !9
  %1352 = sext i32 %1351 to i64
  %1353 = getelementptr inbounds float, ptr %1350, i64 %1352
  %1354 = getelementptr inbounds [1 x i32], ptr %75, i64 0, i64 0
  %1355 = load ptr, ptr %34, align 8, !tbaa !5
  %1356 = load ptr, ptr %21, align 8, !tbaa !5
  %1357 = load i32, ptr %1356, align 4, !tbaa !9
  %1358 = add nsw i32 %1357, 1
  %1359 = sext i32 %1358 to i64
  %1360 = getelementptr inbounds float, ptr %1355, i64 %1359
  %1361 = load ptr, ptr %34, align 8, !tbaa !5
  %1362 = load ptr, ptr %21, align 8, !tbaa !5
  %1363 = load i32, ptr %1362, align 4, !tbaa !9
  %1364 = load i32, ptr %66, align 4, !tbaa !9
  %1365 = shl i32 %1364, 1
  %1366 = add nsw i32 %1363, %1365
  %1367 = add nsw i32 %1366, 1
  %1368 = sext i32 %1367 to i64
  %1369 = getelementptr inbounds float, ptr %1361, i64 %1368
  %1370 = load ptr, ptr %35, align 8, !tbaa !5
  %1371 = getelementptr inbounds i32, ptr %1370, i64 1
  %1372 = load ptr, ptr %31, align 8, !tbaa !5
  %1373 = load ptr, ptr %29, align 8, !tbaa !5
  %1374 = load i32, ptr %1373, align 4, !tbaa !9
  %1375 = add nsw i32 %1374, 1
  %1376 = sext i32 %1375 to i64
  %1377 = getelementptr inbounds float, ptr %1372, i64 %1376
  %1378 = load ptr, ptr %32, align 8, !tbaa !5
  %1379 = load ptr, ptr %29, align 8, !tbaa !5
  %1380 = load i32, ptr %1379, align 4, !tbaa !9
  %1381 = add nsw i32 %1380, 1
  %1382 = sext i32 %1381 to i64
  %1383 = getelementptr inbounds i32, ptr %1378, i64 %1382
  call void @slaebz_(ptr noundef @c__2, ptr noundef %55, ptr noundef %66, ptr noundef %66, ptr noundef @c__1, ptr noundef %63, ptr noundef %52, ptr noundef %57, ptr noundef %79, ptr noundef %1345, ptr noundef %1349, ptr noundef %1353, ptr noundef %1354, ptr noundef %1360, ptr noundef %1369, ptr noundef %47, ptr noundef %1371, ptr noundef %1377, ptr noundef %1383, ptr noundef %51)
  %1384 = load i32, ptr %47, align 4, !tbaa !9
  store i32 %1384, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %49, align 4, !tbaa !9
  br label %1385

1385:                                             ; preds = %1457, %1249
  %1386 = load i32, ptr %49, align 4, !tbaa !9
  %1387 = load i32, ptr %38, align 4, !tbaa !9
  %1388 = icmp sle i32 %1386, %1387
  br i1 %1388, label %1389, label %1460

1389:                                             ; preds = %1385
  %1390 = load ptr, ptr %34, align 8, !tbaa !5
  %1391 = load i32, ptr %49, align 4, !tbaa !9
  %1392 = load ptr, ptr %21, align 8, !tbaa !5
  %1393 = load i32, ptr %1392, align 4, !tbaa !9
  %1394 = add nsw i32 %1391, %1393
  %1395 = sext i32 %1394 to i64
  %1396 = getelementptr inbounds float, ptr %1390, i64 %1395
  %1397 = load float, ptr %1396, align 4, !tbaa !11
  %1398 = load ptr, ptr %34, align 8, !tbaa !5
  %1399 = load i32, ptr %49, align 4, !tbaa !9
  %1400 = load i32, ptr %66, align 4, !tbaa !9
  %1401 = add nsw i32 %1399, %1400
  %1402 = load ptr, ptr %21, align 8, !tbaa !5
  %1403 = load i32, ptr %1402, align 4, !tbaa !9
  %1404 = add nsw i32 %1401, %1403
  %1405 = sext i32 %1404 to i64
  %1406 = getelementptr inbounds float, ptr %1398, i64 %1405
  %1407 = load float, ptr %1406, align 4, !tbaa !11
  %1408 = fadd float %1397, %1407
  %1409 = fmul float %1408, 5.000000e-01
  store float %1409, ptr %86, align 4, !tbaa !11
  %1410 = load i32, ptr %49, align 4, !tbaa !9
  %1411 = load i32, ptr %47, align 4, !tbaa !9
  %1412 = load i32, ptr %51, align 4, !tbaa !9
  %1413 = sub nsw i32 %1411, %1412
  %1414 = icmp sgt i32 %1410, %1413
  br i1 %1414, label %1415, label %1418

1415:                                             ; preds = %1389
  store i32 1, ptr %78, align 4, !tbaa !9
  %1416 = load i32, ptr %60, align 4, !tbaa !9
  %1417 = sub nsw i32 0, %1416
  store i32 %1417, ptr %59, align 4, !tbaa !9
  br label %1420

1418:                                             ; preds = %1389
  %1419 = load i32, ptr %60, align 4, !tbaa !9
  store i32 %1419, ptr %59, align 4, !tbaa !9
  br label %1420

1420:                                             ; preds = %1418, %1415
  %1421 = load ptr, ptr %35, align 8, !tbaa !5
  %1422 = load i32, ptr %49, align 4, !tbaa !9
  %1423 = load i32, ptr %66, align 4, !tbaa !9
  %1424 = add nsw i32 %1422, %1423
  %1425 = sext i32 %1424 to i64
  %1426 = getelementptr inbounds i32, ptr %1421, i64 %1425
  %1427 = load i32, ptr %1426, align 4, !tbaa !9
  %1428 = load i32, ptr %53, align 4, !tbaa !9
  %1429 = add nsw i32 %1427, %1428
  store i32 %1429, ptr %39, align 4, !tbaa !9
  %1430 = load ptr, ptr %35, align 8, !tbaa !5
  %1431 = load i32, ptr %49, align 4, !tbaa !9
  %1432 = sext i32 %1431 to i64
  %1433 = getelementptr inbounds i32, ptr %1430, i64 %1432
  %1434 = load i32, ptr %1433, align 4, !tbaa !9
  %1435 = add nsw i32 %1434, 1
  %1436 = load i32, ptr %53, align 4, !tbaa !9
  %1437 = add nsw i32 %1435, %1436
  store i32 %1437, ptr %62, align 4, !tbaa !9
  br label %1438

1438:                                             ; preds = %1453, %1420
  %1439 = load i32, ptr %62, align 4, !tbaa !9
  %1440 = load i32, ptr %39, align 4, !tbaa !9
  %1441 = icmp sle i32 %1439, %1440
  br i1 %1441, label %1442, label %1456

1442:                                             ; preds = %1438
  %1443 = load float, ptr %86, align 4, !tbaa !11
  %1444 = load ptr, ptr %31, align 8, !tbaa !5
  %1445 = load i32, ptr %62, align 4, !tbaa !9
  %1446 = sext i32 %1445 to i64
  %1447 = getelementptr inbounds float, ptr %1444, i64 %1446
  store float %1443, ptr %1447, align 4, !tbaa !11
  %1448 = load i32, ptr %59, align 4, !tbaa !9
  %1449 = load ptr, ptr %32, align 8, !tbaa !5
  %1450 = load i32, ptr %62, align 4, !tbaa !9
  %1451 = sext i32 %1450 to i64
  %1452 = getelementptr inbounds i32, ptr %1449, i64 %1451
  store i32 %1448, ptr %1452, align 4, !tbaa !9
  br label %1453

1453:                                             ; preds = %1442
  %1454 = load i32, ptr %62, align 4, !tbaa !9
  %1455 = add nsw i32 %1454, 1
  store i32 %1455, ptr %62, align 4, !tbaa !9
  br label %1438, !llvm.loop !18

1456:                                             ; preds = %1438
  br label %1457

1457:                                             ; preds = %1456
  %1458 = load i32, ptr %49, align 4, !tbaa !9
  %1459 = add nsw i32 %1458, 1
  store i32 %1459, ptr %49, align 4, !tbaa !9
  br label %1385, !llvm.loop !19

1460:                                             ; preds = %1385
  %1461 = load i32, ptr %65, align 4, !tbaa !9
  %1462 = load ptr, ptr %29, align 8, !tbaa !5
  %1463 = load i32, ptr %1462, align 4, !tbaa !9
  %1464 = add nsw i32 %1463, %1461
  store i32 %1464, ptr %1462, align 4, !tbaa !9
  br label %1465

1465:                                             ; preds = %1460, %1015
  br label %1466

1466:                                             ; preds = %1465, %1247, %1218
  br label %1467

1467:                                             ; preds = %1466
  %1468 = load i32, ptr %60, align 4, !tbaa !9
  %1469 = add nsw i32 %1468, 1
  store i32 %1469, ptr %60, align 4, !tbaa !9
  br label %922, !llvm.loop !20

1470:                                             ; preds = %922
  %1471 = load i32, ptr %71, align 4, !tbaa !9
  %1472 = icmp eq i32 %1471, 3
  br i1 %1472, label %1473, label %1718

1473:                                             ; preds = %1470
  store i32 0, ptr %65, align 4, !tbaa !9
  %1474 = load ptr, ptr %24, align 8, !tbaa !5
  %1475 = load i32, ptr %1474, align 4, !tbaa !9
  %1476 = sub nsw i32 %1475, 1
  %1477 = load i32, ptr %81, align 4, !tbaa !9
  %1478 = sub nsw i32 %1476, %1477
  store i32 %1478, ptr %72, align 4, !tbaa !9
  %1479 = load i32, ptr %85, align 4, !tbaa !9
  %1480 = load ptr, ptr %25, align 8, !tbaa !5
  %1481 = load i32, ptr %1480, align 4, !tbaa !9
  %1482 = sub nsw i32 %1479, %1481
  store i32 %1482, ptr %76, align 4, !tbaa !9
  %1483 = load i32, ptr %72, align 4, !tbaa !9
  %1484 = icmp sgt i32 %1483, 0
  br i1 %1484, label %1488, label %1485

1485:                                             ; preds = %1473
  %1486 = load i32, ptr %76, align 4, !tbaa !9
  %1487 = icmp sgt i32 %1486, 0
  br i1 %1487, label %1488, label %1552

1488:                                             ; preds = %1485, %1473
  %1489 = load ptr, ptr %29, align 8, !tbaa !5
  %1490 = load i32, ptr %1489, align 4, !tbaa !9
  store i32 %1490, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1491

1491:                                             ; preds = %1546, %1488
  %1492 = load i32, ptr %62, align 4, !tbaa !9
  %1493 = load i32, ptr %37, align 4, !tbaa !9
  %1494 = icmp sle i32 %1492, %1493
  br i1 %1494, label %1495, label %1549

1495:                                             ; preds = %1491
  %1496 = load ptr, ptr %31, align 8, !tbaa !5
  %1497 = load i32, ptr %62, align 4, !tbaa !9
  %1498 = sext i32 %1497 to i64
  %1499 = getelementptr inbounds float, ptr %1496, i64 %1498
  %1500 = load float, ptr %1499, align 4, !tbaa !11
  %1501 = load float, ptr %83, align 4, !tbaa !11
  %1502 = fcmp ole float %1500, %1501
  br i1 %1502, label %1503, label %1509

1503:                                             ; preds = %1495
  %1504 = load i32, ptr %72, align 4, !tbaa !9
  %1505 = icmp sgt i32 %1504, 0
  br i1 %1505, label %1506, label %1509

1506:                                             ; preds = %1503
  %1507 = load i32, ptr %72, align 4, !tbaa !9
  %1508 = add nsw i32 %1507, -1
  store i32 %1508, ptr %72, align 4, !tbaa !9
  br label %1545

1509:                                             ; preds = %1503, %1495
  %1510 = load ptr, ptr %31, align 8, !tbaa !5
  %1511 = load i32, ptr %62, align 4, !tbaa !9
  %1512 = sext i32 %1511 to i64
  %1513 = getelementptr inbounds float, ptr %1510, i64 %1512
  %1514 = load float, ptr %1513, align 4, !tbaa !11
  %1515 = load float, ptr %84, align 4, !tbaa !11
  %1516 = fcmp oge float %1514, %1515
  br i1 %1516, label %1517, label %1523

1517:                                             ; preds = %1509
  %1518 = load i32, ptr %76, align 4, !tbaa !9
  %1519 = icmp sgt i32 %1518, 0
  br i1 %1519, label %1520, label %1523

1520:                                             ; preds = %1517
  %1521 = load i32, ptr %76, align 4, !tbaa !9
  %1522 = add nsw i32 %1521, -1
  store i32 %1522, ptr %76, align 4, !tbaa !9
  br label %1544

1523:                                             ; preds = %1517, %1509
  %1524 = load i32, ptr %65, align 4, !tbaa !9
  %1525 = add nsw i32 %1524, 1
  store i32 %1525, ptr %65, align 4, !tbaa !9
  %1526 = load ptr, ptr %31, align 8, !tbaa !5
  %1527 = load i32, ptr %62, align 4, !tbaa !9
  %1528 = sext i32 %1527 to i64
  %1529 = getelementptr inbounds float, ptr %1526, i64 %1528
  %1530 = load float, ptr %1529, align 4, !tbaa !11
  %1531 = load ptr, ptr %31, align 8, !tbaa !5
  %1532 = load i32, ptr %65, align 4, !tbaa !9
  %1533 = sext i32 %1532 to i64
  %1534 = getelementptr inbounds float, ptr %1531, i64 %1533
  store float %1530, ptr %1534, align 4, !tbaa !11
  %1535 = load ptr, ptr %32, align 8, !tbaa !5
  %1536 = load i32, ptr %62, align 4, !tbaa !9
  %1537 = sext i32 %1536 to i64
  %1538 = getelementptr inbounds i32, ptr %1535, i64 %1537
  %1539 = load i32, ptr %1538, align 4, !tbaa !9
  %1540 = load ptr, ptr %32, align 8, !tbaa !5
  %1541 = load i32, ptr %65, align 4, !tbaa !9
  %1542 = sext i32 %1541 to i64
  %1543 = getelementptr inbounds i32, ptr %1540, i64 %1542
  store i32 %1539, ptr %1543, align 4, !tbaa !9
  br label %1544

1544:                                             ; preds = %1523, %1520
  br label %1545

1545:                                             ; preds = %1544, %1506
  br label %1546

1546:                                             ; preds = %1545
  %1547 = load i32, ptr %62, align 4, !tbaa !9
  %1548 = add nsw i32 %1547, 1
  store i32 %1548, ptr %62, align 4, !tbaa !9
  br label %1491, !llvm.loop !21

1549:                                             ; preds = %1491
  %1550 = load i32, ptr %65, align 4, !tbaa !9
  %1551 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 %1550, ptr %1551, align 4, !tbaa !9
  br label %1552

1552:                                             ; preds = %1549, %1485
  %1553 = load i32, ptr %72, align 4, !tbaa !9
  %1554 = icmp sgt i32 %1553, 0
  br i1 %1554, label %1558, label %1555

1555:                                             ; preds = %1552
  %1556 = load i32, ptr %76, align 4, !tbaa !9
  %1557 = icmp sgt i32 %1556, 0
  br i1 %1557, label %1558, label %1710

1558:                                             ; preds = %1555, %1552
  %1559 = load i32, ptr %72, align 4, !tbaa !9
  %1560 = icmp sgt i32 %1559, 0
  br i1 %1560, label %1561, label %1613

1561:                                             ; preds = %1558
  %1562 = load float, ptr %74, align 4, !tbaa !11
  store float %1562, ptr %56, align 4, !tbaa !11
  %1563 = load i32, ptr %72, align 4, !tbaa !9
  store i32 %1563, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %1564

1564:                                             ; preds = %1609, %1561
  %1565 = load i32, ptr %50, align 4, !tbaa !9
  %1566 = load i32, ptr %37, align 4, !tbaa !9
  %1567 = icmp sle i32 %1565, %1566
  br i1 %1567, label %1568, label %1612

1568:                                             ; preds = %1564
  store i32 0, ptr %69, align 4, !tbaa !9
  %1569 = load ptr, ptr %29, align 8, !tbaa !5
  %1570 = load i32, ptr %1569, align 4, !tbaa !9
  store i32 %1570, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1571

1571:                                             ; preds = %1601, %1568
  %1572 = load i32, ptr %62, align 4, !tbaa !9
  %1573 = load i32, ptr %38, align 4, !tbaa !9
  %1574 = icmp sle i32 %1572, %1573
  br i1 %1574, label %1575, label %1604

1575:                                             ; preds = %1571
  %1576 = load ptr, ptr %32, align 8, !tbaa !5
  %1577 = load i32, ptr %62, align 4, !tbaa !9
  %1578 = sext i32 %1577 to i64
  %1579 = getelementptr inbounds i32, ptr %1576, i64 %1578
  %1580 = load i32, ptr %1579, align 4, !tbaa !9
  %1581 = icmp ne i32 %1580, 0
  br i1 %1581, label %1582, label %1600

1582:                                             ; preds = %1575
  %1583 = load ptr, ptr %31, align 8, !tbaa !5
  %1584 = load i32, ptr %62, align 4, !tbaa !9
  %1585 = sext i32 %1584 to i64
  %1586 = getelementptr inbounds float, ptr %1583, i64 %1585
  %1587 = load float, ptr %1586, align 4, !tbaa !11
  %1588 = load float, ptr %56, align 4, !tbaa !11
  %1589 = fcmp olt float %1587, %1588
  br i1 %1589, label %1593, label %1590

1590:                                             ; preds = %1582
  %1591 = load i32, ptr %69, align 4, !tbaa !9
  %1592 = icmp eq i32 %1591, 0
  br i1 %1592, label %1593, label %1600

1593:                                             ; preds = %1590, %1582
  %1594 = load i32, ptr %62, align 4, !tbaa !9
  store i32 %1594, ptr %69, align 4, !tbaa !9
  %1595 = load ptr, ptr %31, align 8, !tbaa !5
  %1596 = load i32, ptr %62, align 4, !tbaa !9
  %1597 = sext i32 %1596 to i64
  %1598 = getelementptr inbounds float, ptr %1595, i64 %1597
  %1599 = load float, ptr %1598, align 4, !tbaa !11
  store float %1599, ptr %56, align 4, !tbaa !11
  br label %1600

1600:                                             ; preds = %1593, %1590, %1575
  br label %1601

1601:                                             ; preds = %1600
  %1602 = load i32, ptr %62, align 4, !tbaa !9
  %1603 = add nsw i32 %1602, 1
  store i32 %1603, ptr %62, align 4, !tbaa !9
  br label %1571, !llvm.loop !22

1604:                                             ; preds = %1571
  %1605 = load ptr, ptr %32, align 8, !tbaa !5
  %1606 = load i32, ptr %69, align 4, !tbaa !9
  %1607 = sext i32 %1606 to i64
  %1608 = getelementptr inbounds i32, ptr %1605, i64 %1607
  store i32 0, ptr %1608, align 4, !tbaa !9
  br label %1609

1609:                                             ; preds = %1604
  %1610 = load i32, ptr %50, align 4, !tbaa !9
  %1611 = add nsw i32 %1610, 1
  store i32 %1611, ptr %50, align 4, !tbaa !9
  br label %1564, !llvm.loop !23

1612:                                             ; preds = %1564
  br label %1613

1613:                                             ; preds = %1612, %1558
  %1614 = load i32, ptr %76, align 4, !tbaa !9
  %1615 = icmp sgt i32 %1614, 0
  br i1 %1615, label %1616, label %1668

1616:                                             ; preds = %1613
  %1617 = load float, ptr %70, align 4, !tbaa !11
  store float %1617, ptr %56, align 4, !tbaa !11
  %1618 = load i32, ptr %76, align 4, !tbaa !9
  store i32 %1618, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %50, align 4, !tbaa !9
  br label %1619

1619:                                             ; preds = %1664, %1616
  %1620 = load i32, ptr %50, align 4, !tbaa !9
  %1621 = load i32, ptr %37, align 4, !tbaa !9
  %1622 = icmp sle i32 %1620, %1621
  br i1 %1622, label %1623, label %1667

1623:                                             ; preds = %1619
  store i32 0, ptr %69, align 4, !tbaa !9
  %1624 = load ptr, ptr %29, align 8, !tbaa !5
  %1625 = load i32, ptr %1624, align 4, !tbaa !9
  store i32 %1625, ptr %38, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1626

1626:                                             ; preds = %1656, %1623
  %1627 = load i32, ptr %62, align 4, !tbaa !9
  %1628 = load i32, ptr %38, align 4, !tbaa !9
  %1629 = icmp sle i32 %1627, %1628
  br i1 %1629, label %1630, label %1659

1630:                                             ; preds = %1626
  %1631 = load ptr, ptr %32, align 8, !tbaa !5
  %1632 = load i32, ptr %62, align 4, !tbaa !9
  %1633 = sext i32 %1632 to i64
  %1634 = getelementptr inbounds i32, ptr %1631, i64 %1633
  %1635 = load i32, ptr %1634, align 4, !tbaa !9
  %1636 = icmp ne i32 %1635, 0
  br i1 %1636, label %1637, label %1655

1637:                                             ; preds = %1630
  %1638 = load ptr, ptr %31, align 8, !tbaa !5
  %1639 = load i32, ptr %62, 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
  %1643 = load float, ptr %56, align 4, !tbaa !11
  %1644 = fcmp ogt float %1642, %1643
  br i1 %1644, label %1648, label %1645

1645:                                             ; preds = %1637
  %1646 = load i32, ptr %69, align 4, !tbaa !9
  %1647 = icmp eq i32 %1646, 0
  br i1 %1647, label %1648, label %1655

1648:                                             ; preds = %1645, %1637
  %1649 = load i32, ptr %62, align 4, !tbaa !9
  store i32 %1649, ptr %69, align 4, !tbaa !9
  %1650 = load ptr, ptr %31, align 8, !tbaa !5
  %1651 = load i32, ptr %62, align 4, !tbaa !9
  %1652 = sext i32 %1651 to i64
  %1653 = getelementptr inbounds float, ptr %1650, i64 %1652
  %1654 = load float, ptr %1653, align 4, !tbaa !11
  store float %1654, ptr %56, align 4, !tbaa !11
  br label %1655

1655:                                             ; preds = %1648, %1645, %1630
  br label %1656

1656:                                             ; preds = %1655
  %1657 = load i32, ptr %62, align 4, !tbaa !9
  %1658 = add nsw i32 %1657, 1
  store i32 %1658, ptr %62, align 4, !tbaa !9
  br label %1626, !llvm.loop !24

1659:                                             ; preds = %1626
  %1660 = load ptr, ptr %32, align 8, !tbaa !5
  %1661 = load i32, ptr %69, align 4, !tbaa !9
  %1662 = sext i32 %1661 to i64
  %1663 = getelementptr inbounds i32, ptr %1660, i64 %1662
  store i32 0, ptr %1663, align 4, !tbaa !9
  br label %1664

1664:                                             ; preds = %1659
  %1665 = load i32, ptr %50, align 4, !tbaa !9
  %1666 = add nsw i32 %1665, 1
  store i32 %1666, ptr %50, align 4, !tbaa !9
  br label %1619, !llvm.loop !25

1667:                                             ; preds = %1619
  br label %1668

1668:                                             ; preds = %1667, %1613
  store i32 0, ptr %65, align 4, !tbaa !9
  %1669 = load ptr, ptr %29, align 8, !tbaa !5
  %1670 = load i32, ptr %1669, align 4, !tbaa !9
  store i32 %1670, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1671

1671:                                             ; preds = %1704, %1668
  %1672 = load i32, ptr %62, align 4, !tbaa !9
  %1673 = load i32, ptr %37, align 4, !tbaa !9
  %1674 = icmp sle i32 %1672, %1673
  br i1 %1674, label %1675, label %1707

1675:                                             ; preds = %1671
  %1676 = load ptr, ptr %32, align 8, !tbaa !5
  %1677 = load i32, ptr %62, align 4, !tbaa !9
  %1678 = sext i32 %1677 to i64
  %1679 = getelementptr inbounds i32, ptr %1676, i64 %1678
  %1680 = load i32, ptr %1679, align 4, !tbaa !9
  %1681 = icmp ne i32 %1680, 0
  br i1 %1681, label %1682, label %1703

1682:                                             ; preds = %1675
  %1683 = load i32, ptr %65, align 4, !tbaa !9
  %1684 = add nsw i32 %1683, 1
  store i32 %1684, ptr %65, align 4, !tbaa !9
  %1685 = load ptr, ptr %31, align 8, !tbaa !5
  %1686 = load i32, ptr %62, align 4, !tbaa !9
  %1687 = sext i32 %1686 to i64
  %1688 = getelementptr inbounds float, ptr %1685, i64 %1687
  %1689 = load float, ptr %1688, align 4, !tbaa !11
  %1690 = load ptr, ptr %31, align 8, !tbaa !5
  %1691 = load i32, ptr %65, align 4, !tbaa !9
  %1692 = sext i32 %1691 to i64
  %1693 = getelementptr inbounds float, ptr %1690, i64 %1692
  store float %1689, ptr %1693, align 4, !tbaa !11
  %1694 = load ptr, ptr %32, align 8, !tbaa !5
  %1695 = load i32, ptr %62, align 4, !tbaa !9
  %1696 = sext i32 %1695 to i64
  %1697 = getelementptr inbounds i32, ptr %1694, i64 %1696
  %1698 = load i32, ptr %1697, align 4, !tbaa !9
  %1699 = load ptr, ptr %32, align 8, !tbaa !5
  %1700 = load i32, ptr %65, align 4, !tbaa !9
  %1701 = sext i32 %1700 to i64
  %1702 = getelementptr inbounds i32, ptr %1699, i64 %1701
  store i32 %1698, ptr %1702, align 4, !tbaa !9
  br label %1703

1703:                                             ; preds = %1682, %1675
  br label %1704

1704:                                             ; preds = %1703
  %1705 = load i32, ptr %62, align 4, !tbaa !9
  %1706 = add nsw i32 %1705, 1
  store i32 %1706, ptr %62, align 4, !tbaa !9
  br label %1671, !llvm.loop !26

1707:                                             ; preds = %1671
  %1708 = load i32, ptr %65, align 4, !tbaa !9
  %1709 = load ptr, ptr %29, align 8, !tbaa !5
  store i32 %1708, ptr %1709, align 4, !tbaa !9
  br label %1710

1710:                                             ; preds = %1707, %1555
  %1711 = load i32, ptr %72, align 4, !tbaa !9
  %1712 = icmp slt i32 %1711, 0
  br i1 %1712, label %1716, label %1713

1713:                                             ; preds = %1710
  %1714 = load i32, ptr %76, align 4, !tbaa !9
  %1715 = icmp slt i32 %1714, 0
  br i1 %1715, label %1716, label %1717

1716:                                             ; preds = %1713, %1710
  store i32 1, ptr %80, align 4, !tbaa !9
  br label %1717

1717:                                             ; preds = %1716, %1713
  br label %1718

1718:                                             ; preds = %1717, %1470
  %1719 = load i32, ptr %77, align 4, !tbaa !9
  %1720 = icmp eq i32 %1719, 1
  br i1 %1720, label %1721, label %1808

1721:                                             ; preds = %1718
  %1722 = load ptr, ptr %30, align 8, !tbaa !5
  %1723 = load i32, ptr %1722, align 4, !tbaa !9
  %1724 = icmp sgt i32 %1723, 1
  br i1 %1724, label %1725, label %1808

1725:                                             ; preds = %1721
  %1726 = load ptr, ptr %29, align 8, !tbaa !5
  %1727 = load i32, ptr %1726, align 4, !tbaa !9
  %1728 = sub nsw i32 %1727, 1
  store i32 %1728, ptr %37, align 4, !tbaa !9
  store i32 1, ptr %62, align 4, !tbaa !9
  br label %1729

1729:                                             ; preds = %1804, %1725
  %1730 = load i32, ptr %62, align 4, !tbaa !9
  %1731 = load i32, ptr %37, align 4, !tbaa !9
  %1732 = icmp sle i32 %1730, %1731
  br i1 %1732, label %1733, label %1807

1733:                                             ; preds = %1729
  store i32 0, ptr %61, align 4, !tbaa !9
  %1734 = load ptr, ptr %31, align 8, !tbaa !5
  %1735 = load i32, ptr %62, align 4, !tbaa !9
  %1736 = sext i32 %1735 to i64
  %1737 = getelementptr inbounds float, ptr %1734, i64 %1736
  %1738 = load float, ptr %1737, align 4, !tbaa !11
  store float %1738, ptr %86, align 4, !tbaa !11
  %1739 = load ptr, ptr %29, align 8, !tbaa !5
  %1740 = load i32, ptr %1739, align 4, !tbaa !9
  store i32 %1740, ptr %38, align 4, !tbaa !9
  %1741 = load i32, ptr %62, align 4, !tbaa !9
  %1742 = add nsw i32 %1741, 1
  store i32 %1742, ptr %49, align 4, !tbaa !9
  br label %1743

1743:                                             ; preds = %1763, %1733
  %1744 = load i32, ptr %49, align 4, !tbaa !9
  %1745 = load i32, ptr %38, align 4, !tbaa !9
  %1746 = icmp sle i32 %1744, %1745
  br i1 %1746, label %1747, label %1766

1747:                                             ; preds = %1743
  %1748 = load ptr, ptr %31, align 8, !tbaa !5
  %1749 = load i32, ptr %49, align 4, !tbaa !9
  %1750 = sext i32 %1749 to i64
  %1751 = getelementptr inbounds float, ptr %1748, i64 %1750
  %1752 = load float, ptr %1751, align 4, !tbaa !11
  %1753 = load float, ptr %86, align 4, !tbaa !11
  %1754 = fcmp olt float %1752, %1753
  br i1 %1754, label %1755, label %1762

1755:                                             ; preds = %1747
  %1756 = load i32, ptr %49, align 4, !tbaa !9
  store i32 %1756, ptr %61, align 4, !tbaa !9
  %1757 = load ptr, ptr %31, align 8, !tbaa !5
  %1758 = load i32, ptr %49, align 4, !tbaa !9
  %1759 = sext i32 %1758 to i64
  %1760 = getelementptr inbounds float, ptr %1757, i64 %1759
  %1761 = load float, ptr %1760, align 4, !tbaa !11
  store float %1761, ptr %86, align 4, !tbaa !11
  br label %1762

1762:                                             ; preds = %1755, %1747
  br label %1763

1763:                                             ; preds = %1762
  %1764 = load i32, ptr %49, align 4, !tbaa !9
  %1765 = add nsw i32 %1764, 1
  store i32 %1765, ptr %49, align 4, !tbaa !9
  br label %1743, !llvm.loop !27

1766:                                             ; preds = %1743
  %1767 = load i32, ptr %61, align 4, !tbaa !9
  %1768 = icmp ne i32 %1767, 0
  br i1 %1768, label %1769, label %1803

1769:                                             ; preds = %1766
  %1770 = load ptr, ptr %32, align 8, !tbaa !5
  %1771 = load i32, ptr %61, align 4, !tbaa !9
  %1772 = sext i32 %1771 to i64
  %1773 = getelementptr inbounds i32, ptr %1770, i64 %1772
  %1774 = load i32, ptr %1773, align 4, !tbaa !9
  store i32 %1774, ptr %48, align 4, !tbaa !9
  %1775 = load ptr, ptr %31, align 8, !tbaa !5
  %1776 = load i32, ptr %62, align 4, !tbaa !9
  %1777 = sext i32 %1776 to i64
  %1778 = getelementptr inbounds float, ptr %1775, i64 %1777
  %1779 = load float, ptr %1778, align 4, !tbaa !11
  %1780 = load ptr, ptr %31, align 8, !tbaa !5
  %1781 = load i32, ptr %61, align 4, !tbaa !9
  %1782 = sext i32 %1781 to i64
  %1783 = getelementptr inbounds float, ptr %1780, i64 %1782
  store float %1779, ptr %1783, align 4, !tbaa !11
  %1784 = load ptr, ptr %32, align 8, !tbaa !5
  %1785 = load i32, ptr %62, align 4, !tbaa !9
  %1786 = sext i32 %1785 to i64
  %1787 = getelementptr inbounds i32, ptr %1784, i64 %1786
  %1788 = load i32, ptr %1787, align 4, !tbaa !9
  %1789 = load ptr, ptr %32, align 8, !tbaa !5
  %1790 = load i32, ptr %61, align 4, !tbaa !9
  %1791 = sext i32 %1790 to i64
  %1792 = getelementptr inbounds i32, ptr %1789, i64 %1791
  store i32 %1788, ptr %1792, align 4, !tbaa !9
  %1793 = load float, ptr %86, align 4, !tbaa !11
  %1794 = load ptr, ptr %31, align 8, !tbaa !5
  %1795 = load i32, ptr %62, align 4, !tbaa !9
  %1796 = sext i32 %1795 to i64
  %1797 = getelementptr inbounds float, ptr %1794, i64 %1796
  store float %1793, ptr %1797, align 4, !tbaa !11
  %1798 = load i32, ptr %48, align 4, !tbaa !9
  %1799 = load ptr, ptr %32, align 8, !tbaa !5
  %1800 = load i32, ptr %62, align 4, !tbaa !9
  %1801 = sext i32 %1800 to i64
  %1802 = getelementptr inbounds i32, ptr %1799, i64 %1801
  store i32 %1798, ptr %1802, align 4, !tbaa !9
  br label %1803

1803:                                             ; preds = %1769, %1766
  br label %1804

1804:                                             ; preds = %1803
  %1805 = load i32, ptr %62, align 4, !tbaa !9
  %1806 = add nsw i32 %1805, 1
  store i32 %1806, ptr %62, align 4, !tbaa !9
  br label %1729, !llvm.loop !28

1807:                                             ; preds = %1729
  br label %1808

1808:                                             ; preds = %1807, %1721, %1718
  %1809 = load ptr, ptr %36, align 8, !tbaa !5
  store i32 0, ptr %1809, align 4, !tbaa !9
  %1810 = load i32, ptr %78, align 4, !tbaa !9
  %1811 = icmp ne i32 %1810, 0
  br i1 %1811, label %1812, label %1816

1812:                                             ; preds = %1808
  %1813 = load ptr, ptr %36, align 8, !tbaa !5
  %1814 = load i32, ptr %1813, align 4, !tbaa !9
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr %1813, align 4, !tbaa !9
  br label %1816

1816:                                             ; preds = %1812, %1808
  %1817 = load i32, ptr %80, align 4, !tbaa !9
  %1818 = icmp ne i32 %1817, 0
  br i1 %1818, label %1819, label %1823

1819:                                             ; preds = %1816
  %1820 = load ptr, ptr %36, align 8, !tbaa !5
  %1821 = load i32, ptr %1820, align 4, !tbaa !9
  %1822 = add nsw i32 %1821, 2
  store i32 %1822, ptr %1820, align 4, !tbaa !9
  br label %1823

1823:                                             ; preds = %1819, %1816
  store i32 1, ptr %88, align 4
  br label %1824

1824:                                             ; preds = %1823, %754, %291, %231, %220
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #5
  call void @llvm.lifetime.end.p0(i64 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
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #5
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #5
  ret void
}

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

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

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

declare float @slamch_(ptr noundef) #2

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

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

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

; Function Attrs: nounwind
declare double @log(double noundef) #4

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

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

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


; 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 [7 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [2 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [2 x i8], align 1
@c__1 = external hidden global i32, align 4
@.str.8 = external hidden unnamed_addr constant [2 x i8], align 1
@c_n1 = external hidden global i32, align 4
@c__3 = external hidden global i32, align 4
@c__2 = external hidden global i32, align 4
@c__0 = external hidden global i32, align 4

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

38:                                               ; preds = %18
  %39 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.1) #6
  %.not709 = icmp eq i32 %39, 0
  br i1 %.not709, label %40, label %42

40:                                               ; preds = %38
  %41 = tail call i32 @lsame_(ptr noundef %0, ptr noundef nonnull @.str.2) #6
  %.not710 = icmp eq i32 %41, 0
  %not..not710 = xor i1 %.not710, true
  %.741 = select i1 %.not710, i32 0, i32 3
  br label %42

42:                                               ; preds = %40, %38, %18
  %43 = phi i1 [ false, %18 ], [ false, %38 ], [ %.not710, %40 ]
  %44 = phi i1 [ false, %18 ], [ true, %38 ], [ false, %40 ]
  %45 = phi i1 [ false, %18 ], [ false, %38 ], [ %not..not710, %40 ]
  %.0648 = phi i32 [ 1, %18 ], [ 2, %38 ], [ %.741, %40 ]
  %46 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.3) #6
  %.not711 = icmp eq i32 %46, 0
  br i1 %.not711, label %47, label %.thread

47:                                               ; preds = %42
  %48 = tail call i32 @lsame_(ptr noundef %1, ptr noundef nonnull @.str.4) #6
  br i1 %43, label %.critedge.thread.sink.split, label %49

.thread:                                          ; preds = %42
  br i1 %43, label %.critedge.thread.sink.split, label %.thread750

49:                                               ; preds = %47
  %.not712 = icmp eq i32 %48, 0
  br i1 %.not712, label %.critedge.thread.sink.split, label %.thread750

.thread750:                                       ; preds = %.thread, %49
  %50 = load i32, ptr %2, align 4, !tbaa !5
  %51 = icmp slt i32 %50, 0
  br i1 %51, label %.critedge.thread.sink.split, label %52

52:                                               ; preds = %.thread750
  br i1 %44, label %53, label %57

53:                                               ; preds = %52
  %54 = load float, ptr %3, align 4, !tbaa !9
  %55 = load float, ptr %4, align 4, !tbaa !9
  %56 = fcmp ult float %54, %55
  br i1 %56, label %.critedge, label %.critedge.thread.sink.split

57:                                               ; preds = %52
  br i1 %45, label %58, label %.critedge

58:                                               ; preds = %57
  %59 = load i32, ptr %5, align 4, !tbaa !5
  %60 = icmp slt i32 %59, 1
  %spec.select = tail call i32 @llvm.umax.i32(i32 %50, i32 1)
  %61 = icmp ugt i32 %59, %spec.select
  %or.cond = or i1 %60, %61
  br i1 %or.cond, label %.critedge.thread.sink.split, label %62

62:                                               ; preds = %58
  %63 = load i32, ptr %6, align 4, !tbaa !5
  %.744 = tail call i32 @llvm.umin.i32(i32 %50, i32 %59)
  %64 = icmp slt i32 %63, %.744
  %65 = icmp ugt i32 %63, %50
  %or.cond768 = or i1 %64, %65
  br i1 %or.cond768, label %.critedge.thread.sink.split, label %.critedge

.critedge:                                        ; preds = %62, %57, %53
  %.pr = load i32, ptr %17, align 4, !tbaa !5
  %.not714 = icmp eq i32 %.pr, 0
  br i1 %.not714, label %69, label %.critedge.thread

.critedge.thread.sink.split:                      ; preds = %62, %58, %53, %.thread750, %49, %47, %.thread
  %.sink971 = phi i32 [ -1, %.thread ], [ -1, %47 ], [ -2, %49 ], [ -3, %.thread750 ], [ -5, %53 ], [ -6, %58 ], [ -7, %62 ]
  store i32 %.sink971, ptr %17, align 4, !tbaa !5
  br label %.critedge.thread

.critedge.thread:                                 ; preds = %.critedge.thread.sink.split, %.critedge
  %66 = phi i32 [ %.pr, %.critedge ], [ %.sink971, %.critedge.thread.sink.split ]
  %67 = sub nsw i32 0, %66
  store i32 %67, ptr %19, align 4, !tbaa !5
  %68 = call i32 @xerbla_(ptr noundef nonnull @.str.5, ptr noundef nonnull %19, i32 noundef 6) #6
  br label %606

69:                                               ; preds = %.critedge
  store i32 0, ptr %10, align 4, !tbaa !5
  %70 = load i32, ptr %2, align 4, !tbaa !5
  %71 = icmp eq i32 %70, 0
  br i1 %71, label %606, label %72

72:                                               ; preds = %69
  br i1 %45, label %73, label %79

73:                                               ; preds = %72
  %74 = load i32, ptr %5, align 4, !tbaa !5
  %75 = icmp eq i32 %74, 1
  br i1 %75, label %76, label %79

76:                                               ; preds = %73
  %77 = load i32, ptr %6, align 4, !tbaa !5
  %78 = icmp eq i32 %77, %70
  %spec.select745 = select i1 %78, i32 1, i32 3
  br label %79

79:                                               ; preds = %76, %73, %72
  %.1649 = phi i32 [ 3, %73 ], [ %.0648, %72 ], [ %spec.select745, %76 ]
  %80 = tail call float @slamch_(ptr noundef nonnull @.str.6) #6
  %81 = tail call float @slamch_(ptr noundef nonnull @.str.7) #6
  %82 = fmul float %81, 2.000000e+00
  store float %82, ptr %24, align 4, !tbaa !9
  %83 = tail call i32 @ilaenv_(ptr noundef nonnull @c__1, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.8, ptr noundef nonnull %2, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, ptr noundef nonnull @c_n1, i32 noundef 6, i32 noundef 1) #6
  %84 = icmp slt i32 %83, 2
  %spec.store.select = select i1 %84, i32 0, i32 %83
  store i32 %spec.store.select, ptr %25, align 4
  %85 = load i32, ptr %2, align 4, !tbaa !5
  %86 = icmp eq i32 %85, 1
  store i32 1, ptr %11, align 4, !tbaa !5
  br i1 %86, label %87, label %97

87:                                               ; preds = %79
  store i32 1, ptr %14, align 4, !tbaa !5
  %88 = icmp eq i32 %.1649, 2
  %.pre960 = load float, ptr %8, align 4, !tbaa !9
  br i1 %88, label %89, label %95

89:                                               ; preds = %87
  %90 = load float, ptr %3, align 4, !tbaa !9
  %91 = fcmp ult float %90, %.pre960
  br i1 %91, label %92, label %96

92:                                               ; preds = %89
  %93 = load float, ptr %4, align 4, !tbaa !9
  %94 = fcmp olt float %93, %.pre960
  br i1 %94, label %96, label %95

95:                                               ; preds = %92, %87
  store float %.pre960, ptr %12, align 4, !tbaa !9
  store i32 1, ptr %13, align 4, !tbaa !5
  br label %96

96:                                               ; preds = %89, %92, %95
  %storemerge739 = phi i32 [ 1, %95 ], [ 0, %92 ], [ 0, %89 ]
  store i32 %storemerge739, ptr %10, align 4, !tbaa !5
  br label %606

97:                                               ; preds = %79
  %98 = load i32, ptr %2, align 4, !tbaa !5
  %99 = sext i32 %98 to i64
  %100 = getelementptr inbounds float, ptr %31, i64 %99
  store float 0.000000e+00, ptr %100, align 4, !tbaa !9
  %.not715773 = icmp slt i32 %98, 2
  br i1 %.not715773, label %._crit_edge, label %.lr.ph

.lr.ph:                                           ; preds = %97
  %101 = fmul float %81, %81
  %102 = add nuw i32 %98, 1
  %wide.trip.count = zext i32 %102 to i64
  br label %103

103:                                              ; preds = %.lr.ph, %129
  %indvars.iv = phi i64 [ 2, %.lr.ph ], [ %indvars.iv.next, %129 ]
  %104 = phi float [ 1.000000e+00, %.lr.ph ], [ %130, %129 ]
  %105 = add nsw i64 %indvars.iv, -1
  %106 = getelementptr inbounds float, ptr %35, i64 %105
  %107 = load float, ptr %106, align 4, !tbaa !9
  %108 = fmul float %107, %107
  %109 = getelementptr inbounds float, ptr %36, i64 %indvars.iv
  %110 = load float, ptr %109, align 4, !tbaa !9
  %111 = getelementptr inbounds float, ptr %36, i64 %105
  %112 = load float, ptr %111, align 4, !tbaa !9
  %113 = fmul float %110, %112
  %114 = fcmp oge float %113, 0.000000e+00
  %115 = fneg float %113
  %116 = select i1 %114, float %113, float %115
  %117 = tail call float @llvm.fmuladd.f32(float %116, float %101, float %80)
  %118 = fcmp ogt float %117, %108
  br i1 %118, label %119, label %126

119:                                              ; preds = %103
  %120 = load i32, ptr %11, align 4, !tbaa !5
  %121 = sext i32 %120 to i64
  %122 = getelementptr inbounds i32, ptr %32, i64 %121
  %123 = trunc nuw nsw i64 %105 to i32
  store i32 %123, ptr %122, align 4, !tbaa !5
  %124 = load i32, ptr %11, align 4, !tbaa !5
  %125 = add nsw i32 %124, 1
  store i32 %125, ptr %11, align 4, !tbaa !5
  br label %129

126:                                              ; preds = %103
  %127 = fcmp oge float %104, %108
  %128 = select i1 %127, float %104, float %108
  br label %129

129:                                              ; preds = %119, %126
  %.sink = phi float [ 0.000000e+00, %119 ], [ %108, %126 ]
  %130 = phi float [ %104, %119 ], [ %128, %126 ]
  %131 = getelementptr inbounds float, ptr %31, i64 %105
  store float %.sink, ptr %131, align 4
  %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.loopexit, label %103, !llvm.loop !11

._crit_edge.loopexit:                             ; preds = %129
  %.pre = load i32, ptr %2, align 4, !tbaa !5
  %.pre956 = load i32, ptr %11, align 4, !tbaa !5
  br label %._crit_edge

._crit_edge:                                      ; preds = %._crit_edge.loopexit, %97
  %132 = phi float [ %130, %._crit_edge.loopexit ], [ 1.000000e+00, %97 ]
  %133 = phi i32 [ %.pre956, %._crit_edge.loopexit ], [ 1, %97 ]
  %134 = phi i32 [ %.pre, %._crit_edge.loopexit ], [ %98, %97 ]
  %135 = sext i32 %133 to i64
  %136 = getelementptr inbounds i32, ptr %32, i64 %135
  store i32 %134, ptr %136, align 4, !tbaa !5
  %137 = fmul float %80, %132
  store float %137, ptr %29, align 4, !tbaa !9
  %138 = icmp eq i32 %.1649, 3
  %139 = load float, ptr %8, align 4, !tbaa !9
  %140 = load i32, ptr %2, align 4, !tbaa !5
  br i1 %138, label %141, label %._crit_edge780

141:                                              ; preds = %._crit_edge
  %142 = add nsw i32 %140, -1
  store i32 %142, ptr %19, align 4, !tbaa !5
  %.not717781 = icmp slt i32 %140, 2
  br i1 %.not717781, label %._crit_edge788, label %.lr.ph787.preheader

.lr.ph787.preheader:                              ; preds = %141
  %wide.trip.count903 = zext nneg i32 %140 to i64
  br label %.lr.ph787

.lr.ph787:                                        ; preds = %.lr.ph787.preheader, %.lr.ph787
  %indvars.iv900 = phi i64 [ 1, %.lr.ph787.preheader ], [ %indvars.iv.next901, %.lr.ph787 ]
  %.0785 = phi float [ 0.000000e+00, %.lr.ph787.preheader ], [ %sqrtf, %.lr.ph787 ]
  %.0656784 = phi float [ %139, %.lr.ph787.preheader ], [ %150, %.lr.ph787 ]
  %.0659783 = phi float [ %139, %.lr.ph787.preheader ], [ %154, %.lr.ph787 ]
  %143 = getelementptr inbounds float, ptr %31, i64 %indvars.iv900
  %144 = load float, ptr %143, align 4, !tbaa !9
  %sqrtf = tail call float @sqrtf(float noundef %144) #4
  %145 = getelementptr inbounds float, ptr %36, i64 %indvars.iv900
  %146 = load float, ptr %145, align 4, !tbaa !9
  %147 = fadd float %.0785, %146
  %148 = fadd float %sqrtf, %147
  %149 = fcmp oge float %.0656784, %148
  %150 = select i1 %149, float %.0656784, float %148
  %151 = fsub float %146, %.0785
  %152 = fsub float %151, %sqrtf
  %153 = fcmp ole float %.0659783, %152
  %154 = select i1 %153, float %.0659783, float %152
  %indvars.iv.next901 = add nuw nsw i64 %indvars.iv900, 1
  %exitcond904.not = icmp eq i64 %indvars.iv.next901, %wide.trip.count903
  br i1 %exitcond904.not, label %._crit_edge788.loopexit, label %.lr.ph787, !llvm.loop !13

._crit_edge788.loopexit:                          ; preds = %.lr.ph787
  %.pre957 = load i32, ptr %2, align 4, !tbaa !5
  br label %._crit_edge788

._crit_edge788:                                   ; preds = %._crit_edge788.loopexit, %141
  %155 = phi i32 [ %140, %141 ], [ %.pre957, %._crit_edge788.loopexit ]
  %.0659.lcssa = phi float [ %139, %141 ], [ %154, %._crit_edge788.loopexit ]
  %.0656.lcssa = phi float [ %139, %141 ], [ %150, %._crit_edge788.loopexit ]
  %.0.lcssa = phi float [ 0.000000e+00, %141 ], [ %sqrtf, %._crit_edge788.loopexit ]
  %156 = sext i32 %155 to i64
  %157 = getelementptr inbounds float, ptr %36, i64 %156
  %158 = load float, ptr %157, align 4, !tbaa !9
  %159 = fadd float %.0.lcssa, %158
  %160 = fcmp oge float %.0656.lcssa, %159
  %161 = select i1 %160, float %.0656.lcssa, float %159
  %162 = fsub float %158, %.0.lcssa
  %163 = fcmp ole float %.0659.lcssa, %162
  %164 = select i1 %163, float %.0659.lcssa, float %162
  %165 = fcmp oge float %164, 0.000000e+00
  %166 = fneg float %164
  %167 = select i1 %165, float %164, float %166
  %168 = fcmp oge float %161, 0.000000e+00
  %169 = fneg float %161
  %170 = select i1 %168, float %161, float %169
  %171 = fcmp oge float %167, %170
  %172 = select i1 %171, float %167, float %170
  %173 = fmul float %172, 0x4000CCCCC0000000
  %174 = fmul float %81, %173
  %175 = sitofp i32 %155 to float
  %176 = fneg float %174
  %177 = tail call float @llvm.fmuladd.f32(float %176, float %175, float %164)
  %178 = fneg float %137
  %179 = tail call float @llvm.fmuladd.f32(float %178, float 0x4010CCCCC0000000, float %177)
  %180 = tail call float @llvm.fmuladd.f32(float %174, float %175, float %161)
  %181 = tail call float @llvm.fmuladd.f32(float %137, float 0x4000CCCCC0000000, float %180)
  %182 = fadd float %137, %172
  %183 = fpext float %182 to double
  %184 = tail call double @log(double noundef %183) #6
  %185 = fpext float %137 to double
  %186 = tail call double @log(double noundef %185) #6
  %187 = fsub double %184, %186
  %188 = fdiv double %187, 0x3FE62E42FEFA39EF
  %189 = fptosi double %188 to i32
  %190 = add nsw i32 %189, 2
  store i32 %190, ptr %23, align 4, !tbaa !5
  %191 = load float, ptr %7, align 4, !tbaa !9
  %192 = fcmp ugt float %191, 0.000000e+00
  %193 = fmul float %81, %172
  %storemerge718 = select i1 %192, float %191, float %193
  store float %storemerge718, ptr %22, align 4, !tbaa !9
  %194 = load i32, ptr %2, align 4, !tbaa !5
  %195 = sext i32 %194 to i64
  %196 = getelementptr float, ptr %31, i64 %195
  %197 = getelementptr i8, ptr %196, i64 4
  store float %179, ptr %197, align 4, !tbaa !9
  %198 = getelementptr i8, ptr %196, i64 8
  store float %179, ptr %198, align 4, !tbaa !9
  %199 = getelementptr i8, ptr %196, i64 12
  store float %181, ptr %199, align 4, !tbaa !9
  %200 = getelementptr i8, ptr %196, i64 16
  store float %181, ptr %200, align 4, !tbaa !9
  %201 = getelementptr i8, ptr %196, i64 20
  store float %179, ptr %201, align 4, !tbaa !9
  %202 = getelementptr i8, ptr %196, i64 24
  store float %181, ptr %202, align 4, !tbaa !9
  store i32 -1, ptr %16, align 4, !tbaa !5
  %203 = getelementptr inbounds i8, ptr %16, i64 4
  store i32 -1, ptr %203, align 4, !tbaa !5
  %204 = load i32, ptr %2, align 4, !tbaa !5
  %205 = add nsw i32 %204, 1
  %206 = getelementptr inbounds i8, ptr %16, i64 8
  store i32 %205, ptr %206, align 4, !tbaa !5
  %207 = load i32, ptr %2, align 4, !tbaa !5
  %208 = add nsw i32 %207, 1
  %209 = getelementptr inbounds i8, ptr %16, i64 12
  store i32 %208, ptr %209, align 4, !tbaa !5
  %210 = load i32, ptr %5, align 4, !tbaa !5
  %211 = add nsw i32 %210, -1
  %212 = getelementptr inbounds i8, ptr %16, i64 16
  store i32 %211, ptr %212, align 4, !tbaa !5
  %213 = load i32, ptr %6, align 4, !tbaa !5
  %214 = getelementptr inbounds i8, ptr %16, i64 20
  store i32 %213, ptr %214, align 4, !tbaa !5
  %215 = load i32, ptr %2, align 4, !tbaa !5
  %216 = sext i32 %215 to i64
  %217 = getelementptr float, ptr %31, i64 %216
  %218 = getelementptr i8, ptr %217, i64 4
  %219 = getelementptr i8, ptr %217, i64 20
  call void @slaebz_(ptr noundef nonnull @c__3, ptr noundef nonnull %23, ptr noundef nonnull %2, ptr noundef nonnull @c__2, ptr noundef nonnull @c__2, ptr noundef nonnull %25, ptr noundef nonnull %22, ptr noundef nonnull %24, ptr noundef nonnull %29, ptr noundef nonnull %8, ptr noundef %9, ptr noundef nonnull %15, ptr noundef nonnull %212, ptr noundef %218, ptr noundef %219, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef %12, ptr noundef %13, ptr noundef nonnull %21) #6
  %220 = load i32, ptr %214, align 4, !tbaa !5
  %221 = load i32, ptr %6, align 4, !tbaa !5
  %222 = icmp eq i32 %220, %221
  %.979 = select i1 %222, ptr %16, ptr %203
  %.0630 = load i32, ptr %.979, align 4, !tbaa !5
  %223 = icmp slt i32 %.0630, 0
  br i1 %223, label %236, label %224

224:                                              ; preds = %._crit_edge788
  %225 = load i32, ptr %2, align 4, !tbaa !5
  %226 = sext i32 %225 to i64
  %227 = getelementptr float, ptr %31, i64 %226
  %.978 = select i1 %222, i64 8, i64 4
  %228 = getelementptr i8, ptr %227, i64 %.978
  %.977 = select i1 %222, i64 16, i64 12
  %229 = getelementptr i8, ptr %227, i64 %.977
  %.976 = select i1 %222, i64 12, i64 16
  %230 = getelementptr i8, ptr %227, i64 %.976
  %. = select i1 %222, i64 4, i64 8
  %231 = getelementptr i8, ptr %227, i64 %.
  %.980 = select i1 %222, ptr %209, ptr %206
  %.0650 = load float, ptr %231, align 4, !tbaa !9
  %.0643 = load float, ptr %229, align 4, !tbaa !9
  %.0628 = load float, ptr %230, align 4, !tbaa !9
  %.0626 = load float, ptr %228, align 4, !tbaa !9
  %.0622 = load i32, ptr %.980, align 4, !tbaa !5
  %232 = icmp sge i32 %.0630, %225
  %233 = icmp slt i32 %.0622, 1
  %234 = icmp sgt i32 %.0622, %225
  %235 = or i1 %233, %234
  %or.cond746 = select i1 %232, i1 true, i1 %235
  br i1 %or.cond746, label %236, label %241

236:                                              ; preds = %224, %._crit_edge788
  store i32 4, ptr %17, align 4, !tbaa !5
  br label %606

._crit_edge780:                                   ; preds = %._crit_edge
  %237 = icmp eq i32 %.1649, 2
  br i1 %237, label %238, label %241

238:                                              ; preds = %._crit_edge780
  %239 = load float, ptr %3, align 4, !tbaa !9
  %240 = load float, ptr %4, align 4, !tbaa !9
  br label %241

241:                                              ; preds = %._crit_edge780, %224, %238
  %.1651 = phi float [ %239, %238 ], [ %.0650, %224 ], [ 0.000000e+00, %._crit_edge780 ]
  %.1644 = phi float [ %240, %238 ], [ %.0643, %224 ], [ 0.000000e+00, %._crit_edge780 ]
  %.1629 = phi float [ undef, %238 ], [ %.0628, %224 ], [ undef, %._crit_edge780 ]
  %.1627 = phi float [ undef, %238 ], [ %.0626, %224 ], [ undef, %._crit_edge780 ]
  store i32 0, ptr %10, align 4, !tbaa !5
  store i32 0, ptr %17, align 4, !tbaa !5
  %242 = load i32, ptr %11, align 4, !tbaa !5
  %.not719825 = icmp slt i32 %242, 1
  br i1 %.not719825, label %._crit_edge834, label %.lr.ph833

.lr.ph833:                                        ; preds = %241
  %243 = icmp sgt i32 %.1649, 1
  %244 = icmp eq i32 %.1649, 1
  %245 = zext nneg i32 %242 to i64
  br label %246

246:                                              ; preds = %.lr.ph833, %435
  %indvars.iv919 = phi i64 [ 1, %.lr.ph833 ], [ %indvars.iv.next920, %435 ]
  %.1623831 = phi i32 [ 0, %.lr.ph833 ], [ %.3625, %435 ]
  %.1631830 = phi i32 [ 0, %.lr.ph833 ], [ %.3633, %435 ]
  %.0635829 = phi i32 [ 0, %.lr.ph833 ], [ %.3638, %435 ]
  %.0685826 = phi i32 [ 0, %.lr.ph833 ], [ %249, %435 ]
  %indvars921 = trunc i64 %indvars.iv919 to i32
  %247 = add i32 %.0685826, 1
  %248 = getelementptr inbounds i32, ptr %32, i64 %indvars.iv919
  %249 = load i32, ptr %248, align 4, !tbaa !5
  %250 = sub nsw i32 %249, %.0685826
  store i32 %250, ptr %27, align 4, !tbaa !5
  %251 = icmp eq i32 %250, 1
  br i1 %251, label %252, label %273

252:                                              ; preds = %246
  br i1 %244, label %.thread766, label %.thread753

.thread766:                                       ; preds = %252
  %253 = add nsw i32 %.1631830, 1
  %254 = add nsw i32 %.1623831, 1
  %.pre958 = sext i32 %247 to i64
  %.phi.trans.insert = getelementptr inbounds float, ptr %36, i64 %.pre958
  %.pre959 = load float, ptr %.phi.trans.insert, align 4, !tbaa !9
  br label %266

.thread753:                                       ; preds = %252
  %255 = sext i32 %247 to i64
  %256 = getelementptr inbounds float, ptr %36, i64 %255
  %257 = load float, ptr %256, align 4, !tbaa !9
  %258 = load float, ptr %29, align 4, !tbaa !9
  %259 = fsub float %257, %258
  %260 = fcmp oge float %.1651, %259
  %261 = zext i1 %260 to i32
  %.2632757 = add nsw i32 %.1631830, %261
  %262 = fcmp oge float %.1644, %259
  %263 = zext i1 %262 to i32
  %.2624764 = add nsw i32 %.1623831, %263
  %264 = fcmp uge float %.1651, %259
  %265 = fcmp ult float %.1644, %259
  %or.cond747 = select i1 %264, i1 true, i1 %265
  br i1 %or.cond747, label %435, label %266

266:                                              ; preds = %.thread766, %.thread753
  %267 = phi float [ %.pre959, %.thread766 ], [ %257, %.thread753 ]
  %.2624765 = phi i32 [ %254, %.thread766 ], [ %.2624764, %.thread753 ]
  %.2632756763 = phi i32 [ %253, %.thread766 ], [ %.2632757, %.thread753 ]
  %268 = load i32, ptr %10, align 4, !tbaa !5
  %269 = add nsw i32 %268, 1
  store i32 %269, ptr %10, align 4, !tbaa !5
  %270 = sext i32 %269 to i64
  %271 = getelementptr inbounds float, ptr %34, i64 %270
  store float %267, ptr %271, align 4, !tbaa !9
  %272 = getelementptr inbounds i32, ptr %33, i64 %270
  store i32 %indvars921, ptr %272, align 4, !tbaa !5
  br label %435

273:                                              ; preds = %246
  %274 = sext i32 %247 to i64
  %275 = getelementptr inbounds float, ptr %36, i64 %274
  %276 = load float, ptr %275, align 4, !tbaa !9
  %.not735.not792 = icmp slt i32 %247, %249
  br i1 %.not735.not792, label %.lr.ph798, label %._crit_edge799

.lr.ph798:                                        ; preds = %273, %.lr.ph798
  %indvars.iv905 = phi i64 [ %indvars.iv.next906, %.lr.ph798 ], [ %274, %273 ]
  %.1796 = phi float [ %281, %.lr.ph798 ], [ 0.000000e+00, %273 ]
  %.1657795 = phi float [ %287, %.lr.ph798 ], [ %276, %273 ]
  %.1660794 = phi float [ %291, %.lr.ph798 ], [ %276, %273 ]
  %277 = getelementptr inbounds float, ptr %35, i64 %indvars.iv905
  %278 = load float, ptr %277, align 4, !tbaa !9
  %279 = fcmp oge float %278, 0.000000e+00
  %280 = fneg float %278
  %281 = select i1 %279, float %278, float %280
  %282 = getelementptr inbounds float, ptr %36, i64 %indvars.iv905
  %283 = load float, ptr %282, align 4, !tbaa !9
  %284 = fadd float %.1796, %283
  %285 = fadd float %284, %281
  %286 = fcmp oge float %.1657795, %285
  %287 = select i1 %286, float %.1657795, float %285
  %288 = fsub float %283, %.1796
  %289 = fsub float %288, %281
  %290 = fcmp ole float %.1660794, %289
  %291 = select i1 %290, float %.1660794, float %289
  %indvars.iv.next906 = add nsw i64 %indvars.iv905, 1
  %lftr.wideiv = trunc i64 %indvars.iv.next906 to i32
  %exitcond908.not = icmp eq i32 %249, %lftr.wideiv
  br i1 %exitcond908.not, label %._crit_edge799, label %.lr.ph798, !llvm.loop !14

._crit_edge799:                                   ; preds = %.lr.ph798, %273
  %.1660.lcssa = phi float [ %276, %273 ], [ %291, %.lr.ph798 ]
  %.1657.lcssa = phi float [ %276, %273 ], [ %287, %.lr.ph798 ]
  %.1.lcssa = phi float [ 0.000000e+00, %273 ], [ %281, %.lr.ph798 ]
  %292 = sext i32 %249 to i64
  %293 = getelementptr inbounds float, ptr %36, i64 %292
  %294 = load float, ptr %293, align 4, !tbaa !9
  %295 = fadd float %.1.lcssa, %294
  %296 = fcmp oge float %.1657.lcssa, %295
  %297 = select i1 %296, float %.1657.lcssa, float %295
  %298 = fsub float %294, %.1.lcssa
  %299 = fcmp ole float %.1660.lcssa, %298
  %300 = select i1 %299, float %.1660.lcssa, float %298
  %301 = fcmp oge float %300, 0.000000e+00
  %302 = fneg float %300
  %303 = select i1 %301, float %300, float %302
  %304 = fcmp oge float %297, 0.000000e+00
  %305 = fneg float %297
  %306 = select i1 %304, float %297, float %305
  %307 = fcmp oge float %303, %306
  %308 = select i1 %307, float %303, float %306
  %309 = fmul float %308, 0x4000CCCCC0000000
  %310 = fmul float %81, %309
  %311 = sitofp i32 %250 to float
  %312 = fneg float %310
  %313 = call float @llvm.fmuladd.f32(float %312, float %311, float %300)
  %314 = load float, ptr %29, align 4, !tbaa !9
  %315 = fneg float %314
  %316 = call float @llvm.fmuladd.f32(float %315, float 0x4000CCCCC0000000, float %313)
  %317 = call float @llvm.fmuladd.f32(float %310, float %311, float %297)
  %318 = call float @llvm.fmuladd.f32(float %314, float 0x4000CCCCC0000000, float %317)
  %319 = load float, ptr %7, align 4, !tbaa !9
  %320 = fcmp ugt float %319, 0.000000e+00
  br i1 %320, label %331, label %321

321:                                              ; preds = %._crit_edge799
  %322 = fcmp oge float %316, 0.000000e+00
  %323 = fneg float %316
  %324 = select i1 %322, float %316, float %323
  %325 = fcmp oge float %318, 0.000000e+00
  %326 = fneg float %318
  %327 = select i1 %325, float %318, float %326
  %328 = fcmp oge float %324, %327
  %329 = select i1 %328, float %324, float %327
  %330 = fmul float %81, %329
  br label %331

331:                                              ; preds = %._crit_edge799, %321
  %storemerge736 = phi float [ %330, %321 ], [ %319, %._crit_edge799 ]
  store float %storemerge736, ptr %22, align 4, !tbaa !9
  br i1 %243, label %332, label %343

332:                                              ; preds = %331
  %333 = fcmp olt float %318, %.1651
  br i1 %333, label %334, label %337

334:                                              ; preds = %332
  %335 = add nsw i32 %250, %.1631830
  %336 = add nsw i32 %250, %.1623831
  br label %435

337:                                              ; preds = %332
  %338 = fcmp oge float %316, %.1651
  %339 = select i1 %338, float %316, float %.1651
  %340 = fcmp ole float %318, %.1644
  %341 = select i1 %340, float %318, float %.1644
  %342 = fcmp ult float %339, %341
  br i1 %342, label %343, label %435

343:                                              ; preds = %337, %331
  %.2661 = phi float [ %339, %337 ], [ %316, %331 ]
  %.2658 = phi float [ %341, %337 ], [ %318, %331 ]
  %344 = load i32, ptr %2, align 4, !tbaa !5
  %345 = sext i32 %344 to i64
  %gep = getelementptr float, ptr %15, i64 %345
  store float %.2661, ptr %gep, align 4, !tbaa !9
  %346 = add nsw i32 %344, %250
  %347 = sext i32 %346 to i64
  %gep816 = getelementptr float, ptr %15, i64 %347
  store float %.2658, ptr %gep816, align 4, !tbaa !9
  %348 = getelementptr inbounds float, ptr %35, i64 %274
  %349 = getelementptr inbounds float, ptr %31, i64 %274
  %350 = shl i32 %250, 1
  %351 = add nsw i32 %344, %350
  %352 = sext i32 %351 to i64
  %gep818 = getelementptr float, ptr %15, i64 %352
  %353 = load i32, ptr %10, align 4, !tbaa !5
  %354 = add nsw i32 %353, 1
  %355 = sext i32 %354 to i64
  %356 = getelementptr inbounds float, ptr %34, i64 %355
  %357 = getelementptr inbounds i32, ptr %33, i64 %355
  call void @slaebz_(ptr noundef nonnull @c__1, ptr noundef nonnull @c__0, ptr noundef nonnull %27, ptr noundef nonnull %27, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %22, ptr noundef nonnull %24, ptr noundef nonnull %29, ptr noundef nonnull %275, ptr noundef nonnull %348, ptr noundef nonnull %349, ptr noundef nonnull %28, ptr noundef nonnull %gep, ptr noundef %gep818, ptr noundef nonnull %26, ptr noundef %16, ptr noundef nonnull %356, ptr noundef nonnull %357, ptr noundef nonnull %21) #6
  %358 = load i32, ptr %16, align 4, !tbaa !5
  %359 = add nsw i32 %358, %.1631830
  %360 = load i32, ptr %27, align 4, !tbaa !5
  %361 = sext i32 %360 to i64
  %gep820 = getelementptr i32, ptr %16, i64 %361
  %362 = load i32, ptr %gep820, align 4, !tbaa !5
  %363 = add nsw i32 %362, %.1623831
  %364 = load i32, ptr %10, align 4, !tbaa !5
  %365 = sub nsw i32 %364, %358
  %366 = fsub float %.2658, %.2661
  %367 = load float, ptr %29, align 4, !tbaa !9
  %368 = fadd float %366, %367
  %369 = fpext float %368 to double
  %370 = call double @log(double noundef %369) #6
  %371 = load float, ptr %29, align 4, !tbaa !9
  %372 = fpext float %371 to double
  %373 = call double @log(double noundef %372) #6
  %374 = fsub double %370, %373
  %375 = fdiv double %374, 0x3FE62E42FEFA39EF
  %376 = fptosi double %375 to i32
  %377 = add nsw i32 %376, 2
  store i32 %377, ptr %23, align 4, !tbaa !5
  %378 = load i32, ptr %2, align 4, !tbaa !5
  %379 = sext i32 %378 to i64
  %gep822 = getelementptr float, ptr %15, i64 %379
  %380 = load i32, ptr %27, align 4, !tbaa !5
  %381 = shl i32 %380, 1
  %382 = add nsw i32 %381, %378
  %383 = sext i32 %382 to i64
  %gep824 = getelementptr float, ptr %15, i64 %383
  %384 = load i32, ptr %10, align 4, !tbaa !5
  %385 = add nsw i32 %384, 1
  %386 = sext i32 %385 to i64
  %387 = getelementptr inbounds float, ptr %34, i64 %386
  %388 = getelementptr inbounds i32, ptr %33, i64 %386
  call void @slaebz_(ptr noundef nonnull @c__2, ptr noundef nonnull %23, ptr noundef nonnull %27, ptr noundef nonnull %27, ptr noundef nonnull @c__1, ptr noundef nonnull %25, ptr noundef nonnull %22, ptr noundef nonnull %24, ptr noundef nonnull %29, ptr noundef nonnull %275, ptr noundef nonnull %348, ptr noundef nonnull %349, ptr noundef nonnull %28, ptr noundef %gep822, ptr noundef %gep824, ptr noundef nonnull %20, ptr noundef nonnull %16, ptr noundef nonnull %387, ptr noundef nonnull %388, ptr noundef nonnull %21) #6
  %389 = load i32, ptr %20, align 4, !tbaa !5
  %.not737808 = icmp slt i32 %389, 1
  br i1 %.not737808, label %._crit_edge813, label %.lr.ph812

.lr.ph812:                                        ; preds = %343
  %390 = load i32, ptr %27, align 4, !tbaa !5
  %391 = load i32, ptr %21, align 4, !tbaa !5
  %392 = sub nsw i32 %389, %391
  %393 = sub nsw i32 0, %indvars921
  %394 = add i32 %365, 1
  %395 = add i32 %364, 1
  %396 = sub i32 %395, %358
  %397 = sext i32 %390 to i64
  %398 = sext i32 %392 to i64
  %399 = add nuw i32 %389, 1
  %wide.trip.count917 = zext i32 %399 to i64
  br label %400

400:                                              ; preds = %.lr.ph812, %._crit_edge807
  %indvars.iv914 = phi i64 [ 1, %.lr.ph812 ], [ %indvars.iv.next915, %._crit_edge807 ]
  %.1636810 = phi i32 [ %.0635829, %.lr.ph812 ], [ %.2637, %._crit_edge807 ]
  %401 = load i32, ptr %2, align 4, !tbaa !5
  %402 = sext i32 %401 to i64
  %403 = getelementptr float, ptr %31, i64 %indvars.iv914
  %404 = getelementptr float, ptr %403, i64 %402
  %405 = load float, ptr %404, align 4, !tbaa !9
  %406 = add nsw i64 %indvars.iv914, %397
  %407 = getelementptr float, ptr %31, i64 %406
  %408 = getelementptr float, ptr %407, i64 %402
  %409 = load float, ptr %408, align 4, !tbaa !9
  %410 = fadd float %405, %409
  %411 = fmul float %410, 5.000000e-01
  %412 = icmp sgt i64 %indvars.iv914, %398
  %.0669 = select i1 %412, i32 %393, i32 %indvars921
  %.2637 = select i1 %412, i32 1, i32 %.1636810
  %413 = getelementptr inbounds i32, ptr %30, i64 %406
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = add nsw i32 %414, %365
  %416 = getelementptr inbounds i32, ptr %30, i64 %indvars.iv914
  %417 = load i32, ptr %416, align 4, !tbaa !5
  %418 = add i32 %394, %417
  %.not738803 = icmp sgt i32 %418, %415
  br i1 %.not738803, label %._crit_edge807, label %.lr.ph806.preheader

.lr.ph806.preheader:                              ; preds = %400
  %419 = sext i32 %418 to i64
  %420 = add i32 %396, %414
  %421 = xor i32 %417, -1
  %422 = add i32 %414, %421
  %423 = zext i32 %422 to i64
  %424 = add nuw nsw i64 %423, 1
  %min.iters.check = icmp ult i32 %422, 7
  br i1 %min.iters.check, label %.lr.ph806.preheader992, label %vector.ph

vector.ph:                                        ; preds = %.lr.ph806.preheader
  %n.vec = and i64 %424, 8589934584
  %ind.end = add nsw i64 %n.vec, %419
  %broadcast.splatinsert = insertelement <4 x float> poison, float %411, i64 0
  %broadcast.splat = shufflevector <4 x float> %broadcast.splatinsert, <4 x float> poison, <4 x i32> zeroinitializer
  %broadcast.splatinsert989 = insertelement <4 x i32> poison, i32 %.0669, i64 0
  %broadcast.splat990 = shufflevector <4 x i32> %broadcast.splatinsert989, <4 x i32> poison, <4 x i32> zeroinitializer
  br label %vector.body

vector.body:                                      ; preds = %vector.body, %vector.ph
  %index = phi i64 [ 0, %vector.ph ], [ %index.next, %vector.body ]
  %offset.idx = add i64 %index, %419
  %425 = getelementptr inbounds float, ptr %34, i64 %offset.idx
  %426 = getelementptr inbounds i8, ptr %425, i64 16
  store <4 x float> %broadcast.splat, ptr %425, align 4, !tbaa !9
  store <4 x float> %broadcast.splat, ptr %426, align 4, !tbaa !9
  %427 = getelementptr inbounds i32, ptr %33, i64 %offset.idx
  %428 = getelementptr inbounds i8, ptr %427, i64 16
  store <4 x i32> %broadcast.splat990, ptr %427, align 4, !tbaa !5
  store <4 x i32> %broadcast.splat990, ptr %428, align 4, !tbaa !5
  %index.next = add nuw i64 %index, 8
  %429 = icmp eq i64 %index.next, %n.vec
  br i1 %429, label %middle.block, label %vector.body, !llvm.loop !15

middle.block:                                     ; preds = %vector.body
  %cmp.n = icmp eq i64 %424, %n.vec
  br i1 %cmp.n, label %._crit_edge807, label %.lr.ph806.preheader992

.lr.ph806.preheader992:                           ; preds = %middle.block, %.lr.ph806.preheader
  %indvars.iv909.ph = phi i64 [ %419, %.lr.ph806.preheader ], [ %ind.end, %middle.block ]
  br label %.lr.ph806

.lr.ph806:                                        ; preds = %.lr.ph806.preheader992, %.lr.ph806
  %indvars.iv909 = phi i64 [ %indvars.iv.next910, %.lr.ph806 ], [ %indvars.iv909.ph, %.lr.ph806.preheader992 ]
  %430 = getelementptr inbounds float, ptr %34, i64 %indvars.iv909
  store float %411, ptr %430, align 4, !tbaa !9
  %431 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv909
  store i32 %.0669, ptr %431, align 4, !tbaa !5
  %indvars.iv.next910 = add nsw i64 %indvars.iv909, 1
  %lftr.wideiv912 = trunc i64 %indvars.iv.next910 to i32
  %exitcond913.not = icmp eq i32 %420, %lftr.wideiv912
  br i1 %exitcond913.not, label %._crit_edge807, label %.lr.ph806, !llvm.loop !18

._crit_edge807:                                   ; preds = %.lr.ph806, %middle.block, %400
  %indvars.iv.next915 = add nuw nsw i64 %indvars.iv914, 1
  %exitcond918.not = icmp eq i64 %indvars.iv.next915, %wide.trip.count917
  br i1 %exitcond918.not, label %._crit_edge813, label %400, !llvm.loop !19

._crit_edge813:                                   ; preds = %._crit_edge807, %343
  %.1636.lcssa = phi i32 [ %.0635829, %343 ], [ %.2637, %._crit_edge807 ]
  %432 = load i32, ptr %26, align 4, !tbaa !5
  %433 = load i32, ptr %10, align 4, !tbaa !5
  %434 = add nsw i32 %433, %432
  store i32 %434, ptr %10, align 4, !tbaa !5
  br label %435

435:                                              ; preds = %334, %337, %.thread753, %266, %._crit_edge813
  %.3638 = phi i32 [ %.0635829, %266 ], [ %.0635829, %.thread753 ], [ %.0635829, %334 ], [ %.0635829, %337 ], [ %.1636.lcssa, %._crit_edge813 ]
  %.3633 = phi i32 [ %.2632756763, %266 ], [ %.2632757, %.thread753 ], [ %335, %334 ], [ %.1631830, %337 ], [ %359, %._crit_edge813 ]
  %.3625 = phi i32 [ %.2624765, %266 ], [ %.2624764, %.thread753 ], [ %336, %334 ], [ %.1623831, %337 ], [ %363, %._crit_edge813 ]
  %indvars.iv.next920 = add nuw nsw i64 %indvars.iv919, 1
  %.not719.not = icmp ult i64 %indvars.iv919, %245
  br i1 %.not719.not, label %246, label %._crit_edge834.loopexit, !llvm.loop !20

._crit_edge834.loopexit:                          ; preds = %435
  %436 = xor i32 %.3633, -1
  %437 = icmp ne i32 %.3638, 0
  br label %._crit_edge834

._crit_edge834:                                   ; preds = %._crit_edge834.loopexit, %241
  %.0635.lcssa = phi i1 [ false, %241 ], [ %437, %._crit_edge834.loopexit ]
  %.1631.lcssa = phi i32 [ -1, %241 ], [ %436, %._crit_edge834.loopexit ]
  %.1623.lcssa = phi i32 [ 0, %241 ], [ %.3625, %._crit_edge834.loopexit ]
  br i1 %138, label %438, label %582

438:                                              ; preds = %._crit_edge834
  %439 = load i32, ptr %5, align 4, !tbaa !5
  %440 = add i32 %439, %.1631.lcssa
  %441 = load i32, ptr %6, align 4, !tbaa !5
  %442 = sub nsw i32 %.1623.lcssa, %441
  %443 = icmp sgt i32 %440, 0
  %444 = icmp sgt i32 %442, 0
  %or.cond3 = select i1 %443, i1 true, i1 %444
  br i1 %or.cond3, label %445, label %470

445:                                              ; preds = %438
  %446 = load i32, ptr %10, align 4, !tbaa !5
  %.not720839 = icmp slt i32 %446, 1
  br i1 %.not720839, label %._crit_edge845, label %.lr.ph844.preheader

.lr.ph844.preheader:                              ; preds = %445
  %447 = add nuw i32 %446, 1
  %wide.trip.count925 = zext i32 %447 to i64
  br label %.lr.ph844

.lr.ph844:                                        ; preds = %.lr.ph844.preheader, %467
  %indvars.iv922 = phi i64 [ 1, %.lr.ph844.preheader ], [ %indvars.iv.next923, %467 ]
  %.0640842 = phi i32 [ %442, %.lr.ph844.preheader ], [ %.1641, %467 ]
  %.0645841 = phi i32 [ %440, %.lr.ph844.preheader ], [ %.1646, %467 ]
  %448 = phi i32 [ 0, %.lr.ph844.preheader ], [ %468, %467 ]
  %449 = getelementptr inbounds float, ptr %34, i64 %indvars.iv922
  %450 = load float, ptr %449, align 4, !tbaa !9
  %451 = fcmp ole float %450, %.1629
  %452 = icmp sgt i32 %.0645841, 0
  %or.cond5 = select i1 %451, i1 %452, i1 false
  br i1 %or.cond5, label %453, label %455

453:                                              ; preds = %.lr.ph844
  %454 = add nsw i32 %.0645841, -1
  br label %467

455:                                              ; preds = %.lr.ph844
  %456 = fcmp oge float %450, %.1627
  %457 = icmp sgt i32 %.0640842, 0
  %or.cond7 = select i1 %456, i1 %457, i1 false
  br i1 %or.cond7, label %458, label %460

458:                                              ; preds = %455
  %459 = add nsw i32 %.0640842, -1
  br label %467

460:                                              ; preds = %455
  %461 = add nsw i32 %448, 1
  %462 = sext i32 %461 to i64
  %463 = getelementptr inbounds float, ptr %34, i64 %462
  store float %450, ptr %463, align 4, !tbaa !9
  %464 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv922
  %465 = load i32, ptr %464, align 4, !tbaa !5
  %466 = getelementptr inbounds i32, ptr %33, i64 %462
  store i32 %465, ptr %466, align 4, !tbaa !5
  br label %467

467:                                              ; preds = %453, %460, %458
  %468 = phi i32 [ %448, %453 ], [ %448, %458 ], [ %461, %460 ]
  %.1646 = phi i32 [ %454, %453 ], [ %.0645841, %458 ], [ %.0645841, %460 ]
  %.1641 = phi i32 [ %.0640842, %453 ], [ %459, %458 ], [ %.0640842, %460 ]
  %indvars.iv.next923 = add nuw nsw i64 %indvars.iv922, 1
  %exitcond926.not = icmp eq i64 %indvars.iv.next923, %wide.trip.count925
  br i1 %exitcond926.not, label %._crit_edge845, label %.lr.ph844, !llvm.loop !21

._crit_edge845:                                   ; preds = %467, %445
  %469 = phi i32 [ 0, %445 ], [ %468, %467 ]
  %.0645.lcssa = phi i32 [ %440, %445 ], [ %.1646, %467 ]
  %.0640.lcssa = phi i32 [ %442, %445 ], [ %.1641, %467 ]
  store i32 %469, ptr %10, align 4, !tbaa !5
  br label %470

470:                                              ; preds = %438, %._crit_edge845
  %.2647 = phi i32 [ %.0645.lcssa, %._crit_edge845 ], [ %440, %438 ]
  %.2642 = phi i32 [ %.0640.lcssa, %._crit_edge845 ], [ %442, %438 ]
  %471 = icmp sgt i32 %.2647, 0
  %472 = icmp sgt i32 %.2642, 0
  %or.cond9 = select i1 %471, i1 true, i1 %472
  br i1 %or.cond9, label %473, label %579

473:                                              ; preds = %470
  br i1 %471, label %.preheader981, label %.loopexit772

.preheader981:                                    ; preds = %473, %._crit_edge854
  %.0671858 = phi float [ %.1672.lcssa, %._crit_edge854 ], [ %.1644, %473 ]
  %.0677857 = phi i32 [ %508, %._crit_edge854 ], [ 1, %473 ]
  %474 = load i32, ptr %10, align 4, !tbaa !5
  %.not733848 = icmp slt i32 %474, 1
  br i1 %.not733848, label %._crit_edge854, label %.lr.ph853.preheader

.lr.ph853.preheader:                              ; preds = %.preheader981
  %475 = zext nneg i32 %474 to i64
  %xtraiter = and i64 %475, 1
  %476 = icmp eq i32 %474, 1
  br i1 %476, label %._crit_edge854.loopexit.unr-lcssa, label %.lr.ph853.preheader.new

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

.lr.ph853:                                        ; preds = %496, %.lr.ph853.preheader.new
  %indvars.iv927 = phi i64 [ 1, %.lr.ph853.preheader.new ], [ %indvars.iv.next928.1, %496 ]
  %.0652851 = phi i32 [ 0, %.lr.ph853.preheader.new ], [ %.1653.1, %496 ]
  %.1672849 = phi float [ %.0671858, %.lr.ph853.preheader.new ], [ %.2673.1, %496 ]
  %niter = phi i64 [ 0, %.lr.ph853.preheader.new ], [ %niter.next.1, %496 ]
  %477 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv927
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %.not734 = icmp eq i32 %478, 0
  br i1 %.not734, label %.lr.ph853.1, label %479

479:                                              ; preds = %.lr.ph853
  %480 = getelementptr inbounds float, ptr %34, i64 %indvars.iv927
  %481 = load float, ptr %480, align 4, !tbaa !9
  %482 = fcmp olt float %481, %.1672849
  %483 = icmp eq i32 %.0652851, 0
  %or.cond11 = select i1 %482, i1 true, i1 %483
  br i1 %or.cond11, label %484, label %.lr.ph853.1

484:                                              ; preds = %479
  %485 = trunc nuw nsw i64 %indvars.iv927 to i32
  br label %.lr.ph853.1

.lr.ph853.1:                                      ; preds = %.lr.ph853, %484, %479
  %.2673 = phi float [ %481, %484 ], [ %.1672849, %479 ], [ %.1672849, %.lr.ph853 ]
  %.1653 = phi i32 [ %485, %484 ], [ %.0652851, %479 ], [ %.0652851, %.lr.ph853 ]
  %486 = getelementptr i32, ptr %13, i64 %indvars.iv927
  %487 = load i32, ptr %486, align 4, !tbaa !5
  %.not734.1 = icmp eq i32 %487, 0
  br i1 %.not734.1, label %496, label %488

488:                                              ; preds = %.lr.ph853.1
  %489 = getelementptr float, ptr %12, i64 %indvars.iv927
  %490 = load float, ptr %489, align 4, !tbaa !9
  %491 = fcmp olt float %490, %.2673
  %492 = icmp eq i32 %.1653, 0
  %or.cond11.1 = select i1 %491, i1 true, i1 %492
  br i1 %or.cond11.1, label %493, label %496

493:                                              ; preds = %488
  %494 = trunc i64 %indvars.iv927 to i32
  %495 = add i32 %494, 1
  br label %496

496:                                              ; preds = %493, %488, %.lr.ph853.1
  %.2673.1 = phi float [ %490, %493 ], [ %.2673, %488 ], [ %.2673, %.lr.ph853.1 ]
  %.1653.1 = phi i32 [ %495, %493 ], [ %.1653, %488 ], [ %.1653, %.lr.ph853.1 ]
  %indvars.iv.next928.1 = add nuw nsw i64 %indvars.iv927, 2
  %niter.next.1 = add i64 %niter, 2
  %niter.ncmp.1 = icmp eq i64 %niter.next.1, %unroll_iter
  br i1 %niter.ncmp.1, label %._crit_edge854.loopexit.unr-lcssa, label %.lr.ph853, !llvm.loop !22

._crit_edge854.loopexit.unr-lcssa:                ; preds = %496, %.lr.ph853.preheader
  %.2673.lcssa.ph = phi float [ poison, %.lr.ph853.preheader ], [ %.2673.1, %496 ]
  %.1653.lcssa.ph = phi i32 [ poison, %.lr.ph853.preheader ], [ %.1653.1, %496 ]
  %indvars.iv927.unr = phi i64 [ 1, %.lr.ph853.preheader ], [ %indvars.iv.next928.1, %496 ]
  %.0652851.unr = phi i32 [ 0, %.lr.ph853.preheader ], [ %.1653.1, %496 ]
  %.1672849.unr = phi float [ %.0671858, %.lr.ph853.preheader ], [ %.2673.1, %496 ]
  %lcmp.mod.not = icmp eq i64 %xtraiter, 0
  br i1 %lcmp.mod.not, label %._crit_edge854, label %.lr.ph853.epil

.lr.ph853.epil:                                   ; preds = %._crit_edge854.loopexit.unr-lcssa
  %497 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv927.unr
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %.not734.epil = icmp eq i32 %498, 0
  br i1 %.not734.epil, label %._crit_edge854, label %499

499:                                              ; preds = %.lr.ph853.epil
  %500 = getelementptr inbounds float, ptr %34, i64 %indvars.iv927.unr
  %501 = load float, ptr %500, align 4, !tbaa !9
  %502 = fcmp olt float %501, %.1672849.unr
  %503 = icmp eq i32 %.0652851.unr, 0
  %or.cond11.epil = select i1 %502, i1 true, i1 %503
  br i1 %or.cond11.epil, label %504, label %._crit_edge854

504:                                              ; preds = %499
  %505 = trunc nuw nsw i64 %indvars.iv927.unr to i32
  br label %._crit_edge854

._crit_edge854:                                   ; preds = %._crit_edge854.loopexit.unr-lcssa, %504, %499, %.lr.ph853.epil, %.preheader981
  %.1672.lcssa = phi float [ %.0671858, %.preheader981 ], [ %.2673.lcssa.ph, %._crit_edge854.loopexit.unr-lcssa ], [ %501, %504 ], [ %.1672849.unr, %499 ], [ %.1672849.unr, %.lr.ph853.epil ]
  %.0652.lcssa = phi i32 [ 0, %.preheader981 ], [ %.1653.lcssa.ph, %._crit_edge854.loopexit.unr-lcssa ], [ %505, %504 ], [ %.0652851.unr, %499 ], [ %.0652851.unr, %.lr.ph853.epil ]
  %506 = sext i32 %.0652.lcssa to i64
  %507 = getelementptr inbounds i32, ptr %33, i64 %506
  store i32 0, ptr %507, align 4, !tbaa !5
  %508 = add nuw i32 %.0677857, 1
  %exitcond932.not = icmp eq i32 %.0677857, %.2647
  br i1 %exitcond932.not, label %.loopexit772, label %.preheader981, !llvm.loop !23

.loopexit772:                                     ; preds = %._crit_edge854, %473
  br i1 %472, label %.preheader, label %.loopexit771

.preheader:                                       ; preds = %.loopexit772, %._crit_edge865
  %.3674869 = phi float [ %.4675.lcssa, %._crit_edge865 ], [ %.1651, %.loopexit772 ]
  %.1678868 = phi i32 [ %543, %._crit_edge865 ], [ 1, %.loopexit772 ]
  %509 = load i32, ptr %10, align 4, !tbaa !5
  %.not731859 = icmp slt i32 %509, 1
  br i1 %.not731859, label %._crit_edge865, label %.lr.ph864.preheader

.lr.ph864.preheader:                              ; preds = %.preheader
  %510 = zext nneg i32 %509 to i64
  %xtraiter1001 = and i64 %510, 1
  %511 = icmp eq i32 %509, 1
  br i1 %511, label %._crit_edge865.loopexit.unr-lcssa, label %.lr.ph864.preheader.new

.lr.ph864.preheader.new:                          ; preds = %.lr.ph864.preheader
  %unroll_iter1005 = and i64 %510, 2147483646
  br label %.lr.ph864

.lr.ph864:                                        ; preds = %531, %.lr.ph864.preheader.new
  %indvars.iv933 = phi i64 [ 1, %.lr.ph864.preheader.new ], [ %indvars.iv.next934.1, %531 ]
  %.2654862 = phi i32 [ 0, %.lr.ph864.preheader.new ], [ %.3655.1, %531 ]
  %.4675860 = phi float [ %.3674869, %.lr.ph864.preheader.new ], [ %.5676.1, %531 ]
  %niter1006 = phi i64 [ 0, %.lr.ph864.preheader.new ], [ %niter1006.next.1, %531 ]
  %512 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv933
  %513 = load i32, ptr %512, align 4, !tbaa !5
  %.not732 = icmp eq i32 %513, 0
  br i1 %.not732, label %.lr.ph864.1, label %514

514:                                              ; preds = %.lr.ph864
  %515 = getelementptr inbounds float, ptr %34, i64 %indvars.iv933
  %516 = load float, ptr %515, align 4, !tbaa !9
  %517 = fcmp ogt float %516, %.4675860
  %518 = icmp eq i32 %.2654862, 0
  %or.cond13 = select i1 %517, i1 true, i1 %518
  br i1 %or.cond13, label %519, label %.lr.ph864.1

519:                                              ; preds = %514
  %520 = trunc nuw nsw i64 %indvars.iv933 to i32
  br label %.lr.ph864.1

.lr.ph864.1:                                      ; preds = %.lr.ph864, %519, %514
  %.5676 = phi float [ %516, %519 ], [ %.4675860, %514 ], [ %.4675860, %.lr.ph864 ]
  %.3655 = phi i32 [ %520, %519 ], [ %.2654862, %514 ], [ %.2654862, %.lr.ph864 ]
  %521 = getelementptr i32, ptr %13, i64 %indvars.iv933
  %522 = load i32, ptr %521, align 4, !tbaa !5
  %.not732.1 = icmp eq i32 %522, 0
  br i1 %.not732.1, label %531, label %523

523:                                              ; preds = %.lr.ph864.1
  %524 = getelementptr float, ptr %12, i64 %indvars.iv933
  %525 = load float, ptr %524, align 4, !tbaa !9
  %526 = fcmp ogt float %525, %.5676
  %527 = icmp eq i32 %.3655, 0
  %or.cond13.1 = select i1 %526, i1 true, i1 %527
  br i1 %or.cond13.1, label %528, label %531

528:                                              ; preds = %523
  %529 = trunc i64 %indvars.iv933 to i32
  %530 = add i32 %529, 1
  br label %531

531:                                              ; preds = %528, %523, %.lr.ph864.1
  %.5676.1 = phi float [ %525, %528 ], [ %.5676, %523 ], [ %.5676, %.lr.ph864.1 ]
  %.3655.1 = phi i32 [ %530, %528 ], [ %.3655, %523 ], [ %.3655, %.lr.ph864.1 ]
  %indvars.iv.next934.1 = add nuw nsw i64 %indvars.iv933, 2
  %niter1006.next.1 = add i64 %niter1006, 2
  %niter1006.ncmp.1 = icmp eq i64 %niter1006.next.1, %unroll_iter1005
  br i1 %niter1006.ncmp.1, label %._crit_edge865.loopexit.unr-lcssa, label %.lr.ph864, !llvm.loop !24

._crit_edge865.loopexit.unr-lcssa:                ; preds = %531, %.lr.ph864.preheader
  %.5676.lcssa.ph = phi float [ poison, %.lr.ph864.preheader ], [ %.5676.1, %531 ]
  %.3655.lcssa.ph = phi i32 [ poison, %.lr.ph864.preheader ], [ %.3655.1, %531 ]
  %indvars.iv933.unr = phi i64 [ 1, %.lr.ph864.preheader ], [ %indvars.iv.next934.1, %531 ]
  %.2654862.unr = phi i32 [ 0, %.lr.ph864.preheader ], [ %.3655.1, %531 ]
  %.4675860.unr = phi float [ %.3674869, %.lr.ph864.preheader ], [ %.5676.1, %531 ]
  %lcmp.mod1002.not = icmp eq i64 %xtraiter1001, 0
  br i1 %lcmp.mod1002.not, label %._crit_edge865, label %.lr.ph864.epil

.lr.ph864.epil:                                   ; preds = %._crit_edge865.loopexit.unr-lcssa
  %532 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv933.unr
  %533 = load i32, ptr %532, align 4, !tbaa !5
  %.not732.epil = icmp eq i32 %533, 0
  br i1 %.not732.epil, label %._crit_edge865, label %534

534:                                              ; preds = %.lr.ph864.epil
  %535 = getelementptr inbounds float, ptr %34, i64 %indvars.iv933.unr
  %536 = load float, ptr %535, align 4, !tbaa !9
  %537 = fcmp ogt float %536, %.4675860.unr
  %538 = icmp eq i32 %.2654862.unr, 0
  %or.cond13.epil = select i1 %537, i1 true, i1 %538
  br i1 %or.cond13.epil, label %539, label %._crit_edge865

539:                                              ; preds = %534
  %540 = trunc nuw nsw i64 %indvars.iv933.unr to i32
  br label %._crit_edge865

._crit_edge865:                                   ; preds = %._crit_edge865.loopexit.unr-lcssa, %539, %534, %.lr.ph864.epil, %.preheader
  %.4675.lcssa = phi float [ %.3674869, %.preheader ], [ %.5676.lcssa.ph, %._crit_edge865.loopexit.unr-lcssa ], [ %536, %539 ], [ %.4675860.unr, %534 ], [ %.4675860.unr, %.lr.ph864.epil ]
  %.2654.lcssa = phi i32 [ 0, %.preheader ], [ %.3655.lcssa.ph, %._crit_edge865.loopexit.unr-lcssa ], [ %540, %539 ], [ %.2654862.unr, %534 ], [ %.2654862.unr, %.lr.ph864.epil ]
  %541 = sext i32 %.2654.lcssa to i64
  %542 = getelementptr inbounds i32, ptr %33, i64 %541
  store i32 0, ptr %542, align 4, !tbaa !5
  %543 = add nuw i32 %.1678868, 1
  %exitcond938.not = icmp eq i32 %.1678868, %.2642
  br i1 %exitcond938.not, label %.loopexit771, label %.preheader, !llvm.loop !25

.loopexit771:                                     ; preds = %._crit_edge865, %.loopexit772
  %544 = load i32, ptr %10, align 4, !tbaa !5
  %.not723871 = icmp slt i32 %544, 1
  br i1 %.not723871, label %._crit_edge875, label %.lr.ph874.preheader

.lr.ph874.preheader:                              ; preds = %.loopexit771
  %545 = zext nneg i32 %544 to i64
  %xtraiter1007 = and i64 %545, 1
  %546 = icmp eq i32 %544, 1
  br i1 %546, label %._crit_edge875.loopexit.unr-lcssa, label %.lr.ph874.preheader.new

.lr.ph874.preheader.new:                          ; preds = %.lr.ph874.preheader
  %unroll_iter1010 = and i64 %545, 2147483646
  br label %.lr.ph874

.lr.ph874:                                        ; preds = %567, %.lr.ph874.preheader.new
  %indvars.iv939 = phi i64 [ 1, %.lr.ph874.preheader.new ], [ %indvars.iv.next940.1, %567 ]
  %547 = phi i32 [ 0, %.lr.ph874.preheader.new ], [ %568, %567 ]
  %niter1011 = phi i64 [ 0, %.lr.ph874.preheader.new ], [ %niter1011.next.1, %567 ]
  %548 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv939
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %.not730 = icmp eq i32 %549, 0
  br i1 %.not730, label %.lr.ph874.1, label %550

550:                                              ; preds = %.lr.ph874
  %551 = add nsw i32 %547, 1
  %552 = getelementptr inbounds float, ptr %34, i64 %indvars.iv939
  %553 = load float, ptr %552, align 4, !tbaa !9
  %554 = sext i32 %551 to i64
  %555 = getelementptr inbounds float, ptr %34, i64 %554
  store float %553, ptr %555, align 4, !tbaa !9
  %556 = getelementptr inbounds i32, ptr %33, i64 %554
  store i32 %549, ptr %556, align 4, !tbaa !5
  br label %.lr.ph874.1

.lr.ph874.1:                                      ; preds = %.lr.ph874, %550
  %557 = phi i32 [ %547, %.lr.ph874 ], [ %551, %550 ]
  %558 = getelementptr i32, ptr %13, i64 %indvars.iv939
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %.not730.1 = icmp eq i32 %559, 0
  br i1 %.not730.1, label %567, label %560

560:                                              ; preds = %.lr.ph874.1
  %561 = add nsw i32 %557, 1
  %562 = getelementptr float, ptr %12, i64 %indvars.iv939
  %563 = load float, ptr %562, align 4, !tbaa !9
  %564 = sext i32 %561 to i64
  %565 = getelementptr inbounds float, ptr %34, i64 %564
  store float %563, ptr %565, align 4, !tbaa !9
  %566 = getelementptr inbounds i32, ptr %33, i64 %564
  store i32 %559, ptr %566, align 4, !tbaa !5
  br label %567

567:                                              ; preds = %560, %.lr.ph874.1
  %568 = phi i32 [ %557, %.lr.ph874.1 ], [ %561, %560 ]
  %indvars.iv.next940.1 = add nuw nsw i64 %indvars.iv939, 2
  %niter1011.next.1 = add i64 %niter1011, 2
  %niter1011.ncmp.1 = icmp eq i64 %niter1011.next.1, %unroll_iter1010
  br i1 %niter1011.ncmp.1, label %._crit_edge875.loopexit.unr-lcssa, label %.lr.ph874, !llvm.loop !26

._crit_edge875.loopexit.unr-lcssa:                ; preds = %567, %.lr.ph874.preheader
  %.lcssa.ph = phi i32 [ poison, %.lr.ph874.preheader ], [ %568, %567 ]
  %indvars.iv939.unr = phi i64 [ 1, %.lr.ph874.preheader ], [ %indvars.iv.next940.1, %567 ]
  %.unr = phi i32 [ 0, %.lr.ph874.preheader ], [ %568, %567 ]
  %lcmp.mod1008.not = icmp eq i64 %xtraiter1007, 0
  br i1 %lcmp.mod1008.not, label %._crit_edge875, label %.lr.ph874.epil

.lr.ph874.epil:                                   ; preds = %._crit_edge875.loopexit.unr-lcssa
  %569 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv939.unr
  %570 = load i32, ptr %569, align 4, !tbaa !5
  %.not730.epil = icmp eq i32 %570, 0
  br i1 %.not730.epil, label %._crit_edge875, label %571

571:                                              ; preds = %.lr.ph874.epil
  %572 = add nsw i32 %.unr, 1
  %573 = getelementptr inbounds float, ptr %34, i64 %indvars.iv939.unr
  %574 = load float, ptr %573, align 4, !tbaa !9
  %575 = sext i32 %572 to i64
  %576 = getelementptr inbounds float, ptr %34, i64 %575
  store float %574, ptr %576, align 4, !tbaa !9
  %577 = getelementptr inbounds i32, ptr %33, i64 %575
  store i32 %570, ptr %577, align 4, !tbaa !5
  br label %._crit_edge875

._crit_edge875:                                   ; preds = %._crit_edge875.loopexit.unr-lcssa, %571, %.lr.ph874.epil, %.loopexit771
  %578 = phi i32 [ 0, %.loopexit771 ], [ %.lcssa.ph, %._crit_edge875.loopexit.unr-lcssa ], [ %.unr, %.lr.ph874.epil ], [ %572, %571 ]
  store i32 %578, ptr %10, align 4, !tbaa !5
  br label %579

579:                                              ; preds = %470, %._crit_edge875
  %580 = icmp sgt i32 %.2647, -1
  %581 = icmp sgt i32 %.2642, -1
  %or.cond15.not = select i1 %580, i1 %581, i1 false
  br label %582

582:                                              ; preds = %579, %._crit_edge834
  %.not727 = phi i1 [ true, %._crit_edge834 ], [ %or.cond15.not, %579 ]
  br i1 %.not711, label %583, label %.loopexit

583:                                              ; preds = %582
  %584 = load i32, ptr %11, align 4, !tbaa !5
  %585 = icmp sgt i32 %584, 1
  br i1 %585, label %586, label %.loopexit

586:                                              ; preds = %583
  %587 = load i32, ptr %10, align 4, !tbaa !5
  %.not724.not885 = icmp sgt i32 %587, 1
  br i1 %.not724.not885, label %.lr.ph888.preheader, label %.loopexit

.lr.ph888.preheader:                              ; preds = %586
  %wide.trip.count954 = zext nneg i32 %587 to i64
  br label %.lr.ph888

.lr.ph888:                                        ; preds = %.lr.ph888.preheader, %._crit_edge882.thread
  %indvars.iv951 = phi i64 [ 1, %.lr.ph888.preheader ], [ %indvars.iv.next952, %._crit_edge882.thread ]
  %indvars.iv944 = phi i64 [ 2, %.lr.ph888.preheader ], [ %indvars.iv.next945, %._crit_edge882.thread ]
  %588 = getelementptr inbounds float, ptr %34, i64 %indvars.iv951
  %589 = load float, ptr %588, align 4, !tbaa !9
  %590 = load i32, ptr %10, align 4, !tbaa !5
  %indvars.iv.next952 = add nuw nsw i64 %indvars.iv951, 1
  %591 = sext i32 %590 to i64
  %.not728876.not = icmp slt i64 %indvars.iv951, %591
  br i1 %.not728876.not, label %.lr.ph881.preheader, label %._crit_edge882.thread

.lr.ph881.preheader:                              ; preds = %.lr.ph888
  %592 = add i32 %590, 1
  %wide.trip.count949 = zext i32 %592 to i64
  br label %.lr.ph881

.lr.ph881:                                        ; preds = %.lr.ph881.preheader, %.lr.ph881
  %indvars.iv946 = phi i64 [ %indvars.iv944, %.lr.ph881.preheader ], [ %indvars.iv.next947, %.lr.ph881 ]
  %.2879 = phi float [ %589, %.lr.ph881.preheader ], [ %.3, %.lr.ph881 ]
  %.0666878 = phi i32 [ 0, %.lr.ph881.preheader ], [ %.1667, %.lr.ph881 ]
  %593 = getelementptr inbounds float, ptr %34, i64 %indvars.iv946
  %594 = load float, ptr %593, align 4, !tbaa !9
  %595 = fcmp olt float %594, %.2879
  %596 = trunc nuw nsw i64 %indvars.iv946 to i32
  %.1667 = select i1 %595, i32 %596, i32 %.0666878
  %.3 = select i1 %595, float %594, float %.2879
  %indvars.iv.next947 = add nuw nsw i64 %indvars.iv946, 1
  %exitcond950.not = icmp eq i64 %indvars.iv.next947, %wide.trip.count949
  br i1 %exitcond950.not, label %._crit_edge882, label %.lr.ph881, !llvm.loop !27

._crit_edge882:                                   ; preds = %.lr.ph881
  %.not729 = icmp eq i32 %.1667, 0
  br i1 %.not729, label %._crit_edge882.thread, label %597

597:                                              ; preds = %._crit_edge882
  %598 = sext i32 %.1667 to i64
  %599 = getelementptr inbounds i32, ptr %33, i64 %598
  %600 = load i32, ptr %599, align 4, !tbaa !5
  %601 = getelementptr inbounds float, ptr %34, i64 %598
  store float %589, ptr %601, align 4, !tbaa !9
  %602 = getelementptr inbounds i32, ptr %33, i64 %indvars.iv951
  %603 = load i32, ptr %602, align 4, !tbaa !5
  store i32 %603, ptr %599, align 4, !tbaa !5
  store float %.3, ptr %588, align 4, !tbaa !9
  store i32 %600, ptr %602, align 4, !tbaa !5
  br label %._crit_edge882.thread

._crit_edge882.thread:                            ; preds = %.lr.ph888, %._crit_edge882, %597
  %indvars.iv.next945 = add nuw nsw i64 %indvars.iv944, 1
  %exitcond955.not = icmp eq i64 %indvars.iv.next952, %wide.trip.count954
  br i1 %exitcond955.not, label %.loopexit, label %.lr.ph888, !llvm.loop !28

.loopexit:                                        ; preds = %._crit_edge882.thread, %586, %583, %582
  %spec.select749 = zext i1 %.0635.lcssa to i32
  store i32 %spec.select749, ptr %17, align 4, !tbaa !5
  br i1 %.not727, label %606, label %604

604:                                              ; preds = %.loopexit
  %605 = select i1 %.0635.lcssa, i32 3, i32 2
  store i32 %605, ptr %17, align 4, !tbaa !5
  br label %606

606:                                              ; preds = %.loopexit, %604, %69, %236, %96, %.critedge.thread
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %29) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %28) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %26) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %25) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %24) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %23) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %22) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %20) #6
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %19) #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 i32 @xerbla_(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare float @slamch_(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

declare float @sqrtf(float) local_unnamed_addr

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare i32 @llvm.umin.i32(i32, i32) #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 nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #4 = { 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 #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 = distinct !{!14, !12}
!15 = distinct !{!15, !12, !16, !17}
!16 = !{!"llvm.loop.isvectorized", i32 1}
!17 = !{!"llvm.loop.unroll.runtime.disable"}
!18 = distinct !{!18, !12, !17, !16}
!19 = distinct !{!19, !12}
!20 = distinct !{!20, !12}
!21 = distinct !{!21, !12}
!22 = distinct !{!22, !12}
!23 = distinct !{!23, !12}
!24 = distinct !{!24, !12}
!25 = distinct !{!25, !12}
!26 = distinct !{!26, !12}
!27 = distinct !{!27, !12}
!28 = distinct !{!28, !12}


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