; LLVM IR from ros2/rcutils :: test (test_atomics)

; 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 [41 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [50 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i8, align 1
  %7 = alloca i8, align 1
  %8 = alloca i8, align 1
  %9 = alloca i32, align 4
  %10 = alloca i8, align 1
  %11 = alloca i8, align 1
  %12 = alloca i8, align 1
  %13 = alloca i8, align 1
  %14 = alloca i8, align 1
  %15 = alloca i8, align 1
  %16 = alloca i8, align 1
  %17 = alloca i8, align 1
  %18 = alloca i8, align 1
  %19 = alloca i8, align 1
  %20 = alloca i8, align 1
  %21 = alloca i8, align 1
  %22 = alloca i8, align 1
  %23 = alloca i8, align 1
  %24 = alloca i8, align 1
  %25 = alloca i8, align 1
  %26 = alloca i8, align 1
  %27 = alloca i8, align 1
  %28 = alloca i8, align 1
  %29 = alloca i8, align 1
  %30 = alloca i8, align 1
  %31 = alloca i8, align 1
  %32 = alloca i8, align 1
  %33 = alloca i8, align 1
  %34 = alloca i8, align 1
  %35 = alloca i8, align 1
  %36 = alloca i8, align 1
  %37 = alloca i8, align 1
  %38 = alloca i8, align 1
  %39 = alloca i16, align 2
  %40 = alloca i16, align 2
  %41 = alloca i16, align 2
  %42 = alloca i16, align 2
  %43 = alloca i16, align 2
  %44 = alloca i16, align 2
  %45 = alloca i16, align 2
  %46 = alloca i16, align 2
  %47 = alloca i16, align 2
  %48 = alloca i16, align 2
  %49 = alloca i16, align 2
  %50 = alloca i16, align 2
  %51 = alloca i16, align 2
  %52 = alloca i16, align 2
  %53 = alloca i16, align 2
  %54 = alloca i16, align 2
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i64, align 8
  %72 = alloca i64, align 8
  %73 = alloca i64, align 8
  %74 = alloca i64, align 8
  %75 = alloca i64, align 8
  %76 = alloca i64, align 8
  %77 = alloca i64, align 8
  %78 = alloca i64, align 8
  %79 = alloca i64, align 8
  %80 = alloca i64, align 8
  %81 = alloca i64, align 8
  %82 = alloca i64, align 8
  %83 = alloca i64, align 8
  %84 = alloca i64, align 8
  %85 = alloca i64, align 8
  %86 = alloca i64, align 8
  %87 = alloca i64, align 8
  %88 = alloca i64, align 8
  %89 = alloca i64, align 8
  %90 = alloca i64, align 8
  %91 = alloca i64, align 8
  %92 = alloca i64, align 8
  %93 = alloca i64, align 8
  %94 = alloca i64, align 8
  %95 = alloca i64, align 8
  %96 = alloca i64, align 8
  %97 = alloca i64, align 8
  %98 = alloca i64, align 8
  %99 = alloca i64, align 8
  %100 = alloca i64, align 8
  %101 = alloca i64, align 8
  %102 = alloca i64, align 8
  %103 = alloca i16, align 2
  %104 = alloca i16, align 2
  %105 = alloca i16, align 2
  %106 = alloca i16, align 2
  %107 = alloca i16, align 2
  %108 = alloca i16, align 2
  %109 = alloca i16, align 2
  %110 = alloca i16, align 2
  %111 = alloca i16, align 2
  %112 = alloca i16, align 2
  %113 = alloca i16, align 2
  %114 = alloca i16, align 2
  %115 = alloca i16, align 2
  %116 = alloca i16, align 2
  %117 = alloca i16, align 2
  %118 = alloca i16, align 2
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i64, align 8
  %136 = alloca i64, align 8
  %137 = alloca i64, align 8
  %138 = alloca i64, align 8
  %139 = alloca i64, align 8
  %140 = alloca i64, align 8
  %141 = alloca i64, align 8
  %142 = alloca i64, align 8
  %143 = alloca i64, align 8
  %144 = alloca i64, align 8
  %145 = alloca i64, align 8
  %146 = alloca i64, align 8
  %147 = alloca i64, align 8
  %148 = alloca i64, align 8
  %149 = alloca i64, align 8
  %150 = alloca i64, align 8
  %151 = alloca i64, align 8
  %152 = alloca i64, align 8
  %153 = alloca i64, align 8
  %154 = alloca i64, align 8
  %155 = alloca i64, align 8
  %156 = alloca i64, align 8
  %157 = alloca i64, align 8
  %158 = alloca i64, align 8
  %159 = alloca i64, align 8
  %160 = alloca i64, align 8
  %161 = alloca i64, align 8
  %162 = alloca i64, align 8
  %163 = alloca i64, align 8
  %164 = alloca i64, align 8
  %165 = alloca i64, align 8
  %166 = alloca i64, align 8
  %167 = alloca i64, align 8
  %168 = alloca i64, align 8
  %169 = alloca i64, align 8
  %170 = alloca i64, align 8
  %171 = alloca i64, align 8
  %172 = alloca i64, align 8
  %173 = alloca i64, align 8
  %174 = alloca i64, align 8
  %175 = alloca i64, align 8
  %176 = alloca i64, align 8
  %177 = alloca i64, align 8
  %178 = alloca i64, align 8
  %179 = alloca i64, align 8
  %180 = alloca i64, align 8
  %181 = alloca i64, align 8
  %182 = alloca i64, align 8
  %183 = alloca i64, align 8
  %184 = alloca i64, align 8
  %185 = alloca i64, align 8
  %186 = alloca i64, align 8
  %187 = alloca i64, align 8
  %188 = alloca i64, align 8
  %189 = alloca i64, align 8
  %190 = alloca i64, align 8
  %191 = alloca i64, align 8
  %192 = alloca i64, align 8
  %193 = alloca i64, align 8
  %194 = alloca i64, align 8
  %195 = alloca i64, align 8
  %196 = alloca i64, align 8
  %197 = alloca i64, align 8
  %198 = alloca i64, align 8
  %199 = alloca i64, align 8
  %200 = alloca i64, align 8
  %201 = alloca i64, align 8
  %202 = alloca i64, align 8
  %203 = alloca i64, align 8
  %204 = alloca i64, align 8
  %205 = alloca i64, align 8
  %206 = alloca i64, align 8
  %207 = alloca i64, align 8
  %208 = alloca i64, align 8
  %209 = alloca i64, align 8
  %210 = alloca i64, align 8
  %211 = alloca i64, align 8
  %212 = alloca i64, align 8
  %213 = alloca i64, align 8
  %214 = alloca i64, align 8
  %215 = alloca i64, align 8
  %216 = alloca i64, align 8
  %217 = alloca i64, align 8
  %218 = alloca i64, align 8
  %219 = alloca i64, align 8
  %220 = alloca i64, align 8
  %221 = alloca i64, align 8
  %222 = alloca i64, align 8
  %223 = alloca i64, align 8
  %224 = alloca i64, align 8
  %225 = alloca i64, align 8
  %226 = alloca i64, align 8
  %227 = alloca i64, align 8
  %228 = alloca i64, align 8
  %229 = alloca i64, align 8
  %230 = alloca i64, align 8
  %231 = alloca i64, align 8
  %232 = alloca i64, align 8
  %233 = alloca i64, align 8
  %234 = alloca i64, align 8
  %235 = alloca i64, align 8
  %236 = alloca i64, align 8
  %237 = alloca i64, align 8
  %238 = alloca i64, align 8
  %239 = alloca i64, align 8
  %240 = alloca i64, align 8
  %241 = alloca i64, align 8
  %242 = alloca i64, align 8
  %243 = alloca i64, align 8
  %244 = alloca i64, align 8
  %245 = alloca i64, align 8
  %246 = alloca i64, align 8
  %247 = alloca ptr, align 8
  %248 = alloca ptr, align 8
  %249 = alloca ptr, align 8
  %250 = alloca ptr, align 8
  %251 = alloca ptr, align 8
  %252 = alloca ptr, align 8
  %253 = alloca ptr, align 8
  %254 = alloca ptr, align 8
  %255 = alloca ptr, align 8
  %256 = alloca ptr, align 8
  %257 = alloca ptr, align 8
  %258 = alloca ptr, align 8
  %259 = alloca ptr, align 8
  %260 = alloca ptr, align 8
  %261 = alloca ptr, align 8
  %262 = alloca ptr, align 8
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  %263 = load i32, ptr %4, align 4, !tbaa !5
  %264 = load ptr, ptr %5, align 8, !tbaa !9
  br label %265

265:                                              ; preds = %2
  call void @llvm.lifetime.start.p0(i64 1, ptr %6) #3
  store i8 0, ptr %6, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %7) #3
  %266 = load atomic i8, ptr %6 seq_cst, align 1
  store i8 %266, ptr %8, align 1
  %267 = load i8, ptr %8, align 1, !tbaa !12, !range !14, !noundef !15
  %268 = trunc i8 %267 to i1
  %269 = zext i1 %268 to i8
  store i8 %269, ptr %7, align 1, !tbaa !12
  %270 = load i8, ptr %7, align 1, !tbaa !12, !range !14, !noundef !15
  %271 = trunc i8 %270 to i1
  %272 = zext i1 %271 to i32
  %273 = icmp ne i32 0, %272
  br i1 %273, label %274, label %277

274:                                              ; preds = %265
  %275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %275, ptr noundef @.str) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %305

277:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #3
  store i8 1, ptr %11, align 1, !tbaa !12
  %278 = load i8, ptr %11, align 1
  store atomic i8 %278, ptr %6 seq_cst, align 1
  store i8 1, ptr %12, align 1, !tbaa !12
  %279 = load i8, ptr %12, align 1
  %280 = atomicrmw xchg ptr %6, i8 %279 seq_cst, align 1
  store i8 %280, ptr %13, align 1
  %281 = load i8, ptr %13, align 1, !tbaa !12, !range !14, !noundef !15
  %282 = trunc i8 %281 to i1
  %283 = zext i1 %282 to i8
  store i8 %283, ptr %10, align 1, !tbaa !12
  %284 = load atomic i8, ptr %6 seq_cst, align 1
  store i8 %284, ptr %14, align 1
  %285 = load i8, ptr %14, align 1, !tbaa !12, !range !14, !noundef !15
  %286 = trunc i8 %285 to i1
  %287 = zext i1 %286 to i8
  store i8 %287, ptr %7, align 1, !tbaa !12
  %288 = load i8, ptr %10, align 1, !tbaa !12, !range !14, !noundef !15
  %289 = trunc i8 %288 to i1
  %290 = zext i1 %289 to i32
  %291 = icmp ne i32 1, %290
  br i1 %291, label %292, label %295

292:                                              ; preds = %277
  %293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %293, ptr noundef @.str.1) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %304

295:                                              ; preds = %277
  %296 = load i8, ptr %7, align 1, !tbaa !12, !range !14, !noundef !15
  %297 = trunc i8 %296 to i1
  %298 = zext i1 %297 to i32
  %299 = icmp ne i32 1, %298
  br i1 %299, label %300, label %303

300:                                              ; preds = %295
  %301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %301, ptr noundef @.str.1) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %304

303:                                              ; preds = %295
  store i32 0, ptr %9, align 4
  br label %304

304:                                              ; preds = %303, %300, %292
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #3
  br label %305

305:                                              ; preds = %304, %274
  call void @llvm.lifetime.end.p0(i64 1, ptr %7) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %6) #3
  %306 = load i32, ptr %9, align 4
  switch i32 %306, label %1324 [
    i32 0, label %307
    i32 1, label %1322
  ]

307:                                              ; preds = %305
  br label %308

308:                                              ; preds = %307
  br label %309

309:                                              ; preds = %308
  call void @llvm.lifetime.start.p0(i64 1, ptr %15) #3
  store i8 0, ptr %15, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %16) #3
  %310 = load atomic i8, ptr %15 seq_cst, align 1
  store i8 %310, ptr %17, align 1
  %311 = load i8, ptr %17, align 1, !tbaa !11
  store i8 %311, ptr %16, align 1, !tbaa !11
  %312 = load i8, ptr %16, align 1, !tbaa !11
  %313 = sext i8 %312 to i32
  %314 = icmp ne i32 0, %313
  br i1 %314, label %315, label %318

315:                                              ; preds = %309
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %316, ptr noundef @.str.2) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %340

318:                                              ; preds = %309
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #3
  store i8 28, ptr %19, align 1, !tbaa !11
  %319 = load i8, ptr %19, align 1
  store atomic i8 %319, ptr %15 seq_cst, align 1
  store i8 42, ptr %20, align 1, !tbaa !11
  %320 = load i8, ptr %20, align 1
  %321 = atomicrmw xchg ptr %15, i8 %320 seq_cst, align 1
  store i8 %321, ptr %21, align 1
  %322 = load i8, ptr %21, align 1, !tbaa !11
  store i8 %322, ptr %18, align 1, !tbaa !11
  %323 = load atomic i8, ptr %15 seq_cst, align 1
  store i8 %323, ptr %22, align 1
  %324 = load i8, ptr %22, align 1, !tbaa !11
  store i8 %324, ptr %16, align 1, !tbaa !11
  %325 = load i8, ptr %18, align 1, !tbaa !11
  %326 = sext i8 %325 to i32
  %327 = icmp ne i32 28, %326
  br i1 %327, label %328, label %331

328:                                              ; preds = %318
  %329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %329, ptr noundef @.str.3) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %339

331:                                              ; preds = %318
  %332 = load i8, ptr %16, align 1, !tbaa !11
  %333 = sext i8 %332 to i32
  %334 = icmp ne i32 42, %333
  br i1 %334, label %335, label %338

335:                                              ; preds = %331
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %336, ptr noundef @.str.3) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %339

338:                                              ; preds = %331
  store i32 0, ptr %9, align 4
  br label %339

339:                                              ; preds = %338, %335, %328
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #3
  br label %340

340:                                              ; preds = %339, %315
  call void @llvm.lifetime.end.p0(i64 1, ptr %16) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %15) #3
  %341 = load i32, ptr %9, align 4
  switch i32 %341, label %1324 [
    i32 0, label %342
    i32 1, label %1322
  ]

342:                                              ; preds = %340
  br label %343

343:                                              ; preds = %342
  br label %344

344:                                              ; preds = %343
  call void @llvm.lifetime.start.p0(i64 1, ptr %23) #3
  store i8 0, ptr %23, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %24) #3
  %345 = load atomic i8, ptr %23 seq_cst, align 1
  store i8 %345, ptr %25, align 1
  %346 = load i8, ptr %25, align 1, !tbaa !11
  store i8 %346, ptr %24, align 1, !tbaa !11
  %347 = load i8, ptr %24, align 1, !tbaa !11
  %348 = sext i8 %347 to i32
  %349 = icmp ne i32 0, %348
  br i1 %349, label %350, label %353

350:                                              ; preds = %344
  %351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %351, ptr noundef @.str.4) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %375

353:                                              ; preds = %344
  call void @llvm.lifetime.start.p0(i64 1, ptr %26) #3
  store i8 28, ptr %27, align 1, !tbaa !11
  %354 = load i8, ptr %27, align 1
  store atomic i8 %354, ptr %23 seq_cst, align 1
  store i8 42, ptr %28, align 1, !tbaa !11
  %355 = load i8, ptr %28, align 1
  %356 = atomicrmw xchg ptr %23, i8 %355 seq_cst, align 1
  store i8 %356, ptr %29, align 1
  %357 = load i8, ptr %29, align 1, !tbaa !11
  store i8 %357, ptr %26, align 1, !tbaa !11
  %358 = load atomic i8, ptr %23 seq_cst, align 1
  store i8 %358, ptr %30, align 1
  %359 = load i8, ptr %30, align 1, !tbaa !11
  store i8 %359, ptr %24, align 1, !tbaa !11
  %360 = load i8, ptr %26, align 1, !tbaa !11
  %361 = sext i8 %360 to i32
  %362 = icmp ne i32 28, %361
  br i1 %362, label %363, label %366

363:                                              ; preds = %353
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %364, ptr noundef @.str.5) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %374

366:                                              ; preds = %353
  %367 = load i8, ptr %24, align 1, !tbaa !11
  %368 = sext i8 %367 to i32
  %369 = icmp ne i32 42, %368
  br i1 %369, label %370, label %373

370:                                              ; preds = %366
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef @.str.5) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %374

373:                                              ; preds = %366
  store i32 0, ptr %9, align 4
  br label %374

374:                                              ; preds = %373, %370, %363
  call void @llvm.lifetime.end.p0(i64 1, ptr %26) #3
  br label %375

