; LLVM IR from DANTE2076/SmartLoopAIproject :: src/dashbls/depends/mimalloc/test (test-api-fill)

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

@stderr = external global ptr, align 8
@.str = external hidden unnamed_addr constant [14 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [17 x i8], align 1

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

133:                                              ; preds = %146, %0
  %134 = load i8, ptr %2, align 1, !tbaa !11, !range !13, !noundef !14
  %135 = trunc i8 %134 to i1
  %136 = xor i1 %135, true
  br i1 %136, label %138, label %137

137:                                              ; preds = %133
  call void @llvm.lifetime.end.p0(i64 1, ptr %3) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %2) #6
  br label %151

138:                                              ; preds = %133
  call void @llvm.lifetime.start.p0(i64 8, ptr %4) #6
  store i64 512, ptr %4, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %5) #6
  %139 = load i64, ptr %4, align 8, !tbaa !15
  %140 = call noalias ptr @mi_zalloc(i64 noundef %139)
  store ptr %140, ptr %5, align 8, !tbaa !5
  %141 = load ptr, ptr %5, align 8, !tbaa !5
  %142 = load i64, ptr %4, align 8, !tbaa !15
  %143 = call zeroext i1 @check_zero_init(ptr noundef %141, i64 noundef %142)
  %144 = zext i1 %143 to i8
  store i8 %144, ptr %3, align 1, !tbaa !11
  %145 = load ptr, ptr %5, align 8, !tbaa !5
  call void @mi_free(ptr noundef %145)
  call void @llvm.lifetime.end.p0(i64 8, ptr %5) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %4) #6
  br label %146

146:                                              ; preds = %138
  %147 = load i8, ptr %3, align 1, !tbaa !11, !range !13, !noundef !14
  %148 = trunc i8 %147 to i1
  %149 = call zeroext i1 @check_result(i1 noundef zeroext %148, ptr noundef @.str.1, ptr noundef @.str.2, i64 noundef 30)
  %150 = zext i1 %149 to i8
  store i8 %150, ptr %2, align 1, !tbaa !11
  br label %133, !llvm.loop !17

151:                                              ; preds = %137
  %152 = load ptr, ptr @stderr, align 8, !tbaa !5
  %153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef @.str, ptr noundef @.str.3) #6
  %154 = call ptr @__errno_location() #7
  store i32 0, ptr %154, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %6) #6
  store i8 0, ptr %6, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #6
  store i8 1, ptr %7, align 1, !tbaa !11
  br label %155

155:                                              ; preds = %168, %151
  %156 = load i8, ptr %6, align 1, !tbaa !11, !range !13, !noundef !14
  %157 = trunc i8 %156 to i1
  %158 = xor i1 %157, true
  br i1 %158, label %160, label %159

159:                                              ; preds = %155
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %6) #6
  br label %173

160:                                              ; preds = %155
  call void @llvm.lifetime.start.p0(i64 8, ptr %8) #6
  store i64 2048, ptr %8, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %9) #6
  %161 = load i64, ptr %8, align 8, !tbaa !15
  %162 = call noalias ptr @mi_zalloc(i64 noundef %161)
  store ptr %162, ptr %9, align 8, !tbaa !5
  %163 = load ptr, ptr %9, align 8, !tbaa !5
  %164 = load i64, ptr %8, align 8, !tbaa !15
  %165 = call zeroext i1 @check_zero_init(ptr noundef %163, i64 noundef %164)
  %166 = zext i1 %165 to i8
  store i8 %166, ptr %7, align 1, !tbaa !11
  %167 = load ptr, ptr %9, align 8, !tbaa !5
  call void @mi_free(ptr noundef %167)
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %8) #6
  br label %168

168:                                              ; preds = %160
  %169 = load i8, ptr %7, align 1, !tbaa !11, !range !13, !noundef !14
  %170 = trunc i8 %169 to i1
  %171 = call zeroext i1 @check_result(i1 noundef zeroext %170, ptr noundef @.str.3, ptr noundef @.str.2, i64 noundef 36)
  %172 = zext i1 %171 to i8
  store i8 %172, ptr %6, align 1, !tbaa !11
  br label %155, !llvm.loop !19

173:                                              ; preds = %159
  %174 = load ptr, ptr @stderr, align 8, !tbaa !5
  %175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %174, ptr noundef @.str, ptr noundef @.str.4) #6
  %176 = call ptr @__errno_location() #7
  store i32 0, ptr %176, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #6
  store i8 0, ptr %10, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %11) #6
  store i8 1, ptr %11, align 1, !tbaa !11
  br label %177

177:                                              ; preds = %190, %173
  %178 = load i8, ptr %10, align 1, !tbaa !11, !range !13, !noundef !14
  %179 = trunc i8 %178 to i1
  %180 = xor i1 %179, true
  br i1 %180, label %182, label %181

181:                                              ; preds = %177
  call void @llvm.lifetime.end.p0(i64 1, ptr %11) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #6
  br label %195

182:                                              ; preds = %177
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #6
  store i64 512, ptr %12, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #6
  %183 = load i64, ptr %12, align 8, !tbaa !15
  %184 = call noalias ptr @mi_zalloc_small(i64 noundef %183)
  store ptr %184, ptr %13, align 8, !tbaa !5
  %185 = load ptr, ptr %13, align 8, !tbaa !5
  %186 = load i64, ptr %12, align 8, !tbaa !15
  %187 = call zeroext i1 @check_zero_init(ptr noundef %185, i64 noundef %186)
  %188 = zext i1 %187 to i8
  store i8 %188, ptr %11, align 1, !tbaa !11
  %189 = load ptr, ptr %13, align 8, !tbaa !5
  call void @mi_free(ptr noundef %189)
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #6
  br label %190

190:                                              ; preds = %182
  %191 = load i8, ptr %11, align 1, !tbaa !11, !range !13, !noundef !14
  %192 = trunc i8 %191 to i1
  %193 = call zeroext i1 @check_result(i1 noundef zeroext %192, ptr noundef @.str.4, ptr noundef @.str.2, i64 noundef 42)
  %194 = zext i1 %193 to i8
  store i8 %194, ptr %10, align 1, !tbaa !11
  br label %177, !llvm.loop !20

195:                                              ; preds = %181
  %196 = load ptr, ptr @stderr, align 8, !tbaa !5
  %197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %196, ptr noundef @.str, ptr noundef @.str.5) #6
  %198 = call ptr @__errno_location() #7
  store i32 0, ptr %198, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %14) #6
  store i8 0, ptr %14, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #6
  store i8 1, ptr %15, align 1, !tbaa !11
  br label %199

199:                                              ; preds = %212, %195
  %200 = load i8, ptr %14, align 1, !tbaa !11, !range !13, !noundef !14
  %201 = trunc i8 %200 to i1
  %202 = xor i1 %201, true
  br i1 %202, label %204, label %203

203:                                              ; preds = %199
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %14) #6
  br label %217

204:                                              ; preds = %199
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #6
  store i64 512, ptr %16, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #6
  %205 = load i64, ptr %16, align 8, !tbaa !15
  %206 = call noalias ptr @mi_calloc(i64 noundef %205, i64 noundef 1)
  store ptr %206, ptr %17, align 8, !tbaa !5
  %207 = load ptr, ptr %17, align 8, !tbaa !5
  %208 = load i64, ptr %16, align 8, !tbaa !15
  %209 = call zeroext i1 @check_zero_init(ptr noundef %207, i64 noundef %208)
  %210 = zext i1 %209 to i8
  store i8 %210, ptr %15, align 1, !tbaa !11
  %211 = load ptr, ptr %17, align 8, !tbaa !5
  call void @mi_free(ptr noundef %211)
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #6
  br label %212

212:                                              ; preds = %204
  %213 = load i8, ptr %15, align 1, !tbaa !11, !range !13, !noundef !14
  %214 = trunc i8 %213 to i1
  %215 = call zeroext i1 @check_result(i1 noundef zeroext %214, ptr noundef @.str.5, ptr noundef @.str.2, i64 noundef 49)
  %216 = zext i1 %215 to i8
  store i8 %216, ptr %14, align 1, !tbaa !11
  br label %199, !llvm.loop !21

217:                                              ; preds = %203
  %218 = load ptr, ptr @stderr, align 8, !tbaa !5
  %219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %218, ptr noundef @.str, ptr noundef @.str.6) #6
  %220 = call ptr @__errno_location() #7
  store i32 0, ptr %220, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #6
  store i8 0, ptr %18, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %19) #6
  store i8 1, ptr %19, align 1, !tbaa !11
  br label %221

221:                                              ; preds = %234, %217
  %222 = load i8, ptr %18, align 1, !tbaa !11, !range !13, !noundef !14
  %223 = trunc i8 %222 to i1
  %224 = xor i1 %223, true
  br i1 %224, label %226, label %225

225:                                              ; preds = %221
  call void @llvm.lifetime.end.p0(i64 1, ptr %19) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #6
  br label %239

226:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #6
  store i64 2048, ptr %20, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #6
  %227 = load i64, ptr %20, align 8, !tbaa !15
  %228 = call noalias ptr @mi_calloc(i64 noundef %227, i64 noundef 1)
  store ptr %228, ptr %21, align 8, !tbaa !5
  %229 = load ptr, ptr %21, align 8, !tbaa !5
  %230 = load i64, ptr %20, align 8, !tbaa !15
  %231 = call zeroext i1 @check_zero_init(ptr noundef %229, i64 noundef %230)
  %232 = zext i1 %231 to i8
  store i8 %232, ptr %19, align 1, !tbaa !11
  %233 = load ptr, ptr %21, align 8, !tbaa !5
  call void @mi_free(ptr noundef %233)
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #6
  br label %234

234:                                              ; preds = %226
  %235 = load i8, ptr %19, align 1, !tbaa !11, !range !13, !noundef !14
  %236 = trunc i8 %235 to i1
  %237 = call zeroext i1 @check_result(i1 noundef zeroext %236, ptr noundef @.str.6, ptr noundef @.str.2, i64 noundef 55)
  %238 = zext i1 %237 to i8
  store i8 %238, ptr %18, align 1, !tbaa !11
  br label %221, !llvm.loop !22

239:                                              ; preds = %225
  %240 = load ptr, ptr @stderr, align 8, !tbaa !5
  %241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %240, ptr noundef @.str, ptr noundef @.str.7) #6
  %242 = call ptr @__errno_location() #7
  store i32 0, ptr %242, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %22) #6
  store i8 0, ptr %22, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #6
  store i8 1, ptr %23, align 1, !tbaa !11
  br label %243

243:                                              ; preds = %271, %239
  %244 = load i8, ptr %22, align 1, !tbaa !11, !range !13, !noundef !14
  %245 = trunc i8 %244 to i1
  %246 = xor i1 %245, true
  br i1 %246, label %248, label %247

247:                                              ; preds = %243
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %22) #6
  br label %276

248:                                              ; preds = %243
  call void @llvm.lifetime.start.p0(i64 8, ptr %24) #6
  store i64 512, ptr %24, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %25) #6
  %249 = load i64, ptr %24, align 8, !tbaa !15
  %250 = call noalias ptr @mi_zalloc(i64 noundef %249)
  store ptr %250, ptr %25, align 8, !tbaa !5
  %251 = load ptr, ptr %25, align 8, !tbaa !5
  %252 = load i64, ptr %24, align 8, !tbaa !15
  %253 = call zeroext i1 @check_zero_init(ptr noundef %251, i64 noundef %252)
  %254 = zext i1 %253 to i8
  store i8 %254, ptr %23, align 1, !tbaa !11
  %255 = load i64, ptr %24, align 8, !tbaa !15
  %256 = mul i64 %255, 3
  store i64 %256, ptr %24, align 8, !tbaa !15
  %257 = load ptr, ptr %25, align 8, !tbaa !5
  %258 = load i64, ptr %24, align 8, !tbaa !15
  %259 = call ptr @mi_rezalloc(ptr noundef %257, i64 noundef %258)
  store ptr %259, ptr %25, align 8, !tbaa !5
  %260 = load ptr, ptr %25, align 8, !tbaa !5
  %261 = load i64, ptr %24, align 8, !tbaa !15
  %262 = call zeroext i1 @check_zero_init(ptr noundef %260, i64 noundef %261)
  %263 = zext i1 %262 to i32
  %264 = load i8, ptr %23, align 1, !tbaa !11, !range !13, !noundef !14
  %265 = trunc i8 %264 to i1
  %266 = zext i1 %265 to i32
  %267 = and i32 %266, %263
  %268 = icmp ne i32 %267, 0
  %269 = zext i1 %268 to i8
  store i8 %269, ptr %23, align 1, !tbaa !11
  %270 = load ptr, ptr %25, align 8, !tbaa !5
  call void @mi_free(ptr noundef %270)
  call void @llvm.lifetime.end.p0(i64 8, ptr %25) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %24) #6
  br label %271

271:                                              ; preds = %248
  %272 = load i8, ptr %23, align 1, !tbaa !11, !range !13, !noundef !14
  %273 = trunc i8 %272 to i1
  %274 = call zeroext i1 @check_result(i1 noundef zeroext %273, ptr noundef @.str.7, ptr noundef @.str.2, i64 noundef 62)
  %275 = zext i1 %274 to i8
  store i8 %275, ptr %22, align 1, !tbaa !11
  br label %243, !llvm.loop !23

276:                                              ; preds = %247
  %277 = load ptr, ptr @stderr, align 8, !tbaa !5
  %278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %277, ptr noundef @.str, ptr noundef @.str.8) #6
  %279 = call ptr @__errno_location() #7
  store i32 0, ptr %279, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #6
  store i8 0, ptr %26, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %27) #6
  store i8 1, ptr %27, align 1, !tbaa !11
  br label %280

280:                                              ; preds = %308, %276
  %281 = load i8, ptr %26, align 1, !tbaa !11, !range !13, !noundef !14
  %282 = trunc i8 %281 to i1
  %283 = xor i1 %282, true
  br i1 %283, label %285, label %284

284:                                              ; preds = %280
  call void @llvm.lifetime.end.p0(i64 1, ptr %27) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #6
  br label %313

285:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 8, ptr %28) #6
  store i64 2048, ptr %28, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %29) #6
  %286 = load i64, ptr %28, align 8, !tbaa !15
  %287 = call noalias ptr @mi_zalloc(i64 noundef %286)
  store ptr %287, ptr %29, align 8, !tbaa !5
  %288 = load ptr, ptr %29, align 8, !tbaa !5
  %289 = load i64, ptr %28, align 8, !tbaa !15
  %290 = call zeroext i1 @check_zero_init(ptr noundef %288, i64 noundef %289)
  %291 = zext i1 %290 to i8
  store i8 %291, ptr %27, align 1, !tbaa !11
  %292 = load i64, ptr %28, align 8, !tbaa !15
  %293 = mul i64 %292, 3
  store i64 %293, ptr %28, align 8, !tbaa !15
  %294 = load ptr, ptr %29, align 8, !tbaa !5
  %295 = load i64, ptr %28, align 8, !tbaa !15
  %296 = call ptr @mi_rezalloc(ptr noundef %294, i64 noundef %295)
  store ptr %296, ptr %29, align 8, !tbaa !5
  %297 = load ptr, ptr %29, align 8, !tbaa !5
  %298 = load i64, ptr %28, align 8, !tbaa !15
  %299 = call zeroext i1 @check_zero_init(ptr noundef %297, i64 noundef %298)
  %300 = zext i1 %299 to i32
  %301 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %302 = trunc i8 %301 to i1
  %303 = zext i1 %302 to i32
  %304 = and i32 %303, %300
  %305 = icmp ne i32 %304, 0
  %306 = zext i1 %305 to i8
  store i8 %306, ptr %27, align 1, !tbaa !11
  %307 = load ptr, ptr %29, align 8, !tbaa !5
  call void @mi_free(ptr noundef %307)
  call void @llvm.lifetime.end.p0(i64 8, ptr %29) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %28) #6
  br label %308

308:                                              ; preds = %285
  %309 = load i8, ptr %27, align 1, !tbaa !11, !range !13, !noundef !14
  %310 = trunc i8 %309 to i1
  %311 = call zeroext i1 @check_result(i1 noundef zeroext %310, ptr noundef @.str.8, ptr noundef @.str.2, i64 noundef 71)
  %312 = zext i1 %311 to i8
  store i8 %312, ptr %26, align 1, !tbaa !11
  br label %280, !llvm.loop !24

313:                                              ; preds = %284
  %314 = load ptr, ptr @stderr, align 8, !tbaa !5
  %315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %314, ptr noundef @.str, ptr noundef @.str.9) #6
  %316 = call ptr @__errno_location() #7
  store i32 0, ptr %316, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #6
  store i8 0, ptr %30, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #6
  store i8 1, ptr %31, align 1, !tbaa !11
  br label %317

317:                                              ; preds = %345, %313
  %318 = load i8, ptr %30, align 1, !tbaa !11, !range !13, !noundef !14
  %319 = trunc i8 %318 to i1
  %320 = xor i1 %319, true
  br i1 %320, label %322, label %321

321:                                              ; preds = %317
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #6
  br label %350

322:                                              ; preds = %317
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #6
  store i64 512, ptr %32, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #6
  %323 = load i64, ptr %32, align 8, !tbaa !15
  %324 = call noalias ptr @mi_calloc(i64 noundef %323, i64 noundef 1)
  store ptr %324, ptr %33, align 8, !tbaa !5
  %325 = load ptr, ptr %33, align 8, !tbaa !5
  %326 = load i64, ptr %32, align 8, !tbaa !15
  %327 = call zeroext i1 @check_zero_init(ptr noundef %325, i64 noundef %326)
  %328 = zext i1 %327 to i8
  store i8 %328, ptr %31, align 1, !tbaa !11
  %329 = load i64, ptr %32, align 8, !tbaa !15
  %330 = mul i64 %329, 3
  store i64 %330, ptr %32, align 8, !tbaa !15
  %331 = load ptr, ptr %33, align 8, !tbaa !5
  %332 = load i64, ptr %32, align 8, !tbaa !15
  %333 = call ptr @mi_recalloc(ptr noundef %331, i64 noundef %332, i64 noundef 1)
  store ptr %333, ptr %33, align 8, !tbaa !5
  %334 = load ptr, ptr %33, align 8, !tbaa !5
  %335 = load i64, ptr %32, align 8, !tbaa !15
  %336 = call zeroext i1 @check_zero_init(ptr noundef %334, i64 noundef %335)
  %337 = zext i1 %336 to i32
  %338 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %339 = trunc i8 %338 to i1
  %340 = zext i1 %339 to i32
  %341 = and i32 %340, %337
  %342 = icmp ne i32 %341, 0
  %343 = zext i1 %342 to i8
  store i8 %343, ptr %31, align 1, !tbaa !11
  %344 = load ptr, ptr %33, align 8, !tbaa !5
  call void @mi_free(ptr noundef %344)
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #6
  br label %345

345:                                              ; preds = %322
  %346 = load i8, ptr %31, align 1, !tbaa !11, !range !13, !noundef !14
  %347 = trunc i8 %346 to i1
  %348 = call zeroext i1 @check_result(i1 noundef zeroext %347, ptr noundef @.str.9, ptr noundef @.str.2, i64 noundef 81)
  %349 = zext i1 %348 to i8
  store i8 %349, ptr %30, align 1, !tbaa !11
  br label %317, !llvm.loop !25

350:                                              ; preds = %321
  %351 = load ptr, ptr @stderr, align 8, !tbaa !5
  %352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %351, ptr noundef @.str, ptr noundef @.str.10) #6
  %353 = call ptr @__errno_location() #7
  store i32 0, ptr %353, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #6
  store i8 0, ptr %34, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %35) #6
  store i8 1, ptr %35, align 1, !tbaa !11
  br label %354

354:                                              ; preds = %382, %350
  %355 = load i8, ptr %34, align 1, !tbaa !11, !range !13, !noundef !14
  %356 = trunc i8 %355 to i1
  %357 = xor i1 %356, true
  br i1 %357, label %359, label %358

358:                                              ; preds = %354
  call void @llvm.lifetime.end.p0(i64 1, ptr %35) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #6
  br label %387

359:                                              ; preds = %354
  call void @llvm.lifetime.start.p0(i64 8, ptr %36) #6
  store i64 2048, ptr %36, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %37) #6
  %360 = load i64, ptr %36, align 8, !tbaa !15
  %361 = call noalias ptr @mi_calloc(i64 noundef %360, i64 noundef 1)
  store ptr %361, ptr %37, align 8, !tbaa !5
  %362 = load ptr, ptr %37, align 8, !tbaa !5
  %363 = load i64, ptr %36, align 8, !tbaa !15
  %364 = call zeroext i1 @check_zero_init(ptr noundef %362, i64 noundef %363)
  %365 = zext i1 %364 to i8
  store i8 %365, ptr %35, align 1, !tbaa !11
  %366 = load i64, ptr %36, align 8, !tbaa !15
  %367 = mul i64 %366, 3
  store i64 %367, ptr %36, align 8, !tbaa !15
  %368 = load ptr, ptr %37, align 8, !tbaa !5
  %369 = load i64, ptr %36, align 8, !tbaa !15
  %370 = call ptr @mi_recalloc(ptr noundef %368, i64 noundef %369, i64 noundef 1)
  store ptr %370, ptr %37, align 8, !tbaa !5
  %371 = load ptr, ptr %37, align 8, !tbaa !5
  %372 = load i64, ptr %36, align 8, !tbaa !15
  %373 = call zeroext i1 @check_zero_init(ptr noundef %371, i64 noundef %372)
  %374 = zext i1 %373 to i32
  %375 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc i8 %375 to i1
  %377 = zext i1 %376 to i32
  %378 = and i32 %377, %374
  %379 = icmp ne i32 %378, 0
  %380 = zext i1 %379 to i8
  store i8 %380, ptr %35, align 1, !tbaa !11
  %381 = load ptr, ptr %37, align 8, !tbaa !5
  call void @mi_free(ptr noundef %381)
  call void @llvm.lifetime.end.p0(i64 8, ptr %37) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %36) #6
  br label %382

382:                                              ; preds = %359
  %383 = load i8, ptr %35, align 1, !tbaa !11, !range !13, !noundef !14
  %384 = trunc i8 %383 to i1
  %385 = call zeroext i1 @check_result(i1 noundef zeroext %384, ptr noundef @.str.10, ptr noundef @.str.2, i64 noundef 90)
  %386 = zext i1 %385 to i8
  store i8 %386, ptr %34, align 1, !tbaa !11
  br label %354, !llvm.loop !26

387:                                              ; preds = %358
  %388 = load ptr, ptr @stderr, align 8, !tbaa !5
  %389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %388, ptr noundef @.str, ptr noundef @.str.11) #6
  %390 = call ptr @__errno_location() #7
  store i32 0, ptr %390, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %38) #6
  store i8 0, ptr %38, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %39) #6
  store i8 1, ptr %39, align 1, !tbaa !11
  br label %391

391:                                              ; preds = %404, %387
  %392 = load i8, ptr %38, align 1, !tbaa !11, !range !13, !noundef !14
  %393 = trunc i8 %392 to i1
  %394 = xor i1 %393, true
  br i1 %394, label %396, label %395

395:                                              ; preds = %391
  call void @llvm.lifetime.end.p0(i64 1, ptr %39) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %38) #6
  br label %409

396:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #6
  store i64 512, ptr %40, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #6
  %397 = load i64, ptr %40, align 8, !tbaa !15
  %398 = call noalias ptr @mi_zalloc_aligned(i64 noundef %397, i64 noundef 32)
  store ptr %398, ptr %41, align 8, !tbaa !5
  %399 = load ptr, ptr %41, align 8, !tbaa !5
  %400 = load i64, ptr %40, align 8, !tbaa !15
  %401 = call zeroext i1 @check_zero_init(ptr noundef %399, i64 noundef %400)
  %402 = zext i1 %401 to i8
  store i8 %402, ptr %39, align 1, !tbaa !11
  %403 = load ptr, ptr %41, align 8, !tbaa !5
  call void @mi_free(ptr noundef %403)
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #6
  br label %404

404:                                              ; preds = %396
  %405 = load i8, ptr %39, align 1, !tbaa !11, !range !13, !noundef !14
  %406 = trunc i8 %405 to i1
  %407 = call zeroext i1 @check_result(i1 noundef zeroext %406, ptr noundef @.str.11, ptr noundef @.str.2, i64 noundef 103)
  %408 = zext i1 %407 to i8
  store i8 %408, ptr %38, align 1, !tbaa !11
  br label %391, !llvm.loop !27

409:                                              ; preds = %395
  %410 = load ptr, ptr @stderr, align 8, !tbaa !5
  %411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %410, ptr noundef @.str, ptr noundef @.str.12) #6
  %412 = call ptr @__errno_location() #7
  store i32 0, ptr %412, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %42) #6
  store i8 0, ptr %42, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %43) #6
  store i8 1, ptr %43, align 1, !tbaa !11
  br label %413

413:                                              ; preds = %426, %409
  %414 = load i8, ptr %42, align 1, !tbaa !11, !range !13, !noundef !14
  %415 = trunc i8 %414 to i1
  %416 = xor i1 %415, true
  br i1 %416, label %418, label %417

417:                                              ; preds = %413
  call void @llvm.lifetime.end.p0(i64 1, ptr %43) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %42) #6
  br label %431

418:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 8, ptr %44) #6
  store i64 2048, ptr %44, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #6
  %419 = load i64, ptr %44, align 8, !tbaa !15
  %420 = call noalias ptr @mi_zalloc_aligned(i64 noundef %419, i64 noundef 32)
  store ptr %420, ptr %45, align 8, !tbaa !5
  %421 = load ptr, ptr %45, align 8, !tbaa !5
  %422 = load i64, ptr %44, align 8, !tbaa !15
  %423 = call zeroext i1 @check_zero_init(ptr noundef %421, i64 noundef %422)
  %424 = zext i1 %423 to i8
  store i8 %424, ptr %43, align 1, !tbaa !11
  %425 = load ptr, ptr %45, align 8, !tbaa !5
  call void @mi_free(ptr noundef %425)
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %44) #6
  br label %426

426:                                              ; preds = %418
  %427 = load i8, ptr %43, align 1, !tbaa !11, !range !13, !noundef !14
  %428 = trunc i8 %427 to i1
  %429 = call zeroext i1 @check_result(i1 noundef zeroext %428, ptr noundef @.str.12, ptr noundef @.str.2, i64 noundef 109)
  %430 = zext i1 %429 to i8
  store i8 %430, ptr %42, align 1, !tbaa !11
  br label %413, !llvm.loop !28

431:                                              ; preds = %417
  %432 = load ptr, ptr @stderr, align 8, !tbaa !5
  %433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %432, ptr noundef @.str, ptr noundef @.str.13) #6
  %434 = call ptr @__errno_location() #7
  store i32 0, ptr %434, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %46) #6
  store i8 0, ptr %46, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %47) #6
  store i8 1, ptr %47, align 1, !tbaa !11
  br label %435

435:                                              ; preds = %448, %431
  %436 = load i8, ptr %46, align 1, !tbaa !11, !range !13, !noundef !14
  %437 = trunc i8 %436 to i1
  %438 = xor i1 %437, true
  br i1 %438, label %440, label %439

439:                                              ; preds = %435
  call void @llvm.lifetime.end.p0(i64 1, ptr %47) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %46) #6
  br label %453

440:                                              ; preds = %435
  call void @llvm.lifetime.start.p0(i64 8, ptr %48) #6
  store i64 512, ptr %48, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %49) #6
  %441 = load i64, ptr %48, align 8, !tbaa !15
  %442 = call noalias ptr @mi_calloc_aligned(i64 noundef %441, i64 noundef 1, i64 noundef 32)
  store ptr %442, ptr %49, align 8, !tbaa !5
  %443 = load ptr, ptr %49, align 8, !tbaa !5
  %444 = load i64, ptr %48, align 8, !tbaa !15
  %445 = call zeroext i1 @check_zero_init(ptr noundef %443, i64 noundef %444)
  %446 = zext i1 %445 to i8
  store i8 %446, ptr %47, align 1, !tbaa !11
  %447 = load ptr, ptr %49, align 8, !tbaa !5
  call void @mi_free(ptr noundef %447)
  call void @llvm.lifetime.end.p0(i64 8, ptr %49) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %48) #6
  br label %448