375:                                              ; preds = %374, %350
  call void @llvm.lifetime.end.p0(i64 1, ptr %24) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %23) #3
  %376 = load i32, ptr %9, align 4
  switch i32 %376, label %1324 [
    i32 0, label %377
    i32 1, label %1322
  ]

377:                                              ; preds = %375
  br label %378

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378
  call void @llvm.lifetime.start.p0(i64 1, ptr %31) #3
  store i8 0, ptr %31, align 1, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 1, ptr %32) #3
  %380 = load atomic i8, ptr %31 seq_cst, align 1
  store i8 %380, ptr %33, align 1
  %381 = load i8, ptr %33, align 1, !tbaa !11
  store i8 %381, ptr %32, align 1, !tbaa !11
  %382 = load i8, ptr %32, align 1, !tbaa !11
  %383 = zext i8 %382 to i32
  %384 = icmp ne i32 0, %383
  br i1 %384, label %385, label %388

385:                                              ; preds = %379
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %386, ptr noundef @.str.6) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %410

388:                                              ; preds = %379
  call void @llvm.lifetime.start.p0(i64 1, ptr %34) #3
  store i8 28, ptr %35, align 1, !tbaa !11
  %389 = load i8, ptr %35, align 1
  store atomic i8 %389, ptr %31 seq_cst, align 1
  store i8 42, ptr %36, align 1, !tbaa !11
  %390 = load i8, ptr %36, align 1
  %391 = atomicrmw xchg ptr %31, i8 %390 seq_cst, align 1
  store i8 %391, ptr %37, align 1
  %392 = load i8, ptr %37, align 1, !tbaa !11
  store i8 %392, ptr %34, align 1, !tbaa !11
  %393 = load atomic i8, ptr %31 seq_cst, align 1
  store i8 %393, ptr %38, align 1
  %394 = load i8, ptr %38, align 1, !tbaa !11
  store i8 %394, ptr %32, align 1, !tbaa !11
  %395 = load i8, ptr %34, align 1, !tbaa !11
  %396 = zext i8 %395 to i32
  %397 = icmp ne i32 28, %396
  br i1 %397, label %398, label %401

398:                                              ; preds = %388
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %399, ptr noundef @.str.7) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %409

401:                                              ; preds = %388
  %402 = load i8, ptr %32, align 1, !tbaa !11
  %403 = zext i8 %402 to i32
  %404 = icmp ne i32 42, %403
  br i1 %404, label %405, label %408

405:                                              ; preds = %401
  %406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %406, ptr noundef @.str.7) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %409

408:                                              ; preds = %401
  store i32 0, ptr %9, align 4
  br label %409

409:                                              ; preds = %408, %405, %398
  call void @llvm.lifetime.end.p0(i64 1, ptr %34) #3
  br label %410

410:                                              ; preds = %409, %385
  call void @llvm.lifetime.end.p0(i64 1, ptr %32) #3
  call void @llvm.lifetime.end.p0(i64 1, ptr %31) #3
  %411 = load i32, ptr %9, align 4
  switch i32 %411, label %1324 [
    i32 0, label %412
    i32 1, label %1322
  ]

412:                                              ; preds = %410
  br label %413

413:                                              ; preds = %412
  br label %414

414:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 2, ptr %39) #3
  store i16 0, ptr %39, align 2, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 2, ptr %40) #3
  %415 = load atomic i16, ptr %39 seq_cst, align 2
  store i16 %415, ptr %41, align 2
  %416 = load i16, ptr %41, align 2, !tbaa !16
  store i16 %416, ptr %40, align 2, !tbaa !16
  %417 = load i16, ptr %40, align 2, !tbaa !16
  %418 = sext i16 %417 to i32
  %419 = icmp ne i32 0, %418
  br i1 %419, label %420, label %423

420:                                              ; preds = %414
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %421, ptr noundef @.str.8) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %445

423:                                              ; preds = %414
  call void @llvm.lifetime.start.p0(i64 2, ptr %42) #3
  store i16 28, ptr %43, align 2, !tbaa !16
  %424 = load i16, ptr %43, align 2
  store atomic i16 %424, ptr %39 seq_cst, align 2
  store i16 42, ptr %44, align 2, !tbaa !16
  %425 = load i16, ptr %44, align 2
  %426 = atomicrmw xchg ptr %39, i16 %425 seq_cst, align 2
  store i16 %426, ptr %45, align 2
  %427 = load i16, ptr %45, align 2, !tbaa !16
  store i16 %427, ptr %42, align 2, !tbaa !16
  %428 = load atomic i16, ptr %39 seq_cst, align 2
  store i16 %428, ptr %46, align 2
  %429 = load i16, ptr %46, align 2, !tbaa !16
  store i16 %429, ptr %40, align 2, !tbaa !16
  %430 = load i16, ptr %42, align 2, !tbaa !16
  %431 = sext i16 %430 to i32
  %432 = icmp ne i32 28, %431
  br i1 %432, label %433, label %436

433:                                              ; preds = %423
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef @.str.9) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %444

436:                                              ; preds = %423
  %437 = load i16, ptr %40, align 2, !tbaa !16
  %438 = sext i16 %437 to i32
  %439 = icmp ne i32 42, %438
  br i1 %439, label %440, label %443

440:                                              ; preds = %436
  %441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %441, ptr noundef @.str.9) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %444

443:                                              ; preds = %436
  store i32 0, ptr %9, align 4
  br label %444

444:                                              ; preds = %443, %440, %433
  call void @llvm.lifetime.end.p0(i64 2, ptr %42) #3
  br label %445

445:                                              ; preds = %444, %420
  call void @llvm.lifetime.end.p0(i64 2, ptr %40) #3
  call void @llvm.lifetime.end.p0(i64 2, ptr %39) #3
  %446 = load i32, ptr %9, align 4
  switch i32 %446, label %1324 [
    i32 0, label %447
    i32 1, label %1322
  ]

447:                                              ; preds = %445
  br label %448

448:                                              ; preds = %447
  br label %449

449:                                              ; preds = %448
  call void @llvm.lifetime.start.p0(i64 2, ptr %47) #3
  store i16 0, ptr %47, align 2, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 2, ptr %48) #3
  %450 = load atomic i16, ptr %47 seq_cst, align 2
  store i16 %450, ptr %49, align 2
  %451 = load i16, ptr %49, align 2, !tbaa !16
  store i16 %451, ptr %48, align 2, !tbaa !16
  %452 = load i16, ptr %48, align 2, !tbaa !16
  %453 = zext i16 %452 to i32
  %454 = icmp ne i32 0, %453
  br i1 %454, label %455, label %458

455:                                              ; preds = %449
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %456, ptr noundef @.str.10) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %480

458:                                              ; preds = %449
  call void @llvm.lifetime.start.p0(i64 2, ptr %50) #3
  store i16 28, ptr %51, align 2, !tbaa !16
  %459 = load i16, ptr %51, align 2
  store atomic i16 %459, ptr %47 seq_cst, align 2
  store i16 42, ptr %52, align 2, !tbaa !16
  %460 = load i16, ptr %52, align 2
  %461 = atomicrmw xchg ptr %47, i16 %460 seq_cst, align 2
  store i16 %461, ptr %53, align 2
  %462 = load i16, ptr %53, align 2, !tbaa !16
  store i16 %462, ptr %50, align 2, !tbaa !16
  %463 = load atomic i16, ptr %47 seq_cst, align 2
  store i16 %463, ptr %54, align 2
  %464 = load i16, ptr %54, align 2, !tbaa !16
  store i16 %464, ptr %48, align 2, !tbaa !16
  %465 = load i16, ptr %50, align 2, !tbaa !16
  %466 = zext i16 %465 to i32
  %467 = icmp ne i32 28, %466
  br i1 %467, label %468, label %471

468:                                              ; preds = %458
  %469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %469, ptr noundef @.str.11) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %479

471:                                              ; preds = %458
  %472 = load i16, ptr %48, align 2, !tbaa !16
  %473 = zext i16 %472 to i32
  %474 = icmp ne i32 42, %473
  br i1 %474, label %475, label %478

475:                                              ; preds = %471
  %476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %476, ptr noundef @.str.11) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %479

478:                                              ; preds = %471
  store i32 0, ptr %9, align 4
  br label %479

479:                                              ; preds = %478, %475, %468
  call void @llvm.lifetime.end.p0(i64 2, ptr %50) #3
  br label %480

480:                                              ; preds = %479, %455
  call void @llvm.lifetime.end.p0(i64 2, ptr %48) #3
  call void @llvm.lifetime.end.p0(i64 2, ptr %47) #3
  %481 = load i32, ptr %9, align 4
  switch i32 %481, label %1324 [
    i32 0, label %482
    i32 1, label %1322
  ]

482:                                              ; preds = %480
  br label %483

483:                                              ; preds = %482
  br label %484

484:                                              ; preds = %483
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #3
  store i32 0, ptr %55, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #3
  %485 = load atomic i32, ptr %55 seq_cst, align 4
  store i32 %485, ptr %57, align 4
  %486 = load i32, ptr %57, align 4, !tbaa !5
  store i32 %486, ptr %56, align 4, !tbaa !5
  %487 = load i32, ptr %56, align 4, !tbaa !5
  %488 = icmp ne i32 0, %487
  br i1 %488, label %489, label %492

489:                                              ; preds = %484
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %490, ptr noundef @.str.12) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %512

492:                                              ; preds = %484
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #3
  store i32 28, ptr %59, align 4, !tbaa !5
  %493 = load i32, ptr %59, align 4
  store atomic i32 %493, ptr %55 seq_cst, align 4
  store i32 42, ptr %60, align 4, !tbaa !5
  %494 = load i32, ptr %60, align 4
  %495 = atomicrmw xchg ptr %55, i32 %494 seq_cst, align 4
  store i32 %495, ptr %61, align 4
  %496 = load i32, ptr %61, align 4, !tbaa !5
  store i32 %496, ptr %58, align 4, !tbaa !5
  %497 = load atomic i32, ptr %55 seq_cst, align 4
  store i32 %497, ptr %62, align 4
  %498 = load i32, ptr %62, align 4, !tbaa !5
  store i32 %498, ptr %56, align 4, !tbaa !5
  %499 = load i32, ptr %58, align 4, !tbaa !5
  %500 = icmp ne i32 28, %499
  br i1 %500, label %501, label %504

501:                                              ; preds = %492
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef @.str.13) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %511

504:                                              ; preds = %492
  %505 = load i32, ptr %56, align 4, !tbaa !5
  %506 = icmp ne i32 42, %505
  br i1 %506, label %507, label %510

507:                                              ; preds = %504
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %508, ptr noundef @.str.13) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %511

510:                                              ; preds = %504
  store i32 0, ptr %9, align 4
  br label %511

511:                                              ; preds = %510, %507, %501
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #3
  br label %512

512:                                              ; preds = %511, %489
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #3
  %513 = load i32, ptr %9, align 4
  switch i32 %513, label %1324 [
    i32 0, label %514
    i32 1, label %1322
  ]

514:                                              ; preds = %512
  br label %515

515:                                              ; preds = %514
  br label %516

516:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #3
  store i32 0, ptr %63, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #3
  %517 = load atomic i32, ptr %63 seq_cst, align 4
  store i32 %517, ptr %65, align 4
  %518 = load i32, ptr %65, align 4, !tbaa !5
  store i32 %518, ptr %64, align 4, !tbaa !5
  %519 = load i32, ptr %64, align 4, !tbaa !5
  %520 = icmp ne i32 0, %519
  br i1 %520, label %521, label %524

521:                                              ; preds = %516
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %522, ptr noundef @.str.14) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %544

524:                                              ; preds = %516
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #3
  store i32 28, ptr %67, align 4, !tbaa !5
  %525 = load i32, ptr %67, align 4
  store atomic i32 %525, ptr %63 seq_cst, align 4
  store i32 42, ptr %68, align 4, !tbaa !5
  %526 = load i32, ptr %68, align 4
  %527 = atomicrmw xchg ptr %63, i32 %526 seq_cst, align 4
  store i32 %527, ptr %69, align 4
  %528 = load i32, ptr %69, align 4, !tbaa !5
  store i32 %528, ptr %66, align 4, !tbaa !5
  %529 = load atomic i32, ptr %63 seq_cst, align 4
  store i32 %529, ptr %70, align 4
  %530 = load i32, ptr %70, align 4, !tbaa !5
  store i32 %530, ptr %64, align 4, !tbaa !5
  %531 = load i32, ptr %66, align 4, !tbaa !5
  %532 = icmp ne i32 28, %531
  br i1 %532, label %533, label %536

533:                                              ; preds = %524
  %534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %535 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %534, ptr noundef @.str.15) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %543

536:                                              ; preds = %524
  %537 = load i32, ptr %64, align 4, !tbaa !5
  %538 = icmp ne i32 42, %537
  br i1 %538, label %539, label %542

539:                                              ; preds = %536
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %540, ptr noundef @.str.15) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %543

542:                                              ; preds = %536
  store i32 0, ptr %9, align 4
  br label %543

543:                                              ; preds = %542, %539, %533
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #3
  br label %544

544:                                              ; preds = %543, %521
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #3
  %545 = load i32, ptr %9, align 4
  switch i32 %545, label %1324 [
    i32 0, label %546
    i32 1, label %1322
  ]

546:                                              ; preds = %544
  br label %547

547:                                              ; preds = %546
  br label %548

548:                                              ; preds = %547
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #3
  store i64 0, ptr %71, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %72) #3
  %549 = load atomic i64, ptr %71 seq_cst, align 8
  store i64 %549, ptr %73, align 8
  %550 = load i64, ptr %73, align 8, !tbaa !18
  store i64 %550, ptr %72, align 8, !tbaa !18
  %551 = load i64, ptr %72, align 8, !tbaa !18
  %552 = icmp ne i64 0, %551
  br i1 %552, label %553, label %556

553:                                              ; preds = %548
  %554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %554, ptr noundef @.str.16) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %576

556:                                              ; preds = %548
  call void @llvm.lifetime.start.p0(i64 8, ptr %74) #3
  store i64 28, ptr %75, align 8, !tbaa !18
  %557 = load i64, ptr %75, align 8
  store atomic i64 %557, ptr %71 seq_cst, align 8
  store i64 42, ptr %76, align 8, !tbaa !18
  %558 = load i64, ptr %76, align 8
  %559 = atomicrmw xchg ptr %71, i64 %558 seq_cst, align 8
  store i64 %559, ptr %77, align 8
  %560 = load i64, ptr %77, align 8, !tbaa !18
  store i64 %560, ptr %74, align 8, !tbaa !18
  %561 = load atomic i64, ptr %71 seq_cst, align 8
  store i64 %561, ptr %78, align 8
  %562 = load i64, ptr %78, align 8, !tbaa !18
  store i64 %562, ptr %72, align 8, !tbaa !18
  %563 = load i64, ptr %74, align 8, !tbaa !18
  %564 = icmp ne i64 28, %563
  br i1 %564, label %565, label %568

565:                                              ; preds = %556
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %566, ptr noundef @.str.17) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %575

568:                                              ; preds = %556
  %569 = load i64, ptr %72, align 8, !tbaa !18
  %570 = icmp ne i64 42, %569
  br i1 %570, label %571, label %574

571:                                              ; preds = %568
  %572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %572, ptr noundef @.str.17) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %575

574:                                              ; preds = %568
  store i32 0, ptr %9, align 4
  br label %575

575:                                              ; preds = %574, %571, %565
  call void @llvm.lifetime.end.p0(i64 8, ptr %74) #3
  br label %576

576:                                              ; preds = %575, %553
  call void @llvm.lifetime.end.p0(i64 8, ptr %72) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #3
  %577 = load i32, ptr %9, align 4
  switch i32 %577, label %1324 [
    i32 0, label %578
    i32 1, label %1322
  ]

578:                                              ; preds = %576
  br label %579

579:                                              ; preds = %578
  br label %580

580:                                              ; preds = %579
  call void @llvm.lifetime.start.p0(i64 8, ptr %79) #3
  store i64 0, ptr %79, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #3
  %581 = load atomic i64, ptr %79 seq_cst, align 8
  store i64 %581, ptr %81, align 8
  %582 = load i64, ptr %81, align 8, !tbaa !18
  store i64 %582, ptr %80, align 8, !tbaa !18
  %583 = load i64, ptr %80, align 8, !tbaa !18
  %584 = icmp ne i64 0, %583
  br i1 %584, label %585, label %588

585:                                              ; preds = %580
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %586, ptr noundef @.str.18) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %608

588:                                              ; preds = %580
  call void @llvm.lifetime.start.p0(i64 8, ptr %82) #3
  store i64 28, ptr %83, align 8, !tbaa !18
  %589 = load i64, ptr %83, align 8
  store atomic i64 %589, ptr %79 seq_cst, align 8
  store i64 42, ptr %84, align 8, !tbaa !18
  %590 = load i64, ptr %84, align 8
  %591 = atomicrmw xchg ptr %79, i64 %590 seq_cst, align 8
  store i64 %591, ptr %85, align 8
  %592 = load i64, ptr %85, align 8, !tbaa !18
  store i64 %592, ptr %82, align 8, !tbaa !18
  %593 = load atomic i64, ptr %79 seq_cst, align 8
  store i64 %593, ptr %86, align 8
  %594 = load i64, ptr %86, align 8, !tbaa !18
  store i64 %594, ptr %80, align 8, !tbaa !18
  %595 = load i64, ptr %82, align 8, !tbaa !18
  %596 = icmp ne i64 28, %595
  br i1 %596, label %597, label %600

597:                                              ; preds = %588
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %598, ptr noundef @.str.19) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %607

600:                                              ; preds = %588
  %601 = load i64, ptr %80, align 8, !tbaa !18
  %602 = icmp ne i64 42, %601
  br i1 %602, label %603, label %606

603:                                              ; preds = %600
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %604, ptr noundef @.str.19) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %607

606:                                              ; preds = %600
  store i32 0, ptr %9, align 4
  br label %607

607:                                              ; preds = %606, %603, %597
  call void @llvm.lifetime.end.p0(i64 8, ptr %82) #3
  br label %608

608:                                              ; preds = %607, %585
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %79) #3
  %609 = load i32, ptr %9, align 4
  switch i32 %609, label %1324 [
    i32 0, label %610
    i32 1, label %1322
  ]

610:                                              ; preds = %608
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 8, ptr %87) #3
  store i64 0, ptr %87, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %88) #3
  %613 = load atomic i64, ptr %87 seq_cst, align 8
  store i64 %613, ptr %89, align 8
  %614 = load i64, ptr %89, align 8, !tbaa !20
  store i64 %614, ptr %88, align 8, !tbaa !20
  %615 = load i64, ptr %88, align 8, !tbaa !20
  %616 = icmp ne i64 0, %615
  br i1 %616, label %617, label %620

617:                                              ; preds = %612
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %618, ptr noundef @.str.20) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %640

620:                                              ; preds = %612
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #3
  store i64 28, ptr %91, align 8, !tbaa !20
  %621 = load i64, ptr %91, align 8
  store atomic i64 %621, ptr %87 seq_cst, align 8
  store i64 42, ptr %92, align 8, !tbaa !20
  %622 = load i64, ptr %92, align 8
  %623 = atomicrmw xchg ptr %87, i64 %622 seq_cst, align 8
  store i64 %623, ptr %93, align 8
  %624 = load i64, ptr %93, align 8, !tbaa !20
  store i64 %624, ptr %90, align 8, !tbaa !20
  %625 = load atomic i64, ptr %87 seq_cst, align 8
  store i64 %625, ptr %94, align 8
  %626 = load i64, ptr %94, align 8, !tbaa !20
  store i64 %626, ptr %88, align 8, !tbaa !20
  %627 = load i64, ptr %90, align 8, !tbaa !20
  %628 = icmp ne i64 28, %627
  br i1 %628, label %629, label %632

629:                                              ; preds = %620
  %630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %630, ptr noundef @.str.21) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %639

632:                                              ; preds = %620
  %633 = load i64, ptr %88, align 8, !tbaa !20
  %634 = icmp ne i64 42, %633
  br i1 %634, label %635, label %638

635:                                              ; preds = %632
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %636, ptr noundef @.str.21) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %639

638:                                              ; preds = %632
  store i32 0, ptr %9, align 4
  br label %639

639:                                              ; preds = %638, %635, %629
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #3
  br label %640

640:                                              ; preds = %639, %617
  call void @llvm.lifetime.end.p0(i64 8, ptr %88) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %87) #3
  %641 = load i32, ptr %9, align 4
  switch i32 %641, label %1324 [
    i32 0, label %642
    i32 1, label %1322
  ]

642:                                              ; preds = %640
  br label %643

643:                                              ; preds = %642
  br label %644

644:                                              ; preds = %643
  call void @llvm.lifetime.start.p0(i64 8, ptr %95) #3
  store i64 0, ptr %95, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %96) #3
  %645 = load atomic i64, ptr %95 seq_cst, align 8
  store i64 %645, ptr %97, align 8
  %646 = load i64, ptr %97, align 8, !tbaa !20
  store i64 %646, ptr %96, align 8, !tbaa !20
  %647 = load i64, ptr %96, align 8, !tbaa !20
  %648 = icmp ne i64 0, %647
  br i1 %648, label %649, label %652

649:                                              ; preds = %644
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %650, ptr noundef @.str.22) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %672

652:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 8, ptr %98) #3
  store i64 28, ptr %99, align 8, !tbaa !20
  %653 = load i64, ptr %99, align 8
  store atomic i64 %653, ptr %95 seq_cst, align 8
  store i64 42, ptr %100, align 8, !tbaa !20
  %654 = load i64, ptr %100, align 8
  %655 = atomicrmw xchg ptr %95, i64 %654 seq_cst, align 8
  store i64 %655, ptr %101, align 8
  %656 = load i64, ptr %101, align 8, !tbaa !20
  store i64 %656, ptr %98, align 8, !tbaa !20
  %657 = load atomic i64, ptr %95 seq_cst, align 8
  store i64 %657, ptr %102, align 8
  %658 = load i64, ptr %102, align 8, !tbaa !20
  store i64 %658, ptr %96, align 8, !tbaa !20
  %659 = load i64, ptr %98, align 8, !tbaa !20
  %660 = icmp ne i64 28, %659
  br i1 %660, label %661, label %664

661:                                              ; preds = %652
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %662, ptr noundef @.str.23) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %671

664:                                              ; preds = %652
  %665 = load i64, ptr %96, align 8, !tbaa !20
  %666 = icmp ne i64 42, %665
  br i1 %666, label %667, label %670

667:                                              ; preds = %664
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %668, ptr noundef @.str.23) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %671

670:                                              ; preds = %664
  store i32 0, ptr %9, align 4
  br label %671

671:                                              ; preds = %670, %667, %661
  call void @llvm.lifetime.end.p0(i64 8, ptr %98) #3
  br label %672

672:                                              ; preds = %671, %649
  call void @llvm.lifetime.end.p0(i64 8, ptr %96) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %95) #3
  %673 = load i32, ptr %9, align 4
  switch i32 %673, label %1324 [
    i32 0, label %674
    i32 1, label %1322
  ]

674:                                              ; preds = %672
  br label %675

675:                                              ; preds = %674
  br label %676

676:                                              ; preds = %675
  call void @llvm.lifetime.start.p0(i64 2, ptr %103) #3
  store i16 0, ptr %103, align 2, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 2, ptr %104) #3
  %677 = load atomic i16, ptr %103 seq_cst, align 2
  store i16 %677, ptr %105, align 2
  %678 = load i16, ptr %105, align 2, !tbaa !16
  store i16 %678, ptr %104, align 2, !tbaa !16
  %679 = load i16, ptr %104, align 2, !tbaa !16
  %680 = sext i16 %679 to i32
  %681 = icmp ne i32 0, %680
  br i1 %681, label %682, label %685

682:                                              ; preds = %676
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef @.str.24) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %707

685:                                              ; preds = %676
  call void @llvm.lifetime.start.p0(i64 2, ptr %106) #3
  store i16 28, ptr %107, align 2, !tbaa !16
  %686 = load i16, ptr %107, align 2
  store atomic i16 %686, ptr %103 seq_cst, align 2
  store i16 42, ptr %108, align 2, !tbaa !16
  %687 = load i16, ptr %108, align 2
  %688 = atomicrmw xchg ptr %103, i16 %687 seq_cst, align 2
  store i16 %688, ptr %109, align 2
  %689 = load i16, ptr %109, align 2, !tbaa !16
  store i16 %689, ptr %106, align 2, !tbaa !16
  %690 = load atomic i16, ptr %103 seq_cst, align 2
  store i16 %690, ptr %110, align 2
  %691 = load i16, ptr %110, align 2, !tbaa !16
  store i16 %691, ptr %104, align 2, !tbaa !16
  %692 = load i16, ptr %106, align 2, !tbaa !16
  %693 = sext i16 %692 to i32
  %694 = icmp ne i32 28, %693
  br i1 %694, label %695, label %698

695:                                              ; preds = %685
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %696, ptr noundef @.str.25) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %706

698:                                              ; preds = %685
  %699 = load i16, ptr %104, align 2, !tbaa !16
  %700 = sext i16 %699 to i32
  %701 = icmp ne i32 42, %700
  br i1 %701, label %702, label %705

702:                                              ; preds = %698
  %703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %704 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %703, ptr noundef @.str.25) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %706

705:                                              ; preds = %698
  store i32 0, ptr %9, align 4
  br label %706

706:                                              ; preds = %705, %702, %695
  call void @llvm.lifetime.end.p0(i64 2, ptr %106) #3
  br label %707

707:                                              ; preds = %706, %682
  call void @llvm.lifetime.end.p0(i64 2, ptr %104) #3
  call void @llvm.lifetime.end.p0(i64 2, ptr %103) #3
  %708 = load i32, ptr %9, align 4
  switch i32 %708, label %1324 [
    i32 0, label %709
    i32 1, label %1322
  ]

709:                                              ; preds = %707
  br label %710

710:                                              ; preds = %709
  br label %711

711:                                              ; preds = %710
  call void @llvm.lifetime.start.p0(i64 2, ptr %111) #3
  store i16 0, ptr %111, align 2, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 2, ptr %112) #3
  %712 = load atomic i16, ptr %111 seq_cst, align 2
  store i16 %712, ptr %113, align 2
  %713 = load i16, ptr %113, align 2, !tbaa !16
  store i16 %713, ptr %112, align 2, !tbaa !16
  %714 = load i16, ptr %112, align 2, !tbaa !16
  %715 = zext i16 %714 to i32
  %716 = icmp ne i32 0, %715
  br i1 %716, label %717, label %720

717:                                              ; preds = %711
  %718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %718, ptr noundef @.str.26) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %742

720:                                              ; preds = %711
  call void @llvm.lifetime.start.p0(i64 2, ptr %114) #3
  store i16 28, ptr %115, align 2, !tbaa !16
  %721 = load i16, ptr %115, align 2
  store atomic i16 %721, ptr %111 seq_cst, align 2
  store i16 42, ptr %116, align 2, !tbaa !16
  %722 = load i16, ptr %116, align 2
  %723 = atomicrmw xchg ptr %111, i16 %722 seq_cst, align 2
  store i16 %723, ptr %117, align 2
  %724 = load i16, ptr %117, align 2, !tbaa !16
  store i16 %724, ptr %114, align 2, !tbaa !16
  %725 = load atomic i16, ptr %111 seq_cst, align 2
  store i16 %725, ptr %118, align 2
  %726 = load i16, ptr %118, align 2, !tbaa !16
  store i16 %726, ptr %112, align 2, !tbaa !16
  %727 = load i16, ptr %114, align 2, !tbaa !16
  %728 = zext i16 %727 to i32
  %729 = icmp ne i32 28, %728
  br i1 %729, label %730, label %733

730:                                              ; preds = %720
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef @.str.27) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %741

733:                                              ; preds = %720
  %734 = load i16, ptr %112, align 2, !tbaa !16
  %735 = zext i16 %734 to i32
  %736 = icmp ne i32 42, %735
  br i1 %736, label %737, label %740

737:                                              ; preds = %733
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %738, ptr noundef @.str.27) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %741

740:                                              ; preds = %733
  store i32 0, ptr %9, align 4
  br label %741

741:                                              ; preds = %740, %737, %730
  call void @llvm.lifetime.end.p0(i64 2, ptr %114) #3
  br label %742

742:                                              ; preds = %741, %717
  call void @llvm.lifetime.end.p0(i64 2, ptr %112) #3
  call void @llvm.lifetime.end.p0(i64 2, ptr %111) #3
  %743 = load i32, ptr %9, align 4
  switch i32 %743, label %1324 [
    i32 0, label %744
    i32 1, label %1322
  ]

744:                                              ; preds = %742
  br label %745

745:                                              ; preds = %744
  br label %746

746:                                              ; preds = %745
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #3
  store i32 0, ptr %119, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #3
  %747 = load atomic i32, ptr %119 seq_cst, align 4
  store i32 %747, ptr %121, align 4
  %748 = load i32, ptr %121, align 4, !tbaa !5
  store i32 %748, ptr %120, align 4, !tbaa !5
  %749 = load i32, ptr %120, align 4, !tbaa !5
  %750 = icmp ne i32 0, %749
  br i1 %750, label %751, label %754

751:                                              ; preds = %746
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %752, ptr noundef @.str.28) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %774

754:                                              ; preds = %746
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #3
  store i32 28, ptr %123, align 4, !tbaa !5
  %755 = load i32, ptr %123, align 4
  store atomic i32 %755, ptr %119 seq_cst, align 4
  store i32 42, ptr %124, align 4, !tbaa !5
  %756 = load i32, ptr %124, align 4
  %757 = atomicrmw xchg ptr %119, i32 %756 seq_cst, align 4
  store i32 %757, ptr %125, align 4
  %758 = load i32, ptr %125, align 4, !tbaa !5
  store i32 %758, ptr %122, align 4, !tbaa !5
  %759 = load atomic i32, ptr %119 seq_cst, align 4
  store i32 %759, ptr %126, align 4
  %760 = load i32, ptr %126, align 4, !tbaa !5
  store i32 %760, ptr %120, align 4, !tbaa !5
  %761 = load i32, ptr %122, align 4, !tbaa !5
  %762 = icmp ne i32 28, %761
  br i1 %762, label %763, label %766

763:                                              ; preds = %754
  %764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %764, ptr noundef @.str.29) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %773

766:                                              ; preds = %754
  %767 = load i32, ptr %120, align 4, !tbaa !5
  %768 = icmp ne i32 42, %767
  br i1 %768, label %769, label %772

769:                                              ; preds = %766
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %770, ptr noundef @.str.29) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %773

772:                                              ; preds = %766
  store i32 0, ptr %9, align 4
  br label %773

773:                                              ; preds = %772, %769, %763
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #3
  br label %774

774:                                              ; preds = %773, %751
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #3
  %775 = load i32, ptr %9, align 4
  switch i32 %775, label %1324 [
    i32 0, label %776
    i32 1, label %1322
  ]

776:                                              ; preds = %774
  br label %777

777:                                              ; preds = %776
  br label %778

778:                                              ; preds = %777
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #3
  store i32 0, ptr %127, align 4, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #3
  %779 = load atomic i32, ptr %127 seq_cst, align 4
  store i32 %779, ptr %129, align 4
  %780 = load i32, ptr %129, align 4, !tbaa !5
  store i32 %780, ptr %128, align 4, !tbaa !5
  %781 = load i32, ptr %128, align 4, !tbaa !5
  %782 = icmp ne i32 0, %781
  br i1 %782, label %783, label %786

783:                                              ; preds = %778
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %784, ptr noundef @.str.30) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %806

786:                                              ; preds = %778
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #3
  store i32 28, ptr %131, align 4, !tbaa !5
  %787 = load i32, ptr %131, align 4
  store atomic i32 %787, ptr %127 seq_cst, align 4
  store i32 42, ptr %132, align 4, !tbaa !5
  %788 = load i32, ptr %132, align 4
  %789 = atomicrmw xchg ptr %127, i32 %788 seq_cst, align 4
  store i32 %789, ptr %133, align 4
  %790 = load i32, ptr %133, align 4, !tbaa !5
  store i32 %790, ptr %130, align 4, !tbaa !5
  %791 = load atomic i32, ptr %127 seq_cst, align 4
  store i32 %791, ptr %134, align 4
  %792 = load i32, ptr %134, align 4, !tbaa !5
  store i32 %792, ptr %128, align 4, !tbaa !5
  %793 = load i32, ptr %130, align 4, !tbaa !5
  %794 = icmp ne i32 28, %793
  br i1 %794, label %795, label %798

795:                                              ; preds = %786
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %796, ptr noundef @.str.31) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %805

798:                                              ; preds = %786
  %799 = load i32, ptr %128, align 4, !tbaa !5
  %800 = icmp ne i32 42, %799
  br i1 %800, label %801, label %804