448:                                              ; preds = %440
  %449 = load i8, ptr %47, align 1, !tbaa !11, !range !13, !noundef !14
  %450 = trunc i8 %449 to i1
  %451 = call zeroext i1 @check_result(i1 noundef zeroext %450, ptr noundef @.str.13, ptr noundef @.str.2, i64 noundef 116)
  %452 = zext i1 %451 to i8
  store i8 %452, ptr %46, align 1, !tbaa !11
  br label %435, !llvm.loop !29

453:                                              ; preds = %439
  %454 = load ptr, ptr @stderr, align 8, !tbaa !5
  %455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %454, ptr noundef @.str, ptr noundef @.str.14) #6
  %456 = call ptr @__errno_location() #7
  store i32 0, ptr %456, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %50) #6
  store i8 0, ptr %50, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %51) #6
  store i8 1, ptr %51, align 1, !tbaa !11
  br label %457

457:                                              ; preds = %470, %453
  %458 = load i8, ptr %50, align 1, !tbaa !11, !range !13, !noundef !14
  %459 = trunc i8 %458 to i1
  %460 = xor i1 %459, true
  br i1 %460, label %462, label %461

461:                                              ; preds = %457
  call void @llvm.lifetime.end.p0(i64 1, ptr %51) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %50) #6
  br label %475

462:                                              ; preds = %457
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #6
  store i64 2048, ptr %52, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %53) #6
  %463 = load i64, ptr %52, align 8, !tbaa !15
  %464 = call noalias ptr @mi_calloc_aligned(i64 noundef %463, i64 noundef 1, i64 noundef 32)
  store ptr %464, ptr %53, align 8, !tbaa !5
  %465 = load ptr, ptr %53, align 8, !tbaa !5
  %466 = load i64, ptr %52, align 8, !tbaa !15
  %467 = call zeroext i1 @check_zero_init(ptr noundef %465, i64 noundef %466)
  %468 = zext i1 %467 to i8
  store i8 %468, ptr %51, align 1, !tbaa !11
  %469 = load ptr, ptr %53, align 8, !tbaa !5
  call void @mi_free(ptr noundef %469)
  call void @llvm.lifetime.end.p0(i64 8, ptr %53) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #6
  br label %470

470:                                              ; preds = %462
  %471 = load i8, ptr %51, align 1, !tbaa !11, !range !13, !noundef !14
  %472 = trunc i8 %471 to i1
  %473 = call zeroext i1 @check_result(i1 noundef zeroext %472, ptr noundef @.str.14, ptr noundef @.str.2, i64 noundef 122)
  %474 = zext i1 %473 to i8
  store i8 %474, ptr %50, align 1, !tbaa !11
  br label %457, !llvm.loop !30

475:                                              ; preds = %461
  %476 = load ptr, ptr @stderr, align 8, !tbaa !5
  %477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %476, ptr noundef @.str, ptr noundef @.str.15) #6
  %478 = call ptr @__errno_location() #7
  store i32 0, ptr %478, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %54) #6
  store i8 0, ptr %54, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %55) #6
  store i8 1, ptr %55, align 1, !tbaa !11
  br label %479

479:                                              ; preds = %507, %475
  %480 = load i8, ptr %54, align 1, !tbaa !11, !range !13, !noundef !14
  %481 = trunc i8 %480 to i1
  %482 = xor i1 %481, true
  br i1 %482, label %484, label %483

483:                                              ; preds = %479
  call void @llvm.lifetime.end.p0(i64 1, ptr %55) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %54) #6
  br label %512

484:                                              ; preds = %479
  call void @llvm.lifetime.start.p0(i64 8, ptr %56) #6
  store i64 512, ptr %56, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %57) #6
  %485 = load i64, ptr %56, align 8, !tbaa !15
  %486 = call noalias ptr @mi_zalloc_aligned(i64 noundef %485, i64 noundef 32)
  store ptr %486, ptr %57, align 8, !tbaa !5
  %487 = load ptr, ptr %57, align 8, !tbaa !5
  %488 = load i64, ptr %56, align 8, !tbaa !15
  %489 = call zeroext i1 @check_zero_init(ptr noundef %487, i64 noundef %488)
  %490 = zext i1 %489 to i8
  store i8 %490, ptr %55, align 1, !tbaa !11
  %491 = load i64, ptr %56, align 8, !tbaa !15
  %492 = mul i64 %491, 3
  store i64 %492, ptr %56, align 8, !tbaa !15
  %493 = load ptr, ptr %57, align 8, !tbaa !5
  %494 = load i64, ptr %56, align 8, !tbaa !15
  %495 = call ptr @mi_rezalloc_aligned(ptr noundef %493, i64 noundef %494, i64 noundef 32)
  store ptr %495, ptr %57, align 8, !tbaa !5
  %496 = load ptr, ptr %57, align 8, !tbaa !5
  %497 = load i64, ptr %56, align 8, !tbaa !15
  %498 = call zeroext i1 @check_zero_init(ptr noundef %496, i64 noundef %497)
  %499 = zext i1 %498 to i32
  %500 = load i8, ptr %55, align 1, !tbaa !11, !range !13, !noundef !14
  %501 = trunc i8 %500 to i1
  %502 = zext i1 %501 to i32
  %503 = and i32 %502, %499
  %504 = icmp ne i32 %503, 0
  %505 = zext i1 %504 to i8
  store i8 %505, ptr %55, align 1, !tbaa !11
  %506 = load ptr, ptr %57, align 8, !tbaa !5
  call void @mi_free(ptr noundef %506)
  call void @llvm.lifetime.end.p0(i64 8, ptr %57) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %56) #6
  br label %507

507:                                              ; preds = %484
  %508 = load i8, ptr %55, align 1, !tbaa !11, !range !13, !noundef !14
  %509 = trunc i8 %508 to i1
  %510 = call zeroext i1 @check_result(i1 noundef zeroext %509, ptr noundef @.str.15, ptr noundef @.str.2, i64 noundef 129)
  %511 = zext i1 %510 to i8
  store i8 %511, ptr %54, align 1, !tbaa !11
  br label %479, !llvm.loop !31

512:                                              ; preds = %483
  %513 = load ptr, ptr @stderr, align 8, !tbaa !5
  %514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %513, ptr noundef @.str, ptr noundef @.str.16) #6
  %515 = call ptr @__errno_location() #7
  store i32 0, ptr %515, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %58) #6
  store i8 0, ptr %58, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %59) #6
  store i8 1, ptr %59, align 1, !tbaa !11
  br label %516

516:                                              ; preds = %544, %512
  %517 = load i8, ptr %58, align 1, !tbaa !11, !range !13, !noundef !14
  %518 = trunc i8 %517 to i1
  %519 = xor i1 %518, true
  br i1 %519, label %521, label %520

520:                                              ; preds = %516
  call void @llvm.lifetime.end.p0(i64 1, ptr %59) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %58) #6
  br label %549

521:                                              ; preds = %516
  call void @llvm.lifetime.start.p0(i64 8, ptr %60) #6
  store i64 2048, ptr %60, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #6
  %522 = load i64, ptr %60, align 8, !tbaa !15
  %523 = call noalias ptr @mi_zalloc_aligned(i64 noundef %522, i64 noundef 32)
  store ptr %523, ptr %61, align 8, !tbaa !5
  %524 = load ptr, ptr %61, align 8, !tbaa !5
  %525 = load i64, ptr %60, align 8, !tbaa !15
  %526 = call zeroext i1 @check_zero_init(ptr noundef %524, i64 noundef %525)
  %527 = zext i1 %526 to i8
  store i8 %527, ptr %59, align 1, !tbaa !11
  %528 = load i64, ptr %60, align 8, !tbaa !15
  %529 = mul i64 %528, 3
  store i64 %529, ptr %60, align 8, !tbaa !15
  %530 = load ptr, ptr %61, align 8, !tbaa !5
  %531 = load i64, ptr %60, align 8, !tbaa !15
  %532 = call ptr @mi_rezalloc_aligned(ptr noundef %530, i64 noundef %531, i64 noundef 32)
  store ptr %532, ptr %61, align 8, !tbaa !5
  %533 = load ptr, ptr %61, align 8, !tbaa !5
  %534 = load i64, ptr %60, align 8, !tbaa !15
  %535 = call zeroext i1 @check_zero_init(ptr noundef %533, i64 noundef %534)
  %536 = zext i1 %535 to i32
  %537 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc i8 %537 to i1
  %539 = zext i1 %538 to i32
  %540 = and i32 %539, %536
  %541 = icmp ne i32 %540, 0
  %542 = zext i1 %541 to i8
  store i8 %542, ptr %59, align 1, !tbaa !11
  %543 = load ptr, ptr %61, align 8, !tbaa !5
  call void @mi_free(ptr noundef %543)
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %60) #6
  br label %544

544:                                              ; preds = %521
  %545 = load i8, ptr %59, align 1, !tbaa !11, !range !13, !noundef !14
  %546 = trunc i8 %545 to i1
  %547 = call zeroext i1 @check_result(i1 noundef zeroext %546, ptr noundef @.str.16, ptr noundef @.str.2, i64 noundef 138)
  %548 = zext i1 %547 to i8
  store i8 %548, ptr %58, align 1, !tbaa !11
  br label %516, !llvm.loop !32

549:                                              ; preds = %520
  %550 = load ptr, ptr @stderr, align 8, !tbaa !5
  %551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %550, ptr noundef @.str, ptr noundef @.str.17) #6
  %552 = call ptr @__errno_location() #7
  store i32 0, ptr %552, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %62) #6
  store i8 0, ptr %62, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %63) #6
  store i8 1, ptr %63, align 1, !tbaa !11
  br label %553

553:                                              ; preds = %581, %549
  %554 = load i8, ptr %62, align 1, !tbaa !11, !range !13, !noundef !14
  %555 = trunc i8 %554 to i1
  %556 = xor i1 %555, true
  br i1 %556, label %558, label %557

557:                                              ; preds = %553
  call void @llvm.lifetime.end.p0(i64 1, ptr %63) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %62) #6
  br label %586

558:                                              ; preds = %553
  call void @llvm.lifetime.start.p0(i64 8, ptr %64) #6
  store i64 512, ptr %64, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %65) #6
  %559 = load i64, ptr %64, align 8, !tbaa !15
  %560 = call noalias ptr @mi_calloc_aligned(i64 noundef %559, i64 noundef 1, i64 noundef 32)
  store ptr %560, ptr %65, align 8, !tbaa !5
  %561 = load ptr, ptr %65, align 8, !tbaa !5
  %562 = load i64, ptr %64, align 8, !tbaa !15
  %563 = call zeroext i1 @check_zero_init(ptr noundef %561, i64 noundef %562)
  %564 = zext i1 %563 to i8
  store i8 %564, ptr %63, align 1, !tbaa !11
  %565 = load i64, ptr %64, align 8, !tbaa !15
  %566 = mul i64 %565, 3
  store i64 %566, ptr %64, align 8, !tbaa !15
  %567 = load ptr, ptr %65, align 8, !tbaa !5
  %568 = load i64, ptr %64, align 8, !tbaa !15
  %569 = call ptr @mi_recalloc_aligned(ptr noundef %567, i64 noundef %568, i64 noundef 1, i64 noundef 32)
  store ptr %569, ptr %65, align 8, !tbaa !5
  %570 = load ptr, ptr %65, align 8, !tbaa !5
  %571 = load i64, ptr %64, align 8, !tbaa !15
  %572 = call zeroext i1 @check_zero_init(ptr noundef %570, i64 noundef %571)
  %573 = zext i1 %572 to i32
  %574 = load i8, ptr %63, align 1, !tbaa !11, !range !13, !noundef !14
  %575 = trunc i8 %574 to i1
  %576 = zext i1 %575 to i32
  %577 = and i32 %576, %573
  %578 = icmp ne i32 %577, 0
  %579 = zext i1 %578 to i8
  store i8 %579, ptr %63, align 1, !tbaa !11
  %580 = load ptr, ptr %65, align 8, !tbaa !5
  call void @mi_free(ptr noundef %580)
  call void @llvm.lifetime.end.p0(i64 8, ptr %65) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %64) #6
  br label %581

581:                                              ; preds = %558
  %582 = load i8, ptr %63, align 1, !tbaa !11, !range !13, !noundef !14
  %583 = trunc i8 %582 to i1
  %584 = call zeroext i1 @check_result(i1 noundef zeroext %583, ptr noundef @.str.17, ptr noundef @.str.2, i64 noundef 148)
  %585 = zext i1 %584 to i8
  store i8 %585, ptr %62, align 1, !tbaa !11
  br label %553, !llvm.loop !33

586:                                              ; preds = %557
  %587 = load ptr, ptr @stderr, align 8, !tbaa !5
  %588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %587, ptr noundef @.str, ptr noundef @.str.18) #6
  %589 = call ptr @__errno_location() #7
  store i32 0, ptr %589, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %66) #6
  store i8 0, ptr %66, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %67) #6
  store i8 1, ptr %67, align 1, !tbaa !11
  br label %590

590:                                              ; preds = %618, %586
  %591 = load i8, ptr %66, align 1, !tbaa !11, !range !13, !noundef !14
  %592 = trunc i8 %591 to i1
  %593 = xor i1 %592, true
  br i1 %593, label %595, label %594

594:                                              ; preds = %590
  call void @llvm.lifetime.end.p0(i64 1, ptr %67) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %66) #6
  br label %623