801:                                              ; preds = %798
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef @.str.31) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %805

804:                                              ; preds = %798
  store i32 0, ptr %9, align 4
  br label %805

805:                                              ; preds = %804, %801, %795
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #3
  br label %806

806:                                              ; preds = %805, %783
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #3
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #3
  %807 = load i32, ptr %9, align 4
  switch i32 %807, label %1324 [
    i32 0, label %808
    i32 1, label %1322
  ]

808:                                              ; preds = %806
  br label %809

809:                                              ; preds = %808
  br label %810

810:                                              ; preds = %809
  call void @llvm.lifetime.start.p0(i64 8, ptr %135) #3
  store i64 0, ptr %135, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #3
  %811 = load atomic i64, ptr %135 seq_cst, align 8
  store i64 %811, ptr %137, align 8
  %812 = load i64, ptr %137, align 8, !tbaa !18
  store i64 %812, ptr %136, align 8, !tbaa !18
  %813 = load i64, ptr %136, align 8, !tbaa !18
  %814 = icmp ne i64 0, %813
  br i1 %814, label %815, label %818

815:                                              ; preds = %810
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %816, ptr noundef @.str.32) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %838

818:                                              ; preds = %810
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #3
  store i64 28, ptr %139, align 8, !tbaa !18
  %819 = load i64, ptr %139, align 8
  store atomic i64 %819, ptr %135 seq_cst, align 8
  store i64 42, ptr %140, align 8, !tbaa !18
  %820 = load i64, ptr %140, align 8
  %821 = atomicrmw xchg ptr %135, i64 %820 seq_cst, align 8
  store i64 %821, ptr %141, align 8
  %822 = load i64, ptr %141, align 8, !tbaa !18
  store i64 %822, ptr %138, align 8, !tbaa !18
  %823 = load atomic i64, ptr %135 seq_cst, align 8
  store i64 %823, ptr %142, align 8
  %824 = load i64, ptr %142, align 8, !tbaa !18
  store i64 %824, ptr %136, align 8, !tbaa !18
  %825 = load i64, ptr %138, align 8, !tbaa !18
  %826 = icmp ne i64 28, %825
  br i1 %826, label %827, label %830

827:                                              ; preds = %818
  %828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %828, ptr noundef @.str.33) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %837

830:                                              ; preds = %818
  %831 = load i64, ptr %136, align 8, !tbaa !18
  %832 = icmp ne i64 42, %831
  br i1 %832, label %833, label %836

833:                                              ; preds = %830
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %834, ptr noundef @.str.33) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %837

836:                                              ; preds = %830
  store i32 0, ptr %9, align 4
  br label %837

837:                                              ; preds = %836, %833, %827
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #3
  br label %838

838:                                              ; preds = %837, %815
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %135) #3
  %839 = load i32, ptr %9, align 4
  switch i32 %839, label %1324 [
    i32 0, label %840
    i32 1, label %1322
  ]

840:                                              ; preds = %838
  br label %841

841:                                              ; preds = %840
  br label %842

842:                                              ; preds = %841
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #3
  store i64 0, ptr %143, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #3
  %843 = load atomic i64, ptr %143 seq_cst, align 8
  store i64 %843, ptr %145, align 8
  %844 = load i64, ptr %145, align 8, !tbaa !18
  store i64 %844, ptr %144, align 8, !tbaa !18
  %845 = load i64, ptr %144, align 8, !tbaa !18
  %846 = icmp ne i64 0, %845
  br i1 %846, label %847, label %850

847:                                              ; preds = %842
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef @.str.34) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %870

850:                                              ; preds = %842
  call void @llvm.lifetime.start.p0(i64 8, ptr %146) #3
  store i64 28, ptr %147, align 8, !tbaa !18
  %851 = load i64, ptr %147, align 8
  store atomic i64 %851, ptr %143 seq_cst, align 8
  store i64 42, ptr %148, align 8, !tbaa !18
  %852 = load i64, ptr %148, align 8
  %853 = atomicrmw xchg ptr %143, i64 %852 seq_cst, align 8
  store i64 %853, ptr %149, align 8
  %854 = load i64, ptr %149, align 8, !tbaa !18
  store i64 %854, ptr %146, align 8, !tbaa !18
  %855 = load atomic i64, ptr %143 seq_cst, align 8
  store i64 %855, ptr %150, align 8
  %856 = load i64, ptr %150, align 8, !tbaa !18
  store i64 %856, ptr %144, align 8, !tbaa !18
  %857 = load i64, ptr %146, align 8, !tbaa !18
  %858 = icmp ne i64 28, %857
  br i1 %858, label %859, label %862

859:                                              ; preds = %850
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %860, ptr noundef @.str.35) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %869

862:                                              ; preds = %850
  %863 = load i64, ptr %144, align 8, !tbaa !18
  %864 = icmp ne i64 42, %863
  br i1 %864, label %865, label %868

865:                                              ; preds = %862
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef @.str.35) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %869

868:                                              ; preds = %862
  store i32 0, ptr %9, align 4
  br label %869

869:                                              ; preds = %868, %865, %859
  call void @llvm.lifetime.end.p0(i64 8, ptr %146) #3
  br label %870

870:                                              ; preds = %869, %847
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #3
  %871 = load i32, ptr %9, align 4
  switch i32 %871, label %1324 [
    i32 0, label %872
    i32 1, label %1322
  ]

872:                                              ; preds = %870
  br label %873

873:                                              ; preds = %872
  br label %874

874:                                              ; preds = %873
  call void @llvm.lifetime.start.p0(i64 8, ptr %151) #3
  store i64 0, ptr %151, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %152) #3
  %875 = load atomic i64, ptr %151 seq_cst, align 8
  store i64 %875, ptr %153, align 8
  %876 = load i64, ptr %153, align 8, !tbaa !18
  store i64 %876, ptr %152, align 8, !tbaa !18
  %877 = load i64, ptr %152, align 8, !tbaa !18
  %878 = icmp ne i64 0, %877
  br i1 %878, label %879, label %882

879:                                              ; preds = %874
  %880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %880, ptr noundef @.str.36) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %902

882:                                              ; preds = %874
  call void @llvm.lifetime.start.p0(i64 8, ptr %154) #3
  store i64 28, ptr %155, align 8, !tbaa !18
  %883 = load i64, ptr %155, align 8
  store atomic i64 %883, ptr %151 seq_cst, align 8
  store i64 42, ptr %156, align 8, !tbaa !18
  %884 = load i64, ptr %156, align 8
  %885 = atomicrmw xchg ptr %151, i64 %884 seq_cst, align 8
  store i64 %885, ptr %157, align 8
  %886 = load i64, ptr %157, align 8, !tbaa !18
  store i64 %886, ptr %154, align 8, !tbaa !18
  %887 = load atomic i64, ptr %151 seq_cst, align 8
  store i64 %887, ptr %158, align 8
  %888 = load i64, ptr %158, align 8, !tbaa !18
  store i64 %888, ptr %152, align 8, !tbaa !18
  %889 = load i64, ptr %154, align 8, !tbaa !18
  %890 = icmp ne i64 28, %889
  br i1 %890, label %891, label %894

891:                                              ; preds = %882
  %892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %892, ptr noundef @.str.37) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %901

894:                                              ; preds = %882
  %895 = load i64, ptr %152, align 8, !tbaa !18
  %896 = icmp ne i64 42, %895
  br i1 %896, label %897, label %900

897:                                              ; preds = %894
  %898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %898, ptr noundef @.str.37) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %901

900:                                              ; preds = %894
  store i32 0, ptr %9, align 4
  br label %901

901:                                              ; preds = %900, %897, %891
  call void @llvm.lifetime.end.p0(i64 8, ptr %154) #3
  br label %902

902:                                              ; preds = %901, %879
  call void @llvm.lifetime.end.p0(i64 8, ptr %152) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %151) #3
  %903 = load i32, ptr %9, align 4
  switch i32 %903, label %1324 [
    i32 0, label %904
    i32 1, label %1322
  ]

904:                                              ; preds = %902
  br label %905

905:                                              ; preds = %904
  br label %906

906:                                              ; preds = %905
  call void @llvm.lifetime.start.p0(i64 8, ptr %159) #3
  store i64 0, ptr %159, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #3
  %907 = load atomic i64, ptr %159 seq_cst, align 8
  store i64 %907, ptr %161, align 8
  %908 = load i64, ptr %161, align 8, !tbaa !18
  store i64 %908, ptr %160, align 8, !tbaa !18
  %909 = load i64, ptr %160, align 8, !tbaa !18
  %910 = icmp ne i64 0, %909
  br i1 %910, label %911, label %914

911:                                              ; preds = %906
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef @.str.38) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %934

914:                                              ; preds = %906
  call void @llvm.lifetime.start.p0(i64 8, ptr %162) #3
  store i64 28, ptr %163, align 8, !tbaa !18
  %915 = load i64, ptr %163, align 8
  store atomic i64 %915, ptr %159 seq_cst, align 8
  store i64 42, ptr %164, align 8, !tbaa !18
  %916 = load i64, ptr %164, align 8
  %917 = atomicrmw xchg ptr %159, i64 %916 seq_cst, align 8
  store i64 %917, ptr %165, align 8
  %918 = load i64, ptr %165, align 8, !tbaa !18
  store i64 %918, ptr %162, align 8, !tbaa !18
  %919 = load atomic i64, ptr %159 seq_cst, align 8
  store i64 %919, ptr %166, align 8
  %920 = load i64, ptr %166, align 8, !tbaa !18
  store i64 %920, ptr %160, align 8, !tbaa !18
  %921 = load i64, ptr %162, align 8, !tbaa !18
  %922 = icmp ne i64 28, %921
  br i1 %922, label %923, label %926

923:                                              ; preds = %914
  %924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %924, ptr noundef @.str.39) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %933

926:                                              ; preds = %914
  %927 = load i64, ptr %160, align 8, !tbaa !18
  %928 = icmp ne i64 42, %927
  br i1 %928, label %929, label %932

929:                                              ; preds = %926
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %930, ptr noundef @.str.39) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %933

932:                                              ; preds = %926
  store i32 0, ptr %9, align 4
  br label %933

933:                                              ; preds = %932, %929, %923
  call void @llvm.lifetime.end.p0(i64 8, ptr %162) #3
  br label %934

934:                                              ; preds = %933, %911
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %159) #3
  %935 = load i32, ptr %9, align 4
  switch i32 %935, label %1324 [
    i32 0, label %936
    i32 1, label %1322
  ]

936:                                              ; preds = %934
  br label %937

937:                                              ; preds = %936
  br label %938

938:                                              ; preds = %937
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #3
  store i64 0, ptr %167, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %168) #3
  %939 = load atomic i64, ptr %167 seq_cst, align 8
  store i64 %939, ptr %169, align 8
  %940 = load i64, ptr %169, align 8, !tbaa !18
  store i64 %940, ptr %168, align 8, !tbaa !18
  %941 = load i64, ptr %168, align 8, !tbaa !18
  %942 = icmp ne i64 0, %941
  br i1 %942, label %943, label %946

943:                                              ; preds = %938
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %944, ptr noundef @.str.40) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %966

946:                                              ; preds = %938
  call void @llvm.lifetime.start.p0(i64 8, ptr %170) #3
  store i64 28, ptr %171, align 8, !tbaa !18
  %947 = load i64, ptr %171, align 8
  store atomic i64 %947, ptr %167 seq_cst, align 8
  store i64 42, ptr %172, align 8, !tbaa !18
  %948 = load i64, ptr %172, align 8
  %949 = atomicrmw xchg ptr %167, i64 %948 seq_cst, align 8
  store i64 %949, ptr %173, align 8
  %950 = load i64, ptr %173, align 8, !tbaa !18
  store i64 %950, ptr %170, align 8, !tbaa !18
  %951 = load atomic i64, ptr %167 seq_cst, align 8
  store i64 %951, ptr %174, align 8
  %952 = load i64, ptr %174, align 8, !tbaa !18
  store i64 %952, ptr %168, align 8, !tbaa !18
  %953 = load i64, ptr %170, align 8, !tbaa !18
  %954 = icmp ne i64 28, %953
  br i1 %954, label %955, label %958

955:                                              ; preds = %946
  %956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %956, ptr noundef @.str.41) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %965

958:                                              ; preds = %946
  %959 = load i64, ptr %168, align 8, !tbaa !18
  %960 = icmp ne i64 42, %959
  br i1 %960, label %961, label %964

961:                                              ; preds = %958
  %962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %962, ptr noundef @.str.41) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %965

964:                                              ; preds = %958
  store i32 0, ptr %9, align 4
  br label %965

965:                                              ; preds = %964, %961, %955
  call void @llvm.lifetime.end.p0(i64 8, ptr %170) #3
  br label %966

966:                                              ; preds = %965, %943
  call void @llvm.lifetime.end.p0(i64 8, ptr %168) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #3
  %967 = load i32, ptr %9, align 4
  switch i32 %967, label %1324 [
    i32 0, label %968
    i32 1, label %1322
  ]

968:                                              ; preds = %966
  br label %969

969:                                              ; preds = %968
  br label %970

970:                                              ; preds = %969
  call void @llvm.lifetime.start.p0(i64 8, ptr %175) #3
  store i64 0, ptr %175, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %176) #3
  %971 = load atomic i64, ptr %175 seq_cst, align 8
  store i64 %971, ptr %177, align 8
  %972 = load i64, ptr %177, align 8, !tbaa !18
  store i64 %972, ptr %176, align 8, !tbaa !18
  %973 = load i64, ptr %176, align 8, !tbaa !18
  %974 = icmp ne i64 0, %973
  br i1 %974, label %975, label %978

975:                                              ; preds = %970
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %976, ptr noundef @.str.42) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %998

978:                                              ; preds = %970
  call void @llvm.lifetime.start.p0(i64 8, ptr %178) #3
  store i64 28, ptr %179, align 8, !tbaa !18
  %979 = load i64, ptr %179, align 8
  store atomic i64 %979, ptr %175 seq_cst, align 8
  store i64 42, ptr %180, align 8, !tbaa !18
  %980 = load i64, ptr %180, align 8
  %981 = atomicrmw xchg ptr %175, i64 %980 seq_cst, align 8
  store i64 %981, ptr %181, align 8
  %982 = load i64, ptr %181, align 8, !tbaa !18
  store i64 %982, ptr %178, align 8, !tbaa !18
  %983 = load atomic i64, ptr %175 seq_cst, align 8
  store i64 %983, ptr %182, align 8
  %984 = load i64, ptr %182, align 8, !tbaa !18
  store i64 %984, ptr %176, align 8, !tbaa !18
  %985 = load i64, ptr %178, align 8, !tbaa !18
  %986 = icmp ne i64 28, %985
  br i1 %986, label %987, label %990

987:                                              ; preds = %978
  %988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef @.str.43) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %997

990:                                              ; preds = %978
  %991 = load i64, ptr %176, align 8, !tbaa !18
  %992 = icmp ne i64 42, %991
  br i1 %992, label %993, label %996

993:                                              ; preds = %990
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %994, ptr noundef @.str.43) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %997

996:                                              ; preds = %990
  store i32 0, ptr %9, align 4
  br label %997

997:                                              ; preds = %996, %993, %987
  call void @llvm.lifetime.end.p0(i64 8, ptr %178) #3
  br label %998

998:                                              ; preds = %997, %975
  call void @llvm.lifetime.end.p0(i64 8, ptr %176) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %175) #3
  %999 = load i32, ptr %9, align 4
  switch i32 %999, label %1324 [
    i32 0, label %1000
    i32 1, label %1322
  ]

1000:                                             ; preds = %998
  br label %1001

1001:                                             ; preds = %1000
  br label %1002

1002:                                             ; preds = %1001
  call void @llvm.lifetime.start.p0(i64 8, ptr %183) #3
  store i64 0, ptr %183, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %184) #3
  %1003 = load atomic i64, ptr %183 seq_cst, align 8
  store i64 %1003, ptr %185, align 8
  %1004 = load i64, ptr %185, align 8, !tbaa !18
  store i64 %1004, ptr %184, align 8, !tbaa !18
  %1005 = load i64, ptr %184, align 8, !tbaa !18
  %1006 = icmp ne i64 0, %1005
  br i1 %1006, label %1007, label %1010

1007:                                             ; preds = %1002
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1008, ptr noundef @.str.44) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1030