595:                                              ; preds = %590
  call void @llvm.lifetime.start.p0(i64 8, ptr %68) #6
  store i64 2048, ptr %68, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %69) #6
  %596 = load i64, ptr %68, align 8, !tbaa !15
  %597 = call noalias ptr @mi_calloc_aligned(i64 noundef %596, i64 noundef 1, i64 noundef 32)
  store ptr %597, ptr %69, align 8, !tbaa !5
  %598 = load ptr, ptr %69, align 8, !tbaa !5
  %599 = load i64, ptr %68, align 8, !tbaa !15
  %600 = call zeroext i1 @check_zero_init(ptr noundef %598, i64 noundef %599)
  %601 = zext i1 %600 to i8
  store i8 %601, ptr %67, align 1, !tbaa !11
  %602 = load i64, ptr %68, align 8, !tbaa !15
  %603 = mul i64 %602, 3
  store i64 %603, ptr %68, align 8, !tbaa !15
  %604 = load ptr, ptr %69, align 8, !tbaa !5
  %605 = load i64, ptr %68, align 8, !tbaa !15
  %606 = call ptr @mi_recalloc_aligned(ptr noundef %604, i64 noundef %605, i64 noundef 1, i64 noundef 32)
  store ptr %606, ptr %69, align 8, !tbaa !5
  %607 = load ptr, ptr %69, align 8, !tbaa !5
  %608 = load i64, ptr %68, align 8, !tbaa !15
  %609 = call zeroext i1 @check_zero_init(ptr noundef %607, i64 noundef %608)
  %610 = zext i1 %609 to i32
  %611 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %612 = trunc i8 %611 to i1
  %613 = zext i1 %612 to i32
  %614 = and i32 %613, %610
  %615 = icmp ne i32 %614, 0
  %616 = zext i1 %615 to i8
  store i8 %616, ptr %67, align 1, !tbaa !11
  %617 = load ptr, ptr %69, align 8, !tbaa !5
  call void @mi_free(ptr noundef %617)
  call void @llvm.lifetime.end.p0(i64 8, ptr %69) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %68) #6
  br label %618

618:                                              ; preds = %595
  %619 = load i8, ptr %67, align 1, !tbaa !11, !range !13, !noundef !14
  %620 = trunc i8 %619 to i1
  %621 = call zeroext i1 @check_result(i1 noundef zeroext %620, ptr noundef @.str.18, ptr noundef @.str.2, i64 noundef 157)
  %622 = zext i1 %621 to i8
  store i8 %622, ptr %66, align 1, !tbaa !11
  br label %590, !llvm.loop !34

623:                                              ; preds = %594
  %624 = load ptr, ptr @stderr, align 8, !tbaa !5
  %625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %624, ptr noundef @.str, ptr noundef @.str.19) #6
  %626 = call ptr @__errno_location() #7
  store i32 0, ptr %626, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %70) #6
  store i8 0, ptr %70, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #6
  store i8 1, ptr %71, align 1, !tbaa !11
  br label %627

627:                                              ; preds = %640, %623
  %628 = load i8, ptr %70, align 1, !tbaa !11, !range !13, !noundef !14
  %629 = trunc i8 %628 to i1
  %630 = xor i1 %629, true
  br i1 %630, label %632, label %631

631:                                              ; preds = %627
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %70) #6
  br label %645

632:                                              ; preds = %627
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #6
  store i64 512, ptr %72, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %73) #6
  %633 = load i64, ptr %72, align 8, !tbaa !15
  %634 = call noalias ptr @mi_malloc(i64 noundef %633)
  store ptr %634, ptr %73, align 8, !tbaa !5
  %635 = load ptr, ptr %73, align 8, !tbaa !5
  %636 = load i64, ptr %72, align 8, !tbaa !15
  %637 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %635, i64 noundef %636)
  %638 = zext i1 %637 to i8
  store i8 %638, ptr %71, align 1, !tbaa !11
  %639 = load ptr, ptr %73, align 8, !tbaa !5
  call void @mi_free(ptr noundef %639)
  call void @llvm.lifetime.end.p0(i64 8, ptr %73) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #6
  br label %640

640:                                              ; preds = %632
  %641 = load i8, ptr %71, align 1, !tbaa !11, !range !13, !noundef !14
  %642 = trunc i8 %641 to i1
  %643 = call zeroext i1 @check_result(i1 noundef zeroext %642, ptr noundef @.str.19, ptr noundef @.str.2, i64 noundef 171)
  %644 = zext i1 %643 to i8
  store i8 %644, ptr %70, align 1, !tbaa !11
  br label %627, !llvm.loop !35

645:                                              ; preds = %631
  %646 = load ptr, ptr @stderr, align 8, !tbaa !5
  %647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef @.str, ptr noundef @.str.20) #6
  %648 = call ptr @__errno_location() #7
  store i32 0, ptr %648, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %74) #6
  store i8 0, ptr %74, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %75) #6
  store i8 1, ptr %75, align 1, !tbaa !11
  br label %649

649:                                              ; preds = %662, %645
  %650 = load i8, ptr %74, align 1, !tbaa !11, !range !13, !noundef !14
  %651 = trunc i8 %650 to i1
  %652 = xor i1 %651, true
  br i1 %652, label %654, label %653

653:                                              ; preds = %649
  call void @llvm.lifetime.end.p0(i64 1, ptr %75) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %74) #6
  br label %667

654:                                              ; preds = %649
  call void @llvm.lifetime.start.p0(i64 8, ptr %76) #6
  store i64 2048, ptr %76, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %77) #6
  %655 = load i64, ptr %76, align 8, !tbaa !15
  %656 = call noalias ptr @mi_malloc(i64 noundef %655)
  store ptr %656, ptr %77, align 8, !tbaa !5
  %657 = load ptr, ptr %77, align 8, !tbaa !5
  %658 = load i64, ptr %76, align 8, !tbaa !15
  %659 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %657, i64 noundef %658)
  %660 = zext i1 %659 to i8
  store i8 %660, ptr %75, align 1, !tbaa !11
  %661 = load ptr, ptr %77, align 8, !tbaa !5
  call void @mi_free(ptr noundef %661)
  call void @llvm.lifetime.end.p0(i64 8, ptr %77) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %76) #6
  br label %662

662:                                              ; preds = %654
  %663 = load i8, ptr %75, align 1, !tbaa !11, !range !13, !noundef !14
  %664 = trunc i8 %663 to i1
  %665 = call zeroext i1 @check_result(i1 noundef zeroext %664, ptr noundef @.str.20, ptr noundef @.str.2, i64 noundef 177)
  %666 = zext i1 %665 to i8
  store i8 %666, ptr %74, align 1, !tbaa !11
  br label %649, !llvm.loop !36

667:                                              ; preds = %653
  %668 = load ptr, ptr @stderr, align 8, !tbaa !5
  %669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %668, ptr noundef @.str, ptr noundef @.str.21) #6
  %670 = call ptr @__errno_location() #7
  store i32 0, ptr %670, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %78) #6
  store i8 0, ptr %78, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %79) #6
  store i8 1, ptr %79, align 1, !tbaa !11
  br label %671

671:                                              ; preds = %684, %667
  %672 = load i8, ptr %78, align 1, !tbaa !11, !range !13, !noundef !14
  %673 = trunc i8 %672 to i1
  %674 = xor i1 %673, true
  br i1 %674, label %676, label %675

675:                                              ; preds = %671
  call void @llvm.lifetime.end.p0(i64 1, ptr %79) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %78) #6
  br label %689

676:                                              ; preds = %671
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #6
  store i64 512, ptr %80, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %81) #6
  %677 = load i64, ptr %80, align 8, !tbaa !15
  %678 = call noalias ptr @mi_malloc_small(i64 noundef %677)
  store ptr %678, ptr %81, align 8, !tbaa !5
  %679 = load ptr, ptr %81, align 8, !tbaa !5
  %680 = load i64, ptr %80, align 8, !tbaa !15
  %681 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %679, i64 noundef %680)
  %682 = zext i1 %681 to i8
  store i8 %682, ptr %79, align 1, !tbaa !11
  %683 = load ptr, ptr %81, align 8, !tbaa !5
  call void @mi_free(ptr noundef %683)
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #6
  br label %684

684:                                              ; preds = %676
  %685 = load i8, ptr %79, align 1, !tbaa !11, !range !13, !noundef !14
  %686 = trunc i8 %685 to i1
  %687 = call zeroext i1 @check_result(i1 noundef zeroext %686, ptr noundef @.str.21, ptr noundef @.str.2, i64 noundef 184)
  %688 = zext i1 %687 to i8
  store i8 %688, ptr %78, align 1, !tbaa !11
  br label %671, !llvm.loop !37

689:                                              ; preds = %675
  %690 = load ptr, ptr @stderr, align 8, !tbaa !5
  %691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef @.str, ptr noundef @.str.22) #6
  %692 = call ptr @__errno_location() #7
  store i32 0, ptr %692, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %82) #6
  store i8 0, ptr %82, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #6
  store i8 1, ptr %83, align 1, !tbaa !11
  br label %693

693:                                              ; preds = %721, %689
  %694 = load i8, ptr %82, align 1, !tbaa !11, !range !13, !noundef !14
  %695 = trunc i8 %694 to i1
  %696 = xor i1 %695, true
  br i1 %696, label %698, label %697

697:                                              ; preds = %693
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %82) #6
  br label %726

698:                                              ; preds = %693
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #6
  store i64 512, ptr %84, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %85) #6
  %699 = load i64, ptr %84, align 8, !tbaa !15
  %700 = call noalias ptr @mi_malloc(i64 noundef %699)
  store ptr %700, ptr %85, align 8, !tbaa !5
  %701 = load ptr, ptr %85, align 8, !tbaa !5
  %702 = load i64, ptr %84, align 8, !tbaa !15
  %703 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %701, i64 noundef %702)
  %704 = zext i1 %703 to i8
  store i8 %704, ptr %83, align 1, !tbaa !11
  %705 = load i64, ptr %84, align 8, !tbaa !15
  %706 = mul i64 %705, 3
  store i64 %706, ptr %84, align 8, !tbaa !15
  %707 = load ptr, ptr %85, align 8, !tbaa !5
  %708 = load i64, ptr %84, align 8, !tbaa !15
  %709 = call ptr @mi_realloc(ptr noundef %707, i64 noundef %708)
  store ptr %709, ptr %85, align 8, !tbaa !5
  %710 = load ptr, ptr %85, align 8, !tbaa !5
  %711 = load i64, ptr %84, align 8, !tbaa !15
  %712 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %710, i64 noundef %711)
  %713 = zext i1 %712 to i32
  %714 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %715 = trunc i8 %714 to i1
  %716 = zext i1 %715 to i32
  %717 = and i32 %716, %713
  %718 = icmp ne i32 %717, 0
  %719 = zext i1 %718 to i8
  store i8 %719, ptr %83, align 1, !tbaa !11
  %720 = load ptr, ptr %85, align 8, !tbaa !5
  call void @mi_free(ptr noundef %720)
  call void @llvm.lifetime.end.p0(i64 8, ptr %85) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #6
  br label %721

721:                                              ; preds = %698
  %722 = load i8, ptr %83, align 1, !tbaa !11, !range !13, !noundef !14
  %723 = trunc i8 %722 to i1
  %724 = call zeroext i1 @check_result(i1 noundef zeroext %723, ptr noundef @.str.22, ptr noundef @.str.2, i64 noundef 191)
  %725 = zext i1 %724 to i8
  store i8 %725, ptr %82, align 1, !tbaa !11
  br label %693, !llvm.loop !38

726:                                              ; preds = %697
  %727 = load ptr, ptr @stderr, align 8, !tbaa !5
  %728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %727, ptr noundef @.str, ptr noundef @.str.23) #6
  %729 = call ptr @__errno_location() #7
  store i32 0, ptr %729, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %86) #6
  store i8 0, ptr %86, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %87) #6
  store i8 1, ptr %87, align 1, !tbaa !11
  br label %730

730:                                              ; preds = %758, %726
  %731 = load i8, ptr %86, align 1, !tbaa !11, !range !13, !noundef !14
  %732 = trunc i8 %731 to i1
  %733 = xor i1 %732, true
  br i1 %733, label %735, label %734

734:                                              ; preds = %730
  call void @llvm.lifetime.end.p0(i64 1, ptr %87) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %86) #6
  br label %763

735:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #6
  store i64 2048, ptr %88, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %89) #6
  %736 = load i64, ptr %88, align 8, !tbaa !15
  %737 = call noalias ptr @mi_malloc(i64 noundef %736)
  store ptr %737, ptr %89, align 8, !tbaa !5
  %738 = load ptr, ptr %89, align 8, !tbaa !5
  %739 = load i64, ptr %88, align 8, !tbaa !15
  %740 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %738, i64 noundef %739)
  %741 = zext i1 %740 to i8
  store i8 %741, ptr %87, align 1, !tbaa !11
  %742 = load i64, ptr %88, align 8, !tbaa !15
  %743 = mul i64 %742, 3
  store i64 %743, ptr %88, align 8, !tbaa !15
  %744 = load ptr, ptr %89, align 8, !tbaa !5
  %745 = load i64, ptr %88, align 8, !tbaa !15
  %746 = call ptr @mi_realloc(ptr noundef %744, i64 noundef %745)
  store ptr %746, ptr %89, align 8, !tbaa !5
  %747 = load ptr, ptr %89, align 8, !tbaa !5
  %748 = load i64, ptr %88, align 8, !tbaa !15
  %749 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %747, i64 noundef %748)
  %750 = zext i1 %749 to i32
  %751 = load i8, ptr %87, align 1, !tbaa !11, !range !13, !noundef !14
  %752 = trunc i8 %751 to i1
  %753 = zext i1 %752 to i32
  %754 = and i32 %753, %750
  %755 = icmp ne i32 %754, 0
  %756 = zext i1 %755 to i8
  store i8 %756, ptr %87, align 1, !tbaa !11
  %757 = load ptr, ptr %89, align 8, !tbaa !5
  call void @mi_free(ptr noundef %757)
  call void @llvm.lifetime.end.p0(i64 8, ptr %89) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #6
  br label %758

758:                                              ; preds = %735
  %759 = load i8, ptr %87, align 1, !tbaa !11, !range !13, !noundef !14
  %760 = trunc i8 %759 to i1
  %761 = call zeroext i1 @check_result(i1 noundef zeroext %760, ptr noundef @.str.23, ptr noundef @.str.2, i64 noundef 200)
  %762 = zext i1 %761 to i8
  store i8 %762, ptr %86, align 1, !tbaa !11
  br label %730, !llvm.loop !39

763:                                              ; preds = %734
  %764 = load ptr, ptr @stderr, align 8, !tbaa !5
  %765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef @.str, ptr noundef @.str.24) #6
  %766 = call ptr @__errno_location() #7
  store i32 0, ptr %766, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %90) #6
  store i8 0, ptr %90, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %91) #6
  store i8 1, ptr %91, align 1, !tbaa !11
  br label %767

767:                                              ; preds = %780, %763
  %768 = load i8, ptr %90, align 1, !tbaa !11, !range !13, !noundef !14
  %769 = trunc i8 %768 to i1
  %770 = xor i1 %769, true
  br i1 %770, label %772, label %771

771:                                              ; preds = %767
  call void @llvm.lifetime.end.p0(i64 1, ptr %91) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %90) #6
  br label %785

772:                                              ; preds = %767
  call void @llvm.lifetime.start.p0(i64 8, ptr %92) #6
  store i64 512, ptr %92, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %93) #6
  %773 = load i64, ptr %92, align 8, !tbaa !15
  %774 = call noalias ptr @mi_mallocn(i64 noundef %773, i64 noundef 1)
  store ptr %774, ptr %93, align 8, !tbaa !5
  %775 = load ptr, ptr %93, align 8, !tbaa !5
  %776 = load i64, ptr %92, align 8, !tbaa !15
  %777 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %775, i64 noundef %776)
  %778 = zext i1 %777 to i8
  store i8 %778, ptr %91, align 1, !tbaa !11
  %779 = load ptr, ptr %93, align 8, !tbaa !5
  call void @mi_free(ptr noundef %779)
  call void @llvm.lifetime.end.p0(i64 8, ptr %93) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %92) #6
  br label %780

780:                                              ; preds = %772
  %781 = load i8, ptr %91, align 1, !tbaa !11, !range !13, !noundef !14
  %782 = trunc i8 %781 to i1
  %783 = call zeroext i1 @check_result(i1 noundef zeroext %782, ptr noundef @.str.24, ptr noundef @.str.2, i64 noundef 210)
  %784 = zext i1 %783 to i8
  store i8 %784, ptr %90, align 1, !tbaa !11
  br label %767, !llvm.loop !40

785:                                              ; preds = %771
  %786 = load ptr, ptr @stderr, align 8, !tbaa !5
  %787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %786, ptr noundef @.str, ptr noundef @.str.25) #6
  %788 = call ptr @__errno_location() #7
  store i32 0, ptr %788, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %94) #6
  store i8 0, ptr %94, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %95) #6
  store i8 1, ptr %95, align 1, !tbaa !11
  br label %789

789:                                              ; preds = %802, %785
  %790 = load i8, ptr %94, align 1, !tbaa !11, !range !13, !noundef !14
  %791 = trunc i8 %790 to i1
  %792 = xor i1 %791, true
  br i1 %792, label %794, label %793

793:                                              ; preds = %789
  call void @llvm.lifetime.end.p0(i64 1, ptr %95) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %94) #6
  br label %807

794:                                              ; preds = %789
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #6
  store i64 2048, ptr %96, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %97) #6
  %795 = load i64, ptr %96, align 8, !tbaa !15
  %796 = call noalias ptr @mi_mallocn(i64 noundef %795, i64 noundef 1)
  store ptr %796, ptr %97, align 8, !tbaa !5
  %797 = load ptr, ptr %97, align 8, !tbaa !5
  %798 = load i64, ptr %96, align 8, !tbaa !15
  %799 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %797, i64 noundef %798)
  %800 = zext i1 %799 to i8
  store i8 %800, ptr %95, align 1, !tbaa !11
  %801 = load ptr, ptr %97, align 8, !tbaa !5
  call void @mi_free(ptr noundef %801)
  call void @llvm.lifetime.end.p0(i64 8, ptr %97) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #6
  br label %802

802:                                              ; preds = %794
  %803 = load i8, ptr %95, align 1, !tbaa !11, !range !13, !noundef !14
  %804 = trunc i8 %803 to i1
  %805 = call zeroext i1 @check_result(i1 noundef zeroext %804, ptr noundef @.str.25, ptr noundef @.str.2, i64 noundef 216)
  %806 = zext i1 %805 to i8
  store i8 %806, ptr %94, align 1, !tbaa !11
  br label %789, !llvm.loop !41

807:                                              ; preds = %793
  %808 = load ptr, ptr @stderr, align 8, !tbaa !5
  %809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %808, ptr noundef @.str, ptr noundef @.str.26) #6
  %810 = call ptr @__errno_location() #7
  store i32 0, ptr %810, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %98) #6
  store i8 0, ptr %98, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %99) #6
  store i8 1, ptr %99, align 1, !tbaa !11
  br label %811

811:                                              ; preds = %839, %807
  %812 = load i8, ptr %98, align 1, !tbaa !11, !range !13, !noundef !14
  %813 = trunc i8 %812 to i1
  %814 = xor i1 %813, true
  br i1 %814, label %816, label %815

815:                                              ; preds = %811
  call void @llvm.lifetime.end.p0(i64 1, ptr %99) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %98) #6
  br label %844

816:                                              ; preds = %811
  call void @llvm.lifetime.start.p0(i64 8, ptr %100) #6
  store i64 512, ptr %100, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %101) #6
  %817 = load i64, ptr %100, align 8, !tbaa !15
  %818 = call noalias ptr @mi_mallocn(i64 noundef %817, i64 noundef 1)
  store ptr %818, ptr %101, align 8, !tbaa !5
  %819 = load ptr, ptr %101, align 8, !tbaa !5
  %820 = load i64, ptr %100, align 8, !tbaa !15
  %821 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %819, i64 noundef %820)
  %822 = zext i1 %821 to i8
  store i8 %822, ptr %99, align 1, !tbaa !11
  %823 = load i64, ptr %100, align 8, !tbaa !15
  %824 = mul i64 %823, 3
  store i64 %824, ptr %100, align 8, !tbaa !15
  %825 = load ptr, ptr %101, align 8, !tbaa !5
  %826 = load i64, ptr %100, align 8, !tbaa !15
  %827 = call ptr @mi_reallocn(ptr noundef %825, i64 noundef %826, i64 noundef 1)
  store ptr %827, ptr %101, align 8, !tbaa !5
  %828 = load ptr, ptr %101, align 8, !tbaa !5
  %829 = load i64, ptr %100, align 8, !tbaa !15
  %830 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %828, i64 noundef %829)
  %831 = zext i1 %830 to i32
  %832 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %833 = trunc i8 %832 to i1
  %834 = zext i1 %833 to i32
  %835 = and i32 %834, %831
  %836 = icmp ne i32 %835, 0
  %837 = zext i1 %836 to i8
  store i8 %837, ptr %99, align 1, !tbaa !11
  %838 = load ptr, ptr %101, align 8, !tbaa !5
  call void @mi_free(ptr noundef %838)
  call void @llvm.lifetime.end.p0(i64 8, ptr %101) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %100) #6
  br label %839

839:                                              ; preds = %816
  %840 = load i8, ptr %99, align 1, !tbaa !11, !range !13, !noundef !14
  %841 = trunc i8 %840 to i1
  %842 = call zeroext i1 @check_result(i1 noundef zeroext %841, ptr noundef @.str.26, ptr noundef @.str.2, i64 noundef 223)
  %843 = zext i1 %842 to i8
  store i8 %843, ptr %98, align 1, !tbaa !11
  br label %811, !llvm.loop !42

844:                                              ; preds = %815
  %845 = load ptr, ptr @stderr, align 8, !tbaa !5
  %846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %845, ptr noundef @.str, ptr noundef @.str.27) #6
  %847 = call ptr @__errno_location() #7
  store i32 0, ptr %847, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %102) #6
  store i8 0, ptr %102, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %103) #6
  store i8 1, ptr %103, align 1, !tbaa !11
  br label %848

848:                                              ; preds = %876, %844
  %849 = load i8, ptr %102, align 1, !tbaa !11, !range !13, !noundef !14
  %850 = trunc i8 %849 to i1
  %851 = xor i1 %850, true
  br i1 %851, label %853, label %852

852:                                              ; preds = %848
  call void @llvm.lifetime.end.p0(i64 1, ptr %103) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %102) #6
  br label %881

853:                                              ; preds = %848
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #6
  store i64 2048, ptr %104, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %105) #6
  %854 = load i64, ptr %104, align 8, !tbaa !15
  %855 = call noalias ptr @mi_mallocn(i64 noundef %854, i64 noundef 1)
  store ptr %855, ptr %105, align 8, !tbaa !5
  %856 = load ptr, ptr %105, align 8, !tbaa !5
  %857 = load i64, ptr %104, align 8, !tbaa !15
  %858 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %856, i64 noundef %857)
  %859 = zext i1 %858 to i8
  store i8 %859, ptr %103, align 1, !tbaa !11
  %860 = load i64, ptr %104, align 8, !tbaa !15
  %861 = mul i64 %860, 3
  store i64 %861, ptr %104, align 8, !tbaa !15
  %862 = load ptr, ptr %105, align 8, !tbaa !5
  %863 = load i64, ptr %104, align 8, !tbaa !15
  %864 = call ptr @mi_reallocn(ptr noundef %862, i64 noundef %863, i64 noundef 1)
  store ptr %864, ptr %105, align 8, !tbaa !5
  %865 = load ptr, ptr %105, align 8, !tbaa !5
  %866 = load i64, ptr %104, align 8, !tbaa !15
  %867 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %865, i64 noundef %866)
  %868 = zext i1 %867 to i32
  %869 = load i8, ptr %103, align 1, !tbaa !11, !range !13, !noundef !14
  %870 = trunc i8 %869 to i1
  %871 = zext i1 %870 to i32
  %872 = and i32 %871, %868
  %873 = icmp ne i32 %872, 0
  %874 = zext i1 %873 to i8
  store i8 %874, ptr %103, align 1, !tbaa !11
  %875 = load ptr, ptr %105, align 8, !tbaa !5
  call void @mi_free(ptr noundef %875)
  call void @llvm.lifetime.end.p0(i64 8, ptr %105) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #6
  br label %876

876:                                              ; preds = %853
  %877 = load i8, ptr %103, align 1, !tbaa !11, !range !13, !noundef !14
  %878 = trunc i8 %877 to i1
  %879 = call zeroext i1 @check_result(i1 noundef zeroext %878, ptr noundef @.str.27, ptr noundef @.str.2, i64 noundef 232)
  %880 = zext i1 %879 to i8
  store i8 %880, ptr %102, align 1, !tbaa !11
  br label %848, !llvm.loop !43

881:                                              ; preds = %852
  %882 = load ptr, ptr @stderr, align 8, !tbaa !5
  %883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %882, ptr noundef @.str, ptr noundef @.str.28) #6
  %884 = call ptr @__errno_location() #7
  store i32 0, ptr %884, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %106) #6
  store i8 0, ptr %106, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %107) #6
  store i8 1, ptr %107, align 1, !tbaa !11
  br label %885

885:                                              ; preds = %898, %881
  %886 = load i8, ptr %106, align 1, !tbaa !11, !range !13, !noundef !14
  %887 = trunc i8 %886 to i1
  %888 = xor i1 %887, true
  br i1 %888, label %890, label %889

889:                                              ; preds = %885
  call void @llvm.lifetime.end.p0(i64 1, ptr %107) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %106) #6
  br label %903

890:                                              ; preds = %885
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #6
  store i64 512, ptr %108, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %109) #6
  %891 = load i64, ptr %108, align 8, !tbaa !15
  %892 = call noalias ptr @mi_malloc_aligned(i64 noundef %891, i64 noundef 32)
  store ptr %892, ptr %109, align 8, !tbaa !5
  %893 = load ptr, ptr %109, align 8, !tbaa !5
  %894 = load i64, ptr %108, align 8, !tbaa !15
  %895 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %893, i64 noundef %894)
  %896 = zext i1 %895 to i8
  store i8 %896, ptr %107, align 1, !tbaa !11
  %897 = load ptr, ptr %109, align 8, !tbaa !5
  call void @mi_free(ptr noundef %897)
  call void @llvm.lifetime.end.p0(i64 8, ptr %109) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #6
  br label %898

898:                                              ; preds = %890
  %899 = load i8, ptr %107, align 1, !tbaa !11, !range !13, !noundef !14
  %900 = trunc i8 %899 to i1
  %901 = call zeroext i1 @check_result(i1 noundef zeroext %900, ptr noundef @.str.28, ptr noundef @.str.2, i64 noundef 242)
  %902 = zext i1 %901 to i8
  store i8 %902, ptr %106, align 1, !tbaa !11
  br label %885, !llvm.loop !44

903:                                              ; preds = %889
  %904 = load ptr, ptr @stderr, align 8, !tbaa !5
  %905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %904, ptr noundef @.str, ptr noundef @.str.29) #6
  %906 = call ptr @__errno_location() #7
  store i32 0, ptr %906, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %110) #6
  store i8 0, ptr %110, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %111) #6
  store i8 1, ptr %111, align 1, !tbaa !11
  br label %907

907:                                              ; preds = %920, %903
  %908 = load i8, ptr %110, align 1, !tbaa !11, !range !13, !noundef !14
  %909 = trunc i8 %908 to i1
  %910 = xor i1 %909, true
  br i1 %910, label %912, label %911

911:                                              ; preds = %907
  call void @llvm.lifetime.end.p0(i64 1, ptr %111) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %110) #6
  br label %925