1010:                                             ; preds = %1002
  call void @llvm.lifetime.start.p0(i64 8, ptr %186) #3
  store i64 28, ptr %187, align 8, !tbaa !18
  %1011 = load i64, ptr %187, align 8
  store atomic i64 %1011, ptr %183 seq_cst, align 8
  store i64 42, ptr %188, align 8, !tbaa !18
  %1012 = load i64, ptr %188, align 8
  %1013 = atomicrmw xchg ptr %183, i64 %1012 seq_cst, align 8
  store i64 %1013, ptr %189, align 8
  %1014 = load i64, ptr %189, align 8, !tbaa !18
  store i64 %1014, ptr %186, align 8, !tbaa !18
  %1015 = load atomic i64, ptr %183 seq_cst, align 8
  store i64 %1015, ptr %190, align 8
  %1016 = load i64, ptr %190, align 8, !tbaa !18
  store i64 %1016, ptr %184, align 8, !tbaa !18
  %1017 = load i64, ptr %186, align 8, !tbaa !18
  %1018 = icmp ne i64 28, %1017
  br i1 %1018, label %1019, label %1022

1019:                                             ; preds = %1010
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1020, ptr noundef @.str.45) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1029

1022:                                             ; preds = %1010
  %1023 = load i64, ptr %184, align 8, !tbaa !18
  %1024 = icmp ne i64 42, %1023
  br i1 %1024, label %1025, label %1028

1025:                                             ; preds = %1022
  %1026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1026, ptr noundef @.str.45) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1029

1028:                                             ; preds = %1022
  store i32 0, ptr %9, align 4
  br label %1029

1029:                                             ; preds = %1028, %1025, %1019
  call void @llvm.lifetime.end.p0(i64 8, ptr %186) #3
  br label %1030

1030:                                             ; preds = %1029, %1007
  call void @llvm.lifetime.end.p0(i64 8, ptr %184) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %183) #3
  %1031 = load i32, ptr %9, align 4
  switch i32 %1031, label %1324 [
    i32 0, label %1032
    i32 1, label %1322
  ]

1032:                                             ; preds = %1030
  br label %1033

1033:                                             ; preds = %1032
  br label %1034

1034:                                             ; preds = %1033
  call void @llvm.lifetime.start.p0(i64 8, ptr %191) #3
  store i64 0, ptr %191, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %192) #3
  %1035 = load atomic i64, ptr %191 seq_cst, align 8
  store i64 %1035, ptr %193, align 8
  %1036 = load i64, ptr %193, align 8, !tbaa !18
  store i64 %1036, ptr %192, align 8, !tbaa !18
  %1037 = load i64, ptr %192, align 8, !tbaa !18
  %1038 = icmp ne i64 0, %1037
  br i1 %1038, label %1039, label %1042

1039:                                             ; preds = %1034
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1040, ptr noundef @.str.46) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1062

1042:                                             ; preds = %1034
  call void @llvm.lifetime.start.p0(i64 8, ptr %194) #3
  store i64 28, ptr %195, align 8, !tbaa !18
  %1043 = load i64, ptr %195, align 8
  store atomic i64 %1043, ptr %191 seq_cst, align 8
  store i64 42, ptr %196, align 8, !tbaa !18
  %1044 = load i64, ptr %196, align 8
  %1045 = atomicrmw xchg ptr %191, i64 %1044 seq_cst, align 8
  store i64 %1045, ptr %197, align 8
  %1046 = load i64, ptr %197, align 8, !tbaa !18
  store i64 %1046, ptr %194, align 8, !tbaa !18
  %1047 = load atomic i64, ptr %191 seq_cst, align 8
  store i64 %1047, ptr %198, align 8
  %1048 = load i64, ptr %198, align 8, !tbaa !18
  store i64 %1048, ptr %192, align 8, !tbaa !18
  %1049 = load i64, ptr %194, align 8, !tbaa !18
  %1050 = icmp ne i64 28, %1049
  br i1 %1050, label %1051, label %1054

1051:                                             ; preds = %1042
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1052, ptr noundef @.str.47) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1061

1054:                                             ; preds = %1042
  %1055 = load i64, ptr %192, align 8, !tbaa !18
  %1056 = icmp ne i64 42, %1055
  br i1 %1056, label %1057, label %1060

1057:                                             ; preds = %1054
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1058, ptr noundef @.str.47) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1061

1060:                                             ; preds = %1054
  store i32 0, ptr %9, align 4
  br label %1061

1061:                                             ; preds = %1060, %1057, %1051
  call void @llvm.lifetime.end.p0(i64 8, ptr %194) #3
  br label %1062

1062:                                             ; preds = %1061, %1039
  call void @llvm.lifetime.end.p0(i64 8, ptr %192) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %191) #3
  %1063 = load i32, ptr %9, align 4
  switch i32 %1063, label %1324 [
    i32 0, label %1064
    i32 1, label %1322
  ]

1064:                                             ; preds = %1062
  br label %1065

1065:                                             ; preds = %1064
  br label %1066

1066:                                             ; preds = %1065
  call void @llvm.lifetime.start.p0(i64 8, ptr %199) #3
  store i64 0, ptr %199, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %200) #3
  %1067 = load atomic i64, ptr %199 seq_cst, align 8
  store i64 %1067, ptr %201, align 8
  %1068 = load i64, ptr %201, align 8, !tbaa !18
  store i64 %1068, ptr %200, align 8, !tbaa !18
  %1069 = load i64, ptr %200, align 8, !tbaa !18
  %1070 = icmp ne i64 0, %1069
  br i1 %1070, label %1071, label %1074

1071:                                             ; preds = %1066
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef @.str.48) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1094

1074:                                             ; preds = %1066
  call void @llvm.lifetime.start.p0(i64 8, ptr %202) #3
  store i64 28, ptr %203, align 8, !tbaa !18
  %1075 = load i64, ptr %203, align 8
  store atomic i64 %1075, ptr %199 seq_cst, align 8
  store i64 42, ptr %204, align 8, !tbaa !18
  %1076 = load i64, ptr %204, align 8
  %1077 = atomicrmw xchg ptr %199, i64 %1076 seq_cst, align 8
  store i64 %1077, ptr %205, align 8
  %1078 = load i64, ptr %205, align 8, !tbaa !18
  store i64 %1078, ptr %202, align 8, !tbaa !18
  %1079 = load atomic i64, ptr %199 seq_cst, align 8
  store i64 %1079, ptr %206, align 8
  %1080 = load i64, ptr %206, align 8, !tbaa !18
  store i64 %1080, ptr %200, align 8, !tbaa !18
  %1081 = load i64, ptr %202, align 8, !tbaa !18
  %1082 = icmp ne i64 28, %1081
  br i1 %1082, label %1083, label %1086

1083:                                             ; preds = %1074
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1084, ptr noundef @.str.49) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1093

1086:                                             ; preds = %1074
  %1087 = load i64, ptr %200, align 8, !tbaa !18
  %1088 = icmp ne i64 42, %1087
  br i1 %1088, label %1089, label %1092

1089:                                             ; preds = %1086
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1090, ptr noundef @.str.49) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1093

1092:                                             ; preds = %1086
  store i32 0, ptr %9, align 4
  br label %1093

1093:                                             ; preds = %1092, %1089, %1083
  call void @llvm.lifetime.end.p0(i64 8, ptr %202) #3
  br label %1094

1094:                                             ; preds = %1093, %1071
  call void @llvm.lifetime.end.p0(i64 8, ptr %200) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %199) #3
  %1095 = load i32, ptr %9, align 4
  switch i32 %1095, label %1324 [
    i32 0, label %1096
    i32 1, label %1322
  ]

1096:                                             ; preds = %1094
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097
  call void @llvm.lifetime.start.p0(i64 8, ptr %207) #3
  store i64 0, ptr %207, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %208) #3
  %1099 = load atomic i64, ptr %207 seq_cst, align 8
  store i64 %1099, ptr %209, align 8
  %1100 = load i64, ptr %209, align 8, !tbaa !18
  store i64 %1100, ptr %208, align 8, !tbaa !18
  %1101 = load i64, ptr %208, align 8, !tbaa !18
  %1102 = icmp ne i64 0, %1101
  br i1 %1102, label %1103, label %1106

1103:                                             ; preds = %1098
  %1104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1104, ptr noundef @.str.50) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1126

1106:                                             ; preds = %1098
  call void @llvm.lifetime.start.p0(i64 8, ptr %210) #3
  store i64 28, ptr %211, align 8, !tbaa !18
  %1107 = load i64, ptr %211, align 8
  store atomic i64 %1107, ptr %207 seq_cst, align 8
  store i64 42, ptr %212, align 8, !tbaa !18
  %1108 = load i64, ptr %212, align 8
  %1109 = atomicrmw xchg ptr %207, i64 %1108 seq_cst, align 8
  store i64 %1109, ptr %213, align 8
  %1110 = load i64, ptr %213, align 8, !tbaa !18
  store i64 %1110, ptr %210, align 8, !tbaa !18
  %1111 = load atomic i64, ptr %207 seq_cst, align 8
  store i64 %1111, ptr %214, align 8
  %1112 = load i64, ptr %214, align 8, !tbaa !18
  store i64 %1112, ptr %208, align 8, !tbaa !18
  %1113 = load i64, ptr %210, align 8, !tbaa !18
  %1114 = icmp ne i64 28, %1113
  br i1 %1114, label %1115, label %1118

1115:                                             ; preds = %1106
  %1116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1116, ptr noundef @.str.51) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1125

1118:                                             ; preds = %1106
  %1119 = load i64, ptr %208, align 8, !tbaa !18
  %1120 = icmp ne i64 42, %1119
  br i1 %1120, label %1121, label %1124

1121:                                             ; preds = %1118
  %1122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1122, ptr noundef @.str.51) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1125

1124:                                             ; preds = %1118
  store i32 0, ptr %9, align 4
  br label %1125

1125:                                             ; preds = %1124, %1121, %1115
  call void @llvm.lifetime.end.p0(i64 8, ptr %210) #3
  br label %1126

1126:                                             ; preds = %1125, %1103
  call void @llvm.lifetime.end.p0(i64 8, ptr %208) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %207) #3
  %1127 = load i32, ptr %9, align 4
  switch i32 %1127, label %1324 [
    i32 0, label %1128
    i32 1, label %1322
  ]

1128:                                             ; preds = %1126
  br label %1129

1129:                                             ; preds = %1128
  br label %1130

1130:                                             ; preds = %1129
  call void @llvm.lifetime.start.p0(i64 8, ptr %215) #3
  store i64 0, ptr %215, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %216) #3
  %1131 = load atomic i64, ptr %215 seq_cst, align 8
  store i64 %1131, ptr %217, align 8
  %1132 = load i64, ptr %217, align 8, !tbaa !18
  store i64 %1132, ptr %216, align 8, !tbaa !18
  %1133 = load i64, ptr %216, align 8, !tbaa !18
  %1134 = icmp ne i64 0, %1133
  br i1 %1134, label %1135, label %1138

1135:                                             ; preds = %1130
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1136, ptr noundef @.str.52) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1158

1138:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 8, ptr %218) #3
  store i64 28, ptr %219, align 8, !tbaa !18
  %1139 = load i64, ptr %219, align 8
  store atomic i64 %1139, ptr %215 seq_cst, align 8
  store i64 42, ptr %220, align 8, !tbaa !18
  %1140 = load i64, ptr %220, align 8
  %1141 = atomicrmw xchg ptr %215, i64 %1140 seq_cst, align 8
  store i64 %1141, ptr %221, align 8
  %1142 = load i64, ptr %221, align 8, !tbaa !18
  store i64 %1142, ptr %218, align 8, !tbaa !18
  %1143 = load atomic i64, ptr %215 seq_cst, align 8
  store i64 %1143, ptr %222, align 8
  %1144 = load i64, ptr %222, align 8, !tbaa !18
  store i64 %1144, ptr %216, align 8, !tbaa !18
  %1145 = load i64, ptr %218, align 8, !tbaa !18
  %1146 = icmp ne i64 28, %1145
  br i1 %1146, label %1147, label %1150

1147:                                             ; preds = %1138
  %1148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1148, ptr noundef @.str.53) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1157

1150:                                             ; preds = %1138
  %1151 = load i64, ptr %216, align 8, !tbaa !18
  %1152 = icmp ne i64 42, %1151
  br i1 %1152, label %1153, label %1156

1153:                                             ; preds = %1150
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1154, ptr noundef @.str.53) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1157

1156:                                             ; preds = %1150
  store i32 0, ptr %9, align 4
  br label %1157

1157:                                             ; preds = %1156, %1153, %1147
  call void @llvm.lifetime.end.p0(i64 8, ptr %218) #3
  br label %1158

1158:                                             ; preds = %1157, %1135
  call void @llvm.lifetime.end.p0(i64 8, ptr %216) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %215) #3
  %1159 = load i32, ptr %9, align 4
  switch i32 %1159, label %1324 [
    i32 0, label %1160
    i32 1, label %1322
  ]

1160:                                             ; preds = %1158
  br label %1161

1161:                                             ; preds = %1160
  br label %1162

1162:                                             ; preds = %1161
  call void @llvm.lifetime.start.p0(i64 8, ptr %223) #3
  store i64 0, ptr %223, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %224) #3
  %1163 = load atomic i64, ptr %223 seq_cst, align 8
  store i64 %1163, ptr %225, align 8
  %1164 = load i64, ptr %225, align 8, !tbaa !18
  store i64 %1164, ptr %224, align 8, !tbaa !18
  %1165 = load i64, ptr %224, align 8, !tbaa !18
  %1166 = icmp ne i64 0, %1165
  br i1 %1166, label %1167, label %1170

1167:                                             ; preds = %1162
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1168, ptr noundef @.str.54) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1190

1170:                                             ; preds = %1162
  call void @llvm.lifetime.start.p0(i64 8, ptr %226) #3
  store i64 28, ptr %227, align 8, !tbaa !18
  %1171 = load i64, ptr %227, align 8
  store atomic i64 %1171, ptr %223 seq_cst, align 8
  store i64 42, ptr %228, align 8, !tbaa !18
  %1172 = load i64, ptr %228, align 8
  %1173 = atomicrmw xchg ptr %223, i64 %1172 seq_cst, align 8
  store i64 %1173, ptr %229, align 8
  %1174 = load i64, ptr %229, align 8, !tbaa !18
  store i64 %1174, ptr %226, align 8, !tbaa !18
  %1175 = load atomic i64, ptr %223 seq_cst, align 8
  store i64 %1175, ptr %230, align 8
  %1176 = load i64, ptr %230, align 8, !tbaa !18
  store i64 %1176, ptr %224, align 8, !tbaa !18
  %1177 = load i64, ptr %226, align 8, !tbaa !18
  %1178 = icmp ne i64 28, %1177
  br i1 %1178, label %1179, label %1182

1179:                                             ; preds = %1170
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1180, ptr noundef @.str.55) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1189

1182:                                             ; preds = %1170
  %1183 = load i64, ptr %224, align 8, !tbaa !18
  %1184 = icmp ne i64 42, %1183
  br i1 %1184, label %1185, label %1188

1185:                                             ; preds = %1182
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef @.str.55) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1189

1188:                                             ; preds = %1182
  store i32 0, ptr %9, align 4
  br label %1189

1189:                                             ; preds = %1188, %1185, %1179
  call void @llvm.lifetime.end.p0(i64 8, ptr %226) #3
  br label %1190

1190:                                             ; preds = %1189, %1167
  call void @llvm.lifetime.end.p0(i64 8, ptr %224) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %223) #3
  %1191 = load i32, ptr %9, align 4
  switch i32 %1191, label %1324 [
    i32 0, label %1192
    i32 1, label %1322
  ]

1192:                                             ; preds = %1190
  br label %1193

1193:                                             ; preds = %1192
  br label %1194

1194:                                             ; preds = %1193
  call void @llvm.lifetime.start.p0(i64 8, ptr %231) #3
  store i64 0, ptr %231, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %232) #3
  %1195 = load atomic i64, ptr %231 seq_cst, align 8
  store i64 %1195, ptr %233, align 8
  %1196 = load i64, ptr %233, align 8, !tbaa !18
  store i64 %1196, ptr %232, align 8, !tbaa !18
  %1197 = load i64, ptr %232, align 8, !tbaa !18
  %1198 = icmp ne i64 0, %1197
  br i1 %1198, label %1199, label %1202

1199:                                             ; preds = %1194
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1200, ptr noundef @.str.56) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1222

1202:                                             ; preds = %1194
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #3
  store i64 28, ptr %235, align 8, !tbaa !18
  %1203 = load i64, ptr %235, align 8
  store atomic i64 %1203, ptr %231 seq_cst, align 8
  store i64 42, ptr %236, align 8, !tbaa !18
  %1204 = load i64, ptr %236, align 8
  %1205 = atomicrmw xchg ptr %231, i64 %1204 seq_cst, align 8
  store i64 %1205, ptr %237, align 8
  %1206 = load i64, ptr %237, align 8, !tbaa !18
  store i64 %1206, ptr %234, align 8, !tbaa !18
  %1207 = load atomic i64, ptr %231 seq_cst, align 8
  store i64 %1207, ptr %238, align 8
  %1208 = load i64, ptr %238, align 8, !tbaa !18
  store i64 %1208, ptr %232, align 8, !tbaa !18
  %1209 = load i64, ptr %234, align 8, !tbaa !18
  %1210 = icmp ne i64 28, %1209
  br i1 %1210, label %1211, label %1214

1211:                                             ; preds = %1202
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1212, ptr noundef @.str.57) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1221

1214:                                             ; preds = %1202
  %1215 = load i64, ptr %232, align 8, !tbaa !18
  %1216 = icmp ne i64 42, %1215
  br i1 %1216, label %1217, label %1220

1217:                                             ; preds = %1214
  %1218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1218, ptr noundef @.str.57) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1221

1220:                                             ; preds = %1214
  store i32 0, ptr %9, align 4
  br label %1221

1221:                                             ; preds = %1220, %1217, %1211
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #3
  br label %1222

1222:                                             ; preds = %1221, %1199
  call void @llvm.lifetime.end.p0(i64 8, ptr %232) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %231) #3
  %1223 = load i32, ptr %9, align 4
  switch i32 %1223, label %1324 [
    i32 0, label %1224
    i32 1, label %1322
  ]

1224:                                             ; preds = %1222
  br label %1225

1225:                                             ; preds = %1224
  br label %1226

1226:                                             ; preds = %1225
  call void @llvm.lifetime.start.p0(i64 8, ptr %239) #3
  store i64 0, ptr %239, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %240) #3
  %1227 = load atomic i64, ptr %239 seq_cst, align 8
  store i64 %1227, ptr %241, align 8
  %1228 = load i64, ptr %241, align 8, !tbaa !18
  store i64 %1228, ptr %240, align 8, !tbaa !18
  %1229 = load i64, ptr %240, align 8, !tbaa !18
  %1230 = icmp ne i64 0, %1229
  br i1 %1230, label %1231, label %1234

1231:                                             ; preds = %1226
  %1232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1232, ptr noundef @.str.58) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1254

1234:                                             ; preds = %1226
  call void @llvm.lifetime.start.p0(i64 8, ptr %242) #3
  store i64 28, ptr %243, align 8, !tbaa !18
  %1235 = load i64, ptr %243, align 8
  store atomic i64 %1235, ptr %239 seq_cst, align 8
  store i64 42, ptr %244, align 8, !tbaa !18
  %1236 = load i64, ptr %244, align 8
  %1237 = atomicrmw xchg ptr %239, i64 %1236 seq_cst, align 8
  store i64 %1237, ptr %245, align 8
  %1238 = load i64, ptr %245, align 8, !tbaa !18
  store i64 %1238, ptr %242, align 8, !tbaa !18
  %1239 = load atomic i64, ptr %239 seq_cst, align 8
  store i64 %1239, ptr %246, align 8
  %1240 = load i64, ptr %246, align 8, !tbaa !18
  store i64 %1240, ptr %240, align 8, !tbaa !18
  %1241 = load i64, ptr %242, align 8, !tbaa !18
  %1242 = icmp ne i64 28, %1241
  br i1 %1242, label %1243, label %1246

1243:                                             ; preds = %1234
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1244, ptr noundef @.str.59) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1253

1246:                                             ; preds = %1234
  %1247 = load i64, ptr %240, align 8, !tbaa !18
  %1248 = icmp ne i64 42, %1247
  br i1 %1248, label %1249, label %1252

1249:                                             ; preds = %1246
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1250, ptr noundef @.str.59) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1253

1252:                                             ; preds = %1246
  store i32 0, ptr %9, align 4
  br label %1253

1253:                                             ; preds = %1252, %1249, %1243
  call void @llvm.lifetime.end.p0(i64 8, ptr %242) #3
  br label %1254

1254:                                             ; preds = %1253, %1231
  call void @llvm.lifetime.end.p0(i64 8, ptr %240) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %239) #3
  %1255 = load i32, ptr %9, align 4
  switch i32 %1255, label %1324 [
    i32 0, label %1256
    i32 1, label %1322
  ]

1256:                                             ; preds = %1254
  br label %1257

1257:                                             ; preds = %1256
  br label %1258

1258:                                             ; preds = %1257
  call void @llvm.lifetime.start.p0(i64 8, ptr %247) #3
  store ptr null, ptr %247, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %248) #3
  %1259 = load atomic i64, ptr %247 seq_cst, align 8
  store i64 %1259, ptr %249, align 8
  %1260 = load ptr, ptr %249, align 8, !tbaa !9
  store ptr %1260, ptr %248, align 8, !tbaa !9
  %1261 = load ptr, ptr %248, align 8, !tbaa !9
  %1262 = icmp ne ptr null, %1261
  br i1 %1262, label %1263, label %1266

1263:                                             ; preds = %1258
  %1264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1264, ptr noundef @.str.60) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1286

1266:                                             ; preds = %1258
  call void @llvm.lifetime.start.p0(i64 8, ptr %250) #3
  store ptr inttoptr (i64 28 to ptr), ptr %251, align 8, !tbaa !9
  %1267 = load i64, ptr %251, align 8
  store atomic i64 %1267, ptr %247 seq_cst, align 8
  store ptr inttoptr (i64 42 to ptr), ptr %252, align 8, !tbaa !9
  %1268 = load i64, ptr %252, align 8
  %1269 = atomicrmw xchg ptr %247, i64 %1268 seq_cst, align 8
  store i64 %1269, ptr %253, align 8
  %1270 = load ptr, ptr %253, align 8, !tbaa !9
  store ptr %1270, ptr %250, align 8, !tbaa !9
  %1271 = load atomic i64, ptr %247 seq_cst, align 8
  store i64 %1271, ptr %254, align 8
  %1272 = load ptr, ptr %254, align 8, !tbaa !9
  store ptr %1272, ptr %248, align 8, !tbaa !9
  %1273 = load ptr, ptr %250, align 8, !tbaa !9
  %1274 = icmp ne ptr inttoptr (i64 28 to ptr), %1273
  br i1 %1274, label %1275, label %1278

1275:                                             ; preds = %1266
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1276, ptr noundef @.str.61) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1285

1278:                                             ; preds = %1266
  %1279 = load ptr, ptr %248, align 8, !tbaa !9
  %1280 = icmp ne ptr inttoptr (i64 42 to ptr), %1279
  br i1 %1280, label %1281, label %1284

1281:                                             ; preds = %1278
  %1282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1282, ptr noundef @.str.61) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1285

1284:                                             ; preds = %1278
  store i32 0, ptr %9, align 4
  br label %1285

1285:                                             ; preds = %1284, %1281, %1275
  call void @llvm.lifetime.end.p0(i64 8, ptr %250) #3
  br label %1286

1286:                                             ; preds = %1285, %1263
  call void @llvm.lifetime.end.p0(i64 8, ptr %248) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %247) #3
  %1287 = load i32, ptr %9, align 4
  switch i32 %1287, label %1324 [
    i32 0, label %1288
    i32 1, label %1322
  ]

1288:                                             ; preds = %1286
  br label %1289

1289:                                             ; preds = %1288
  br label %1290

1290:                                             ; preds = %1289
  call void @llvm.lifetime.start.p0(i64 8, ptr %255) #3
  store ptr null, ptr %255, align 8, !tbaa !11
  call void @llvm.lifetime.start.p0(i64 8, ptr %256) #3
  %1291 = load atomic i64, ptr %255 seq_cst, align 8
  store i64 %1291, ptr %257, align 8
  %1292 = load ptr, ptr %257, align 8, !tbaa !9
  store ptr %1292, ptr %256, align 8, !tbaa !9
  %1293 = load ptr, ptr %256, align 8, !tbaa !9
  %1294 = icmp ne ptr null, %1293
  br i1 %1294, label %1295, label %1298

1295:                                             ; preds = %1290
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1296, ptr noundef @.str.62) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1318

1298:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 8, ptr %258) #3
  store ptr inttoptr (i64 28 to ptr), ptr %259, align 8, !tbaa !9
  %1299 = load i64, ptr %259, align 8
  store atomic i64 %1299, ptr %255 seq_cst, align 8
  store ptr inttoptr (i64 42 to ptr), ptr %260, align 8, !tbaa !9
  %1300 = load i64, ptr %260, align 8
  %1301 = atomicrmw xchg ptr %255, i64 %1300 seq_cst, align 8
  store i64 %1301, ptr %261, align 8
  %1302 = load ptr, ptr %261, align 8, !tbaa !9
  store ptr %1302, ptr %258, align 8, !tbaa !9
  %1303 = load atomic i64, ptr %255 seq_cst, align 8
  store i64 %1303, ptr %262, align 8
  %1304 = load ptr, ptr %262, align 8, !tbaa !9
  store ptr %1304, ptr %256, align 8, !tbaa !9
  %1305 = load ptr, ptr %258, align 8, !tbaa !9
  %1306 = icmp ne ptr inttoptr (i64 28 to ptr), %1305
  br i1 %1306, label %1307, label %1310

1307:                                             ; preds = %1298
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1308, ptr noundef @.str.63) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1317

1310:                                             ; preds = %1298
  %1311 = load ptr, ptr %256, align 8, !tbaa !9
  %1312 = icmp ne ptr inttoptr (i64 42 to ptr), %1311
  br i1 %1312, label %1313, label %1316

1313:                                             ; preds = %1310
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1314, ptr noundef @.str.63) #3
  store i32 1, ptr %3, align 4
  store i32 1, ptr %9, align 4
  br label %1317

1316:                                             ; preds = %1310
  store i32 0, ptr %9, align 4
  br label %1317

1317:                                             ; preds = %1316, %1313, %1307
  call void @llvm.lifetime.end.p0(i64 8, ptr %258) #3
  br label %1318

1318:                                             ; preds = %1317, %1295
  call void @llvm.lifetime.end.p0(i64 8, ptr %256) #3
  call void @llvm.lifetime.end.p0(i64 8, ptr %255) #3
  %1319 = load i32, ptr %9, align 4
  switch i32 %1319, label %1324 [
    i32 0, label %1320
    i32 1, label %1322
  ]

1320:                                             ; preds = %1318
  br label %1321

1321:                                             ; preds = %1320
  store i32 0, ptr %3, align 4
  br label %1322

1322:                                             ; preds = %1321, %1318, %1286, %1254, %1222, %1190, %1158, %1126, %1094, %1062, %1030, %998, %966, %934, %902, %870, %838, %806, %774, %742, %707, %672, %640, %608, %576, %544, %512, %480, %445, %410, %375, %340, %305
  %1323 = load i32, ptr %3, align 4
  ret i32 %1323

1324:                                             ; preds = %1318, %1286, %1254, %1222, %1190, %1158, %1126, %1094, %1062, %1030, %998, %966, %934, %902, %870, %838, %806, %774, %742, %707, %672, %640, %608, %576, %544, %512, %480, %445, %410, %375, %340, %305
  unreachable
}

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!7, !7, i64 0}
!12 = !{!13, !13, i64 0}
!13 = !{!"_Bool", !7, i64 0}
!14 = !{i8 0, i8 2}
!15 = !{}
!16 = !{!17, !17, i64 0}
!17 = !{!"short", !7, i64 0}
!18 = !{!19, !19, i64 0}
!19 = !{!"long", !7, i64 0}
!20 = !{!21, !21, i64 0}
!21 = !{!"long long", !7, i64 0}


; 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 [41 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [50 x i8], align 1

; Function Attrs: nofree nounwind uwtable
define dso_local range(i32 0, 2) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca i8, align 1
  %4 = alloca i8, align 1
  %5 = alloca i8, align 1
  %6 = alloca i8, align 1
  %7 = alloca i16, align 2
  %8 = alloca i16, align 2
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i64, align 8
  %12 = alloca i64, align 8
  %13 = alloca i64, align 8
  %14 = alloca i64, align 8
  %15 = alloca i16, align 2
  %16 = alloca i16, align 2
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i64, align 8
  %20 = alloca i64, align 8
  %21 = alloca i64, align 8
  %22 = alloca i64, align 8
  %23 = alloca i64, align 8
  %24 = alloca i64, align 8
  %25 = alloca i64, align 8
  %26 = alloca i64, align 8
  %27 = alloca i64, align 8
  %28 = alloca i64, align 8
  %29 = alloca i64, align 8
  %30 = alloca i64, align 8
  %31 = alloca i64, align 8
  %32 = alloca i64, align 8
  %33 = alloca ptr, align 8
  %34 = alloca ptr, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3) #3
  store i8 0, ptr %3, align 1, !tbaa !5
  %35 = load atomic i8, ptr %3 seq_cst, align 1
  %36 = trunc i8 %35 to i1
  br i1 %36, label %37, label %40

37:                                               ; preds = %2
  %38 = load ptr, ptr @stderr, align 8, !tbaa !8
  %39 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %38, ptr noundef nonnull @.str) #4
  br label %.thread

40:                                               ; preds = %2
  store atomic i8 1, ptr %3 seq_cst, align 1
  %41 = atomicrmw xchg ptr %3, i8 1 seq_cst, align 1
  %42 = load atomic i8, ptr %3 seq_cst, align 1
  %43 = and i8 %41, 1
  %.not.not = icmp eq i8 %43, 0
  br i1 %.not.not, label %44, label %47

44:                                               ; preds = %40
  %45 = load ptr, ptr @stderr, align 8, !tbaa !8
  %46 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %45, ptr noundef nonnull @.str.1) #4
  br label %.thread

47:                                               ; preds = %40
  %48 = and i8 %42, 1
  %.not.not354 = icmp eq i8 %48, 0
  br i1 %.not.not354, label %49, label %52

49:                                               ; preds = %47
  %50 = load ptr, ptr @stderr, align 8, !tbaa !8
  %51 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %50, ptr noundef nonnull @.str.1) #4
  br label %.thread

.thread:                                          ; preds = %37, %44, %49
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #3
  br label %274

52:                                               ; preds = %47
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #3
  store i8 0, ptr %4, align 1, !tbaa !5
  %53 = load atomic i8, ptr %4 seq_cst, align 1
  %.not = icmp eq i8 %53, 0
  br i1 %.not, label %54, label %.thread512

54:                                               ; preds = %52
  store atomic i8 28, ptr %4 seq_cst, align 1
  %55 = atomicrmw xchg ptr %4, i8 42 seq_cst, align 1
  %56 = load atomic i8, ptr %4 seq_cst, align 1
  %.not355 = icmp eq i8 %55, 28
  %.not356 = icmp eq i8 %56, 42
  %or.cond = select i1 %.not355, i1 %.not356, i1 false
  br i1 %or.cond, label %59, label %.thread512

.thread512:                                       ; preds = %54, %52
  %.str.2.sink = phi ptr [ @.str.2, %52 ], [ @.str.3, %54 ]
  %57 = load ptr, ptr @stderr, align 8, !tbaa !8
  %58 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %57, ptr noundef nonnull %.str.2.sink) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  br label %274

59:                                               ; preds = %54
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %5) #3
  store i8 0, ptr %5, align 1, !tbaa !5
  %60 = load atomic i8, ptr %5 seq_cst, align 1
  %.not357 = icmp eq i8 %60, 0
  br i1 %.not357, label %61, label %.thread517

61:                                               ; preds = %59
  store atomic i8 28, ptr %5 seq_cst, align 1
  %62 = atomicrmw xchg ptr %5, i8 42 seq_cst, align 1
  %63 = load atomic i8, ptr %5 seq_cst, align 1
  %.not358 = icmp eq i8 %62, 28
  %.not359 = icmp eq i8 %63, 42
  %or.cond666 = select i1 %.not358, i1 %.not359, i1 false
  br i1 %or.cond666, label %66, label %.thread517

.thread517:                                       ; preds = %61, %59
  %.str.4.sink = phi ptr [ @.str.4, %59 ], [ @.str.5, %61 ]
  %64 = load ptr, ptr @stderr, align 8, !tbaa !8
  %65 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %64, ptr noundef nonnull %.str.4.sink) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #3
  br label %274

66:                                               ; preds = %61
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %5) #3
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %6) #3
  store i8 0, ptr %6, align 1, !tbaa !5
  %67 = load atomic i8, ptr %6 seq_cst, align 1
  %.not360 = icmp eq i8 %67, 0
  br i1 %.not360, label %68, label %.thread522