912:                                              ; preds = %907
  call void @llvm.lifetime.start.p0(i64 8, ptr %112) #6
  store i64 2048, ptr %112, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %113) #6
  %913 = load i64, ptr %112, align 8, !tbaa !15
  %914 = call noalias ptr @mi_malloc_aligned(i64 noundef %913, i64 noundef 32)
  store ptr %914, ptr %113, align 8, !tbaa !5
  %915 = load ptr, ptr %113, align 8, !tbaa !5
  %916 = load i64, ptr %112, align 8, !tbaa !15
  %917 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %915, i64 noundef %916)
  %918 = zext i1 %917 to i8
  store i8 %918, ptr %111, align 1, !tbaa !11
  %919 = load ptr, ptr %113, align 8, !tbaa !5
  call void @mi_free(ptr noundef %919)
  call void @llvm.lifetime.end.p0(i64 8, ptr %113) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %112) #6
  br label %920

920:                                              ; preds = %912
  %921 = load i8, ptr %111, align 1, !tbaa !11, !range !13, !noundef !14
  %922 = trunc i8 %921 to i1
  %923 = call zeroext i1 @check_result(i1 noundef zeroext %922, ptr noundef @.str.29, ptr noundef @.str.2, i64 noundef 248)
  %924 = zext i1 %923 to i8
  store i8 %924, ptr %110, align 1, !tbaa !11
  br label %907, !llvm.loop !45

925:                                              ; preds = %911
  %926 = load ptr, ptr @stderr, align 8, !tbaa !5
  %927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %926, ptr noundef @.str, ptr noundef @.str.30) #6
  %928 = call ptr @__errno_location() #7
  store i32 0, ptr %928, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %114) #6
  store i8 0, ptr %114, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %115) #6
  store i8 1, ptr %115, align 1, !tbaa !11
  br label %929

929:                                              ; preds = %957, %925
  %930 = load i8, ptr %114, align 1, !tbaa !11, !range !13, !noundef !14
  %931 = trunc i8 %930 to i1
  %932 = xor i1 %931, true
  br i1 %932, label %934, label %933

933:                                              ; preds = %929
  call void @llvm.lifetime.end.p0(i64 1, ptr %115) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %114) #6
  br label %962

934:                                              ; preds = %929
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #6
  store i64 512, ptr %116, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #6
  %935 = load i64, ptr %116, align 8, !tbaa !15
  %936 = call noalias ptr @mi_malloc_aligned(i64 noundef %935, i64 noundef 32)
  store ptr %936, ptr %117, align 8, !tbaa !5
  %937 = load ptr, ptr %117, align 8, !tbaa !5
  %938 = load i64, ptr %116, align 8, !tbaa !15
  %939 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %937, i64 noundef %938)
  %940 = zext i1 %939 to i8
  store i8 %940, ptr %115, align 1, !tbaa !11
  %941 = load i64, ptr %116, align 8, !tbaa !15
  %942 = mul i64 %941, 3
  store i64 %942, ptr %116, align 8, !tbaa !15
  %943 = load ptr, ptr %117, align 8, !tbaa !5
  %944 = load i64, ptr %116, align 8, !tbaa !15
  %945 = call ptr @mi_realloc_aligned(ptr noundef %943, i64 noundef %944, i64 noundef 32)
  store ptr %945, ptr %117, align 8, !tbaa !5
  %946 = load ptr, ptr %117, align 8, !tbaa !5
  %947 = load i64, ptr %116, align 8, !tbaa !15
  %948 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %946, i64 noundef %947)
  %949 = zext i1 %948 to i32
  %950 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %951 = trunc i8 %950 to i1
  %952 = zext i1 %951 to i32
  %953 = and i32 %952, %949
  %954 = icmp ne i32 %953, 0
  %955 = zext i1 %954 to i8
  store i8 %955, ptr %115, align 1, !tbaa !11
  %956 = load ptr, ptr %117, align 8, !tbaa !5
  call void @mi_free(ptr noundef %956)
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #6
  br label %957

957:                                              ; preds = %934
  %958 = load i8, ptr %115, align 1, !tbaa !11, !range !13, !noundef !14
  %959 = trunc i8 %958 to i1
  %960 = call zeroext i1 @check_result(i1 noundef zeroext %959, ptr noundef @.str.30, ptr noundef @.str.2, i64 noundef 255)
  %961 = zext i1 %960 to i8
  store i8 %961, ptr %114, align 1, !tbaa !11
  br label %929, !llvm.loop !46

962:                                              ; preds = %933
  %963 = load ptr, ptr @stderr, align 8, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %963, ptr noundef @.str, ptr noundef @.str.31) #6
  %965 = call ptr @__errno_location() #7
  store i32 0, ptr %965, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %118) #6
  store i8 0, ptr %118, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %119) #6
  store i8 1, ptr %119, align 1, !tbaa !11
  br label %966

966:                                              ; preds = %994, %962
  %967 = load i8, ptr %118, align 1, !tbaa !11, !range !13, !noundef !14
  %968 = trunc i8 %967 to i1
  %969 = xor i1 %968, true
  br i1 %969, label %971, label %970

970:                                              ; preds = %966
  call void @llvm.lifetime.end.p0(i64 1, ptr %119) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %118) #6
  br label %999

971:                                              ; preds = %966
  call void @llvm.lifetime.start.p0(i64 8, ptr %120) #6
  store i64 2048, ptr %120, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %121) #6
  %972 = load i64, ptr %120, align 8, !tbaa !15
  %973 = call noalias ptr @mi_malloc_aligned(i64 noundef %972, i64 noundef 32)
  store ptr %973, ptr %121, align 8, !tbaa !5
  %974 = load ptr, ptr %121, align 8, !tbaa !5
  %975 = load i64, ptr %120, align 8, !tbaa !15
  %976 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %974, i64 noundef %975)
  %977 = zext i1 %976 to i8
  store i8 %977, ptr %119, align 1, !tbaa !11
  %978 = load i64, ptr %120, align 8, !tbaa !15
  %979 = mul i64 %978, 3
  store i64 %979, ptr %120, align 8, !tbaa !15
  %980 = load ptr, ptr %121, align 8, !tbaa !5
  %981 = load i64, ptr %120, align 8, !tbaa !15
  %982 = call ptr @mi_realloc_aligned(ptr noundef %980, i64 noundef %981, i64 noundef 32)
  store ptr %982, ptr %121, align 8, !tbaa !5
  %983 = load ptr, ptr %121, align 8, !tbaa !5
  %984 = load i64, ptr %120, align 8, !tbaa !15
  %985 = call zeroext i1 @check_debug_fill_uninit(ptr noundef %983, i64 noundef %984)
  %986 = zext i1 %985 to i32
  %987 = load i8, ptr %119, align 1, !tbaa !11, !range !13, !noundef !14
  %988 = trunc i8 %987 to i1
  %989 = zext i1 %988 to i32
  %990 = and i32 %989, %986
  %991 = icmp ne i32 %990, 0
  %992 = zext i1 %991 to i8
  store i8 %992, ptr %119, align 1, !tbaa !11
  %993 = load ptr, ptr %121, align 8, !tbaa !5
  call void @mi_free(ptr noundef %993)
  call void @llvm.lifetime.end.p0(i64 8, ptr %121) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %120) #6
  br label %994

994:                                              ; preds = %971
  %995 = load i8, ptr %119, align 1, !tbaa !11, !range !13, !noundef !14
  %996 = trunc i8 %995 to i1
  %997 = call zeroext i1 @check_result(i1 noundef zeroext %996, ptr noundef @.str.31, ptr noundef @.str.2, i64 noundef 264)
  %998 = zext i1 %997 to i8
  store i8 %998, ptr %118, align 1, !tbaa !11
  br label %966, !llvm.loop !47

999:                                              ; preds = %970
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1000, ptr noundef @.str, ptr noundef @.str.32) #6
  %1002 = call ptr @__errno_location() #7
  store i32 0, ptr %1002, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %122) #6
  store i8 0, ptr %122, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %123) #6
  store i8 1, ptr %123, align 1, !tbaa !11
  br label %1003

1003:                                             ; preds = %1018, %999
  %1004 = load i8, ptr %122, align 1, !tbaa !11, !range !13, !noundef !14
  %1005 = trunc i8 %1004 to i1
  %1006 = xor i1 %1005, true
  br i1 %1006, label %1008, label %1007

1007:                                             ; preds = %1003
  call void @llvm.lifetime.end.p0(i64 1, ptr %123) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %122) #6
  br label %1023

1008:                                             ; preds = %1003
  call void @llvm.lifetime.start.p0(i64 8, ptr %124) #6
  store i64 512, ptr %124, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %125) #6
  %1009 = load i64, ptr %124, align 8, !tbaa !15
  %1010 = call noalias ptr @mi_malloc(i64 noundef %1009)
  store ptr %1010, ptr %125, align 8, !tbaa !5
  %1011 = load ptr, ptr %125, align 8, !tbaa !5
  call void @mi_free(ptr noundef %1011)
  %1012 = load ptr, ptr %125, align 8, !tbaa !5
  %1013 = getelementptr inbounds i8, ptr %1012, i64 8
  %1014 = load i64, ptr %124, align 8, !tbaa !15
  %1015 = sub i64 %1014, 8
  %1016 = call zeroext i1 @check_debug_fill_freed(ptr noundef %1013, i64 noundef %1015)
  %1017 = zext i1 %1016 to i8
  store i8 %1017, ptr %123, align 1, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 8, ptr %125) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %124) #6
  br label %1018

1018:                                             ; preds = %1008
  %1019 = load i8, ptr %123, align 1, !tbaa !11, !range !13, !noundef !14
  %1020 = trunc i8 %1019 to i1
  %1021 = call zeroext i1 @check_result(i1 noundef zeroext %1020, ptr noundef @.str.32, ptr noundef @.str.2, i64 noundef 275)
  %1022 = zext i1 %1021 to i8
  store i8 %1022, ptr %122, align 1, !tbaa !11
  br label %1003, !llvm.loop !48

1023:                                             ; preds = %1007
  %1024 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1024, ptr noundef @.str, ptr noundef @.str.33) #6
  %1026 = call ptr @__errno_location() #7
  store i32 0, ptr %1026, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr %126) #6
  store i8 0, ptr %126, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %127) #6
  store i8 1, ptr %127, align 1, !tbaa !11
  br label %1027

1027:                                             ; preds = %1042, %1023
  %1028 = load i8, ptr %126, align 1, !tbaa !11, !range !13, !noundef !14
  %1029 = trunc i8 %1028 to i1
  %1030 = xor i1 %1029, true
  br i1 %1030, label %1032, label %1031

1031:                                             ; preds = %1027
  call void @llvm.lifetime.end.p0(i64 1, ptr %127) #6
  call void @llvm.lifetime.end.p0(i64 1, ptr %126) #6
  br label %1047

1032:                                             ; preds = %1027
  call void @llvm.lifetime.start.p0(i64 8, ptr %128) #6
  store i64 2048, ptr %128, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %129) #6
  %1033 = load i64, ptr %128, align 8, !tbaa !15
  %1034 = call noalias ptr @mi_malloc(i64 noundef %1033)
  store ptr %1034, ptr %129, align 8, !tbaa !5
  %1035 = load ptr, ptr %129, align 8, !tbaa !5
  call void @mi_free(ptr noundef %1035)
  %1036 = load ptr, ptr %129, align 8, !tbaa !5
  %1037 = getelementptr inbounds i8, ptr %1036, i64 8
  %1038 = load i64, ptr %128, align 8, !tbaa !15
  %1039 = sub i64 %1038, 8
  %1040 = call zeroext i1 @check_debug_fill_freed(ptr noundef %1037, i64 noundef %1039)
  %1041 = zext i1 %1040 to i8
  store i8 %1041, ptr %127, align 1, !tbaa !11
  call void @llvm.lifetime.end.p0(i64 8, ptr %129) #6
  call void @llvm.lifetime.end.p0(i64 8, ptr %128) #6
  br label %1042

1042:                                             ; preds = %1032
  %1043 = load i8, ptr %127, align 1, !tbaa !11, !range !13, !noundef !14
  %1044 = trunc i8 %1043 to i1
  %1045 = call zeroext i1 @check_result(i1 noundef zeroext %1044, ptr noundef @.str.33, ptr noundef @.str.2, i64 noundef 282)
  %1046 = zext i1 %1045 to i8
  store i8 %1046, ptr %126, align 1, !tbaa !11
  br label %1027, !llvm.loop !49

1047:                                             ; preds = %1031
  %1048 = call i32 @print_test_summary()
  ret i32 %1048
}