68:                                               ; preds = %66
  store atomic i8 28, ptr %6 seq_cst, align 1
  %69 = atomicrmw xchg ptr %6, i8 42 seq_cst, align 1
  %70 = load atomic i8, ptr %6 seq_cst, align 1
  %.not361 = icmp eq i8 %69, 28
  %.not362 = icmp eq i8 %70, 42
  %or.cond667 = select i1 %.not361, i1 %.not362, i1 false
  br i1 %or.cond667, label %73, label %.thread522

.thread522:                                       ; preds = %68, %66
  %.str.6.sink = phi ptr [ @.str.6, %66 ], [ @.str.7, %68 ]
  %71 = load ptr, ptr @stderr, align 8, !tbaa !8
  %72 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %71, ptr noundef nonnull %.str.6.sink) #4
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  br label %274

73:                                               ; preds = %68
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %6) #3
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %7) #3
  store i16 0, ptr %7, align 2, !tbaa !5
  %74 = load atomic i16, ptr %7 seq_cst, align 2
  %.not363 = icmp eq i16 %74, 0
  br i1 %.not363, label %75, label %.thread527

75:                                               ; preds = %73
  store atomic i16 28, ptr %7 seq_cst, align 2
  %76 = atomicrmw xchg ptr %7, i16 42 seq_cst, align 2
  %77 = load atomic i16, ptr %7 seq_cst, align 2
  %.not364 = icmp eq i16 %76, 28
  %.not365 = icmp eq i16 %77, 42
  %or.cond668 = select i1 %.not364, i1 %.not365, i1 false
  br i1 %or.cond668, label %80, label %.thread527

.thread527:                                       ; preds = %75, %73
  %.str.8.sink = phi ptr [ @.str.8, %73 ], [ @.str.9, %75 ]
  %78 = load ptr, ptr @stderr, align 8, !tbaa !8
  %79 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %78, ptr noundef nonnull %.str.8.sink) #4
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %7) #3
  br label %274

80:                                               ; preds = %75
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %7) #3
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %8) #3
  store i16 0, ptr %8, align 2, !tbaa !5
  %81 = load atomic i16, ptr %8 seq_cst, align 2
  %.not366 = icmp eq i16 %81, 0
  br i1 %.not366, label %82, label %.thread532

82:                                               ; preds = %80
  store atomic i16 28, ptr %8 seq_cst, align 2
  %83 = atomicrmw xchg ptr %8, i16 42 seq_cst, align 2
  %84 = load atomic i16, ptr %8 seq_cst, align 2
  %.not367 = icmp eq i16 %83, 28
  %.not368 = icmp eq i16 %84, 42
  %or.cond669 = select i1 %.not367, i1 %.not368, i1 false
  br i1 %or.cond669, label %87, label %.thread532

.thread532:                                       ; preds = %82, %80
  %.str.10.sink = phi ptr [ @.str.10, %80 ], [ @.str.11, %82 ]
  %85 = load ptr, ptr @stderr, align 8, !tbaa !8
  %86 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef nonnull %.str.10.sink) #4
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %8) #3
  br label %274

87:                                               ; preds = %82
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %8) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #3
  store i32 0, ptr %9, align 4, !tbaa !5
  %88 = load atomic i32, ptr %9 seq_cst, align 4
  %.not369 = icmp eq i32 %88, 0
  br i1 %.not369, label %89, label %.thread537

89:                                               ; preds = %87
  store atomic i32 28, ptr %9 seq_cst, align 4
  %90 = atomicrmw xchg ptr %9, i32 42 seq_cst, align 4
  %91 = load atomic i32, ptr %9 seq_cst, align 4
  %.not370 = icmp eq i32 %90, 28
  %.not371 = icmp eq i32 %91, 42
  %or.cond670 = select i1 %.not370, i1 %.not371, i1 false
  br i1 %or.cond670, label %94, label %.thread537

.thread537:                                       ; preds = %89, %87
  %.str.12.sink = phi ptr [ @.str.12, %87 ], [ @.str.13, %89 ]
  %92 = load ptr, ptr @stderr, align 8, !tbaa !8
  %93 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %92, ptr noundef nonnull %.str.12.sink) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #3
  br label %274

94:                                               ; preds = %89
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %10) #3
  store i32 0, ptr %10, align 4, !tbaa !5
  %95 = load atomic i32, ptr %10 seq_cst, align 4
  %.not372 = icmp eq i32 %95, 0
  br i1 %.not372, label %96, label %.thread542

96:                                               ; preds = %94
  store atomic i32 28, ptr %10 seq_cst, align 4
  %97 = atomicrmw xchg ptr %10, i32 42 seq_cst, align 4
  %98 = load atomic i32, ptr %10 seq_cst, align 4
  %.not373 = icmp eq i32 %97, 28
  %.not374 = icmp eq i32 %98, 42
  %or.cond671 = select i1 %.not373, i1 %.not374, i1 false
  br i1 %or.cond671, label %101, label %.thread542

.thread542:                                       ; preds = %96, %94
  %.str.14.sink = phi ptr [ @.str.14, %94 ], [ @.str.15, %96 ]
  %99 = load ptr, ptr @stderr, align 8, !tbaa !8
  %100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %99, ptr noundef nonnull %.str.14.sink) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #3
  br label %274

101:                                              ; preds = %96
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %10) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %11) #3
  store i64 0, ptr %11, align 8, !tbaa !5
  %102 = load atomic i64, ptr %11 seq_cst, align 8
  %.not375 = icmp eq i64 %102, 0
  br i1 %.not375, label %103, label %.thread547

103:                                              ; preds = %101
  store atomic i64 28, ptr %11 seq_cst, align 8
  %104 = atomicrmw xchg ptr %11, i64 42 seq_cst, align 8
  %105 = load atomic i64, ptr %11 seq_cst, align 8
  %.not376 = icmp eq i64 %104, 28
  %.not377 = icmp eq i64 %105, 42
  %or.cond672 = select i1 %.not376, i1 %.not377, i1 false
  br i1 %or.cond672, label %108, label %.thread547

.thread547:                                       ; preds = %103, %101
  %.str.16.sink = phi ptr [ @.str.16, %101 ], [ @.str.17, %103 ]
  %106 = load ptr, ptr @stderr, align 8, !tbaa !8
  %107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %106, ptr noundef nonnull %.str.16.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #3
  br label %274

108:                                              ; preds = %103
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %11) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #3
  store i64 0, ptr %12, align 8, !tbaa !5
  %109 = load atomic i64, ptr %12 seq_cst, align 8
  %.not378 = icmp eq i64 %109, 0
  br i1 %.not378, label %110, label %.thread552

110:                                              ; preds = %108
  store atomic i64 28, ptr %12 seq_cst, align 8
  %111 = atomicrmw xchg ptr %12, i64 42 seq_cst, align 8
  %112 = load atomic i64, ptr %12 seq_cst, align 8
  %.not379 = icmp eq i64 %111, 28
  %.not380 = icmp eq i64 %112, 42
  %or.cond673 = select i1 %.not379, i1 %.not380, i1 false
  br i1 %or.cond673, label %115, label %.thread552

.thread552:                                       ; preds = %110, %108
  %.str.18.sink = phi ptr [ @.str.18, %108 ], [ @.str.19, %110 ]
  %113 = load ptr, ptr @stderr, align 8, !tbaa !8
  %114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %113, ptr noundef nonnull %.str.18.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #3
  br label %274

115:                                              ; preds = %110
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #3
  store i64 0, ptr %13, align 8, !tbaa !5
  %116 = load atomic i64, ptr %13 seq_cst, align 8
  %.not381 = icmp eq i64 %116, 0
  br i1 %.not381, label %117, label %.thread557

117:                                              ; preds = %115
  store atomic i64 28, ptr %13 seq_cst, align 8
  %118 = atomicrmw xchg ptr %13, i64 42 seq_cst, align 8
  %119 = load atomic i64, ptr %13 seq_cst, align 8
  %.not382 = icmp eq i64 %118, 28
  %.not383 = icmp eq i64 %119, 42
  %or.cond674 = select i1 %.not382, i1 %.not383, i1 false
  br i1 %or.cond674, label %122, label %.thread557

.thread557:                                       ; preds = %117, %115
  %.str.20.sink = phi ptr [ @.str.20, %115 ], [ @.str.21, %117 ]
  %120 = load ptr, ptr @stderr, align 8, !tbaa !8
  %121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %120, ptr noundef nonnull %.str.20.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #3
  br label %274

122:                                              ; preds = %117
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #3
  store i64 0, ptr %14, align 8, !tbaa !5
  %123 = load atomic i64, ptr %14 seq_cst, align 8
  %.not384 = icmp eq i64 %123, 0
  br i1 %.not384, label %124, label %.thread562

124:                                              ; preds = %122
  store atomic i64 28, ptr %14 seq_cst, align 8
  %125 = atomicrmw xchg ptr %14, i64 42 seq_cst, align 8
  %126 = load atomic i64, ptr %14 seq_cst, align 8
  %.not385 = icmp eq i64 %125, 28
  %.not386 = icmp eq i64 %126, 42
  %or.cond675 = select i1 %.not385, i1 %.not386, i1 false
  br i1 %or.cond675, label %129, label %.thread562

.thread562:                                       ; preds = %124, %122
  %.str.22.sink = phi ptr [ @.str.22, %122 ], [ @.str.23, %124 ]
  %127 = load ptr, ptr @stderr, align 8, !tbaa !8
  %128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %127, ptr noundef nonnull %.str.22.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #3
  br label %274

129:                                              ; preds = %124
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #3
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %15) #3
  store i16 0, ptr %15, align 2, !tbaa !5
  %130 = load atomic i16, ptr %15 seq_cst, align 2
  %.not387 = icmp eq i16 %130, 0
  br i1 %.not387, label %131, label %.thread567

131:                                              ; preds = %129
  store atomic i16 28, ptr %15 seq_cst, align 2
  %132 = atomicrmw xchg ptr %15, i16 42 seq_cst, align 2
  %133 = load atomic i16, ptr %15 seq_cst, align 2
  %.not388 = icmp eq i16 %132, 28
  %.not389 = icmp eq i16 %133, 42
  %or.cond676 = select i1 %.not388, i1 %.not389, i1 false
  br i1 %or.cond676, label %136, label %.thread567

.thread567:                                       ; preds = %131, %129
  %.str.24.sink = phi ptr [ @.str.24, %129 ], [ @.str.25, %131 ]
  %134 = load ptr, ptr @stderr, align 8, !tbaa !8
  %135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %134, ptr noundef nonnull %.str.24.sink) #4
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %15) #3
  br label %274

136:                                              ; preds = %131
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %15) #3
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %16) #3
  store i16 0, ptr %16, align 2, !tbaa !5
  %137 = load atomic i16, ptr %16 seq_cst, align 2
  %.not390 = icmp eq i16 %137, 0
  br i1 %.not390, label %138, label %.thread572

138:                                              ; preds = %136
  store atomic i16 28, ptr %16 seq_cst, align 2
  %139 = atomicrmw xchg ptr %16, i16 42 seq_cst, align 2
  %140 = load atomic i16, ptr %16 seq_cst, align 2
  %.not391 = icmp eq i16 %139, 28
  %.not392 = icmp eq i16 %140, 42
  %or.cond677 = select i1 %.not391, i1 %.not392, i1 false
  br i1 %or.cond677, label %143, label %.thread572

.thread572:                                       ; preds = %138, %136
  %.str.26.sink = phi ptr [ @.str.26, %136 ], [ @.str.27, %138 ]
  %141 = load ptr, ptr @stderr, align 8, !tbaa !8
  %142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %141, ptr noundef nonnull %.str.26.sink) #4
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %16) #3
  br label %274

143:                                              ; preds = %138
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %16) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %17) #3
  store i32 0, ptr %17, align 4, !tbaa !5
  %144 = load atomic i32, ptr %17 seq_cst, align 4
  %.not393 = icmp eq i32 %144, 0
  br i1 %.not393, label %145, label %.thread577

145:                                              ; preds = %143
  store atomic i32 28, ptr %17 seq_cst, align 4
  %146 = atomicrmw xchg ptr %17, i32 42 seq_cst, align 4
  %147 = load atomic i32, ptr %17 seq_cst, align 4
  %.not394 = icmp eq i32 %146, 28
  %.not395 = icmp eq i32 %147, 42
  %or.cond678 = select i1 %.not394, i1 %.not395, i1 false
  br i1 %or.cond678, label %150, label %.thread577

.thread577:                                       ; preds = %145, %143
  %.str.28.sink = phi ptr [ @.str.28, %143 ], [ @.str.29, %145 ]
  %148 = load ptr, ptr @stderr, align 8, !tbaa !8
  %149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %148, ptr noundef nonnull %.str.28.sink) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #3
  br label %274

150:                                              ; preds = %145
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %17) #3
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #3
  store i32 0, ptr %18, align 4, !tbaa !5
  %151 = load atomic i32, ptr %18 seq_cst, align 4
  %.not396 = icmp eq i32 %151, 0
  br i1 %.not396, label %152, label %.thread582

152:                                              ; preds = %150
  store atomic i32 28, ptr %18 seq_cst, align 4
  %153 = atomicrmw xchg ptr %18, i32 42 seq_cst, align 4
  %154 = load atomic i32, ptr %18 seq_cst, align 4
  %.not397 = icmp eq i32 %153, 28
  %.not398 = icmp eq i32 %154, 42
  %or.cond679 = select i1 %.not397, i1 %.not398, i1 false
  br i1 %or.cond679, label %157, label %.thread582

.thread582:                                       ; preds = %152, %150
  %.str.30.sink = phi ptr [ @.str.30, %150 ], [ @.str.31, %152 ]
  %155 = load ptr, ptr @stderr, align 8, !tbaa !8
  %156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %155, ptr noundef nonnull %.str.30.sink) #4
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #3
  br label %274

157:                                              ; preds = %152
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #3
  store i64 0, ptr %19, align 8, !tbaa !5
  %158 = load atomic i64, ptr %19 seq_cst, align 8
  %.not399 = icmp eq i64 %158, 0
  br i1 %.not399, label %159, label %.thread587

159:                                              ; preds = %157
  store atomic i64 28, ptr %19 seq_cst, align 8
  %160 = atomicrmw xchg ptr %19, i64 42 seq_cst, align 8
  %161 = load atomic i64, ptr %19 seq_cst, align 8
  %.not400 = icmp eq i64 %160, 28
  %.not401 = icmp eq i64 %161, 42
  %or.cond680 = select i1 %.not400, i1 %.not401, i1 false
  br i1 %or.cond680, label %164, label %.thread587

.thread587:                                       ; preds = %159, %157
  %.str.32.sink = phi ptr [ @.str.32, %157 ], [ @.str.33, %159 ]
  %162 = load ptr, ptr @stderr, align 8, !tbaa !8
  %163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %162, ptr noundef nonnull %.str.32.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #3
  br label %274

164:                                              ; preds = %159
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #3
  store i64 0, ptr %20, align 8, !tbaa !5
  %165 = load atomic i64, ptr %20 seq_cst, align 8
  %.not402 = icmp eq i64 %165, 0
  br i1 %.not402, label %166, label %.thread592

166:                                              ; preds = %164
  store atomic i64 28, ptr %20 seq_cst, align 8
  %167 = atomicrmw xchg ptr %20, i64 42 seq_cst, align 8
  %168 = load atomic i64, ptr %20 seq_cst, align 8
  %.not403 = icmp eq i64 %167, 28
  %.not404 = icmp eq i64 %168, 42
  %or.cond681 = select i1 %.not403, i1 %.not404, i1 false
  br i1 %or.cond681, label %171, label %.thread592

.thread592:                                       ; preds = %166, %164
  %.str.34.sink = phi ptr [ @.str.34, %164 ], [ @.str.35, %166 ]
  %169 = load ptr, ptr @stderr, align 8, !tbaa !8
  %170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %169, ptr noundef nonnull %.str.34.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #3
  br label %274

171:                                              ; preds = %166
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %21) #3
  store i64 0, ptr %21, align 8, !tbaa !5
  %172 = load atomic i64, ptr %21 seq_cst, align 8
  %.not405 = icmp eq i64 %172, 0
  br i1 %.not405, label %173, label %.thread597

173:                                              ; preds = %171
  store atomic i64 28, ptr %21 seq_cst, align 8
  %174 = atomicrmw xchg ptr %21, i64 42 seq_cst, align 8
  %175 = load atomic i64, ptr %21 seq_cst, align 8
  %.not406 = icmp eq i64 %174, 28
  %.not407 = icmp eq i64 %175, 42
  %or.cond682 = select i1 %.not406, i1 %.not407, i1 false
  br i1 %or.cond682, label %178, label %.thread597