declare void @mi_option_disable(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #2

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #3

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

declare noalias ptr @mi_zalloc(i64 noundef) #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_zero_init(ptr noundef, i64 noundef) #0

declare void @mi_free(ptr noundef) #1

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

; Function Attrs: nounwind uwtable
declare hidden zeroext i1 @check_result(i1 noundef zeroext, ptr noundef, ptr noundef, i64 noundef) #0

declare noalias ptr @mi_zalloc_small(i64 noundef) #1

declare noalias ptr @mi_calloc(i64 noundef, i64 noundef) #1

declare ptr @mi_rezalloc(ptr noundef, i64 noundef) #1

declare ptr @mi_recalloc(ptr noundef, i64 noundef, i64 noundef) #1

declare noalias ptr @mi_zalloc_aligned(i64 noundef, i64 noundef) #1

declare noalias ptr @mi_calloc_aligned(i64 noundef, i64 noundef, i64 noundef) #1

declare ptr @mi_rezalloc_aligned(ptr noundef, i64 noundef, i64 noundef) #1

declare ptr @mi_recalloc_aligned(ptr noundef, i64 noundef, i64 noundef, i64 noundef) #1

declare noalias ptr @mi_malloc(i64 noundef) #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_debug_fill_uninit(ptr noundef, i64 noundef) #0

declare noalias ptr @mi_malloc_small(i64 noundef) #1

declare ptr @mi_realloc(ptr noundef, i64 noundef) #1

declare noalias ptr @mi_mallocn(i64 noundef, i64 noundef) #1

declare ptr @mi_reallocn(ptr noundef, i64 noundef, i64 noundef) #1

declare noalias ptr @mi_malloc_aligned(i64 noundef, i64 noundef) #1

declare ptr @mi_realloc_aligned(ptr noundef, i64 noundef, i64 noundef) #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_debug_fill_freed(ptr noundef, i64 noundef) #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @print_test_summary() #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 = { "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 #2 = { 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 #3 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #5 = { inlinehint 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 #6 = { nounwind }
attributes #7 = { nounwind willreturn memory(none) }

!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 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = distinct !{!17, !18}
!18 = !{!"llvm.loop.mustprogress"}
!19 = distinct !{!19, !18}
!20 = distinct !{!20, !18}
!21 = distinct !{!21, !18}
!22 = distinct !{!22, !18}
!23 = distinct !{!23, !18}
!24 = distinct !{!24, !18}
!25 = distinct !{!25, !18}
!26 = distinct !{!26, !18}
!27 = distinct !{!27, !18}
!28 = distinct !{!28, !18}
!29 = distinct !{!29, !18}
!30 = distinct !{!30, !18}
!31 = distinct !{!31, !18}
!32 = distinct !{!32, !18}
!33 = distinct !{!33, !18}
!34 = distinct !{!34, !18}
!35 = distinct !{!35, !18}
!36 = distinct !{!36, !18}
!37 = distinct !{!37, !18}
!38 = distinct !{!38, !18}
!39 = distinct !{!39, !18}
!40 = distinct !{!40, !18}
!41 = distinct !{!41, !18}
!42 = distinct !{!42, !18}
!43 = distinct !{!43, !18}
!44 = distinct !{!44, !18}
!45 = distinct !{!45, !18}
!46 = distinct !{!46, !18}
!47 = distinct !{!47, !18}
!48 = distinct !{!48, !18}
!49 = distinct !{!49, !18}


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

@stderr = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [14 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [24 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [20 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [21 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [22 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [29 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [17 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [17 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main() local_unnamed_addr #0 {
.critedge:
  tail call void @mi_option_disable(i32 noundef 2) #5
  %0 = load ptr, ptr @stderr, align 8, !tbaa !5
  %1 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %0, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #6
  %2 = tail call ptr @__errno_location() #7
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %5

.critedge307:                                     ; preds = %5
  %3 = load ptr, ptr @stderr, align 8, !tbaa !5
  %4 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3, ptr noundef nonnull @.str, ptr noundef nonnull @.str.3) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %11

5:                                                ; preds = %.critedge, %5
  %6 = tail call noalias ptr @mi_zalloc(i64 noundef 512) #5
  %7 = tail call zeroext i1 @check_zero_init(ptr noundef %6, i64 noundef 512)
  tail call void @mi_free(ptr noundef %6) #5
  %8 = tail call zeroext i1 @check_result(i1 noundef zeroext %7, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.2, i64 noundef 30)
  br i1 %8, label %.critedge307, label %5

.critedge309:                                     ; preds = %11
  %9 = load ptr, ptr @stderr, align 8, !tbaa !5
  %10 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9, ptr noundef nonnull @.str, ptr noundef nonnull @.str.4) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %17

11:                                               ; preds = %.critedge307, %11
  %12 = tail call noalias ptr @mi_zalloc(i64 noundef 2048) #5
  %13 = tail call zeroext i1 @check_zero_init(ptr noundef %12, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %12) #5
  %14 = tail call zeroext i1 @check_result(i1 noundef zeroext %13, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.2, i64 noundef 36)
  br i1 %14, label %.critedge309, label %11

.critedge311:                                     ; preds = %17
  %15 = load ptr, ptr @stderr, align 8, !tbaa !5
  %16 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15, ptr noundef nonnull @.str, ptr noundef nonnull @.str.5) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %23

17:                                               ; preds = %.critedge309, %17
  %18 = tail call noalias ptr @mi_zalloc_small(i64 noundef 512) #5
  %19 = tail call zeroext i1 @check_zero_init(ptr noundef %18, i64 noundef 512)
  tail call void @mi_free(ptr noundef %18) #5
  %20 = tail call zeroext i1 @check_result(i1 noundef zeroext %19, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, i64 noundef 42)
  br i1 %20, label %.critedge311, label %17

.critedge313:                                     ; preds = %23
  %21 = load ptr, ptr @stderr, align 8, !tbaa !5
  %22 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21, ptr noundef nonnull @.str, ptr noundef nonnull @.str.6) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %29

23:                                               ; preds = %.critedge311, %23
  %24 = tail call noalias ptr @mi_calloc(i64 noundef 512, i64 noundef 1) #5
  %25 = tail call zeroext i1 @check_zero_init(ptr noundef %24, i64 noundef 512)
  tail call void @mi_free(ptr noundef %24) #5
  %26 = tail call zeroext i1 @check_result(i1 noundef zeroext %25, ptr noundef nonnull @.str.5, ptr noundef nonnull @.str.2, i64 noundef 49)
  br i1 %26, label %.critedge313, label %23

.critedge315:                                     ; preds = %29
  %27 = load ptr, ptr @stderr, align 8, !tbaa !5
  %28 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27, ptr noundef nonnull @.str, ptr noundef nonnull @.str.7) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %35

29:                                               ; preds = %.critedge313, %29
  %30 = tail call noalias ptr @mi_calloc(i64 noundef 2048, i64 noundef 1) #5
  %31 = tail call zeroext i1 @check_zero_init(ptr noundef %30, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %30) #5
  %32 = tail call zeroext i1 @check_result(i1 noundef zeroext %31, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.2, i64 noundef 55)
  br i1 %32, label %.critedge315, label %29

.critedge317:                                     ; preds = %35
  %33 = load ptr, ptr @stderr, align 8, !tbaa !5
  %34 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %33, ptr noundef nonnull @.str, ptr noundef nonnull @.str.8) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %44

35:                                               ; preds = %.critedge315, %35
  %36 = tail call noalias ptr @mi_zalloc(i64 noundef 512) #5
  %37 = tail call zeroext i1 @check_zero_init(ptr noundef %36, i64 noundef 512)
  %38 = tail call ptr @mi_rezalloc(ptr noundef %36, i64 noundef 1536) #5
  %39 = tail call zeroext i1 @check_zero_init(ptr noundef %38, i64 noundef 1536)
  %40 = and i1 %37, %39
  tail call void @mi_free(ptr noundef %38) #5
  %41 = tail call zeroext i1 @check_result(i1 noundef zeroext %40, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i64 noundef 62)
  br i1 %41, label %.critedge317, label %35

.critedge319:                                     ; preds = %44
  %42 = load ptr, ptr @stderr, align 8, !tbaa !5
  %43 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %42, ptr noundef nonnull @.str, ptr noundef nonnull @.str.9) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %53

44:                                               ; preds = %.critedge317, %44
  %45 = tail call noalias ptr @mi_zalloc(i64 noundef 2048) #5
  %46 = tail call zeroext i1 @check_zero_init(ptr noundef %45, i64 noundef 2048)
  %47 = tail call ptr @mi_rezalloc(ptr noundef %45, i64 noundef 6144) #5
  %48 = tail call zeroext i1 @check_zero_init(ptr noundef %47, i64 noundef 6144)
  %49 = and i1 %46, %48
  tail call void @mi_free(ptr noundef %47) #5
  %50 = tail call zeroext i1 @check_result(i1 noundef zeroext %49, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i64 noundef 71)
  br i1 %50, label %.critedge319, label %44

.critedge321:                                     ; preds = %53
  %51 = load ptr, ptr @stderr, align 8, !tbaa !5
  %52 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %51, ptr noundef nonnull @.str, ptr noundef nonnull @.str.10) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %62

53:                                               ; preds = %.critedge319, %53
  %54 = tail call noalias ptr @mi_calloc(i64 noundef 512, i64 noundef 1) #5
  %55 = tail call zeroext i1 @check_zero_init(ptr noundef %54, i64 noundef 512)
  %56 = tail call ptr @mi_recalloc(ptr noundef %54, i64 noundef 1536, i64 noundef 1) #5
  %57 = tail call zeroext i1 @check_zero_init(ptr noundef %56, i64 noundef 1536)
  %58 = and i1 %55, %57
  tail call void @mi_free(ptr noundef %56) #5
  %59 = tail call zeroext i1 @check_result(i1 noundef zeroext %58, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i64 noundef 81)
  br i1 %59, label %.critedge321, label %53

.critedge323:                                     ; preds = %62
  %60 = load ptr, ptr @stderr, align 8, !tbaa !5
  %61 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %60, ptr noundef nonnull @.str, ptr noundef nonnull @.str.11) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %71

62:                                               ; preds = %.critedge321, %62
  %63 = tail call noalias ptr @mi_calloc(i64 noundef 2048, i64 noundef 1) #5
  %64 = tail call zeroext i1 @check_zero_init(ptr noundef %63, i64 noundef 2048)
  %65 = tail call ptr @mi_recalloc(ptr noundef %63, i64 noundef 6144, i64 noundef 1) #5
  %66 = tail call zeroext i1 @check_zero_init(ptr noundef %65, i64 noundef 6144)
  %67 = and i1 %64, %66
  tail call void @mi_free(ptr noundef %65) #5
  %68 = tail call zeroext i1 @check_result(i1 noundef zeroext %67, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.2, i64 noundef 90)
  br i1 %68, label %.critedge323, label %62

.critedge325:                                     ; preds = %71
  %69 = load ptr, ptr @stderr, align 8, !tbaa !5
  %70 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %69, ptr noundef nonnull @.str, ptr noundef nonnull @.str.12) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %77

71:                                               ; preds = %.critedge323, %71
  %72 = tail call noalias ptr @mi_zalloc_aligned(i64 noundef 512, i64 noundef 32) #5
  %73 = tail call zeroext i1 @check_zero_init(ptr noundef %72, i64 noundef 512)
  tail call void @mi_free(ptr noundef %72) #5
  %74 = tail call zeroext i1 @check_result(i1 noundef zeroext %73, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i64 noundef 103)
  br i1 %74, label %.critedge325, label %71

.critedge327:                                     ; preds = %77
  %75 = load ptr, ptr @stderr, align 8, !tbaa !5
  %76 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %75, ptr noundef nonnull @.str, ptr noundef nonnull @.str.13) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %83

77:                                               ; preds = %.critedge325, %77
  %78 = tail call noalias ptr @mi_zalloc_aligned(i64 noundef 2048, i64 noundef 32) #5
  %79 = tail call zeroext i1 @check_zero_init(ptr noundef %78, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %78) #5
  %80 = tail call zeroext i1 @check_result(i1 noundef zeroext %79, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i64 noundef 109)
  br i1 %80, label %.critedge327, label %77

.critedge329:                                     ; preds = %83
  %81 = load ptr, ptr @stderr, align 8, !tbaa !5
  %82 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %81, ptr noundef nonnull @.str, ptr noundef nonnull @.str.14) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %89

83:                                               ; preds = %.critedge327, %83
  %84 = tail call noalias ptr @mi_calloc_aligned(i64 noundef 512, i64 noundef 1, i64 noundef 32) #5
  %85 = tail call zeroext i1 @check_zero_init(ptr noundef %84, i64 noundef 512)
  tail call void @mi_free(ptr noundef %84) #5
  %86 = tail call zeroext i1 @check_result(i1 noundef zeroext %85, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i64 noundef 116)
  br i1 %86, label %.critedge329, label %83

.critedge331:                                     ; preds = %89
  %87 = load ptr, ptr @stderr, align 8, !tbaa !5
  %88 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %87, ptr noundef nonnull @.str, ptr noundef nonnull @.str.15) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %95

89:                                               ; preds = %.critedge329, %89
  %90 = tail call noalias ptr @mi_calloc_aligned(i64 noundef 2048, i64 noundef 1, i64 noundef 32) #5
  %91 = tail call zeroext i1 @check_zero_init(ptr noundef %90, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %90) #5
  %92 = tail call zeroext i1 @check_result(i1 noundef zeroext %91, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i64 noundef 122)
  br i1 %92, label %.critedge331, label %89

.critedge333:                                     ; preds = %95
  %93 = load ptr, ptr @stderr, align 8, !tbaa !5
  %94 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %93, ptr noundef nonnull @.str, ptr noundef nonnull @.str.16) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %104

95:                                               ; preds = %.critedge331, %95
  %96 = tail call noalias ptr @mi_zalloc_aligned(i64 noundef 512, i64 noundef 32) #5
  %97 = tail call zeroext i1 @check_zero_init(ptr noundef %96, i64 noundef 512)
  %98 = tail call ptr @mi_rezalloc_aligned(ptr noundef %96, i64 noundef 1536, i64 noundef 32) #5
  %99 = tail call zeroext i1 @check_zero_init(ptr noundef %98, i64 noundef 1536)
  %100 = and i1 %97, %99
  tail call void @mi_free(ptr noundef %98) #5
  %101 = tail call zeroext i1 @check_result(i1 noundef zeroext %100, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i64 noundef 129)
  br i1 %101, label %.critedge333, label %95

.critedge335:                                     ; preds = %104
  %102 = load ptr, ptr @stderr, align 8, !tbaa !5
  %103 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %102, ptr noundef nonnull @.str, ptr noundef nonnull @.str.17) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %113

104:                                              ; preds = %.critedge333, %104
  %105 = tail call noalias ptr @mi_zalloc_aligned(i64 noundef 2048, i64 noundef 32) #5
  %106 = tail call zeroext i1 @check_zero_init(ptr noundef %105, i64 noundef 2048)
  %107 = tail call ptr @mi_rezalloc_aligned(ptr noundef %105, i64 noundef 6144, i64 noundef 32) #5
  %108 = tail call zeroext i1 @check_zero_init(ptr noundef %107, i64 noundef 6144)
  %109 = and i1 %106, %108
  tail call void @mi_free(ptr noundef %107) #5
  %110 = tail call zeroext i1 @check_result(i1 noundef zeroext %109, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i64 noundef 138)
  br i1 %110, label %.critedge335, label %104

.critedge337:                                     ; preds = %113
  %111 = load ptr, ptr @stderr, align 8, !tbaa !5
  %112 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %111, ptr noundef nonnull @.str, ptr noundef nonnull @.str.18) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %122

113:                                              ; preds = %.critedge335, %113
  %114 = tail call noalias ptr @mi_calloc_aligned(i64 noundef 512, i64 noundef 1, i64 noundef 32) #5
  %115 = tail call zeroext i1 @check_zero_init(ptr noundef %114, i64 noundef 512)
  %116 = tail call ptr @mi_recalloc_aligned(ptr noundef %114, i64 noundef 1536, i64 noundef 1, i64 noundef 32) #5
  %117 = tail call zeroext i1 @check_zero_init(ptr noundef %116, i64 noundef 1536)
  %118 = and i1 %115, %117
  tail call void @mi_free(ptr noundef %116) #5
  %119 = tail call zeroext i1 @check_result(i1 noundef zeroext %118, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i64 noundef 148)
  br i1 %119, label %.critedge337, label %113

.critedge339:                                     ; preds = %122
  %120 = load ptr, ptr @stderr, align 8, !tbaa !5
  %121 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %120, ptr noundef nonnull @.str, ptr noundef nonnull @.str.19) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %131

122:                                              ; preds = %.critedge337, %122
  %123 = tail call noalias ptr @mi_calloc_aligned(i64 noundef 2048, i64 noundef 1, i64 noundef 32) #5
  %124 = tail call zeroext i1 @check_zero_init(ptr noundef %123, i64 noundef 2048)
  %125 = tail call ptr @mi_recalloc_aligned(ptr noundef %123, i64 noundef 6144, i64 noundef 1, i64 noundef 32) #5
  %126 = tail call zeroext i1 @check_zero_init(ptr noundef %125, i64 noundef 6144)
  %127 = and i1 %124, %126
  tail call void @mi_free(ptr noundef %125) #5
  %128 = tail call zeroext i1 @check_result(i1 noundef zeroext %127, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i64 noundef 157)
  br i1 %128, label %.critedge339, label %122

.critedge341:                                     ; preds = %131
  %129 = load ptr, ptr @stderr, align 8, !tbaa !5
  %130 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %129, ptr noundef nonnull @.str, ptr noundef nonnull @.str.20) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %137

131:                                              ; preds = %.critedge339, %131
  %132 = tail call noalias ptr @mi_malloc(i64 noundef 512) #5
  %133 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %132, i64 noundef 512)
  tail call void @mi_free(ptr noundef %132) #5
  %134 = tail call zeroext i1 @check_result(i1 noundef zeroext %133, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i64 noundef 171)
  br i1 %134, label %.critedge341, label %131

.critedge343:                                     ; preds = %137
  %135 = load ptr, ptr @stderr, align 8, !tbaa !5
  %136 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef nonnull @.str, ptr noundef nonnull @.str.21) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %143

137:                                              ; preds = %.critedge341, %137
  %138 = tail call noalias ptr @mi_malloc(i64 noundef 2048) #5
  %139 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %138, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %138) #5
  %140 = tail call zeroext i1 @check_result(i1 noundef zeroext %139, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i64 noundef 177)
  br i1 %140, label %.critedge343, label %137

.critedge345:                                     ; preds = %143
  %141 = load ptr, ptr @stderr, align 8, !tbaa !5
  %142 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %141, ptr noundef nonnull @.str, ptr noundef nonnull @.str.22) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %149

143:                                              ; preds = %.critedge343, %143
  %144 = tail call noalias ptr @mi_malloc_small(i64 noundef 512) #5
  %145 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %144, i64 noundef 512)
  tail call void @mi_free(ptr noundef %144) #5
  %146 = tail call zeroext i1 @check_result(i1 noundef zeroext %145, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i64 noundef 184)
  br i1 %146, label %.critedge345, label %143

.critedge347:                                     ; preds = %149
  %147 = load ptr, ptr @stderr, align 8, !tbaa !5
  %148 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %147, ptr noundef nonnull @.str, ptr noundef nonnull @.str.23) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %158

149:                                              ; preds = %.critedge345, %149
  %150 = tail call noalias ptr @mi_malloc(i64 noundef 512) #5
  %151 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %150, i64 noundef 512)
  %152 = tail call ptr @mi_realloc(ptr noundef %150, i64 noundef 1536) #5
  %153 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %152, i64 noundef 1536)
  %154 = and i1 %151, %153
  tail call void @mi_free(ptr noundef %152) #5
  %155 = tail call zeroext i1 @check_result(i1 noundef zeroext %154, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i64 noundef 191)
  br i1 %155, label %.critedge347, label %149

.critedge349:                                     ; preds = %158
  %156 = load ptr, ptr @stderr, align 8, !tbaa !5
  %157 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %156, ptr noundef nonnull @.str, ptr noundef nonnull @.str.24) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %167

158:                                              ; preds = %.critedge347, %158
  %159 = tail call noalias ptr @mi_malloc(i64 noundef 2048) #5
  %160 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %159, i64 noundef 2048)
  %161 = tail call ptr @mi_realloc(ptr noundef %159, i64 noundef 6144) #5
  %162 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %161, i64 noundef 6144)
  %163 = and i1 %160, %162
  tail call void @mi_free(ptr noundef %161) #5
  %164 = tail call zeroext i1 @check_result(i1 noundef zeroext %163, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i64 noundef 200)
  br i1 %164, label %.critedge349, label %158

.critedge351:                                     ; preds = %167
  %165 = load ptr, ptr @stderr, align 8, !tbaa !5
  %166 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef nonnull @.str, ptr noundef nonnull @.str.25) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %173

167:                                              ; preds = %.critedge349, %167
  %168 = tail call noalias ptr @mi_mallocn(i64 noundef 512, i64 noundef 1) #5
  %169 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %168, i64 noundef 512)
  tail call void @mi_free(ptr noundef %168) #5
  %170 = tail call zeroext i1 @check_result(i1 noundef zeroext %169, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i64 noundef 210)
  br i1 %170, label %.critedge351, label %167

.critedge353:                                     ; preds = %173
  %171 = load ptr, ptr @stderr, align 8, !tbaa !5
  %172 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %171, ptr noundef nonnull @.str, ptr noundef nonnull @.str.26) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %179

173:                                              ; preds = %.critedge351, %173
  %174 = tail call noalias ptr @mi_mallocn(i64 noundef 2048, i64 noundef 1) #5
  %175 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %174, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %174) #5
  %176 = tail call zeroext i1 @check_result(i1 noundef zeroext %175, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i64 noundef 216)
  br i1 %176, label %.critedge353, label %173

.critedge355:                                     ; preds = %179
  %177 = load ptr, ptr @stderr, align 8, !tbaa !5
  %178 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %177, ptr noundef nonnull @.str, ptr noundef nonnull @.str.27) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %188

179:                                              ; preds = %.critedge353, %179
  %180 = tail call noalias ptr @mi_mallocn(i64 noundef 512, i64 noundef 1) #5
  %181 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %180, i64 noundef 512)
  %182 = tail call ptr @mi_reallocn(ptr noundef %180, i64 noundef 1536, i64 noundef 1) #5
  %183 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %182, i64 noundef 1536)
  %184 = and i1 %181, %183
  tail call void @mi_free(ptr noundef %182) #5
  %185 = tail call zeroext i1 @check_result(i1 noundef zeroext %184, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i64 noundef 223)
  br i1 %185, label %.critedge355, label %179

.critedge357:                                     ; preds = %188
  %186 = load ptr, ptr @stderr, align 8, !tbaa !5
  %187 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %186, ptr noundef nonnull @.str, ptr noundef nonnull @.str.28) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %197

188:                                              ; preds = %.critedge355, %188
  %189 = tail call noalias ptr @mi_mallocn(i64 noundef 2048, i64 noundef 1) #5
  %190 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %189, i64 noundef 2048)
  %191 = tail call ptr @mi_reallocn(ptr noundef %189, i64 noundef 6144, i64 noundef 1) #5
  %192 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %191, i64 noundef 6144)
  %193 = and i1 %190, %192
  tail call void @mi_free(ptr noundef %191) #5
  %194 = tail call zeroext i1 @check_result(i1 noundef zeroext %193, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i64 noundef 232)
  br i1 %194, label %.critedge357, label %188

.critedge359:                                     ; preds = %197
  %195 = load ptr, ptr @stderr, align 8, !tbaa !5
  %196 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %195, ptr noundef nonnull @.str, ptr noundef nonnull @.str.29) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %203

197:                                              ; preds = %.critedge357, %197
  %198 = tail call noalias ptr @mi_malloc_aligned(i64 noundef 512, i64 noundef 32) #5
  %199 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %198, i64 noundef 512)
  tail call void @mi_free(ptr noundef %198) #5
  %200 = tail call zeroext i1 @check_result(i1 noundef zeroext %199, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i64 noundef 242)
  br i1 %200, label %.critedge359, label %197

.critedge361:                                     ; preds = %203
  %201 = load ptr, ptr @stderr, align 8, !tbaa !5
  %202 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %201, ptr noundef nonnull @.str, ptr noundef nonnull @.str.30) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %209

203:                                              ; preds = %.critedge359, %203
  %204 = tail call noalias ptr @mi_malloc_aligned(i64 noundef 2048, i64 noundef 32) #5
  %205 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %204, i64 noundef 2048)
  tail call void @mi_free(ptr noundef %204) #5
  %206 = tail call zeroext i1 @check_result(i1 noundef zeroext %205, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i64 noundef 248)
  br i1 %206, label %.critedge361, label %203

.critedge363:                                     ; preds = %209
  %207 = load ptr, ptr @stderr, align 8, !tbaa !5
  %208 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %207, ptr noundef nonnull @.str, ptr noundef nonnull @.str.31) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %218

209:                                              ; preds = %.critedge361, %209
  %210 = tail call noalias ptr @mi_malloc_aligned(i64 noundef 512, i64 noundef 32) #5
  %211 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %210, i64 noundef 512)
  %212 = tail call ptr @mi_realloc_aligned(ptr noundef %210, i64 noundef 1536, i64 noundef 32) #5
  %213 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %212, i64 noundef 1536)
  %214 = and i1 %211, %213
  tail call void @mi_free(ptr noundef %212) #5
  %215 = tail call zeroext i1 @check_result(i1 noundef zeroext %214, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i64 noundef 255)
  br i1 %215, label %.critedge363, label %209

.critedge365:                                     ; preds = %218
  %216 = load ptr, ptr @stderr, align 8, !tbaa !5
  %217 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %216, ptr noundef nonnull @.str, ptr noundef nonnull @.str.32) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %227

218:                                              ; preds = %.critedge363, %218
  %219 = tail call noalias ptr @mi_malloc_aligned(i64 noundef 2048, i64 noundef 32) #5
  %220 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %219, i64 noundef 2048)
  %221 = tail call ptr @mi_realloc_aligned(ptr noundef %219, i64 noundef 6144, i64 noundef 32) #5
  %222 = tail call zeroext i1 @check_debug_fill_uninit(ptr noundef %221, i64 noundef 6144)
  %223 = and i1 %220, %222
  tail call void @mi_free(ptr noundef %221) #5
  %224 = tail call zeroext i1 @check_result(i1 noundef zeroext %223, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.2, i64 noundef 264)
  br i1 %224, label %.critedge365, label %218

.critedge367:                                     ; preds = %227
  %225 = load ptr, ptr @stderr, align 8, !tbaa !5
  %226 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %225, ptr noundef nonnull @.str, ptr noundef nonnull @.str.33) #6
  store i32 0, ptr %2, align 4, !tbaa !9
  br label %234

227:                                              ; preds = %.critedge365, %227
  %228 = tail call noalias ptr @mi_malloc(i64 noundef 512) #5
  tail call void @mi_free(ptr noundef %228) #5
  %229 = getelementptr inbounds i8, ptr %228, i64 8
  %230 = tail call zeroext i1 @check_debug_fill_freed(ptr noundef nonnull %229, i64 noundef 504)
  %231 = tail call zeroext i1 @check_result(i1 noundef zeroext %230, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i64 noundef 275)
  br i1 %231, label %.critedge367, label %227

232:                                              ; preds = %234
  %233 = tail call i32 @print_test_summary()
  ret i32 %233

234:                                              ; preds = %.critedge367, %234
  %235 = tail call noalias ptr @mi_malloc(i64 noundef 2048) #5
  tail call void @mi_free(ptr noundef %235) #5
  %236 = getelementptr inbounds i8, ptr %235, i64 8
  %237 = tail call zeroext i1 @check_debug_fill_freed(ptr noundef nonnull %236, i64 noundef 2040)
  %238 = tail call zeroext i1 @check_result(i1 noundef zeroext %237, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.2, i64 noundef 282)
  br i1 %238, label %232, label %234
}

declare void @mi_option_disable(i32 noundef) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #3

declare noalias ptr @mi_zalloc(i64 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_zero_init(ptr noundef, i64 noundef) local_unnamed_addr #0

declare void @mi_free(ptr noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare hidden zeroext i1 @check_result(i1 noundef zeroext, ptr noundef, ptr noundef, i64 noundef) local_unnamed_addr #0

declare noalias ptr @mi_zalloc_small(i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_calloc(i64 noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_rezalloc(ptr noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_recalloc(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_zalloc_aligned(i64 noundef, i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_calloc_aligned(i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_rezalloc_aligned(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_recalloc_aligned(ptr noundef, i64 noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_malloc(i64 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_debug_fill_uninit(ptr noundef, i64 noundef) local_unnamed_addr #0

declare noalias ptr @mi_malloc_small(i64 noundef) local_unnamed_addr #1

declare ptr @mi_realloc(ptr noundef, i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_mallocn(i64 noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_reallocn(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

declare noalias ptr @mi_malloc_aligned(i64 noundef, i64 noundef) local_unnamed_addr #1

declare ptr @mi_realloc_aligned(ptr noundef, i64 noundef, i64 noundef) local_unnamed_addr #1

; Function Attrs: nounwind uwtable
declare dso_local zeroext i1 @check_debug_fill_freed(ptr noundef, i64 noundef) local_unnamed_addr #0

; Function Attrs: inlinehint nounwind uwtable
declare hidden i32 @print_test_summary() local_unnamed_addr #4

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

!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}


; Effective O3 passes: EarlyCSEPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,SROAPass,SimplifyCFGPass,TailCallElimPass