.thread597:                                       ; preds = %173, %171
  %.str.36.sink = phi ptr [ @.str.36, %171 ], [ @.str.37, %173 ]
  %176 = load ptr, ptr @stderr, align 8, !tbaa !8
  %177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %176, ptr noundef nonnull %.str.36.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #3
  br label %274

178:                                              ; preds = %173
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %21) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #3
  store i64 0, ptr %22, align 8, !tbaa !5
  %179 = load atomic i64, ptr %22 seq_cst, align 8
  %.not408 = icmp eq i64 %179, 0
  br i1 %.not408, label %180, label %.thread602

180:                                              ; preds = %178
  store atomic i64 28, ptr %22 seq_cst, align 8
  %181 = atomicrmw xchg ptr %22, i64 42 seq_cst, align 8
  %182 = load atomic i64, ptr %22 seq_cst, align 8
  %.not409 = icmp eq i64 %181, 28
  %.not410 = icmp eq i64 %182, 42
  %or.cond683 = select i1 %.not409, i1 %.not410, i1 false
  br i1 %or.cond683, label %185, label %.thread602

.thread602:                                       ; preds = %180, %178
  %.str.38.sink = phi ptr [ @.str.38, %178 ], [ @.str.39, %180 ]
  %183 = load ptr, ptr @stderr, align 8, !tbaa !8
  %184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull %.str.38.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #3
  br label %274

185:                                              ; preds = %180
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %23) #3
  store i64 0, ptr %23, align 8, !tbaa !5
  %186 = load atomic i64, ptr %23 seq_cst, align 8
  %.not411 = icmp eq i64 %186, 0
  br i1 %.not411, label %187, label %.thread607

187:                                              ; preds = %185
  store atomic i64 28, ptr %23 seq_cst, align 8
  %188 = atomicrmw xchg ptr %23, i64 42 seq_cst, align 8
  %189 = load atomic i64, ptr %23 seq_cst, align 8
  %.not412 = icmp eq i64 %188, 28
  %.not413 = icmp eq i64 %189, 42
  %or.cond684 = select i1 %.not412, i1 %.not413, i1 false
  br i1 %or.cond684, label %192, label %.thread607

.thread607:                                       ; preds = %187, %185
  %.str.40.sink = phi ptr [ @.str.40, %185 ], [ @.str.41, %187 ]
  %190 = load ptr, ptr @stderr, align 8, !tbaa !8
  %191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %190, ptr noundef nonnull %.str.40.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #3
  br label %274

192:                                              ; preds = %187
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %23) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %24) #3
  store i64 0, ptr %24, align 8, !tbaa !5
  %193 = load atomic i64, ptr %24 seq_cst, align 8
  %.not414 = icmp eq i64 %193, 0
  br i1 %.not414, label %194, label %.thread612

194:                                              ; preds = %192
  store atomic i64 28, ptr %24 seq_cst, align 8
  %195 = atomicrmw xchg ptr %24, i64 42 seq_cst, align 8
  %196 = load atomic i64, ptr %24 seq_cst, align 8
  %.not415 = icmp eq i64 %195, 28
  %.not416 = icmp eq i64 %196, 42
  %or.cond685 = select i1 %.not415, i1 %.not416, i1 false
  br i1 %or.cond685, label %199, label %.thread612

.thread612:                                       ; preds = %194, %192
  %.str.42.sink = phi ptr [ @.str.42, %192 ], [ @.str.43, %194 ]
  %197 = load ptr, ptr @stderr, align 8, !tbaa !8
  %198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %197, ptr noundef nonnull %.str.42.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #3
  br label %274

199:                                              ; preds = %194
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %24) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %25) #3
  store i64 0, ptr %25, align 8, !tbaa !5
  %200 = load atomic i64, ptr %25 seq_cst, align 8
  %.not417 = icmp eq i64 %200, 0
  br i1 %.not417, label %201, label %.thread617

201:                                              ; preds = %199
  store atomic i64 28, ptr %25 seq_cst, align 8
  %202 = atomicrmw xchg ptr %25, i64 42 seq_cst, align 8
  %203 = load atomic i64, ptr %25 seq_cst, align 8
  %.not418 = icmp eq i64 %202, 28
  %.not419 = icmp eq i64 %203, 42
  %or.cond686 = select i1 %.not418, i1 %.not419, i1 false
  br i1 %or.cond686, label %206, label %.thread617

.thread617:                                       ; preds = %201, %199
  %.str.44.sink = phi ptr [ @.str.44, %199 ], [ @.str.45, %201 ]
  %204 = load ptr, ptr @stderr, align 8, !tbaa !8
  %205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %204, ptr noundef nonnull %.str.44.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #3
  br label %274

206:                                              ; preds = %201
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %25) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %26) #3
  store i64 0, ptr %26, align 8, !tbaa !5
  %207 = load atomic i64, ptr %26 seq_cst, align 8
  %.not420 = icmp eq i64 %207, 0
  br i1 %.not420, label %208, label %.thread622

208:                                              ; preds = %206
  store atomic i64 28, ptr %26 seq_cst, align 8
  %209 = atomicrmw xchg ptr %26, i64 42 seq_cst, align 8
  %210 = load atomic i64, ptr %26 seq_cst, align 8
  %.not421 = icmp eq i64 %209, 28
  %.not422 = icmp eq i64 %210, 42
  %or.cond687 = select i1 %.not421, i1 %.not422, i1 false
  br i1 %or.cond687, label %213, label %.thread622

.thread622:                                       ; preds = %208, %206
  %.str.46.sink = phi ptr [ @.str.46, %206 ], [ @.str.47, %208 ]
  %211 = load ptr, ptr @stderr, align 8, !tbaa !8
  %212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %211, ptr noundef nonnull %.str.46.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #3
  br label %274

213:                                              ; preds = %208
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %26) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %27) #3
  store i64 0, ptr %27, align 8, !tbaa !5
  %214 = load atomic i64, ptr %27 seq_cst, align 8
  %.not423 = icmp eq i64 %214, 0
  br i1 %.not423, label %215, label %.thread627

215:                                              ; preds = %213
  store atomic i64 28, ptr %27 seq_cst, align 8
  %216 = atomicrmw xchg ptr %27, i64 42 seq_cst, align 8
  %217 = load atomic i64, ptr %27 seq_cst, align 8
  %.not424 = icmp eq i64 %216, 28
  %.not425 = icmp eq i64 %217, 42
  %or.cond688 = select i1 %.not424, i1 %.not425, i1 false
  br i1 %or.cond688, label %220, label %.thread627

.thread627:                                       ; preds = %215, %213
  %.str.48.sink = phi ptr [ @.str.48, %213 ], [ @.str.49, %215 ]
  %218 = load ptr, ptr @stderr, align 8, !tbaa !8
  %219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %218, ptr noundef nonnull %.str.48.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #3
  br label %274

220:                                              ; preds = %215
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %27) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #3
  store i64 0, ptr %28, align 8, !tbaa !5
  %221 = load atomic i64, ptr %28 seq_cst, align 8
  %.not426 = icmp eq i64 %221, 0
  br i1 %.not426, label %222, label %.thread632

222:                                              ; preds = %220
  store atomic i64 28, ptr %28 seq_cst, align 8
  %223 = atomicrmw xchg ptr %28, i64 42 seq_cst, align 8
  %224 = load atomic i64, ptr %28 seq_cst, align 8
  %.not427 = icmp eq i64 %223, 28
  %.not428 = icmp eq i64 %224, 42
  %or.cond689 = select i1 %.not427, i1 %.not428, i1 false
  br i1 %or.cond689, label %227, label %.thread632

.thread632:                                       ; preds = %222, %220
  %.str.50.sink = phi ptr [ @.str.50, %220 ], [ @.str.51, %222 ]
  %225 = load ptr, ptr @stderr, align 8, !tbaa !8
  %226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %225, ptr noundef nonnull %.str.50.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #3
  br label %274

227:                                              ; preds = %222
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #3
  store i64 0, ptr %29, align 8, !tbaa !5
  %228 = load atomic i64, ptr %29 seq_cst, align 8
  %.not429 = icmp eq i64 %228, 0
  br i1 %.not429, label %229, label %.thread637

229:                                              ; preds = %227
  store atomic i64 28, ptr %29 seq_cst, align 8
  %230 = atomicrmw xchg ptr %29, i64 42 seq_cst, align 8
  %231 = load atomic i64, ptr %29 seq_cst, align 8
  %.not430 = icmp eq i64 %230, 28
  %.not431 = icmp eq i64 %231, 42
  %or.cond690 = select i1 %.not430, i1 %.not431, i1 false
  br i1 %or.cond690, label %234, label %.thread637

.thread637:                                       ; preds = %229, %227
  %.str.52.sink = phi ptr [ @.str.52, %227 ], [ @.str.53, %229 ]
  %232 = load ptr, ptr @stderr, align 8, !tbaa !8
  %233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %232, ptr noundef nonnull %.str.52.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #3
  br label %274

234:                                              ; preds = %229
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #3
  store i64 0, ptr %30, align 8, !tbaa !5
  %235 = load atomic i64, ptr %30 seq_cst, align 8
  %.not432 = icmp eq i64 %235, 0
  br i1 %.not432, label %236, label %.thread642

236:                                              ; preds = %234
  store atomic i64 28, ptr %30 seq_cst, align 8
  %237 = atomicrmw xchg ptr %30, i64 42 seq_cst, align 8
  %238 = load atomic i64, ptr %30 seq_cst, align 8
  %.not433 = icmp eq i64 %237, 28
  %.not434 = icmp eq i64 %238, 42
  %or.cond691 = select i1 %.not433, i1 %.not434, i1 false
  br i1 %or.cond691, label %241, label %.thread642

.thread642:                                       ; preds = %236, %234
  %.str.54.sink = phi ptr [ @.str.54, %234 ], [ @.str.55, %236 ]
  %239 = load ptr, ptr @stderr, align 8, !tbaa !8
  %240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef nonnull %.str.54.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  br label %274

241:                                              ; preds = %236
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #3
  store i64 0, ptr %31, align 8, !tbaa !5
  %242 = load atomic i64, ptr %31 seq_cst, align 8
  %.not435 = icmp eq i64 %242, 0
  br i1 %.not435, label %243, label %.thread647

243:                                              ; preds = %241
  store atomic i64 28, ptr %31 seq_cst, align 8
  %244 = atomicrmw xchg ptr %31, i64 42 seq_cst, align 8
  %245 = load atomic i64, ptr %31 seq_cst, align 8
  %.not436 = icmp eq i64 %244, 28
  %.not437 = icmp eq i64 %245, 42
  %or.cond692 = select i1 %.not436, i1 %.not437, i1 false
  br i1 %or.cond692, label %248, label %.thread647

.thread647:                                       ; preds = %243, %241
  %.str.56.sink = phi ptr [ @.str.56, %241 ], [ @.str.57, %243 ]
  %246 = load ptr, ptr @stderr, align 8, !tbaa !8
  %247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %246, ptr noundef nonnull %.str.56.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #3
  br label %274

248:                                              ; preds = %243
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %32) #3
  store i64 0, ptr %32, align 8, !tbaa !5
  %249 = load atomic i64, ptr %32 seq_cst, align 8
  %.not438 = icmp eq i64 %249, 0
  br i1 %.not438, label %250, label %.thread652

250:                                              ; preds = %248
  store atomic i64 28, ptr %32 seq_cst, align 8
  %251 = atomicrmw xchg ptr %32, i64 42 seq_cst, align 8
  %252 = load atomic i64, ptr %32 seq_cst, align 8
  %.not439 = icmp eq i64 %251, 28
  %.not440 = icmp eq i64 %252, 42
  %or.cond693 = select i1 %.not439, i1 %.not440, i1 false
  br i1 %or.cond693, label %255, label %.thread652

.thread652:                                       ; preds = %250, %248
  %.str.58.sink = phi ptr [ @.str.58, %248 ], [ @.str.59, %250 ]
  %253 = load ptr, ptr @stderr, align 8, !tbaa !8
  %254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %253, ptr noundef nonnull %.str.58.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #3
  br label %274

255:                                              ; preds = %250
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %32) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %33) #3
  store ptr null, ptr %33, align 8, !tbaa !5
  %256 = load atomic i64, ptr %33 seq_cst, align 8
  %.not441 = icmp eq i64 %256, 0
  br i1 %.not441, label %257, label %.thread657

257:                                              ; preds = %255
  store atomic i64 28, ptr %33 seq_cst, align 8
  %258 = atomicrmw xchg ptr %33, i64 42 seq_cst, align 8
  %259 = inttoptr i64 %258 to ptr
  %260 = load atomic i64, ptr %33 seq_cst, align 8
  %.not442 = icmp eq ptr %259, inttoptr (i64 28 to ptr)
  %261 = inttoptr i64 %260 to ptr
  %.not443 = icmp eq ptr %261, inttoptr (i64 42 to ptr)
  %or.cond694 = select i1 %.not442, i1 %.not443, i1 false
  br i1 %or.cond694, label %264, label %.thread657

.thread657:                                       ; preds = %257, %255
  %.str.60.sink = phi ptr [ @.str.60, %255 ], [ @.str.61, %257 ]
  %262 = load ptr, ptr @stderr, align 8, !tbaa !8
  %263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %262, ptr noundef nonnull %.str.60.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #3
  br label %274

264:                                              ; preds = %257
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %33) #3
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #3
  store ptr null, ptr %34, align 8, !tbaa !5
  %265 = load atomic i64, ptr %34 seq_cst, align 8
  %.not444 = icmp eq i64 %265, 0
  br i1 %.not444, label %266, label %.thread662

266:                                              ; preds = %264
  store atomic i64 28, ptr %34 seq_cst, align 8
  %267 = atomicrmw xchg ptr %34, i64 42 seq_cst, align 8
  %268 = inttoptr i64 %267 to ptr
  %269 = load atomic i64, ptr %34 seq_cst, align 8
  %.not445 = icmp eq ptr %268, inttoptr (i64 28 to ptr)
  %270 = inttoptr i64 %269 to ptr
  %.not446 = icmp eq ptr %270, inttoptr (i64 42 to ptr)
  %or.cond695 = select i1 %.not445, i1 %.not446, i1 false
  br i1 %or.cond695, label %273, label %.thread662

.thread662:                                       ; preds = %266, %264
  %.str.62.sink = phi ptr [ @.str.62, %264 ], [ @.str.63, %266 ]
  %271 = load ptr, ptr @stderr, align 8, !tbaa !8
  %272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %271, ptr noundef nonnull %.str.62.sink) #4
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #3
  br label %274

273:                                              ; preds = %266
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #3
  br label %274

274:                                              ; preds = %273, %.thread662, %.thread657, %.thread652, %.thread647, %.thread642, %.thread637, %.thread632, %.thread627, %.thread622, %.thread617, %.thread612, %.thread607, %.thread602, %.thread597, %.thread592, %.thread587, %.thread582, %.thread577, %.thread572, %.thread567, %.thread562, %.thread557, %.thread552, %.thread547, %.thread542, %.thread537, %.thread532, %.thread527, %.thread522, %.thread517, %.thread512, %.thread
  %.64 = phi i32 [ 1, %.thread ], [ 1, %.thread512 ], [ 1, %.thread517 ], [ 1, %.thread522 ], [ 1, %.thread527 ], [ 1, %.thread532 ], [ 1, %.thread537 ], [ 1, %.thread542 ], [ 1, %.thread547 ], [ 1, %.thread552 ], [ 1, %.thread557 ], [ 1, %.thread562 ], [ 1, %.thread567 ], [ 1, %.thread572 ], [ 1, %.thread577 ], [ 1, %.thread582 ], [ 1, %.thread587 ], [ 1, %.thread592 ], [ 1, %.thread597 ], [ 1, %.thread602 ], [ 1, %.thread607 ], [ 1, %.thread612 ], [ 1, %.thread617 ], [ 1, %.thread622 ], [ 1, %.thread627 ], [ 1, %.thread632 ], [ 1, %.thread637 ], [ 1, %.thread642 ], [ 1, %.thread647 ], [ 1, %.thread652 ], [ 1, %.thread657 ], [ 0, %273 ], [ 1, %.thread662 ]
  ret i32 %.64
}

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

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

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

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"omnipotent char", !7, i64 0}
!7 = !{!"Simple C/C++ TBAA"}
!8 = !{!9, !9, i64 0}
!9 = !{!"any pointer", !6, i64 0}


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