; LLVM IR from aws/s2n-tls :: tests/unit (s2n_stuffer_network_order_test)

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

%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_stuffer_reservation = type { ptr, i32, i8 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [89 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [77 x i8], align 1
@__const.main.test_values = external hidden unnamed_addr constant [4 x i32], align 16
@.str.19 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [48 x i8], align 1
@__const.main.test_values.22 = external hidden unnamed_addr constant [4 x i32], align 16
@.str.23 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [75 x i8], align 1
@__const.main.expected_bytes = external hidden unnamed_addr constant [2 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.expected_bytes.43 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [48 x i8], align 1
@__const.main.test_sizes = external hidden unnamed_addr constant [6 x i16], align 2
@.str.54 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [25 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 i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %struct.s2n_stuffer, align 8
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i8, align 1
  %18 = alloca i8, align 1
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i16, align 2
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca [4 x i32], align 16
  %30 = alloca i64, align 8
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i16, align 2
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca [4 x i32], align 16
  %41 = alloca i64, align 8
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i16, align 2
  %52 = alloca %struct.s2n_stuffer_reservation, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %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 i16, align 2
  %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 i16, align 2
  %71 = alloca i32, align 4
  %72 = alloca [2 x i8], align 1
  %73 = alloca [2 x i8], align 1
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i16, align 2
  %84 = alloca %struct.s2n_stuffer_reservation, align 8
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i16, align 2
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i16, align 2
  %103 = alloca i32, align 4
  %104 = alloca [3 x i8], align 1
  %105 = alloca [3 x i8], align 1
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i16, align 2
  %116 = alloca %struct.s2n_stuffer_reservation, align 8
  %117 = alloca %struct.s2n_stuffer_reservation, align 8
  %118 = alloca i32, align 4
  %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 i32, align 4
  %136 = alloca i16, align 2
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i16, align 2
  %141 = alloca i32, align 4
  %142 = alloca i16, align 2
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i16, align 2
  %157 = alloca %struct.s2n_stuffer_reservation, align 8
  %158 = alloca i32, align 4
  %159 = alloca [6 x i16], align 2
  %160 = alloca i64, align 8
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  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
  br label %171

171:                                              ; preds = %2
  br label %172

172:                                              ; preds = %171
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %173 = load ptr, ptr @stdout, align 8, !tbaa !9
  %174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %173, ptr noundef @.str, ptr noundef @.str.1) #10
  %175 = load ptr, ptr @stdout, align 8, !tbaa !9
  %176 = call i32 @fflush(ptr noundef %175)
  br label %177

177:                                              ; preds = %172
  %178 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %179 = icmp eq i32 %178, -1
  br i1 %179, label %180, label %231

180:                                              ; preds = %177
  br label %181

181:                                              ; preds = %180
  br label %182

182:                                              ; preds = %181
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #10
  %183 = call ptr @__errno_location() #11
  %184 = load i32, ptr %183, align 4, !tbaa !5
  store i32 %184, ptr %6, align 4, !tbaa !5
  %185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %186 = call i32 @s2n_print_stacktrace(ptr noundef %185)
  %187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %188 = trunc i8 %187 to i1
  br i1 %188, label %189, label %211

189:                                              ; preds = %182
  %190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %191 = call i32 @fileno(ptr noundef %190) #10
  %192 = call i32 @isatty(i32 noundef %191) #10
  %193 = icmp ne i32 %192, 0
  br i1 %193, label %194, label %211

194:                                              ; preds = %189
  %195 = load i32, ptr %6, align 4, !tbaa !5
  %196 = call ptr @__errno_location() #11
  store i32 %195, ptr %196, align 4, !tbaa !5
  %197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %198 = load i32, ptr @test_count, align 4, !tbaa !5
  %199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %200 = load i32, ptr %199, align 4, !tbaa !5
  %201 = call ptr @s2n_strerror(i32 noundef %200, ptr noundef @.str.4)
  %202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %204 = call ptr @s2n_strerror_debug(i32 noundef %203, ptr noundef @.str.4)
  %205 = call ptr @__errno_location() #11
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = call ptr @strerror(i32 noundef %206) #10
  %208 = call ptr @__errno_location() #11
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %197, ptr noundef @.str.2, i32 noundef %198, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 28, ptr noundef %201, ptr noundef %204, ptr noundef %207, i32 noundef %209) #10
  br label %228

211:                                              ; preds = %189, %182
  %212 = load i32, ptr %6, align 4, !tbaa !5
  %213 = call ptr @__errno_location() #11
  store i32 %212, ptr %213, align 4, !tbaa !5
  %214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %215 = load i32, ptr @test_count, align 4, !tbaa !5
  %216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %217 = load i32, ptr %216, align 4, !tbaa !5
  %218 = call ptr @s2n_strerror(i32 noundef %217, ptr noundef @.str.4)
  %219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %220 = load i32, ptr %219, align 4, !tbaa !5
  %221 = call ptr @s2n_strerror_debug(i32 noundef %220, ptr noundef @.str.4)
  %222 = call ptr @__errno_location() #11
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = call ptr @strerror(i32 noundef %223) #10
  %225 = call ptr @__errno_location() #11
  %226 = load i32, ptr %225, align 4, !tbaa !5
  %227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %214, ptr noundef @.str.5, i32 noundef %215, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 28, ptr noundef %218, ptr noundef %221, ptr noundef %224, i32 noundef %226) #10
  br label %228

228:                                              ; preds = %211, %194
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #10
  br label %229

229:                                              ; preds = %228
  call void @exit(i32 noundef 1) #12
  unreachable

230:                                              ; No predecessors!
  br label %231

231:                                              ; preds = %230, %177
  br label %232

232:                                              ; preds = %231
  br label %233

233:                                              ; preds = %232
  %234 = load i32, ptr @test_count, align 4, !tbaa !5
  %235 = add nsw i32 %234, 1
  store i32 %235, ptr @test_count, align 4, !tbaa !5
  %236 = call i32 @s2n_enable_atexit()
  %237 = icmp eq i32 %236, -1
  br i1 %237, label %238, label %289

238:                                              ; preds = %233
  br label %239

239:                                              ; preds = %238
  br label %240

240:                                              ; preds = %239
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #10
  %241 = call ptr @__errno_location() #11
  %242 = load i32, ptr %241, align 4, !tbaa !5
  store i32 %242, ptr %7, align 4, !tbaa !5
  %243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %244 = call i32 @s2n_print_stacktrace(ptr noundef %243)
  %245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %246 = trunc i8 %245 to i1
  br i1 %246, label %247, label %269

247:                                              ; preds = %240
  %248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %249 = call i32 @fileno(ptr noundef %248) #10
  %250 = call i32 @isatty(i32 noundef %249) #10
  %251 = icmp ne i32 %250, 0
  br i1 %251, label %252, label %269

252:                                              ; preds = %247
  %253 = load i32, ptr %7, align 4, !tbaa !5
  %254 = call ptr @__errno_location() #11
  store i32 %253, ptr %254, align 4, !tbaa !5
  %255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %256 = load i32, ptr @test_count, align 4, !tbaa !5
  %257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %258 = load i32, ptr %257, align 4, !tbaa !5
  %259 = call ptr @s2n_strerror(i32 noundef %258, ptr noundef @.str.4)
  %260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %261 = load i32, ptr %260, align 4, !tbaa !5
  %262 = call ptr @s2n_strerror_debug(i32 noundef %261, ptr noundef @.str.4)
  %263 = call ptr @__errno_location() #11
  %264 = load i32, ptr %263, align 4, !tbaa !5
  %265 = call ptr @strerror(i32 noundef %264) #10
  %266 = call ptr @__errno_location() #11
  %267 = load i32, ptr %266, align 4, !tbaa !5
  %268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %255, ptr noundef @.str.2, i32 noundef %256, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 28, ptr noundef %259, ptr noundef %262, ptr noundef %265, i32 noundef %267) #10
  br label %286

269:                                              ; preds = %247, %240
  %270 = load i32, ptr %7, align 4, !tbaa !5
  %271 = call ptr @__errno_location() #11
  store i32 %270, ptr %271, align 4, !tbaa !5
  %272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %273 = load i32, ptr @test_count, align 4, !tbaa !5
  %274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %275 = load i32, ptr %274, align 4, !tbaa !5
  %276 = call ptr @s2n_strerror(i32 noundef %275, ptr noundef @.str.4)
  %277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %278 = load i32, ptr %277, align 4, !tbaa !5
  %279 = call ptr @s2n_strerror_debug(i32 noundef %278, ptr noundef @.str.4)
  %280 = call ptr @__errno_location() #11
  %281 = load i32, ptr %280, align 4, !tbaa !5
  %282 = call ptr @strerror(i32 noundef %281) #10
  %283 = call ptr @__errno_location() #11
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %272, ptr noundef @.str.5, i32 noundef %273, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 28, ptr noundef %276, ptr noundef %279, ptr noundef %282, i32 noundef %284) #10
  br label %286

286:                                              ; preds = %269, %252
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #10
  br label %287

287:                                              ; preds = %286
  call void @exit(i32 noundef 1) #12
  unreachable

288:                                              ; No predecessors!
  br label %289

289:                                              ; preds = %288, %233
  br label %290

290:                                              ; preds = %289
  br label %291

291:                                              ; preds = %290
  br label %292

292:                                              ; preds = %291
  %293 = call i32 @s2n_init()
  %294 = icmp eq i32 %293, -1
  br i1 %294, label %295, label %346

295:                                              ; preds = %292
  br label %296

296:                                              ; preds = %295
  br label %297

297:                                              ; preds = %296
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %298 = call ptr @__errno_location() #11
  %299 = load i32, ptr %298, align 4, !tbaa !5
  store i32 %299, ptr %8, align 4, !tbaa !5
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = call i32 @s2n_print_stacktrace(ptr noundef %300)
  %302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %303 = trunc i8 %302 to i1
  br i1 %303, label %304, label %326

304:                                              ; preds = %297
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = call i32 @fileno(ptr noundef %305) #10
  %307 = call i32 @isatty(i32 noundef %306) #10
  %308 = icmp ne i32 %307, 0
  br i1 %308, label %309, label %326

309:                                              ; preds = %304
  %310 = load i32, ptr %8, align 4, !tbaa !5
  %311 = call ptr @__errno_location() #11
  store i32 %310, ptr %311, align 4, !tbaa !5
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = load i32, ptr @test_count, align 4, !tbaa !5
  %314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %315 = load i32, ptr %314, align 4, !tbaa !5
  %316 = call ptr @s2n_strerror(i32 noundef %315, ptr noundef @.str.4)
  %317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %318 = load i32, ptr %317, align 4, !tbaa !5
  %319 = call ptr @s2n_strerror_debug(i32 noundef %318, ptr noundef @.str.4)
  %320 = call ptr @__errno_location() #11
  %321 = load i32, ptr %320, align 4, !tbaa !5
  %322 = call ptr @strerror(i32 noundef %321) #10
  %323 = call ptr @__errno_location() #11
  %324 = load i32, ptr %323, align 4, !tbaa !5
  %325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %312, ptr noundef @.str.2, i32 noundef %313, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 28, ptr noundef %316, ptr noundef %319, ptr noundef %322, i32 noundef %324) #10
  br label %343

326:                                              ; preds = %304, %297
  %327 = load i32, ptr %8, align 4, !tbaa !5
  %328 = call ptr @__errno_location() #11
  store i32 %327, ptr %328, align 4, !tbaa !5
  %329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %330 = load i32, ptr @test_count, align 4, !tbaa !5
  %331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %332 = load i32, ptr %331, align 4, !tbaa !5
  %333 = call ptr @s2n_strerror(i32 noundef %332, ptr noundef @.str.4)
  %334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %335 = load i32, ptr %334, align 4, !tbaa !5
  %336 = call ptr @s2n_strerror_debug(i32 noundef %335, ptr noundef @.str.4)
  %337 = call ptr @__errno_location() #11
  %338 = load i32, ptr %337, align 4, !tbaa !5
  %339 = call ptr @strerror(i32 noundef %338) #10
  %340 = call ptr @__errno_location() #11
  %341 = load i32, ptr %340, align 4, !tbaa !5
  %342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %329, ptr noundef @.str.5, i32 noundef %330, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 28, ptr noundef %333, ptr noundef %336, ptr noundef %339, i32 noundef %341) #10
  br label %343

343:                                              ; preds = %326, %309
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %344

344:                                              ; preds = %343
  call void @exit(i32 noundef 1) #12
  unreachable

345:                                              ; No predecessors!
  br label %346

346:                                              ; preds = %345, %292
  br label %347

347:                                              ; preds = %346
  br label %348

348:                                              ; preds = %347
  br label %349

349:                                              ; preds = %348
  %350 = load i32, ptr @test_count, align 4, !tbaa !5
  %351 = add nsw i32 %350, 1
  store i32 %351, ptr @test_count, align 4, !tbaa !5
  %352 = call i32 (...) @s2n_disable_tls13_in_test()
  %353 = icmp eq i32 %352, -1
  br i1 %353, label %354, label %405

354:                                              ; preds = %349
  br label %355

355:                                              ; preds = %354
  br label %356

356:                                              ; preds = %355
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #10
  %357 = call ptr @__errno_location() #11
  %358 = load i32, ptr %357, align 4, !tbaa !5
  store i32 %358, ptr %9, align 4, !tbaa !5
  %359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %360 = call i32 @s2n_print_stacktrace(ptr noundef %359)
  %361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %362 = trunc i8 %361 to i1
  br i1 %362, label %363, label %385

363:                                              ; preds = %356
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = call i32 @fileno(ptr noundef %364) #10
  %366 = call i32 @isatty(i32 noundef %365) #10
  %367 = icmp ne i32 %366, 0
  br i1 %367, label %368, label %385

368:                                              ; preds = %363
  %369 = load i32, ptr %9, align 4, !tbaa !5
  %370 = call ptr @__errno_location() #11
  store i32 %369, ptr %370, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = load i32, ptr @test_count, align 4, !tbaa !5
  %373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror(i32 noundef %374, ptr noundef @.str.4)
  %376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %377 = load i32, ptr %376, align 4, !tbaa !5
  %378 = call ptr @s2n_strerror_debug(i32 noundef %377, ptr noundef @.str.4)
  %379 = call ptr @__errno_location() #11
  %380 = load i32, ptr %379, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #10
  %382 = call ptr @__errno_location() #11
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef @.str.2, i32 noundef %372, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 29, ptr noundef %375, ptr noundef %378, ptr noundef %381, i32 noundef %383) #10
  br label %402

385:                                              ; preds = %363, %356
  %386 = load i32, ptr %9, align 4, !tbaa !5
  %387 = call ptr @__errno_location() #11
  store i32 %386, ptr %387, align 4, !tbaa !5
  %388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %389 = load i32, ptr @test_count, align 4, !tbaa !5
  %390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %391 = load i32, ptr %390, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror(i32 noundef %391, ptr noundef @.str.4)
  %393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @s2n_strerror_debug(i32 noundef %394, ptr noundef @.str.4)
  %396 = call ptr @__errno_location() #11
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call ptr @strerror(i32 noundef %397) #10
  %399 = call ptr @__errno_location() #11
  %400 = load i32, ptr %399, align 4, !tbaa !5
  %401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %388, ptr noundef @.str.5, i32 noundef %389, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 29, ptr noundef %392, ptr noundef %395, ptr noundef %398, i32 noundef %400) #10
  br label %402

402:                                              ; preds = %385, %368
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #10
  br label %403

403:                                              ; preds = %402
  call void @exit(i32 noundef 1) #12
  unreachable

404:                                              ; No predecessors!
  br label %405

405:                                              ; preds = %404, %349
  br label %406

406:                                              ; preds = %405
  call void @llvm.lifetime.start.p0(i64 40, ptr %10) #10
  call void @llvm.memset.p0.i64(ptr align 8 %10, i8 0, i64 40, i1 false)
  br label %407

407:                                              ; preds = %406
  %408 = load i32, ptr @test_count, align 4, !tbaa !5
  %409 = add nsw i32 %408, 1
  store i32 %409, ptr @test_count, align 4, !tbaa !5
  %410 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %10, i32 noundef 0)
  %411 = icmp eq i32 %410, -1
  br i1 %411, label %412, label %465

412:                                              ; preds = %407
  br label %413

413:                                              ; preds = %412
  br label %414

414:                                              ; preds = %413
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #10
  %415 = call ptr @__errno_location() #11
  %416 = load i32, ptr %415, align 4, !tbaa !5
  store i32 %416, ptr %11, align 4, !tbaa !5
  %417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %418 = call i32 @s2n_print_stacktrace(ptr noundef %417)
  %419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %420 = trunc i8 %419 to i1
  br i1 %420, label %421, label %443

421:                                              ; preds = %414
  %422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %423 = call i32 @fileno(ptr noundef %422) #10
  %424 = call i32 @isatty(i32 noundef %423) #10
  %425 = icmp ne i32 %424, 0
  br i1 %425, label %426, label %443

426:                                              ; preds = %421
  %427 = load i32, ptr %11, align 4, !tbaa !5
  %428 = call ptr @__errno_location() #11
  store i32 %427, ptr %428, align 4, !tbaa !5
  %429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %430 = load i32, ptr @test_count, align 4, !tbaa !5
  %431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %432 = load i32, ptr %431, align 4, !tbaa !5
  %433 = call ptr @s2n_strerror(i32 noundef %432, ptr noundef @.str.4)
  %434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %435 = load i32, ptr %434, align 4, !tbaa !5
  %436 = call ptr @s2n_strerror_debug(i32 noundef %435, ptr noundef @.str.4)
  %437 = call ptr @__errno_location() #11
  %438 = load i32, ptr %437, align 4, !tbaa !5
  %439 = call ptr @strerror(i32 noundef %438) #10
  %440 = call ptr @__errno_location() #11
  %441 = load i32, ptr %440, align 4, !tbaa !5
  %442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %429, ptr noundef @.str.2, i32 noundef %430, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 35, ptr noundef %433, ptr noundef %436, ptr noundef %439, i32 noundef %441) #10
  br label %460

443:                                              ; preds = %421, %414
  %444 = load i32, ptr %11, align 4, !tbaa !5
  %445 = call ptr @__errno_location() #11
  store i32 %444, ptr %445, align 4, !tbaa !5
  %446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %447 = load i32, ptr @test_count, align 4, !tbaa !5
  %448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = call ptr @s2n_strerror(i32 noundef %449, ptr noundef @.str.4)
  %451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror_debug(i32 noundef %452, ptr noundef @.str.4)
  %454 = call ptr @__errno_location() #11
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = call ptr @strerror(i32 noundef %455) #10
  %457 = call ptr @__errno_location() #11
  %458 = load i32, ptr %457, align 4, !tbaa !5
  %459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %446, ptr noundef @.str.5, i32 noundef %447, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 35, ptr noundef %450, ptr noundef %453, ptr noundef %456, i32 noundef %458) #10
  br label %460

460:                                              ; preds = %443, %426
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %461

461:                                              ; preds = %460
  br label %462

462:                                              ; preds = %461
  call void @exit(i32 noundef 1) #12
  unreachable

463:                                              ; No predecessors!
  br label %464

464:                                              ; preds = %463
  br label %465

465:                                              ; preds = %464, %407
  br label %466

466:                                              ; preds = %465
  br label %467

467:                                              ; preds = %466
  br label %468

468:                                              ; preds = %467
  br label %469

469:                                              ; preds = %468
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = add nsw i32 %470, 1
  store i32 %471, ptr @test_count, align 4, !tbaa !5
  %472 = call i32 @s2n_stuffer_write_network_order(ptr noundef null, i64 noundef 0, i8 noundef zeroext 1)
  %473 = icmp eq i32 %472, -1
  br i1 %473, label %527, label %474

474:                                              ; preds = %469
  br label %475

475:                                              ; preds = %474
  br label %476

476:                                              ; preds = %475
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #10
  %477 = call ptr @__errno_location() #11
  %478 = load i32, ptr %477, align 4, !tbaa !5
  store i32 %478, ptr %12, align 4, !tbaa !5
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = call i32 @s2n_print_stacktrace(ptr noundef %479)
  %481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %482 = trunc i8 %481 to i1
  br i1 %482, label %483, label %505

483:                                              ; preds = %476
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = call i32 @fileno(ptr noundef %484) #10
  %486 = call i32 @isatty(i32 noundef %485) #10
  %487 = icmp ne i32 %486, 0
  br i1 %487, label %488, label %505

488:                                              ; preds = %483
  %489 = load i32, ptr %12, align 4, !tbaa !5
  %490 = call ptr @__errno_location() #11
  store i32 %489, ptr %490, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror(i32 noundef %494, ptr noundef @.str.4)
  %496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = call ptr @s2n_strerror_debug(i32 noundef %497, ptr noundef @.str.4)
  %499 = call ptr @__errno_location() #11
  %500 = load i32, ptr %499, align 4, !tbaa !5
  %501 = call ptr @strerror(i32 noundef %500) #10
  %502 = call ptr @__errno_location() #11
  %503 = load i32, ptr %502, align 4, !tbaa !5
  %504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %491, ptr noundef @.str.2, i32 noundef %492, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 38, ptr noundef %495, ptr noundef %498, ptr noundef %501, i32 noundef %503) #10
  br label %522

505:                                              ; preds = %483, %476
  %506 = load i32, ptr %12, align 4, !tbaa !5
  %507 = call ptr @__errno_location() #11
  store i32 %506, ptr %507, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = load i32, ptr @test_count, align 4, !tbaa !5
  %510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = call ptr @s2n_strerror(i32 noundef %511, ptr noundef @.str.4)
  %513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = call ptr @s2n_strerror_debug(i32 noundef %514, ptr noundef @.str.4)
  %516 = call ptr @__errno_location() #11
  %517 = load i32, ptr %516, align 4, !tbaa !5
  %518 = call ptr @strerror(i32 noundef %517) #10
  %519 = call ptr @__errno_location() #11
  %520 = load i32, ptr %519, align 4, !tbaa !5
  %521 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %508, ptr noundef @.str.5, i32 noundef %509, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 38, ptr noundef %512, ptr noundef %515, ptr noundef %518, i32 noundef %520) #10
  br label %522

522:                                              ; preds = %505, %488
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #10
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  call void @exit(i32 noundef 1) #12
  unreachable

525:                                              ; No predecessors!
  br label %526

526:                                              ; preds = %525
  br label %527

527:                                              ; preds = %526, %469
  br label %528

528:                                              ; preds = %527
  br label %529

529:                                              ; preds = %528
  br label %530

530:                                              ; preds = %529
  %531 = load i32, ptr @test_count, align 4, !tbaa !5
  %532 = add nsw i32 %531, 1
  store i32 %532, ptr @test_count, align 4, !tbaa !5
  %533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = icmp eq i32 %534, 0
  br i1 %535, label %536, label %589

536:                                              ; preds = %530
  br label %537

537:                                              ; preds = %536
  br label %538

538:                                              ; preds = %537
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #10
  %539 = call ptr @__errno_location() #11
  %540 = load i32, ptr %539, align 4, !tbaa !5
  store i32 %540, ptr %13, align 4, !tbaa !5
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = call i32 @s2n_print_stacktrace(ptr noundef %541)
  %543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %544 = trunc i8 %543 to i1
  br i1 %544, label %545, label %567

545:                                              ; preds = %538
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = call i32 @fileno(ptr noundef %546) #10
  %548 = call i32 @isatty(i32 noundef %547) #10
  %549 = icmp ne i32 %548, 0
  br i1 %549, label %550, label %567

550:                                              ; preds = %545
  %551 = load i32, ptr %13, align 4, !tbaa !5
  %552 = call ptr @__errno_location() #11
  store i32 %551, ptr %552, align 4, !tbaa !5
  %553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %554 = load i32, ptr @test_count, align 4, !tbaa !5
  %555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %556 = load i32, ptr %555, align 4, !tbaa !5
  %557 = call ptr @s2n_strerror(i32 noundef %556, ptr noundef @.str.4)
  %558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror_debug(i32 noundef %559, ptr noundef @.str.4)
  %561 = call ptr @__errno_location() #11
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = call ptr @strerror(i32 noundef %562) #10
  %564 = call ptr @__errno_location() #11
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %553, ptr noundef @.str.2, i32 noundef %554, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 38, ptr noundef %557, ptr noundef %560, ptr noundef %563, i32 noundef %565) #10
  br label %584

567:                                              ; preds = %545, %538
  %568 = load i32, ptr %13, align 4, !tbaa !5
  %569 = call ptr @__errno_location() #11
  store i32 %568, ptr %569, align 4, !tbaa !5
  %570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %571 = load i32, ptr @test_count, align 4, !tbaa !5
  %572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %573 = load i32, ptr %572, align 4, !tbaa !5
  %574 = call ptr @s2n_strerror(i32 noundef %573, ptr noundef @.str.4)
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror_debug(i32 noundef %576, ptr noundef @.str.4)
  %578 = call ptr @__errno_location() #11
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @strerror(i32 noundef %579) #10
  %581 = call ptr @__errno_location() #11
  %582 = load i32, ptr %581, align 4, !tbaa !5
  %583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %570, ptr noundef @.str.5, i32 noundef %571, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 38, ptr noundef %574, ptr noundef %577, ptr noundef %580, i32 noundef %582) #10
  br label %584

584:                                              ; preds = %567, %550
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %585

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %585
  call void @exit(i32 noundef 1) #12
  unreachable

587:                                              ; No predecessors!
  br label %588

588:                                              ; preds = %587
  br label %589

589:                                              ; preds = %588, %530
  br label %590

590:                                              ; preds = %589
  br label %591

591:                                              ; preds = %590
  br label %592

592:                                              ; preds = %591
  %593 = load i32, ptr @test_count, align 4, !tbaa !5
  %594 = add nsw i32 %593, 1
  store i32 %594, ptr @test_count, align 4, !tbaa !5
  %595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %596 = load i32, ptr %595, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef @.str.4)
  %598 = icmp eq ptr %597, null
  br i1 %598, label %599, label %652

599:                                              ; preds = %592
  br label %600

600:                                              ; preds = %599
  br label %601

601:                                              ; preds = %600
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  %602 = call ptr @__errno_location() #11
  %603 = load i32, ptr %602, align 4, !tbaa !5
  store i32 %603, ptr %14, align 4, !tbaa !5
  %604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %605 = call i32 @s2n_print_stacktrace(ptr noundef %604)
  %606 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %607 = trunc i8 %606 to i1
  br i1 %607, label %608, label %630

608:                                              ; preds = %601
  %609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %610 = call i32 @fileno(ptr noundef %609) #10
  %611 = call i32 @isatty(i32 noundef %610) #10
  %612 = icmp ne i32 %611, 0
  br i1 %612, label %613, label %630

613:                                              ; preds = %608
  %614 = load i32, ptr %14, align 4, !tbaa !5
  %615 = call ptr @__errno_location() #11
  store i32 %614, ptr %615, align 4, !tbaa !5
  %616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %617 = load i32, ptr @test_count, align 4, !tbaa !5
  %618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %619 = load i32, ptr %618, align 4, !tbaa !5
  %620 = call ptr @s2n_strerror(i32 noundef %619, ptr noundef @.str.4)
  %621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = call ptr @s2n_strerror_debug(i32 noundef %622, ptr noundef @.str.4)
  %624 = call ptr @__errno_location() #11
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = call ptr @strerror(i32 noundef %625) #10
  %627 = call ptr @__errno_location() #11
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %616, ptr noundef @.str.2, i32 noundef %617, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 38, ptr noundef %620, ptr noundef %623, ptr noundef %626, i32 noundef %628) #10
  br label %647

630:                                              ; preds = %608, %601
  %631 = load i32, ptr %14, align 4, !tbaa !5
  %632 = call ptr @__errno_location() #11
  store i32 %631, ptr %632, align 4, !tbaa !5
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = load i32, ptr @test_count, align 4, !tbaa !5
  %635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror(i32 noundef %636, ptr noundef @.str.4)
  %638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror_debug(i32 noundef %639, ptr noundef @.str.4)
  %641 = call ptr @__errno_location() #11
  %642 = load i32, ptr %641, align 4, !tbaa !5
  %643 = call ptr @strerror(i32 noundef %642) #10
  %644 = call ptr @__errno_location() #11
  %645 = load i32, ptr %644, align 4, !tbaa !5
  %646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %633, ptr noundef @.str.5, i32 noundef %634, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 38, ptr noundef %637, ptr noundef %640, ptr noundef %643, i32 noundef %645) #10
  br label %647

647:                                              ; preds = %630, %613
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %648

648:                                              ; preds = %647
  br label %649

649:                                              ; preds = %648
  call void @exit(i32 noundef 1) #12
  unreachable

650:                                              ; No predecessors!
  br label %651

651:                                              ; preds = %650
  br label %652

652:                                              ; preds = %651, %592
  br label %653

653:                                              ; preds = %652
  br label %654

654:                                              ; preds = %653
  br label %655

655:                                              ; preds = %654
  %656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %656, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %657 = call ptr @__errno_location() #11
  store i32 0, ptr %657, align 4, !tbaa !5
  br label %658

658:                                              ; preds = %655
  br label %659

659:                                              ; preds = %658
  br label %660

660:                                              ; preds = %659
  br label %661

661:                                              ; preds = %660
  br label %662

662:                                              ; preds = %661
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef 0, i8 noundef zeroext 0)
  %666 = icmp eq i32 %665, -1
  br i1 %666, label %667, label %720

667:                                              ; preds = %662
  br label %668

668:                                              ; preds = %667
  br label %669

669:                                              ; preds = %668
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #10
  %670 = call ptr @__errno_location() #11
  %671 = load i32, ptr %670, align 4, !tbaa !5
  store i32 %671, ptr %15, align 4, !tbaa !5
  %672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %673 = call i32 @s2n_print_stacktrace(ptr noundef %672)
  %674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %675 = trunc i8 %674 to i1
  br i1 %675, label %676, label %698

676:                                              ; preds = %669
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = call i32 @fileno(ptr noundef %677) #10
  %679 = call i32 @isatty(i32 noundef %678) #10
  %680 = icmp ne i32 %679, 0
  br i1 %680, label %681, label %698

681:                                              ; preds = %676
  %682 = load i32, ptr %15, align 4, !tbaa !5
  %683 = call ptr @__errno_location() #11
  store i32 %682, ptr %683, align 4, !tbaa !5
  %684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %685 = load i32, ptr @test_count, align 4, !tbaa !5
  %686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %687 = load i32, ptr %686, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror(i32 noundef %687, ptr noundef @.str.4)
  %689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call ptr @s2n_strerror_debug(i32 noundef %690, ptr noundef @.str.4)
  %692 = call ptr @__errno_location() #11
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call ptr @strerror(i32 noundef %693) #10
  %695 = call ptr @__errno_location() #11
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %684, ptr noundef @.str.2, i32 noundef %685, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 41, ptr noundef %688, ptr noundef %691, ptr noundef %694, i32 noundef %696) #10
  br label %715

698:                                              ; preds = %676, %669
  %699 = load i32, ptr %15, align 4, !tbaa !5
  %700 = call ptr @__errno_location() #11
  store i32 %699, ptr %700, align 4, !tbaa !5
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = load i32, ptr @test_count, align 4, !tbaa !5
  %703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %704 = load i32, ptr %703, align 4, !tbaa !5
  %705 = call ptr @s2n_strerror(i32 noundef %704, ptr noundef @.str.4)
  %706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %707 = load i32, ptr %706, align 4, !tbaa !5
  %708 = call ptr @s2n_strerror_debug(i32 noundef %707, ptr noundef @.str.4)
  %709 = call ptr @__errno_location() #11
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @strerror(i32 noundef %710) #10
  %712 = call ptr @__errno_location() #11
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %701, ptr noundef @.str.5, i32 noundef %702, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 41, ptr noundef %705, ptr noundef %708, ptr noundef %711, i32 noundef %713) #10
  br label %715

715:                                              ; preds = %698, %681
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #10
  br label %716

716:                                              ; preds = %715
  br label %717

717:                                              ; preds = %716
  call void @exit(i32 noundef 1) #12
  unreachable

718:                                              ; No predecessors!
  br label %719

719:                                              ; preds = %718
  br label %720

720:                                              ; preds = %719, %662
  br label %721

721:                                              ; preds = %720
  br label %722

722:                                              ; preds = %721
  br label %723

723:                                              ; preds = %722
  %724 = load i32, ptr @test_count, align 4, !tbaa !5
  %725 = add nsw i32 %724, 1
  store i32 %725, ptr @test_count, align 4, !tbaa !5
  %726 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %727 = load i32, ptr %726, align 4, !tbaa !15
  %728 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 1
  %729 = load i32, ptr %728, align 8, !tbaa !18
  %730 = sub i32 %727, %729
  %731 = icmp eq i32 %730, 0
  br i1 %731, label %785, label %732

732:                                              ; preds = %723
  br label %733

733:                                              ; preds = %732
  br label %734

734:                                              ; preds = %733
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %735 = call ptr @__errno_location() #11
  %736 = load i32, ptr %735, align 4, !tbaa !5
  store i32 %736, ptr %16, align 4, !tbaa !5
  %737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %738 = call i32 @s2n_print_stacktrace(ptr noundef %737)
  %739 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %740 = trunc i8 %739 to i1
  br i1 %740, label %741, label %763

741:                                              ; preds = %734
  %742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %743 = call i32 @fileno(ptr noundef %742) #10
  %744 = call i32 @isatty(i32 noundef %743) #10
  %745 = icmp ne i32 %744, 0
  br i1 %745, label %746, label %763

746:                                              ; preds = %741
  %747 = load i32, ptr %16, align 4, !tbaa !5
  %748 = call ptr @__errno_location() #11
  store i32 %747, ptr %748, align 4, !tbaa !5
  %749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %750 = load i32, ptr @test_count, align 4, !tbaa !5
  %751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %752 = load i32, ptr %751, align 4, !tbaa !5
  %753 = call ptr @s2n_strerror(i32 noundef %752, ptr noundef @.str.4)
  %754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = call ptr @s2n_strerror_debug(i32 noundef %755, ptr noundef @.str.4)
  %757 = call ptr @__errno_location() #11
  %758 = load i32, ptr %757, align 4, !tbaa !5
  %759 = call ptr @strerror(i32 noundef %758) #10
  %760 = call ptr @__errno_location() #11
  %761 = load i32, ptr %760, align 4, !tbaa !5
  %762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %749, ptr noundef @.str.2, i32 noundef %750, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 42, ptr noundef %753, ptr noundef %756, ptr noundef %759, i32 noundef %761) #10
  br label %780

763:                                              ; preds = %741, %734
  %764 = load i32, ptr %16, align 4, !tbaa !5
  %765 = call ptr @__errno_location() #11
  store i32 %764, ptr %765, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %769 = load i32, ptr %768, align 4, !tbaa !5
  %770 = call ptr @s2n_strerror(i32 noundef %769, ptr noundef @.str.4)
  %771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %772 = load i32, ptr %771, align 4, !tbaa !5
  %773 = call ptr @s2n_strerror_debug(i32 noundef %772, ptr noundef @.str.4)
  %774 = call ptr @__errno_location() #11
  %775 = load i32, ptr %774, align 4, !tbaa !5
  %776 = call ptr @strerror(i32 noundef %775) #10
  %777 = call ptr @__errno_location() #11
  %778 = load i32, ptr %777, align 4, !tbaa !5
  %779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %766, ptr noundef @.str.5, i32 noundef %767, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 42, ptr noundef %770, ptr noundef %773, ptr noundef %776, i32 noundef %778) #10
  br label %780

780:                                              ; preds = %763, %746
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %781

781:                                              ; preds = %780
  br label %782

782:                                              ; preds = %781
  call void @exit(i32 noundef 1) #12
  unreachable

783:                                              ; No predecessors!
  br label %784

784:                                              ; preds = %783
  br label %785

785:                                              ; preds = %784, %723
  br label %786

786:                                              ; preds = %785
  br label %787

787:                                              ; preds = %786
  call void @llvm.lifetime.start.p0(i64 1, ptr %17) #10
  store i8 0, ptr %17, align 1, !tbaa !19
  store i8 1, ptr %17, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 1, ptr %18) #10
  store i8 0, ptr %18, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  store i32 0, ptr %19, align 4, !tbaa !5
  br label %788

788:                                              ; preds = %981, %787
  %789 = load i32, ptr %19, align 4, !tbaa !5
  %790 = icmp sle i32 %789, 255
  br i1 %790, label %792, label %791

791:                                              ; preds = %788
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #10
  br label %984

792:                                              ; preds = %788
  br label %793

793:                                              ; preds = %792
  %794 = load i32, ptr @test_count, align 4, !tbaa !5
  %795 = add nsw i32 %794, 1
  store i32 %795, ptr @test_count, align 4, !tbaa !5
  %796 = load i32, ptr %19, align 4, !tbaa !5
  %797 = sext i32 %796 to i64
  %798 = load i8, ptr %17, align 1, !tbaa !19
  %799 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %797, i8 noundef zeroext %798)
  %800 = icmp eq i32 %799, -1
  br i1 %800, label %801, label %854

801:                                              ; preds = %793
  br label %802

802:                                              ; preds = %801
  br label %803

803:                                              ; preds = %802
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  %804 = call ptr @__errno_location() #11
  %805 = load i32, ptr %804, align 4, !tbaa !5
  store i32 %805, ptr %20, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = call i32 @s2n_print_stacktrace(ptr noundef %806)
  %808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %809 = trunc i8 %808 to i1
  br i1 %809, label %810, label %832

810:                                              ; preds = %803
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = call i32 @fileno(ptr noundef %811) #10
  %813 = call i32 @isatty(i32 noundef %812) #10
  %814 = icmp ne i32 %813, 0
  br i1 %814, label %815, label %832

815:                                              ; preds = %810
  %816 = load i32, ptr %20, align 4, !tbaa !5
  %817 = call ptr @__errno_location() #11
  store i32 %816, ptr %817, align 4, !tbaa !5
  %818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %819 = load i32, ptr @test_count, align 4, !tbaa !5
  %820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror(i32 noundef %821, ptr noundef @.str.4)
  %823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef @.str.4)
  %826 = call ptr @__errno_location() #11
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = call ptr @strerror(i32 noundef %827) #10
  %829 = call ptr @__errno_location() #11
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %818, ptr noundef @.str.2, i32 noundef %819, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 52, ptr noundef %822, ptr noundef %825, ptr noundef %828, i32 noundef %830) #10
  br label %849

832:                                              ; preds = %810, %803
  %833 = load i32, ptr %20, align 4, !tbaa !5
  %834 = call ptr @__errno_location() #11
  store i32 %833, ptr %834, align 4, !tbaa !5
  %835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %836 = load i32, ptr @test_count, align 4, !tbaa !5
  %837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @s2n_strerror(i32 noundef %838, ptr noundef @.str.4)
  %840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror_debug(i32 noundef %841, ptr noundef @.str.4)
  %843 = call ptr @__errno_location() #11
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call ptr @strerror(i32 noundef %844) #10
  %846 = call ptr @__errno_location() #11
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %835, ptr noundef @.str.5, i32 noundef %836, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 52, ptr noundef %839, ptr noundef %842, ptr noundef %845, i32 noundef %847) #10
  br label %849

849:                                              ; preds = %832, %815
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %850

850:                                              ; preds = %849
  br label %851

851:                                              ; preds = %850
  call void @exit(i32 noundef 1) #12
  unreachable

852:                                              ; No predecessors!
  br label %853

853:                                              ; preds = %852
  br label %854

854:                                              ; preds = %853, %793
  br label %855

855:                                              ; preds = %854
  br label %856

856:                                              ; preds = %855
  br label %857

857:                                              ; preds = %856
  %858 = load i32, ptr @test_count, align 4, !tbaa !5
  %859 = add nsw i32 %858, 1
  store i32 %859, ptr @test_count, align 4, !tbaa !5
  %860 = call i32 @s2n_stuffer_read_uint8(ptr noundef %10, ptr noundef %18)
  %861 = icmp eq i32 %860, -1
  br i1 %861, label %862, label %915

862:                                              ; preds = %857
  br label %863

863:                                              ; preds = %862
  br label %864

864:                                              ; preds = %863
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %865 = call ptr @__errno_location() #11
  %866 = load i32, ptr %865, align 4, !tbaa !5
  store i32 %866, ptr %21, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = call i32 @s2n_print_stacktrace(ptr noundef %867)
  %869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %870 = trunc i8 %869 to i1
  br i1 %870, label %871, label %893

871:                                              ; preds = %864
  %872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %873 = call i32 @fileno(ptr noundef %872) #10
  %874 = call i32 @isatty(i32 noundef %873) #10
  %875 = icmp ne i32 %874, 0
  br i1 %875, label %876, label %893

876:                                              ; preds = %871
  %877 = load i32, ptr %21, align 4, !tbaa !5
  %878 = call ptr @__errno_location() #11
  store i32 %877, ptr %878, align 4, !tbaa !5
  %879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call ptr @s2n_strerror(i32 noundef %882, ptr noundef @.str.4)
  %884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %885 = load i32, ptr %884, align 4, !tbaa !5
  %886 = call ptr @s2n_strerror_debug(i32 noundef %885, ptr noundef @.str.4)
  %887 = call ptr @__errno_location() #11
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = call ptr @strerror(i32 noundef %888) #10
  %890 = call ptr @__errno_location() #11
  %891 = load i32, ptr %890, align 4, !tbaa !5
  %892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %879, ptr noundef @.str.2, i32 noundef %880, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 53, ptr noundef %883, ptr noundef %886, ptr noundef %889, i32 noundef %891) #10
  br label %910

893:                                              ; preds = %871, %864
  %894 = load i32, ptr %21, align 4, !tbaa !5
  %895 = call ptr @__errno_location() #11
  store i32 %894, ptr %895, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %899 = load i32, ptr %898, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef @.str.4)
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror_debug(i32 noundef %902, ptr noundef @.str.4)
  %904 = call ptr @__errno_location() #11
  %905 = load i32, ptr %904, align 4, !tbaa !5
  %906 = call ptr @strerror(i32 noundef %905) #10
  %907 = call ptr @__errno_location() #11
  %908 = load i32, ptr %907, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef @.str.5, i32 noundef %897, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 53, ptr noundef %900, ptr noundef %903, ptr noundef %906, i32 noundef %908) #10
  br label %910

910:                                              ; preds = %893, %876
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  call void @exit(i32 noundef 1) #12
  unreachable

913:                                              ; No predecessors!
  br label %914

914:                                              ; preds = %913
  br label %915

915:                                              ; preds = %914, %857
  br label %916

916:                                              ; preds = %915
  br label %917

917:                                              ; preds = %916
  br label %918

918:                                              ; preds = %917
  %919 = load i32, ptr @test_count, align 4, !tbaa !5
  %920 = add nsw i32 %919, 1
  store i32 %920, ptr @test_count, align 4, !tbaa !5
  %921 = load i32, ptr %19, align 4, !tbaa !5
  %922 = load i8, ptr %18, align 1, !tbaa !19
  %923 = zext i8 %922 to i32
  %924 = icmp eq i32 %921, %923
  br i1 %924, label %978, label %925

925:                                              ; preds = %918
  br label %926

926:                                              ; preds = %925
  br label %927

927:                                              ; preds = %926
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %928 = call ptr @__errno_location() #11
  %929 = load i32, ptr %928, align 4, !tbaa !5
  store i32 %929, ptr %22, align 4, !tbaa !5
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = call i32 @s2n_print_stacktrace(ptr noundef %930)
  %932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %933 = trunc i8 %932 to i1
  br i1 %933, label %934, label %956

934:                                              ; preds = %927
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = call i32 @fileno(ptr noundef %935) #10
  %937 = call i32 @isatty(i32 noundef %936) #10
  %938 = icmp ne i32 %937, 0
  br i1 %938, label %939, label %956

939:                                              ; preds = %934
  %940 = load i32, ptr %22, align 4, !tbaa !5
  %941 = call ptr @__errno_location() #11
  store i32 %940, ptr %941, align 4, !tbaa !5
  %942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %943 = load i32, ptr @test_count, align 4, !tbaa !5
  %944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror(i32 noundef %945, ptr noundef @.str.4)
  %947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @s2n_strerror_debug(i32 noundef %948, ptr noundef @.str.4)
  %950 = call ptr @__errno_location() #11
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call ptr @strerror(i32 noundef %951) #10
  %953 = call ptr @__errno_location() #11
  %954 = load i32, ptr %953, align 4, !tbaa !5
  %955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %942, ptr noundef @.str.2, i32 noundef %943, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 54, ptr noundef %946, ptr noundef %949, ptr noundef %952, i32 noundef %954) #10
  br label %973

956:                                              ; preds = %934, %927
  %957 = load i32, ptr %22, align 4, !tbaa !5
  %958 = call ptr @__errno_location() #11
  store i32 %957, ptr %958, align 4, !tbaa !5
  %959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %960 = load i32, ptr @test_count, align 4, !tbaa !5
  %961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %962 = load i32, ptr %961, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror(i32 noundef %962, ptr noundef @.str.4)
  %964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = call ptr @s2n_strerror_debug(i32 noundef %965, ptr noundef @.str.4)
  %967 = call ptr @__errno_location() #11
  %968 = load i32, ptr %967, align 4, !tbaa !5
  %969 = call ptr @strerror(i32 noundef %968) #10
  %970 = call ptr @__errno_location() #11
  %971 = load i32, ptr %970, align 4, !tbaa !5
  %972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %959, ptr noundef @.str.5, i32 noundef %960, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 54, ptr noundef %963, ptr noundef %966, ptr noundef %969, i32 noundef %971) #10
  br label %973

973:                                              ; preds = %956, %939
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %974

974:                                              ; preds = %973
  br label %975

975:                                              ; preds = %974
  call void @exit(i32 noundef 1) #12
  unreachable

976:                                              ; No predecessors!
  br label %977

977:                                              ; preds = %976
  br label %978

978:                                              ; preds = %977, %918
  br label %979

979:                                              ; preds = %978
  br label %980

980:                                              ; preds = %979
  br label %981

981:                                              ; preds = %980
  %982 = load i32, ptr %19, align 4, !tbaa !5
  %983 = add nsw i32 %982, 1
  store i32 %983, ptr %19, align 4, !tbaa !5
  br label %788, !llvm.loop !20

984:                                              ; preds = %791
  call void @llvm.lifetime.end.p0(i64 1, ptr %18) #10
  store i8 2, ptr %17, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 2, ptr %23) #10
  store i16 0, ptr %23, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #10
  store i32 0, ptr %24, align 4, !tbaa !5
  br label %985

985:                                              ; preds = %1178, %984
  %986 = load i32, ptr %24, align 4, !tbaa !5
  %987 = icmp slt i32 %986, 65535
  br i1 %987, label %989, label %988

988:                                              ; preds = %985
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1181

989:                                              ; preds = %985
  br label %990

990:                                              ; preds = %989
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @test_count, align 4, !tbaa !5
  %993 = load i32, ptr %24, align 4, !tbaa !5
  %994 = sext i32 %993 to i64
  %995 = load i8, ptr %17, align 1, !tbaa !19
  %996 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %994, i8 noundef zeroext %995)
  %997 = icmp eq i32 %996, -1
  br i1 %997, label %998, label %1051

998:                                              ; preds = %990
  br label %999

999:                                              ; preds = %998
  br label %1000

1000:                                             ; preds = %999
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #10
  %1001 = call ptr @__errno_location() #11
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  store i32 %1002, ptr %25, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = call i32 @s2n_print_stacktrace(ptr noundef %1003)
  %1005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1006 = trunc i8 %1005 to i1
  br i1 %1006, label %1007, label %1029

1007:                                             ; preds = %1000
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = call i32 @fileno(ptr noundef %1008) #10
  %1010 = call i32 @isatty(i32 noundef %1009) #10
  %1011 = icmp ne i32 %1010, 0
  br i1 %1011, label %1012, label %1029

1012:                                             ; preds = %1007
  %1013 = load i32, ptr %25, align 4, !tbaa !5
  %1014 = call ptr @__errno_location() #11
  store i32 %1013, ptr %1014, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror(i32 noundef %1018, ptr noundef @.str.4)
  %1020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1021 = load i32, ptr %1020, align 4, !tbaa !5
  %1022 = call ptr @s2n_strerror_debug(i32 noundef %1021, ptr noundef @.str.4)
  %1023 = call ptr @__errno_location() #11
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call ptr @strerror(i32 noundef %1024) #10
  %1026 = call ptr @__errno_location() #11
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef @.str.2, i32 noundef %1016, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1019, ptr noundef %1022, ptr noundef %1025, i32 noundef %1027) #10
  br label %1046

1029:                                             ; preds = %1007, %1000
  %1030 = load i32, ptr %25, align 4, !tbaa !5
  %1031 = call ptr @__errno_location() #11
  store i32 %1030, ptr %1031, align 4, !tbaa !5
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = load i32, ptr @test_count, align 4, !tbaa !5
  %1034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1035 = load i32, ptr %1034, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror(i32 noundef %1035, ptr noundef @.str.4)
  %1037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1038 = load i32, ptr %1037, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror_debug(i32 noundef %1038, ptr noundef @.str.4)
  %1040 = call ptr @__errno_location() #11
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call ptr @strerror(i32 noundef %1041) #10
  %1043 = call ptr @__errno_location() #11
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1032, ptr noundef @.str.5, i32 noundef %1033, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1036, ptr noundef %1039, ptr noundef %1042, i32 noundef %1044) #10
  br label %1046

1046:                                             ; preds = %1029, %1012
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1047

1047:                                             ; preds = %1046
  br label %1048

1048:                                             ; preds = %1047
  call void @exit(i32 noundef 1) #12
  unreachable

1049:                                             ; No predecessors!
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

1051:                                             ; preds = %1050, %990
  br label %1052

1052:                                             ; preds = %1051
  br label %1053

1053:                                             ; preds = %1052
  br label %1054

1054:                                             ; preds = %1053
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = add nsw i32 %1055, 1
  store i32 %1056, ptr @test_count, align 4, !tbaa !5
  %1057 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %23)
  %1058 = icmp eq i32 %1057, -1
  br i1 %1058, label %1059, label %1112

1059:                                             ; preds = %1054
  br label %1060

1060:                                             ; preds = %1059
  br label %1061

1061:                                             ; preds = %1060
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  %1062 = call ptr @__errno_location() #11
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  store i32 %1063, ptr %26, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = call i32 @s2n_print_stacktrace(ptr noundef %1064)
  %1066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1067 = trunc i8 %1066 to i1
  br i1 %1067, label %1068, label %1090

1068:                                             ; preds = %1061
  %1069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1070 = call i32 @fileno(ptr noundef %1069) #10
  %1071 = call i32 @isatty(i32 noundef %1070) #10
  %1072 = icmp ne i32 %1071, 0
  br i1 %1072, label %1073, label %1090

1073:                                             ; preds = %1068
  %1074 = load i32, ptr %26, align 4, !tbaa !5
  %1075 = call ptr @__errno_location() #11
  store i32 %1074, ptr %1075, align 4, !tbaa !5
  %1076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1077 = load i32, ptr @test_count, align 4, !tbaa !5
  %1078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1079 = load i32, ptr %1078, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef @.str.4)
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror_debug(i32 noundef %1082, ptr noundef @.str.4)
  %1084 = call ptr @__errno_location() #11
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @strerror(i32 noundef %1085) #10
  %1087 = call ptr @__errno_location() #11
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1076, ptr noundef @.str.2, i32 noundef %1077, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 65, ptr noundef %1080, ptr noundef %1083, ptr noundef %1086, i32 noundef %1088) #10
  br label %1107

1090:                                             ; preds = %1068, %1061
  %1091 = load i32, ptr %26, align 4, !tbaa !5
  %1092 = call ptr @__errno_location() #11
  store i32 %1091, ptr %1092, align 4, !tbaa !5
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = load i32, ptr @test_count, align 4, !tbaa !5
  %1095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = call ptr @s2n_strerror(i32 noundef %1096, ptr noundef @.str.4)
  %1098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1099 = load i32, ptr %1098, align 4, !tbaa !5
  %1100 = call ptr @s2n_strerror_debug(i32 noundef %1099, ptr noundef @.str.4)
  %1101 = call ptr @__errno_location() #11
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @strerror(i32 noundef %1102) #10
  %1104 = call ptr @__errno_location() #11
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1093, ptr noundef @.str.5, i32 noundef %1094, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 65, ptr noundef %1097, ptr noundef %1100, ptr noundef %1103, i32 noundef %1105) #10
  br label %1107

1107:                                             ; preds = %1090, %1073
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %1108

1108:                                             ; preds = %1107
  br label %1109

1109:                                             ; preds = %1108
  call void @exit(i32 noundef 1) #12
  unreachable

1110:                                             ; No predecessors!
  br label %1111

1111:                                             ; preds = %1110
  br label %1112

1112:                                             ; preds = %1111, %1054
  br label %1113

1113:                                             ; preds = %1112
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

1115:                                             ; preds = %1114
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = add nsw i32 %1116, 1
  store i32 %1117, ptr @test_count, align 4, !tbaa !5
  %1118 = load i32, ptr %24, align 4, !tbaa !5
  %1119 = load i16, ptr %23, align 2, !tbaa !22
  %1120 = zext i16 %1119 to i32
  %1121 = icmp eq i32 %1118, %1120
  br i1 %1121, label %1175, label %1122

1122:                                             ; preds = %1115
  br label %1123

1123:                                             ; preds = %1122
  br label %1124

1124:                                             ; preds = %1123
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #10
  %1125 = call ptr @__errno_location() #11
  %1126 = load i32, ptr %1125, align 4, !tbaa !5
  store i32 %1126, ptr %27, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @s2n_print_stacktrace(ptr noundef %1127)
  %1129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1130 = trunc i8 %1129 to i1
  br i1 %1130, label %1131, label %1153

1131:                                             ; preds = %1124
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @fileno(ptr noundef %1132) #10
  %1134 = call i32 @isatty(i32 noundef %1133) #10
  %1135 = icmp ne i32 %1134, 0
  br i1 %1135, label %1136, label %1153

1136:                                             ; preds = %1131
  %1137 = load i32, ptr %27, align 4, !tbaa !5
  %1138 = call ptr @__errno_location() #11
  store i32 %1137, ptr %1138, align 4, !tbaa !5
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = load i32, ptr @test_count, align 4, !tbaa !5
  %1141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1142 = load i32, ptr %1141, align 4, !tbaa !5
  %1143 = call ptr @s2n_strerror(i32 noundef %1142, ptr noundef @.str.4)
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror_debug(i32 noundef %1145, ptr noundef @.str.4)
  %1147 = call ptr @__errno_location() #11
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call ptr @strerror(i32 noundef %1148) #10
  %1150 = call ptr @__errno_location() #11
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1139, ptr noundef @.str.2, i32 noundef %1140, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1143, ptr noundef %1146, ptr noundef %1149, i32 noundef %1151) #10
  br label %1170

1153:                                             ; preds = %1131, %1124
  %1154 = load i32, ptr %27, align 4, !tbaa !5
  %1155 = call ptr @__errno_location() #11
  store i32 %1154, ptr %1155, align 4, !tbaa !5
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror(i32 noundef %1159, ptr noundef @.str.4)
  %1161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror_debug(i32 noundef %1162, ptr noundef @.str.4)
  %1164 = call ptr @__errno_location() #11
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call ptr @strerror(i32 noundef %1165) #10
  %1167 = call ptr @__errno_location() #11
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1156, ptr noundef @.str.5, i32 noundef %1157, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1160, ptr noundef %1163, ptr noundef %1166, i32 noundef %1168) #10
  br label %1170

1170:                                             ; preds = %1153, %1136
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #10
  br label %1171

1171:                                             ; preds = %1170
  br label %1172

1172:                                             ; preds = %1171
  call void @exit(i32 noundef 1) #12
  unreachable

1173:                                             ; No predecessors!
  br label %1174

1174:                                             ; preds = %1173
  br label %1175

1175:                                             ; preds = %1174, %1115
  br label %1176

1176:                                             ; preds = %1175
  br label %1177

1177:                                             ; preds = %1176
  br label %1178

1178:                                             ; preds = %1177
  %1179 = load i32, ptr %24, align 4, !tbaa !5
  %1180 = add nsw i32 %1179, 1
  store i32 %1180, ptr %24, align 4, !tbaa !5
  br label %985, !llvm.loop !24

1181:                                             ; preds = %988
  call void @llvm.lifetime.end.p0(i64 2, ptr %23) #10
  store i8 3, ptr %17, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #10
  store i32 0, ptr %28, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %29) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %29, ptr align 16 @__const.main.test_values, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %30) #10
  store i64 0, ptr %30, align 8, !tbaa !25
  br label %1182

1182:                                             ; preds = %1378, %1181
  %1183 = load i64, ptr %30, align 8, !tbaa !25
  %1184 = icmp ult i64 %1183, 4
  br i1 %1184, label %1186, label %1185

1185:                                             ; preds = %1182
  call void @llvm.lifetime.end.p0(i64 8, ptr %30) #10
  br label %1381

1186:                                             ; preds = %1182
  br label %1187

1187:                                             ; preds = %1186
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = add nsw i32 %1188, 1
  store i32 %1189, ptr @test_count, align 4, !tbaa !5
  %1190 = load i64, ptr %30, align 8, !tbaa !25
  %1191 = getelementptr inbounds [4 x i32], ptr %29, i64 0, i64 %1190
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = zext i32 %1192 to i64
  %1194 = load i8, ptr %17, align 1, !tbaa !19
  %1195 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %1193, i8 noundef zeroext %1194)
  %1196 = icmp eq i32 %1195, -1
  br i1 %1196, label %1197, label %1250

1197:                                             ; preds = %1187
  br label %1198

1198:                                             ; preds = %1197
  br label %1199

1199:                                             ; preds = %1198
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  %1200 = call ptr @__errno_location() #11
  %1201 = load i32, ptr %1200, align 4, !tbaa !5
  store i32 %1201, ptr %31, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = call i32 @s2n_print_stacktrace(ptr noundef %1202)
  %1204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1205 = trunc i8 %1204 to i1
  br i1 %1205, label %1206, label %1228

1206:                                             ; preds = %1199
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @fileno(ptr noundef %1207) #10
  %1209 = call i32 @isatty(i32 noundef %1208) #10
  %1210 = icmp ne i32 %1209, 0
  br i1 %1210, label %1211, label %1228

1211:                                             ; preds = %1206
  %1212 = load i32, ptr %31, align 4, !tbaa !5
  %1213 = call ptr @__errno_location() #11
  store i32 %1212, ptr %1213, align 4, !tbaa !5
  %1214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1215 = load i32, ptr @test_count, align 4, !tbaa !5
  %1216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1217 = load i32, ptr %1216, align 4, !tbaa !5
  %1218 = call ptr @s2n_strerror(i32 noundef %1217, ptr noundef @.str.4)
  %1219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror_debug(i32 noundef %1220, ptr noundef @.str.4)
  %1222 = call ptr @__errno_location() #11
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @strerror(i32 noundef %1223) #10
  %1225 = call ptr @__errno_location() #11
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1214, ptr noundef @.str.2, i32 noundef %1215, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1218, ptr noundef %1221, ptr noundef %1224, i32 noundef %1226) #10
  br label %1245

1228:                                             ; preds = %1206, %1199
  %1229 = load i32, ptr %31, align 4, !tbaa !5
  %1230 = call ptr @__errno_location() #11
  store i32 %1229, ptr %1230, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror(i32 noundef %1234, ptr noundef @.str.4)
  %1236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef @.str.4)
  %1239 = call ptr @__errno_location() #11
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @strerror(i32 noundef %1240) #10
  %1242 = call ptr @__errno_location() #11
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1231, ptr noundef @.str.5, i32 noundef %1232, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1235, ptr noundef %1238, ptr noundef %1241, i32 noundef %1243) #10
  br label %1245

1245:                                             ; preds = %1228, %1211
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1246

1246:                                             ; preds = %1245
  br label %1247

1247:                                             ; preds = %1246
  call void @exit(i32 noundef 1) #12
  unreachable

1248:                                             ; No predecessors!
  br label %1249

1249:                                             ; preds = %1248
  br label %1250

1250:                                             ; preds = %1249, %1187
  br label %1251

1251:                                             ; preds = %1250
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

1253:                                             ; preds = %1252
  %1254 = load i32, ptr @test_count, align 4, !tbaa !5
  %1255 = add nsw i32 %1254, 1
  store i32 %1255, ptr @test_count, align 4, !tbaa !5
  %1256 = call i32 @s2n_stuffer_read_uint24(ptr noundef %10, ptr noundef %28)
  %1257 = icmp eq i32 %1256, -1
  br i1 %1257, label %1258, label %1311

1258:                                             ; preds = %1253
  br label %1259

1259:                                             ; preds = %1258
  br label %1260

1260:                                             ; preds = %1259
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1261 = call ptr @__errno_location() #11
  %1262 = load i32, ptr %1261, align 4, !tbaa !5
  store i32 %1262, ptr %32, align 4, !tbaa !5
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = call i32 @s2n_print_stacktrace(ptr noundef %1263)
  %1265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1266 = trunc i8 %1265 to i1
  br i1 %1266, label %1267, label %1289

1267:                                             ; preds = %1260
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = call i32 @fileno(ptr noundef %1268) #10
  %1270 = call i32 @isatty(i32 noundef %1269) #10
  %1271 = icmp ne i32 %1270, 0
  br i1 %1271, label %1272, label %1289

1272:                                             ; preds = %1267
  %1273 = load i32, ptr %32, align 4, !tbaa !5
  %1274 = call ptr @__errno_location() #11
  store i32 %1273, ptr %1274, align 4, !tbaa !5
  %1275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1276 = load i32, ptr @test_count, align 4, !tbaa !5
  %1277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @s2n_strerror(i32 noundef %1278, ptr noundef @.str.4)
  %1280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror_debug(i32 noundef %1281, ptr noundef @.str.4)
  %1283 = call ptr @__errno_location() #11
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = call ptr @strerror(i32 noundef %1284) #10
  %1286 = call ptr @__errno_location() #11
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  %1288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1275, ptr noundef @.str.2, i32 noundef %1276, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1279, ptr noundef %1282, ptr noundef %1285, i32 noundef %1287) #10
  br label %1306

1289:                                             ; preds = %1267, %1260
  %1290 = load i32, ptr %32, align 4, !tbaa !5
  %1291 = call ptr @__errno_location() #11
  store i32 %1290, ptr %1291, align 4, !tbaa !5
  %1292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1293 = load i32, ptr @test_count, align 4, !tbaa !5
  %1294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = call ptr @s2n_strerror(i32 noundef %1295, ptr noundef @.str.4)
  %1297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1298 = load i32, ptr %1297, align 4, !tbaa !5
  %1299 = call ptr @s2n_strerror_debug(i32 noundef %1298, ptr noundef @.str.4)
  %1300 = call ptr @__errno_location() #11
  %1301 = load i32, ptr %1300, align 4, !tbaa !5
  %1302 = call ptr @strerror(i32 noundef %1301) #10
  %1303 = call ptr @__errno_location() #11
  %1304 = load i32, ptr %1303, align 4, !tbaa !5
  %1305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1292, ptr noundef @.str.5, i32 noundef %1293, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1296, ptr noundef %1299, ptr noundef %1302, i32 noundef %1304) #10
  br label %1306

1306:                                             ; preds = %1289, %1272
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  call void @exit(i32 noundef 1) #12
  unreachable

1309:                                             ; No predecessors!
  br label %1310

1310:                                             ; preds = %1309
  br label %1311

1311:                                             ; preds = %1310, %1253
  br label %1312

1312:                                             ; preds = %1311
  br label %1313

1313:                                             ; preds = %1312
  br label %1314

1314:                                             ; preds = %1313
  %1315 = load i32, ptr @test_count, align 4, !tbaa !5
  %1316 = add nsw i32 %1315, 1
  store i32 %1316, ptr @test_count, align 4, !tbaa !5
  %1317 = load i64, ptr %30, align 8, !tbaa !25
  %1318 = getelementptr inbounds [4 x i32], ptr %29, i64 0, i64 %1317
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  %1320 = load i32, ptr %28, align 4, !tbaa !5
  %1321 = icmp eq i32 %1319, %1320
  br i1 %1321, label %1375, label %1322

1322:                                             ; preds = %1314
  br label %1323

1323:                                             ; preds = %1322
  br label %1324

1324:                                             ; preds = %1323
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1325 = call ptr @__errno_location() #11
  %1326 = load i32, ptr %1325, align 4, !tbaa !5
  store i32 %1326, ptr %33, align 4, !tbaa !5
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = call i32 @s2n_print_stacktrace(ptr noundef %1327)
  %1329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1330 = trunc i8 %1329 to i1
  br i1 %1330, label %1331, label %1353

1331:                                             ; preds = %1324
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = call i32 @fileno(ptr noundef %1332) #10
  %1334 = call i32 @isatty(i32 noundef %1333) #10
  %1335 = icmp ne i32 %1334, 0
  br i1 %1335, label %1336, label %1353

1336:                                             ; preds = %1331
  %1337 = load i32, ptr %33, align 4, !tbaa !5
  %1338 = call ptr @__errno_location() #11
  store i32 %1337, ptr %1338, align 4, !tbaa !5
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1340 = load i32, ptr @test_count, align 4, !tbaa !5
  %1341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call ptr @s2n_strerror(i32 noundef %1342, ptr noundef @.str.4)
  %1344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1345 = load i32, ptr %1344, align 4, !tbaa !5
  %1346 = call ptr @s2n_strerror_debug(i32 noundef %1345, ptr noundef @.str.4)
  %1347 = call ptr @__errno_location() #11
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = call ptr @strerror(i32 noundef %1348) #10
  %1350 = call ptr @__errno_location() #11
  %1351 = load i32, ptr %1350, align 4, !tbaa !5
  %1352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef @.str.2, i32 noundef %1340, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 79, ptr noundef %1343, ptr noundef %1346, ptr noundef %1349, i32 noundef %1351) #10
  br label %1370

1353:                                             ; preds = %1331, %1324
  %1354 = load i32, ptr %33, align 4, !tbaa !5
  %1355 = call ptr @__errno_location() #11
  store i32 %1354, ptr %1355, align 4, !tbaa !5
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = load i32, ptr @test_count, align 4, !tbaa !5
  %1358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror(i32 noundef %1359, ptr noundef @.str.4)
  %1361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1362 = load i32, ptr %1361, align 4, !tbaa !5
  %1363 = call ptr @s2n_strerror_debug(i32 noundef %1362, ptr noundef @.str.4)
  %1364 = call ptr @__errno_location() #11
  %1365 = load i32, ptr %1364, align 4, !tbaa !5
  %1366 = call ptr @strerror(i32 noundef %1365) #10
  %1367 = call ptr @__errno_location() #11
  %1368 = load i32, ptr %1367, align 4, !tbaa !5
  %1369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1356, ptr noundef @.str.5, i32 noundef %1357, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 79, ptr noundef %1360, ptr noundef %1363, ptr noundef %1366, i32 noundef %1368) #10
  br label %1370

1370:                                             ; preds = %1353, %1336
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1371

1371:                                             ; preds = %1370
  br label %1372

1372:                                             ; preds = %1371
  call void @exit(i32 noundef 1) #12
  unreachable

1373:                                             ; No predecessors!
  br label %1374

1374:                                             ; preds = %1373
  br label %1375

1375:                                             ; preds = %1374, %1314
  br label %1376

1376:                                             ; preds = %1375
  br label %1377

1377:                                             ; preds = %1376
  br label %1378

1378:                                             ; preds = %1377
  %1379 = load i64, ptr %30, align 8, !tbaa !25
  %1380 = add i64 %1379, 1
  store i64 %1380, ptr %30, align 8, !tbaa !25
  br label %1182, !llvm.loop !27

1381:                                             ; preds = %1185
  call void @llvm.lifetime.start.p0(i64 2, ptr %34) #10
  store i16 257, ptr %34, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  store i32 0, ptr %35, align 4, !tbaa !5
  br label %1382

1382:                                             ; preds = %1577, %1381
  %1383 = load i32, ptr %35, align 4, !tbaa !5
  %1384 = load i16, ptr %34, align 2, !tbaa !22
  %1385 = zext i16 %1384 to i32
  %1386 = sub i32 16777215, %1385
  %1387 = icmp ult i32 %1383, %1386
  br i1 %1387, label %1389, label %1388

1388:                                             ; preds = %1382
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1582

1389:                                             ; preds = %1382
  br label %1390

1390:                                             ; preds = %1389
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = add nsw i32 %1391, 1
  store i32 %1392, ptr @test_count, align 4, !tbaa !5
  %1393 = load i32, ptr %35, align 4, !tbaa !5
  %1394 = zext i32 %1393 to i64
  %1395 = load i8, ptr %17, align 1, !tbaa !19
  %1396 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %1394, i8 noundef zeroext %1395)
  %1397 = icmp eq i32 %1396, -1
  br i1 %1397, label %1398, label %1451

1398:                                             ; preds = %1390
  br label %1399

1399:                                             ; preds = %1398
  br label %1400

1400:                                             ; preds = %1399
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1401 = call ptr @__errno_location() #11
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  store i32 %1402, ptr %36, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = call i32 @s2n_print_stacktrace(ptr noundef %1403)
  %1405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1406 = trunc i8 %1405 to i1
  br i1 %1406, label %1407, label %1429

1407:                                             ; preds = %1400
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @fileno(ptr noundef %1408) #10
  %1410 = call i32 @isatty(i32 noundef %1409) #10
  %1411 = icmp ne i32 %1410, 0
  br i1 %1411, label %1412, label %1429

1412:                                             ; preds = %1407
  %1413 = load i32, ptr %36, align 4, !tbaa !5
  %1414 = call ptr @__errno_location() #11
  store i32 %1413, ptr %1414, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = load i32, ptr @test_count, align 4, !tbaa !5
  %1417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1418 = load i32, ptr %1417, align 4, !tbaa !5
  %1419 = call ptr @s2n_strerror(i32 noundef %1418, ptr noundef @.str.4)
  %1420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1421 = load i32, ptr %1420, align 4, !tbaa !5
  %1422 = call ptr @s2n_strerror_debug(i32 noundef %1421, ptr noundef @.str.4)
  %1423 = call ptr @__errno_location() #11
  %1424 = load i32, ptr %1423, align 4, !tbaa !5
  %1425 = call ptr @strerror(i32 noundef %1424) #10
  %1426 = call ptr @__errno_location() #11
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  %1428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1415, ptr noundef @.str.2, i32 noundef %1416, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1419, ptr noundef %1422, ptr noundef %1425, i32 noundef %1427) #10
  br label %1446

1429:                                             ; preds = %1407, %1400
  %1430 = load i32, ptr %36, align 4, !tbaa !5
  %1431 = call ptr @__errno_location() #11
  store i32 %1430, ptr %1431, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = load i32, ptr @test_count, align 4, !tbaa !5
  %1434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1435 = load i32, ptr %1434, align 4, !tbaa !5
  %1436 = call ptr @s2n_strerror(i32 noundef %1435, ptr noundef @.str.4)
  %1437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1438 = load i32, ptr %1437, align 4, !tbaa !5
  %1439 = call ptr @s2n_strerror_debug(i32 noundef %1438, ptr noundef @.str.4)
  %1440 = call ptr @__errno_location() #11
  %1441 = load i32, ptr %1440, align 4, !tbaa !5
  %1442 = call ptr @strerror(i32 noundef %1441) #10
  %1443 = call ptr @__errno_location() #11
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1432, ptr noundef @.str.5, i32 noundef %1433, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 84, ptr noundef %1436, ptr noundef %1439, ptr noundef %1442, i32 noundef %1444) #10
  br label %1446

1446:                                             ; preds = %1429, %1412
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1447

1447:                                             ; preds = %1446
  br label %1448

1448:                                             ; preds = %1447
  call void @exit(i32 noundef 1) #12
  unreachable

1449:                                             ; No predecessors!
  br label %1450

1450:                                             ; preds = %1449
  br label %1451

1451:                                             ; preds = %1450, %1390
  br label %1452

1452:                                             ; preds = %1451
  br label %1453

1453:                                             ; preds = %1452
  br label %1454

1454:                                             ; preds = %1453
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = add nsw i32 %1455, 1
  store i32 %1456, ptr @test_count, align 4, !tbaa !5
  %1457 = call i32 @s2n_stuffer_read_uint24(ptr noundef %10, ptr noundef %28)
  %1458 = icmp eq i32 %1457, -1
  br i1 %1458, label %1459, label %1512

1459:                                             ; preds = %1454
  br label %1460

1460:                                             ; preds = %1459
  br label %1461

1461:                                             ; preds = %1460
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #10
  %1462 = call ptr @__errno_location() #11
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  store i32 %1463, ptr %37, align 4, !tbaa !5
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = call i32 @s2n_print_stacktrace(ptr noundef %1464)
  %1466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1467 = trunc i8 %1466 to i1
  br i1 %1467, label %1468, label %1490

1468:                                             ; preds = %1461
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = call i32 @fileno(ptr noundef %1469) #10
  %1471 = call i32 @isatty(i32 noundef %1470) #10
  %1472 = icmp ne i32 %1471, 0
  br i1 %1472, label %1473, label %1490

1473:                                             ; preds = %1468
  %1474 = load i32, ptr %37, align 4, !tbaa !5
  %1475 = call ptr @__errno_location() #11
  store i32 %1474, ptr %1475, align 4, !tbaa !5
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = load i32, ptr @test_count, align 4, !tbaa !5
  %1478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1479 = load i32, ptr %1478, align 4, !tbaa !5
  %1480 = call ptr @s2n_strerror(i32 noundef %1479, ptr noundef @.str.4)
  %1481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  %1483 = call ptr @s2n_strerror_debug(i32 noundef %1482, ptr noundef @.str.4)
  %1484 = call ptr @__errno_location() #11
  %1485 = load i32, ptr %1484, align 4, !tbaa !5
  %1486 = call ptr @strerror(i32 noundef %1485) #10
  %1487 = call ptr @__errno_location() #11
  %1488 = load i32, ptr %1487, align 4, !tbaa !5
  %1489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1476, ptr noundef @.str.2, i32 noundef %1477, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1480, ptr noundef %1483, ptr noundef %1486, i32 noundef %1488) #10
  br label %1507

1490:                                             ; preds = %1468, %1461
  %1491 = load i32, ptr %37, align 4, !tbaa !5
  %1492 = call ptr @__errno_location() #11
  store i32 %1491, ptr %1492, align 4, !tbaa !5
  %1493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = call ptr @s2n_strerror(i32 noundef %1496, ptr noundef @.str.4)
  %1498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = call ptr @s2n_strerror_debug(i32 noundef %1499, ptr noundef @.str.4)
  %1501 = call ptr @__errno_location() #11
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @strerror(i32 noundef %1502) #10
  %1504 = call ptr @__errno_location() #11
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1493, ptr noundef @.str.5, i32 noundef %1494, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1497, ptr noundef %1500, ptr noundef %1503, i32 noundef %1505) #10
  br label %1507

1507:                                             ; preds = %1490, %1473
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #10
  br label %1508

1508:                                             ; preds = %1507
  br label %1509

1509:                                             ; preds = %1508
  call void @exit(i32 noundef 1) #12
  unreachable

1510:                                             ; No predecessors!
  br label %1511

1511:                                             ; preds = %1510
  br label %1512

1512:                                             ; preds = %1511, %1454
  br label %1513

1513:                                             ; preds = %1512
  br label %1514

1514:                                             ; preds = %1513
  br label %1515

1515:                                             ; preds = %1514
  %1516 = load i32, ptr @test_count, align 4, !tbaa !5
  %1517 = add nsw i32 %1516, 1
  store i32 %1517, ptr @test_count, align 4, !tbaa !5
  %1518 = load i32, ptr %35, align 4, !tbaa !5
  %1519 = load i32, ptr %28, align 4, !tbaa !5
  %1520 = icmp eq i32 %1518, %1519
  br i1 %1520, label %1574, label %1521

1521:                                             ; preds = %1515
  br label %1522

1522:                                             ; preds = %1521
  br label %1523

1523:                                             ; preds = %1522
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #10
  %1524 = call ptr @__errno_location() #11
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  store i32 %1525, ptr %38, align 4, !tbaa !5
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = call i32 @s2n_print_stacktrace(ptr noundef %1526)
  %1528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1529 = trunc i8 %1528 to i1
  br i1 %1529, label %1530, label %1552

1530:                                             ; preds = %1523
  %1531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1532 = call i32 @fileno(ptr noundef %1531) #10
  %1533 = call i32 @isatty(i32 noundef %1532) #10
  %1534 = icmp ne i32 %1533, 0
  br i1 %1534, label %1535, label %1552

1535:                                             ; preds = %1530
  %1536 = load i32, ptr %38, align 4, !tbaa !5
  %1537 = call ptr @__errno_location() #11
  store i32 %1536, ptr %1537, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = load i32, ptr @test_count, align 4, !tbaa !5
  %1540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1541 = load i32, ptr %1540, align 4, !tbaa !5
  %1542 = call ptr @s2n_strerror(i32 noundef %1541, ptr noundef @.str.4)
  %1543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1544 = load i32, ptr %1543, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror_debug(i32 noundef %1544, ptr noundef @.str.4)
  %1546 = call ptr @__errno_location() #11
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @strerror(i32 noundef %1547) #10
  %1549 = call ptr @__errno_location() #11
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1538, ptr noundef @.str.2, i32 noundef %1539, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1542, ptr noundef %1545, ptr noundef %1548, i32 noundef %1550) #10
  br label %1569

1552:                                             ; preds = %1530, %1523
  %1553 = load i32, ptr %38, align 4, !tbaa !5
  %1554 = call ptr @__errno_location() #11
  store i32 %1553, ptr %1554, align 4, !tbaa !5
  %1555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1556 = load i32, ptr @test_count, align 4, !tbaa !5
  %1557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1558 = load i32, ptr %1557, align 4, !tbaa !5
  %1559 = call ptr @s2n_strerror(i32 noundef %1558, ptr noundef @.str.4)
  %1560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1561 = load i32, ptr %1560, align 4, !tbaa !5
  %1562 = call ptr @s2n_strerror_debug(i32 noundef %1561, ptr noundef @.str.4)
  %1563 = call ptr @__errno_location() #11
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = call ptr @strerror(i32 noundef %1564) #10
  %1566 = call ptr @__errno_location() #11
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1555, ptr noundef @.str.5, i32 noundef %1556, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1559, ptr noundef %1562, ptr noundef %1565, i32 noundef %1567) #10
  br label %1569

1569:                                             ; preds = %1552, %1535
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #10
  br label %1570

1570:                                             ; preds = %1569
  br label %1571

1571:                                             ; preds = %1570
  call void @exit(i32 noundef 1) #12
  unreachable

1572:                                             ; No predecessors!
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

1574:                                             ; preds = %1573, %1515
  br label %1575

1575:                                             ; preds = %1574
  br label %1576

1576:                                             ; preds = %1575
  br label %1577

1577:                                             ; preds = %1576
  %1578 = load i16, ptr %34, align 2, !tbaa !22
  %1579 = zext i16 %1578 to i32
  %1580 = load i32, ptr %35, align 4, !tbaa !5
  %1581 = add i32 %1580, %1579
  store i32 %1581, ptr %35, align 4, !tbaa !5
  br label %1382, !llvm.loop !28

1582:                                             ; preds = %1388
  call void @llvm.lifetime.end.p0(i64 2, ptr %34) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %29) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #10
  store i8 4, ptr %17, align 1, !tbaa !19
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  store i32 0, ptr %39, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 16, ptr %40) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %40, ptr align 16 @__const.main.test_values.22, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #10
  store i64 0, ptr %41, align 8, !tbaa !25
  br label %1583

1583:                                             ; preds = %1779, %1582
  %1584 = load i64, ptr %41, align 8, !tbaa !25
  %1585 = icmp ult i64 %1584, 4
  br i1 %1585, label %1587, label %1586

1586:                                             ; preds = %1583
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #10
  br label %1782

1587:                                             ; preds = %1583
  br label %1588

1588:                                             ; preds = %1587
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = add nsw i32 %1589, 1
  store i32 %1590, ptr @test_count, align 4, !tbaa !5
  %1591 = load i64, ptr %41, align 8, !tbaa !25
  %1592 = getelementptr inbounds [4 x i32], ptr %40, i64 0, i64 %1591
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = zext i32 %1593 to i64
  %1595 = load i8, ptr %17, align 1, !tbaa !19
  %1596 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %1594, i8 noundef zeroext %1595)
  %1597 = icmp eq i32 %1596, -1
  br i1 %1597, label %1598, label %1651

1598:                                             ; preds = %1588
  br label %1599

1599:                                             ; preds = %1598
  br label %1600

1600:                                             ; preds = %1599
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %1601 = call ptr @__errno_location() #11
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  store i32 %1602, ptr %42, align 4, !tbaa !5
  %1603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1604 = call i32 @s2n_print_stacktrace(ptr noundef %1603)
  %1605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1606 = trunc i8 %1605 to i1
  br i1 %1606, label %1607, label %1629

1607:                                             ; preds = %1600
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = call i32 @fileno(ptr noundef %1608) #10
  %1610 = call i32 @isatty(i32 noundef %1609) #10
  %1611 = icmp ne i32 %1610, 0
  br i1 %1611, label %1612, label %1629

1612:                                             ; preds = %1607
  %1613 = load i32, ptr %42, align 4, !tbaa !5
  %1614 = call ptr @__errno_location() #11
  store i32 %1613, ptr %1614, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1618 = load i32, ptr %1617, align 4, !tbaa !5
  %1619 = call ptr @s2n_strerror(i32 noundef %1618, ptr noundef @.str.4)
  %1620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1621 = load i32, ptr %1620, align 4, !tbaa !5
  %1622 = call ptr @s2n_strerror_debug(i32 noundef %1621, ptr noundef @.str.4)
  %1623 = call ptr @__errno_location() #11
  %1624 = load i32, ptr %1623, align 4, !tbaa !5
  %1625 = call ptr @strerror(i32 noundef %1624) #10
  %1626 = call ptr @__errno_location() #11
  %1627 = load i32, ptr %1626, align 4, !tbaa !5
  %1628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1615, ptr noundef @.str.2, i32 noundef %1616, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1619, ptr noundef %1622, ptr noundef %1625, i32 noundef %1627) #10
  br label %1646

1629:                                             ; preds = %1607, %1600
  %1630 = load i32, ptr %42, align 4, !tbaa !5
  %1631 = call ptr @__errno_location() #11
  store i32 %1630, ptr %1631, align 4, !tbaa !5
  %1632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1633 = load i32, ptr @test_count, align 4, !tbaa !5
  %1634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1635 = load i32, ptr %1634, align 4, !tbaa !5
  %1636 = call ptr @s2n_strerror(i32 noundef %1635, ptr noundef @.str.4)
  %1637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1638 = load i32, ptr %1637, align 4, !tbaa !5
  %1639 = call ptr @s2n_strerror_debug(i32 noundef %1638, ptr noundef @.str.4)
  %1640 = call ptr @__errno_location() #11
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call ptr @strerror(i32 noundef %1641) #10
  %1643 = call ptr @__errno_location() #11
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  %1645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1632, ptr noundef @.str.5, i32 noundef %1633, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 97, ptr noundef %1636, ptr noundef %1639, ptr noundef %1642, i32 noundef %1644) #10
  br label %1646

1646:                                             ; preds = %1629, %1612
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %1647

1647:                                             ; preds = %1646
  br label %1648

1648:                                             ; preds = %1647
  call void @exit(i32 noundef 1) #12
  unreachable

1649:                                             ; No predecessors!
  br label %1650

1650:                                             ; preds = %1649
  br label %1651

1651:                                             ; preds = %1650, %1588
  br label %1652

1652:                                             ; preds = %1651
  br label %1653

1653:                                             ; preds = %1652
  br label %1654

1654:                                             ; preds = %1653
  %1655 = load i32, ptr @test_count, align 4, !tbaa !5
  %1656 = add nsw i32 %1655, 1
  store i32 %1656, ptr @test_count, align 4, !tbaa !5
  %1657 = call i32 @s2n_stuffer_read_uint32(ptr noundef %10, ptr noundef %39)
  %1658 = icmp eq i32 %1657, -1
  br i1 %1658, label %1659, label %1712

1659:                                             ; preds = %1654
  br label %1660

1660:                                             ; preds = %1659
  br label %1661

1661:                                             ; preds = %1660
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #10
  %1662 = call ptr @__errno_location() #11
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  store i32 %1663, ptr %43, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @s2n_print_stacktrace(ptr noundef %1664)
  %1666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1667 = trunc i8 %1666 to i1
  br i1 %1667, label %1668, label %1690

1668:                                             ; preds = %1661
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = call i32 @fileno(ptr noundef %1669) #10
  %1671 = call i32 @isatty(i32 noundef %1670) #10
  %1672 = icmp ne i32 %1671, 0
  br i1 %1672, label %1673, label %1690

1673:                                             ; preds = %1668
  %1674 = load i32, ptr %43, align 4, !tbaa !5
  %1675 = call ptr @__errno_location() #11
  store i32 %1674, ptr %1675, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1679 = load i32, ptr %1678, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror(i32 noundef %1679, ptr noundef @.str.4)
  %1681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror_debug(i32 noundef %1682, ptr noundef @.str.4)
  %1684 = call ptr @__errno_location() #11
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @strerror(i32 noundef %1685) #10
  %1687 = call ptr @__errno_location() #11
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1676, ptr noundef @.str.2, i32 noundef %1677, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1680, ptr noundef %1683, ptr noundef %1686, i32 noundef %1688) #10
  br label %1707

1690:                                             ; preds = %1668, %1661
  %1691 = load i32, ptr %43, align 4, !tbaa !5
  %1692 = call ptr @__errno_location() #11
  store i32 %1691, ptr %1692, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror(i32 noundef %1696, ptr noundef @.str.4)
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef %1699, ptr noundef @.str.4)
  %1701 = call ptr @__errno_location() #11
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @strerror(i32 noundef %1702) #10
  %1704 = call ptr @__errno_location() #11
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1693, ptr noundef @.str.5, i32 noundef %1694, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1697, ptr noundef %1700, ptr noundef %1703, i32 noundef %1705) #10
  br label %1707

1707:                                             ; preds = %1690, %1673
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %1708

1708:                                             ; preds = %1707
  br label %1709

1709:                                             ; preds = %1708
  call void @exit(i32 noundef 1) #12
  unreachable

1710:                                             ; No predecessors!
  br label %1711

1711:                                             ; preds = %1710
  br label %1712

1712:                                             ; preds = %1711, %1654
  br label %1713

1713:                                             ; preds = %1712
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714
  %1716 = load i32, ptr @test_count, align 4, !tbaa !5
  %1717 = add nsw i32 %1716, 1
  store i32 %1717, ptr @test_count, align 4, !tbaa !5
  %1718 = load i64, ptr %41, align 8, !tbaa !25
  %1719 = getelementptr inbounds [4 x i32], ptr %40, i64 0, i64 %1718
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = load i32, ptr %39, align 4, !tbaa !5
  %1722 = icmp eq i32 %1720, %1721
  br i1 %1722, label %1776, label %1723

1723:                                             ; preds = %1715
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

1725:                                             ; preds = %1724
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %1726 = call ptr @__errno_location() #11
  %1727 = load i32, ptr %1726, align 4, !tbaa !5
  store i32 %1727, ptr %44, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = call i32 @s2n_print_stacktrace(ptr noundef %1728)
  %1730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1731 = trunc i8 %1730 to i1
  br i1 %1731, label %1732, label %1754

1732:                                             ; preds = %1725
  %1733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1734 = call i32 @fileno(ptr noundef %1733) #10
  %1735 = call i32 @isatty(i32 noundef %1734) #10
  %1736 = icmp ne i32 %1735, 0
  br i1 %1736, label %1737, label %1754

1737:                                             ; preds = %1732
  %1738 = load i32, ptr %44, align 4, !tbaa !5
  %1739 = call ptr @__errno_location() #11
  store i32 %1738, ptr %1739, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = load i32, ptr @test_count, align 4, !tbaa !5
  %1742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror(i32 noundef %1743, ptr noundef @.str.4)
  %1745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1746 = load i32, ptr %1745, align 4, !tbaa !5
  %1747 = call ptr @s2n_strerror_debug(i32 noundef %1746, ptr noundef @.str.4)
  %1748 = call ptr @__errno_location() #11
  %1749 = load i32, ptr %1748, align 4, !tbaa !5
  %1750 = call ptr @strerror(i32 noundef %1749) #10
  %1751 = call ptr @__errno_location() #11
  %1752 = load i32, ptr %1751, align 4, !tbaa !5
  %1753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1740, ptr noundef @.str.2, i32 noundef %1741, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1744, ptr noundef %1747, ptr noundef %1750, i32 noundef %1752) #10
  br label %1771

1754:                                             ; preds = %1732, %1725
  %1755 = load i32, ptr %44, align 4, !tbaa !5
  %1756 = call ptr @__errno_location() #11
  store i32 %1755, ptr %1756, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = load i32, ptr @test_count, align 4, !tbaa !5
  %1759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1760 = load i32, ptr %1759, align 4, !tbaa !5
  %1761 = call ptr @s2n_strerror(i32 noundef %1760, ptr noundef @.str.4)
  %1762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1763 = load i32, ptr %1762, align 4, !tbaa !5
  %1764 = call ptr @s2n_strerror_debug(i32 noundef %1763, ptr noundef @.str.4)
  %1765 = call ptr @__errno_location() #11
  %1766 = load i32, ptr %1765, align 4, !tbaa !5
  %1767 = call ptr @strerror(i32 noundef %1766) #10
  %1768 = call ptr @__errno_location() #11
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  %1770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1757, ptr noundef @.str.5, i32 noundef %1758, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 99, ptr noundef %1761, ptr noundef %1764, ptr noundef %1767, i32 noundef %1769) #10
  br label %1771

1771:                                             ; preds = %1754, %1737
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %1772

1772:                                             ; preds = %1771
  br label %1773

1773:                                             ; preds = %1772
  call void @exit(i32 noundef 1) #12
  unreachable

1774:                                             ; No predecessors!
  br label %1775

1775:                                             ; preds = %1774
  br label %1776

1776:                                             ; preds = %1775, %1715
  br label %1777

1777:                                             ; preds = %1776
  br label %1778

1778:                                             ; preds = %1777
  br label %1779

1779:                                             ; preds = %1778
  %1780 = load i64, ptr %41, align 8, !tbaa !25
  %1781 = add i64 %1780, 1
  store i64 %1781, ptr %41, align 8, !tbaa !25
  br label %1583, !llvm.loop !29

1782:                                             ; preds = %1586
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  store i32 65537, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  store i32 0, ptr %46, align 4, !tbaa !5
  br label %1783

1783:                                             ; preds = %1977, %1782
  %1784 = load i32, ptr %46, align 4, !tbaa !5
  %1785 = load i32, ptr %45, align 4, !tbaa !5
  %1786 = sub i32 -1, %1785
  %1787 = icmp ult i32 %1784, %1786
  br i1 %1787, label %1789, label %1788

1788:                                             ; preds = %1783
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %1981

1789:                                             ; preds = %1783
  br label %1790

1790:                                             ; preds = %1789
  %1791 = load i32, ptr @test_count, align 4, !tbaa !5
  %1792 = add nsw i32 %1791, 1
  store i32 %1792, ptr @test_count, align 4, !tbaa !5
  %1793 = load i32, ptr %46, align 4, !tbaa !5
  %1794 = zext i32 %1793 to i64
  %1795 = load i8, ptr %17, align 1, !tbaa !19
  %1796 = call i32 @s2n_stuffer_write_network_order(ptr noundef %10, i64 noundef %1794, i8 noundef zeroext %1795)
  %1797 = icmp eq i32 %1796, -1
  br i1 %1797, label %1798, label %1851

1798:                                             ; preds = %1790
  br label %1799

1799:                                             ; preds = %1798
  br label %1800

1800:                                             ; preds = %1799
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #10
  %1801 = call ptr @__errno_location() #11
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  store i32 %1802, ptr %47, align 4, !tbaa !5
  %1803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1804 = call i32 @s2n_print_stacktrace(ptr noundef %1803)
  %1805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1806 = trunc i8 %1805 to i1
  br i1 %1806, label %1807, label %1829

1807:                                             ; preds = %1800
  %1808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1809 = call i32 @fileno(ptr noundef %1808) #10
  %1810 = call i32 @isatty(i32 noundef %1809) #10
  %1811 = icmp ne i32 %1810, 0
  br i1 %1811, label %1812, label %1829

1812:                                             ; preds = %1807
  %1813 = load i32, ptr %47, align 4, !tbaa !5
  %1814 = call ptr @__errno_location() #11
  store i32 %1813, ptr %1814, align 4, !tbaa !5
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = load i32, ptr @test_count, align 4, !tbaa !5
  %1817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1818 = load i32, ptr %1817, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror(i32 noundef %1818, ptr noundef @.str.4)
  %1820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1821 = load i32, ptr %1820, align 4, !tbaa !5
  %1822 = call ptr @s2n_strerror_debug(i32 noundef %1821, ptr noundef @.str.4)
  %1823 = call ptr @__errno_location() #11
  %1824 = load i32, ptr %1823, align 4, !tbaa !5
  %1825 = call ptr @strerror(i32 noundef %1824) #10
  %1826 = call ptr @__errno_location() #11
  %1827 = load i32, ptr %1826, align 4, !tbaa !5
  %1828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1815, ptr noundef @.str.2, i32 noundef %1816, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1819, ptr noundef %1822, ptr noundef %1825, i32 noundef %1827) #10
  br label %1846

1829:                                             ; preds = %1807, %1800
  %1830 = load i32, ptr %47, align 4, !tbaa !5
  %1831 = call ptr @__errno_location() #11
  store i32 %1830, ptr %1831, align 4, !tbaa !5
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = load i32, ptr @test_count, align 4, !tbaa !5
  %1834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  %1836 = call ptr @s2n_strerror(i32 noundef %1835, ptr noundef @.str.4)
  %1837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1838 = load i32, ptr %1837, align 4, !tbaa !5
  %1839 = call ptr @s2n_strerror_debug(i32 noundef %1838, ptr noundef @.str.4)
  %1840 = call ptr @__errno_location() #11
  %1841 = load i32, ptr %1840, align 4, !tbaa !5
  %1842 = call ptr @strerror(i32 noundef %1841) #10
  %1843 = call ptr @__errno_location() #11
  %1844 = load i32, ptr %1843, align 4, !tbaa !5
  %1845 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1832, ptr noundef @.str.5, i32 noundef %1833, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 104, ptr noundef %1836, ptr noundef %1839, ptr noundef %1842, i32 noundef %1844) #10
  br label %1846

1846:                                             ; preds = %1829, %1812
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %1847

1847:                                             ; preds = %1846
  br label %1848

1848:                                             ; preds = %1847
  call void @exit(i32 noundef 1) #12
  unreachable

1849:                                             ; No predecessors!
  br label %1850

1850:                                             ; preds = %1849
  br label %1851

1851:                                             ; preds = %1850, %1790
  br label %1852

1852:                                             ; preds = %1851
  br label %1853

1853:                                             ; preds = %1852
  br label %1854

1854:                                             ; preds = %1853
  %1855 = load i32, ptr @test_count, align 4, !tbaa !5
  %1856 = add nsw i32 %1855, 1
  store i32 %1856, ptr @test_count, align 4, !tbaa !5
  %1857 = call i32 @s2n_stuffer_read_uint32(ptr noundef %10, ptr noundef %39)
  %1858 = icmp eq i32 %1857, -1
  br i1 %1858, label %1859, label %1912

1859:                                             ; preds = %1854
  br label %1860

1860:                                             ; preds = %1859
  br label %1861

1861:                                             ; preds = %1860
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  %1862 = call ptr @__errno_location() #11
  %1863 = load i32, ptr %1862, align 4, !tbaa !5
  store i32 %1863, ptr %48, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = call i32 @s2n_print_stacktrace(ptr noundef %1864)
  %1866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1867 = trunc i8 %1866 to i1
  br i1 %1867, label %1868, label %1890

1868:                                             ; preds = %1861
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @fileno(ptr noundef %1869) #10
  %1871 = call i32 @isatty(i32 noundef %1870) #10
  %1872 = icmp ne i32 %1871, 0
  br i1 %1872, label %1873, label %1890

1873:                                             ; preds = %1868
  %1874 = load i32, ptr %48, align 4, !tbaa !5
  %1875 = call ptr @__errno_location() #11
  store i32 %1874, ptr %1875, align 4, !tbaa !5
  %1876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1877 = load i32, ptr @test_count, align 4, !tbaa !5
  %1878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call ptr @s2n_strerror(i32 noundef %1879, ptr noundef @.str.4)
  %1881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1882 = load i32, ptr %1881, align 4, !tbaa !5
  %1883 = call ptr @s2n_strerror_debug(i32 noundef %1882, ptr noundef @.str.4)
  %1884 = call ptr @__errno_location() #11
  %1885 = load i32, ptr %1884, align 4, !tbaa !5
  %1886 = call ptr @strerror(i32 noundef %1885) #10
  %1887 = call ptr @__errno_location() #11
  %1888 = load i32, ptr %1887, align 4, !tbaa !5
  %1889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1876, ptr noundef @.str.2, i32 noundef %1877, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1880, ptr noundef %1883, ptr noundef %1886, i32 noundef %1888) #10
  br label %1907

1890:                                             ; preds = %1868, %1861
  %1891 = load i32, ptr %48, align 4, !tbaa !5
  %1892 = call ptr @__errno_location() #11
  store i32 %1891, ptr %1892, align 4, !tbaa !5
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1894 = load i32, ptr @test_count, align 4, !tbaa !5
  %1895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @s2n_strerror(i32 noundef %1896, ptr noundef @.str.4)
  %1898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call ptr @s2n_strerror_debug(i32 noundef %1899, ptr noundef @.str.4)
  %1901 = call ptr @__errno_location() #11
  %1902 = load i32, ptr %1901, align 4, !tbaa !5
  %1903 = call ptr @strerror(i32 noundef %1902) #10
  %1904 = call ptr @__errno_location() #11
  %1905 = load i32, ptr %1904, align 4, !tbaa !5
  %1906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1893, ptr noundef @.str.5, i32 noundef %1894, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1897, ptr noundef %1900, ptr noundef %1903, i32 noundef %1905) #10
  br label %1907

1907:                                             ; preds = %1890, %1873
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %1908

1908:                                             ; preds = %1907
  br label %1909

1909:                                             ; preds = %1908
  call void @exit(i32 noundef 1) #12
  unreachable

1910:                                             ; No predecessors!
  br label %1911

1911:                                             ; preds = %1910
  br label %1912

1912:                                             ; preds = %1911, %1854
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

1914:                                             ; preds = %1913
  br label %1915

1915:                                             ; preds = %1914
  %1916 = load i32, ptr @test_count, align 4, !tbaa !5
  %1917 = add nsw i32 %1916, 1
  store i32 %1917, ptr @test_count, align 4, !tbaa !5
  %1918 = load i32, ptr %46, align 4, !tbaa !5
  %1919 = load i32, ptr %39, align 4, !tbaa !5
  %1920 = icmp eq i32 %1918, %1919
  br i1 %1920, label %1974, label %1921

1921:                                             ; preds = %1915
  br label %1922

1922:                                             ; preds = %1921
  br label %1923

1923:                                             ; preds = %1922
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #10
  %1924 = call ptr @__errno_location() #11
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  store i32 %1925, ptr %49, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = call i32 @s2n_print_stacktrace(ptr noundef %1926)
  %1928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1929 = trunc i8 %1928 to i1
  br i1 %1929, label %1930, label %1952

1930:                                             ; preds = %1923
  %1931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1932 = call i32 @fileno(ptr noundef %1931) #10
  %1933 = call i32 @isatty(i32 noundef %1932) #10
  %1934 = icmp ne i32 %1933, 0
  br i1 %1934, label %1935, label %1952

1935:                                             ; preds = %1930
  %1936 = load i32, ptr %49, align 4, !tbaa !5
  %1937 = call ptr @__errno_location() #11
  store i32 %1936, ptr %1937, align 4, !tbaa !5
  %1938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1939 = load i32, ptr @test_count, align 4, !tbaa !5
  %1940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1941 = load i32, ptr %1940, align 4, !tbaa !5
  %1942 = call ptr @s2n_strerror(i32 noundef %1941, ptr noundef @.str.4)
  %1943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1944 = load i32, ptr %1943, align 4, !tbaa !5
  %1945 = call ptr @s2n_strerror_debug(i32 noundef %1944, ptr noundef @.str.4)
  %1946 = call ptr @__errno_location() #11
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = call ptr @strerror(i32 noundef %1947) #10
  %1949 = call ptr @__errno_location() #11
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1938, ptr noundef @.str.2, i32 noundef %1939, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1942, ptr noundef %1945, ptr noundef %1948, i32 noundef %1950) #10
  br label %1969

1952:                                             ; preds = %1930, %1923
  %1953 = load i32, ptr %49, align 4, !tbaa !5
  %1954 = call ptr @__errno_location() #11
  store i32 %1953, ptr %1954, align 4, !tbaa !5
  %1955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1956 = load i32, ptr @test_count, align 4, !tbaa !5
  %1957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1958 = load i32, ptr %1957, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror(i32 noundef %1958, ptr noundef @.str.4)
  %1960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1961 = load i32, ptr %1960, align 4, !tbaa !5
  %1962 = call ptr @s2n_strerror_debug(i32 noundef %1961, ptr noundef @.str.4)
  %1963 = call ptr @__errno_location() #11
  %1964 = load i32, ptr %1963, align 4, !tbaa !5
  %1965 = call ptr @strerror(i32 noundef %1964) #10
  %1966 = call ptr @__errno_location() #11
  %1967 = load i32, ptr %1966, align 4, !tbaa !5
  %1968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1955, ptr noundef @.str.5, i32 noundef %1956, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1959, ptr noundef %1962, ptr noundef %1965, i32 noundef %1967) #10
  br label %1969

1969:                                             ; preds = %1952, %1935
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #10
  br label %1970

1970:                                             ; preds = %1969
  br label %1971

1971:                                             ; preds = %1970
  call void @exit(i32 noundef 1) #12
  unreachable

1972:                                             ; No predecessors!
  br label %1973

1973:                                             ; preds = %1972
  br label %1974

1974:                                             ; preds = %1973, %1915
  br label %1975

1975:                                             ; preds = %1974
  br label %1976

1976:                                             ; preds = %1975
  br label %1977

1977:                                             ; preds = %1976
  %1978 = load i32, ptr %45, align 4, !tbaa !5
  %1979 = load i32, ptr %46, align 4, !tbaa !5
  %1980 = add i32 %1979, %1978
  store i32 %1980, ptr %46, align 4, !tbaa !5
  br label %1783, !llvm.loop !30

1981:                                             ; preds = %1788
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %40) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %1982

1982:                                             ; preds = %1981
  %1983 = load i32, ptr @test_count, align 4, !tbaa !5
  %1984 = add nsw i32 %1983, 1
  store i32 %1984, ptr @test_count, align 4, !tbaa !5
  %1985 = call i32 @s2n_stuffer_free(ptr noundef %10)
  %1986 = icmp eq i32 %1985, -1
  br i1 %1986, label %1987, label %2040

1987:                                             ; preds = %1982
  br label %1988

1988:                                             ; preds = %1987
  br label %1989

1989:                                             ; preds = %1988
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #10
  %1990 = call ptr @__errno_location() #11
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  store i32 %1991, ptr %50, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = call i32 @s2n_print_stacktrace(ptr noundef %1992)
  %1994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1995 = trunc i8 %1994 to i1
  br i1 %1995, label %1996, label %2018

1996:                                             ; preds = %1989
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @fileno(ptr noundef %1997) #10
  %1999 = call i32 @isatty(i32 noundef %1998) #10
  %2000 = icmp ne i32 %1999, 0
  br i1 %2000, label %2001, label %2018

2001:                                             ; preds = %1996
  %2002 = load i32, ptr %50, align 4, !tbaa !5
  %2003 = call ptr @__errno_location() #11
  store i32 %2002, ptr %2003, align 4, !tbaa !5
  %2004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2005 = load i32, ptr @test_count, align 4, !tbaa !5
  %2006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = call ptr @s2n_strerror(i32 noundef %2007, ptr noundef @.str.4)
  %2009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2010 = load i32, ptr %2009, align 4, !tbaa !5
  %2011 = call ptr @s2n_strerror_debug(i32 noundef %2010, ptr noundef @.str.4)
  %2012 = call ptr @__errno_location() #11
  %2013 = load i32, ptr %2012, align 4, !tbaa !5
  %2014 = call ptr @strerror(i32 noundef %2013) #10
  %2015 = call ptr @__errno_location() #11
  %2016 = load i32, ptr %2015, align 4, !tbaa !5
  %2017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2004, ptr noundef @.str.2, i32 noundef %2005, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2008, ptr noundef %2011, ptr noundef %2014, i32 noundef %2016) #10
  br label %2035

2018:                                             ; preds = %1996, %1989
  %2019 = load i32, ptr %50, align 4, !tbaa !5
  %2020 = call ptr @__errno_location() #11
  store i32 %2019, ptr %2020, align 4, !tbaa !5
  %2021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2022 = load i32, ptr @test_count, align 4, !tbaa !5
  %2023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call ptr @s2n_strerror(i32 noundef %2024, ptr noundef @.str.4)
  %2026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2027 = load i32, ptr %2026, align 4, !tbaa !5
  %2028 = call ptr @s2n_strerror_debug(i32 noundef %2027, ptr noundef @.str.4)
  %2029 = call ptr @__errno_location() #11
  %2030 = load i32, ptr %2029, align 4, !tbaa !5
  %2031 = call ptr @strerror(i32 noundef %2030) #10
  %2032 = call ptr @__errno_location() #11
  %2033 = load i32, ptr %2032, align 4, !tbaa !5
  %2034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2021, ptr noundef @.str.5, i32 noundef %2022, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 110, ptr noundef %2025, ptr noundef %2028, ptr noundef %2031, i32 noundef %2033) #10
  br label %2035

2035:                                             ; preds = %2018, %2001
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #10
  br label %2036

2036:                                             ; preds = %2035
  br label %2037

2037:                                             ; preds = %2036
  call void @exit(i32 noundef 1) #12
  unreachable

2038:                                             ; No predecessors!
  br label %2039

2039:                                             ; preds = %2038
  br label %2040

2040:                                             ; preds = %2039, %1982
  br label %2041

2041:                                             ; preds = %2040
  br label %2042

2042:                                             ; preds = %2041
  call void @llvm.lifetime.end.p0(i64 1, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %51) #10
  store i16 0, ptr %51, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr %52) #10
  call void @llvm.memset.p0.i64(ptr align 8 %52, i8 0, i64 16, i1 false)
  br label %2043

2043:                                             ; preds = %2042
  %2044 = load i32, ptr @test_count, align 4, !tbaa !5
  %2045 = add nsw i32 %2044, 1
  store i32 %2045, ptr @test_count, align 4, !tbaa !5
  %2046 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %10, i32 noundef 0)
  %2047 = icmp eq i32 %2046, -1
  br i1 %2047, label %2048, label %2101

2048:                                             ; preds = %2043
  br label %2049

2049:                                             ; preds = %2048
  br label %2050

2050:                                             ; preds = %2049
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2051 = call ptr @__errno_location() #11
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  store i32 %2052, ptr %53, align 4, !tbaa !5
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @s2n_print_stacktrace(ptr noundef %2053)
  %2055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2056 = trunc i8 %2055 to i1
  br i1 %2056, label %2057, label %2079

2057:                                             ; preds = %2050
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = call i32 @fileno(ptr noundef %2058) #10
  %2060 = call i32 @isatty(i32 noundef %2059) #10
  %2061 = icmp ne i32 %2060, 0
  br i1 %2061, label %2062, label %2079

2062:                                             ; preds = %2057
  %2063 = load i32, ptr %53, align 4, !tbaa !5
  %2064 = call ptr @__errno_location() #11
  store i32 %2063, ptr %2064, align 4, !tbaa !5
  %2065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2066 = load i32, ptr @test_count, align 4, !tbaa !5
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror(i32 noundef %2068, ptr noundef @.str.4)
  %2070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror_debug(i32 noundef %2071, ptr noundef @.str.4)
  %2073 = call ptr @__errno_location() #11
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @strerror(i32 noundef %2074) #10
  %2076 = call ptr @__errno_location() #11
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2065, ptr noundef @.str.2, i32 noundef %2066, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2069, ptr noundef %2072, ptr noundef %2075, i32 noundef %2077) #10
  br label %2096

2079:                                             ; preds = %2057, %2050
  %2080 = load i32, ptr %53, align 4, !tbaa !5
  %2081 = call ptr @__errno_location() #11
  store i32 %2080, ptr %2081, align 4, !tbaa !5
  %2082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2085 = load i32, ptr %2084, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror(i32 noundef %2085, ptr noundef @.str.4)
  %2087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror_debug(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = call ptr @__errno_location() #11
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #10
  %2093 = call ptr @__errno_location() #11
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2082, ptr noundef @.str.5, i32 noundef %2083, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2086, ptr noundef %2089, ptr noundef %2092, i32 noundef %2094) #10
  br label %2096

2096:                                             ; preds = %2079, %2062
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2097

2097:                                             ; preds = %2096
  br label %2098

2098:                                             ; preds = %2097
  call void @exit(i32 noundef 1) #12
  unreachable

2099:                                             ; No predecessors!
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

2101:                                             ; preds = %2100, %2043
  br label %2102

2102:                                             ; preds = %2101
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103
  br label %2105

2105:                                             ; preds = %2104
  %2106 = load i32, ptr @test_count, align 4, !tbaa !5
  %2107 = add nsw i32 %2106, 1
  store i32 %2107, ptr @test_count, align 4, !tbaa !5
  %2108 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef null, ptr noundef %52)
  %2109 = icmp eq i32 %2108, -1
  br i1 %2109, label %2163, label %2110

2110:                                             ; preds = %2105
  br label %2111

2111:                                             ; preds = %2110
  br label %2112

2112:                                             ; preds = %2111
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2113 = call ptr @__errno_location() #11
  %2114 = load i32, ptr %2113, align 4, !tbaa !5
  store i32 %2114, ptr %54, align 4, !tbaa !5
  %2115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2116 = call i32 @s2n_print_stacktrace(ptr noundef %2115)
  %2117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2118 = trunc i8 %2117 to i1
  br i1 %2118, label %2119, label %2141

2119:                                             ; preds = %2112
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2121 = call i32 @fileno(ptr noundef %2120) #10
  %2122 = call i32 @isatty(i32 noundef %2121) #10
  %2123 = icmp ne i32 %2122, 0
  br i1 %2123, label %2124, label %2141

2124:                                             ; preds = %2119
  %2125 = load i32, ptr %54, align 4, !tbaa !5
  %2126 = call ptr @__errno_location() #11
  store i32 %2125, ptr %2126, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = load i32, ptr @test_count, align 4, !tbaa !5
  %2129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror(i32 noundef %2130, ptr noundef @.str.4)
  %2132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef @.str.4)
  %2135 = call ptr @__errno_location() #11
  %2136 = load i32, ptr %2135, align 4, !tbaa !5
  %2137 = call ptr @strerror(i32 noundef %2136) #10
  %2138 = call ptr @__errno_location() #11
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2127, ptr noundef @.str.2, i32 noundef %2128, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2131, ptr noundef %2134, ptr noundef %2137, i32 noundef %2139) #10
  br label %2158

2141:                                             ; preds = %2119, %2112
  %2142 = load i32, ptr %54, align 4, !tbaa !5
  %2143 = call ptr @__errno_location() #11
  store i32 %2142, ptr %2143, align 4, !tbaa !5
  %2144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2145 = load i32, ptr @test_count, align 4, !tbaa !5
  %2146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2147 = load i32, ptr %2146, align 4, !tbaa !5
  %2148 = call ptr @s2n_strerror(i32 noundef %2147, ptr noundef @.str.4)
  %2149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2150 = load i32, ptr %2149, align 4, !tbaa !5
  %2151 = call ptr @s2n_strerror_debug(i32 noundef %2150, ptr noundef @.str.4)
  %2152 = call ptr @__errno_location() #11
  %2153 = load i32, ptr %2152, align 4, !tbaa !5
  %2154 = call ptr @strerror(i32 noundef %2153) #10
  %2155 = call ptr @__errno_location() #11
  %2156 = load i32, ptr %2155, align 4, !tbaa !5
  %2157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2144, ptr noundef @.str.5, i32 noundef %2145, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2148, ptr noundef %2151, ptr noundef %2154, i32 noundef %2156) #10
  br label %2158

2158:                                             ; preds = %2141, %2124
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2159

2159:                                             ; preds = %2158
  br label %2160

2160:                                             ; preds = %2159
  call void @exit(i32 noundef 1) #12
  unreachable

2161:                                             ; No predecessors!
  br label %2162

2162:                                             ; preds = %2161
  br label %2163

2163:                                             ; preds = %2162, %2105
  br label %2164

2164:                                             ; preds = %2163
  br label %2165

2165:                                             ; preds = %2164
  br label %2166

2166:                                             ; preds = %2165
  %2167 = load i32, ptr @test_count, align 4, !tbaa !5
  %2168 = add nsw i32 %2167, 1
  store i32 %2168, ptr @test_count, align 4, !tbaa !5
  %2169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = icmp eq i32 %2170, 0
  br i1 %2171, label %2172, label %2225

2172:                                             ; preds = %2166
  br label %2173

2173:                                             ; preds = %2172
  br label %2174

2174:                                             ; preds = %2173
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2175 = call ptr @__errno_location() #11
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  store i32 %2176, ptr %55, align 4, !tbaa !5
  %2177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2178 = call i32 @s2n_print_stacktrace(ptr noundef %2177)
  %2179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2180 = trunc i8 %2179 to i1
  br i1 %2180, label %2181, label %2203

2181:                                             ; preds = %2174
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = call i32 @fileno(ptr noundef %2182) #10
  %2184 = call i32 @isatty(i32 noundef %2183) #10
  %2185 = icmp ne i32 %2184, 0
  br i1 %2185, label %2186, label %2203

2186:                                             ; preds = %2181
  %2187 = load i32, ptr %55, align 4, !tbaa !5
  %2188 = call ptr @__errno_location() #11
  store i32 %2187, ptr %2188, align 4, !tbaa !5
  %2189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2190 = load i32, ptr @test_count, align 4, !tbaa !5
  %2191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2192 = load i32, ptr %2191, align 4, !tbaa !5
  %2193 = call ptr @s2n_strerror(i32 noundef %2192, ptr noundef @.str.4)
  %2194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2195 = load i32, ptr %2194, align 4, !tbaa !5
  %2196 = call ptr @s2n_strerror_debug(i32 noundef %2195, ptr noundef @.str.4)
  %2197 = call ptr @__errno_location() #11
  %2198 = load i32, ptr %2197, align 4, !tbaa !5
  %2199 = call ptr @strerror(i32 noundef %2198) #10
  %2200 = call ptr @__errno_location() #11
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2189, ptr noundef @.str.2, i32 noundef %2190, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2193, ptr noundef %2196, ptr noundef %2199, i32 noundef %2201) #10
  br label %2220

2203:                                             ; preds = %2181, %2174
  %2204 = load i32, ptr %55, align 4, !tbaa !5
  %2205 = call ptr @__errno_location() #11
  store i32 %2204, ptr %2205, align 4, !tbaa !5
  %2206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2207 = load i32, ptr @test_count, align 4, !tbaa !5
  %2208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2209 = load i32, ptr %2208, align 4, !tbaa !5
  %2210 = call ptr @s2n_strerror(i32 noundef %2209, ptr noundef @.str.4)
  %2211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2212 = load i32, ptr %2211, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror_debug(i32 noundef %2212, ptr noundef @.str.4)
  %2214 = call ptr @__errno_location() #11
  %2215 = load i32, ptr %2214, align 4, !tbaa !5
  %2216 = call ptr @strerror(i32 noundef %2215) #10
  %2217 = call ptr @__errno_location() #11
  %2218 = load i32, ptr %2217, align 4, !tbaa !5
  %2219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2206, ptr noundef @.str.5, i32 noundef %2207, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2210, ptr noundef %2213, ptr noundef %2216, i32 noundef %2218) #10
  br label %2220

2220:                                             ; preds = %2203, %2186
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2221

2221:                                             ; preds = %2220
  br label %2222

2222:                                             ; preds = %2221
  call void @exit(i32 noundef 1) #12
  unreachable

2223:                                             ; No predecessors!
  br label %2224

2224:                                             ; preds = %2223
  br label %2225

2225:                                             ; preds = %2224, %2166
  br label %2226

2226:                                             ; preds = %2225
  br label %2227

2227:                                             ; preds = %2226
  br label %2228

2228:                                             ; preds = %2227
  %2229 = load i32, ptr @test_count, align 4, !tbaa !5
  %2230 = add nsw i32 %2229, 1
  store i32 %2230, ptr @test_count, align 4, !tbaa !5
  %2231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2232 = load i32, ptr %2231, align 4, !tbaa !5
  %2233 = call ptr @s2n_strerror_debug(i32 noundef %2232, ptr noundef @.str.4)
  %2234 = icmp eq ptr %2233, null
  br i1 %2234, label %2235, label %2288

2235:                                             ; preds = %2228
  br label %2236

2236:                                             ; preds = %2235
  br label %2237

2237:                                             ; preds = %2236
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %2238 = call ptr @__errno_location() #11
  %2239 = load i32, ptr %2238, align 4, !tbaa !5
  store i32 %2239, ptr %56, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = call i32 @s2n_print_stacktrace(ptr noundef %2240)
  %2242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2243 = trunc i8 %2242 to i1
  br i1 %2243, label %2244, label %2266

2244:                                             ; preds = %2237
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = call i32 @fileno(ptr noundef %2245) #10
  %2247 = call i32 @isatty(i32 noundef %2246) #10
  %2248 = icmp ne i32 %2247, 0
  br i1 %2248, label %2249, label %2266

2249:                                             ; preds = %2244
  %2250 = load i32, ptr %56, align 4, !tbaa !5
  %2251 = call ptr @__errno_location() #11
  store i32 %2250, ptr %2251, align 4, !tbaa !5
  %2252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2253 = load i32, ptr @test_count, align 4, !tbaa !5
  %2254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call ptr @s2n_strerror(i32 noundef %2255, ptr noundef @.str.4)
  %2257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2258 = load i32, ptr %2257, align 4, !tbaa !5
  %2259 = call ptr @s2n_strerror_debug(i32 noundef %2258, ptr noundef @.str.4)
  %2260 = call ptr @__errno_location() #11
  %2261 = load i32, ptr %2260, align 4, !tbaa !5
  %2262 = call ptr @strerror(i32 noundef %2261) #10
  %2263 = call ptr @__errno_location() #11
  %2264 = load i32, ptr %2263, align 4, !tbaa !5
  %2265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2252, ptr noundef @.str.2, i32 noundef %2253, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2256, ptr noundef %2259, ptr noundef %2262, i32 noundef %2264) #10
  br label %2283

2266:                                             ; preds = %2244, %2237
  %2267 = load i32, ptr %56, align 4, !tbaa !5
  %2268 = call ptr @__errno_location() #11
  store i32 %2267, ptr %2268, align 4, !tbaa !5
  %2269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2270 = load i32, ptr @test_count, align 4, !tbaa !5
  %2271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2272 = load i32, ptr %2271, align 4, !tbaa !5
  %2273 = call ptr @s2n_strerror(i32 noundef %2272, ptr noundef @.str.4)
  %2274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  %2276 = call ptr @s2n_strerror_debug(i32 noundef %2275, ptr noundef @.str.4)
  %2277 = call ptr @__errno_location() #11
  %2278 = load i32, ptr %2277, align 4, !tbaa !5
  %2279 = call ptr @strerror(i32 noundef %2278) #10
  %2280 = call ptr @__errno_location() #11
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  %2282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2269, ptr noundef @.str.5, i32 noundef %2270, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 120, ptr noundef %2273, ptr noundef %2276, ptr noundef %2279, i32 noundef %2281) #10
  br label %2283

2283:                                             ; preds = %2266, %2249
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2284

2284:                                             ; preds = %2283
  br label %2285

2285:                                             ; preds = %2284
  call void @exit(i32 noundef 1) #12
  unreachable

2286:                                             ; No predecessors!
  br label %2287

2287:                                             ; preds = %2286
  br label %2288

2288:                                             ; preds = %2287, %2228
  br label %2289

2289:                                             ; preds = %2288
  br label %2290

2290:                                             ; preds = %2289
  br label %2291

2291:                                             ; preds = %2290
  %2292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2292, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2293 = call ptr @__errno_location() #11
  store i32 0, ptr %2293, align 4, !tbaa !5
  br label %2294

2294:                                             ; preds = %2291
  br label %2295

2295:                                             ; preds = %2294
  br label %2296

2296:                                             ; preds = %2295
  br label %2297

2297:                                             ; preds = %2296
  br label %2298

2298:                                             ; preds = %2297
  br label %2299

2299:                                             ; preds = %2298
  %2300 = load i32, ptr @test_count, align 4, !tbaa !5
  %2301 = add nsw i32 %2300, 1
  store i32 %2301, ptr @test_count, align 4, !tbaa !5
  %2302 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef null)
  %2303 = icmp eq i32 %2302, -1
  br i1 %2303, label %2357, label %2304

2304:                                             ; preds = %2299
  br label %2305

2305:                                             ; preds = %2304
  br label %2306

2306:                                             ; preds = %2305
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #10
  %2307 = call ptr @__errno_location() #11
  %2308 = load i32, ptr %2307, align 4, !tbaa !5
  store i32 %2308, ptr %57, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = call i32 @s2n_print_stacktrace(ptr noundef %2309)
  %2311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2312 = trunc i8 %2311 to i1
  br i1 %2312, label %2313, label %2335

2313:                                             ; preds = %2306
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @fileno(ptr noundef %2314) #10
  %2316 = call i32 @isatty(i32 noundef %2315) #10
  %2317 = icmp ne i32 %2316, 0
  br i1 %2317, label %2318, label %2335

2318:                                             ; preds = %2313
  %2319 = load i32, ptr %57, align 4, !tbaa !5
  %2320 = call ptr @__errno_location() #11
  store i32 %2319, ptr %2320, align 4, !tbaa !5
  %2321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2322 = load i32, ptr @test_count, align 4, !tbaa !5
  %2323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2324 = load i32, ptr %2323, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror(i32 noundef %2324, ptr noundef @.str.4)
  %2326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror_debug(i32 noundef %2327, ptr noundef @.str.4)
  %2329 = call ptr @__errno_location() #11
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call ptr @strerror(i32 noundef %2330) #10
  %2332 = call ptr @__errno_location() #11
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2321, ptr noundef @.str.2, i32 noundef %2322, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2325, ptr noundef %2328, ptr noundef %2331, i32 noundef %2333) #10
  br label %2352

2335:                                             ; preds = %2313, %2306
  %2336 = load i32, ptr %57, align 4, !tbaa !5
  %2337 = call ptr @__errno_location() #11
  store i32 %2336, ptr %2337, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = load i32, ptr @test_count, align 4, !tbaa !5
  %2340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2341 = load i32, ptr %2340, align 4, !tbaa !5
  %2342 = call ptr @s2n_strerror(i32 noundef %2341, ptr noundef @.str.4)
  %2343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror_debug(i32 noundef %2344, ptr noundef @.str.4)
  %2346 = call ptr @__errno_location() #11
  %2347 = load i32, ptr %2346, align 4, !tbaa !5
  %2348 = call ptr @strerror(i32 noundef %2347) #10
  %2349 = call ptr @__errno_location() #11
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2338, ptr noundef @.str.5, i32 noundef %2339, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2342, ptr noundef %2345, ptr noundef %2348, i32 noundef %2350) #10
  br label %2352

2352:                                             ; preds = %2335, %2318
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %2353

2353:                                             ; preds = %2352
  br label %2354

2354:                                             ; preds = %2353
  call void @exit(i32 noundef 1) #12
  unreachable

2355:                                             ; No predecessors!
  br label %2356

2356:                                             ; preds = %2355
  br label %2357

2357:                                             ; preds = %2356, %2299
  br label %2358

2358:                                             ; preds = %2357
  br label %2359

2359:                                             ; preds = %2358
  br label %2360

2360:                                             ; preds = %2359
  %2361 = load i32, ptr @test_count, align 4, !tbaa !5
  %2362 = add nsw i32 %2361, 1
  store i32 %2362, ptr @test_count, align 4, !tbaa !5
  %2363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = icmp eq i32 %2364, 0
  br i1 %2365, label %2366, label %2419

2366:                                             ; preds = %2360
  br label %2367

2367:                                             ; preds = %2366
  br label %2368

2368:                                             ; preds = %2367
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %2369 = call ptr @__errno_location() #11
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  store i32 %2370, ptr %58, align 4, !tbaa !5
  %2371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2372 = call i32 @s2n_print_stacktrace(ptr noundef %2371)
  %2373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2374 = trunc i8 %2373 to i1
  br i1 %2374, label %2375, label %2397

2375:                                             ; preds = %2368
  %2376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2377 = call i32 @fileno(ptr noundef %2376) #10
  %2378 = call i32 @isatty(i32 noundef %2377) #10
  %2379 = icmp ne i32 %2378, 0
  br i1 %2379, label %2380, label %2397

2380:                                             ; preds = %2375
  %2381 = load i32, ptr %58, align 4, !tbaa !5
  %2382 = call ptr @__errno_location() #11
  store i32 %2381, ptr %2382, align 4, !tbaa !5
  %2383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2384 = load i32, ptr @test_count, align 4, !tbaa !5
  %2385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2386 = load i32, ptr %2385, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror(i32 noundef %2386, ptr noundef @.str.4)
  %2388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2389 = load i32, ptr %2388, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror_debug(i32 noundef %2389, ptr noundef @.str.4)
  %2391 = call ptr @__errno_location() #11
  %2392 = load i32, ptr %2391, align 4, !tbaa !5
  %2393 = call ptr @strerror(i32 noundef %2392) #10
  %2394 = call ptr @__errno_location() #11
  %2395 = load i32, ptr %2394, align 4, !tbaa !5
  %2396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2383, ptr noundef @.str.2, i32 noundef %2384, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2387, ptr noundef %2390, ptr noundef %2393, i32 noundef %2395) #10
  br label %2414

2397:                                             ; preds = %2375, %2368
  %2398 = load i32, ptr %58, align 4, !tbaa !5
  %2399 = call ptr @__errno_location() #11
  store i32 %2398, ptr %2399, align 4, !tbaa !5
  %2400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2401 = load i32, ptr @test_count, align 4, !tbaa !5
  %2402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2403 = load i32, ptr %2402, align 4, !tbaa !5
  %2404 = call ptr @s2n_strerror(i32 noundef %2403, ptr noundef @.str.4)
  %2405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2406 = load i32, ptr %2405, align 4, !tbaa !5
  %2407 = call ptr @s2n_strerror_debug(i32 noundef %2406, ptr noundef @.str.4)
  %2408 = call ptr @__errno_location() #11
  %2409 = load i32, ptr %2408, align 4, !tbaa !5
  %2410 = call ptr @strerror(i32 noundef %2409) #10
  %2411 = call ptr @__errno_location() #11
  %2412 = load i32, ptr %2411, align 4, !tbaa !5
  %2413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2400, ptr noundef @.str.5, i32 noundef %2401, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2404, ptr noundef %2407, ptr noundef %2410, i32 noundef %2412) #10
  br label %2414

2414:                                             ; preds = %2397, %2380
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %2415

2415:                                             ; preds = %2414
  br label %2416

2416:                                             ; preds = %2415
  call void @exit(i32 noundef 1) #12
  unreachable

2417:                                             ; No predecessors!
  br label %2418

2418:                                             ; preds = %2417
  br label %2419

2419:                                             ; preds = %2418, %2360
  br label %2420

2420:                                             ; preds = %2419
  br label %2421

2421:                                             ; preds = %2420
  br label %2422

2422:                                             ; preds = %2421
  %2423 = load i32, ptr @test_count, align 4, !tbaa !5
  %2424 = add nsw i32 %2423, 1
  store i32 %2424, ptr @test_count, align 4, !tbaa !5
  %2425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  %2427 = call ptr @s2n_strerror_debug(i32 noundef %2426, ptr noundef @.str.4)
  %2428 = icmp eq ptr %2427, null
  br i1 %2428, label %2429, label %2482

2429:                                             ; preds = %2422
  br label %2430

2430:                                             ; preds = %2429
  br label %2431

2431:                                             ; preds = %2430
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #10
  %2432 = call ptr @__errno_location() #11
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  store i32 %2433, ptr %59, align 4, !tbaa !5
  %2434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2435 = call i32 @s2n_print_stacktrace(ptr noundef %2434)
  %2436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2437 = trunc i8 %2436 to i1
  br i1 %2437, label %2438, label %2460

2438:                                             ; preds = %2431
  %2439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2440 = call i32 @fileno(ptr noundef %2439) #10
  %2441 = call i32 @isatty(i32 noundef %2440) #10
  %2442 = icmp ne i32 %2441, 0
  br i1 %2442, label %2443, label %2460

2443:                                             ; preds = %2438
  %2444 = load i32, ptr %59, align 4, !tbaa !5
  %2445 = call ptr @__errno_location() #11
  store i32 %2444, ptr %2445, align 4, !tbaa !5
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = load i32, ptr @test_count, align 4, !tbaa !5
  %2448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2449 = load i32, ptr %2448, align 4, !tbaa !5
  %2450 = call ptr @s2n_strerror(i32 noundef %2449, ptr noundef @.str.4)
  %2451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2452 = load i32, ptr %2451, align 4, !tbaa !5
  %2453 = call ptr @s2n_strerror_debug(i32 noundef %2452, ptr noundef @.str.4)
  %2454 = call ptr @__errno_location() #11
  %2455 = load i32, ptr %2454, align 4, !tbaa !5
  %2456 = call ptr @strerror(i32 noundef %2455) #10
  %2457 = call ptr @__errno_location() #11
  %2458 = load i32, ptr %2457, align 4, !tbaa !5
  %2459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2446, ptr noundef @.str.2, i32 noundef %2447, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2450, ptr noundef %2453, ptr noundef %2456, i32 noundef %2458) #10
  br label %2477

2460:                                             ; preds = %2438, %2431
  %2461 = load i32, ptr %59, align 4, !tbaa !5
  %2462 = call ptr @__errno_location() #11
  store i32 %2461, ptr %2462, align 4, !tbaa !5
  %2463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2464 = load i32, ptr @test_count, align 4, !tbaa !5
  %2465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2466 = load i32, ptr %2465, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror(i32 noundef %2466, ptr noundef @.str.4)
  %2468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2469 = load i32, ptr %2468, align 4, !tbaa !5
  %2470 = call ptr @s2n_strerror_debug(i32 noundef %2469, ptr noundef @.str.4)
  %2471 = call ptr @__errno_location() #11
  %2472 = load i32, ptr %2471, align 4, !tbaa !5
  %2473 = call ptr @strerror(i32 noundef %2472) #10
  %2474 = call ptr @__errno_location() #11
  %2475 = load i32, ptr %2474, align 4, !tbaa !5
  %2476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2463, ptr noundef @.str.5, i32 noundef %2464, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2467, ptr noundef %2470, ptr noundef %2473, i32 noundef %2475) #10
  br label %2477

2477:                                             ; preds = %2460, %2443
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #10
  br label %2478

2478:                                             ; preds = %2477
  br label %2479

2479:                                             ; preds = %2478
  call void @exit(i32 noundef 1) #12
  unreachable

2480:                                             ; No predecessors!
  br label %2481

2481:                                             ; preds = %2480
  br label %2482

2482:                                             ; preds = %2481, %2422
  br label %2483

2483:                                             ; preds = %2482
  br label %2484

2484:                                             ; preds = %2483
  br label %2485

2485:                                             ; preds = %2484
  %2486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2486, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2487 = call ptr @__errno_location() #11
  store i32 0, ptr %2487, align 4, !tbaa !5
  br label %2488

2488:                                             ; preds = %2485
  br label %2489

2489:                                             ; preds = %2488
  br label %2490

2490:                                             ; preds = %2489
  br label %2491

2491:                                             ; preds = %2490
  call void @llvm.lifetime.start.p0(i64 2, ptr %60) #10
  store i16 5, ptr %60, align 2, !tbaa !22
  br label %2492

2492:                                             ; preds = %2491
  %2493 = load i32, ptr @test_count, align 4, !tbaa !5
  %2494 = add nsw i32 %2493, 1
  store i32 %2494, ptr @test_count, align 4, !tbaa !5
  %2495 = load i16, ptr %60, align 2, !tbaa !22
  %2496 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %2495)
  %2497 = icmp eq i32 %2496, -1
  br i1 %2497, label %2498, label %2551

2498:                                             ; preds = %2492
  br label %2499

2499:                                             ; preds = %2498
  br label %2500

2500:                                             ; preds = %2499
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %2501 = call ptr @__errno_location() #11
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  store i32 %2502, ptr %61, align 4, !tbaa !5
  %2503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2504 = call i32 @s2n_print_stacktrace(ptr noundef %2503)
  %2505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2506 = trunc i8 %2505 to i1
  br i1 %2506, label %2507, label %2529

2507:                                             ; preds = %2500
  %2508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2509 = call i32 @fileno(ptr noundef %2508) #10
  %2510 = call i32 @isatty(i32 noundef %2509) #10
  %2511 = icmp ne i32 %2510, 0
  br i1 %2511, label %2512, label %2529

2512:                                             ; preds = %2507
  %2513 = load i32, ptr %61, align 4, !tbaa !5
  %2514 = call ptr @__errno_location() #11
  store i32 %2513, ptr %2514, align 4, !tbaa !5
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = load i32, ptr @test_count, align 4, !tbaa !5
  %2517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2518 = load i32, ptr %2517, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef @.str.4)
  %2520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2521 = load i32, ptr %2520, align 4, !tbaa !5
  %2522 = call ptr @s2n_strerror_debug(i32 noundef %2521, ptr noundef @.str.4)
  %2523 = call ptr @__errno_location() #11
  %2524 = load i32, ptr %2523, align 4, !tbaa !5
  %2525 = call ptr @strerror(i32 noundef %2524) #10
  %2526 = call ptr @__errno_location() #11
  %2527 = load i32, ptr %2526, align 4, !tbaa !5
  %2528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2515, ptr noundef @.str.2, i32 noundef %2516, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2519, ptr noundef %2522, ptr noundef %2525, i32 noundef %2527) #10
  br label %2546

2529:                                             ; preds = %2507, %2500
  %2530 = load i32, ptr %61, align 4, !tbaa !5
  %2531 = call ptr @__errno_location() #11
  store i32 %2530, ptr %2531, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2535 = load i32, ptr %2534, align 4, !tbaa !5
  %2536 = call ptr @s2n_strerror(i32 noundef %2535, ptr noundef @.str.4)
  %2537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2538 = load i32, ptr %2537, align 4, !tbaa !5
  %2539 = call ptr @s2n_strerror_debug(i32 noundef %2538, ptr noundef @.str.4)
  %2540 = call ptr @__errno_location() #11
  %2541 = load i32, ptr %2540, align 4, !tbaa !5
  %2542 = call ptr @strerror(i32 noundef %2541) #10
  %2543 = call ptr @__errno_location() #11
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2532, ptr noundef @.str.5, i32 noundef %2533, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 127, ptr noundef %2536, ptr noundef %2539, ptr noundef %2542, i32 noundef %2544) #10
  br label %2546

2546:                                             ; preds = %2529, %2512
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %2547

2547:                                             ; preds = %2546
  br label %2548

2548:                                             ; preds = %2547
  call void @exit(i32 noundef 1) #12
  unreachable

2549:                                             ; No predecessors!
  br label %2550

2550:                                             ; preds = %2549
  br label %2551

2551:                                             ; preds = %2550, %2492
  br label %2552

2552:                                             ; preds = %2551
  br label %2553

2553:                                             ; preds = %2552
  br label %2554

2554:                                             ; preds = %2553
  %2555 = load i32, ptr @test_count, align 4, !tbaa !5
  %2556 = add nsw i32 %2555, 1
  store i32 %2556, ptr @test_count, align 4, !tbaa !5
  %2557 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef %52)
  %2558 = icmp eq i32 %2557, -1
  br i1 %2558, label %2559, label %2612

2559:                                             ; preds = %2554
  br label %2560

2560:                                             ; preds = %2559
  br label %2561

2561:                                             ; preds = %2560
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %2562 = call ptr @__errno_location() #11
  %2563 = load i32, ptr %2562, align 4, !tbaa !5
  store i32 %2563, ptr %62, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @s2n_print_stacktrace(ptr noundef %2564)
  %2566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2567 = trunc i8 %2566 to i1
  br i1 %2567, label %2568, label %2590

2568:                                             ; preds = %2561
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @fileno(ptr noundef %2569) #10
  %2571 = call i32 @isatty(i32 noundef %2570) #10
  %2572 = icmp ne i32 %2571, 0
  br i1 %2572, label %2573, label %2590

2573:                                             ; preds = %2568
  %2574 = load i32, ptr %62, align 4, !tbaa !5
  %2575 = call ptr @__errno_location() #11
  store i32 %2574, ptr %2575, align 4, !tbaa !5
  %2576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2577 = load i32, ptr @test_count, align 4, !tbaa !5
  %2578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @s2n_strerror(i32 noundef %2579, ptr noundef @.str.4)
  %2581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @s2n_strerror_debug(i32 noundef %2582, ptr noundef @.str.4)
  %2584 = call ptr @__errno_location() #11
  %2585 = load i32, ptr %2584, align 4, !tbaa !5
  %2586 = call ptr @strerror(i32 noundef %2585) #10
  %2587 = call ptr @__errno_location() #11
  %2588 = load i32, ptr %2587, align 4, !tbaa !5
  %2589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2576, ptr noundef @.str.2, i32 noundef %2577, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 130, ptr noundef %2580, ptr noundef %2583, ptr noundef %2586, i32 noundef %2588) #10
  br label %2607

2590:                                             ; preds = %2568, %2561
  %2591 = load i32, ptr %62, align 4, !tbaa !5
  %2592 = call ptr @__errno_location() #11
  store i32 %2591, ptr %2592, align 4, !tbaa !5
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2596 = load i32, ptr %2595, align 4, !tbaa !5
  %2597 = call ptr @s2n_strerror(i32 noundef %2596, ptr noundef @.str.4)
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror_debug(i32 noundef %2599, ptr noundef @.str.4)
  %2601 = call ptr @__errno_location() #11
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @strerror(i32 noundef %2602) #10
  %2604 = call ptr @__errno_location() #11
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2593, ptr noundef @.str.5, i32 noundef %2594, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 130, ptr noundef %2597, ptr noundef %2600, ptr noundef %2603, i32 noundef %2605) #10
  br label %2607

2607:                                             ; preds = %2590, %2573
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  call void @exit(i32 noundef 1) #12
  unreachable

2610:                                             ; No predecessors!
  br label %2611

2611:                                             ; preds = %2610
  br label %2612

2612:                                             ; preds = %2611, %2554
  br label %2613

2613:                                             ; preds = %2612
  br label %2614

2614:                                             ; preds = %2613
  br label %2615

2615:                                             ; preds = %2614
  %2616 = load i32, ptr @test_count, align 4, !tbaa !5
  %2617 = add nsw i32 %2616, 1
  store i32 %2617, ptr @test_count, align 4, !tbaa !5
  %2618 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 0
  %2619 = load ptr, ptr %2618, align 8, !tbaa !31
  %2620 = icmp eq ptr %2619, %10
  br i1 %2620, label %2674, label %2621

2621:                                             ; preds = %2615
  br label %2622

2622:                                             ; preds = %2621
  br label %2623

2623:                                             ; preds = %2622
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %2624 = call ptr @__errno_location() #11
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  store i32 %2625, ptr %63, align 4, !tbaa !5
  %2626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2627 = call i32 @s2n_print_stacktrace(ptr noundef %2626)
  %2628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2629 = trunc i8 %2628 to i1
  br i1 %2629, label %2630, label %2652

2630:                                             ; preds = %2623
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = call i32 @fileno(ptr noundef %2631) #10
  %2633 = call i32 @isatty(i32 noundef %2632) #10
  %2634 = icmp ne i32 %2633, 0
  br i1 %2634, label %2635, label %2652

2635:                                             ; preds = %2630
  %2636 = load i32, ptr %63, align 4, !tbaa !5
  %2637 = call ptr @__errno_location() #11
  store i32 %2636, ptr %2637, align 4, !tbaa !5
  %2638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2639 = load i32, ptr @test_count, align 4, !tbaa !5
  %2640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2641 = load i32, ptr %2640, align 4, !tbaa !5
  %2642 = call ptr @s2n_strerror(i32 noundef %2641, ptr noundef @.str.4)
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror_debug(i32 noundef %2644, ptr noundef @.str.4)
  %2646 = call ptr @__errno_location() #11
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @strerror(i32 noundef %2647) #10
  %2649 = call ptr @__errno_location() #11
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2638, ptr noundef @.str.2, i32 noundef %2639, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2642, ptr noundef %2645, ptr noundef %2648, i32 noundef %2650) #10
  br label %2669

2652:                                             ; preds = %2630, %2623
  %2653 = load i32, ptr %63, align 4, !tbaa !5
  %2654 = call ptr @__errno_location() #11
  store i32 %2653, ptr %2654, align 4, !tbaa !5
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = load i32, ptr @test_count, align 4, !tbaa !5
  %2657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2658 = load i32, ptr %2657, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror(i32 noundef %2658, ptr noundef @.str.4)
  %2660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror_debug(i32 noundef %2661, ptr noundef @.str.4)
  %2663 = call ptr @__errno_location() #11
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  %2665 = call ptr @strerror(i32 noundef %2664) #10
  %2666 = call ptr @__errno_location() #11
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  %2668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2655, ptr noundef @.str.5, i32 noundef %2656, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2659, ptr noundef %2662, ptr noundef %2665, i32 noundef %2667) #10
  br label %2669

2669:                                             ; preds = %2652, %2635
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  call void @exit(i32 noundef 1) #12
  unreachable

2672:                                             ; No predecessors!
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673, %2615
  br label %2675

2675:                                             ; preds = %2674
  br label %2676

2676:                                             ; preds = %2675
  br label %2677

2677:                                             ; preds = %2676
  %2678 = load i32, ptr @test_count, align 4, !tbaa !5
  %2679 = add nsw i32 %2678, 1
  store i32 %2679, ptr @test_count, align 4, !tbaa !5
  %2680 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 1
  %2681 = load i32, ptr %2680, align 8, !tbaa !33
  %2682 = zext i32 %2681 to i64
  %2683 = icmp eq i64 %2682, 2
  br i1 %2683, label %2737, label %2684

2684:                                             ; preds = %2677
  br label %2685

2685:                                             ; preds = %2684
  br label %2686

2686:                                             ; preds = %2685
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %2687 = call ptr @__errno_location() #11
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  store i32 %2688, ptr %64, align 4, !tbaa !5
  %2689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2690 = call i32 @s2n_print_stacktrace(ptr noundef %2689)
  %2691 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2692 = trunc i8 %2691 to i1
  br i1 %2692, label %2693, label %2715

2693:                                             ; preds = %2686
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = call i32 @fileno(ptr noundef %2694) #10
  %2696 = call i32 @isatty(i32 noundef %2695) #10
  %2697 = icmp ne i32 %2696, 0
  br i1 %2697, label %2698, label %2715

2698:                                             ; preds = %2693
  %2699 = load i32, ptr %64, align 4, !tbaa !5
  %2700 = call ptr @__errno_location() #11
  store i32 %2699, ptr %2700, align 4, !tbaa !5
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = load i32, ptr @test_count, align 4, !tbaa !5
  %2703 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2704 = load i32, ptr %2703, align 4, !tbaa !5
  %2705 = call ptr @s2n_strerror(i32 noundef %2704, ptr noundef @.str.4)
  %2706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2707 = load i32, ptr %2706, align 4, !tbaa !5
  %2708 = call ptr @s2n_strerror_debug(i32 noundef %2707, ptr noundef @.str.4)
  %2709 = call ptr @__errno_location() #11
  %2710 = load i32, ptr %2709, align 4, !tbaa !5
  %2711 = call ptr @strerror(i32 noundef %2710) #10
  %2712 = call ptr @__errno_location() #11
  %2713 = load i32, ptr %2712, align 4, !tbaa !5
  %2714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2701, ptr noundef @.str.2, i32 noundef %2702, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2705, ptr noundef %2708, ptr noundef %2711, i32 noundef %2713) #10
  br label %2732

2715:                                             ; preds = %2693, %2686
  %2716 = load i32, ptr %64, align 4, !tbaa !5
  %2717 = call ptr @__errno_location() #11
  store i32 %2716, ptr %2717, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = load i32, ptr @test_count, align 4, !tbaa !5
  %2720 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2721 = load i32, ptr %2720, align 4, !tbaa !5
  %2722 = call ptr @s2n_strerror(i32 noundef %2721, ptr noundef @.str.4)
  %2723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2724 = load i32, ptr %2723, align 4, !tbaa !5
  %2725 = call ptr @s2n_strerror_debug(i32 noundef %2724, ptr noundef @.str.4)
  %2726 = call ptr @__errno_location() #11
  %2727 = load i32, ptr %2726, align 4, !tbaa !5
  %2728 = call ptr @strerror(i32 noundef %2727) #10
  %2729 = call ptr @__errno_location() #11
  %2730 = load i32, ptr %2729, align 4, !tbaa !5
  %2731 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2718, ptr noundef @.str.5, i32 noundef %2719, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2722, ptr noundef %2725, ptr noundef %2728, i32 noundef %2730) #10
  br label %2732

2732:                                             ; preds = %2715, %2698
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %2733

2733:                                             ; preds = %2732
  br label %2734

2734:                                             ; preds = %2733
  call void @exit(i32 noundef 1) #12
  unreachable

2735:                                             ; No predecessors!
  br label %2736

2736:                                             ; preds = %2735
  br label %2737

2737:                                             ; preds = %2736, %2677
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  br label %2740

2740:                                             ; preds = %2739
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = add nsw i32 %2741, 1
  store i32 %2742, ptr @test_count, align 4, !tbaa !5
  %2743 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 2
  %2744 = load i8, ptr %2743, align 4, !tbaa !34
  %2745 = zext i8 %2744 to i64
  %2746 = icmp eq i64 %2745, 2
  br i1 %2746, label %2800, label %2747

2747:                                             ; preds = %2740
  br label %2748

2748:                                             ; preds = %2747
  br label %2749

2749:                                             ; preds = %2748
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %2750 = call ptr @__errno_location() #11
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  store i32 %2751, ptr %65, align 4, !tbaa !5
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = call i32 @s2n_print_stacktrace(ptr noundef %2752)
  %2754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2755 = trunc i8 %2754 to i1
  br i1 %2755, label %2756, label %2778

2756:                                             ; preds = %2749
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = call i32 @fileno(ptr noundef %2757) #10
  %2759 = call i32 @isatty(i32 noundef %2758) #10
  %2760 = icmp ne i32 %2759, 0
  br i1 %2760, label %2761, label %2778

2761:                                             ; preds = %2756
  %2762 = load i32, ptr %65, align 4, !tbaa !5
  %2763 = call ptr @__errno_location() #11
  store i32 %2762, ptr %2763, align 4, !tbaa !5
  %2764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2767 = load i32, ptr %2766, align 4, !tbaa !5
  %2768 = call ptr @s2n_strerror(i32 noundef %2767, ptr noundef @.str.4)
  %2769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2770 = load i32, ptr %2769, align 4, !tbaa !5
  %2771 = call ptr @s2n_strerror_debug(i32 noundef %2770, ptr noundef @.str.4)
  %2772 = call ptr @__errno_location() #11
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call ptr @strerror(i32 noundef %2773) #10
  %2775 = call ptr @__errno_location() #11
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2764, ptr noundef @.str.2, i32 noundef %2765, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2768, ptr noundef %2771, ptr noundef %2774, i32 noundef %2776) #10
  br label %2795

2778:                                             ; preds = %2756, %2749
  %2779 = load i32, ptr %65, align 4, !tbaa !5
  %2780 = call ptr @__errno_location() #11
  store i32 %2779, ptr %2780, align 4, !tbaa !5
  %2781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2782 = load i32, ptr @test_count, align 4, !tbaa !5
  %2783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2784 = load i32, ptr %2783, align 4, !tbaa !5
  %2785 = call ptr @s2n_strerror(i32 noundef %2784, ptr noundef @.str.4)
  %2786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call ptr @s2n_strerror_debug(i32 noundef %2787, ptr noundef @.str.4)
  %2789 = call ptr @__errno_location() #11
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = call ptr @strerror(i32 noundef %2790) #10
  %2792 = call ptr @__errno_location() #11
  %2793 = load i32, ptr %2792, align 4, !tbaa !5
  %2794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2781, ptr noundef @.str.5, i32 noundef %2782, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2785, ptr noundef %2788, ptr noundef %2791, i32 noundef %2793) #10
  br label %2795

2795:                                             ; preds = %2778, %2761
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %2796

2796:                                             ; preds = %2795
  br label %2797

2797:                                             ; preds = %2796
  call void @exit(i32 noundef 1) #12
  unreachable

2798:                                             ; No predecessors!
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

2800:                                             ; preds = %2799, %2740
  br label %2801

2801:                                             ; preds = %2800
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

2803:                                             ; preds = %2802
  %2804 = load i32, ptr @test_count, align 4, !tbaa !5
  %2805 = add nsw i32 %2804, 1
  store i32 %2805, ptr @test_count, align 4, !tbaa !5
  %2806 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef %52)
  %2807 = icmp eq i32 %2806, -1
  br i1 %2807, label %2808, label %2861

2808:                                             ; preds = %2803
  br label %2809

2809:                                             ; preds = %2808
  br label %2810

2810:                                             ; preds = %2809
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %2811 = call ptr @__errno_location() #11
  %2812 = load i32, ptr %2811, align 4, !tbaa !5
  store i32 %2812, ptr %66, align 4, !tbaa !5
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = call i32 @s2n_print_stacktrace(ptr noundef %2813)
  %2815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2816 = trunc i8 %2815 to i1
  br i1 %2816, label %2817, label %2839

2817:                                             ; preds = %2810
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = call i32 @fileno(ptr noundef %2818) #10
  %2820 = call i32 @isatty(i32 noundef %2819) #10
  %2821 = icmp ne i32 %2820, 0
  br i1 %2821, label %2822, label %2839

2822:                                             ; preds = %2817
  %2823 = load i32, ptr %66, align 4, !tbaa !5
  %2824 = call ptr @__errno_location() #11
  store i32 %2823, ptr %2824, align 4, !tbaa !5
  %2825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2826 = load i32, ptr @test_count, align 4, !tbaa !5
  %2827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2828 = load i32, ptr %2827, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror(i32 noundef %2828, ptr noundef @.str.4)
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror_debug(i32 noundef %2831, ptr noundef @.str.4)
  %2833 = call ptr @__errno_location() #11
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @strerror(i32 noundef %2834) #10
  %2836 = call ptr @__errno_location() #11
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2825, ptr noundef @.str.2, i32 noundef %2826, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2829, ptr noundef %2832, ptr noundef %2835, i32 noundef %2837) #10
  br label %2856

2839:                                             ; preds = %2817, %2810
  %2840 = load i32, ptr %66, align 4, !tbaa !5
  %2841 = call ptr @__errno_location() #11
  store i32 %2840, ptr %2841, align 4, !tbaa !5
  %2842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2843 = load i32, ptr @test_count, align 4, !tbaa !5
  %2844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2845 = load i32, ptr %2844, align 4, !tbaa !5
  %2846 = call ptr @s2n_strerror(i32 noundef %2845, ptr noundef @.str.4)
  %2847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror_debug(i32 noundef %2848, ptr noundef @.str.4)
  %2850 = call ptr @__errno_location() #11
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @strerror(i32 noundef %2851) #10
  %2853 = call ptr @__errno_location() #11
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2842, ptr noundef @.str.5, i32 noundef %2843, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2846, ptr noundef %2849, ptr noundef %2852, i32 noundef %2854) #10
  br label %2856

2856:                                             ; preds = %2839, %2822
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %2857

2857:                                             ; preds = %2856
  br label %2858

2858:                                             ; preds = %2857
  call void @exit(i32 noundef 1) #12
  unreachable

2859:                                             ; No predecessors!
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

2861:                                             ; preds = %2860, %2803
  br label %2862

2862:                                             ; preds = %2861
  br label %2863

2863:                                             ; preds = %2862
  br label %2864

2864:                                             ; preds = %2863
  %2865 = load i32, ptr @test_count, align 4, !tbaa !5
  %2866 = add nsw i32 %2865, 1
  store i32 %2866, ptr @test_count, align 4, !tbaa !5
  %2867 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 0
  %2868 = load ptr, ptr %2867, align 8, !tbaa !31
  %2869 = icmp eq ptr %2868, %10
  br i1 %2869, label %2923, label %2870

2870:                                             ; preds = %2864
  br label %2871

2871:                                             ; preds = %2870
  br label %2872

2872:                                             ; preds = %2871
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %2873 = call ptr @__errno_location() #11
  %2874 = load i32, ptr %2873, align 4, !tbaa !5
  store i32 %2874, ptr %67, align 4, !tbaa !5
  %2875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2876 = call i32 @s2n_print_stacktrace(ptr noundef %2875)
  %2877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2878 = trunc i8 %2877 to i1
  br i1 %2878, label %2879, label %2901

2879:                                             ; preds = %2872
  %2880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2881 = call i32 @fileno(ptr noundef %2880) #10
  %2882 = call i32 @isatty(i32 noundef %2881) #10
  %2883 = icmp ne i32 %2882, 0
  br i1 %2883, label %2884, label %2901

2884:                                             ; preds = %2879
  %2885 = load i32, ptr %67, align 4, !tbaa !5
  %2886 = call ptr @__errno_location() #11
  store i32 %2885, ptr %2886, align 4, !tbaa !5
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = load i32, ptr @test_count, align 4, !tbaa !5
  %2889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2890 = load i32, ptr %2889, align 4, !tbaa !5
  %2891 = call ptr @s2n_strerror(i32 noundef %2890, ptr noundef @.str.4)
  %2892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2893 = load i32, ptr %2892, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror_debug(i32 noundef %2893, ptr noundef @.str.4)
  %2895 = call ptr @__errno_location() #11
  %2896 = load i32, ptr %2895, align 4, !tbaa !5
  %2897 = call ptr @strerror(i32 noundef %2896) #10
  %2898 = call ptr @__errno_location() #11
  %2899 = load i32, ptr %2898, align 4, !tbaa !5
  %2900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2887, ptr noundef @.str.2, i32 noundef %2888, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2891, ptr noundef %2894, ptr noundef %2897, i32 noundef %2899) #10
  br label %2918

2901:                                             ; preds = %2879, %2872
  %2902 = load i32, ptr %67, align 4, !tbaa !5
  %2903 = call ptr @__errno_location() #11
  store i32 %2902, ptr %2903, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @s2n_strerror(i32 noundef %2907, ptr noundef @.str.4)
  %2909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef @.str.4)
  %2912 = call ptr @__errno_location() #11
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @strerror(i32 noundef %2913) #10
  %2915 = call ptr @__errno_location() #11
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2904, ptr noundef @.str.5, i32 noundef %2905, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 137, ptr noundef %2908, ptr noundef %2911, ptr noundef %2914, i32 noundef %2916) #10
  br label %2918

2918:                                             ; preds = %2901, %2884
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %2919

2919:                                             ; preds = %2918
  br label %2920

2920:                                             ; preds = %2919
  call void @exit(i32 noundef 1) #12
  unreachable

2921:                                             ; No predecessors!
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

2923:                                             ; preds = %2922, %2864
  br label %2924

2924:                                             ; preds = %2923
  br label %2925

2925:                                             ; preds = %2924
  br label %2926

2926:                                             ; preds = %2925
  %2927 = load i32, ptr @test_count, align 4, !tbaa !5
  %2928 = add nsw i32 %2927, 1
  store i32 %2928, ptr @test_count, align 4, !tbaa !5
  %2929 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 1
  %2930 = load i32, ptr %2929, align 8, !tbaa !33
  %2931 = zext i32 %2930 to i64
  %2932 = icmp eq i64 %2931, 4
  br i1 %2932, label %2986, label %2933

2933:                                             ; preds = %2926
  br label %2934

2934:                                             ; preds = %2933
  br label %2935

2935:                                             ; preds = %2934
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %2936 = call ptr @__errno_location() #11
  %2937 = load i32, ptr %2936, align 4, !tbaa !5
  store i32 %2937, ptr %68, align 4, !tbaa !5
  %2938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2939 = call i32 @s2n_print_stacktrace(ptr noundef %2938)
  %2940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2941 = trunc i8 %2940 to i1
  br i1 %2941, label %2942, label %2964

2942:                                             ; preds = %2935
  %2943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2944 = call i32 @fileno(ptr noundef %2943) #10
  %2945 = call i32 @isatty(i32 noundef %2944) #10
  %2946 = icmp ne i32 %2945, 0
  br i1 %2946, label %2947, label %2964

2947:                                             ; preds = %2942
  %2948 = load i32, ptr %68, align 4, !tbaa !5
  %2949 = call ptr @__errno_location() #11
  store i32 %2948, ptr %2949, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = load i32, ptr @test_count, align 4, !tbaa !5
  %2952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2953 = load i32, ptr %2952, align 4, !tbaa !5
  %2954 = call ptr @s2n_strerror(i32 noundef %2953, ptr noundef @.str.4)
  %2955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2956 = load i32, ptr %2955, align 4, !tbaa !5
  %2957 = call ptr @s2n_strerror_debug(i32 noundef %2956, ptr noundef @.str.4)
  %2958 = call ptr @__errno_location() #11
  %2959 = load i32, ptr %2958, align 4, !tbaa !5
  %2960 = call ptr @strerror(i32 noundef %2959) #10
  %2961 = call ptr @__errno_location() #11
  %2962 = load i32, ptr %2961, align 4, !tbaa !5
  %2963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2950, ptr noundef @.str.2, i32 noundef %2951, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2954, ptr noundef %2957, ptr noundef %2960, i32 noundef %2962) #10
  br label %2981

2964:                                             ; preds = %2942, %2935
  %2965 = load i32, ptr %68, align 4, !tbaa !5
  %2966 = call ptr @__errno_location() #11
  store i32 %2965, ptr %2966, align 4, !tbaa !5
  %2967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @s2n_strerror(i32 noundef %2970, ptr noundef @.str.4)
  %2972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror_debug(i32 noundef %2973, ptr noundef @.str.4)
  %2975 = call ptr @__errno_location() #11
  %2976 = load i32, ptr %2975, align 4, !tbaa !5
  %2977 = call ptr @strerror(i32 noundef %2976) #10
  %2978 = call ptr @__errno_location() #11
  %2979 = load i32, ptr %2978, align 4, !tbaa !5
  %2980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2967, ptr noundef @.str.5, i32 noundef %2968, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2971, ptr noundef %2974, ptr noundef %2977, i32 noundef %2979) #10
  br label %2981

2981:                                             ; preds = %2964, %2947
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %2982

2982:                                             ; preds = %2981
  br label %2983

2983:                                             ; preds = %2982
  call void @exit(i32 noundef 1) #12
  unreachable

2984:                                             ; No predecessors!
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

2986:                                             ; preds = %2985, %2926
  br label %2987

2987:                                             ; preds = %2986
  br label %2988

2988:                                             ; preds = %2987
  br label %2989

2989:                                             ; preds = %2988
  %2990 = load i32, ptr @test_count, align 4, !tbaa !5
  %2991 = add nsw i32 %2990, 1
  store i32 %2991, ptr @test_count, align 4, !tbaa !5
  %2992 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %52, i32 0, i32 2
  %2993 = load i8, ptr %2992, align 4, !tbaa !34
  %2994 = zext i8 %2993 to i64
  %2995 = icmp eq i64 %2994, 2
  br i1 %2995, label %3049, label %2996

2996:                                             ; preds = %2989
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %2999 = call ptr @__errno_location() #11
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  store i32 %3000, ptr %69, align 4, !tbaa !5
  %3001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3002 = call i32 @s2n_print_stacktrace(ptr noundef %3001)
  %3003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3004 = trunc i8 %3003 to i1
  br i1 %3004, label %3005, label %3027

3005:                                             ; preds = %2998
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @fileno(ptr noundef %3006) #10
  %3008 = call i32 @isatty(i32 noundef %3007) #10
  %3009 = icmp ne i32 %3008, 0
  br i1 %3009, label %3010, label %3027

3010:                                             ; preds = %3005
  %3011 = load i32, ptr %69, align 4, !tbaa !5
  %3012 = call ptr @__errno_location() #11
  store i32 %3011, ptr %3012, align 4, !tbaa !5
  %3013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3014 = load i32, ptr @test_count, align 4, !tbaa !5
  %3015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3016 = load i32, ptr %3015, align 4, !tbaa !5
  %3017 = call ptr @s2n_strerror(i32 noundef %3016, ptr noundef @.str.4)
  %3018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror_debug(i32 noundef %3019, ptr noundef @.str.4)
  %3021 = call ptr @__errno_location() #11
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call ptr @strerror(i32 noundef %3022) #10
  %3024 = call ptr @__errno_location() #11
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  %3026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3013, ptr noundef @.str.2, i32 noundef %3014, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3017, ptr noundef %3020, ptr noundef %3023, i32 noundef %3025) #10
  br label %3044

3027:                                             ; preds = %3005, %2998
  %3028 = load i32, ptr %69, align 4, !tbaa !5
  %3029 = call ptr @__errno_location() #11
  store i32 %3028, ptr %3029, align 4, !tbaa !5
  %3030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3031 = load i32, ptr @test_count, align 4, !tbaa !5
  %3032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3033 = load i32, ptr %3032, align 4, !tbaa !5
  %3034 = call ptr @s2n_strerror(i32 noundef %3033, ptr noundef @.str.4)
  %3035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror_debug(i32 noundef %3036, ptr noundef @.str.4)
  %3038 = call ptr @__errno_location() #11
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call ptr @strerror(i32 noundef %3039) #10
  %3041 = call ptr @__errno_location() #11
  %3042 = load i32, ptr %3041, align 4, !tbaa !5
  %3043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3030, ptr noundef @.str.5, i32 noundef %3031, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3034, ptr noundef %3037, ptr noundef %3040, i32 noundef %3042) #10
  br label %3044

3044:                                             ; preds = %3027, %3010
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3045

3045:                                             ; preds = %3044
  br label %3046

3046:                                             ; preds = %3045
  call void @exit(i32 noundef 1) #12
  unreachable

3047:                                             ; No predecessors!
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048, %2989
  br label %3050

3050:                                             ; preds = %3049
  br label %3051

3051:                                             ; preds = %3050
  call void @llvm.lifetime.start.p0(i64 2, ptr %70) #10
  store i16 -1, ptr %70, align 2, !tbaa !22
  br label %3052

3052:                                             ; preds = %3051
  %3053 = load i32, ptr @test_count, align 4, !tbaa !5
  %3054 = add nsw i32 %3053, 1
  store i32 %3054, ptr @test_count, align 4, !tbaa !5
  %3055 = load i16, ptr %70, align 2, !tbaa !22
  %3056 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %3055)
  %3057 = icmp eq i32 %3056, -1
  br i1 %3057, label %3058, label %3111

3058:                                             ; preds = %3052
  br label %3059

3059:                                             ; preds = %3058
  br label %3060

3060:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #10
  %3061 = call ptr @__errno_location() #11
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  store i32 %3062, ptr %71, align 4, !tbaa !5
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @s2n_print_stacktrace(ptr noundef %3063)
  %3065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3066 = trunc i8 %3065 to i1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3060
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = call i32 @fileno(ptr noundef %3068) #10
  %3070 = call i32 @isatty(i32 noundef %3069) #10
  %3071 = icmp ne i32 %3070, 0
  br i1 %3071, label %3072, label %3089

3072:                                             ; preds = %3067
  %3073 = load i32, ptr %71, align 4, !tbaa !5
  %3074 = call ptr @__errno_location() #11
  store i32 %3073, ptr %3074, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror(i32 noundef %3078, ptr noundef @.str.4)
  %3080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror_debug(i32 noundef %3081, ptr noundef @.str.4)
  %3083 = call ptr @__errno_location() #11
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @strerror(i32 noundef %3084) #10
  %3086 = call ptr @__errno_location() #11
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef @.str.2, i32 noundef %3076, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3079, ptr noundef %3082, ptr noundef %3085, i32 noundef %3087) #10
  br label %3106

3089:                                             ; preds = %3067, %3060
  %3090 = load i32, ptr %71, align 4, !tbaa !5
  %3091 = call ptr @__errno_location() #11
  store i32 %3090, ptr %3091, align 4, !tbaa !5
  %3092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3093 = load i32, ptr @test_count, align 4, !tbaa !5
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror(i32 noundef %3095, ptr noundef @.str.4)
  %3097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef @.str.4)
  %3100 = call ptr @__errno_location() #11
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call ptr @strerror(i32 noundef %3101) #10
  %3103 = call ptr @__errno_location() #11
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3092, ptr noundef @.str.5, i32 noundef %3093, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3096, ptr noundef %3099, ptr noundef %3102, i32 noundef %3104) #10
  br label %3106

3106:                                             ; preds = %3089, %3072
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #10
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107
  call void @exit(i32 noundef 1) #12
  unreachable

3109:                                             ; No predecessors!
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110, %3052
  br label %3112

3112:                                             ; preds = %3111
  br label %3113

3113:                                             ; preds = %3112
  call void @llvm.lifetime.start.p0(i64 2, ptr %72) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %73) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %73, ptr align 1 @__const.main.expected_bytes, i64 2, i1 false)
  br label %3114

3114:                                             ; preds = %3113
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = add nsw i32 %3115, 1
  store i32 %3116, ptr @test_count, align 4, !tbaa !5
  %3117 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %51)
  %3118 = icmp eq i32 %3117, -1
  br i1 %3118, label %3119, label %3172

3119:                                             ; preds = %3114
  br label %3120

3120:                                             ; preds = %3119
  br label %3121

3121:                                             ; preds = %3120
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #10
  %3122 = call ptr @__errno_location() #11
  %3123 = load i32, ptr %3122, align 4, !tbaa !5
  store i32 %3123, ptr %74, align 4, !tbaa !5
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = call i32 @s2n_print_stacktrace(ptr noundef %3124)
  %3126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3127 = trunc i8 %3126 to i1
  br i1 %3127, label %3128, label %3150

3128:                                             ; preds = %3121
  %3129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3130 = call i32 @fileno(ptr noundef %3129) #10
  %3131 = call i32 @isatty(i32 noundef %3130) #10
  %3132 = icmp ne i32 %3131, 0
  br i1 %3132, label %3133, label %3150

3133:                                             ; preds = %3128
  %3134 = load i32, ptr %74, align 4, !tbaa !5
  %3135 = call ptr @__errno_location() #11
  store i32 %3134, ptr %3135, align 4, !tbaa !5
  %3136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3137 = load i32, ptr @test_count, align 4, !tbaa !5
  %3138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3139 = load i32, ptr %3138, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror(i32 noundef %3139, ptr noundef @.str.4)
  %3141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3142 = load i32, ptr %3141, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror_debug(i32 noundef %3142, ptr noundef @.str.4)
  %3144 = call ptr @__errno_location() #11
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  %3146 = call ptr @strerror(i32 noundef %3145) #10
  %3147 = call ptr @__errno_location() #11
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3136, ptr noundef @.str.2, i32 noundef %3137, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3140, ptr noundef %3143, ptr noundef %3146, i32 noundef %3148) #10
  br label %3167

3150:                                             ; preds = %3128, %3121
  %3151 = load i32, ptr %74, align 4, !tbaa !5
  %3152 = call ptr @__errno_location() #11
  store i32 %3151, ptr %3152, align 4, !tbaa !5
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = load i32, ptr @test_count, align 4, !tbaa !5
  %3155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef @.str.4)
  %3158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call ptr @s2n_strerror_debug(i32 noundef %3159, ptr noundef @.str.4)
  %3161 = call ptr @__errno_location() #11
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call ptr @strerror(i32 noundef %3162) #10
  %3164 = call ptr @__errno_location() #11
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3153, ptr noundef @.str.5, i32 noundef %3154, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 147, ptr noundef %3157, ptr noundef %3160, ptr noundef %3163, i32 noundef %3165) #10
  br label %3167

3167:                                             ; preds = %3150, %3133
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3168

3168:                                             ; preds = %3167
  br label %3169

3169:                                             ; preds = %3168
  call void @exit(i32 noundef 1) #12
  unreachable

3170:                                             ; No predecessors!
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171, %3114
  br label %3173

3173:                                             ; preds = %3172
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174
  %3176 = load i32, ptr @test_count, align 4, !tbaa !5
  %3177 = add nsw i32 %3176, 1
  store i32 %3177, ptr @test_count, align 4, !tbaa !5
  %3178 = load i16, ptr %51, align 2, !tbaa !22
  %3179 = zext i16 %3178 to i32
  %3180 = load i16, ptr %60, align 2, !tbaa !22
  %3181 = zext i16 %3180 to i32
  %3182 = icmp eq i32 %3179, %3181
  br i1 %3182, label %3236, label %3183

3183:                                             ; preds = %3175
  br label %3184

3184:                                             ; preds = %3183
  br label %3185

3185:                                             ; preds = %3184
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  %3186 = call ptr @__errno_location() #11
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  store i32 %3187, ptr %75, align 4, !tbaa !5
  %3188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3189 = call i32 @s2n_print_stacktrace(ptr noundef %3188)
  %3190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3191 = trunc i8 %3190 to i1
  br i1 %3191, label %3192, label %3214

3192:                                             ; preds = %3185
  %3193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3194 = call i32 @fileno(ptr noundef %3193) #10
  %3195 = call i32 @isatty(i32 noundef %3194) #10
  %3196 = icmp ne i32 %3195, 0
  br i1 %3196, label %3197, label %3214

3197:                                             ; preds = %3192
  %3198 = load i32, ptr %75, align 4, !tbaa !5
  %3199 = call ptr @__errno_location() #11
  store i32 %3198, ptr %3199, align 4, !tbaa !5
  %3200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3201 = load i32, ptr @test_count, align 4, !tbaa !5
  %3202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3203 = load i32, ptr %3202, align 4, !tbaa !5
  %3204 = call ptr @s2n_strerror(i32 noundef %3203, ptr noundef @.str.4)
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror_debug(i32 noundef %3206, ptr noundef @.str.4)
  %3208 = call ptr @__errno_location() #11
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @strerror(i32 noundef %3209) #10
  %3211 = call ptr @__errno_location() #11
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3200, ptr noundef @.str.2, i32 noundef %3201, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3204, ptr noundef %3207, ptr noundef %3210, i32 noundef %3212) #10
  br label %3231

3214:                                             ; preds = %3192, %3185
  %3215 = load i32, ptr %75, align 4, !tbaa !5
  %3216 = call ptr @__errno_location() #11
  store i32 %3215, ptr %3216, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = call ptr @s2n_strerror(i32 noundef %3220, ptr noundef @.str.4)
  %3222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3223 = load i32, ptr %3222, align 4, !tbaa !5
  %3224 = call ptr @s2n_strerror_debug(i32 noundef %3223, ptr noundef @.str.4)
  %3225 = call ptr @__errno_location() #11
  %3226 = load i32, ptr %3225, align 4, !tbaa !5
  %3227 = call ptr @strerror(i32 noundef %3226) #10
  %3228 = call ptr @__errno_location() #11
  %3229 = load i32, ptr %3228, align 4, !tbaa !5
  %3230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3217, ptr noundef @.str.5, i32 noundef %3218, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3221, ptr noundef %3224, ptr noundef %3227, i32 noundef %3229) #10
  br label %3231

3231:                                             ; preds = %3214, %3197
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3232

3232:                                             ; preds = %3231
  br label %3233

3233:                                             ; preds = %3232
  call void @exit(i32 noundef 1) #12
  unreachable

3234:                                             ; No predecessors!
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

3236:                                             ; preds = %3235, %3175
  br label %3237

3237:                                             ; preds = %3236
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238
  %3240 = load i32, ptr @test_count, align 4, !tbaa !5
  %3241 = add nsw i32 %3240, 1
  store i32 %3241, ptr @test_count, align 4, !tbaa !5
  %3242 = getelementptr inbounds [2 x i8], ptr %72, i64 0, i64 0
  %3243 = call i32 @s2n_stuffer_read_bytes(ptr noundef %10, ptr noundef %3242, i32 noundef 2)
  %3244 = icmp eq i32 %3243, -1
  br i1 %3244, label %3245, label %3298

3245:                                             ; preds = %3239
  br label %3246

3246:                                             ; preds = %3245
  br label %3247

3247:                                             ; preds = %3246
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #10
  %3248 = call ptr @__errno_location() #11
  %3249 = load i32, ptr %3248, align 4, !tbaa !5
  store i32 %3249, ptr %76, align 4, !tbaa !5
  %3250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3251 = call i32 @s2n_print_stacktrace(ptr noundef %3250)
  %3252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3253 = trunc i8 %3252 to i1
  br i1 %3253, label %3254, label %3276

3254:                                             ; preds = %3247
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = call i32 @fileno(ptr noundef %3255) #10
  %3257 = call i32 @isatty(i32 noundef %3256) #10
  %3258 = icmp ne i32 %3257, 0
  br i1 %3258, label %3259, label %3276

3259:                                             ; preds = %3254
  %3260 = load i32, ptr %76, align 4, !tbaa !5
  %3261 = call ptr @__errno_location() #11
  store i32 %3260, ptr %3261, align 4, !tbaa !5
  %3262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3263 = load i32, ptr @test_count, align 4, !tbaa !5
  %3264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3265 = load i32, ptr %3264, align 4, !tbaa !5
  %3266 = call ptr @s2n_strerror(i32 noundef %3265, ptr noundef @.str.4)
  %3267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call ptr @s2n_strerror_debug(i32 noundef %3268, ptr noundef @.str.4)
  %3270 = call ptr @__errno_location() #11
  %3271 = load i32, ptr %3270, align 4, !tbaa !5
  %3272 = call ptr @strerror(i32 noundef %3271) #10
  %3273 = call ptr @__errno_location() #11
  %3274 = load i32, ptr %3273, align 4, !tbaa !5
  %3275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3262, ptr noundef @.str.2, i32 noundef %3263, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3266, ptr noundef %3269, ptr noundef %3272, i32 noundef %3274) #10
  br label %3293

3276:                                             ; preds = %3254, %3247
  %3277 = load i32, ptr %76, align 4, !tbaa !5
  %3278 = call ptr @__errno_location() #11
  store i32 %3277, ptr %3278, align 4, !tbaa !5
  %3279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3280 = load i32, ptr @test_count, align 4, !tbaa !5
  %3281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3282 = load i32, ptr %3281, align 4, !tbaa !5
  %3283 = call ptr @s2n_strerror(i32 noundef %3282, ptr noundef @.str.4)
  %3284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3285 = load i32, ptr %3284, align 4, !tbaa !5
  %3286 = call ptr @s2n_strerror_debug(i32 noundef %3285, ptr noundef @.str.4)
  %3287 = call ptr @__errno_location() #11
  %3288 = load i32, ptr %3287, align 4, !tbaa !5
  %3289 = call ptr @strerror(i32 noundef %3288) #10
  %3290 = call ptr @__errno_location() #11
  %3291 = load i32, ptr %3290, align 4, !tbaa !5
  %3292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3279, ptr noundef @.str.5, i32 noundef %3280, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 149, ptr noundef %3283, ptr noundef %3286, ptr noundef %3289, i32 noundef %3291) #10
  br label %3293

3293:                                             ; preds = %3276, %3259
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %3294

3294:                                             ; preds = %3293
  br label %3295

3295:                                             ; preds = %3294
  call void @exit(i32 noundef 1) #12
  unreachable

3296:                                             ; No predecessors!
  br label %3297

3297:                                             ; preds = %3296
  br label %3298

3298:                                             ; preds = %3297, %3239
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

3302:                                             ; preds = %3301
  %3303 = load i32, ptr @test_count, align 4, !tbaa !5
  %3304 = add nsw i32 %3303, 1
  store i32 %3304, ptr @test_count, align 4, !tbaa !5
  %3305 = getelementptr inbounds [2 x i8], ptr %72, i64 0, i64 0
  %3306 = getelementptr inbounds [2 x i8], ptr %73, i64 0, i64 0
  %3307 = call i32 @memcmp(ptr noundef %3305, ptr noundef %3306, i64 noundef 2) #13
  %3308 = icmp eq i32 %3307, 0
  br i1 %3308, label %3362, label %3309

3309:                                             ; preds = %3302
  br label %3310

3310:                                             ; preds = %3309
  br label %3311

3311:                                             ; preds = %3310
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #10
  %3312 = call ptr @__errno_location() #11
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  store i32 %3313, ptr %77, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @s2n_print_stacktrace(ptr noundef %3314)
  %3316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3317 = trunc i8 %3316 to i1
  br i1 %3317, label %3318, label %3340

3318:                                             ; preds = %3311
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = call i32 @fileno(ptr noundef %3319) #10
  %3321 = call i32 @isatty(i32 noundef %3320) #10
  %3322 = icmp ne i32 %3321, 0
  br i1 %3322, label %3323, label %3340

3323:                                             ; preds = %3318
  %3324 = load i32, ptr %77, align 4, !tbaa !5
  %3325 = call ptr @__errno_location() #11
  store i32 %3324, ptr %3325, align 4, !tbaa !5
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = load i32, ptr @test_count, align 4, !tbaa !5
  %3328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3329 = load i32, ptr %3328, align 4, !tbaa !5
  %3330 = call ptr @s2n_strerror(i32 noundef %3329, ptr noundef @.str.4)
  %3331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3332 = load i32, ptr %3331, align 4, !tbaa !5
  %3333 = call ptr @s2n_strerror_debug(i32 noundef %3332, ptr noundef @.str.4)
  %3334 = call ptr @__errno_location() #11
  %3335 = load i32, ptr %3334, align 4, !tbaa !5
  %3336 = call ptr @strerror(i32 noundef %3335) #10
  %3337 = call ptr @__errno_location() #11
  %3338 = load i32, ptr %3337, align 4, !tbaa !5
  %3339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3326, ptr noundef @.str.2, i32 noundef %3327, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3330, ptr noundef %3333, ptr noundef %3336, i32 noundef %3338) #10
  br label %3357

3340:                                             ; preds = %3318, %3311
  %3341 = load i32, ptr %77, align 4, !tbaa !5
  %3342 = call ptr @__errno_location() #11
  store i32 %3341, ptr %3342, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3346 = load i32, ptr %3345, align 4, !tbaa !5
  %3347 = call ptr @s2n_strerror(i32 noundef %3346, ptr noundef @.str.4)
  %3348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3349 = load i32, ptr %3348, align 4, !tbaa !5
  %3350 = call ptr @s2n_strerror_debug(i32 noundef %3349, ptr noundef @.str.4)
  %3351 = call ptr @__errno_location() #11
  %3352 = load i32, ptr %3351, align 4, !tbaa !5
  %3353 = call ptr @strerror(i32 noundef %3352) #10
  %3354 = call ptr @__errno_location() #11
  %3355 = load i32, ptr %3354, align 4, !tbaa !5
  %3356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3343, ptr noundef @.str.5, i32 noundef %3344, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 150, ptr noundef %3347, ptr noundef %3350, ptr noundef %3353, i32 noundef %3355) #10
  br label %3357

3357:                                             ; preds = %3340, %3323
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %3358

3358:                                             ; preds = %3357
  br label %3359

3359:                                             ; preds = %3358
  call void @exit(i32 noundef 1) #12
  unreachable

3360:                                             ; No predecessors!
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

3362:                                             ; preds = %3361, %3302
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363
  br label %3365

3365:                                             ; preds = %3364
  br label %3366

3366:                                             ; preds = %3365
  br label %3367

3367:                                             ; preds = %3366
  %3368 = load i32, ptr @test_count, align 4, !tbaa !5
  %3369 = add nsw i32 %3368, 1
  store i32 %3369, ptr @test_count, align 4, !tbaa !5
  %3370 = getelementptr inbounds [2 x i8], ptr %72, i64 0, i64 0
  %3371 = call i32 @s2n_stuffer_read_bytes(ptr noundef %10, ptr noundef %3370, i32 noundef 2)
  %3372 = icmp eq i32 %3371, -1
  br i1 %3372, label %3373, label %3426

3373:                                             ; preds = %3367
  br label %3374

3374:                                             ; preds = %3373
  br label %3375

3375:                                             ; preds = %3374
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  %3376 = call ptr @__errno_location() #11
  %3377 = load i32, ptr %3376, align 4, !tbaa !5
  store i32 %3377, ptr %78, align 4, !tbaa !5
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = call i32 @s2n_print_stacktrace(ptr noundef %3378)
  %3380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3381 = trunc i8 %3380 to i1
  br i1 %3381, label %3382, label %3404

3382:                                             ; preds = %3375
  %3383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3384 = call i32 @fileno(ptr noundef %3383) #10
  %3385 = call i32 @isatty(i32 noundef %3384) #10
  %3386 = icmp ne i32 %3385, 0
  br i1 %3386, label %3387, label %3404

3387:                                             ; preds = %3382
  %3388 = load i32, ptr %78, align 4, !tbaa !5
  %3389 = call ptr @__errno_location() #11
  store i32 %3388, ptr %3389, align 4, !tbaa !5
  %3390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3391 = load i32, ptr @test_count, align 4, !tbaa !5
  %3392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3393 = load i32, ptr %3392, align 4, !tbaa !5
  %3394 = call ptr @s2n_strerror(i32 noundef %3393, ptr noundef @.str.4)
  %3395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3396 = load i32, ptr %3395, align 4, !tbaa !5
  %3397 = call ptr @s2n_strerror_debug(i32 noundef %3396, ptr noundef @.str.4)
  %3398 = call ptr @__errno_location() #11
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  %3400 = call ptr @strerror(i32 noundef %3399) #10
  %3401 = call ptr @__errno_location() #11
  %3402 = load i32, ptr %3401, align 4, !tbaa !5
  %3403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3390, ptr noundef @.str.2, i32 noundef %3391, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3394, ptr noundef %3397, ptr noundef %3400, i32 noundef %3402) #10
  br label %3421

3404:                                             ; preds = %3382, %3375
  %3405 = load i32, ptr %78, align 4, !tbaa !5
  %3406 = call ptr @__errno_location() #11
  store i32 %3405, ptr %3406, align 4, !tbaa !5
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = load i32, ptr @test_count, align 4, !tbaa !5
  %3409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3410 = load i32, ptr %3409, align 4, !tbaa !5
  %3411 = call ptr @s2n_strerror(i32 noundef %3410, ptr noundef @.str.4)
  %3412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3413 = load i32, ptr %3412, align 4, !tbaa !5
  %3414 = call ptr @s2n_strerror_debug(i32 noundef %3413, ptr noundef @.str.4)
  %3415 = call ptr @__errno_location() #11
  %3416 = load i32, ptr %3415, align 4, !tbaa !5
  %3417 = call ptr @strerror(i32 noundef %3416) #10
  %3418 = call ptr @__errno_location() #11
  %3419 = load i32, ptr %3418, align 4, !tbaa !5
  %3420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3407, ptr noundef @.str.5, i32 noundef %3408, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 151, ptr noundef %3411, ptr noundef %3414, ptr noundef %3417, i32 noundef %3419) #10
  br label %3421

3421:                                             ; preds = %3404, %3387
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %3422

3422:                                             ; preds = %3421
  br label %3423

3423:                                             ; preds = %3422
  call void @exit(i32 noundef 1) #12
  unreachable

3424:                                             ; No predecessors!
  br label %3425

3425:                                             ; preds = %3424
  br label %3426

3426:                                             ; preds = %3425, %3367
  br label %3427

3427:                                             ; preds = %3426
  br label %3428

3428:                                             ; preds = %3427
  br label %3429

3429:                                             ; preds = %3428
  br label %3430

3430:                                             ; preds = %3429
  %3431 = load i32, ptr @test_count, align 4, !tbaa !5
  %3432 = add nsw i32 %3431, 1
  store i32 %3432, ptr @test_count, align 4, !tbaa !5
  %3433 = getelementptr inbounds [2 x i8], ptr %72, i64 0, i64 0
  %3434 = getelementptr inbounds [2 x i8], ptr %73, i64 0, i64 0
  %3435 = call i32 @memcmp(ptr noundef %3433, ptr noundef %3434, i64 noundef 2) #13
  %3436 = icmp eq i32 %3435, 0
  br i1 %3436, label %3490, label %3437

3437:                                             ; preds = %3430
  br label %3438

3438:                                             ; preds = %3437
  br label %3439

3439:                                             ; preds = %3438
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %3440 = call ptr @__errno_location() #11
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  store i32 %3441, ptr %79, align 4, !tbaa !5
  %3442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3443 = call i32 @s2n_print_stacktrace(ptr noundef %3442)
  %3444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3445 = trunc i8 %3444 to i1
  br i1 %3445, label %3446, label %3468

3446:                                             ; preds = %3439
  %3447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3448 = call i32 @fileno(ptr noundef %3447) #10
  %3449 = call i32 @isatty(i32 noundef %3448) #10
  %3450 = icmp ne i32 %3449, 0
  br i1 %3450, label %3451, label %3468

3451:                                             ; preds = %3446
  %3452 = load i32, ptr %79, align 4, !tbaa !5
  %3453 = call ptr @__errno_location() #11
  store i32 %3452, ptr %3453, align 4, !tbaa !5
  %3454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3455 = load i32, ptr @test_count, align 4, !tbaa !5
  %3456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3457 = load i32, ptr %3456, align 4, !tbaa !5
  %3458 = call ptr @s2n_strerror(i32 noundef %3457, ptr noundef @.str.4)
  %3459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3460 = load i32, ptr %3459, align 4, !tbaa !5
  %3461 = call ptr @s2n_strerror_debug(i32 noundef %3460, ptr noundef @.str.4)
  %3462 = call ptr @__errno_location() #11
  %3463 = load i32, ptr %3462, align 4, !tbaa !5
  %3464 = call ptr @strerror(i32 noundef %3463) #10
  %3465 = call ptr @__errno_location() #11
  %3466 = load i32, ptr %3465, align 4, !tbaa !5
  %3467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3454, ptr noundef @.str.2, i32 noundef %3455, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3458, ptr noundef %3461, ptr noundef %3464, i32 noundef %3466) #10
  br label %3485

3468:                                             ; preds = %3446, %3439
  %3469 = load i32, ptr %79, align 4, !tbaa !5
  %3470 = call ptr @__errno_location() #11
  store i32 %3469, ptr %3470, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = load i32, ptr @test_count, align 4, !tbaa !5
  %3473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3474 = load i32, ptr %3473, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror(i32 noundef %3474, ptr noundef @.str.4)
  %3476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3477 = load i32, ptr %3476, align 4, !tbaa !5
  %3478 = call ptr @s2n_strerror_debug(i32 noundef %3477, ptr noundef @.str.4)
  %3479 = call ptr @__errno_location() #11
  %3480 = load i32, ptr %3479, align 4, !tbaa !5
  %3481 = call ptr @strerror(i32 noundef %3480) #10
  %3482 = call ptr @__errno_location() #11
  %3483 = load i32, ptr %3482, align 4, !tbaa !5
  %3484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef @.str.5, i32 noundef %3472, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 152, ptr noundef %3475, ptr noundef %3478, ptr noundef %3481, i32 noundef %3483) #10
  br label %3485

3485:                                             ; preds = %3468, %3451
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #10
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486
  call void @exit(i32 noundef 1) #12
  unreachable

3488:                                             ; No predecessors!
  br label %3489

3489:                                             ; preds = %3488
  br label %3490

3490:                                             ; preds = %3489, %3430
  br label %3491

3491:                                             ; preds = %3490
  br label %3492

3492:                                             ; preds = %3491
  br label %3493

3493:                                             ; preds = %3492
  br label %3494

3494:                                             ; preds = %3493
  br label %3495

3495:                                             ; preds = %3494
  %3496 = load i32, ptr @test_count, align 4, !tbaa !5
  %3497 = add nsw i32 %3496, 1
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %51)
  %3499 = icmp eq i32 %3498, -1
  br i1 %3499, label %3500, label %3553

3500:                                             ; preds = %3495
  br label %3501

3501:                                             ; preds = %3500
  br label %3502

3502:                                             ; preds = %3501
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  %3503 = call ptr @__errno_location() #11
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  store i32 %3504, ptr %80, align 4, !tbaa !5
  %3505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3506 = call i32 @s2n_print_stacktrace(ptr noundef %3505)
  %3507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3508 = trunc i8 %3507 to i1
  br i1 %3508, label %3509, label %3531

3509:                                             ; preds = %3502
  %3510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3511 = call i32 @fileno(ptr noundef %3510) #10
  %3512 = call i32 @isatty(i32 noundef %3511) #10
  %3513 = icmp ne i32 %3512, 0
  br i1 %3513, label %3514, label %3531

3514:                                             ; preds = %3509
  %3515 = load i32, ptr %80, align 4, !tbaa !5
  %3516 = call ptr @__errno_location() #11
  store i32 %3515, ptr %3516, align 4, !tbaa !5
  %3517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3518 = load i32, ptr @test_count, align 4, !tbaa !5
  %3519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3520 = load i32, ptr %3519, align 4, !tbaa !5
  %3521 = call ptr @s2n_strerror(i32 noundef %3520, ptr noundef @.str.4)
  %3522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3523 = load i32, ptr %3522, align 4, !tbaa !5
  %3524 = call ptr @s2n_strerror_debug(i32 noundef %3523, ptr noundef @.str.4)
  %3525 = call ptr @__errno_location() #11
  %3526 = load i32, ptr %3525, align 4, !tbaa !5
  %3527 = call ptr @strerror(i32 noundef %3526) #10
  %3528 = call ptr @__errno_location() #11
  %3529 = load i32, ptr %3528, align 4, !tbaa !5
  %3530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3517, ptr noundef @.str.2, i32 noundef %3518, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3521, ptr noundef %3524, ptr noundef %3527, i32 noundef %3529) #10
  br label %3548

3531:                                             ; preds = %3509, %3502
  %3532 = load i32, ptr %80, align 4, !tbaa !5
  %3533 = call ptr @__errno_location() #11
  store i32 %3532, ptr %3533, align 4, !tbaa !5
  %3534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3537 = load i32, ptr %3536, align 4, !tbaa !5
  %3538 = call ptr @s2n_strerror(i32 noundef %3537, ptr noundef @.str.4)
  %3539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3540 = load i32, ptr %3539, align 4, !tbaa !5
  %3541 = call ptr @s2n_strerror_debug(i32 noundef %3540, ptr noundef @.str.4)
  %3542 = call ptr @__errno_location() #11
  %3543 = load i32, ptr %3542, align 4, !tbaa !5
  %3544 = call ptr @strerror(i32 noundef %3543) #10
  %3545 = call ptr @__errno_location() #11
  %3546 = load i32, ptr %3545, align 4, !tbaa !5
  %3547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3534, ptr noundef @.str.5, i32 noundef %3535, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3538, ptr noundef %3541, ptr noundef %3544, i32 noundef %3546) #10
  br label %3548

3548:                                             ; preds = %3531, %3514
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549
  call void @exit(i32 noundef 1) #12
  unreachable

3551:                                             ; No predecessors!
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

3553:                                             ; preds = %3552, %3495
  br label %3554

3554:                                             ; preds = %3553
  br label %3555

3555:                                             ; preds = %3554
  br label %3556

3556:                                             ; preds = %3555
  %3557 = load i32, ptr @test_count, align 4, !tbaa !5
  %3558 = add nsw i32 %3557, 1
  store i32 %3558, ptr @test_count, align 4, !tbaa !5
  %3559 = load i16, ptr %51, align 2, !tbaa !22
  %3560 = zext i16 %3559 to i32
  %3561 = load i16, ptr %70, align 2, !tbaa !22
  %3562 = zext i16 %3561 to i32
  %3563 = icmp eq i32 %3560, %3562
  br i1 %3563, label %3617, label %3564

3564:                                             ; preds = %3556
  br label %3565

3565:                                             ; preds = %3564
  br label %3566

3566:                                             ; preds = %3565
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #10
  %3567 = call ptr @__errno_location() #11
  %3568 = load i32, ptr %3567, align 4, !tbaa !5
  store i32 %3568, ptr %81, align 4, !tbaa !5
  %3569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3570 = call i32 @s2n_print_stacktrace(ptr noundef %3569)
  %3571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3572 = trunc i8 %3571 to i1
  br i1 %3572, label %3573, label %3595

3573:                                             ; preds = %3566
  %3574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3575 = call i32 @fileno(ptr noundef %3574) #10
  %3576 = call i32 @isatty(i32 noundef %3575) #10
  %3577 = icmp ne i32 %3576, 0
  br i1 %3577, label %3578, label %3595

3578:                                             ; preds = %3573
  %3579 = load i32, ptr %81, align 4, !tbaa !5
  %3580 = call ptr @__errno_location() #11
  store i32 %3579, ptr %3580, align 4, !tbaa !5
  %3581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3582 = load i32, ptr @test_count, align 4, !tbaa !5
  %3583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @s2n_strerror(i32 noundef %3584, ptr noundef @.str.4)
  %3586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call ptr @s2n_strerror_debug(i32 noundef %3587, ptr noundef @.str.4)
  %3589 = call ptr @__errno_location() #11
  %3590 = load i32, ptr %3589, align 4, !tbaa !5
  %3591 = call ptr @strerror(i32 noundef %3590) #10
  %3592 = call ptr @__errno_location() #11
  %3593 = load i32, ptr %3592, align 4, !tbaa !5
  %3594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3581, ptr noundef @.str.2, i32 noundef %3582, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3585, ptr noundef %3588, ptr noundef %3591, i32 noundef %3593) #10
  br label %3612

3595:                                             ; preds = %3573, %3566
  %3596 = load i32, ptr %81, align 4, !tbaa !5
  %3597 = call ptr @__errno_location() #11
  store i32 %3596, ptr %3597, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @s2n_strerror(i32 noundef %3601, ptr noundef @.str.4)
  %3603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call ptr @s2n_strerror_debug(i32 noundef %3604, ptr noundef @.str.4)
  %3606 = call ptr @__errno_location() #11
  %3607 = load i32, ptr %3606, align 4, !tbaa !5
  %3608 = call ptr @strerror(i32 noundef %3607) #10
  %3609 = call ptr @__errno_location() #11
  %3610 = load i32, ptr %3609, align 4, !tbaa !5
  %3611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef @.str.5, i32 noundef %3599, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3602, ptr noundef %3605, ptr noundef %3608, i32 noundef %3610) #10
  br label %3612

3612:                                             ; preds = %3595, %3578
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #10
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613
  call void @exit(i32 noundef 1) #12
  unreachable

3615:                                             ; No predecessors!
  br label %3616

3616:                                             ; preds = %3615
  br label %3617

3617:                                             ; preds = %3616, %3556
  br label %3618

3618:                                             ; preds = %3617
  br label %3619

3619:                                             ; preds = %3618
  call void @llvm.lifetime.end.p0(i64 2, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %72) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %70) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %60) #10
  br label %3620

3620:                                             ; preds = %3619
  %3621 = load i32, ptr @test_count, align 4, !tbaa !5
  %3622 = add nsw i32 %3621, 1
  store i32 %3622, ptr @test_count, align 4, !tbaa !5
  %3623 = call i32 @s2n_stuffer_free(ptr noundef %10)
  %3624 = icmp eq i32 %3623, -1
  br i1 %3624, label %3625, label %3678

3625:                                             ; preds = %3620
  br label %3626

3626:                                             ; preds = %3625
  br label %3627

3627:                                             ; preds = %3626
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #10
  %3628 = call ptr @__errno_location() #11
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  store i32 %3629, ptr %82, align 4, !tbaa !5
  %3630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3631 = call i32 @s2n_print_stacktrace(ptr noundef %3630)
  %3632 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3633 = trunc i8 %3632 to i1
  br i1 %3633, label %3634, label %3656

3634:                                             ; preds = %3627
  %3635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3636 = call i32 @fileno(ptr noundef %3635) #10
  %3637 = call i32 @isatty(i32 noundef %3636) #10
  %3638 = icmp ne i32 %3637, 0
  br i1 %3638, label %3639, label %3656

3639:                                             ; preds = %3634
  %3640 = load i32, ptr %82, align 4, !tbaa !5
  %3641 = call ptr @__errno_location() #11
  store i32 %3640, ptr %3641, align 4, !tbaa !5
  %3642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call ptr @s2n_strerror(i32 noundef %3645, ptr noundef @.str.4)
  %3647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3648 = load i32, ptr %3647, align 4, !tbaa !5
  %3649 = call ptr @s2n_strerror_debug(i32 noundef %3648, ptr noundef @.str.4)
  %3650 = call ptr @__errno_location() #11
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @strerror(i32 noundef %3651) #10
  %3653 = call ptr @__errno_location() #11
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef @.str.2, i32 noundef %3643, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3646, ptr noundef %3649, ptr noundef %3652, i32 noundef %3654) #10
  br label %3673

3656:                                             ; preds = %3634, %3627
  %3657 = load i32, ptr %82, align 4, !tbaa !5
  %3658 = call ptr @__errno_location() #11
  store i32 %3657, ptr %3658, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = load i32, ptr @test_count, align 4, !tbaa !5
  %3661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror(i32 noundef %3662, ptr noundef @.str.4)
  %3664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3665 = load i32, ptr %3664, align 4, !tbaa !5
  %3666 = call ptr @s2n_strerror_debug(i32 noundef %3665, ptr noundef @.str.4)
  %3667 = call ptr @__errno_location() #11
  %3668 = load i32, ptr %3667, align 4, !tbaa !5
  %3669 = call ptr @strerror(i32 noundef %3668) #10
  %3670 = call ptr @__errno_location() #11
  %3671 = load i32, ptr %3670, align 4, !tbaa !5
  %3672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3659, ptr noundef @.str.5, i32 noundef %3660, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3663, ptr noundef %3666, ptr noundef %3669, i32 noundef %3671) #10
  br label %3673

3673:                                             ; preds = %3656, %3639
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %3674

3674:                                             ; preds = %3673
  br label %3675

3675:                                             ; preds = %3674
  call void @exit(i32 noundef 1) #12
  unreachable

3676:                                             ; No predecessors!
  br label %3677

3677:                                             ; preds = %3676
  br label %3678

3678:                                             ; preds = %3677, %3620
  br label %3679

3679:                                             ; preds = %3678
  br label %3680

3680:                                             ; preds = %3679
  call void @llvm.lifetime.end.p0(i64 16, ptr %52) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %51) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %83) #10
  store i16 0, ptr %83, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr %84) #10
  call void @llvm.memset.p0.i64(ptr align 8 %84, i8 0, i64 16, i1 false)
  br label %3681

3681:                                             ; preds = %3680
  %3682 = load i32, ptr @test_count, align 4, !tbaa !5
  %3683 = add nsw i32 %3682, 1
  store i32 %3683, ptr @test_count, align 4, !tbaa !5
  %3684 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %10, i32 noundef 0)
  %3685 = icmp eq i32 %3684, -1
  br i1 %3685, label %3686, label %3739

3686:                                             ; preds = %3681
  br label %3687

3687:                                             ; preds = %3686
  br label %3688

3688:                                             ; preds = %3687
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  %3689 = call ptr @__errno_location() #11
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  store i32 %3690, ptr %85, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691)
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc i8 %3693 to i1
  br i1 %3694, label %3695, label %3717

3695:                                             ; preds = %3688
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #10
  %3698 = call i32 @isatty(i32 noundef %3697) #10
  %3699 = icmp ne i32 %3698, 0
  br i1 %3699, label %3700, label %3717

3700:                                             ; preds = %3695
  %3701 = load i32, ptr %85, align 4, !tbaa !5
  %3702 = call ptr @__errno_location() #11
  store i32 %3701, ptr %3702, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror(i32 noundef %3706, ptr noundef @.str.4)
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef %3709, ptr noundef @.str.4)
  %3711 = call ptr @__errno_location() #11
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #10
  %3714 = call ptr @__errno_location() #11
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3703, ptr noundef @.str.2, i32 noundef %3704, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3707, ptr noundef %3710, ptr noundef %3713, i32 noundef %3715) #10
  br label %3734

3717:                                             ; preds = %3695, %3688
  %3718 = load i32, ptr %85, align 4, !tbaa !5
  %3719 = call ptr @__errno_location() #11
  store i32 %3718, ptr %3719, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = load i32, ptr @test_count, align 4, !tbaa !5
  %3722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror(i32 noundef %3723, ptr noundef @.str.4)
  %3725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call ptr @s2n_strerror_debug(i32 noundef %3726, ptr noundef @.str.4)
  %3728 = call ptr @__errno_location() #11
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @strerror(i32 noundef %3729) #10
  %3731 = call ptr @__errno_location() #11
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3720, ptr noundef @.str.5, i32 noundef %3721, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 164, ptr noundef %3724, ptr noundef %3727, ptr noundef %3730, i32 noundef %3732) #10
  br label %3734

3734:                                             ; preds = %3717, %3700
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

3736:                                             ; preds = %3735
  call void @exit(i32 noundef 1) #12
  unreachable

3737:                                             ; No predecessors!
  br label %3738

3738:                                             ; preds = %3737
  br label %3739

3739:                                             ; preds = %3738, %3681
  br label %3740

3740:                                             ; preds = %3739
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

3742:                                             ; preds = %3741
  br label %3743

3743:                                             ; preds = %3742
  %3744 = load i32, ptr @test_count, align 4, !tbaa !5
  %3745 = add nsw i32 %3744, 1
  store i32 %3745, ptr @test_count, align 4, !tbaa !5
  %3746 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef null, ptr noundef %84)
  %3747 = icmp eq i32 %3746, -1
  br i1 %3747, label %3801, label %3748

3748:                                             ; preds = %3743
  br label %3749

3749:                                             ; preds = %3748
  br label %3750

3750:                                             ; preds = %3749
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #10
  %3751 = call ptr @__errno_location() #11
  %3752 = load i32, ptr %3751, align 4, !tbaa !5
  store i32 %3752, ptr %86, align 4, !tbaa !5
  %3753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3754 = call i32 @s2n_print_stacktrace(ptr noundef %3753)
  %3755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3756 = trunc i8 %3755 to i1
  br i1 %3756, label %3757, label %3779

3757:                                             ; preds = %3750
  %3758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3759 = call i32 @fileno(ptr noundef %3758) #10
  %3760 = call i32 @isatty(i32 noundef %3759) #10
  %3761 = icmp ne i32 %3760, 0
  br i1 %3761, label %3762, label %3779

3762:                                             ; preds = %3757
  %3763 = load i32, ptr %86, align 4, !tbaa !5
  %3764 = call ptr @__errno_location() #11
  store i32 %3763, ptr %3764, align 4, !tbaa !5
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3766 = load i32, ptr @test_count, align 4, !tbaa !5
  %3767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3768 = load i32, ptr %3767, align 4, !tbaa !5
  %3769 = call ptr @s2n_strerror(i32 noundef %3768, ptr noundef @.str.4)
  %3770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3771 = load i32, ptr %3770, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror_debug(i32 noundef %3771, ptr noundef @.str.4)
  %3773 = call ptr @__errno_location() #11
  %3774 = load i32, ptr %3773, align 4, !tbaa !5
  %3775 = call ptr @strerror(i32 noundef %3774) #10
  %3776 = call ptr @__errno_location() #11
  %3777 = load i32, ptr %3776, align 4, !tbaa !5
  %3778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3765, ptr noundef @.str.2, i32 noundef %3766, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3769, ptr noundef %3772, ptr noundef %3775, i32 noundef %3777) #10
  br label %3796

3779:                                             ; preds = %3757, %3750
  %3780 = load i32, ptr %86, align 4, !tbaa !5
  %3781 = call ptr @__errno_location() #11
  store i32 %3780, ptr %3781, align 4, !tbaa !5
  %3782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3785 = load i32, ptr %3784, align 4, !tbaa !5
  %3786 = call ptr @s2n_strerror(i32 noundef %3785, ptr noundef @.str.4)
  %3787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror_debug(i32 noundef %3788, ptr noundef @.str.4)
  %3790 = call ptr @__errno_location() #11
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call ptr @strerror(i32 noundef %3791) #10
  %3793 = call ptr @__errno_location() #11
  %3794 = load i32, ptr %3793, align 4, !tbaa !5
  %3795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3782, ptr noundef @.str.5, i32 noundef %3783, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3786, ptr noundef %3789, ptr noundef %3792, i32 noundef %3794) #10
  br label %3796

3796:                                             ; preds = %3779, %3762
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797
  call void @exit(i32 noundef 1) #12
  unreachable

3799:                                             ; No predecessors!
  br label %3800

3800:                                             ; preds = %3799
  br label %3801

3801:                                             ; preds = %3800, %3743
  br label %3802

3802:                                             ; preds = %3801
  br label %3803

3803:                                             ; preds = %3802
  br label %3804

3804:                                             ; preds = %3803
  %3805 = load i32, ptr @test_count, align 4, !tbaa !5
  %3806 = add nsw i32 %3805, 1
  store i32 %3806, ptr @test_count, align 4, !tbaa !5
  %3807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3808 = load i32, ptr %3807, align 4, !tbaa !5
  %3809 = icmp eq i32 %3808, 0
  br i1 %3809, label %3810, label %3863

3810:                                             ; preds = %3804
  br label %3811

3811:                                             ; preds = %3810
  br label %3812

3812:                                             ; preds = %3811
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %3813 = call ptr @__errno_location() #11
  %3814 = load i32, ptr %3813, align 4, !tbaa !5
  store i32 %3814, ptr %87, align 4, !tbaa !5
  %3815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3816 = call i32 @s2n_print_stacktrace(ptr noundef %3815)
  %3817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3818 = trunc i8 %3817 to i1
  br i1 %3818, label %3819, label %3841

3819:                                             ; preds = %3812
  %3820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3821 = call i32 @fileno(ptr noundef %3820) #10
  %3822 = call i32 @isatty(i32 noundef %3821) #10
  %3823 = icmp ne i32 %3822, 0
  br i1 %3823, label %3824, label %3841

3824:                                             ; preds = %3819
  %3825 = load i32, ptr %87, align 4, !tbaa !5
  %3826 = call ptr @__errno_location() #11
  store i32 %3825, ptr %3826, align 4, !tbaa !5
  %3827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3828 = load i32, ptr @test_count, align 4, !tbaa !5
  %3829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3830 = load i32, ptr %3829, align 4, !tbaa !5
  %3831 = call ptr @s2n_strerror(i32 noundef %3830, ptr noundef @.str.4)
  %3832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3833 = load i32, ptr %3832, align 4, !tbaa !5
  %3834 = call ptr @s2n_strerror_debug(i32 noundef %3833, ptr noundef @.str.4)
  %3835 = call ptr @__errno_location() #11
  %3836 = load i32, ptr %3835, align 4, !tbaa !5
  %3837 = call ptr @strerror(i32 noundef %3836) #10
  %3838 = call ptr @__errno_location() #11
  %3839 = load i32, ptr %3838, align 4, !tbaa !5
  %3840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3827, ptr noundef @.str.2, i32 noundef %3828, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3831, ptr noundef %3834, ptr noundef %3837, i32 noundef %3839) #10
  br label %3858

3841:                                             ; preds = %3819, %3812
  %3842 = load i32, ptr %87, align 4, !tbaa !5
  %3843 = call ptr @__errno_location() #11
  store i32 %3842, ptr %3843, align 4, !tbaa !5
  %3844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3845 = load i32, ptr @test_count, align 4, !tbaa !5
  %3846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3847 = load i32, ptr %3846, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror(i32 noundef %3847, ptr noundef @.str.4)
  %3849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3850 = load i32, ptr %3849, align 4, !tbaa !5
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef @.str.4)
  %3852 = call ptr @__errno_location() #11
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call ptr @strerror(i32 noundef %3853) #10
  %3855 = call ptr @__errno_location() #11
  %3856 = load i32, ptr %3855, align 4, !tbaa !5
  %3857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3844, ptr noundef @.str.5, i32 noundef %3845, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3848, ptr noundef %3851, ptr noundef %3854, i32 noundef %3856) #10
  br label %3858

3858:                                             ; preds = %3841, %3824
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %3859

3859:                                             ; preds = %3858
  br label %3860

3860:                                             ; preds = %3859
  call void @exit(i32 noundef 1) #12
  unreachable

3861:                                             ; No predecessors!
  br label %3862

3862:                                             ; preds = %3861
  br label %3863

3863:                                             ; preds = %3862, %3804
  br label %3864

3864:                                             ; preds = %3863
  br label %3865

3865:                                             ; preds = %3864
  br label %3866

3866:                                             ; preds = %3865
  %3867 = load i32, ptr @test_count, align 4, !tbaa !5
  %3868 = add nsw i32 %3867, 1
  store i32 %3868, ptr @test_count, align 4, !tbaa !5
  %3869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3870 = load i32, ptr %3869, align 4, !tbaa !5
  %3871 = call ptr @s2n_strerror_debug(i32 noundef %3870, ptr noundef @.str.4)
  %3872 = icmp eq ptr %3871, null
  br i1 %3872, label %3873, label %3926

3873:                                             ; preds = %3866
  br label %3874

3874:                                             ; preds = %3873
  br label %3875

3875:                                             ; preds = %3874
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %3876 = call ptr @__errno_location() #11
  %3877 = load i32, ptr %3876, align 4, !tbaa !5
  store i32 %3877, ptr %88, align 4, !tbaa !5
  %3878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3879 = call i32 @s2n_print_stacktrace(ptr noundef %3878)
  %3880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3881 = trunc i8 %3880 to i1
  br i1 %3881, label %3882, label %3904

3882:                                             ; preds = %3875
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @fileno(ptr noundef %3883) #10
  %3885 = call i32 @isatty(i32 noundef %3884) #10
  %3886 = icmp ne i32 %3885, 0
  br i1 %3886, label %3887, label %3904

3887:                                             ; preds = %3882
  %3888 = load i32, ptr %88, align 4, !tbaa !5
  %3889 = call ptr @__errno_location() #11
  store i32 %3888, ptr %3889, align 4, !tbaa !5
  %3890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3891 = load i32, ptr @test_count, align 4, !tbaa !5
  %3892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3893 = load i32, ptr %3892, align 4, !tbaa !5
  %3894 = call ptr @s2n_strerror(i32 noundef %3893, ptr noundef @.str.4)
  %3895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3896 = load i32, ptr %3895, align 4, !tbaa !5
  %3897 = call ptr @s2n_strerror_debug(i32 noundef %3896, ptr noundef @.str.4)
  %3898 = call ptr @__errno_location() #11
  %3899 = load i32, ptr %3898, align 4, !tbaa !5
  %3900 = call ptr @strerror(i32 noundef %3899) #10
  %3901 = call ptr @__errno_location() #11
  %3902 = load i32, ptr %3901, align 4, !tbaa !5
  %3903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3890, ptr noundef @.str.2, i32 noundef %3891, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3894, ptr noundef %3897, ptr noundef %3900, i32 noundef %3902) #10
  br label %3921

3904:                                             ; preds = %3882, %3875
  %3905 = load i32, ptr %88, align 4, !tbaa !5
  %3906 = call ptr @__errno_location() #11
  store i32 %3905, ptr %3906, align 4, !tbaa !5
  %3907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3908 = load i32, ptr @test_count, align 4, !tbaa !5
  %3909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @s2n_strerror(i32 noundef %3910, ptr noundef @.str.4)
  %3912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call ptr @s2n_strerror_debug(i32 noundef %3913, ptr noundef @.str.4)
  %3915 = call ptr @__errno_location() #11
  %3916 = load i32, ptr %3915, align 4, !tbaa !5
  %3917 = call ptr @strerror(i32 noundef %3916) #10
  %3918 = call ptr @__errno_location() #11
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3907, ptr noundef @.str.5, i32 noundef %3908, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 167, ptr noundef %3911, ptr noundef %3914, ptr noundef %3917, i32 noundef %3919) #10
  br label %3921

3921:                                             ; preds = %3904, %3887
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

3923:                                             ; preds = %3922
  call void @exit(i32 noundef 1) #12
  unreachable

3924:                                             ; No predecessors!
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925, %3866
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  br label %3929

3929:                                             ; preds = %3928
  %3930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3930, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3931 = call ptr @__errno_location() #11
  store i32 0, ptr %3931, align 4, !tbaa !5
  br label %3932

3932:                                             ; preds = %3929
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

3934:                                             ; preds = %3933
  br label %3935

3935:                                             ; preds = %3934
  br label %3936

3936:                                             ; preds = %3935
  br label %3937

3937:                                             ; preds = %3936
  %3938 = load i32, ptr @test_count, align 4, !tbaa !5
  %3939 = add nsw i32 %3938, 1
  store i32 %3939, ptr @test_count, align 4, !tbaa !5
  %3940 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef %10, ptr noundef null)
  %3941 = icmp eq i32 %3940, -1
  br i1 %3941, label %3995, label %3942

3942:                                             ; preds = %3937
  br label %3943

3943:                                             ; preds = %3942
  br label %3944

3944:                                             ; preds = %3943
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #10
  %3945 = call ptr @__errno_location() #11
  %3946 = load i32, ptr %3945, align 4, !tbaa !5
  store i32 %3946, ptr %89, align 4, !tbaa !5
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3948 = call i32 @s2n_print_stacktrace(ptr noundef %3947)
  %3949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3950 = trunc i8 %3949 to i1
  br i1 %3950, label %3951, label %3973

3951:                                             ; preds = %3944
  %3952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3953 = call i32 @fileno(ptr noundef %3952) #10
  %3954 = call i32 @isatty(i32 noundef %3953) #10
  %3955 = icmp ne i32 %3954, 0
  br i1 %3955, label %3956, label %3973

3956:                                             ; preds = %3951
  %3957 = load i32, ptr %89, align 4, !tbaa !5
  %3958 = call ptr @__errno_location() #11
  store i32 %3957, ptr %3958, align 4, !tbaa !5
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = load i32, ptr @test_count, align 4, !tbaa !5
  %3961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror(i32 noundef %3962, ptr noundef @.str.4)
  %3964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  %3966 = call ptr @s2n_strerror_debug(i32 noundef %3965, ptr noundef @.str.4)
  %3967 = call ptr @__errno_location() #11
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  %3969 = call ptr @strerror(i32 noundef %3968) #10
  %3970 = call ptr @__errno_location() #11
  %3971 = load i32, ptr %3970, align 4, !tbaa !5
  %3972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3959, ptr noundef @.str.2, i32 noundef %3960, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3963, ptr noundef %3966, ptr noundef %3969, i32 noundef %3971) #10
  br label %3990

3973:                                             ; preds = %3951, %3944
  %3974 = load i32, ptr %89, align 4, !tbaa !5
  %3975 = call ptr @__errno_location() #11
  store i32 %3974, ptr %3975, align 4, !tbaa !5
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = load i32, ptr @test_count, align 4, !tbaa !5
  %3978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call ptr @s2n_strerror(i32 noundef %3979, ptr noundef @.str.4)
  %3981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror_debug(i32 noundef %3982, ptr noundef @.str.4)
  %3984 = call ptr @__errno_location() #11
  %3985 = load i32, ptr %3984, align 4, !tbaa !5
  %3986 = call ptr @strerror(i32 noundef %3985) #10
  %3987 = call ptr @__errno_location() #11
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3976, ptr noundef @.str.5, i32 noundef %3977, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 168, ptr noundef %3980, ptr noundef %3983, ptr noundef %3986, i32 noundef %3988) #10
  br label %3990

3990:                                             ; preds = %3973, %3956
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #10
  br label %3991

3991:                                             ; preds = %3990
  br label %3992

3992:                                             ; preds = %3991
  call void @exit(i32 noundef 1) #12
  unreachable

3993:                                             ; No predecessors!
  br label %3994

3994:                                             ; preds = %3993
  br label %3995

3995:                                             ; preds = %3994, %3937
  br label %3996

3996:                                             ; preds = %3995
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

3998:                                             ; preds = %3997
  %3999 = load i32, ptr @test_count, align 4, !tbaa !5
  %4000 = add nsw i32 %3999, 1
  store i32 %4000, ptr @test_count, align 4, !tbaa !5
  %4001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  %4003 = icmp eq i32 %4002, 0
  br i1 %4003, label %4004, label %4057

4004:                                             ; preds = %3998
  br label %4005

4005:                                             ; preds = %4004
  br label %4006

4006:                                             ; preds = %4005
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #10
  %4007 = call ptr @__errno_location() #11
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  store i32 %4008, ptr %90, align 4, !tbaa !5
  %4009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4010 = call i32 @s2n_print_stacktrace(ptr noundef %4009)
  %4011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4012 = trunc i8 %4011 to i1
  br i1 %4012, label %4013, label %4035

4013:                                             ; preds = %4006
  %4014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4015 = call i32 @fileno(ptr noundef %4014) #10
  %4016 = call i32 @isatty(i32 noundef %4015) #10
  %4017 = icmp ne i32 %4016, 0
  br i1 %4017, label %4018, label %4035

4018:                                             ; preds = %4013
  %4019 = load i32, ptr %90, align 4, !tbaa !5
  %4020 = call ptr @__errno_location() #11
  store i32 %4019, ptr %4020, align 4, !tbaa !5
  %4021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4022 = load i32, ptr @test_count, align 4, !tbaa !5
  %4023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror(i32 noundef %4024, ptr noundef @.str.4)
  %4026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call ptr @s2n_strerror_debug(i32 noundef %4027, ptr noundef @.str.4)
  %4029 = call ptr @__errno_location() #11
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call ptr @strerror(i32 noundef %4030) #10
  %4032 = call ptr @__errno_location() #11
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4021, ptr noundef @.str.2, i32 noundef %4022, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4025, ptr noundef %4028, ptr noundef %4031, i32 noundef %4033) #10
  br label %4052

4035:                                             ; preds = %4013, %4006
  %4036 = load i32, ptr %90, align 4, !tbaa !5
  %4037 = call ptr @__errno_location() #11
  store i32 %4036, ptr %4037, align 4, !tbaa !5
  %4038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4039 = load i32, ptr @test_count, align 4, !tbaa !5
  %4040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4041 = load i32, ptr %4040, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror(i32 noundef %4041, ptr noundef @.str.4)
  %4043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4044 = load i32, ptr %4043, align 4, !tbaa !5
  %4045 = call ptr @s2n_strerror_debug(i32 noundef %4044, ptr noundef @.str.4)
  %4046 = call ptr @__errno_location() #11
  %4047 = load i32, ptr %4046, align 4, !tbaa !5
  %4048 = call ptr @strerror(i32 noundef %4047) #10
  %4049 = call ptr @__errno_location() #11
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  %4051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4038, ptr noundef @.str.5, i32 noundef %4039, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4042, ptr noundef %4045, ptr noundef %4048, i32 noundef %4050) #10
  br label %4052

4052:                                             ; preds = %4035, %4018
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

4054:                                             ; preds = %4053
  call void @exit(i32 noundef 1) #12
  unreachable

4055:                                             ; No predecessors!
  br label %4056

4056:                                             ; preds = %4055
  br label %4057

4057:                                             ; preds = %4056, %3998
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

4059:                                             ; preds = %4058
  br label %4060

4060:                                             ; preds = %4059
  %4061 = load i32, ptr @test_count, align 4, !tbaa !5
  %4062 = add nsw i32 %4061, 1
  store i32 %4062, ptr @test_count, align 4, !tbaa !5
  %4063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4064 = load i32, ptr %4063, align 4, !tbaa !5
  %4065 = call ptr @s2n_strerror_debug(i32 noundef %4064, ptr noundef @.str.4)
  %4066 = icmp eq ptr %4065, null
  br i1 %4066, label %4067, label %4120

4067:                                             ; preds = %4060
  br label %4068

4068:                                             ; preds = %4067
  br label %4069

4069:                                             ; preds = %4068
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  %4070 = call ptr @__errno_location() #11
  %4071 = load i32, ptr %4070, align 4, !tbaa !5
  store i32 %4071, ptr %91, align 4, !tbaa !5
  %4072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4073 = call i32 @s2n_print_stacktrace(ptr noundef %4072)
  %4074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4075 = trunc i8 %4074 to i1
  br i1 %4075, label %4076, label %4098

4076:                                             ; preds = %4069
  %4077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4078 = call i32 @fileno(ptr noundef %4077) #10
  %4079 = call i32 @isatty(i32 noundef %4078) #10
  %4080 = icmp ne i32 %4079, 0
  br i1 %4080, label %4081, label %4098

4081:                                             ; preds = %4076
  %4082 = load i32, ptr %91, align 4, !tbaa !5
  %4083 = call ptr @__errno_location() #11
  store i32 %4082, ptr %4083, align 4, !tbaa !5
  %4084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4085 = load i32, ptr @test_count, align 4, !tbaa !5
  %4086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4087 = load i32, ptr %4086, align 4, !tbaa !5
  %4088 = call ptr @s2n_strerror(i32 noundef %4087, ptr noundef @.str.4)
  %4089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4090 = load i32, ptr %4089, align 4, !tbaa !5
  %4091 = call ptr @s2n_strerror_debug(i32 noundef %4090, ptr noundef @.str.4)
  %4092 = call ptr @__errno_location() #11
  %4093 = load i32, ptr %4092, align 4, !tbaa !5
  %4094 = call ptr @strerror(i32 noundef %4093) #10
  %4095 = call ptr @__errno_location() #11
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  %4097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4084, ptr noundef @.str.2, i32 noundef %4085, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4088, ptr noundef %4091, ptr noundef %4094, i32 noundef %4096) #10
  br label %4115

4098:                                             ; preds = %4076, %4069
  %4099 = load i32, ptr %91, align 4, !tbaa !5
  %4100 = call ptr @__errno_location() #11
  store i32 %4099, ptr %4100, align 4, !tbaa !5
  %4101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4102 = load i32, ptr @test_count, align 4, !tbaa !5
  %4103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4104 = load i32, ptr %4103, align 4, !tbaa !5
  %4105 = call ptr @s2n_strerror(i32 noundef %4104, ptr noundef @.str.4)
  %4106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call ptr @s2n_strerror_debug(i32 noundef %4107, ptr noundef @.str.4)
  %4109 = call ptr @__errno_location() #11
  %4110 = load i32, ptr %4109, align 4, !tbaa !5
  %4111 = call ptr @strerror(i32 noundef %4110) #10
  %4112 = call ptr @__errno_location() #11
  %4113 = load i32, ptr %4112, align 4, !tbaa !5
  %4114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4101, ptr noundef @.str.5, i32 noundef %4102, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 168, ptr noundef %4105, ptr noundef %4108, ptr noundef %4111, i32 noundef %4113) #10
  br label %4115

4115:                                             ; preds = %4098, %4081
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #10
  br label %4116

4116:                                             ; preds = %4115
  br label %4117

4117:                                             ; preds = %4116
  call void @exit(i32 noundef 1) #12
  unreachable

4118:                                             ; No predecessors!
  br label %4119

4119:                                             ; preds = %4118
  br label %4120

4120:                                             ; preds = %4119, %4060
  br label %4121

4121:                                             ; preds = %4120
  br label %4122

4122:                                             ; preds = %4121
  br label %4123

4123:                                             ; preds = %4122
  %4124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4124, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4125 = call ptr @__errno_location() #11
  store i32 0, ptr %4125, align 4, !tbaa !5
  br label %4126

4126:                                             ; preds = %4123
  br label %4127

4127:                                             ; preds = %4126
  br label %4128

4128:                                             ; preds = %4127
  br label %4129

4129:                                             ; preds = %4128
  call void @llvm.lifetime.start.p0(i64 2, ptr %92) #10
  store i16 5, ptr %92, align 2, !tbaa !22
  br label %4130

4130:                                             ; preds = %4129
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = add nsw i32 %4131, 1
  store i32 %4132, ptr @test_count, align 4, !tbaa !5
  %4133 = load i16, ptr %92, align 2, !tbaa !22
  %4134 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %4133)
  %4135 = icmp eq i32 %4134, -1
  br i1 %4135, label %4136, label %4189

4136:                                             ; preds = %4130
  br label %4137

4137:                                             ; preds = %4136
  br label %4138

4138:                                             ; preds = %4137
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #10
  %4139 = call ptr @__errno_location() #11
  %4140 = load i32, ptr %4139, align 4, !tbaa !5
  store i32 %4140, ptr %93, align 4, !tbaa !5
  %4141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4142 = call i32 @s2n_print_stacktrace(ptr noundef %4141)
  %4143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4144 = trunc i8 %4143 to i1
  br i1 %4144, label %4145, label %4167

4145:                                             ; preds = %4138
  %4146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4147 = call i32 @fileno(ptr noundef %4146) #10
  %4148 = call i32 @isatty(i32 noundef %4147) #10
  %4149 = icmp ne i32 %4148, 0
  br i1 %4149, label %4150, label %4167

4150:                                             ; preds = %4145
  %4151 = load i32, ptr %93, align 4, !tbaa !5
  %4152 = call ptr @__errno_location() #11
  store i32 %4151, ptr %4152, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = load i32, ptr @test_count, align 4, !tbaa !5
  %4155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @s2n_strerror(i32 noundef %4156, ptr noundef @.str.4)
  %4158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call ptr @s2n_strerror_debug(i32 noundef %4159, ptr noundef @.str.4)
  %4161 = call ptr @__errno_location() #11
  %4162 = load i32, ptr %4161, align 4, !tbaa !5
  %4163 = call ptr @strerror(i32 noundef %4162) #10
  %4164 = call ptr @__errno_location() #11
  %4165 = load i32, ptr %4164, align 4, !tbaa !5
  %4166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4153, ptr noundef @.str.2, i32 noundef %4154, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 174, ptr noundef %4157, ptr noundef %4160, ptr noundef %4163, i32 noundef %4165) #10
  br label %4184

4167:                                             ; preds = %4145, %4138
  %4168 = load i32, ptr %93, align 4, !tbaa !5
  %4169 = call ptr @__errno_location() #11
  store i32 %4168, ptr %4169, align 4, !tbaa !5
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = load i32, ptr @test_count, align 4, !tbaa !5
  %4172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4173 = load i32, ptr %4172, align 4, !tbaa !5
  %4174 = call ptr @s2n_strerror(i32 noundef %4173, ptr noundef @.str.4)
  %4175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4176 = load i32, ptr %4175, align 4, !tbaa !5
  %4177 = call ptr @s2n_strerror_debug(i32 noundef %4176, ptr noundef @.str.4)
  %4178 = call ptr @__errno_location() #11
  %4179 = load i32, ptr %4178, align 4, !tbaa !5
  %4180 = call ptr @strerror(i32 noundef %4179) #10
  %4181 = call ptr @__errno_location() #11
  %4182 = load i32, ptr %4181, align 4, !tbaa !5
  %4183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4170, ptr noundef @.str.5, i32 noundef %4171, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 174, ptr noundef %4174, ptr noundef %4177, ptr noundef %4180, i32 noundef %4182) #10
  br label %4184

4184:                                             ; preds = %4167, %4150
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #10
  br label %4185

4185:                                             ; preds = %4184
  br label %4186

4186:                                             ; preds = %4185
  call void @exit(i32 noundef 1) #12
  unreachable

4187:                                             ; No predecessors!
  br label %4188

4188:                                             ; preds = %4187
  br label %4189

4189:                                             ; preds = %4188, %4130
  br label %4190

4190:                                             ; preds = %4189
  br label %4191

4191:                                             ; preds = %4190
  br label %4192

4192:                                             ; preds = %4191
  %4193 = load i32, ptr @test_count, align 4, !tbaa !5
  %4194 = add nsw i32 %4193, 1
  store i32 %4194, ptr @test_count, align 4, !tbaa !5
  %4195 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef %10, ptr noundef %84)
  %4196 = icmp eq i32 %4195, -1
  br i1 %4196, label %4197, label %4250

4197:                                             ; preds = %4192
  br label %4198

4198:                                             ; preds = %4197
  br label %4199

4199:                                             ; preds = %4198
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #10
  %4200 = call ptr @__errno_location() #11
  %4201 = load i32, ptr %4200, align 4, !tbaa !5
  store i32 %4201, ptr %94, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = call i32 @s2n_print_stacktrace(ptr noundef %4202)
  %4204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4205 = trunc i8 %4204 to i1
  br i1 %4205, label %4206, label %4228

4206:                                             ; preds = %4199
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @fileno(ptr noundef %4207) #10
  %4209 = call i32 @isatty(i32 noundef %4208) #10
  %4210 = icmp ne i32 %4209, 0
  br i1 %4210, label %4211, label %4228

4211:                                             ; preds = %4206
  %4212 = load i32, ptr %94, align 4, !tbaa !5
  %4213 = call ptr @__errno_location() #11
  store i32 %4212, ptr %4213, align 4, !tbaa !5
  %4214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4215 = load i32, ptr @test_count, align 4, !tbaa !5
  %4216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4217 = load i32, ptr %4216, align 4, !tbaa !5
  %4218 = call ptr @s2n_strerror(i32 noundef %4217, ptr noundef @.str.4)
  %4219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4220 = load i32, ptr %4219, align 4, !tbaa !5
  %4221 = call ptr @s2n_strerror_debug(i32 noundef %4220, ptr noundef @.str.4)
  %4222 = call ptr @__errno_location() #11
  %4223 = load i32, ptr %4222, align 4, !tbaa !5
  %4224 = call ptr @strerror(i32 noundef %4223) #10
  %4225 = call ptr @__errno_location() #11
  %4226 = load i32, ptr %4225, align 4, !tbaa !5
  %4227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4214, ptr noundef @.str.2, i32 noundef %4215, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 177, ptr noundef %4218, ptr noundef %4221, ptr noundef %4224, i32 noundef %4226) #10
  br label %4245

4228:                                             ; preds = %4206, %4199
  %4229 = load i32, ptr %94, align 4, !tbaa !5
  %4230 = call ptr @__errno_location() #11
  store i32 %4229, ptr %4230, align 4, !tbaa !5
  %4231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4232 = load i32, ptr @test_count, align 4, !tbaa !5
  %4233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4234 = load i32, ptr %4233, align 4, !tbaa !5
  %4235 = call ptr @s2n_strerror(i32 noundef %4234, ptr noundef @.str.4)
  %4236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4237 = load i32, ptr %4236, align 4, !tbaa !5
  %4238 = call ptr @s2n_strerror_debug(i32 noundef %4237, ptr noundef @.str.4)
  %4239 = call ptr @__errno_location() #11
  %4240 = load i32, ptr %4239, align 4, !tbaa !5
  %4241 = call ptr @strerror(i32 noundef %4240) #10
  %4242 = call ptr @__errno_location() #11
  %4243 = load i32, ptr %4242, align 4, !tbaa !5
  %4244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4231, ptr noundef @.str.5, i32 noundef %4232, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 177, ptr noundef %4235, ptr noundef %4238, ptr noundef %4241, i32 noundef %4243) #10
  br label %4245

4245:                                             ; preds = %4228, %4211
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #10
  br label %4246

4246:                                             ; preds = %4245
  br label %4247

4247:                                             ; preds = %4246
  call void @exit(i32 noundef 1) #12
  unreachable

4248:                                             ; No predecessors!
  br label %4249

4249:                                             ; preds = %4248
  br label %4250

4250:                                             ; preds = %4249, %4192
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  br label %4253

4253:                                             ; preds = %4252
  %4254 = load i32, ptr @test_count, align 4, !tbaa !5
  %4255 = add nsw i32 %4254, 1
  store i32 %4255, ptr @test_count, align 4, !tbaa !5
  %4256 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 0
  %4257 = load ptr, ptr %4256, align 8, !tbaa !31
  %4258 = icmp eq ptr %4257, %10
  br i1 %4258, label %4312, label %4259

4259:                                             ; preds = %4253
  br label %4260

4260:                                             ; preds = %4259
  br label %4261

4261:                                             ; preds = %4260
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %4262 = call ptr @__errno_location() #11
  %4263 = load i32, ptr %4262, align 4, !tbaa !5
  store i32 %4263, ptr %95, align 4, !tbaa !5
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = call i32 @s2n_print_stacktrace(ptr noundef %4264)
  %4266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4267 = trunc i8 %4266 to i1
  br i1 %4267, label %4268, label %4290

4268:                                             ; preds = %4261
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = call i32 @fileno(ptr noundef %4269) #10
  %4271 = call i32 @isatty(i32 noundef %4270) #10
  %4272 = icmp ne i32 %4271, 0
  br i1 %4272, label %4273, label %4290

4273:                                             ; preds = %4268
  %4274 = load i32, ptr %95, align 4, !tbaa !5
  %4275 = call ptr @__errno_location() #11
  store i32 %4274, ptr %4275, align 4, !tbaa !5
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4277 = load i32, ptr @test_count, align 4, !tbaa !5
  %4278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4279 = load i32, ptr %4278, align 4, !tbaa !5
  %4280 = call ptr @s2n_strerror(i32 noundef %4279, ptr noundef @.str.4)
  %4281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4282 = load i32, ptr %4281, align 4, !tbaa !5
  %4283 = call ptr @s2n_strerror_debug(i32 noundef %4282, ptr noundef @.str.4)
  %4284 = call ptr @__errno_location() #11
  %4285 = load i32, ptr %4284, align 4, !tbaa !5
  %4286 = call ptr @strerror(i32 noundef %4285) #10
  %4287 = call ptr @__errno_location() #11
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  %4289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4276, ptr noundef @.str.2, i32 noundef %4277, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 178, ptr noundef %4280, ptr noundef %4283, ptr noundef %4286, i32 noundef %4288) #10
  br label %4307

4290:                                             ; preds = %4268, %4261
  %4291 = load i32, ptr %95, align 4, !tbaa !5
  %4292 = call ptr @__errno_location() #11
  store i32 %4291, ptr %4292, align 4, !tbaa !5
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4294 = load i32, ptr @test_count, align 4, !tbaa !5
  %4295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call ptr @s2n_strerror(i32 noundef %4296, ptr noundef @.str.4)
  %4298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4299 = load i32, ptr %4298, align 4, !tbaa !5
  %4300 = call ptr @s2n_strerror_debug(i32 noundef %4299, ptr noundef @.str.4)
  %4301 = call ptr @__errno_location() #11
  %4302 = load i32, ptr %4301, align 4, !tbaa !5
  %4303 = call ptr @strerror(i32 noundef %4302) #10
  %4304 = call ptr @__errno_location() #11
  %4305 = load i32, ptr %4304, align 4, !tbaa !5
  %4306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4293, ptr noundef @.str.5, i32 noundef %4294, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 178, ptr noundef %4297, ptr noundef %4300, ptr noundef %4303, i32 noundef %4305) #10
  br label %4307

4307:                                             ; preds = %4290, %4273
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %4308

4308:                                             ; preds = %4307
  br label %4309

4309:                                             ; preds = %4308
  call void @exit(i32 noundef 1) #12
  unreachable

4310:                                             ; No predecessors!
  br label %4311

4311:                                             ; preds = %4310
  br label %4312

4312:                                             ; preds = %4311, %4253
  br label %4313

4313:                                             ; preds = %4312
  br label %4314

4314:                                             ; preds = %4313
  br label %4315

4315:                                             ; preds = %4314
  %4316 = load i32, ptr @test_count, align 4, !tbaa !5
  %4317 = add nsw i32 %4316, 1
  store i32 %4317, ptr @test_count, align 4, !tbaa !5
  %4318 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 1
  %4319 = load i32, ptr %4318, align 8, !tbaa !33
  %4320 = zext i32 %4319 to i64
  %4321 = icmp eq i64 %4320, 2
  br i1 %4321, label %4375, label %4322

4322:                                             ; preds = %4315
  br label %4323

4323:                                             ; preds = %4322
  br label %4324

4324:                                             ; preds = %4323
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #10
  %4325 = call ptr @__errno_location() #11
  %4326 = load i32, ptr %4325, align 4, !tbaa !5
  store i32 %4326, ptr %96, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = call i32 @s2n_print_stacktrace(ptr noundef %4327)
  %4329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4330 = trunc i8 %4329 to i1
  br i1 %4330, label %4331, label %4353

4331:                                             ; preds = %4324
  %4332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4333 = call i32 @fileno(ptr noundef %4332) #10
  %4334 = call i32 @isatty(i32 noundef %4333) #10
  %4335 = icmp ne i32 %4334, 0
  br i1 %4335, label %4336, label %4353

4336:                                             ; preds = %4331
  %4337 = load i32, ptr %96, align 4, !tbaa !5
  %4338 = call ptr @__errno_location() #11
  store i32 %4337, ptr %4338, align 4, !tbaa !5
  %4339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4340 = load i32, ptr @test_count, align 4, !tbaa !5
  %4341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4342 = load i32, ptr %4341, align 4, !tbaa !5
  %4343 = call ptr @s2n_strerror(i32 noundef %4342, ptr noundef @.str.4)
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror_debug(i32 noundef %4345, ptr noundef @.str.4)
  %4347 = call ptr @__errno_location() #11
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @strerror(i32 noundef %4348) #10
  %4350 = call ptr @__errno_location() #11
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4339, ptr noundef @.str.2, i32 noundef %4340, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4343, ptr noundef %4346, ptr noundef %4349, i32 noundef %4351) #10
  br label %4370

4353:                                             ; preds = %4331, %4324
  %4354 = load i32, ptr %96, align 4, !tbaa !5
  %4355 = call ptr @__errno_location() #11
  store i32 %4354, ptr %4355, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call ptr @s2n_strerror(i32 noundef %4359, ptr noundef @.str.4)
  %4361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror_debug(i32 noundef %4362, ptr noundef @.str.4)
  %4364 = call ptr @__errno_location() #11
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @strerror(i32 noundef %4365) #10
  %4367 = call ptr @__errno_location() #11
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef @.str.5, i32 noundef %4357, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4360, ptr noundef %4363, ptr noundef %4366, i32 noundef %4368) #10
  br label %4370

4370:                                             ; preds = %4353, %4336
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #10
  br label %4371

4371:                                             ; preds = %4370
  br label %4372

4372:                                             ; preds = %4371
  call void @exit(i32 noundef 1) #12
  unreachable

4373:                                             ; No predecessors!
  br label %4374

4374:                                             ; preds = %4373
  br label %4375

4375:                                             ; preds = %4374, %4315
  br label %4376

4376:                                             ; preds = %4375
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

4378:                                             ; preds = %4377
  %4379 = load i32, ptr @test_count, align 4, !tbaa !5
  %4380 = add nsw i32 %4379, 1
  store i32 %4380, ptr @test_count, align 4, !tbaa !5
  %4381 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 2
  %4382 = load i8, ptr %4381, align 4, !tbaa !34
  %4383 = zext i8 %4382 to i32
  %4384 = icmp eq i32 %4383, 3
  br i1 %4384, label %4438, label %4385

4385:                                             ; preds = %4378
  br label %4386

4386:                                             ; preds = %4385
  br label %4387

4387:                                             ; preds = %4386
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  %4388 = call ptr @__errno_location() #11
  %4389 = load i32, ptr %4388, align 4, !tbaa !5
  store i32 %4389, ptr %97, align 4, !tbaa !5
  %4390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4391 = call i32 @s2n_print_stacktrace(ptr noundef %4390)
  %4392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4393 = trunc i8 %4392 to i1
  br i1 %4393, label %4394, label %4416

4394:                                             ; preds = %4387
  %4395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4396 = call i32 @fileno(ptr noundef %4395) #10
  %4397 = call i32 @isatty(i32 noundef %4396) #10
  %4398 = icmp ne i32 %4397, 0
  br i1 %4398, label %4399, label %4416

4399:                                             ; preds = %4394
  %4400 = load i32, ptr %97, align 4, !tbaa !5
  %4401 = call ptr @__errno_location() #11
  store i32 %4400, ptr %4401, align 4, !tbaa !5
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = load i32, ptr @test_count, align 4, !tbaa !5
  %4404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4405 = load i32, ptr %4404, align 4, !tbaa !5
  %4406 = call ptr @s2n_strerror(i32 noundef %4405, ptr noundef @.str.4)
  %4407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4408 = load i32, ptr %4407, align 4, !tbaa !5
  %4409 = call ptr @s2n_strerror_debug(i32 noundef %4408, ptr noundef @.str.4)
  %4410 = call ptr @__errno_location() #11
  %4411 = load i32, ptr %4410, align 4, !tbaa !5
  %4412 = call ptr @strerror(i32 noundef %4411) #10
  %4413 = call ptr @__errno_location() #11
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4402, ptr noundef @.str.2, i32 noundef %4403, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4406, ptr noundef %4409, ptr noundef %4412, i32 noundef %4414) #10
  br label %4433

4416:                                             ; preds = %4394, %4387
  %4417 = load i32, ptr %97, align 4, !tbaa !5
  %4418 = call ptr @__errno_location() #11
  store i32 %4417, ptr %4418, align 4, !tbaa !5
  %4419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4420 = load i32, ptr @test_count, align 4, !tbaa !5
  %4421 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4422 = load i32, ptr %4421, align 4, !tbaa !5
  %4423 = call ptr @s2n_strerror(i32 noundef %4422, ptr noundef @.str.4)
  %4424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4425 = load i32, ptr %4424, align 4, !tbaa !5
  %4426 = call ptr @s2n_strerror_debug(i32 noundef %4425, ptr noundef @.str.4)
  %4427 = call ptr @__errno_location() #11
  %4428 = load i32, ptr %4427, align 4, !tbaa !5
  %4429 = call ptr @strerror(i32 noundef %4428) #10
  %4430 = call ptr @__errno_location() #11
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4419, ptr noundef @.str.5, i32 noundef %4420, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4423, ptr noundef %4426, ptr noundef %4429, i32 noundef %4431) #10
  br label %4433

4433:                                             ; preds = %4416, %4399
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4434

4434:                                             ; preds = %4433
  br label %4435

4435:                                             ; preds = %4434
  call void @exit(i32 noundef 1) #12
  unreachable

4436:                                             ; No predecessors!
  br label %4437

4437:                                             ; preds = %4436
  br label %4438

4438:                                             ; preds = %4437, %4378
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

4440:                                             ; preds = %4439
  br label %4441

4441:                                             ; preds = %4440
  %4442 = load i32, ptr @test_count, align 4, !tbaa !5
  %4443 = add nsw i32 %4442, 1
  store i32 %4443, ptr @test_count, align 4, !tbaa !5
  %4444 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef %10, ptr noundef %84)
  %4445 = icmp eq i32 %4444, -1
  br i1 %4445, label %4446, label %4499

4446:                                             ; preds = %4441
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

4448:                                             ; preds = %4447
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %4449 = call ptr @__errno_location() #11
  %4450 = load i32, ptr %4449, align 4, !tbaa !5
  store i32 %4450, ptr %98, align 4, !tbaa !5
  %4451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4452 = call i32 @s2n_print_stacktrace(ptr noundef %4451)
  %4453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4454 = trunc i8 %4453 to i1
  br i1 %4454, label %4455, label %4477

4455:                                             ; preds = %4448
  %4456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4457 = call i32 @fileno(ptr noundef %4456) #10
  %4458 = call i32 @isatty(i32 noundef %4457) #10
  %4459 = icmp ne i32 %4458, 0
  br i1 %4459, label %4460, label %4477

4460:                                             ; preds = %4455
  %4461 = load i32, ptr %98, align 4, !tbaa !5
  %4462 = call ptr @__errno_location() #11
  store i32 %4461, ptr %4462, align 4, !tbaa !5
  %4463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4464 = load i32, ptr @test_count, align 4, !tbaa !5
  %4465 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4466 = load i32, ptr %4465, align 4, !tbaa !5
  %4467 = call ptr @s2n_strerror(i32 noundef %4466, ptr noundef @.str.4)
  %4468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4469 = load i32, ptr %4468, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror_debug(i32 noundef %4469, ptr noundef @.str.4)
  %4471 = call ptr @__errno_location() #11
  %4472 = load i32, ptr %4471, align 4, !tbaa !5
  %4473 = call ptr @strerror(i32 noundef %4472) #10
  %4474 = call ptr @__errno_location() #11
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4463, ptr noundef @.str.2, i32 noundef %4464, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 183, ptr noundef %4467, ptr noundef %4470, ptr noundef %4473, i32 noundef %4475) #10
  br label %4494

4477:                                             ; preds = %4455, %4448
  %4478 = load i32, ptr %98, align 4, !tbaa !5
  %4479 = call ptr @__errno_location() #11
  store i32 %4478, ptr %4479, align 4, !tbaa !5
  %4480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror(i32 noundef %4483, ptr noundef @.str.4)
  %4485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror_debug(i32 noundef %4486, ptr noundef @.str.4)
  %4488 = call ptr @__errno_location() #11
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @strerror(i32 noundef %4489) #10
  %4491 = call ptr @__errno_location() #11
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4480, ptr noundef @.str.5, i32 noundef %4481, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 183, ptr noundef %4484, ptr noundef %4487, ptr noundef %4490, i32 noundef %4492) #10
  br label %4494

4494:                                             ; preds = %4477, %4460
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %4495

4495:                                             ; preds = %4494
  br label %4496

4496:                                             ; preds = %4495
  call void @exit(i32 noundef 1) #12
  unreachable

4497:                                             ; No predecessors!
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

4499:                                             ; preds = %4498, %4441
  br label %4500

4500:                                             ; preds = %4499
  br label %4501

4501:                                             ; preds = %4500
  br label %4502

4502:                                             ; preds = %4501
  %4503 = load i32, ptr @test_count, align 4, !tbaa !5
  %4504 = add nsw i32 %4503, 1
  store i32 %4504, ptr @test_count, align 4, !tbaa !5
  %4505 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 0
  %4506 = load ptr, ptr %4505, align 8, !tbaa !31
  %4507 = icmp eq ptr %4506, %10
  br i1 %4507, label %4561, label %4508

4508:                                             ; preds = %4502
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

4510:                                             ; preds = %4509
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %4511 = call ptr @__errno_location() #11
  %4512 = load i32, ptr %4511, align 4, !tbaa !5
  store i32 %4512, ptr %99, align 4, !tbaa !5
  %4513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4514 = call i32 @s2n_print_stacktrace(ptr noundef %4513)
  %4515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4516 = trunc i8 %4515 to i1
  br i1 %4516, label %4517, label %4539

4517:                                             ; preds = %4510
  %4518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4519 = call i32 @fileno(ptr noundef %4518) #10
  %4520 = call i32 @isatty(i32 noundef %4519) #10
  %4521 = icmp ne i32 %4520, 0
  br i1 %4521, label %4522, label %4539

4522:                                             ; preds = %4517
  %4523 = load i32, ptr %99, align 4, !tbaa !5
  %4524 = call ptr @__errno_location() #11
  store i32 %4523, ptr %4524, align 4, !tbaa !5
  %4525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4526 = load i32, ptr @test_count, align 4, !tbaa !5
  %4527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4528 = load i32, ptr %4527, align 4, !tbaa !5
  %4529 = call ptr @s2n_strerror(i32 noundef %4528, ptr noundef @.str.4)
  %4530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4531 = load i32, ptr %4530, align 4, !tbaa !5
  %4532 = call ptr @s2n_strerror_debug(i32 noundef %4531, ptr noundef @.str.4)
  %4533 = call ptr @__errno_location() #11
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  %4535 = call ptr @strerror(i32 noundef %4534) #10
  %4536 = call ptr @__errno_location() #11
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4525, ptr noundef @.str.2, i32 noundef %4526, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 184, ptr noundef %4529, ptr noundef %4532, ptr noundef %4535, i32 noundef %4537) #10
  br label %4556

4539:                                             ; preds = %4517, %4510
  %4540 = load i32, ptr %99, align 4, !tbaa !5
  %4541 = call ptr @__errno_location() #11
  store i32 %4540, ptr %4541, align 4, !tbaa !5
  %4542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4543 = load i32, ptr @test_count, align 4, !tbaa !5
  %4544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror(i32 noundef %4545, ptr noundef @.str.4)
  %4547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call ptr @s2n_strerror_debug(i32 noundef %4548, ptr noundef @.str.4)
  %4550 = call ptr @__errno_location() #11
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call ptr @strerror(i32 noundef %4551) #10
  %4553 = call ptr @__errno_location() #11
  %4554 = load i32, ptr %4553, align 4, !tbaa !5
  %4555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4542, ptr noundef @.str.5, i32 noundef %4543, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 184, ptr noundef %4546, ptr noundef %4549, ptr noundef %4552, i32 noundef %4554) #10
  br label %4556

4556:                                             ; preds = %4539, %4522
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %4557

4557:                                             ; preds = %4556
  br label %4558

4558:                                             ; preds = %4557
  call void @exit(i32 noundef 1) #12
  unreachable

4559:                                             ; No predecessors!
  br label %4560

4560:                                             ; preds = %4559
  br label %4561

4561:                                             ; preds = %4560, %4502
  br label %4562

4562:                                             ; preds = %4561
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563
  %4565 = load i32, ptr @test_count, align 4, !tbaa !5
  %4566 = add nsw i32 %4565, 1
  store i32 %4566, ptr @test_count, align 4, !tbaa !5
  %4567 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 1
  %4568 = load i32, ptr %4567, align 8, !tbaa !33
  %4569 = zext i32 %4568 to i64
  %4570 = icmp eq i64 %4569, 5
  br i1 %4570, label %4624, label %4571

4571:                                             ; preds = %4564
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %4574 = call ptr @__errno_location() #11
  %4575 = load i32, ptr %4574, align 4, !tbaa !5
  store i32 %4575, ptr %100, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @s2n_print_stacktrace(ptr noundef %4576)
  %4578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4579 = trunc i8 %4578 to i1
  br i1 %4579, label %4580, label %4602

4580:                                             ; preds = %4573
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = call i32 @fileno(ptr noundef %4581) #10
  %4583 = call i32 @isatty(i32 noundef %4582) #10
  %4584 = icmp ne i32 %4583, 0
  br i1 %4584, label %4585, label %4602

4585:                                             ; preds = %4580
  %4586 = load i32, ptr %100, align 4, !tbaa !5
  %4587 = call ptr @__errno_location() #11
  store i32 %4586, ptr %4587, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = load i32, ptr @test_count, align 4, !tbaa !5
  %4590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = call ptr @s2n_strerror(i32 noundef %4591, ptr noundef @.str.4)
  %4593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4594 = load i32, ptr %4593, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror_debug(i32 noundef %4594, ptr noundef @.str.4)
  %4596 = call ptr @__errno_location() #11
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = call ptr @strerror(i32 noundef %4597) #10
  %4599 = call ptr @__errno_location() #11
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef @.str.2, i32 noundef %4589, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4592, ptr noundef %4595, ptr noundef %4598, i32 noundef %4600) #10
  br label %4619

4602:                                             ; preds = %4580, %4573
  %4603 = load i32, ptr %100, align 4, !tbaa !5
  %4604 = call ptr @__errno_location() #11
  store i32 %4603, ptr %4604, align 4, !tbaa !5
  %4605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4606 = load i32, ptr @test_count, align 4, !tbaa !5
  %4607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror(i32 noundef %4608, ptr noundef @.str.4)
  %4610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4611 = load i32, ptr %4610, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror_debug(i32 noundef %4611, ptr noundef @.str.4)
  %4613 = call ptr @__errno_location() #11
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #10
  %4616 = call ptr @__errno_location() #11
  %4617 = load i32, ptr %4616, align 4, !tbaa !5
  %4618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4605, ptr noundef @.str.5, i32 noundef %4606, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4609, ptr noundef %4612, ptr noundef %4615, i32 noundef %4617) #10
  br label %4619

4619:                                             ; preds = %4602, %4585
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %4620

4620:                                             ; preds = %4619
  br label %4621

4621:                                             ; preds = %4620
  call void @exit(i32 noundef 1) #12
  unreachable

4622:                                             ; No predecessors!
  br label %4623

4623:                                             ; preds = %4622
  br label %4624

4624:                                             ; preds = %4623, %4564
  br label %4625

4625:                                             ; preds = %4624
  br label %4626

4626:                                             ; preds = %4625
  br label %4627

4627:                                             ; preds = %4626
  %4628 = load i32, ptr @test_count, align 4, !tbaa !5
  %4629 = add nsw i32 %4628, 1
  store i32 %4629, ptr @test_count, align 4, !tbaa !5
  %4630 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %84, i32 0, i32 2
  %4631 = load i8, ptr %4630, align 4, !tbaa !34
  %4632 = zext i8 %4631 to i32
  %4633 = icmp eq i32 %4632, 3
  br i1 %4633, label %4687, label %4634

4634:                                             ; preds = %4627
  br label %4635

4635:                                             ; preds = %4634
  br label %4636

4636:                                             ; preds = %4635
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %4637 = call ptr @__errno_location() #11
  %4638 = load i32, ptr %4637, align 4, !tbaa !5
  store i32 %4638, ptr %101, align 4, !tbaa !5
  %4639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4640 = call i32 @s2n_print_stacktrace(ptr noundef %4639)
  %4641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4642 = trunc i8 %4641 to i1
  br i1 %4642, label %4643, label %4665

4643:                                             ; preds = %4636
  %4644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4645 = call i32 @fileno(ptr noundef %4644) #10
  %4646 = call i32 @isatty(i32 noundef %4645) #10
  %4647 = icmp ne i32 %4646, 0
  br i1 %4647, label %4648, label %4665

4648:                                             ; preds = %4643
  %4649 = load i32, ptr %101, align 4, !tbaa !5
  %4650 = call ptr @__errno_location() #11
  store i32 %4649, ptr %4650, align 4, !tbaa !5
  %4651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4652 = load i32, ptr @test_count, align 4, !tbaa !5
  %4653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call ptr @s2n_strerror(i32 noundef %4654, ptr noundef @.str.4)
  %4656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4657 = load i32, ptr %4656, align 4, !tbaa !5
  %4658 = call ptr @s2n_strerror_debug(i32 noundef %4657, ptr noundef @.str.4)
  %4659 = call ptr @__errno_location() #11
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  %4661 = call ptr @strerror(i32 noundef %4660) #10
  %4662 = call ptr @__errno_location() #11
  %4663 = load i32, ptr %4662, align 4, !tbaa !5
  %4664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4651, ptr noundef @.str.2, i32 noundef %4652, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4655, ptr noundef %4658, ptr noundef %4661, i32 noundef %4663) #10
  br label %4682

4665:                                             ; preds = %4643, %4636
  %4666 = load i32, ptr %101, align 4, !tbaa !5
  %4667 = call ptr @__errno_location() #11
  store i32 %4666, ptr %4667, align 4, !tbaa !5
  %4668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4669 = load i32, ptr @test_count, align 4, !tbaa !5
  %4670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror(i32 noundef %4671, ptr noundef @.str.4)
  %4673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call ptr @s2n_strerror_debug(i32 noundef %4674, ptr noundef @.str.4)
  %4676 = call ptr @__errno_location() #11
  %4677 = load i32, ptr %4676, align 4, !tbaa !5
  %4678 = call ptr @strerror(i32 noundef %4677) #10
  %4679 = call ptr @__errno_location() #11
  %4680 = load i32, ptr %4679, align 4, !tbaa !5
  %4681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4668, ptr noundef @.str.5, i32 noundef %4669, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4672, ptr noundef %4675, ptr noundef %4678, i32 noundef %4680) #10
  br label %4682

4682:                                             ; preds = %4665, %4648
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %4683

4683:                                             ; preds = %4682
  br label %4684

4684:                                             ; preds = %4683
  call void @exit(i32 noundef 1) #12
  unreachable

4685:                                             ; No predecessors!
  br label %4686

4686:                                             ; preds = %4685
  br label %4687

4687:                                             ; preds = %4686, %4627
  br label %4688

4688:                                             ; preds = %4687
  br label %4689

4689:                                             ; preds = %4688
  call void @llvm.lifetime.start.p0(i64 2, ptr %102) #10
  store i16 -1, ptr %102, align 2, !tbaa !22
  br label %4690

4690:                                             ; preds = %4689
  %4691 = load i32, ptr @test_count, align 4, !tbaa !5
  %4692 = add nsw i32 %4691, 1
  store i32 %4692, ptr @test_count, align 4, !tbaa !5
  %4693 = load i16, ptr %102, align 2, !tbaa !22
  %4694 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %4693)
  %4695 = icmp eq i32 %4694, -1
  br i1 %4695, label %4696, label %4749

4696:                                             ; preds = %4690
  br label %4697

4697:                                             ; preds = %4696
  br label %4698

4698:                                             ; preds = %4697
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %4699 = call ptr @__errno_location() #11
  %4700 = load i32, ptr %4699, align 4, !tbaa !5
  store i32 %4700, ptr %103, align 4, !tbaa !5
  %4701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4702 = call i32 @s2n_print_stacktrace(ptr noundef %4701)
  %4703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4704 = trunc i8 %4703 to i1
  br i1 %4704, label %4705, label %4727

4705:                                             ; preds = %4698
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = call i32 @fileno(ptr noundef %4706) #10
  %4708 = call i32 @isatty(i32 noundef %4707) #10
  %4709 = icmp ne i32 %4708, 0
  br i1 %4709, label %4710, label %4727

4710:                                             ; preds = %4705
  %4711 = load i32, ptr %103, align 4, !tbaa !5
  %4712 = call ptr @__errno_location() #11
  store i32 %4711, ptr %4712, align 4, !tbaa !5
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = load i32, ptr @test_count, align 4, !tbaa !5
  %4715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4716 = load i32, ptr %4715, align 4, !tbaa !5
  %4717 = call ptr @s2n_strerror(i32 noundef %4716, ptr noundef @.str.4)
  %4718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4719 = load i32, ptr %4718, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror_debug(i32 noundef %4719, ptr noundef @.str.4)
  %4721 = call ptr @__errno_location() #11
  %4722 = load i32, ptr %4721, align 4, !tbaa !5
  %4723 = call ptr @strerror(i32 noundef %4722) #10
  %4724 = call ptr @__errno_location() #11
  %4725 = load i32, ptr %4724, align 4, !tbaa !5
  %4726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4713, ptr noundef @.str.2, i32 noundef %4714, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4717, ptr noundef %4720, ptr noundef %4723, i32 noundef %4725) #10
  br label %4744

4727:                                             ; preds = %4705, %4698
  %4728 = load i32, ptr %103, align 4, !tbaa !5
  %4729 = call ptr @__errno_location() #11
  store i32 %4728, ptr %4729, align 4, !tbaa !5
  %4730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4731 = load i32, ptr @test_count, align 4, !tbaa !5
  %4732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4733 = load i32, ptr %4732, align 4, !tbaa !5
  %4734 = call ptr @s2n_strerror(i32 noundef %4733, ptr noundef @.str.4)
  %4735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4736 = load i32, ptr %4735, align 4, !tbaa !5
  %4737 = call ptr @s2n_strerror_debug(i32 noundef %4736, ptr noundef @.str.4)
  %4738 = call ptr @__errno_location() #11
  %4739 = load i32, ptr %4738, align 4, !tbaa !5
  %4740 = call ptr @strerror(i32 noundef %4739) #10
  %4741 = call ptr @__errno_location() #11
  %4742 = load i32, ptr %4741, align 4, !tbaa !5
  %4743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4730, ptr noundef @.str.5, i32 noundef %4731, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 190, ptr noundef %4734, ptr noundef %4737, ptr noundef %4740, i32 noundef %4742) #10
  br label %4744

4744:                                             ; preds = %4727, %4710
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %4745

4745:                                             ; preds = %4744
  br label %4746

4746:                                             ; preds = %4745
  call void @exit(i32 noundef 1) #12
  unreachable

4747:                                             ; No predecessors!
  br label %4748

4748:                                             ; preds = %4747
  br label %4749

4749:                                             ; preds = %4748, %4690
  br label %4750

4750:                                             ; preds = %4749
  br label %4751

4751:                                             ; preds = %4750
  call void @llvm.lifetime.start.p0(i64 3, ptr %104) #10
  call void @llvm.lifetime.start.p0(i64 3, ptr %105) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %105, ptr align 1 @__const.main.expected_bytes.43, i64 3, i1 false)
  br label %4752

4752:                                             ; preds = %4751
  %4753 = load i32, ptr @test_count, align 4, !tbaa !5
  %4754 = add nsw i32 %4753, 1
  store i32 %4754, ptr @test_count, align 4, !tbaa !5
  %4755 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %83)
  %4756 = icmp eq i32 %4755, -1
  br i1 %4756, label %4757, label %4810

4757:                                             ; preds = %4752
  br label %4758

4758:                                             ; preds = %4757
  br label %4759

4759:                                             ; preds = %4758
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %4760 = call ptr @__errno_location() #11
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  store i32 %4761, ptr %106, align 4, !tbaa !5
  %4762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4763 = call i32 @s2n_print_stacktrace(ptr noundef %4762)
  %4764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4765 = trunc i8 %4764 to i1
  br i1 %4765, label %4766, label %4788

4766:                                             ; preds = %4759
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @fileno(ptr noundef %4767) #10
  %4769 = call i32 @isatty(i32 noundef %4768) #10
  %4770 = icmp ne i32 %4769, 0
  br i1 %4770, label %4771, label %4788

4771:                                             ; preds = %4766
  %4772 = load i32, ptr %106, align 4, !tbaa !5
  %4773 = call ptr @__errno_location() #11
  store i32 %4772, ptr %4773, align 4, !tbaa !5
  %4774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4775 = load i32, ptr @test_count, align 4, !tbaa !5
  %4776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4777 = load i32, ptr %4776, align 4, !tbaa !5
  %4778 = call ptr @s2n_strerror(i32 noundef %4777, ptr noundef @.str.4)
  %4779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call ptr @s2n_strerror_debug(i32 noundef %4780, ptr noundef @.str.4)
  %4782 = call ptr @__errno_location() #11
  %4783 = load i32, ptr %4782, align 4, !tbaa !5
  %4784 = call ptr @strerror(i32 noundef %4783) #10
  %4785 = call ptr @__errno_location() #11
  %4786 = load i32, ptr %4785, align 4, !tbaa !5
  %4787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4774, ptr noundef @.str.2, i32 noundef %4775, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4778, ptr noundef %4781, ptr noundef %4784, i32 noundef %4786) #10
  br label %4805

4788:                                             ; preds = %4766, %4759
  %4789 = load i32, ptr %106, align 4, !tbaa !5
  %4790 = call ptr @__errno_location() #11
  store i32 %4789, ptr %4790, align 4, !tbaa !5
  %4791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4792 = load i32, ptr @test_count, align 4, !tbaa !5
  %4793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4794 = load i32, ptr %4793, align 4, !tbaa !5
  %4795 = call ptr @s2n_strerror(i32 noundef %4794, ptr noundef @.str.4)
  %4796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @s2n_strerror_debug(i32 noundef %4797, ptr noundef @.str.4)
  %4799 = call ptr @__errno_location() #11
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call ptr @strerror(i32 noundef %4800) #10
  %4802 = call ptr @__errno_location() #11
  %4803 = load i32, ptr %4802, align 4, !tbaa !5
  %4804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4791, ptr noundef @.str.5, i32 noundef %4792, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 194, ptr noundef %4795, ptr noundef %4798, ptr noundef %4801, i32 noundef %4803) #10
  br label %4805

4805:                                             ; preds = %4788, %4771
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %4806

4806:                                             ; preds = %4805
  br label %4807

4807:                                             ; preds = %4806
  call void @exit(i32 noundef 1) #12
  unreachable

4808:                                             ; No predecessors!
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809, %4752
  br label %4811

4811:                                             ; preds = %4810
  br label %4812

4812:                                             ; preds = %4811
  br label %4813

4813:                                             ; preds = %4812
  %4814 = load i32, ptr @test_count, align 4, !tbaa !5
  %4815 = add nsw i32 %4814, 1
  store i32 %4815, ptr @test_count, align 4, !tbaa !5
  %4816 = load i16, ptr %83, align 2, !tbaa !22
  %4817 = zext i16 %4816 to i32
  %4818 = load i16, ptr %92, align 2, !tbaa !22
  %4819 = zext i16 %4818 to i32
  %4820 = icmp eq i32 %4817, %4819
  br i1 %4820, label %4874, label %4821

4821:                                             ; preds = %4813
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

4823:                                             ; preds = %4822
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %4824 = call ptr @__errno_location() #11
  %4825 = load i32, ptr %4824, align 4, !tbaa !5
  store i32 %4825, ptr %107, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = call i32 @s2n_print_stacktrace(ptr noundef %4826)
  %4828 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4829 = trunc i8 %4828 to i1
  br i1 %4829, label %4830, label %4852

4830:                                             ; preds = %4823
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = call i32 @fileno(ptr noundef %4831) #10
  %4833 = call i32 @isatty(i32 noundef %4832) #10
  %4834 = icmp ne i32 %4833, 0
  br i1 %4834, label %4835, label %4852

4835:                                             ; preds = %4830
  %4836 = load i32, ptr %107, align 4, !tbaa !5
  %4837 = call ptr @__errno_location() #11
  store i32 %4836, ptr %4837, align 4, !tbaa !5
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4839 = load i32, ptr @test_count, align 4, !tbaa !5
  %4840 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  %4842 = call ptr @s2n_strerror(i32 noundef %4841, ptr noundef @.str.4)
  %4843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4844 = load i32, ptr %4843, align 4, !tbaa !5
  %4845 = call ptr @s2n_strerror_debug(i32 noundef %4844, ptr noundef @.str.4)
  %4846 = call ptr @__errno_location() #11
  %4847 = load i32, ptr %4846, align 4, !tbaa !5
  %4848 = call ptr @strerror(i32 noundef %4847) #10
  %4849 = call ptr @__errno_location() #11
  %4850 = load i32, ptr %4849, align 4, !tbaa !5
  %4851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4838, ptr noundef @.str.2, i32 noundef %4839, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4842, ptr noundef %4845, ptr noundef %4848, i32 noundef %4850) #10
  br label %4869

4852:                                             ; preds = %4830, %4823
  %4853 = load i32, ptr %107, align 4, !tbaa !5
  %4854 = call ptr @__errno_location() #11
  store i32 %4853, ptr %4854, align 4, !tbaa !5
  %4855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4856 = load i32, ptr @test_count, align 4, !tbaa !5
  %4857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror(i32 noundef %4858, ptr noundef @.str.4)
  %4860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call ptr @s2n_strerror_debug(i32 noundef %4861, ptr noundef @.str.4)
  %4863 = call ptr @__errno_location() #11
  %4864 = load i32, ptr %4863, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #10
  %4866 = call ptr @__errno_location() #11
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  %4868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4855, ptr noundef @.str.5, i32 noundef %4856, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 195, ptr noundef %4859, ptr noundef %4862, ptr noundef %4865, i32 noundef %4867) #10
  br label %4869

4869:                                             ; preds = %4852, %4835
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %4870

4870:                                             ; preds = %4869
  br label %4871

4871:                                             ; preds = %4870
  call void @exit(i32 noundef 1) #12
  unreachable

4872:                                             ; No predecessors!
  br label %4873

4873:                                             ; preds = %4872
  br label %4874

4874:                                             ; preds = %4873, %4813
  br label %4875

4875:                                             ; preds = %4874
  br label %4876

4876:                                             ; preds = %4875
  br label %4877

4877:                                             ; preds = %4876
  %4878 = load i32, ptr @test_count, align 4, !tbaa !5
  %4879 = add nsw i32 %4878, 1
  store i32 %4879, ptr @test_count, align 4, !tbaa !5
  %4880 = getelementptr inbounds [3 x i8], ptr %104, i64 0, i64 0
  %4881 = call i32 @s2n_stuffer_read_bytes(ptr noundef %10, ptr noundef %4880, i32 noundef 3)
  %4882 = icmp eq i32 %4881, -1
  br i1 %4882, label %4883, label %4936

4883:                                             ; preds = %4877
  br label %4884

4884:                                             ; preds = %4883
  br label %4885

4885:                                             ; preds = %4884
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %4886 = call ptr @__errno_location() #11
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  store i32 %4887, ptr %108, align 4, !tbaa !5
  %4888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4889 = call i32 @s2n_print_stacktrace(ptr noundef %4888)
  %4890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4891 = trunc i8 %4890 to i1
  br i1 %4891, label %4892, label %4914

4892:                                             ; preds = %4885
  %4893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4894 = call i32 @fileno(ptr noundef %4893) #10
  %4895 = call i32 @isatty(i32 noundef %4894) #10
  %4896 = icmp ne i32 %4895, 0
  br i1 %4896, label %4897, label %4914

4897:                                             ; preds = %4892
  %4898 = load i32, ptr %108, align 4, !tbaa !5
  %4899 = call ptr @__errno_location() #11
  store i32 %4898, ptr %4899, align 4, !tbaa !5
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4901 = load i32, ptr @test_count, align 4, !tbaa !5
  %4902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4903 = load i32, ptr %4902, align 4, !tbaa !5
  %4904 = call ptr @s2n_strerror(i32 noundef %4903, ptr noundef @.str.4)
  %4905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror_debug(i32 noundef %4906, ptr noundef @.str.4)
  %4908 = call ptr @__errno_location() #11
  %4909 = load i32, ptr %4908, align 4, !tbaa !5
  %4910 = call ptr @strerror(i32 noundef %4909) #10
  %4911 = call ptr @__errno_location() #11
  %4912 = load i32, ptr %4911, align 4, !tbaa !5
  %4913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4900, ptr noundef @.str.2, i32 noundef %4901, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4904, ptr noundef %4907, ptr noundef %4910, i32 noundef %4912) #10
  br label %4931

4914:                                             ; preds = %4892, %4885
  %4915 = load i32, ptr %108, align 4, !tbaa !5
  %4916 = call ptr @__errno_location() #11
  store i32 %4915, ptr %4916, align 4, !tbaa !5
  %4917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4918 = load i32, ptr @test_count, align 4, !tbaa !5
  %4919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4920 = load i32, ptr %4919, align 4, !tbaa !5
  %4921 = call ptr @s2n_strerror(i32 noundef %4920, ptr noundef @.str.4)
  %4922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror_debug(i32 noundef %4923, ptr noundef @.str.4)
  %4925 = call ptr @__errno_location() #11
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call ptr @strerror(i32 noundef %4926) #10
  %4928 = call ptr @__errno_location() #11
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4917, ptr noundef @.str.5, i32 noundef %4918, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 196, ptr noundef %4921, ptr noundef %4924, ptr noundef %4927, i32 noundef %4929) #10
  br label %4931

4931:                                             ; preds = %4914, %4897
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %4932

4932:                                             ; preds = %4931
  br label %4933

4933:                                             ; preds = %4932
  call void @exit(i32 noundef 1) #12
  unreachable

4934:                                             ; No predecessors!
  br label %4935

4935:                                             ; preds = %4934
  br label %4936

4936:                                             ; preds = %4935, %4877
  br label %4937

4937:                                             ; preds = %4936
  br label %4938

4938:                                             ; preds = %4937
  br label %4939

4939:                                             ; preds = %4938
  br label %4940

4940:                                             ; preds = %4939
  %4941 = load i32, ptr @test_count, align 4, !tbaa !5
  %4942 = add nsw i32 %4941, 1
  store i32 %4942, ptr @test_count, align 4, !tbaa !5
  %4943 = getelementptr inbounds [3 x i8], ptr %104, i64 0, i64 0
  %4944 = getelementptr inbounds [3 x i8], ptr %105, i64 0, i64 0
  %4945 = call i32 @memcmp(ptr noundef %4943, ptr noundef %4944, i64 noundef 3) #13
  %4946 = icmp eq i32 %4945, 0
  br i1 %4946, label %5000, label %4947

4947:                                             ; preds = %4940
  br label %4948

4948:                                             ; preds = %4947
  br label %4949

4949:                                             ; preds = %4948
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %4950 = call ptr @__errno_location() #11
  %4951 = load i32, ptr %4950, align 4, !tbaa !5
  store i32 %4951, ptr %109, align 4, !tbaa !5
  %4952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4953 = call i32 @s2n_print_stacktrace(ptr noundef %4952)
  %4954 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4955 = trunc i8 %4954 to i1
  br i1 %4955, label %4956, label %4978

4956:                                             ; preds = %4949
  %4957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4958 = call i32 @fileno(ptr noundef %4957) #10
  %4959 = call i32 @isatty(i32 noundef %4958) #10
  %4960 = icmp ne i32 %4959, 0
  br i1 %4960, label %4961, label %4978

4961:                                             ; preds = %4956
  %4962 = load i32, ptr %109, align 4, !tbaa !5
  %4963 = call ptr @__errno_location() #11
  store i32 %4962, ptr %4963, align 4, !tbaa !5
  %4964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4965 = load i32, ptr @test_count, align 4, !tbaa !5
  %4966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4967 = load i32, ptr %4966, align 4, !tbaa !5
  %4968 = call ptr @s2n_strerror(i32 noundef %4967, ptr noundef @.str.4)
  %4969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4970 = load i32, ptr %4969, align 4, !tbaa !5
  %4971 = call ptr @s2n_strerror_debug(i32 noundef %4970, ptr noundef @.str.4)
  %4972 = call ptr @__errno_location() #11
  %4973 = load i32, ptr %4972, align 4, !tbaa !5
  %4974 = call ptr @strerror(i32 noundef %4973) #10
  %4975 = call ptr @__errno_location() #11
  %4976 = load i32, ptr %4975, align 4, !tbaa !5
  %4977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4964, ptr noundef @.str.2, i32 noundef %4965, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 197, ptr noundef %4968, ptr noundef %4971, ptr noundef %4974, i32 noundef %4976) #10
  br label %4995

4978:                                             ; preds = %4956, %4949
  %4979 = load i32, ptr %109, align 4, !tbaa !5
  %4980 = call ptr @__errno_location() #11
  store i32 %4979, ptr %4980, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = load i32, ptr @test_count, align 4, !tbaa !5
  %4983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4984 = load i32, ptr %4983, align 4, !tbaa !5
  %4985 = call ptr @s2n_strerror(i32 noundef %4984, ptr noundef @.str.4)
  %4986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4987 = load i32, ptr %4986, align 4, !tbaa !5
  %4988 = call ptr @s2n_strerror_debug(i32 noundef %4987, ptr noundef @.str.4)
  %4989 = call ptr @__errno_location() #11
  %4990 = load i32, ptr %4989, align 4, !tbaa !5
  %4991 = call ptr @strerror(i32 noundef %4990) #10
  %4992 = call ptr @__errno_location() #11
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4981, ptr noundef @.str.5, i32 noundef %4982, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 197, ptr noundef %4985, ptr noundef %4988, ptr noundef %4991, i32 noundef %4993) #10
  br label %4995

4995:                                             ; preds = %4978, %4961
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %4996

4996:                                             ; preds = %4995
  br label %4997

4997:                                             ; preds = %4996
  call void @exit(i32 noundef 1) #12
  unreachable

4998:                                             ; No predecessors!
  br label %4999

4999:                                             ; preds = %4998
  br label %5000

5000:                                             ; preds = %4999, %4940
  br label %5001

5001:                                             ; preds = %5000
  br label %5002

5002:                                             ; preds = %5001
  br label %5003

5003:                                             ; preds = %5002
  br label %5004

5004:                                             ; preds = %5003
  br label %5005

5005:                                             ; preds = %5004
  %5006 = load i32, ptr @test_count, align 4, !tbaa !5
  %5007 = add nsw i32 %5006, 1
  store i32 %5007, ptr @test_count, align 4, !tbaa !5
  %5008 = getelementptr inbounds [3 x i8], ptr %104, i64 0, i64 0
  %5009 = call i32 @s2n_stuffer_read_bytes(ptr noundef %10, ptr noundef %5008, i32 noundef 3)
  %5010 = icmp eq i32 %5009, -1
  br i1 %5010, label %5011, label %5064

5011:                                             ; preds = %5005
  br label %5012

5012:                                             ; preds = %5011
  br label %5013

5013:                                             ; preds = %5012
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #10
  %5014 = call ptr @__errno_location() #11
  %5015 = load i32, ptr %5014, align 4, !tbaa !5
  store i32 %5015, ptr %110, align 4, !tbaa !5
  %5016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5017 = call i32 @s2n_print_stacktrace(ptr noundef %5016)
  %5018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5019 = trunc i8 %5018 to i1
  br i1 %5019, label %5020, label %5042

5020:                                             ; preds = %5013
  %5021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5022 = call i32 @fileno(ptr noundef %5021) #10
  %5023 = call i32 @isatty(i32 noundef %5022) #10
  %5024 = icmp ne i32 %5023, 0
  br i1 %5024, label %5025, label %5042

5025:                                             ; preds = %5020
  %5026 = load i32, ptr %110, align 4, !tbaa !5
  %5027 = call ptr @__errno_location() #11
  store i32 %5026, ptr %5027, align 4, !tbaa !5
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = load i32, ptr @test_count, align 4, !tbaa !5
  %5030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  %5032 = call ptr @s2n_strerror(i32 noundef %5031, ptr noundef @.str.4)
  %5033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5034 = load i32, ptr %5033, align 4, !tbaa !5
  %5035 = call ptr @s2n_strerror_debug(i32 noundef %5034, ptr noundef @.str.4)
  %5036 = call ptr @__errno_location() #11
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call ptr @strerror(i32 noundef %5037) #10
  %5039 = call ptr @__errno_location() #11
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5028, ptr noundef @.str.2, i32 noundef %5029, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 198, ptr noundef %5032, ptr noundef %5035, ptr noundef %5038, i32 noundef %5040) #10
  br label %5059

5042:                                             ; preds = %5020, %5013
  %5043 = load i32, ptr %110, align 4, !tbaa !5
  %5044 = call ptr @__errno_location() #11
  store i32 %5043, ptr %5044, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = load i32, ptr @test_count, align 4, !tbaa !5
  %5047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror(i32 noundef %5048, ptr noundef @.str.4)
  %5050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call ptr @s2n_strerror_debug(i32 noundef %5051, ptr noundef @.str.4)
  %5053 = call ptr @__errno_location() #11
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call ptr @strerror(i32 noundef %5054) #10
  %5056 = call ptr @__errno_location() #11
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5045, ptr noundef @.str.5, i32 noundef %5046, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 198, ptr noundef %5049, ptr noundef %5052, ptr noundef %5055, i32 noundef %5057) #10
  br label %5059

5059:                                             ; preds = %5042, %5025
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #10
  br label %5060

5060:                                             ; preds = %5059
  br label %5061

5061:                                             ; preds = %5060
  call void @exit(i32 noundef 1) #12
  unreachable

5062:                                             ; No predecessors!
  br label %5063

5063:                                             ; preds = %5062
  br label %5064

5064:                                             ; preds = %5063, %5005
  br label %5065

5065:                                             ; preds = %5064
  br label %5066

5066:                                             ; preds = %5065
  br label %5067

5067:                                             ; preds = %5066
  br label %5068

5068:                                             ; preds = %5067
  %5069 = load i32, ptr @test_count, align 4, !tbaa !5
  %5070 = add nsw i32 %5069, 1
  store i32 %5070, ptr @test_count, align 4, !tbaa !5
  %5071 = getelementptr inbounds [3 x i8], ptr %104, i64 0, i64 0
  %5072 = getelementptr inbounds [3 x i8], ptr %105, i64 0, i64 0
  %5073 = call i32 @memcmp(ptr noundef %5071, ptr noundef %5072, i64 noundef 3) #13
  %5074 = icmp eq i32 %5073, 0
  br i1 %5074, label %5128, label %5075

5075:                                             ; preds = %5068
  br label %5076

5076:                                             ; preds = %5075
  br label %5077

5077:                                             ; preds = %5076
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #10
  %5078 = call ptr @__errno_location() #11
  %5079 = load i32, ptr %5078, align 4, !tbaa !5
  store i32 %5079, ptr %111, align 4, !tbaa !5
  %5080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5081 = call i32 @s2n_print_stacktrace(ptr noundef %5080)
  %5082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5083 = trunc i8 %5082 to i1
  br i1 %5083, label %5084, label %5106

5084:                                             ; preds = %5077
  %5085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5086 = call i32 @fileno(ptr noundef %5085) #10
  %5087 = call i32 @isatty(i32 noundef %5086) #10
  %5088 = icmp ne i32 %5087, 0
  br i1 %5088, label %5089, label %5106

5089:                                             ; preds = %5084
  %5090 = load i32, ptr %111, align 4, !tbaa !5
  %5091 = call ptr @__errno_location() #11
  store i32 %5090, ptr %5091, align 4, !tbaa !5
  %5092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5093 = load i32, ptr @test_count, align 4, !tbaa !5
  %5094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5095 = load i32, ptr %5094, align 4, !tbaa !5
  %5096 = call ptr @s2n_strerror(i32 noundef %5095, ptr noundef @.str.4)
  %5097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5098 = load i32, ptr %5097, align 4, !tbaa !5
  %5099 = call ptr @s2n_strerror_debug(i32 noundef %5098, ptr noundef @.str.4)
  %5100 = call ptr @__errno_location() #11
  %5101 = load i32, ptr %5100, align 4, !tbaa !5
  %5102 = call ptr @strerror(i32 noundef %5101) #10
  %5103 = call ptr @__errno_location() #11
  %5104 = load i32, ptr %5103, align 4, !tbaa !5
  %5105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5092, ptr noundef @.str.2, i32 noundef %5093, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5096, ptr noundef %5099, ptr noundef %5102, i32 noundef %5104) #10
  br label %5123

5106:                                             ; preds = %5084, %5077
  %5107 = load i32, ptr %111, align 4, !tbaa !5
  %5108 = call ptr @__errno_location() #11
  store i32 %5107, ptr %5108, align 4, !tbaa !5
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = load i32, ptr @test_count, align 4, !tbaa !5
  %5111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5112 = load i32, ptr %5111, align 4, !tbaa !5
  %5113 = call ptr @s2n_strerror(i32 noundef %5112, ptr noundef @.str.4)
  %5114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5115 = load i32, ptr %5114, align 4, !tbaa !5
  %5116 = call ptr @s2n_strerror_debug(i32 noundef %5115, ptr noundef @.str.4)
  %5117 = call ptr @__errno_location() #11
  %5118 = load i32, ptr %5117, align 4, !tbaa !5
  %5119 = call ptr @strerror(i32 noundef %5118) #10
  %5120 = call ptr @__errno_location() #11
  %5121 = load i32, ptr %5120, align 4, !tbaa !5
  %5122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5109, ptr noundef @.str.5, i32 noundef %5110, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 199, ptr noundef %5113, ptr noundef %5116, ptr noundef %5119, i32 noundef %5121) #10
  br label %5123

5123:                                             ; preds = %5106, %5089
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #10
  br label %5124

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124
  call void @exit(i32 noundef 1) #12
  unreachable

5126:                                             ; No predecessors!
  br label %5127

5127:                                             ; preds = %5126
  br label %5128

5128:                                             ; preds = %5127, %5068
  br label %5129

5129:                                             ; preds = %5128
  br label %5130

5130:                                             ; preds = %5129
  br label %5131

5131:                                             ; preds = %5130
  br label %5132

5132:                                             ; preds = %5131
  br label %5133

5133:                                             ; preds = %5132
  %5134 = load i32, ptr @test_count, align 4, !tbaa !5
  %5135 = add nsw i32 %5134, 1
  store i32 %5135, ptr @test_count, align 4, !tbaa !5
  %5136 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %83)
  %5137 = icmp eq i32 %5136, -1
  br i1 %5137, label %5138, label %5191

5138:                                             ; preds = %5133
  br label %5139

5139:                                             ; preds = %5138
  br label %5140

5140:                                             ; preds = %5139
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %5141 = call ptr @__errno_location() #11
  %5142 = load i32, ptr %5141, align 4, !tbaa !5
  store i32 %5142, ptr %112, align 4, !tbaa !5
  %5143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5144 = call i32 @s2n_print_stacktrace(ptr noundef %5143)
  %5145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5146 = trunc i8 %5145 to i1
  br i1 %5146, label %5147, label %5169

5147:                                             ; preds = %5140
  %5148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5149 = call i32 @fileno(ptr noundef %5148) #10
  %5150 = call i32 @isatty(i32 noundef %5149) #10
  %5151 = icmp ne i32 %5150, 0
  br i1 %5151, label %5152, label %5169

5152:                                             ; preds = %5147
  %5153 = load i32, ptr %112, align 4, !tbaa !5
  %5154 = call ptr @__errno_location() #11
  store i32 %5153, ptr %5154, align 4, !tbaa !5
  %5155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5156 = load i32, ptr @test_count, align 4, !tbaa !5
  %5157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5158 = load i32, ptr %5157, align 4, !tbaa !5
  %5159 = call ptr @s2n_strerror(i32 noundef %5158, ptr noundef @.str.4)
  %5160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5161 = load i32, ptr %5160, align 4, !tbaa !5
  %5162 = call ptr @s2n_strerror_debug(i32 noundef %5161, ptr noundef @.str.4)
  %5163 = call ptr @__errno_location() #11
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call ptr @strerror(i32 noundef %5164) #10
  %5166 = call ptr @__errno_location() #11
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  %5168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5155, ptr noundef @.str.2, i32 noundef %5156, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 200, ptr noundef %5159, ptr noundef %5162, ptr noundef %5165, i32 noundef %5167) #10
  br label %5186

5169:                                             ; preds = %5147, %5140
  %5170 = load i32, ptr %112, align 4, !tbaa !5
  %5171 = call ptr @__errno_location() #11
  store i32 %5170, ptr %5171, align 4, !tbaa !5
  %5172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5173 = load i32, ptr @test_count, align 4, !tbaa !5
  %5174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call ptr @s2n_strerror(i32 noundef %5175, ptr noundef @.str.4)
  %5177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5178 = load i32, ptr %5177, align 4, !tbaa !5
  %5179 = call ptr @s2n_strerror_debug(i32 noundef %5178, ptr noundef @.str.4)
  %5180 = call ptr @__errno_location() #11
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  %5182 = call ptr @strerror(i32 noundef %5181) #10
  %5183 = call ptr @__errno_location() #11
  %5184 = load i32, ptr %5183, align 4, !tbaa !5
  %5185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5172, ptr noundef @.str.5, i32 noundef %5173, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 200, ptr noundef %5176, ptr noundef %5179, ptr noundef %5182, i32 noundef %5184) #10
  br label %5186

5186:                                             ; preds = %5169, %5152
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5187

5187:                                             ; preds = %5186
  br label %5188

5188:                                             ; preds = %5187
  call void @exit(i32 noundef 1) #12
  unreachable

5189:                                             ; No predecessors!
  br label %5190

5190:                                             ; preds = %5189
  br label %5191

5191:                                             ; preds = %5190, %5133
  br label %5192

5192:                                             ; preds = %5191
  br label %5193

5193:                                             ; preds = %5192
  br label %5194

5194:                                             ; preds = %5193
  %5195 = load i32, ptr @test_count, align 4, !tbaa !5
  %5196 = add nsw i32 %5195, 1
  store i32 %5196, ptr @test_count, align 4, !tbaa !5
  %5197 = load i16, ptr %83, align 2, !tbaa !22
  %5198 = zext i16 %5197 to i32
  %5199 = load i16, ptr %102, align 2, !tbaa !22
  %5200 = zext i16 %5199 to i32
  %5201 = icmp eq i32 %5198, %5200
  br i1 %5201, label %5255, label %5202

5202:                                             ; preds = %5194
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

5204:                                             ; preds = %5203
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #10
  %5205 = call ptr @__errno_location() #11
  %5206 = load i32, ptr %5205, align 4, !tbaa !5
  store i32 %5206, ptr %113, align 4, !tbaa !5
  %5207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5208 = call i32 @s2n_print_stacktrace(ptr noundef %5207)
  %5209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5210 = trunc i8 %5209 to i1
  br i1 %5210, label %5211, label %5233

5211:                                             ; preds = %5204
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = call i32 @fileno(ptr noundef %5212) #10
  %5214 = call i32 @isatty(i32 noundef %5213) #10
  %5215 = icmp ne i32 %5214, 0
  br i1 %5215, label %5216, label %5233

5216:                                             ; preds = %5211
  %5217 = load i32, ptr %113, align 4, !tbaa !5
  %5218 = call ptr @__errno_location() #11
  store i32 %5217, ptr %5218, align 4, !tbaa !5
  %5219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5220 = load i32, ptr @test_count, align 4, !tbaa !5
  %5221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5222 = load i32, ptr %5221, align 4, !tbaa !5
  %5223 = call ptr @s2n_strerror(i32 noundef %5222, ptr noundef @.str.4)
  %5224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5225 = load i32, ptr %5224, align 4, !tbaa !5
  %5226 = call ptr @s2n_strerror_debug(i32 noundef %5225, ptr noundef @.str.4)
  %5227 = call ptr @__errno_location() #11
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  %5229 = call ptr @strerror(i32 noundef %5228) #10
  %5230 = call ptr @__errno_location() #11
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  %5232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5219, ptr noundef @.str.2, i32 noundef %5220, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 201, ptr noundef %5223, ptr noundef %5226, ptr noundef %5229, i32 noundef %5231) #10
  br label %5250

5233:                                             ; preds = %5211, %5204
  %5234 = load i32, ptr %113, align 4, !tbaa !5
  %5235 = call ptr @__errno_location() #11
  store i32 %5234, ptr %5235, align 4, !tbaa !5
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %5238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5239 = load i32, ptr %5238, align 4, !tbaa !5
  %5240 = call ptr @s2n_strerror(i32 noundef %5239, ptr noundef @.str.4)
  %5241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5242 = load i32, ptr %5241, align 4, !tbaa !5
  %5243 = call ptr @s2n_strerror_debug(i32 noundef %5242, ptr noundef @.str.4)
  %5244 = call ptr @__errno_location() #11
  %5245 = load i32, ptr %5244, align 4, !tbaa !5
  %5246 = call ptr @strerror(i32 noundef %5245) #10
  %5247 = call ptr @__errno_location() #11
  %5248 = load i32, ptr %5247, align 4, !tbaa !5
  %5249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5236, ptr noundef @.str.5, i32 noundef %5237, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 201, ptr noundef %5240, ptr noundef %5243, ptr noundef %5246, i32 noundef %5248) #10
  br label %5250

5250:                                             ; preds = %5233, %5216
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #10
  br label %5251

5251:                                             ; preds = %5250
  br label %5252

5252:                                             ; preds = %5251
  call void @exit(i32 noundef 1) #12
  unreachable

5253:                                             ; No predecessors!
  br label %5254

5254:                                             ; preds = %5253
  br label %5255

5255:                                             ; preds = %5254, %5194
  br label %5256

5256:                                             ; preds = %5255
  br label %5257

5257:                                             ; preds = %5256
  call void @llvm.lifetime.end.p0(i64 3, ptr %105) #10
  call void @llvm.lifetime.end.p0(i64 3, ptr %104) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %102) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %92) #10
  br label %5258

5258:                                             ; preds = %5257
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = add nsw i32 %5259, 1
  store i32 %5260, ptr @test_count, align 4, !tbaa !5
  %5261 = call i32 @s2n_stuffer_free(ptr noundef %10)
  %5262 = icmp eq i32 %5261, -1
  br i1 %5262, label %5263, label %5316

5263:                                             ; preds = %5258
  br label %5264

5264:                                             ; preds = %5263
  br label %5265

5265:                                             ; preds = %5264
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5266 = call ptr @__errno_location() #11
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  store i32 %5267, ptr %114, align 4, !tbaa !5
  %5268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5269 = call i32 @s2n_print_stacktrace(ptr noundef %5268)
  %5270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5271 = trunc i8 %5270 to i1
  br i1 %5271, label %5272, label %5294

5272:                                             ; preds = %5265
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5274 = call i32 @fileno(ptr noundef %5273) #10
  %5275 = call i32 @isatty(i32 noundef %5274) #10
  %5276 = icmp ne i32 %5275, 0
  br i1 %5276, label %5277, label %5294

5277:                                             ; preds = %5272
  %5278 = load i32, ptr %114, align 4, !tbaa !5
  %5279 = call ptr @__errno_location() #11
  store i32 %5278, ptr %5279, align 4, !tbaa !5
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = load i32, ptr @test_count, align 4, !tbaa !5
  %5282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5283 = load i32, ptr %5282, align 4, !tbaa !5
  %5284 = call ptr @s2n_strerror(i32 noundef %5283, ptr noundef @.str.4)
  %5285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5286 = load i32, ptr %5285, align 4, !tbaa !5
  %5287 = call ptr @s2n_strerror_debug(i32 noundef %5286, ptr noundef @.str.4)
  %5288 = call ptr @__errno_location() #11
  %5289 = load i32, ptr %5288, align 4, !tbaa !5
  %5290 = call ptr @strerror(i32 noundef %5289) #10
  %5291 = call ptr @__errno_location() #11
  %5292 = load i32, ptr %5291, align 4, !tbaa !5
  %5293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5280, ptr noundef @.str.2, i32 noundef %5281, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 204, ptr noundef %5284, ptr noundef %5287, ptr noundef %5290, i32 noundef %5292) #10
  br label %5311

5294:                                             ; preds = %5272, %5265
  %5295 = load i32, ptr %114, align 4, !tbaa !5
  %5296 = call ptr @__errno_location() #11
  store i32 %5295, ptr %5296, align 4, !tbaa !5
  %5297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5298 = load i32, ptr @test_count, align 4, !tbaa !5
  %5299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @s2n_strerror(i32 noundef %5300, ptr noundef @.str.4)
  %5302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call ptr @s2n_strerror_debug(i32 noundef %5303, ptr noundef @.str.4)
  %5305 = call ptr @__errno_location() #11
  %5306 = load i32, ptr %5305, align 4, !tbaa !5
  %5307 = call ptr @strerror(i32 noundef %5306) #10
  %5308 = call ptr @__errno_location() #11
  %5309 = load i32, ptr %5308, align 4, !tbaa !5
  %5310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5297, ptr noundef @.str.5, i32 noundef %5298, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 204, ptr noundef %5301, ptr noundef %5304, ptr noundef %5307, i32 noundef %5309) #10
  br label %5311

5311:                                             ; preds = %5294, %5277
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5312

5312:                                             ; preds = %5311
  br label %5313

5313:                                             ; preds = %5312
  call void @exit(i32 noundef 1) #12
  unreachable

5314:                                             ; No predecessors!
  br label %5315

5315:                                             ; preds = %5314
  br label %5316

5316:                                             ; preds = %5315, %5258
  br label %5317

5317:                                             ; preds = %5316
  br label %5318

5318:                                             ; preds = %5317
  call void @llvm.lifetime.end.p0(i64 16, ptr %84) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %83) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %115) #10
  store i16 0, ptr %115, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr %116) #10
  call void @llvm.memset.p0.i64(ptr align 8 %116, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr %117) #10
  call void @llvm.memset.p0.i64(ptr align 8 %117, i8 0, i64 16, i1 false)
  br label %5319

5319:                                             ; preds = %5318
  %5320 = load i32, ptr @test_count, align 4, !tbaa !5
  %5321 = add nsw i32 %5320, 1
  store i32 %5321, ptr @test_count, align 4, !tbaa !5
  %5322 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %10, i32 noundef 0)
  %5323 = icmp eq i32 %5322, -1
  br i1 %5323, label %5324, label %5377

5324:                                             ; preds = %5319
  br label %5325

5325:                                             ; preds = %5324
  br label %5326

5326:                                             ; preds = %5325
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %5327 = call ptr @__errno_location() #11
  %5328 = load i32, ptr %5327, align 4, !tbaa !5
  store i32 %5328, ptr %118, align 4, !tbaa !5
  %5329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5330 = call i32 @s2n_print_stacktrace(ptr noundef %5329)
  %5331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5332 = trunc i8 %5331 to i1
  br i1 %5332, label %5333, label %5355

5333:                                             ; preds = %5326
  %5334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5335 = call i32 @fileno(ptr noundef %5334) #10
  %5336 = call i32 @isatty(i32 noundef %5335) #10
  %5337 = icmp ne i32 %5336, 0
  br i1 %5337, label %5338, label %5355

5338:                                             ; preds = %5333
  %5339 = load i32, ptr %118, align 4, !tbaa !5
  %5340 = call ptr @__errno_location() #11
  store i32 %5339, ptr %5340, align 4, !tbaa !5
  %5341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5342 = load i32, ptr @test_count, align 4, !tbaa !5
  %5343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5344 = load i32, ptr %5343, align 4, !tbaa !5
  %5345 = call ptr @s2n_strerror(i32 noundef %5344, ptr noundef @.str.4)
  %5346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5347 = load i32, ptr %5346, align 4, !tbaa !5
  %5348 = call ptr @s2n_strerror_debug(i32 noundef %5347, ptr noundef @.str.4)
  %5349 = call ptr @__errno_location() #11
  %5350 = load i32, ptr %5349, align 4, !tbaa !5
  %5351 = call ptr @strerror(i32 noundef %5350) #10
  %5352 = call ptr @__errno_location() #11
  %5353 = load i32, ptr %5352, align 4, !tbaa !5
  %5354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5341, ptr noundef @.str.2, i32 noundef %5342, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 212, ptr noundef %5345, ptr noundef %5348, ptr noundef %5351, i32 noundef %5353) #10
  br label %5372

5355:                                             ; preds = %5333, %5326
  %5356 = load i32, ptr %118, align 4, !tbaa !5
  %5357 = call ptr @__errno_location() #11
  store i32 %5356, ptr %5357, align 4, !tbaa !5
  %5358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5359 = load i32, ptr @test_count, align 4, !tbaa !5
  %5360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5361 = load i32, ptr %5360, align 4, !tbaa !5
  %5362 = call ptr @s2n_strerror(i32 noundef %5361, ptr noundef @.str.4)
  %5363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5364 = load i32, ptr %5363, align 4, !tbaa !5
  %5365 = call ptr @s2n_strerror_debug(i32 noundef %5364, ptr noundef @.str.4)
  %5366 = call ptr @__errno_location() #11
  %5367 = load i32, ptr %5366, align 4, !tbaa !5
  %5368 = call ptr @strerror(i32 noundef %5367) #10
  %5369 = call ptr @__errno_location() #11
  %5370 = load i32, ptr %5369, align 4, !tbaa !5
  %5371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5358, ptr noundef @.str.5, i32 noundef %5359, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 212, ptr noundef %5362, ptr noundef %5365, ptr noundef %5368, i32 noundef %5370) #10
  br label %5372

5372:                                             ; preds = %5355, %5338
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %5373

5373:                                             ; preds = %5372
  br label %5374

5374:                                             ; preds = %5373
  call void @exit(i32 noundef 1) #12
  unreachable

5375:                                             ; No predecessors!
  br label %5376

5376:                                             ; preds = %5375
  br label %5377

5377:                                             ; preds = %5376, %5319
  br label %5378

5378:                                             ; preds = %5377
  br label %5379

5379:                                             ; preds = %5378
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %5380 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %5381 = load i32, ptr %5380, align 4, !tbaa !15
  store i32 %5381, ptr %119, align 4, !tbaa !5
  %5382 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %116, i32 0, i32 0
  store ptr null, ptr %5382, align 8, !tbaa !31
  br label %5383

5383:                                             ; preds = %5379
  br label %5384

5384:                                             ; preds = %5383
  %5385 = load i32, ptr @test_count, align 4, !tbaa !5
  %5386 = add nsw i32 %5385, 1
  store i32 %5386, ptr @test_count, align 4, !tbaa !5
  %5387 = call i32 @s2n_stuffer_write_reservation(ptr noundef %116, i32 noundef 0)
  %5388 = icmp eq i32 %5387, -1
  br i1 %5388, label %5442, label %5389

5389:                                             ; preds = %5384
  br label %5390

5390:                                             ; preds = %5389
  br label %5391

5391:                                             ; preds = %5390
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %5392 = call ptr @__errno_location() #11
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  store i32 %5393, ptr %120, align 4, !tbaa !5
  %5394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5395 = call i32 @s2n_print_stacktrace(ptr noundef %5394)
  %5396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5397 = trunc i8 %5396 to i1
  br i1 %5397, label %5398, label %5420

5398:                                             ; preds = %5391
  %5399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5400 = call i32 @fileno(ptr noundef %5399) #10
  %5401 = call i32 @isatty(i32 noundef %5400) #10
  %5402 = icmp ne i32 %5401, 0
  br i1 %5402, label %5403, label %5420

5403:                                             ; preds = %5398
  %5404 = load i32, ptr %120, align 4, !tbaa !5
  %5405 = call ptr @__errno_location() #11
  store i32 %5404, ptr %5405, align 4, !tbaa !5
  %5406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5407 = load i32, ptr @test_count, align 4, !tbaa !5
  %5408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5409 = load i32, ptr %5408, align 4, !tbaa !5
  %5410 = call ptr @s2n_strerror(i32 noundef %5409, ptr noundef @.str.4)
  %5411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5412 = load i32, ptr %5411, align 4, !tbaa !5
  %5413 = call ptr @s2n_strerror_debug(i32 noundef %5412, ptr noundef @.str.4)
  %5414 = call ptr @__errno_location() #11
  %5415 = load i32, ptr %5414, align 4, !tbaa !5
  %5416 = call ptr @strerror(i32 noundef %5415) #10
  %5417 = call ptr @__errno_location() #11
  %5418 = load i32, ptr %5417, align 4, !tbaa !5
  %5419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5406, ptr noundef @.str.2, i32 noundef %5407, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5410, ptr noundef %5413, ptr noundef %5416, i32 noundef %5418) #10
  br label %5437

5420:                                             ; preds = %5398, %5391
  %5421 = load i32, ptr %120, align 4, !tbaa !5
  %5422 = call ptr @__errno_location() #11
  store i32 %5421, ptr %5422, align 4, !tbaa !5
  %5423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5424 = load i32, ptr @test_count, align 4, !tbaa !5
  %5425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  %5427 = call ptr @s2n_strerror(i32 noundef %5426, ptr noundef @.str.4)
  %5428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5429 = load i32, ptr %5428, align 4, !tbaa !5
  %5430 = call ptr @s2n_strerror_debug(i32 noundef %5429, ptr noundef @.str.4)
  %5431 = call ptr @__errno_location() #11
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call ptr @strerror(i32 noundef %5432) #10
  %5434 = call ptr @__errno_location() #11
  %5435 = load i32, ptr %5434, align 4, !tbaa !5
  %5436 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5423, ptr noundef @.str.5, i32 noundef %5424, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5427, ptr noundef %5430, ptr noundef %5433, i32 noundef %5435) #10
  br label %5437

5437:                                             ; preds = %5420, %5403
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %5438

5438:                                             ; preds = %5437
  br label %5439

5439:                                             ; preds = %5438
  call void @exit(i32 noundef 1) #12
  unreachable

5440:                                             ; No predecessors!
  br label %5441

5441:                                             ; preds = %5440
  br label %5442

5442:                                             ; preds = %5441, %5384
  br label %5443

5443:                                             ; preds = %5442
  br label %5444

5444:                                             ; preds = %5443
  br label %5445

5445:                                             ; preds = %5444
  %5446 = load i32, ptr @test_count, align 4, !tbaa !5
  %5447 = add nsw i32 %5446, 1
  store i32 %5447, ptr @test_count, align 4, !tbaa !5
  %5448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = icmp eq i32 %5449, 0
  br i1 %5450, label %5451, label %5504

5451:                                             ; preds = %5445
  br label %5452

5452:                                             ; preds = %5451
  br label %5453

5453:                                             ; preds = %5452
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #10
  %5454 = call ptr @__errno_location() #11
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  store i32 %5455, ptr %121, align 4, !tbaa !5
  %5456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5457 = call i32 @s2n_print_stacktrace(ptr noundef %5456)
  %5458 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5459 = trunc i8 %5458 to i1
  br i1 %5459, label %5460, label %5482

5460:                                             ; preds = %5453
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = call i32 @fileno(ptr noundef %5461) #10
  %5463 = call i32 @isatty(i32 noundef %5462) #10
  %5464 = icmp ne i32 %5463, 0
  br i1 %5464, label %5465, label %5482

5465:                                             ; preds = %5460
  %5466 = load i32, ptr %121, align 4, !tbaa !5
  %5467 = call ptr @__errno_location() #11
  store i32 %5466, ptr %5467, align 4, !tbaa !5
  %5468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5469 = load i32, ptr @test_count, align 4, !tbaa !5
  %5470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  %5472 = call ptr @s2n_strerror(i32 noundef %5471, ptr noundef @.str.4)
  %5473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5474 = load i32, ptr %5473, align 4, !tbaa !5
  %5475 = call ptr @s2n_strerror_debug(i32 noundef %5474, ptr noundef @.str.4)
  %5476 = call ptr @__errno_location() #11
  %5477 = load i32, ptr %5476, align 4, !tbaa !5
  %5478 = call ptr @strerror(i32 noundef %5477) #10
  %5479 = call ptr @__errno_location() #11
  %5480 = load i32, ptr %5479, align 4, !tbaa !5
  %5481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5468, ptr noundef @.str.2, i32 noundef %5469, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5472, ptr noundef %5475, ptr noundef %5478, i32 noundef %5480) #10
  br label %5499

5482:                                             ; preds = %5460, %5453
  %5483 = load i32, ptr %121, align 4, !tbaa !5
  %5484 = call ptr @__errno_location() #11
  store i32 %5483, ptr %5484, align 4, !tbaa !5
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = load i32, ptr @test_count, align 4, !tbaa !5
  %5487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5488 = load i32, ptr %5487, align 4, !tbaa !5
  %5489 = call ptr @s2n_strerror(i32 noundef %5488, ptr noundef @.str.4)
  %5490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5491 = load i32, ptr %5490, align 4, !tbaa !5
  %5492 = call ptr @s2n_strerror_debug(i32 noundef %5491, ptr noundef @.str.4)
  %5493 = call ptr @__errno_location() #11
  %5494 = load i32, ptr %5493, align 4, !tbaa !5
  %5495 = call ptr @strerror(i32 noundef %5494) #10
  %5496 = call ptr @__errno_location() #11
  %5497 = load i32, ptr %5496, align 4, !tbaa !5
  %5498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5485, ptr noundef @.str.5, i32 noundef %5486, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5489, ptr noundef %5492, ptr noundef %5495, i32 noundef %5497) #10
  br label %5499

5499:                                             ; preds = %5482, %5465
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %5500

5500:                                             ; preds = %5499
  br label %5501

5501:                                             ; preds = %5500
  call void @exit(i32 noundef 1) #12
  unreachable

5502:                                             ; No predecessors!
  br label %5503

5503:                                             ; preds = %5502
  br label %5504

5504:                                             ; preds = %5503, %5445
  br label %5505

5505:                                             ; preds = %5504
  br label %5506

5506:                                             ; preds = %5505
  br label %5507

5507:                                             ; preds = %5506
  %5508 = load i32, ptr @test_count, align 4, !tbaa !5
  %5509 = add nsw i32 %5508, 1
  store i32 %5509, ptr @test_count, align 4, !tbaa !5
  %5510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5511 = load i32, ptr %5510, align 4, !tbaa !5
  %5512 = call ptr @s2n_strerror_debug(i32 noundef %5511, ptr noundef @.str.4)
  %5513 = icmp eq ptr %5512, null
  br i1 %5513, label %5514, label %5567

5514:                                             ; preds = %5507
  br label %5515

5515:                                             ; preds = %5514
  br label %5516

5516:                                             ; preds = %5515
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %5517 = call ptr @__errno_location() #11
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  store i32 %5518, ptr %122, align 4, !tbaa !5
  %5519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5520 = call i32 @s2n_print_stacktrace(ptr noundef %5519)
  %5521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5522 = trunc i8 %5521 to i1
  br i1 %5522, label %5523, label %5545

5523:                                             ; preds = %5516
  %5524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5525 = call i32 @fileno(ptr noundef %5524) #10
  %5526 = call i32 @isatty(i32 noundef %5525) #10
  %5527 = icmp ne i32 %5526, 0
  br i1 %5527, label %5528, label %5545

5528:                                             ; preds = %5523
  %5529 = load i32, ptr %122, align 4, !tbaa !5
  %5530 = call ptr @__errno_location() #11
  store i32 %5529, ptr %5530, align 4, !tbaa !5
  %5531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5532 = load i32, ptr @test_count, align 4, !tbaa !5
  %5533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5534 = load i32, ptr %5533, align 4, !tbaa !5
  %5535 = call ptr @s2n_strerror(i32 noundef %5534, ptr noundef @.str.4)
  %5536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5537 = load i32, ptr %5536, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror_debug(i32 noundef %5537, ptr noundef @.str.4)
  %5539 = call ptr @__errno_location() #11
  %5540 = load i32, ptr %5539, align 4, !tbaa !5
  %5541 = call ptr @strerror(i32 noundef %5540) #10
  %5542 = call ptr @__errno_location() #11
  %5543 = load i32, ptr %5542, align 4, !tbaa !5
  %5544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5531, ptr noundef @.str.2, i32 noundef %5532, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5535, ptr noundef %5538, ptr noundef %5541, i32 noundef %5543) #10
  br label %5562

5545:                                             ; preds = %5523, %5516
  %5546 = load i32, ptr %122, align 4, !tbaa !5
  %5547 = call ptr @__errno_location() #11
  store i32 %5546, ptr %5547, align 4, !tbaa !5
  %5548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5549 = load i32, ptr @test_count, align 4, !tbaa !5
  %5550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5551 = load i32, ptr %5550, align 4, !tbaa !5
  %5552 = call ptr @s2n_strerror(i32 noundef %5551, ptr noundef @.str.4)
  %5553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5554 = load i32, ptr %5553, align 4, !tbaa !5
  %5555 = call ptr @s2n_strerror_debug(i32 noundef %5554, ptr noundef @.str.4)
  %5556 = call ptr @__errno_location() #11
  %5557 = load i32, ptr %5556, align 4, !tbaa !5
  %5558 = call ptr @strerror(i32 noundef %5557) #10
  %5559 = call ptr @__errno_location() #11
  %5560 = load i32, ptr %5559, align 4, !tbaa !5
  %5561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5548, ptr noundef @.str.5, i32 noundef %5549, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 217, ptr noundef %5552, ptr noundef %5555, ptr noundef %5558, i32 noundef %5560) #10
  br label %5562

5562:                                             ; preds = %5545, %5528
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %5563

5563:                                             ; preds = %5562
  br label %5564

5564:                                             ; preds = %5563
  call void @exit(i32 noundef 1) #12
  unreachable

5565:                                             ; No predecessors!
  br label %5566

5566:                                             ; preds = %5565
  br label %5567

5567:                                             ; preds = %5566, %5507
  br label %5568

5568:                                             ; preds = %5567
  br label %5569

5569:                                             ; preds = %5568
  br label %5570

5570:                                             ; preds = %5569
  %5571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5571, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5572 = call ptr @__errno_location() #11
  store i32 0, ptr %5572, align 4, !tbaa !5
  br label %5573

5573:                                             ; preds = %5570
  br label %5574

5574:                                             ; preds = %5573
  br label %5575

5575:                                             ; preds = %5574
  br label %5576

5576:                                             ; preds = %5575
  br label %5577

5577:                                             ; preds = %5576
  %5578 = load i32, ptr @test_count, align 4, !tbaa !5
  %5579 = add nsw i32 %5578, 1
  store i32 %5579, ptr @test_count, align 4, !tbaa !5
  %5580 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %5581 = load i32, ptr %5580, align 4, !tbaa !15
  %5582 = load i32, ptr %119, align 4, !tbaa !5
  %5583 = icmp eq i32 %5581, %5582
  br i1 %5583, label %5637, label %5584

5584:                                             ; preds = %5577
  br label %5585

5585:                                             ; preds = %5584
  br label %5586

5586:                                             ; preds = %5585
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %5587 = call ptr @__errno_location() #11
  %5588 = load i32, ptr %5587, align 4, !tbaa !5
  store i32 %5588, ptr %123, align 4, !tbaa !5
  %5589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5590 = call i32 @s2n_print_stacktrace(ptr noundef %5589)
  %5591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5592 = trunc i8 %5591 to i1
  br i1 %5592, label %5593, label %5615

5593:                                             ; preds = %5586
  %5594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5595 = call i32 @fileno(ptr noundef %5594) #10
  %5596 = call i32 @isatty(i32 noundef %5595) #10
  %5597 = icmp ne i32 %5596, 0
  br i1 %5597, label %5598, label %5615

5598:                                             ; preds = %5593
  %5599 = load i32, ptr %123, align 4, !tbaa !5
  %5600 = call ptr @__errno_location() #11
  store i32 %5599, ptr %5600, align 4, !tbaa !5
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5602 = load i32, ptr @test_count, align 4, !tbaa !5
  %5603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @s2n_strerror(i32 noundef %5604, ptr noundef @.str.4)
  %5606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call ptr @s2n_strerror_debug(i32 noundef %5607, ptr noundef @.str.4)
  %5609 = call ptr @__errno_location() #11
  %5610 = load i32, ptr %5609, align 4, !tbaa !5
  %5611 = call ptr @strerror(i32 noundef %5610) #10
  %5612 = call ptr @__errno_location() #11
  %5613 = load i32, ptr %5612, align 4, !tbaa !5
  %5614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5601, ptr noundef @.str.2, i32 noundef %5602, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 218, ptr noundef %5605, ptr noundef %5608, ptr noundef %5611, i32 noundef %5613) #10
  br label %5632

5615:                                             ; preds = %5593, %5586
  %5616 = load i32, ptr %123, align 4, !tbaa !5
  %5617 = call ptr @__errno_location() #11
  store i32 %5616, ptr %5617, align 4, !tbaa !5
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5619 = load i32, ptr @test_count, align 4, !tbaa !5
  %5620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5621 = load i32, ptr %5620, align 4, !tbaa !5
  %5622 = call ptr @s2n_strerror(i32 noundef %5621, ptr noundef @.str.4)
  %5623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call ptr @s2n_strerror_debug(i32 noundef %5624, ptr noundef @.str.4)
  %5626 = call ptr @__errno_location() #11
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call ptr @strerror(i32 noundef %5627) #10
  %5629 = call ptr @__errno_location() #11
  %5630 = load i32, ptr %5629, align 4, !tbaa !5
  %5631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5618, ptr noundef @.str.5, i32 noundef %5619, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 218, ptr noundef %5622, ptr noundef %5625, ptr noundef %5628, i32 noundef %5630) #10
  br label %5632

5632:                                             ; preds = %5615, %5598
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %5633

5633:                                             ; preds = %5632
  br label %5634

5634:                                             ; preds = %5633
  call void @exit(i32 noundef 1) #12
  unreachable

5635:                                             ; No predecessors!
  br label %5636

5636:                                             ; preds = %5635
  br label %5637

5637:                                             ; preds = %5636, %5577
  br label %5638

5638:                                             ; preds = %5637
  br label %5639

5639:                                             ; preds = %5638
  %5640 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %116, i32 0, i32 0
  store ptr %10, ptr %5640, align 8, !tbaa !31
  %5641 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %116, i32 0, i32 2
  store i8 8, ptr %5641, align 4, !tbaa !34
  br label %5642

5642:                                             ; preds = %5639
  br label %5643

5643:                                             ; preds = %5642
  br label %5644

5644:                                             ; preds = %5643
  %5645 = load i32, ptr @test_count, align 4, !tbaa !5
  %5646 = add nsw i32 %5645, 1
  store i32 %5646, ptr @test_count, align 4, !tbaa !5
  %5647 = call i32 @s2n_stuffer_write_reservation(ptr noundef %116, i32 noundef 0)
  %5648 = icmp eq i32 %5647, -1
  br i1 %5648, label %5702, label %5649

5649:                                             ; preds = %5644
  br label %5650

5650:                                             ; preds = %5649
  br label %5651

5651:                                             ; preds = %5650
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #10
  %5652 = call ptr @__errno_location() #11
  %5653 = load i32, ptr %5652, align 4, !tbaa !5
  store i32 %5653, ptr %124, align 4, !tbaa !5
  %5654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5655 = call i32 @s2n_print_stacktrace(ptr noundef %5654)
  %5656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5657 = trunc i8 %5656 to i1
  br i1 %5657, label %5658, label %5680

5658:                                             ; preds = %5651
  %5659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5660 = call i32 @fileno(ptr noundef %5659) #10
  %5661 = call i32 @isatty(i32 noundef %5660) #10
  %5662 = icmp ne i32 %5661, 0
  br i1 %5662, label %5663, label %5680

5663:                                             ; preds = %5658
  %5664 = load i32, ptr %124, align 4, !tbaa !5
  %5665 = call ptr @__errno_location() #11
  store i32 %5664, ptr %5665, align 4, !tbaa !5
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = load i32, ptr @test_count, align 4, !tbaa !5
  %5668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5669 = load i32, ptr %5668, align 4, !tbaa !5
  %5670 = call ptr @s2n_strerror(i32 noundef %5669, ptr noundef @.str.4)
  %5671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5672 = load i32, ptr %5671, align 4, !tbaa !5
  %5673 = call ptr @s2n_strerror_debug(i32 noundef %5672, ptr noundef @.str.4)
  %5674 = call ptr @__errno_location() #11
  %5675 = load i32, ptr %5674, align 4, !tbaa !5
  %5676 = call ptr @strerror(i32 noundef %5675) #10
  %5677 = call ptr @__errno_location() #11
  %5678 = load i32, ptr %5677, align 4, !tbaa !5
  %5679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5666, ptr noundef @.str.2, i32 noundef %5667, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5670, ptr noundef %5673, ptr noundef %5676, i32 noundef %5678) #10
  br label %5697

5680:                                             ; preds = %5658, %5651
  %5681 = load i32, ptr %124, align 4, !tbaa !5
  %5682 = call ptr @__errno_location() #11
  store i32 %5681, ptr %5682, align 4, !tbaa !5
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = load i32, ptr @test_count, align 4, !tbaa !5
  %5685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5686 = load i32, ptr %5685, align 4, !tbaa !5
  %5687 = call ptr @s2n_strerror(i32 noundef %5686, ptr noundef @.str.4)
  %5688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5689 = load i32, ptr %5688, align 4, !tbaa !5
  %5690 = call ptr @s2n_strerror_debug(i32 noundef %5689, ptr noundef @.str.4)
  %5691 = call ptr @__errno_location() #11
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  %5693 = call ptr @strerror(i32 noundef %5692) #10
  %5694 = call ptr @__errno_location() #11
  %5695 = load i32, ptr %5694, align 4, !tbaa !5
  %5696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5683, ptr noundef @.str.5, i32 noundef %5684, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5687, ptr noundef %5690, ptr noundef %5693, i32 noundef %5695) #10
  br label %5697

5697:                                             ; preds = %5680, %5663
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #10
  br label %5698

5698:                                             ; preds = %5697
  br label %5699

5699:                                             ; preds = %5698
  call void @exit(i32 noundef 1) #12
  unreachable

5700:                                             ; No predecessors!
  br label %5701

5701:                                             ; preds = %5700
  br label %5702

5702:                                             ; preds = %5701, %5644
  br label %5703

5703:                                             ; preds = %5702
  br label %5704

5704:                                             ; preds = %5703
  br label %5705

5705:                                             ; preds = %5704
  %5706 = load i32, ptr @test_count, align 4, !tbaa !5
  %5707 = add nsw i32 %5706, 1
  store i32 %5707, ptr @test_count, align 4, !tbaa !5
  %5708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = icmp eq i32 %5709, 402653194
  br i1 %5710, label %5764, label %5711

5711:                                             ; preds = %5705
  br label %5712

5712:                                             ; preds = %5711
  br label %5713

5713:                                             ; preds = %5712
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %5714 = call ptr @__errno_location() #11
  %5715 = load i32, ptr %5714, align 4, !tbaa !5
  store i32 %5715, ptr %125, align 4, !tbaa !5
  %5716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5717 = call i32 @s2n_print_stacktrace(ptr noundef %5716)
  %5718 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5719 = trunc i8 %5718 to i1
  br i1 %5719, label %5720, label %5742

5720:                                             ; preds = %5713
  %5721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5722 = call i32 @fileno(ptr noundef %5721) #10
  %5723 = call i32 @isatty(i32 noundef %5722) #10
  %5724 = icmp ne i32 %5723, 0
  br i1 %5724, label %5725, label %5742

5725:                                             ; preds = %5720
  %5726 = load i32, ptr %125, align 4, !tbaa !5
  %5727 = call ptr @__errno_location() #11
  store i32 %5726, ptr %5727, align 4, !tbaa !5
  %5728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5729 = load i32, ptr @test_count, align 4, !tbaa !5
  %5730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5731 = load i32, ptr %5730, align 4, !tbaa !5
  %5732 = call ptr @s2n_strerror(i32 noundef %5731, ptr noundef @.str.4)
  %5733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5734 = load i32, ptr %5733, align 4, !tbaa !5
  %5735 = call ptr @s2n_strerror_debug(i32 noundef %5734, ptr noundef @.str.4)
  %5736 = call ptr @__errno_location() #11
  %5737 = load i32, ptr %5736, align 4, !tbaa !5
  %5738 = call ptr @strerror(i32 noundef %5737) #10
  %5739 = call ptr @__errno_location() #11
  %5740 = load i32, ptr %5739, align 4, !tbaa !5
  %5741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5728, ptr noundef @.str.2, i32 noundef %5729, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5732, ptr noundef %5735, ptr noundef %5738, i32 noundef %5740) #10
  br label %5759

5742:                                             ; preds = %5720, %5713
  %5743 = load i32, ptr %125, align 4, !tbaa !5
  %5744 = call ptr @__errno_location() #11
  store i32 %5743, ptr %5744, align 4, !tbaa !5
  %5745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5746 = load i32, ptr @test_count, align 4, !tbaa !5
  %5747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  %5749 = call ptr @s2n_strerror(i32 noundef %5748, ptr noundef @.str.4)
  %5750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call ptr @s2n_strerror_debug(i32 noundef %5751, ptr noundef @.str.4)
  %5753 = call ptr @__errno_location() #11
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @strerror(i32 noundef %5754) #10
  %5756 = call ptr @__errno_location() #11
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5745, ptr noundef @.str.5, i32 noundef %5746, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5749, ptr noundef %5752, ptr noundef %5755, i32 noundef %5757) #10
  br label %5759

5759:                                             ; preds = %5742, %5725
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %5760

5760:                                             ; preds = %5759
  br label %5761

5761:                                             ; preds = %5760
  call void @exit(i32 noundef 1) #12
  unreachable

5762:                                             ; No predecessors!
  br label %5763

5763:                                             ; preds = %5762
  br label %5764

5764:                                             ; preds = %5763, %5705
  br label %5765

5765:                                             ; preds = %5764
  br label %5766

5766:                                             ; preds = %5765
  br label %5767

5767:                                             ; preds = %5766
  %5768 = load i32, ptr @test_count, align 4, !tbaa !5
  %5769 = add nsw i32 %5768, 1
  store i32 %5769, ptr @test_count, align 4, !tbaa !5
  %5770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5771 = load i32, ptr %5770, align 4, !tbaa !5
  %5772 = call ptr @s2n_strerror_debug(i32 noundef %5771, ptr noundef @.str.4)
  %5773 = icmp eq ptr %5772, null
  br i1 %5773, label %5774, label %5827

5774:                                             ; preds = %5767
  br label %5775

5775:                                             ; preds = %5774
  br label %5776

5776:                                             ; preds = %5775
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %5777 = call ptr @__errno_location() #11
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  store i32 %5778, ptr %126, align 4, !tbaa !5
  %5779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5780 = call i32 @s2n_print_stacktrace(ptr noundef %5779)
  %5781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5782 = trunc i8 %5781 to i1
  br i1 %5782, label %5783, label %5805

5783:                                             ; preds = %5776
  %5784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5785 = call i32 @fileno(ptr noundef %5784) #10
  %5786 = call i32 @isatty(i32 noundef %5785) #10
  %5787 = icmp ne i32 %5786, 0
  br i1 %5787, label %5788, label %5805

5788:                                             ; preds = %5783
  %5789 = load i32, ptr %126, align 4, !tbaa !5
  %5790 = call ptr @__errno_location() #11
  store i32 %5789, ptr %5790, align 4, !tbaa !5
  %5791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5792 = load i32, ptr @test_count, align 4, !tbaa !5
  %5793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5794 = load i32, ptr %5793, align 4, !tbaa !5
  %5795 = call ptr @s2n_strerror(i32 noundef %5794, ptr noundef @.str.4)
  %5796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5797 = load i32, ptr %5796, align 4, !tbaa !5
  %5798 = call ptr @s2n_strerror_debug(i32 noundef %5797, ptr noundef @.str.4)
  %5799 = call ptr @__errno_location() #11
  %5800 = load i32, ptr %5799, align 4, !tbaa !5
  %5801 = call ptr @strerror(i32 noundef %5800) #10
  %5802 = call ptr @__errno_location() #11
  %5803 = load i32, ptr %5802, align 4, !tbaa !5
  %5804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5791, ptr noundef @.str.2, i32 noundef %5792, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5795, ptr noundef %5798, ptr noundef %5801, i32 noundef %5803) #10
  br label %5822

5805:                                             ; preds = %5783, %5776
  %5806 = load i32, ptr %126, align 4, !tbaa !5
  %5807 = call ptr @__errno_location() #11
  store i32 %5806, ptr %5807, align 4, !tbaa !5
  %5808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5809 = load i32, ptr @test_count, align 4, !tbaa !5
  %5810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5811 = load i32, ptr %5810, align 4, !tbaa !5
  %5812 = call ptr @s2n_strerror(i32 noundef %5811, ptr noundef @.str.4)
  %5813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5814 = load i32, ptr %5813, align 4, !tbaa !5
  %5815 = call ptr @s2n_strerror_debug(i32 noundef %5814, ptr noundef @.str.4)
  %5816 = call ptr @__errno_location() #11
  %5817 = load i32, ptr %5816, align 4, !tbaa !5
  %5818 = call ptr @strerror(i32 noundef %5817) #10
  %5819 = call ptr @__errno_location() #11
  %5820 = load i32, ptr %5819, align 4, !tbaa !5
  %5821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5808, ptr noundef @.str.5, i32 noundef %5809, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 223, ptr noundef %5812, ptr noundef %5815, ptr noundef %5818, i32 noundef %5820) #10
  br label %5822

5822:                                             ; preds = %5805, %5788
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %5823

5823:                                             ; preds = %5822
  br label %5824

5824:                                             ; preds = %5823
  call void @exit(i32 noundef 1) #12
  unreachable

5825:                                             ; No predecessors!
  br label %5826

5826:                                             ; preds = %5825
  br label %5827

5827:                                             ; preds = %5826, %5767
  br label %5828

5828:                                             ; preds = %5827
  br label %5829

5829:                                             ; preds = %5828
  br label %5830

5830:                                             ; preds = %5829
  br label %5831

5831:                                             ; preds = %5830
  br label %5832

5832:                                             ; preds = %5831
  %5833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5833, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5834 = call ptr @__errno_location() #11
  store i32 0, ptr %5834, align 4, !tbaa !5
  br label %5835

5835:                                             ; preds = %5832
  br label %5836

5836:                                             ; preds = %5835
  br label %5837

5837:                                             ; preds = %5836
  br label %5838

5838:                                             ; preds = %5837
  br label %5839

5839:                                             ; preds = %5838
  %5840 = load i32, ptr @test_count, align 4, !tbaa !5
  %5841 = add nsw i32 %5840, 1
  store i32 %5841, ptr @test_count, align 4, !tbaa !5
  %5842 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %5843 = load i32, ptr %5842, align 4, !tbaa !15
  %5844 = load i32, ptr %119, align 4, !tbaa !5
  %5845 = icmp eq i32 %5843, %5844
  br i1 %5845, label %5899, label %5846

5846:                                             ; preds = %5839
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

5848:                                             ; preds = %5847
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %5849 = call ptr @__errno_location() #11
  %5850 = load i32, ptr %5849, align 4, !tbaa !5
  store i32 %5850, ptr %127, align 4, !tbaa !5
  %5851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5852 = call i32 @s2n_print_stacktrace(ptr noundef %5851)
  %5853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5854 = trunc i8 %5853 to i1
  br i1 %5854, label %5855, label %5877

5855:                                             ; preds = %5848
  %5856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5857 = call i32 @fileno(ptr noundef %5856) #10
  %5858 = call i32 @isatty(i32 noundef %5857) #10
  %5859 = icmp ne i32 %5858, 0
  br i1 %5859, label %5860, label %5877

5860:                                             ; preds = %5855
  %5861 = load i32, ptr %127, align 4, !tbaa !5
  %5862 = call ptr @__errno_location() #11
  store i32 %5861, ptr %5862, align 4, !tbaa !5
  %5863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5864 = load i32, ptr @test_count, align 4, !tbaa !5
  %5865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5866 = load i32, ptr %5865, align 4, !tbaa !5
  %5867 = call ptr @s2n_strerror(i32 noundef %5866, ptr noundef @.str.4)
  %5868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5869 = load i32, ptr %5868, align 4, !tbaa !5
  %5870 = call ptr @s2n_strerror_debug(i32 noundef %5869, ptr noundef @.str.4)
  %5871 = call ptr @__errno_location() #11
  %5872 = load i32, ptr %5871, align 4, !tbaa !5
  %5873 = call ptr @strerror(i32 noundef %5872) #10
  %5874 = call ptr @__errno_location() #11
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5863, ptr noundef @.str.2, i32 noundef %5864, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5867, ptr noundef %5870, ptr noundef %5873, i32 noundef %5875) #10
  br label %5894

5877:                                             ; preds = %5855, %5848
  %5878 = load i32, ptr %127, align 4, !tbaa !5
  %5879 = call ptr @__errno_location() #11
  store i32 %5878, ptr %5879, align 4, !tbaa !5
  %5880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5881 = load i32, ptr @test_count, align 4, !tbaa !5
  %5882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @s2n_strerror(i32 noundef %5883, ptr noundef @.str.4)
  %5885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call ptr @s2n_strerror_debug(i32 noundef %5886, ptr noundef @.str.4)
  %5888 = call ptr @__errno_location() #11
  %5889 = load i32, ptr %5888, align 4, !tbaa !5
  %5890 = call ptr @strerror(i32 noundef %5889) #10
  %5891 = call ptr @__errno_location() #11
  %5892 = load i32, ptr %5891, align 4, !tbaa !5
  %5893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5880, ptr noundef @.str.5, i32 noundef %5881, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5884, ptr noundef %5887, ptr noundef %5890, i32 noundef %5892) #10
  br label %5894

5894:                                             ; preds = %5877, %5860
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %5895

5895:                                             ; preds = %5894
  br label %5896

5896:                                             ; preds = %5895
  call void @exit(i32 noundef 1) #12
  unreachable

5897:                                             ; No predecessors!
  br label %5898

5898:                                             ; preds = %5897
  br label %5899

5899:                                             ; preds = %5898, %5839
  br label %5900

5900:                                             ; preds = %5899
  br label %5901

5901:                                             ; preds = %5900
  %5902 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %116, i32 0, i32 2
  store i8 2, ptr %5902, align 4, !tbaa !34
  br label %5903

5903:                                             ; preds = %5901
  br label %5904

5904:                                             ; preds = %5903
  br label %5905

5905:                                             ; preds = %5904
  %5906 = load i32, ptr @test_count, align 4, !tbaa !5
  %5907 = add nsw i32 %5906, 1
  store i32 %5907, ptr @test_count, align 4, !tbaa !5
  %5908 = call i32 @s2n_stuffer_write_reservation(ptr noundef %116, i32 noundef -1)
  %5909 = icmp eq i32 %5908, -1
  br i1 %5909, label %5963, label %5910

5910:                                             ; preds = %5905
  br label %5911

5911:                                             ; preds = %5910
  br label %5912

5912:                                             ; preds = %5911
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #10
  %5913 = call ptr @__errno_location() #11
  %5914 = load i32, ptr %5913, align 4, !tbaa !5
  store i32 %5914, ptr %128, align 4, !tbaa !5
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5916 = call i32 @s2n_print_stacktrace(ptr noundef %5915)
  %5917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5918 = trunc i8 %5917 to i1
  br i1 %5918, label %5919, label %5941

5919:                                             ; preds = %5912
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5921 = call i32 @fileno(ptr noundef %5920) #10
  %5922 = call i32 @isatty(i32 noundef %5921) #10
  %5923 = icmp ne i32 %5922, 0
  br i1 %5923, label %5924, label %5941

5924:                                             ; preds = %5919
  %5925 = load i32, ptr %128, align 4, !tbaa !5
  %5926 = call ptr @__errno_location() #11
  store i32 %5925, ptr %5926, align 4, !tbaa !5
  %5927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5928 = load i32, ptr @test_count, align 4, !tbaa !5
  %5929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5930 = load i32, ptr %5929, align 4, !tbaa !5
  %5931 = call ptr @s2n_strerror(i32 noundef %5930, ptr noundef @.str.4)
  %5932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5933 = load i32, ptr %5932, align 4, !tbaa !5
  %5934 = call ptr @s2n_strerror_debug(i32 noundef %5933, ptr noundef @.str.4)
  %5935 = call ptr @__errno_location() #11
  %5936 = load i32, ptr %5935, align 4, !tbaa !5
  %5937 = call ptr @strerror(i32 noundef %5936) #10
  %5938 = call ptr @__errno_location() #11
  %5939 = load i32, ptr %5938, align 4, !tbaa !5
  %5940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5927, ptr noundef @.str.2, i32 noundef %5928, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5931, ptr noundef %5934, ptr noundef %5937, i32 noundef %5939) #10
  br label %5958

5941:                                             ; preds = %5919, %5912
  %5942 = load i32, ptr %128, align 4, !tbaa !5
  %5943 = call ptr @__errno_location() #11
  store i32 %5942, ptr %5943, align 4, !tbaa !5
  %5944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5945 = load i32, ptr @test_count, align 4, !tbaa !5
  %5946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5947 = load i32, ptr %5946, align 4, !tbaa !5
  %5948 = call ptr @s2n_strerror(i32 noundef %5947, ptr noundef @.str.4)
  %5949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5950 = load i32, ptr %5949, align 4, !tbaa !5
  %5951 = call ptr @s2n_strerror_debug(i32 noundef %5950, ptr noundef @.str.4)
  %5952 = call ptr @__errno_location() #11
  %5953 = load i32, ptr %5952, align 4, !tbaa !5
  %5954 = call ptr @strerror(i32 noundef %5953) #10
  %5955 = call ptr @__errno_location() #11
  %5956 = load i32, ptr %5955, align 4, !tbaa !5
  %5957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5944, ptr noundef @.str.5, i32 noundef %5945, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5948, ptr noundef %5951, ptr noundef %5954, i32 noundef %5956) #10
  br label %5958

5958:                                             ; preds = %5941, %5924
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #10
  br label %5959

5959:                                             ; preds = %5958
  br label %5960

5960:                                             ; preds = %5959
  call void @exit(i32 noundef 1) #12
  unreachable

5961:                                             ; No predecessors!
  br label %5962

5962:                                             ; preds = %5961
  br label %5963

5963:                                             ; preds = %5962, %5905
  br label %5964

5964:                                             ; preds = %5963
  br label %5965

5965:                                             ; preds = %5964
  br label %5966

5966:                                             ; preds = %5965
  %5967 = load i32, ptr @test_count, align 4, !tbaa !5
  %5968 = add nsw i32 %5967, 1
  store i32 %5968, ptr @test_count, align 4, !tbaa !5
  %5969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5970 = load i32, ptr %5969, align 4, !tbaa !5
  %5971 = icmp eq i32 %5970, 402653194
  br i1 %5971, label %6025, label %5972

5972:                                             ; preds = %5966
  br label %5973

5973:                                             ; preds = %5972
  br label %5974

5974:                                             ; preds = %5973
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %5975 = call ptr @__errno_location() #11
  %5976 = load i32, ptr %5975, align 4, !tbaa !5
  store i32 %5976, ptr %129, align 4, !tbaa !5
  %5977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5978 = call i32 @s2n_print_stacktrace(ptr noundef %5977)
  %5979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5980 = trunc i8 %5979 to i1
  br i1 %5980, label %5981, label %6003

5981:                                             ; preds = %5974
  %5982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5983 = call i32 @fileno(ptr noundef %5982) #10
  %5984 = call i32 @isatty(i32 noundef %5983) #10
  %5985 = icmp ne i32 %5984, 0
  br i1 %5985, label %5986, label %6003

5986:                                             ; preds = %5981
  %5987 = load i32, ptr %129, align 4, !tbaa !5
  %5988 = call ptr @__errno_location() #11
  store i32 %5987, ptr %5988, align 4, !tbaa !5
  %5989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5992 = load i32, ptr %5991, align 4, !tbaa !5
  %5993 = call ptr @s2n_strerror(i32 noundef %5992, ptr noundef @.str.4)
  %5994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  %5996 = call ptr @s2n_strerror_debug(i32 noundef %5995, ptr noundef @.str.4)
  %5997 = call ptr @__errno_location() #11
  %5998 = load i32, ptr %5997, align 4, !tbaa !5
  %5999 = call ptr @strerror(i32 noundef %5998) #10
  %6000 = call ptr @__errno_location() #11
  %6001 = load i32, ptr %6000, align 4, !tbaa !5
  %6002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5989, ptr noundef @.str.2, i32 noundef %5990, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5993, ptr noundef %5996, ptr noundef %5999, i32 noundef %6001) #10
  br label %6020

6003:                                             ; preds = %5981, %5974
  %6004 = load i32, ptr %129, align 4, !tbaa !5
  %6005 = call ptr @__errno_location() #11
  store i32 %6004, ptr %6005, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6009 = load i32, ptr %6008, align 4, !tbaa !5
  %6010 = call ptr @s2n_strerror(i32 noundef %6009, ptr noundef @.str.4)
  %6011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call ptr @s2n_strerror_debug(i32 noundef %6012, ptr noundef @.str.4)
  %6014 = call ptr @__errno_location() #11
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = call ptr @strerror(i32 noundef %6015) #10
  %6017 = call ptr @__errno_location() #11
  %6018 = load i32, ptr %6017, align 4, !tbaa !5
  %6019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6006, ptr noundef @.str.5, i32 noundef %6007, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 228, ptr noundef %6010, ptr noundef %6013, ptr noundef %6016, i32 noundef %6018) #10
  br label %6020

6020:                                             ; preds = %6003, %5986
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6021

6021:                                             ; preds = %6020
  br label %6022

6022:                                             ; preds = %6021
  call void @exit(i32 noundef 1) #12
  unreachable

6023:                                             ; No predecessors!
  br label %6024

6024:                                             ; preds = %6023
  br label %6025

6025:                                             ; preds = %6024, %5966
  br label %6026

6026:                                             ; preds = %6025
  br label %6027

6027:                                             ; preds = %6026
  br label %6028

6028:                                             ; preds = %6027
  %6029 = load i32, ptr @test_count, align 4, !tbaa !5
  %6030 = add nsw i32 %6029, 1
  store i32 %6030, ptr @test_count, align 4, !tbaa !5
  %6031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call ptr @s2n_strerror_debug(i32 noundef %6032, ptr noundef @.str.4)
  %6034 = icmp eq ptr %6033, null
  br i1 %6034, label %6035, label %6088

6035:                                             ; preds = %6028
  br label %6036

6036:                                             ; preds = %6035
  br label %6037

6037:                                             ; preds = %6036
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6038 = call ptr @__errno_location() #11
  %6039 = load i32, ptr %6038, align 4, !tbaa !5
  store i32 %6039, ptr %130, align 4, !tbaa !5
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = call i32 @s2n_print_stacktrace(ptr noundef %6040)
  %6042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6043 = trunc i8 %6042 to i1
  br i1 %6043, label %6044, label %6066

6044:                                             ; preds = %6037
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = call i32 @fileno(ptr noundef %6045) #10
  %6047 = call i32 @isatty(i32 noundef %6046) #10
  %6048 = icmp ne i32 %6047, 0
  br i1 %6048, label %6049, label %6066

6049:                                             ; preds = %6044
  %6050 = load i32, ptr %130, align 4, !tbaa !5
  %6051 = call ptr @__errno_location() #11
  store i32 %6050, ptr %6051, align 4, !tbaa !5
  %6052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6053 = load i32, ptr @test_count, align 4, !tbaa !5
  %6054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6055 = load i32, ptr %6054, align 4, !tbaa !5
  %6056 = call ptr @s2n_strerror(i32 noundef %6055, ptr noundef @.str.4)
  %6057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6058 = load i32, ptr %6057, align 4, !tbaa !5
  %6059 = call ptr @s2n_strerror_debug(i32 noundef %6058, ptr noundef @.str.4)
  %6060 = call ptr @__errno_location() #11
  %6061 = load i32, ptr %6060, align 4, !tbaa !5
  %6062 = call ptr @strerror(i32 noundef %6061) #10
  %6063 = call ptr @__errno_location() #11
  %6064 = load i32, ptr %6063, align 4, !tbaa !5
  %6065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6052, ptr noundef @.str.2, i32 noundef %6053, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 228, ptr noundef %6056, ptr noundef %6059, ptr noundef %6062, i32 noundef %6064) #10
  br label %6083

6066:                                             ; preds = %6044, %6037
  %6067 = load i32, ptr %130, align 4, !tbaa !5
  %6068 = call ptr @__errno_location() #11
  store i32 %6067, ptr %6068, align 4, !tbaa !5
  %6069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6070 = load i32, ptr @test_count, align 4, !tbaa !5
  %6071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6072 = load i32, ptr %6071, align 4, !tbaa !5
  %6073 = call ptr @s2n_strerror(i32 noundef %6072, ptr noundef @.str.4)
  %6074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6075 = load i32, ptr %6074, align 4, !tbaa !5
  %6076 = call ptr @s2n_strerror_debug(i32 noundef %6075, ptr noundef @.str.4)
  %6077 = call ptr @__errno_location() #11
  %6078 = load i32, ptr %6077, align 4, !tbaa !5
  %6079 = call ptr @strerror(i32 noundef %6078) #10
  %6080 = call ptr @__errno_location() #11
  %6081 = load i32, ptr %6080, align 4, !tbaa !5
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6069, ptr noundef @.str.5, i32 noundef %6070, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 228, ptr noundef %6073, ptr noundef %6076, ptr noundef %6079, i32 noundef %6081) #10
  br label %6083

6083:                                             ; preds = %6066, %6049
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6084

6084:                                             ; preds = %6083
  br label %6085

6085:                                             ; preds = %6084
  call void @exit(i32 noundef 1) #12
  unreachable

6086:                                             ; No predecessors!
  br label %6087

6087:                                             ; preds = %6086
  br label %6088

6088:                                             ; preds = %6087, %6028
  br label %6089

6089:                                             ; preds = %6088
  br label %6090

6090:                                             ; preds = %6089
  br label %6091

6091:                                             ; preds = %6090
  br label %6092

6092:                                             ; preds = %6091
  br label %6093

6093:                                             ; preds = %6092
  %6094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6094, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6095 = call ptr @__errno_location() #11
  store i32 0, ptr %6095, align 4, !tbaa !5
  br label %6096

6096:                                             ; preds = %6093
  br label %6097

6097:                                             ; preds = %6096
  br label %6098

6098:                                             ; preds = %6097
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099
  %6101 = load i32, ptr @test_count, align 4, !tbaa !5
  %6102 = add nsw i32 %6101, 1
  store i32 %6102, ptr @test_count, align 4, !tbaa !5
  %6103 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %6104 = load i32, ptr %6103, align 4, !tbaa !15
  %6105 = load i32, ptr %119, align 4, !tbaa !5
  %6106 = icmp eq i32 %6104, %6105
  br i1 %6106, label %6160, label %6107

6107:                                             ; preds = %6100
  br label %6108

6108:                                             ; preds = %6107
  br label %6109

6109:                                             ; preds = %6108
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6110 = call ptr @__errno_location() #11
  %6111 = load i32, ptr %6110, align 4, !tbaa !5
  store i32 %6111, ptr %131, align 4, !tbaa !5
  %6112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6113 = call i32 @s2n_print_stacktrace(ptr noundef %6112)
  %6114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6115 = trunc i8 %6114 to i1
  br i1 %6115, label %6116, label %6138

6116:                                             ; preds = %6109
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @fileno(ptr noundef %6117) #10
  %6119 = call i32 @isatty(i32 noundef %6118) #10
  %6120 = icmp ne i32 %6119, 0
  br i1 %6120, label %6121, label %6138

6121:                                             ; preds = %6116
  %6122 = load i32, ptr %131, align 4, !tbaa !5
  %6123 = call ptr @__errno_location() #11
  store i32 %6122, ptr %6123, align 4, !tbaa !5
  %6124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6125 = load i32, ptr @test_count, align 4, !tbaa !5
  %6126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6127 = load i32, ptr %6126, align 4, !tbaa !5
  %6128 = call ptr @s2n_strerror(i32 noundef %6127, ptr noundef @.str.4)
  %6129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6130 = load i32, ptr %6129, align 4, !tbaa !5
  %6131 = call ptr @s2n_strerror_debug(i32 noundef %6130, ptr noundef @.str.4)
  %6132 = call ptr @__errno_location() #11
  %6133 = load i32, ptr %6132, align 4, !tbaa !5
  %6134 = call ptr @strerror(i32 noundef %6133) #10
  %6135 = call ptr @__errno_location() #11
  %6136 = load i32, ptr %6135, align 4, !tbaa !5
  %6137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6124, ptr noundef @.str.2, i32 noundef %6125, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6128, ptr noundef %6131, ptr noundef %6134, i32 noundef %6136) #10
  br label %6155

6138:                                             ; preds = %6116, %6109
  %6139 = load i32, ptr %131, align 4, !tbaa !5
  %6140 = call ptr @__errno_location() #11
  store i32 %6139, ptr %6140, align 4, !tbaa !5
  %6141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6142 = load i32, ptr @test_count, align 4, !tbaa !5
  %6143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6144 = load i32, ptr %6143, align 4, !tbaa !5
  %6145 = call ptr @s2n_strerror(i32 noundef %6144, ptr noundef @.str.4)
  %6146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6147 = load i32, ptr %6146, align 4, !tbaa !5
  %6148 = call ptr @s2n_strerror_debug(i32 noundef %6147, ptr noundef @.str.4)
  %6149 = call ptr @__errno_location() #11
  %6150 = load i32, ptr %6149, align 4, !tbaa !5
  %6151 = call ptr @strerror(i32 noundef %6150) #10
  %6152 = call ptr @__errno_location() #11
  %6153 = load i32, ptr %6152, align 4, !tbaa !5
  %6154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6141, ptr noundef @.str.5, i32 noundef %6142, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 229, ptr noundef %6145, ptr noundef %6148, ptr noundef %6151, i32 noundef %6153) #10
  br label %6155

6155:                                             ; preds = %6138, %6121
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6156

6156:                                             ; preds = %6155
  br label %6157

6157:                                             ; preds = %6156
  call void @exit(i32 noundef 1) #12
  unreachable

6158:                                             ; No predecessors!
  br label %6159

6159:                                             ; preds = %6158
  br label %6160

6160:                                             ; preds = %6159, %6100
  br label %6161

6161:                                             ; preds = %6160
  br label %6162

6162:                                             ; preds = %6161
  %6163 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 3
  %6164 = load i32, ptr %6163, align 8, !tbaa !35
  %6165 = add i32 %6164, 1
  %6166 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %116, i32 0, i32 1
  store i32 %6165, ptr %6166, align 8, !tbaa !33
  br label %6167

6167:                                             ; preds = %6162
  br label %6168

6168:                                             ; preds = %6167
  br label %6169

6169:                                             ; preds = %6168
  %6170 = load i32, ptr @test_count, align 4, !tbaa !5
  %6171 = add nsw i32 %6170, 1
  store i32 %6171, ptr @test_count, align 4, !tbaa !5
  %6172 = call i32 @s2n_stuffer_write_reservation(ptr noundef %116, i32 noundef 0)
  %6173 = icmp eq i32 %6172, -1
  br i1 %6173, label %6227, label %6174

6174:                                             ; preds = %6169
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #10
  %6177 = call ptr @__errno_location() #11
  %6178 = load i32, ptr %6177, align 4, !tbaa !5
  store i32 %6178, ptr %132, align 4, !tbaa !5
  %6179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6180 = call i32 @s2n_print_stacktrace(ptr noundef %6179)
  %6181 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6182 = trunc i8 %6181 to i1
  br i1 %6182, label %6183, label %6205

6183:                                             ; preds = %6176
  %6184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6185 = call i32 @fileno(ptr noundef %6184) #10
  %6186 = call i32 @isatty(i32 noundef %6185) #10
  %6187 = icmp ne i32 %6186, 0
  br i1 %6187, label %6188, label %6205

6188:                                             ; preds = %6183
  %6189 = load i32, ptr %132, align 4, !tbaa !5
  %6190 = call ptr @__errno_location() #11
  store i32 %6189, ptr %6190, align 4, !tbaa !5
  %6191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6192 = load i32, ptr @test_count, align 4, !tbaa !5
  %6193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call ptr @s2n_strerror(i32 noundef %6194, ptr noundef @.str.4)
  %6196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6197 = load i32, ptr %6196, align 4, !tbaa !5
  %6198 = call ptr @s2n_strerror_debug(i32 noundef %6197, ptr noundef @.str.4)
  %6199 = call ptr @__errno_location() #11
  %6200 = load i32, ptr %6199, align 4, !tbaa !5
  %6201 = call ptr @strerror(i32 noundef %6200) #10
  %6202 = call ptr @__errno_location() #11
  %6203 = load i32, ptr %6202, align 4, !tbaa !5
  %6204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6191, ptr noundef @.str.2, i32 noundef %6192, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6195, ptr noundef %6198, ptr noundef %6201, i32 noundef %6203) #10
  br label %6222

6205:                                             ; preds = %6183, %6176
  %6206 = load i32, ptr %132, align 4, !tbaa !5
  %6207 = call ptr @__errno_location() #11
  store i32 %6206, ptr %6207, align 4, !tbaa !5
  %6208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6209 = load i32, ptr @test_count, align 4, !tbaa !5
  %6210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call ptr @s2n_strerror(i32 noundef %6211, ptr noundef @.str.4)
  %6213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6214 = load i32, ptr %6213, align 4, !tbaa !5
  %6215 = call ptr @s2n_strerror_debug(i32 noundef %6214, ptr noundef @.str.4)
  %6216 = call ptr @__errno_location() #11
  %6217 = load i32, ptr %6216, align 4, !tbaa !5
  %6218 = call ptr @strerror(i32 noundef %6217) #10
  %6219 = call ptr @__errno_location() #11
  %6220 = load i32, ptr %6219, align 4, !tbaa !5
  %6221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6208, ptr noundef @.str.5, i32 noundef %6209, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6212, ptr noundef %6215, ptr noundef %6218, i32 noundef %6220) #10
  br label %6222

6222:                                             ; preds = %6205, %6188
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #10
  br label %6223

6223:                                             ; preds = %6222
  br label %6224

6224:                                             ; preds = %6223
  call void @exit(i32 noundef 1) #12
  unreachable

6225:                                             ; No predecessors!
  br label %6226

6226:                                             ; preds = %6225
  br label %6227

6227:                                             ; preds = %6226, %6169
  br label %6228

6228:                                             ; preds = %6227
  br label %6229

6229:                                             ; preds = %6228
  br label %6230

6230:                                             ; preds = %6229
  %6231 = load i32, ptr @test_count, align 4, !tbaa !5
  %6232 = add nsw i32 %6231, 1
  store i32 %6232, ptr @test_count, align 4, !tbaa !5
  %6233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = icmp eq i32 %6234, 402653194
  br i1 %6235, label %6289, label %6236

6236:                                             ; preds = %6230
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

6238:                                             ; preds = %6237
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #10
  %6239 = call ptr @__errno_location() #11
  %6240 = load i32, ptr %6239, align 4, !tbaa !5
  store i32 %6240, ptr %133, align 4, !tbaa !5
  %6241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6242 = call i32 @s2n_print_stacktrace(ptr noundef %6241)
  %6243 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6244 = trunc i8 %6243 to i1
  br i1 %6244, label %6245, label %6267

6245:                                             ; preds = %6238
  %6246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6247 = call i32 @fileno(ptr noundef %6246) #10
  %6248 = call i32 @isatty(i32 noundef %6247) #10
  %6249 = icmp ne i32 %6248, 0
  br i1 %6249, label %6250, label %6267

6250:                                             ; preds = %6245
  %6251 = load i32, ptr %133, align 4, !tbaa !5
  %6252 = call ptr @__errno_location() #11
  store i32 %6251, ptr %6252, align 4, !tbaa !5
  %6253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6254 = load i32, ptr @test_count, align 4, !tbaa !5
  %6255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6256 = load i32, ptr %6255, align 4, !tbaa !5
  %6257 = call ptr @s2n_strerror(i32 noundef %6256, ptr noundef @.str.4)
  %6258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6259 = load i32, ptr %6258, align 4, !tbaa !5
  %6260 = call ptr @s2n_strerror_debug(i32 noundef %6259, ptr noundef @.str.4)
  %6261 = call ptr @__errno_location() #11
  %6262 = load i32, ptr %6261, align 4, !tbaa !5
  %6263 = call ptr @strerror(i32 noundef %6262) #10
  %6264 = call ptr @__errno_location() #11
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  %6266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6253, ptr noundef @.str.2, i32 noundef %6254, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6257, ptr noundef %6260, ptr noundef %6263, i32 noundef %6265) #10
  br label %6284

6267:                                             ; preds = %6245, %6238
  %6268 = load i32, ptr %133, align 4, !tbaa !5
  %6269 = call ptr @__errno_location() #11
  store i32 %6268, ptr %6269, align 4, !tbaa !5
  %6270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6271 = load i32, ptr @test_count, align 4, !tbaa !5
  %6272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call ptr @s2n_strerror(i32 noundef %6273, ptr noundef @.str.4)
  %6275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call ptr @s2n_strerror_debug(i32 noundef %6276, ptr noundef @.str.4)
  %6278 = call ptr @__errno_location() #11
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @strerror(i32 noundef %6279) #10
  %6281 = call ptr @__errno_location() #11
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6270, ptr noundef @.str.5, i32 noundef %6271, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6274, ptr noundef %6277, ptr noundef %6280, i32 noundef %6282) #10
  br label %6284

6284:                                             ; preds = %6267, %6250
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #10
  br label %6285

6285:                                             ; preds = %6284
  br label %6286

6286:                                             ; preds = %6285
  call void @exit(i32 noundef 1) #12
  unreachable

6287:                                             ; No predecessors!
  br label %6288

6288:                                             ; preds = %6287
  br label %6289

6289:                                             ; preds = %6288, %6230
  br label %6290

6290:                                             ; preds = %6289
  br label %6291

6291:                                             ; preds = %6290
  br label %6292

6292:                                             ; preds = %6291
  %6293 = load i32, ptr @test_count, align 4, !tbaa !5
  %6294 = add nsw i32 %6293, 1
  store i32 %6294, ptr @test_count, align 4, !tbaa !5
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror_debug(i32 noundef %6296, ptr noundef @.str.4)
  %6298 = icmp eq ptr %6297, null
  br i1 %6298, label %6299, label %6352

6299:                                             ; preds = %6292
  br label %6300

6300:                                             ; preds = %6299
  br label %6301

6301:                                             ; preds = %6300
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #10
  %6302 = call ptr @__errno_location() #11
  %6303 = load i32, ptr %6302, align 4, !tbaa !5
  store i32 %6303, ptr %134, align 4, !tbaa !5
  %6304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6305 = call i32 @s2n_print_stacktrace(ptr noundef %6304)
  %6306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6307 = trunc i8 %6306 to i1
  br i1 %6307, label %6308, label %6330

6308:                                             ; preds = %6301
  %6309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6310 = call i32 @fileno(ptr noundef %6309) #10
  %6311 = call i32 @isatty(i32 noundef %6310) #10
  %6312 = icmp ne i32 %6311, 0
  br i1 %6312, label %6313, label %6330

6313:                                             ; preds = %6308
  %6314 = load i32, ptr %134, align 4, !tbaa !5
  %6315 = call ptr @__errno_location() #11
  store i32 %6314, ptr %6315, align 4, !tbaa !5
  %6316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6317 = load i32, ptr @test_count, align 4, !tbaa !5
  %6318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call ptr @s2n_strerror(i32 noundef %6319, ptr noundef @.str.4)
  %6321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6322 = load i32, ptr %6321, align 4, !tbaa !5
  %6323 = call ptr @s2n_strerror_debug(i32 noundef %6322, ptr noundef @.str.4)
  %6324 = call ptr @__errno_location() #11
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call ptr @strerror(i32 noundef %6325) #10
  %6327 = call ptr @__errno_location() #11
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6316, ptr noundef @.str.2, i32 noundef %6317, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6320, ptr noundef %6323, ptr noundef %6326, i32 noundef %6328) #10
  br label %6347

6330:                                             ; preds = %6308, %6301
  %6331 = load i32, ptr %134, align 4, !tbaa !5
  %6332 = call ptr @__errno_location() #11
  store i32 %6331, ptr %6332, align 4, !tbaa !5
  %6333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6334 = load i32, ptr @test_count, align 4, !tbaa !5
  %6335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6336 = load i32, ptr %6335, align 4, !tbaa !5
  %6337 = call ptr @s2n_strerror(i32 noundef %6336, ptr noundef @.str.4)
  %6338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6339 = load i32, ptr %6338, align 4, !tbaa !5
  %6340 = call ptr @s2n_strerror_debug(i32 noundef %6339, ptr noundef @.str.4)
  %6341 = call ptr @__errno_location() #11
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @strerror(i32 noundef %6342) #10
  %6344 = call ptr @__errno_location() #11
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6333, ptr noundef @.str.5, i32 noundef %6334, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 234, ptr noundef %6337, ptr noundef %6340, ptr noundef %6343, i32 noundef %6345) #10
  br label %6347

6347:                                             ; preds = %6330, %6313
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6348

6348:                                             ; preds = %6347
  br label %6349

6349:                                             ; preds = %6348
  call void @exit(i32 noundef 1) #12
  unreachable

6350:                                             ; No predecessors!
  br label %6351

6351:                                             ; preds = %6350
  br label %6352

6352:                                             ; preds = %6351, %6292
  br label %6353

6353:                                             ; preds = %6352
  br label %6354

6354:                                             ; preds = %6353
  br label %6355

6355:                                             ; preds = %6354
  br label %6356

6356:                                             ; preds = %6355
  br label %6357

6357:                                             ; preds = %6356
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6358, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6359 = call ptr @__errno_location() #11
  store i32 0, ptr %6359, align 4, !tbaa !5
  br label %6360

6360:                                             ; preds = %6357
  br label %6361

6361:                                             ; preds = %6360
  br label %6362

6362:                                             ; preds = %6361
  br label %6363

6363:                                             ; preds = %6362
  br label %6364

6364:                                             ; preds = %6363
  %6365 = load i32, ptr @test_count, align 4, !tbaa !5
  %6366 = add nsw i32 %6365, 1
  store i32 %6366, ptr @test_count, align 4, !tbaa !5
  %6367 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %6368 = load i32, ptr %6367, align 4, !tbaa !15
  %6369 = load i32, ptr %119, align 4, !tbaa !5
  %6370 = icmp eq i32 %6368, %6369
  br i1 %6370, label %6424, label %6371

6371:                                             ; preds = %6364
  br label %6372

6372:                                             ; preds = %6371
  br label %6373

6373:                                             ; preds = %6372
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #10
  %6374 = call ptr @__errno_location() #11
  %6375 = load i32, ptr %6374, align 4, !tbaa !5
  store i32 %6375, ptr %135, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = call i32 @s2n_print_stacktrace(ptr noundef %6376)
  %6378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6379 = trunc i8 %6378 to i1
  br i1 %6379, label %6380, label %6402

6380:                                             ; preds = %6373
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = call i32 @fileno(ptr noundef %6381) #10
  %6383 = call i32 @isatty(i32 noundef %6382) #10
  %6384 = icmp ne i32 %6383, 0
  br i1 %6384, label %6385, label %6402

6385:                                             ; preds = %6380
  %6386 = load i32, ptr %135, align 4, !tbaa !5
  %6387 = call ptr @__errno_location() #11
  store i32 %6386, ptr %6387, align 4, !tbaa !5
  %6388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6389 = load i32, ptr @test_count, align 4, !tbaa !5
  %6390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6391 = load i32, ptr %6390, align 4, !tbaa !5
  %6392 = call ptr @s2n_strerror(i32 noundef %6391, ptr noundef @.str.4)
  %6393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6394 = load i32, ptr %6393, align 4, !tbaa !5
  %6395 = call ptr @s2n_strerror_debug(i32 noundef %6394, ptr noundef @.str.4)
  %6396 = call ptr @__errno_location() #11
  %6397 = load i32, ptr %6396, align 4, !tbaa !5
  %6398 = call ptr @strerror(i32 noundef %6397) #10
  %6399 = call ptr @__errno_location() #11
  %6400 = load i32, ptr %6399, align 4, !tbaa !5
  %6401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6388, ptr noundef @.str.2, i32 noundef %6389, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6392, ptr noundef %6395, ptr noundef %6398, i32 noundef %6400) #10
  br label %6419

6402:                                             ; preds = %6380, %6373
  %6403 = load i32, ptr %135, align 4, !tbaa !5
  %6404 = call ptr @__errno_location() #11
  store i32 %6403, ptr %6404, align 4, !tbaa !5
  %6405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6406 = load i32, ptr @test_count, align 4, !tbaa !5
  %6407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6408 = load i32, ptr %6407, align 4, !tbaa !5
  %6409 = call ptr @s2n_strerror(i32 noundef %6408, ptr noundef @.str.4)
  %6410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6411 = load i32, ptr %6410, align 4, !tbaa !5
  %6412 = call ptr @s2n_strerror_debug(i32 noundef %6411, ptr noundef @.str.4)
  %6413 = call ptr @__errno_location() #11
  %6414 = load i32, ptr %6413, align 4, !tbaa !5
  %6415 = call ptr @strerror(i32 noundef %6414) #10
  %6416 = call ptr @__errno_location() #11
  %6417 = load i32, ptr %6416, align 4, !tbaa !5
  %6418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6405, ptr noundef @.str.5, i32 noundef %6406, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 235, ptr noundef %6409, ptr noundef %6412, ptr noundef %6415, i32 noundef %6417) #10
  br label %6419

6419:                                             ; preds = %6402, %6385
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #10
  br label %6420

6420:                                             ; preds = %6419
  br label %6421

6421:                                             ; preds = %6420
  call void @exit(i32 noundef 1) #12
  unreachable

6422:                                             ; No predecessors!
  br label %6423

6423:                                             ; preds = %6422
  br label %6424

6424:                                             ; preds = %6423, %6364
  br label %6425

6425:                                             ; preds = %6424
  br label %6426

6426:                                             ; preds = %6425
  call void @llvm.lifetime.start.p0(i64 2, ptr %136) #10
  store i16 5, ptr %136, align 2, !tbaa !22
  br label %6427

6427:                                             ; preds = %6426
  %6428 = load i32, ptr @test_count, align 4, !tbaa !5
  %6429 = add nsw i32 %6428, 1
  store i32 %6429, ptr @test_count, align 4, !tbaa !5
  %6430 = load i16, ptr %136, align 2, !tbaa !22
  %6431 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %6430)
  %6432 = icmp eq i32 %6431, -1
  br i1 %6432, label %6433, label %6486

6433:                                             ; preds = %6427
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

6435:                                             ; preds = %6434
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6436 = call ptr @__errno_location() #11
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  store i32 %6437, ptr %137, align 4, !tbaa !5
  %6438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6439 = call i32 @s2n_print_stacktrace(ptr noundef %6438)
  %6440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6441 = trunc i8 %6440 to i1
  br i1 %6441, label %6442, label %6464

6442:                                             ; preds = %6435
  %6443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6444 = call i32 @fileno(ptr noundef %6443) #10
  %6445 = call i32 @isatty(i32 noundef %6444) #10
  %6446 = icmp ne i32 %6445, 0
  br i1 %6446, label %6447, label %6464

6447:                                             ; preds = %6442
  %6448 = load i32, ptr %137, align 4, !tbaa !5
  %6449 = call ptr @__errno_location() #11
  store i32 %6448, ptr %6449, align 4, !tbaa !5
  %6450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6451 = load i32, ptr @test_count, align 4, !tbaa !5
  %6452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6453 = load i32, ptr %6452, align 4, !tbaa !5
  %6454 = call ptr @s2n_strerror(i32 noundef %6453, ptr noundef @.str.4)
  %6455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6456 = load i32, ptr %6455, align 4, !tbaa !5
  %6457 = call ptr @s2n_strerror_debug(i32 noundef %6456, ptr noundef @.str.4)
  %6458 = call ptr @__errno_location() #11
  %6459 = load i32, ptr %6458, align 4, !tbaa !5
  %6460 = call ptr @strerror(i32 noundef %6459) #10
  %6461 = call ptr @__errno_location() #11
  %6462 = load i32, ptr %6461, align 4, !tbaa !5
  %6463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6450, ptr noundef @.str.2, i32 noundef %6451, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6454, ptr noundef %6457, ptr noundef %6460, i32 noundef %6462) #10
  br label %6481

6464:                                             ; preds = %6442, %6435
  %6465 = load i32, ptr %137, align 4, !tbaa !5
  %6466 = call ptr @__errno_location() #11
  store i32 %6465, ptr %6466, align 4, !tbaa !5
  %6467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6468 = load i32, ptr @test_count, align 4, !tbaa !5
  %6469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6470 = load i32, ptr %6469, align 4, !tbaa !5
  %6471 = call ptr @s2n_strerror(i32 noundef %6470, ptr noundef @.str.4)
  %6472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6473 = load i32, ptr %6472, align 4, !tbaa !5
  %6474 = call ptr @s2n_strerror_debug(i32 noundef %6473, ptr noundef @.str.4)
  %6475 = call ptr @__errno_location() #11
  %6476 = load i32, ptr %6475, align 4, !tbaa !5
  %6477 = call ptr @strerror(i32 noundef %6476) #10
  %6478 = call ptr @__errno_location() #11
  %6479 = load i32, ptr %6478, align 4, !tbaa !5
  %6480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6467, ptr noundef @.str.5, i32 noundef %6468, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 241, ptr noundef %6471, ptr noundef %6474, ptr noundef %6477, i32 noundef %6479) #10
  br label %6481

6481:                                             ; preds = %6464, %6447
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %6482

6482:                                             ; preds = %6481
  br label %6483

6483:                                             ; preds = %6482
  call void @exit(i32 noundef 1) #12
  unreachable

6484:                                             ; No predecessors!
  br label %6485

6485:                                             ; preds = %6484
  br label %6486

6486:                                             ; preds = %6485, %6427
  br label %6487

6487:                                             ; preds = %6486
  br label %6488

6488:                                             ; preds = %6487
  br label %6489

6489:                                             ; preds = %6488
  %6490 = load i32, ptr @test_count, align 4, !tbaa !5
  %6491 = add nsw i32 %6490, 1
  store i32 %6491, ptr @test_count, align 4, !tbaa !5
  %6492 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef %116)
  %6493 = icmp eq i32 %6492, -1
  br i1 %6493, label %6494, label %6547

6494:                                             ; preds = %6489
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %6497 = call ptr @__errno_location() #11
  %6498 = load i32, ptr %6497, align 4, !tbaa !5
  store i32 %6498, ptr %138, align 4, !tbaa !5
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = call i32 @s2n_print_stacktrace(ptr noundef %6499)
  %6501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6502 = trunc i8 %6501 to i1
  br i1 %6502, label %6503, label %6525

6503:                                             ; preds = %6496
  %6504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6505 = call i32 @fileno(ptr noundef %6504) #10
  %6506 = call i32 @isatty(i32 noundef %6505) #10
  %6507 = icmp ne i32 %6506, 0
  br i1 %6507, label %6508, label %6525

6508:                                             ; preds = %6503
  %6509 = load i32, ptr %138, align 4, !tbaa !5
  %6510 = call ptr @__errno_location() #11
  store i32 %6509, ptr %6510, align 4, !tbaa !5
  %6511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6512 = load i32, ptr @test_count, align 4, !tbaa !5
  %6513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6514 = load i32, ptr %6513, align 4, !tbaa !5
  %6515 = call ptr @s2n_strerror(i32 noundef %6514, ptr noundef @.str.4)
  %6516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6517 = load i32, ptr %6516, align 4, !tbaa !5
  %6518 = call ptr @s2n_strerror_debug(i32 noundef %6517, ptr noundef @.str.4)
  %6519 = call ptr @__errno_location() #11
  %6520 = load i32, ptr %6519, align 4, !tbaa !5
  %6521 = call ptr @strerror(i32 noundef %6520) #10
  %6522 = call ptr @__errno_location() #11
  %6523 = load i32, ptr %6522, align 4, !tbaa !5
  %6524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6511, ptr noundef @.str.2, i32 noundef %6512, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 244, ptr noundef %6515, ptr noundef %6518, ptr noundef %6521, i32 noundef %6523) #10
  br label %6542

6525:                                             ; preds = %6503, %6496
  %6526 = load i32, ptr %138, align 4, !tbaa !5
  %6527 = call ptr @__errno_location() #11
  store i32 %6526, ptr %6527, align 4, !tbaa !5
  %6528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6529 = load i32, ptr @test_count, align 4, !tbaa !5
  %6530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror(i32 noundef %6531, ptr noundef @.str.4)
  %6533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6534 = load i32, ptr %6533, align 4, !tbaa !5
  %6535 = call ptr @s2n_strerror_debug(i32 noundef %6534, ptr noundef @.str.4)
  %6536 = call ptr @__errno_location() #11
  %6537 = load i32, ptr %6536, align 4, !tbaa !5
  %6538 = call ptr @strerror(i32 noundef %6537) #10
  %6539 = call ptr @__errno_location() #11
  %6540 = load i32, ptr %6539, align 4, !tbaa !5
  %6541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6528, ptr noundef @.str.5, i32 noundef %6529, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 244, ptr noundef %6532, ptr noundef %6535, ptr noundef %6538, i32 noundef %6540) #10
  br label %6542

6542:                                             ; preds = %6525, %6508
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %6543

6543:                                             ; preds = %6542
  br label %6544

6544:                                             ; preds = %6543
  call void @exit(i32 noundef 1) #12
  unreachable

6545:                                             ; No predecessors!
  br label %6546

6546:                                             ; preds = %6545
  br label %6547

6547:                                             ; preds = %6546, %6489
  br label %6548

6548:                                             ; preds = %6547
  br label %6549

6549:                                             ; preds = %6548
  br label %6550

6550:                                             ; preds = %6549
  %6551 = load i32, ptr @test_count, align 4, !tbaa !5
  %6552 = add nsw i32 %6551, 1
  store i32 %6552, ptr @test_count, align 4, !tbaa !5
  %6553 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef %117)
  %6554 = icmp eq i32 %6553, -1
  br i1 %6554, label %6555, label %6608

6555:                                             ; preds = %6550
  br label %6556

6556:                                             ; preds = %6555
  br label %6557

6557:                                             ; preds = %6556
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %6558 = call ptr @__errno_location() #11
  %6559 = load i32, ptr %6558, align 4, !tbaa !5
  store i32 %6559, ptr %139, align 4, !tbaa !5
  %6560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6561 = call i32 @s2n_print_stacktrace(ptr noundef %6560)
  %6562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6563 = trunc i8 %6562 to i1
  br i1 %6563, label %6564, label %6586

6564:                                             ; preds = %6557
  %6565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6566 = call i32 @fileno(ptr noundef %6565) #10
  %6567 = call i32 @isatty(i32 noundef %6566) #10
  %6568 = icmp ne i32 %6567, 0
  br i1 %6568, label %6569, label %6586

6569:                                             ; preds = %6564
  %6570 = load i32, ptr %139, align 4, !tbaa !5
  %6571 = call ptr @__errno_location() #11
  store i32 %6570, ptr %6571, align 4, !tbaa !5
  %6572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6573 = load i32, ptr @test_count, align 4, !tbaa !5
  %6574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  %6576 = call ptr @s2n_strerror(i32 noundef %6575, ptr noundef @.str.4)
  %6577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6578 = load i32, ptr %6577, align 4, !tbaa !5
  %6579 = call ptr @s2n_strerror_debug(i32 noundef %6578, ptr noundef @.str.4)
  %6580 = call ptr @__errno_location() #11
  %6581 = load i32, ptr %6580, align 4, !tbaa !5
  %6582 = call ptr @strerror(i32 noundef %6581) #10
  %6583 = call ptr @__errno_location() #11
  %6584 = load i32, ptr %6583, align 4, !tbaa !5
  %6585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6572, ptr noundef @.str.2, i32 noundef %6573, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 245, ptr noundef %6576, ptr noundef %6579, ptr noundef %6582, i32 noundef %6584) #10
  br label %6603

6586:                                             ; preds = %6564, %6557
  %6587 = load i32, ptr %139, align 4, !tbaa !5
  %6588 = call ptr @__errno_location() #11
  store i32 %6587, ptr %6588, align 4, !tbaa !5
  %6589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6590 = load i32, ptr @test_count, align 4, !tbaa !5
  %6591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6592 = load i32, ptr %6591, align 4, !tbaa !5
  %6593 = call ptr @s2n_strerror(i32 noundef %6592, ptr noundef @.str.4)
  %6594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @s2n_strerror_debug(i32 noundef %6595, ptr noundef @.str.4)
  %6597 = call ptr @__errno_location() #11
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call ptr @strerror(i32 noundef %6598) #10
  %6600 = call ptr @__errno_location() #11
  %6601 = load i32, ptr %6600, align 4, !tbaa !5
  %6602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6589, ptr noundef @.str.5, i32 noundef %6590, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 245, ptr noundef %6593, ptr noundef %6596, ptr noundef %6599, i32 noundef %6601) #10
  br label %6603

6603:                                             ; preds = %6586, %6569
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %6604

6604:                                             ; preds = %6603
  br label %6605

6605:                                             ; preds = %6604
  call void @exit(i32 noundef 1) #12
  unreachable

6606:                                             ; No predecessors!
  br label %6607

6607:                                             ; preds = %6606
  br label %6608

6608:                                             ; preds = %6607, %6550
  br label %6609

6609:                                             ; preds = %6608
  br label %6610

6610:                                             ; preds = %6609
  call void @llvm.lifetime.start.p0(i64 2, ptr %140) #10
  store i16 -1, ptr %140, align 2, !tbaa !22
  br label %6611

6611:                                             ; preds = %6610
  %6612 = load i32, ptr @test_count, align 4, !tbaa !5
  %6613 = add nsw i32 %6612, 1
  store i32 %6613, ptr @test_count, align 4, !tbaa !5
  %6614 = load i16, ptr %140, align 2, !tbaa !22
  %6615 = call i32 @s2n_stuffer_write_uint16(ptr noundef %10, i16 noundef zeroext %6614)
  %6616 = icmp eq i32 %6615, -1
  br i1 %6616, label %6617, label %6670

6617:                                             ; preds = %6611
  br label %6618

6618:                                             ; preds = %6617
  br label %6619

6619:                                             ; preds = %6618
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %6620 = call ptr @__errno_location() #11
  %6621 = load i32, ptr %6620, align 4, !tbaa !5
  store i32 %6621, ptr %141, align 4, !tbaa !5
  %6622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6623 = call i32 @s2n_print_stacktrace(ptr noundef %6622)
  %6624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6625 = trunc i8 %6624 to i1
  br i1 %6625, label %6626, label %6648

6626:                                             ; preds = %6619
  %6627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6628 = call i32 @fileno(ptr noundef %6627) #10
  %6629 = call i32 @isatty(i32 noundef %6628) #10
  %6630 = icmp ne i32 %6629, 0
  br i1 %6630, label %6631, label %6648

6631:                                             ; preds = %6626
  %6632 = load i32, ptr %141, align 4, !tbaa !5
  %6633 = call ptr @__errno_location() #11
  store i32 %6632, ptr %6633, align 4, !tbaa !5
  %6634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6635 = load i32, ptr @test_count, align 4, !tbaa !5
  %6636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6637 = load i32, ptr %6636, align 4, !tbaa !5
  %6638 = call ptr @s2n_strerror(i32 noundef %6637, ptr noundef @.str.4)
  %6639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6640 = load i32, ptr %6639, align 4, !tbaa !5
  %6641 = call ptr @s2n_strerror_debug(i32 noundef %6640, ptr noundef @.str.4)
  %6642 = call ptr @__errno_location() #11
  %6643 = load i32, ptr %6642, align 4, !tbaa !5
  %6644 = call ptr @strerror(i32 noundef %6643) #10
  %6645 = call ptr @__errno_location() #11
  %6646 = load i32, ptr %6645, align 4, !tbaa !5
  %6647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6634, ptr noundef @.str.2, i32 noundef %6635, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 249, ptr noundef %6638, ptr noundef %6641, ptr noundef %6644, i32 noundef %6646) #10
  br label %6665

6648:                                             ; preds = %6626, %6619
  %6649 = load i32, ptr %141, align 4, !tbaa !5
  %6650 = call ptr @__errno_location() #11
  store i32 %6649, ptr %6650, align 4, !tbaa !5
  %6651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6652 = load i32, ptr @test_count, align 4, !tbaa !5
  %6653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @s2n_strerror(i32 noundef %6654, ptr noundef @.str.4)
  %6656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call ptr @s2n_strerror_debug(i32 noundef %6657, ptr noundef @.str.4)
  %6659 = call ptr @__errno_location() #11
  %6660 = load i32, ptr %6659, align 4, !tbaa !5
  %6661 = call ptr @strerror(i32 noundef %6660) #10
  %6662 = call ptr @__errno_location() #11
  %6663 = load i32, ptr %6662, align 4, !tbaa !5
  %6664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6651, ptr noundef @.str.5, i32 noundef %6652, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 249, ptr noundef %6655, ptr noundef %6658, ptr noundef %6661, i32 noundef %6663) #10
  br label %6665

6665:                                             ; preds = %6648, %6631
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %6666

6666:                                             ; preds = %6665
  br label %6667

6667:                                             ; preds = %6666
  call void @exit(i32 noundef 1) #12
  unreachable

6668:                                             ; No predecessors!
  br label %6669

6669:                                             ; preds = %6668
  br label %6670

6670:                                             ; preds = %6669, %6611
  br label %6671

6671:                                             ; preds = %6670
  br label %6672

6672:                                             ; preds = %6671
  call void @llvm.lifetime.start.p0(i64 2, ptr %142) #10
  store i16 -21555, ptr %142, align 2, !tbaa !22
  %6673 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %6674 = load i32, ptr %6673, align 4, !tbaa !15
  store i32 %6674, ptr %119, align 4, !tbaa !5
  br label %6675

6675:                                             ; preds = %6672
  %6676 = load i32, ptr @test_count, align 4, !tbaa !5
  %6677 = add nsw i32 %6676, 1
  store i32 %6677, ptr @test_count, align 4, !tbaa !5
  %6678 = load i16, ptr %142, align 2, !tbaa !22
  %6679 = zext i16 %6678 to i32
  %6680 = call i32 @s2n_stuffer_write_reservation(ptr noundef %116, i32 noundef %6679)
  %6681 = icmp eq i32 %6680, -1
  br i1 %6681, label %6682, label %6735

6682:                                             ; preds = %6675
  br label %6683

6683:                                             ; preds = %6682
  br label %6684

6684:                                             ; preds = %6683
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %6685 = call ptr @__errno_location() #11
  %6686 = load i32, ptr %6685, align 4, !tbaa !5
  store i32 %6686, ptr %143, align 4, !tbaa !5
  %6687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6688 = call i32 @s2n_print_stacktrace(ptr noundef %6687)
  %6689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6690 = trunc i8 %6689 to i1
  br i1 %6690, label %6691, label %6713

6691:                                             ; preds = %6684
  %6692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6693 = call i32 @fileno(ptr noundef %6692) #10
  %6694 = call i32 @isatty(i32 noundef %6693) #10
  %6695 = icmp ne i32 %6694, 0
  br i1 %6695, label %6696, label %6713

6696:                                             ; preds = %6691
  %6697 = load i32, ptr %143, align 4, !tbaa !5
  %6698 = call ptr @__errno_location() #11
  store i32 %6697, ptr %6698, align 4, !tbaa !5
  %6699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6700 = load i32, ptr @test_count, align 4, !tbaa !5
  %6701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6702 = load i32, ptr %6701, align 4, !tbaa !5
  %6703 = call ptr @s2n_strerror(i32 noundef %6702, ptr noundef @.str.4)
  %6704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6705 = load i32, ptr %6704, align 4, !tbaa !5
  %6706 = call ptr @s2n_strerror_debug(i32 noundef %6705, ptr noundef @.str.4)
  %6707 = call ptr @__errno_location() #11
  %6708 = load i32, ptr %6707, align 4, !tbaa !5
  %6709 = call ptr @strerror(i32 noundef %6708) #10
  %6710 = call ptr @__errno_location() #11
  %6711 = load i32, ptr %6710, align 4, !tbaa !5
  %6712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6699, ptr noundef @.str.2, i32 noundef %6700, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6703, ptr noundef %6706, ptr noundef %6709, i32 noundef %6711) #10
  br label %6730

6713:                                             ; preds = %6691, %6684
  %6714 = load i32, ptr %143, align 4, !tbaa !5
  %6715 = call ptr @__errno_location() #11
  store i32 %6714, ptr %6715, align 4, !tbaa !5
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = load i32, ptr @test_count, align 4, !tbaa !5
  %6718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @s2n_strerror(i32 noundef %6719, ptr noundef @.str.4)
  %6721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call ptr @s2n_strerror_debug(i32 noundef %6722, ptr noundef @.str.4)
  %6724 = call ptr @__errno_location() #11
  %6725 = load i32, ptr %6724, align 4, !tbaa !5
  %6726 = call ptr @strerror(i32 noundef %6725) #10
  %6727 = call ptr @__errno_location() #11
  %6728 = load i32, ptr %6727, align 4, !tbaa !5
  %6729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6716, ptr noundef @.str.5, i32 noundef %6717, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6720, ptr noundef %6723, ptr noundef %6726, i32 noundef %6728) #10
  br label %6730

6730:                                             ; preds = %6713, %6696
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %6731

6731:                                             ; preds = %6730
  br label %6732

6732:                                             ; preds = %6731
  call void @exit(i32 noundef 1) #12
  unreachable

6733:                                             ; No predecessors!
  br label %6734

6734:                                             ; preds = %6733
  br label %6735

6735:                                             ; preds = %6734, %6675
  br label %6736

6736:                                             ; preds = %6735
  br label %6737

6737:                                             ; preds = %6736
  br label %6738

6738:                                             ; preds = %6737
  %6739 = load i32, ptr @test_count, align 4, !tbaa !5
  %6740 = add nsw i32 %6739, 1
  store i32 %6740, ptr @test_count, align 4, !tbaa !5
  %6741 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %6742 = load i32, ptr %6741, align 4, !tbaa !15
  %6743 = load i32, ptr %119, align 4, !tbaa !5
  %6744 = icmp eq i32 %6742, %6743
  br i1 %6744, label %6798, label %6745

6745:                                             ; preds = %6738
  br label %6746

6746:                                             ; preds = %6745
  br label %6747

6747:                                             ; preds = %6746
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %6748 = call ptr @__errno_location() #11
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  store i32 %6749, ptr %144, align 4, !tbaa !5
  %6750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6751 = call i32 @s2n_print_stacktrace(ptr noundef %6750)
  %6752 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6753 = trunc i8 %6752 to i1
  br i1 %6753, label %6754, label %6776

6754:                                             ; preds = %6747
  %6755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6756 = call i32 @fileno(ptr noundef %6755) #10
  %6757 = call i32 @isatty(i32 noundef %6756) #10
  %6758 = icmp ne i32 %6757, 0
  br i1 %6758, label %6759, label %6776

6759:                                             ; preds = %6754
  %6760 = load i32, ptr %144, align 4, !tbaa !5
  %6761 = call ptr @__errno_location() #11
  store i32 %6760, ptr %6761, align 4, !tbaa !5
  %6762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6763 = load i32, ptr @test_count, align 4, !tbaa !5
  %6764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6765 = load i32, ptr %6764, align 4, !tbaa !5
  %6766 = call ptr @s2n_strerror(i32 noundef %6765, ptr noundef @.str.4)
  %6767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6768 = load i32, ptr %6767, align 4, !tbaa !5
  %6769 = call ptr @s2n_strerror_debug(i32 noundef %6768, ptr noundef @.str.4)
  %6770 = call ptr @__errno_location() #11
  %6771 = load i32, ptr %6770, align 4, !tbaa !5
  %6772 = call ptr @strerror(i32 noundef %6771) #10
  %6773 = call ptr @__errno_location() #11
  %6774 = load i32, ptr %6773, align 4, !tbaa !5
  %6775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6762, ptr noundef @.str.2, i32 noundef %6763, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6766, ptr noundef %6769, ptr noundef %6772, i32 noundef %6774) #10
  br label %6793

6776:                                             ; preds = %6754, %6747
  %6777 = load i32, ptr %144, align 4, !tbaa !5
  %6778 = call ptr @__errno_location() #11
  store i32 %6777, ptr %6778, align 4, !tbaa !5
  %6779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6780 = load i32, ptr @test_count, align 4, !tbaa !5
  %6781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6782 = load i32, ptr %6781, align 4, !tbaa !5
  %6783 = call ptr @s2n_strerror(i32 noundef %6782, ptr noundef @.str.4)
  %6784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6785 = load i32, ptr %6784, align 4, !tbaa !5
  %6786 = call ptr @s2n_strerror_debug(i32 noundef %6785, ptr noundef @.str.4)
  %6787 = call ptr @__errno_location() #11
  %6788 = load i32, ptr %6787, align 4, !tbaa !5
  %6789 = call ptr @strerror(i32 noundef %6788) #10
  %6790 = call ptr @__errno_location() #11
  %6791 = load i32, ptr %6790, align 4, !tbaa !5
  %6792 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6779, ptr noundef @.str.5, i32 noundef %6780, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6783, ptr noundef %6786, ptr noundef %6789, i32 noundef %6791) #10
  br label %6793

6793:                                             ; preds = %6776, %6759
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %6794

6794:                                             ; preds = %6793
  br label %6795

6795:                                             ; preds = %6794
  call void @exit(i32 noundef 1) #12
  unreachable

6796:                                             ; No predecessors!
  br label %6797

6797:                                             ; preds = %6796
  br label %6798

6798:                                             ; preds = %6797, %6738
  br label %6799

6799:                                             ; preds = %6798
  br label %6800

6800:                                             ; preds = %6799
  br label %6801

6801:                                             ; preds = %6800
  %6802 = load i32, ptr @test_count, align 4, !tbaa !5
  %6803 = add nsw i32 %6802, 1
  store i32 %6803, ptr @test_count, align 4, !tbaa !5
  %6804 = load i16, ptr %142, align 2, !tbaa !22
  %6805 = zext i16 %6804 to i32
  %6806 = call i32 @s2n_stuffer_write_reservation(ptr noundef %117, i32 noundef %6805)
  %6807 = icmp eq i32 %6806, -1
  br i1 %6807, label %6808, label %6861

6808:                                             ; preds = %6801
  br label %6809

6809:                                             ; preds = %6808
  br label %6810

6810:                                             ; preds = %6809
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %6811 = call ptr @__errno_location() #11
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  store i32 %6812, ptr %145, align 4, !tbaa !5
  %6813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6814 = call i32 @s2n_print_stacktrace(ptr noundef %6813)
  %6815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6816 = trunc i8 %6815 to i1
  br i1 %6816, label %6817, label %6839

6817:                                             ; preds = %6810
  %6818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6819 = call i32 @fileno(ptr noundef %6818) #10
  %6820 = call i32 @isatty(i32 noundef %6819) #10
  %6821 = icmp ne i32 %6820, 0
  br i1 %6821, label %6822, label %6839

6822:                                             ; preds = %6817
  %6823 = load i32, ptr %145, align 4, !tbaa !5
  %6824 = call ptr @__errno_location() #11
  store i32 %6823, ptr %6824, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6828 = load i32, ptr %6827, align 4, !tbaa !5
  %6829 = call ptr @s2n_strerror(i32 noundef %6828, ptr noundef @.str.4)
  %6830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6831 = load i32, ptr %6830, align 4, !tbaa !5
  %6832 = call ptr @s2n_strerror_debug(i32 noundef %6831, ptr noundef @.str.4)
  %6833 = call ptr @__errno_location() #11
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  %6835 = call ptr @strerror(i32 noundef %6834) #10
  %6836 = call ptr @__errno_location() #11
  %6837 = load i32, ptr %6836, align 4, !tbaa !5
  %6838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6825, ptr noundef @.str.2, i32 noundef %6826, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6829, ptr noundef %6832, ptr noundef %6835, i32 noundef %6837) #10
  br label %6856

6839:                                             ; preds = %6817, %6810
  %6840 = load i32, ptr %145, align 4, !tbaa !5
  %6841 = call ptr @__errno_location() #11
  store i32 %6840, ptr %6841, align 4, !tbaa !5
  %6842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6843 = load i32, ptr @test_count, align 4, !tbaa !5
  %6844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call ptr @s2n_strerror(i32 noundef %6845, ptr noundef @.str.4)
  %6847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call ptr @s2n_strerror_debug(i32 noundef %6848, ptr noundef @.str.4)
  %6850 = call ptr @__errno_location() #11
  %6851 = load i32, ptr %6850, align 4, !tbaa !5
  %6852 = call ptr @strerror(i32 noundef %6851) #10
  %6853 = call ptr @__errno_location() #11
  %6854 = load i32, ptr %6853, align 4, !tbaa !5
  %6855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6842, ptr noundef @.str.5, i32 noundef %6843, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6846, ptr noundef %6849, ptr noundef %6852, i32 noundef %6854) #10
  br label %6856

6856:                                             ; preds = %6839, %6822
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %6857

6857:                                             ; preds = %6856
  br label %6858

6858:                                             ; preds = %6857
  call void @exit(i32 noundef 1) #12
  unreachable

6859:                                             ; No predecessors!
  br label %6860

6860:                                             ; preds = %6859
  br label %6861

6861:                                             ; preds = %6860, %6801
  br label %6862

6862:                                             ; preds = %6861
  br label %6863

6863:                                             ; preds = %6862
  br label %6864

6864:                                             ; preds = %6863
  %6865 = load i32, ptr @test_count, align 4, !tbaa !5
  %6866 = add nsw i32 %6865, 1
  store i32 %6866, ptr @test_count, align 4, !tbaa !5
  %6867 = getelementptr inbounds %struct.s2n_stuffer, ptr %10, i32 0, i32 2
  %6868 = load i32, ptr %6867, align 4, !tbaa !15
  %6869 = load i32, ptr %119, align 4, !tbaa !5
  %6870 = icmp eq i32 %6868, %6869
  br i1 %6870, label %6924, label %6871

6871:                                             ; preds = %6864
  br label %6872

6872:                                             ; preds = %6871
  br label %6873

6873:                                             ; preds = %6872
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %6874 = call ptr @__errno_location() #11
  %6875 = load i32, ptr %6874, align 4, !tbaa !5
  store i32 %6875, ptr %146, align 4, !tbaa !5
  %6876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6877 = call i32 @s2n_print_stacktrace(ptr noundef %6876)
  %6878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6879 = trunc i8 %6878 to i1
  br i1 %6879, label %6880, label %6902

6880:                                             ; preds = %6873
  %6881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6882 = call i32 @fileno(ptr noundef %6881) #10
  %6883 = call i32 @isatty(i32 noundef %6882) #10
  %6884 = icmp ne i32 %6883, 0
  br i1 %6884, label %6885, label %6902

6885:                                             ; preds = %6880
  %6886 = load i32, ptr %146, align 4, !tbaa !5
  %6887 = call ptr @__errno_location() #11
  store i32 %6886, ptr %6887, align 4, !tbaa !5
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = load i32, ptr @test_count, align 4, !tbaa !5
  %6890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6891 = load i32, ptr %6890, align 4, !tbaa !5
  %6892 = call ptr @s2n_strerror(i32 noundef %6891, ptr noundef @.str.4)
  %6893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6894 = load i32, ptr %6893, align 4, !tbaa !5
  %6895 = call ptr @s2n_strerror_debug(i32 noundef %6894, ptr noundef @.str.4)
  %6896 = call ptr @__errno_location() #11
  %6897 = load i32, ptr %6896, align 4, !tbaa !5
  %6898 = call ptr @strerror(i32 noundef %6897) #10
  %6899 = call ptr @__errno_location() #11
  %6900 = load i32, ptr %6899, align 4, !tbaa !5
  %6901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6888, ptr noundef @.str.2, i32 noundef %6889, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 257, ptr noundef %6892, ptr noundef %6895, ptr noundef %6898, i32 noundef %6900) #10
  br label %6919

6902:                                             ; preds = %6880, %6873
  %6903 = load i32, ptr %146, align 4, !tbaa !5
  %6904 = call ptr @__errno_location() #11
  store i32 %6903, ptr %6904, align 4, !tbaa !5
  %6905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6906 = load i32, ptr @test_count, align 4, !tbaa !5
  %6907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6908 = load i32, ptr %6907, align 4, !tbaa !5
  %6909 = call ptr @s2n_strerror(i32 noundef %6908, ptr noundef @.str.4)
  %6910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6911 = load i32, ptr %6910, align 4, !tbaa !5
  %6912 = call ptr @s2n_strerror_debug(i32 noundef %6911, ptr noundef @.str.4)
  %6913 = call ptr @__errno_location() #11
  %6914 = load i32, ptr %6913, align 4, !tbaa !5
  %6915 = call ptr @strerror(i32 noundef %6914) #10
  %6916 = call ptr @__errno_location() #11
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6905, ptr noundef @.str.5, i32 noundef %6906, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 257, ptr noundef %6909, ptr noundef %6912, ptr noundef %6915, i32 noundef %6917) #10
  br label %6919

6919:                                             ; preds = %6902, %6885
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %6920

6920:                                             ; preds = %6919
  br label %6921

6921:                                             ; preds = %6920
  call void @exit(i32 noundef 1) #12
  unreachable

6922:                                             ; No predecessors!
  br label %6923

6923:                                             ; preds = %6922
  br label %6924

6924:                                             ; preds = %6923, %6864
  br label %6925

6925:                                             ; preds = %6924
  br label %6926

6926:                                             ; preds = %6925
  br label %6927

6927:                                             ; preds = %6926
  %6928 = load i32, ptr @test_count, align 4, !tbaa !5
  %6929 = add nsw i32 %6928, 1
  store i32 %6929, ptr @test_count, align 4, !tbaa !5
  %6930 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %115)
  %6931 = icmp eq i32 %6930, -1
  br i1 %6931, label %6932, label %6985

6932:                                             ; preds = %6927
  br label %6933

6933:                                             ; preds = %6932
  br label %6934

6934:                                             ; preds = %6933
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %6935 = call ptr @__errno_location() #11
  %6936 = load i32, ptr %6935, align 4, !tbaa !5
  store i32 %6936, ptr %147, align 4, !tbaa !5
  %6937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6938 = call i32 @s2n_print_stacktrace(ptr noundef %6937)
  %6939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6940 = trunc i8 %6939 to i1
  br i1 %6940, label %6941, label %6963

6941:                                             ; preds = %6934
  %6942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6943 = call i32 @fileno(ptr noundef %6942) #10
  %6944 = call i32 @isatty(i32 noundef %6943) #10
  %6945 = icmp ne i32 %6944, 0
  br i1 %6945, label %6946, label %6963

6946:                                             ; preds = %6941
  %6947 = load i32, ptr %147, align 4, !tbaa !5
  %6948 = call ptr @__errno_location() #11
  store i32 %6947, ptr %6948, align 4, !tbaa !5
  %6949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6950 = load i32, ptr @test_count, align 4, !tbaa !5
  %6951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  %6953 = call ptr @s2n_strerror(i32 noundef %6952, ptr noundef @.str.4)
  %6954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6955 = load i32, ptr %6954, align 4, !tbaa !5
  %6956 = call ptr @s2n_strerror_debug(i32 noundef %6955, ptr noundef @.str.4)
  %6957 = call ptr @__errno_location() #11
  %6958 = load i32, ptr %6957, align 4, !tbaa !5
  %6959 = call ptr @strerror(i32 noundef %6958) #10
  %6960 = call ptr @__errno_location() #11
  %6961 = load i32, ptr %6960, align 4, !tbaa !5
  %6962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6949, ptr noundef @.str.2, i32 noundef %6950, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6953, ptr noundef %6956, ptr noundef %6959, i32 noundef %6961) #10
  br label %6980

6963:                                             ; preds = %6941, %6934
  %6964 = load i32, ptr %147, align 4, !tbaa !5
  %6965 = call ptr @__errno_location() #11
  store i32 %6964, ptr %6965, align 4, !tbaa !5
  %6966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6967 = load i32, ptr @test_count, align 4, !tbaa !5
  %6968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  %6970 = call ptr @s2n_strerror(i32 noundef %6969, ptr noundef @.str.4)
  %6971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6972 = load i32, ptr %6971, align 4, !tbaa !5
  %6973 = call ptr @s2n_strerror_debug(i32 noundef %6972, ptr noundef @.str.4)
  %6974 = call ptr @__errno_location() #11
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @strerror(i32 noundef %6975) #10
  %6977 = call ptr @__errno_location() #11
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6966, ptr noundef @.str.5, i32 noundef %6967, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6970, ptr noundef %6973, ptr noundef %6976, i32 noundef %6978) #10
  br label %6980

6980:                                             ; preds = %6963, %6946
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %6981

6981:                                             ; preds = %6980
  br label %6982

6982:                                             ; preds = %6981
  call void @exit(i32 noundef 1) #12
  unreachable

6983:                                             ; No predecessors!
  br label %6984

6984:                                             ; preds = %6983
  br label %6985

6985:                                             ; preds = %6984, %6927
  br label %6986

6986:                                             ; preds = %6985
  br label %6987

6987:                                             ; preds = %6986
  br label %6988

6988:                                             ; preds = %6987
  %6989 = load i32, ptr @test_count, align 4, !tbaa !5
  %6990 = add nsw i32 %6989, 1
  store i32 %6990, ptr @test_count, align 4, !tbaa !5
  %6991 = load i16, ptr %115, align 2, !tbaa !22
  %6992 = zext i16 %6991 to i32
  %6993 = load i16, ptr %136, align 2, !tbaa !22
  %6994 = zext i16 %6993 to i32
  %6995 = icmp eq i32 %6992, %6994
  br i1 %6995, label %7049, label %6996

6996:                                             ; preds = %6988
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

6998:                                             ; preds = %6997
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #10
  %6999 = call ptr @__errno_location() #11
  %7000 = load i32, ptr %6999, align 4, !tbaa !5
  store i32 %7000, ptr %148, align 4, !tbaa !5
  %7001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7002 = call i32 @s2n_print_stacktrace(ptr noundef %7001)
  %7003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7004 = trunc i8 %7003 to i1
  br i1 %7004, label %7005, label %7027

7005:                                             ; preds = %6998
  %7006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7007 = call i32 @fileno(ptr noundef %7006) #10
  %7008 = call i32 @isatty(i32 noundef %7007) #10
  %7009 = icmp ne i32 %7008, 0
  br i1 %7009, label %7010, label %7027

7010:                                             ; preds = %7005
  %7011 = load i32, ptr %148, align 4, !tbaa !5
  %7012 = call ptr @__errno_location() #11
  store i32 %7011, ptr %7012, align 4, !tbaa !5
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = load i32, ptr @test_count, align 4, !tbaa !5
  %7015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7016 = load i32, ptr %7015, align 4, !tbaa !5
  %7017 = call ptr @s2n_strerror(i32 noundef %7016, ptr noundef @.str.4)
  %7018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7019 = load i32, ptr %7018, align 4, !tbaa !5
  %7020 = call ptr @s2n_strerror_debug(i32 noundef %7019, ptr noundef @.str.4)
  %7021 = call ptr @__errno_location() #11
  %7022 = load i32, ptr %7021, align 4, !tbaa !5
  %7023 = call ptr @strerror(i32 noundef %7022) #10
  %7024 = call ptr @__errno_location() #11
  %7025 = load i32, ptr %7024, align 4, !tbaa !5
  %7026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7013, ptr noundef @.str.2, i32 noundef %7014, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 261, ptr noundef %7017, ptr noundef %7020, ptr noundef %7023, i32 noundef %7025) #10
  br label %7044

7027:                                             ; preds = %7005, %6998
  %7028 = load i32, ptr %148, align 4, !tbaa !5
  %7029 = call ptr @__errno_location() #11
  store i32 %7028, ptr %7029, align 4, !tbaa !5
  %7030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7031 = load i32, ptr @test_count, align 4, !tbaa !5
  %7032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror(i32 noundef %7033, ptr noundef @.str.4)
  %7035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7036 = load i32, ptr %7035, align 4, !tbaa !5
  %7037 = call ptr @s2n_strerror_debug(i32 noundef %7036, ptr noundef @.str.4)
  %7038 = call ptr @__errno_location() #11
  %7039 = load i32, ptr %7038, align 4, !tbaa !5
  %7040 = call ptr @strerror(i32 noundef %7039) #10
  %7041 = call ptr @__errno_location() #11
  %7042 = load i32, ptr %7041, align 4, !tbaa !5
  %7043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7030, ptr noundef @.str.5, i32 noundef %7031, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 261, ptr noundef %7034, ptr noundef %7037, ptr noundef %7040, i32 noundef %7042) #10
  br label %7044

7044:                                             ; preds = %7027, %7010
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #10
  br label %7045

7045:                                             ; preds = %7044
  br label %7046

7046:                                             ; preds = %7045
  call void @exit(i32 noundef 1) #12
  unreachable

7047:                                             ; No predecessors!
  br label %7048

7048:                                             ; preds = %7047
  br label %7049

7049:                                             ; preds = %7048, %6988
  br label %7050

7050:                                             ; preds = %7049
  br label %7051

7051:                                             ; preds = %7050
  br label %7052

7052:                                             ; preds = %7051
  %7053 = load i32, ptr @test_count, align 4, !tbaa !5
  %7054 = add nsw i32 %7053, 1
  store i32 %7054, ptr @test_count, align 4, !tbaa !5
  %7055 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %115)
  %7056 = icmp eq i32 %7055, -1
  br i1 %7056, label %7057, label %7110

7057:                                             ; preds = %7052
  br label %7058

7058:                                             ; preds = %7057
  br label %7059

7059:                                             ; preds = %7058
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #10
  %7060 = call ptr @__errno_location() #11
  %7061 = load i32, ptr %7060, align 4, !tbaa !5
  store i32 %7061, ptr %149, align 4, !tbaa !5
  %7062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7063 = call i32 @s2n_print_stacktrace(ptr noundef %7062)
  %7064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7065 = trunc i8 %7064 to i1
  br i1 %7065, label %7066, label %7088

7066:                                             ; preds = %7059
  %7067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7068 = call i32 @fileno(ptr noundef %7067) #10
  %7069 = call i32 @isatty(i32 noundef %7068) #10
  %7070 = icmp ne i32 %7069, 0
  br i1 %7070, label %7071, label %7088

7071:                                             ; preds = %7066
  %7072 = load i32, ptr %149, align 4, !tbaa !5
  %7073 = call ptr @__errno_location() #11
  store i32 %7072, ptr %7073, align 4, !tbaa !5
  %7074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7075 = load i32, ptr @test_count, align 4, !tbaa !5
  %7076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7077 = load i32, ptr %7076, align 4, !tbaa !5
  %7078 = call ptr @s2n_strerror(i32 noundef %7077, ptr noundef @.str.4)
  %7079 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7080 = load i32, ptr %7079, align 4, !tbaa !5
  %7081 = call ptr @s2n_strerror_debug(i32 noundef %7080, ptr noundef @.str.4)
  %7082 = call ptr @__errno_location() #11
  %7083 = load i32, ptr %7082, align 4, !tbaa !5
  %7084 = call ptr @strerror(i32 noundef %7083) #10
  %7085 = call ptr @__errno_location() #11
  %7086 = load i32, ptr %7085, align 4, !tbaa !5
  %7087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7074, ptr noundef @.str.2, i32 noundef %7075, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 262, ptr noundef %7078, ptr noundef %7081, ptr noundef %7084, i32 noundef %7086) #10
  br label %7105

7088:                                             ; preds = %7066, %7059
  %7089 = load i32, ptr %149, align 4, !tbaa !5
  %7090 = call ptr @__errno_location() #11
  store i32 %7089, ptr %7090, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = load i32, ptr @test_count, align 4, !tbaa !5
  %7093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7094 = load i32, ptr %7093, align 4, !tbaa !5
  %7095 = call ptr @s2n_strerror(i32 noundef %7094, ptr noundef @.str.4)
  %7096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7097 = load i32, ptr %7096, align 4, !tbaa !5
  %7098 = call ptr @s2n_strerror_debug(i32 noundef %7097, ptr noundef @.str.4)
  %7099 = call ptr @__errno_location() #11
  %7100 = load i32, ptr %7099, align 4, !tbaa !5
  %7101 = call ptr @strerror(i32 noundef %7100) #10
  %7102 = call ptr @__errno_location() #11
  %7103 = load i32, ptr %7102, align 4, !tbaa !5
  %7104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7091, ptr noundef @.str.5, i32 noundef %7092, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 262, ptr noundef %7095, ptr noundef %7098, ptr noundef %7101, i32 noundef %7103) #10
  br label %7105

7105:                                             ; preds = %7088, %7071
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #10
  br label %7106

7106:                                             ; preds = %7105
  br label %7107

7107:                                             ; preds = %7106
  call void @exit(i32 noundef 1) #12
  unreachable

7108:                                             ; No predecessors!
  br label %7109

7109:                                             ; preds = %7108
  br label %7110

7110:                                             ; preds = %7109, %7052
  br label %7111

7111:                                             ; preds = %7110
  br label %7112

7112:                                             ; preds = %7111
  br label %7113

7113:                                             ; preds = %7112
  %7114 = load i32, ptr @test_count, align 4, !tbaa !5
  %7115 = add nsw i32 %7114, 1
  store i32 %7115, ptr @test_count, align 4, !tbaa !5
  %7116 = load i16, ptr %115, align 2, !tbaa !22
  %7117 = zext i16 %7116 to i32
  %7118 = load i16, ptr %142, align 2, !tbaa !22
  %7119 = zext i16 %7118 to i32
  %7120 = icmp eq i32 %7117, %7119
  br i1 %7120, label %7174, label %7121

7121:                                             ; preds = %7113
  br label %7122

7122:                                             ; preds = %7121
  br label %7123

7123:                                             ; preds = %7122
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #10
  %7124 = call ptr @__errno_location() #11
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  store i32 %7125, ptr %150, align 4, !tbaa !5
  %7126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7127 = call i32 @s2n_print_stacktrace(ptr noundef %7126)
  %7128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7129 = trunc i8 %7128 to i1
  br i1 %7129, label %7130, label %7152

7130:                                             ; preds = %7123
  %7131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7132 = call i32 @fileno(ptr noundef %7131) #10
  %7133 = call i32 @isatty(i32 noundef %7132) #10
  %7134 = icmp ne i32 %7133, 0
  br i1 %7134, label %7135, label %7152

7135:                                             ; preds = %7130
  %7136 = load i32, ptr %150, align 4, !tbaa !5
  %7137 = call ptr @__errno_location() #11
  store i32 %7136, ptr %7137, align 4, !tbaa !5
  %7138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7139 = load i32, ptr @test_count, align 4, !tbaa !5
  %7140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7141 = load i32, ptr %7140, align 4, !tbaa !5
  %7142 = call ptr @s2n_strerror(i32 noundef %7141, ptr noundef @.str.4)
  %7143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7144 = load i32, ptr %7143, align 4, !tbaa !5
  %7145 = call ptr @s2n_strerror_debug(i32 noundef %7144, ptr noundef @.str.4)
  %7146 = call ptr @__errno_location() #11
  %7147 = load i32, ptr %7146, align 4, !tbaa !5
  %7148 = call ptr @strerror(i32 noundef %7147) #10
  %7149 = call ptr @__errno_location() #11
  %7150 = load i32, ptr %7149, align 4, !tbaa !5
  %7151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7138, ptr noundef @.str.2, i32 noundef %7139, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 263, ptr noundef %7142, ptr noundef %7145, ptr noundef %7148, i32 noundef %7150) #10
  br label %7169

7152:                                             ; preds = %7130, %7123
  %7153 = load i32, ptr %150, align 4, !tbaa !5
  %7154 = call ptr @__errno_location() #11
  store i32 %7153, ptr %7154, align 4, !tbaa !5
  %7155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7156 = load i32, ptr @test_count, align 4, !tbaa !5
  %7157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call ptr @s2n_strerror(i32 noundef %7158, ptr noundef @.str.4)
  %7160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call ptr @s2n_strerror_debug(i32 noundef %7161, ptr noundef @.str.4)
  %7163 = call ptr @__errno_location() #11
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = call ptr @strerror(i32 noundef %7164) #10
  %7166 = call ptr @__errno_location() #11
  %7167 = load i32, ptr %7166, align 4, !tbaa !5
  %7168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7155, ptr noundef @.str.5, i32 noundef %7156, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 263, ptr noundef %7159, ptr noundef %7162, ptr noundef %7165, i32 noundef %7167) #10
  br label %7169

7169:                                             ; preds = %7152, %7135
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #10
  br label %7170

7170:                                             ; preds = %7169
  br label %7171

7171:                                             ; preds = %7170
  call void @exit(i32 noundef 1) #12
  unreachable

7172:                                             ; No predecessors!
  br label %7173

7173:                                             ; preds = %7172
  br label %7174

7174:                                             ; preds = %7173, %7113
  br label %7175

7175:                                             ; preds = %7174
  br label %7176

7176:                                             ; preds = %7175
  br label %7177

7177:                                             ; preds = %7176
  %7178 = load i32, ptr @test_count, align 4, !tbaa !5
  %7179 = add nsw i32 %7178, 1
  store i32 %7179, ptr @test_count, align 4, !tbaa !5
  %7180 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %115)
  %7181 = icmp eq i32 %7180, -1
  br i1 %7181, label %7182, label %7235

7182:                                             ; preds = %7177
  br label %7183

7183:                                             ; preds = %7182
  br label %7184

7184:                                             ; preds = %7183
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #10
  %7185 = call ptr @__errno_location() #11
  %7186 = load i32, ptr %7185, align 4, !tbaa !5
  store i32 %7186, ptr %151, align 4, !tbaa !5
  %7187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7188 = call i32 @s2n_print_stacktrace(ptr noundef %7187)
  %7189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7190 = trunc i8 %7189 to i1
  br i1 %7190, label %7191, label %7213

7191:                                             ; preds = %7184
  %7192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7193 = call i32 @fileno(ptr noundef %7192) #10
  %7194 = call i32 @isatty(i32 noundef %7193) #10
  %7195 = icmp ne i32 %7194, 0
  br i1 %7195, label %7196, label %7213

7196:                                             ; preds = %7191
  %7197 = load i32, ptr %151, align 4, !tbaa !5
  %7198 = call ptr @__errno_location() #11
  store i32 %7197, ptr %7198, align 4, !tbaa !5
  %7199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7200 = load i32, ptr @test_count, align 4, !tbaa !5
  %7201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7202 = load i32, ptr %7201, align 4, !tbaa !5
  %7203 = call ptr @s2n_strerror(i32 noundef %7202, ptr noundef @.str.4)
  %7204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  %7206 = call ptr @s2n_strerror_debug(i32 noundef %7205, ptr noundef @.str.4)
  %7207 = call ptr @__errno_location() #11
  %7208 = load i32, ptr %7207, align 4, !tbaa !5
  %7209 = call ptr @strerror(i32 noundef %7208) #10
  %7210 = call ptr @__errno_location() #11
  %7211 = load i32, ptr %7210, align 4, !tbaa !5
  %7212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7199, ptr noundef @.str.2, i32 noundef %7200, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7203, ptr noundef %7206, ptr noundef %7209, i32 noundef %7211) #10
  br label %7230

7213:                                             ; preds = %7191, %7184
  %7214 = load i32, ptr %151, align 4, !tbaa !5
  %7215 = call ptr @__errno_location() #11
  store i32 %7214, ptr %7215, align 4, !tbaa !5
  %7216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7217 = load i32, ptr @test_count, align 4, !tbaa !5
  %7218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7219 = load i32, ptr %7218, align 4, !tbaa !5
  %7220 = call ptr @s2n_strerror(i32 noundef %7219, ptr noundef @.str.4)
  %7221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7222 = load i32, ptr %7221, align 4, !tbaa !5
  %7223 = call ptr @s2n_strerror_debug(i32 noundef %7222, ptr noundef @.str.4)
  %7224 = call ptr @__errno_location() #11
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @strerror(i32 noundef %7225) #10
  %7227 = call ptr @__errno_location() #11
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7216, ptr noundef @.str.5, i32 noundef %7217, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 264, ptr noundef %7220, ptr noundef %7223, ptr noundef %7226, i32 noundef %7228) #10
  br label %7230

7230:                                             ; preds = %7213, %7196
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #10
  br label %7231

7231:                                             ; preds = %7230
  br label %7232

7232:                                             ; preds = %7231
  call void @exit(i32 noundef 1) #12
  unreachable

7233:                                             ; No predecessors!
  br label %7234

7234:                                             ; preds = %7233
  br label %7235

7235:                                             ; preds = %7234, %7177
  br label %7236

7236:                                             ; preds = %7235
  br label %7237

7237:                                             ; preds = %7236
  br label %7238

7238:                                             ; preds = %7237
  %7239 = load i32, ptr @test_count, align 4, !tbaa !5
  %7240 = add nsw i32 %7239, 1
  store i32 %7240, ptr @test_count, align 4, !tbaa !5
  %7241 = load i16, ptr %115, align 2, !tbaa !22
  %7242 = zext i16 %7241 to i32
  %7243 = load i16, ptr %142, align 2, !tbaa !22
  %7244 = zext i16 %7243 to i32
  %7245 = icmp eq i32 %7242, %7244
  br i1 %7245, label %7299, label %7246

7246:                                             ; preds = %7238
  br label %7247

7247:                                             ; preds = %7246
  br label %7248

7248:                                             ; preds = %7247
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %7249 = call ptr @__errno_location() #11
  %7250 = load i32, ptr %7249, align 4, !tbaa !5
  store i32 %7250, ptr %152, align 4, !tbaa !5
  %7251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7252 = call i32 @s2n_print_stacktrace(ptr noundef %7251)
  %7253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7254 = trunc i8 %7253 to i1
  br i1 %7254, label %7255, label %7277

7255:                                             ; preds = %7248
  %7256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7257 = call i32 @fileno(ptr noundef %7256) #10
  %7258 = call i32 @isatty(i32 noundef %7257) #10
  %7259 = icmp ne i32 %7258, 0
  br i1 %7259, label %7260, label %7277

7260:                                             ; preds = %7255
  %7261 = load i32, ptr %152, align 4, !tbaa !5
  %7262 = call ptr @__errno_location() #11
  store i32 %7261, ptr %7262, align 4, !tbaa !5
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = load i32, ptr @test_count, align 4, !tbaa !5
  %7265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7266 = load i32, ptr %7265, align 4, !tbaa !5
  %7267 = call ptr @s2n_strerror(i32 noundef %7266, ptr noundef @.str.4)
  %7268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7269 = load i32, ptr %7268, align 4, !tbaa !5
  %7270 = call ptr @s2n_strerror_debug(i32 noundef %7269, ptr noundef @.str.4)
  %7271 = call ptr @__errno_location() #11
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  %7273 = call ptr @strerror(i32 noundef %7272) #10
  %7274 = call ptr @__errno_location() #11
  %7275 = load i32, ptr %7274, align 4, !tbaa !5
  %7276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7263, ptr noundef @.str.2, i32 noundef %7264, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 265, ptr noundef %7267, ptr noundef %7270, ptr noundef %7273, i32 noundef %7275) #10
  br label %7294

7277:                                             ; preds = %7255, %7248
  %7278 = load i32, ptr %152, align 4, !tbaa !5
  %7279 = call ptr @__errno_location() #11
  store i32 %7278, ptr %7279, align 4, !tbaa !5
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = load i32, ptr @test_count, align 4, !tbaa !5
  %7282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7283 = load i32, ptr %7282, align 4, !tbaa !5
  %7284 = call ptr @s2n_strerror(i32 noundef %7283, ptr noundef @.str.4)
  %7285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7286 = load i32, ptr %7285, align 4, !tbaa !5
  %7287 = call ptr @s2n_strerror_debug(i32 noundef %7286, ptr noundef @.str.4)
  %7288 = call ptr @__errno_location() #11
  %7289 = load i32, ptr %7288, align 4, !tbaa !5
  %7290 = call ptr @strerror(i32 noundef %7289) #10
  %7291 = call ptr @__errno_location() #11
  %7292 = load i32, ptr %7291, align 4, !tbaa !5
  %7293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7280, ptr noundef @.str.5, i32 noundef %7281, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 265, ptr noundef %7284, ptr noundef %7287, ptr noundef %7290, i32 noundef %7292) #10
  br label %7294

7294:                                             ; preds = %7277, %7260
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %7295

7295:                                             ; preds = %7294
  br label %7296

7296:                                             ; preds = %7295
  call void @exit(i32 noundef 1) #12
  unreachable

7297:                                             ; No predecessors!
  br label %7298

7298:                                             ; preds = %7297
  br label %7299

7299:                                             ; preds = %7298, %7238
  br label %7300

7300:                                             ; preds = %7299
  br label %7301

7301:                                             ; preds = %7300
  br label %7302

7302:                                             ; preds = %7301
  %7303 = load i32, ptr @test_count, align 4, !tbaa !5
  %7304 = add nsw i32 %7303, 1
  store i32 %7304, ptr @test_count, align 4, !tbaa !5
  %7305 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %115)
  %7306 = icmp eq i32 %7305, -1
  br i1 %7306, label %7307, label %7360

7307:                                             ; preds = %7302
  br label %7308

7308:                                             ; preds = %7307
  br label %7309

7309:                                             ; preds = %7308
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7310 = call ptr @__errno_location() #11
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  store i32 %7311, ptr %153, align 4, !tbaa !5
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = call i32 @s2n_print_stacktrace(ptr noundef %7312)
  %7314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7315 = trunc i8 %7314 to i1
  br i1 %7315, label %7316, label %7338

7316:                                             ; preds = %7309
  %7317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7318 = call i32 @fileno(ptr noundef %7317) #10
  %7319 = call i32 @isatty(i32 noundef %7318) #10
  %7320 = icmp ne i32 %7319, 0
  br i1 %7320, label %7321, label %7338

7321:                                             ; preds = %7316
  %7322 = load i32, ptr %153, align 4, !tbaa !5
  %7323 = call ptr @__errno_location() #11
  store i32 %7322, ptr %7323, align 4, !tbaa !5
  %7324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7325 = load i32, ptr @test_count, align 4, !tbaa !5
  %7326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7327 = load i32, ptr %7326, align 4, !tbaa !5
  %7328 = call ptr @s2n_strerror(i32 noundef %7327, ptr noundef @.str.4)
  %7329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7330 = load i32, ptr %7329, align 4, !tbaa !5
  %7331 = call ptr @s2n_strerror_debug(i32 noundef %7330, ptr noundef @.str.4)
  %7332 = call ptr @__errno_location() #11
  %7333 = load i32, ptr %7332, align 4, !tbaa !5
  %7334 = call ptr @strerror(i32 noundef %7333) #10
  %7335 = call ptr @__errno_location() #11
  %7336 = load i32, ptr %7335, align 4, !tbaa !5
  %7337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7324, ptr noundef @.str.2, i32 noundef %7325, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 266, ptr noundef %7328, ptr noundef %7331, ptr noundef %7334, i32 noundef %7336) #10
  br label %7355

7338:                                             ; preds = %7316, %7309
  %7339 = load i32, ptr %153, align 4, !tbaa !5
  %7340 = call ptr @__errno_location() #11
  store i32 %7339, ptr %7340, align 4, !tbaa !5
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = load i32, ptr @test_count, align 4, !tbaa !5
  %7343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call ptr @s2n_strerror(i32 noundef %7344, ptr noundef @.str.4)
  %7346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7347 = load i32, ptr %7346, align 4, !tbaa !5
  %7348 = call ptr @s2n_strerror_debug(i32 noundef %7347, ptr noundef @.str.4)
  %7349 = call ptr @__errno_location() #11
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @strerror(i32 noundef %7350) #10
  %7352 = call ptr @__errno_location() #11
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7341, ptr noundef @.str.5, i32 noundef %7342, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 266, ptr noundef %7345, ptr noundef %7348, ptr noundef %7351, i32 noundef %7353) #10
  br label %7355

7355:                                             ; preds = %7338, %7321
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7356

7356:                                             ; preds = %7355
  br label %7357

7357:                                             ; preds = %7356
  call void @exit(i32 noundef 1) #12
  unreachable

7358:                                             ; No predecessors!
  br label %7359

7359:                                             ; preds = %7358
  br label %7360

7360:                                             ; preds = %7359, %7302
  br label %7361

7361:                                             ; preds = %7360
  br label %7362

7362:                                             ; preds = %7361
  br label %7363

7363:                                             ; preds = %7362
  %7364 = load i32, ptr @test_count, align 4, !tbaa !5
  %7365 = add nsw i32 %7364, 1
  store i32 %7365, ptr @test_count, align 4, !tbaa !5
  %7366 = load i16, ptr %115, align 2, !tbaa !22
  %7367 = zext i16 %7366 to i32
  %7368 = load i16, ptr %140, align 2, !tbaa !22
  %7369 = zext i16 %7368 to i32
  %7370 = icmp eq i32 %7367, %7369
  br i1 %7370, label %7424, label %7371

7371:                                             ; preds = %7363
  br label %7372

7372:                                             ; preds = %7371
  br label %7373

7373:                                             ; preds = %7372
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7374 = call ptr @__errno_location() #11
  %7375 = load i32, ptr %7374, align 4, !tbaa !5
  store i32 %7375, ptr %154, align 4, !tbaa !5
  %7376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7377 = call i32 @s2n_print_stacktrace(ptr noundef %7376)
  %7378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7379 = trunc i8 %7378 to i1
  br i1 %7379, label %7380, label %7402

7380:                                             ; preds = %7373
  %7381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7382 = call i32 @fileno(ptr noundef %7381) #10
  %7383 = call i32 @isatty(i32 noundef %7382) #10
  %7384 = icmp ne i32 %7383, 0
  br i1 %7384, label %7385, label %7402

7385:                                             ; preds = %7380
  %7386 = load i32, ptr %154, align 4, !tbaa !5
  %7387 = call ptr @__errno_location() #11
  store i32 %7386, ptr %7387, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7391 = load i32, ptr %7390, align 4, !tbaa !5
  %7392 = call ptr @s2n_strerror(i32 noundef %7391, ptr noundef @.str.4)
  %7393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7394 = load i32, ptr %7393, align 4, !tbaa !5
  %7395 = call ptr @s2n_strerror_debug(i32 noundef %7394, ptr noundef @.str.4)
  %7396 = call ptr @__errno_location() #11
  %7397 = load i32, ptr %7396, align 4, !tbaa !5
  %7398 = call ptr @strerror(i32 noundef %7397) #10
  %7399 = call ptr @__errno_location() #11
  %7400 = load i32, ptr %7399, align 4, !tbaa !5
  %7401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7388, ptr noundef @.str.2, i32 noundef %7389, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 267, ptr noundef %7392, ptr noundef %7395, ptr noundef %7398, i32 noundef %7400) #10
  br label %7419

7402:                                             ; preds = %7380, %7373
  %7403 = load i32, ptr %154, align 4, !tbaa !5
  %7404 = call ptr @__errno_location() #11
  store i32 %7403, ptr %7404, align 4, !tbaa !5
  %7405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7406 = load i32, ptr @test_count, align 4, !tbaa !5
  %7407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7408 = load i32, ptr %7407, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror(i32 noundef %7408, ptr noundef @.str.4)
  %7410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7411 = load i32, ptr %7410, align 4, !tbaa !5
  %7412 = call ptr @s2n_strerror_debug(i32 noundef %7411, ptr noundef @.str.4)
  %7413 = call ptr @__errno_location() #11
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @strerror(i32 noundef %7414) #10
  %7416 = call ptr @__errno_location() #11
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7405, ptr noundef @.str.5, i32 noundef %7406, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 267, ptr noundef %7409, ptr noundef %7412, ptr noundef %7415, i32 noundef %7417) #10
  br label %7419

7419:                                             ; preds = %7402, %7385
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7420

7420:                                             ; preds = %7419
  br label %7421

7421:                                             ; preds = %7420
  call void @exit(i32 noundef 1) #12
  unreachable

7422:                                             ; No predecessors!
  br label %7423

7423:                                             ; preds = %7422
  br label %7424

7424:                                             ; preds = %7423, %7363
  br label %7425

7425:                                             ; preds = %7424
  br label %7426

7426:                                             ; preds = %7425
  call void @llvm.lifetime.end.p0(i64 2, ptr %142) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %140) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %136) #10
  br label %7427

7427:                                             ; preds = %7426
  %7428 = load i32, ptr @test_count, align 4, !tbaa !5
  %7429 = add nsw i32 %7428, 1
  store i32 %7429, ptr @test_count, align 4, !tbaa !5
  %7430 = call i32 @s2n_stuffer_free(ptr noundef %10)
  %7431 = icmp eq i32 %7430, -1
  br i1 %7431, label %7432, label %7485

7432:                                             ; preds = %7427
  br label %7433

7433:                                             ; preds = %7432
  br label %7434

7434:                                             ; preds = %7433
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7435 = call ptr @__errno_location() #11
  %7436 = load i32, ptr %7435, align 4, !tbaa !5
  store i32 %7436, ptr %155, align 4, !tbaa !5
  %7437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7438 = call i32 @s2n_print_stacktrace(ptr noundef %7437)
  %7439 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7440 = trunc i8 %7439 to i1
  br i1 %7440, label %7441, label %7463

7441:                                             ; preds = %7434
  %7442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7443 = call i32 @fileno(ptr noundef %7442) #10
  %7444 = call i32 @isatty(i32 noundef %7443) #10
  %7445 = icmp ne i32 %7444, 0
  br i1 %7445, label %7446, label %7463

7446:                                             ; preds = %7441
  %7447 = load i32, ptr %155, align 4, !tbaa !5
  %7448 = call ptr @__errno_location() #11
  store i32 %7447, ptr %7448, align 4, !tbaa !5
  %7449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7450 = load i32, ptr @test_count, align 4, !tbaa !5
  %7451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7452 = load i32, ptr %7451, align 4, !tbaa !5
  %7453 = call ptr @s2n_strerror(i32 noundef %7452, ptr noundef @.str.4)
  %7454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7455 = load i32, ptr %7454, align 4, !tbaa !5
  %7456 = call ptr @s2n_strerror_debug(i32 noundef %7455, ptr noundef @.str.4)
  %7457 = call ptr @__errno_location() #11
  %7458 = load i32, ptr %7457, align 4, !tbaa !5
  %7459 = call ptr @strerror(i32 noundef %7458) #10
  %7460 = call ptr @__errno_location() #11
  %7461 = load i32, ptr %7460, align 4, !tbaa !5
  %7462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7449, ptr noundef @.str.2, i32 noundef %7450, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 270, ptr noundef %7453, ptr noundef %7456, ptr noundef %7459, i32 noundef %7461) #10
  br label %7480

7463:                                             ; preds = %7441, %7434
  %7464 = load i32, ptr %155, align 4, !tbaa !5
  %7465 = call ptr @__errno_location() #11
  store i32 %7464, ptr %7465, align 4, !tbaa !5
  %7466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7467 = load i32, ptr @test_count, align 4, !tbaa !5
  %7468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7469 = load i32, ptr %7468, align 4, !tbaa !5
  %7470 = call ptr @s2n_strerror(i32 noundef %7469, ptr noundef @.str.4)
  %7471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7472 = load i32, ptr %7471, align 4, !tbaa !5
  %7473 = call ptr @s2n_strerror_debug(i32 noundef %7472, ptr noundef @.str.4)
  %7474 = call ptr @__errno_location() #11
  %7475 = load i32, ptr %7474, align 4, !tbaa !5
  %7476 = call ptr @strerror(i32 noundef %7475) #10
  %7477 = call ptr @__errno_location() #11
  %7478 = load i32, ptr %7477, align 4, !tbaa !5
  %7479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7466, ptr noundef @.str.5, i32 noundef %7467, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 270, ptr noundef %7470, ptr noundef %7473, ptr noundef %7476, i32 noundef %7478) #10
  br label %7480

7480:                                             ; preds = %7463, %7446
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7481

7481:                                             ; preds = %7480
  br label %7482

7482:                                             ; preds = %7481
  call void @exit(i32 noundef 1) #12
  unreachable

7483:                                             ; No predecessors!
  br label %7484

7484:                                             ; preds = %7483
  br label %7485

7485:                                             ; preds = %7484, %7427
  br label %7486

7486:                                             ; preds = %7485
  br label %7487

7487:                                             ; preds = %7486
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %117) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %116) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %115) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr %156) #10
  store i16 0, ptr %156, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr %157) #10
  call void @llvm.memset.p0.i64(ptr align 8 %157, i8 0, i64 16, i1 false)
  br label %7488

7488:                                             ; preds = %7487
  %7489 = load i32, ptr @test_count, align 4, !tbaa !5
  %7490 = add nsw i32 %7489, 1
  store i32 %7490, ptr @test_count, align 4, !tbaa !5
  %7491 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %10, i32 noundef 0)
  %7492 = icmp eq i32 %7491, -1
  br i1 %7492, label %7493, label %7546

7493:                                             ; preds = %7488
  br label %7494

7494:                                             ; preds = %7493
  br label %7495

7495:                                             ; preds = %7494
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %7496 = call ptr @__errno_location() #11
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  store i32 %7497, ptr %158, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = call i32 @s2n_print_stacktrace(ptr noundef %7498)
  %7500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7501 = trunc i8 %7500 to i1
  br i1 %7501, label %7502, label %7524

7502:                                             ; preds = %7495
  %7503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7504 = call i32 @fileno(ptr noundef %7503) #10
  %7505 = call i32 @isatty(i32 noundef %7504) #10
  %7506 = icmp ne i32 %7505, 0
  br i1 %7506, label %7507, label %7524

7507:                                             ; preds = %7502
  %7508 = load i32, ptr %158, align 4, !tbaa !5
  %7509 = call ptr @__errno_location() #11
  store i32 %7508, ptr %7509, align 4, !tbaa !5
  %7510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7511 = load i32, ptr @test_count, align 4, !tbaa !5
  %7512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7513 = load i32, ptr %7512, align 4, !tbaa !5
  %7514 = call ptr @s2n_strerror(i32 noundef %7513, ptr noundef @.str.4)
  %7515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7516 = load i32, ptr %7515, align 4, !tbaa !5
  %7517 = call ptr @s2n_strerror_debug(i32 noundef %7516, ptr noundef @.str.4)
  %7518 = call ptr @__errno_location() #11
  %7519 = load i32, ptr %7518, align 4, !tbaa !5
  %7520 = call ptr @strerror(i32 noundef %7519) #10
  %7521 = call ptr @__errno_location() #11
  %7522 = load i32, ptr %7521, align 4, !tbaa !5
  %7523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7510, ptr noundef @.str.2, i32 noundef %7511, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7514, ptr noundef %7517, ptr noundef %7520, i32 noundef %7522) #10
  br label %7541

7524:                                             ; preds = %7502, %7495
  %7525 = load i32, ptr %158, align 4, !tbaa !5
  %7526 = call ptr @__errno_location() #11
  store i32 %7525, ptr %7526, align 4, !tbaa !5
  %7527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7528 = load i32, ptr @test_count, align 4, !tbaa !5
  %7529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7530 = load i32, ptr %7529, align 4, !tbaa !5
  %7531 = call ptr @s2n_strerror(i32 noundef %7530, ptr noundef @.str.4)
  %7532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @s2n_strerror_debug(i32 noundef %7533, ptr noundef @.str.4)
  %7535 = call ptr @__errno_location() #11
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @strerror(i32 noundef %7536) #10
  %7538 = call ptr @__errno_location() #11
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7527, ptr noundef @.str.5, i32 noundef %7528, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 277, ptr noundef %7531, ptr noundef %7534, ptr noundef %7537, i32 noundef %7539) #10
  br label %7541

7541:                                             ; preds = %7524, %7507
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %7542

7542:                                             ; preds = %7541
  br label %7543

7543:                                             ; preds = %7542
  call void @exit(i32 noundef 1) #12
  unreachable

7544:                                             ; No predecessors!
  br label %7545

7545:                                             ; preds = %7544
  br label %7546

7546:                                             ; preds = %7545, %7488
  br label %7547

7547:                                             ; preds = %7546
  br label %7548

7548:                                             ; preds = %7547
  call void @llvm.lifetime.start.p0(i64 12, ptr %159) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 2 %159, ptr align 2 @__const.main.test_sizes, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %160) #10
  store i64 0, ptr %160, align 8, !tbaa !25
  br label %7549

7549:                                             ; preds = %7933, %7548
  %7550 = load i64, ptr %160, align 8, !tbaa !25
  %7551 = icmp ult i64 %7550, 6
  br i1 %7551, label %7553, label %7552

7552:                                             ; preds = %7549
  call void @llvm.lifetime.end.p0(i64 8, ptr %160) #10
  br label %7936

7553:                                             ; preds = %7549
  br label %7554

7554:                                             ; preds = %7553
  %7555 = load i32, ptr @test_count, align 4, !tbaa !5
  %7556 = add nsw i32 %7555, 1
  store i32 %7556, ptr @test_count, align 4, !tbaa !5
  %7557 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %10, ptr noundef %157)
  %7558 = icmp eq i32 %7557, -1
  br i1 %7558, label %7559, label %7612

7559:                                             ; preds = %7554
  br label %7560

7560:                                             ; preds = %7559
  br label %7561

7561:                                             ; preds = %7560
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %7562 = call ptr @__errno_location() #11
  %7563 = load i32, ptr %7562, align 4, !tbaa !5
  store i32 %7563, ptr %161, align 4, !tbaa !5
  %7564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7565 = call i32 @s2n_print_stacktrace(ptr noundef %7564)
  %7566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7567 = trunc i8 %7566 to i1
  br i1 %7567, label %7568, label %7590

7568:                                             ; preds = %7561
  %7569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7570 = call i32 @fileno(ptr noundef %7569) #10
  %7571 = call i32 @isatty(i32 noundef %7570) #10
  %7572 = icmp ne i32 %7571, 0
  br i1 %7572, label %7573, label %7590

7573:                                             ; preds = %7568
  %7574 = load i32, ptr %161, align 4, !tbaa !5
  %7575 = call ptr @__errno_location() #11
  store i32 %7574, ptr %7575, align 4, !tbaa !5
  %7576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7577 = load i32, ptr @test_count, align 4, !tbaa !5
  %7578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7579 = load i32, ptr %7578, align 4, !tbaa !5
  %7580 = call ptr @s2n_strerror(i32 noundef %7579, ptr noundef @.str.4)
  %7581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7582 = load i32, ptr %7581, align 4, !tbaa !5
  %7583 = call ptr @s2n_strerror_debug(i32 noundef %7582, ptr noundef @.str.4)
  %7584 = call ptr @__errno_location() #11
  %7585 = load i32, ptr %7584, align 4, !tbaa !5
  %7586 = call ptr @strerror(i32 noundef %7585) #10
  %7587 = call ptr @__errno_location() #11
  %7588 = load i32, ptr %7587, align 4, !tbaa !5
  %7589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7576, ptr noundef @.str.2, i32 noundef %7577, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7580, ptr noundef %7583, ptr noundef %7586, i32 noundef %7588) #10
  br label %7607

7590:                                             ; preds = %7568, %7561
  %7591 = load i32, ptr %161, align 4, !tbaa !5
  %7592 = call ptr @__errno_location() #11
  store i32 %7591, ptr %7592, align 4, !tbaa !5
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = load i32, ptr @test_count, align 4, !tbaa !5
  %7595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7596 = load i32, ptr %7595, align 4, !tbaa !5
  %7597 = call ptr @s2n_strerror(i32 noundef %7596, ptr noundef @.str.4)
  %7598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7599 = load i32, ptr %7598, align 4, !tbaa !5
  %7600 = call ptr @s2n_strerror_debug(i32 noundef %7599, ptr noundef @.str.4)
  %7601 = call ptr @__errno_location() #11
  %7602 = load i32, ptr %7601, align 4, !tbaa !5
  %7603 = call ptr @strerror(i32 noundef %7602) #10
  %7604 = call ptr @__errno_location() #11
  %7605 = load i32, ptr %7604, align 4, !tbaa !5
  %7606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7593, ptr noundef @.str.5, i32 noundef %7594, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 282, ptr noundef %7597, ptr noundef %7600, ptr noundef %7603, i32 noundef %7605) #10
  br label %7607

7607:                                             ; preds = %7590, %7573
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %7608

7608:                                             ; preds = %7607
  br label %7609

7609:                                             ; preds = %7608
  call void @exit(i32 noundef 1) #12
  unreachable

7610:                                             ; No predecessors!
  br label %7611

7611:                                             ; preds = %7610
  br label %7612

7612:                                             ; preds = %7611, %7554
  br label %7613

7613:                                             ; preds = %7612
  br label %7614

7614:                                             ; preds = %7613
  br label %7615

7615:                                             ; preds = %7614
  %7616 = load i32, ptr @test_count, align 4, !tbaa !5
  %7617 = add nsw i32 %7616, 1
  store i32 %7617, ptr @test_count, align 4, !tbaa !5
  %7618 = load i64, ptr %160, align 8, !tbaa !25
  %7619 = getelementptr inbounds [6 x i16], ptr %159, i64 0, i64 %7618
  %7620 = load i16, ptr %7619, align 2, !tbaa !22
  %7621 = zext i16 %7620 to i32
  %7622 = call i32 @s2n_stuffer_skip_write(ptr noundef %10, i32 noundef %7621)
  %7623 = icmp eq i32 %7622, -1
  br i1 %7623, label %7624, label %7677

7624:                                             ; preds = %7615
  br label %7625

7625:                                             ; preds = %7624
  br label %7626

7626:                                             ; preds = %7625
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %7627 = call ptr @__errno_location() #11
  %7628 = load i32, ptr %7627, align 4, !tbaa !5
  store i32 %7628, ptr %162, align 4, !tbaa !5
  %7629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7630 = call i32 @s2n_print_stacktrace(ptr noundef %7629)
  %7631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7632 = trunc i8 %7631 to i1
  br i1 %7632, label %7633, label %7655

7633:                                             ; preds = %7626
  %7634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7635 = call i32 @fileno(ptr noundef %7634) #10
  %7636 = call i32 @isatty(i32 noundef %7635) #10
  %7637 = icmp ne i32 %7636, 0
  br i1 %7637, label %7638, label %7655

7638:                                             ; preds = %7633
  %7639 = load i32, ptr %162, align 4, !tbaa !5
  %7640 = call ptr @__errno_location() #11
  store i32 %7639, ptr %7640, align 4, !tbaa !5
  %7641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7642 = load i32, ptr @test_count, align 4, !tbaa !5
  %7643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @s2n_strerror(i32 noundef %7644, ptr noundef @.str.4)
  %7646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call ptr @s2n_strerror_debug(i32 noundef %7647, ptr noundef @.str.4)
  %7649 = call ptr @__errno_location() #11
  %7650 = load i32, ptr %7649, align 4, !tbaa !5
  %7651 = call ptr @strerror(i32 noundef %7650) #10
  %7652 = call ptr @__errno_location() #11
  %7653 = load i32, ptr %7652, align 4, !tbaa !5
  %7654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7641, ptr noundef @.str.2, i32 noundef %7642, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7645, ptr noundef %7648, ptr noundef %7651, i32 noundef %7653) #10
  br label %7672

7655:                                             ; preds = %7633, %7626
  %7656 = load i32, ptr %162, align 4, !tbaa !5
  %7657 = call ptr @__errno_location() #11
  store i32 %7656, ptr %7657, align 4, !tbaa !5
  %7658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7659 = load i32, ptr @test_count, align 4, !tbaa !5
  %7660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7661 = load i32, ptr %7660, align 4, !tbaa !5
  %7662 = call ptr @s2n_strerror(i32 noundef %7661, ptr noundef @.str.4)
  %7663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7664 = load i32, ptr %7663, align 4, !tbaa !5
  %7665 = call ptr @s2n_strerror_debug(i32 noundef %7664, ptr noundef @.str.4)
  %7666 = call ptr @__errno_location() #11
  %7667 = load i32, ptr %7666, align 4, !tbaa !5
  %7668 = call ptr @strerror(i32 noundef %7667) #10
  %7669 = call ptr @__errno_location() #11
  %7670 = load i32, ptr %7669, align 4, !tbaa !5
  %7671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7658, ptr noundef @.str.5, i32 noundef %7659, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7662, ptr noundef %7665, ptr noundef %7668, i32 noundef %7670) #10
  br label %7672

7672:                                             ; preds = %7655, %7638
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %7673

7673:                                             ; preds = %7672
  br label %7674

7674:                                             ; preds = %7673
  call void @exit(i32 noundef 1) #12
  unreachable

7675:                                             ; No predecessors!
  br label %7676

7676:                                             ; preds = %7675
  br label %7677

7677:                                             ; preds = %7676, %7615
  br label %7678

7678:                                             ; preds = %7677
  br label %7679

7679:                                             ; preds = %7678
  br label %7680

7680:                                             ; preds = %7679
  %7681 = load i32, ptr @test_count, align 4, !tbaa !5
  %7682 = add nsw i32 %7681, 1
  store i32 %7682, ptr @test_count, align 4, !tbaa !5
  %7683 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %157)
  %7684 = icmp eq i32 %7683, -1
  br i1 %7684, label %7685, label %7738

7685:                                             ; preds = %7680
  br label %7686

7686:                                             ; preds = %7685
  br label %7687

7687:                                             ; preds = %7686
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #10
  %7688 = call ptr @__errno_location() #11
  %7689 = load i32, ptr %7688, align 4, !tbaa !5
  store i32 %7689, ptr %163, align 4, !tbaa !5
  %7690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7691 = call i32 @s2n_print_stacktrace(ptr noundef %7690)
  %7692 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7693 = trunc i8 %7692 to i1
  br i1 %7693, label %7694, label %7716

7694:                                             ; preds = %7687
  %7695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7696 = call i32 @fileno(ptr noundef %7695) #10
  %7697 = call i32 @isatty(i32 noundef %7696) #10
  %7698 = icmp ne i32 %7697, 0
  br i1 %7698, label %7699, label %7716

7699:                                             ; preds = %7694
  %7700 = load i32, ptr %163, align 4, !tbaa !5
  %7701 = call ptr @__errno_location() #11
  store i32 %7700, ptr %7701, align 4, !tbaa !5
  %7702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7703 = load i32, ptr @test_count, align 4, !tbaa !5
  %7704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call ptr @s2n_strerror(i32 noundef %7705, ptr noundef @.str.4)
  %7707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call ptr @s2n_strerror_debug(i32 noundef %7708, ptr noundef @.str.4)
  %7710 = call ptr @__errno_location() #11
  %7711 = load i32, ptr %7710, align 4, !tbaa !5
  %7712 = call ptr @strerror(i32 noundef %7711) #10
  %7713 = call ptr @__errno_location() #11
  %7714 = load i32, ptr %7713, align 4, !tbaa !5
  %7715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7702, ptr noundef @.str.2, i32 noundef %7703, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7706, ptr noundef %7709, ptr noundef %7712, i32 noundef %7714) #10
  br label %7733

7716:                                             ; preds = %7694, %7687
  %7717 = load i32, ptr %163, align 4, !tbaa !5
  %7718 = call ptr @__errno_location() #11
  store i32 %7717, ptr %7718, align 4, !tbaa !5
  %7719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7720 = load i32, ptr @test_count, align 4, !tbaa !5
  %7721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7722 = load i32, ptr %7721, align 4, !tbaa !5
  %7723 = call ptr @s2n_strerror(i32 noundef %7722, ptr noundef @.str.4)
  %7724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7725 = load i32, ptr %7724, align 4, !tbaa !5
  %7726 = call ptr @s2n_strerror_debug(i32 noundef %7725, ptr noundef @.str.4)
  %7727 = call ptr @__errno_location() #11
  %7728 = load i32, ptr %7727, align 4, !tbaa !5
  %7729 = call ptr @strerror(i32 noundef %7728) #10
  %7730 = call ptr @__errno_location() #11
  %7731 = load i32, ptr %7730, align 4, !tbaa !5
  %7732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7719, ptr noundef @.str.5, i32 noundef %7720, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 285, ptr noundef %7723, ptr noundef %7726, ptr noundef %7729, i32 noundef %7731) #10
  br label %7733

7733:                                             ; preds = %7716, %7699
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #10
  br label %7734

7734:                                             ; preds = %7733
  br label %7735

7735:                                             ; preds = %7734
  call void @exit(i32 noundef 1) #12
  unreachable

7736:                                             ; No predecessors!
  br label %7737

7737:                                             ; preds = %7736
  br label %7738

7738:                                             ; preds = %7737, %7680
  br label %7739

7739:                                             ; preds = %7738
  br label %7740

7740:                                             ; preds = %7739
  br label %7741

7741:                                             ; preds = %7740
  %7742 = load i32, ptr @test_count, align 4, !tbaa !5
  %7743 = add nsw i32 %7742, 1
  store i32 %7743, ptr @test_count, align 4, !tbaa !5
  %7744 = call i32 @s2n_stuffer_read_uint16(ptr noundef %10, ptr noundef %156)
  %7745 = icmp eq i32 %7744, -1
  br i1 %7745, label %7746, label %7799

7746:                                             ; preds = %7741
  br label %7747

7747:                                             ; preds = %7746
  br label %7748

7748:                                             ; preds = %7747
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #10
  %7749 = call ptr @__errno_location() #11
  %7750 = load i32, ptr %7749, align 4, !tbaa !5
  store i32 %7750, ptr %164, align 4, !tbaa !5
  %7751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7752 = call i32 @s2n_print_stacktrace(ptr noundef %7751)
  %7753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7754 = trunc i8 %7753 to i1
  br i1 %7754, label %7755, label %7777

7755:                                             ; preds = %7748
  %7756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7757 = call i32 @fileno(ptr noundef %7756) #10
  %7758 = call i32 @isatty(i32 noundef %7757) #10
  %7759 = icmp ne i32 %7758, 0
  br i1 %7759, label %7760, label %7777

7760:                                             ; preds = %7755
  %7761 = load i32, ptr %164, align 4, !tbaa !5
  %7762 = call ptr @__errno_location() #11
  store i32 %7761, ptr %7762, align 4, !tbaa !5
  %7763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7764 = load i32, ptr @test_count, align 4, !tbaa !5
  %7765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @s2n_strerror(i32 noundef %7766, ptr noundef @.str.4)
  %7768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call ptr @s2n_strerror_debug(i32 noundef %7769, ptr noundef @.str.4)
  %7771 = call ptr @__errno_location() #11
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  %7773 = call ptr @strerror(i32 noundef %7772) #10
  %7774 = call ptr @__errno_location() #11
  %7775 = load i32, ptr %7774, align 4, !tbaa !5
  %7776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7763, ptr noundef @.str.2, i32 noundef %7764, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7767, ptr noundef %7770, ptr noundef %7773, i32 noundef %7775) #10
  br label %7794

7777:                                             ; preds = %7755, %7748
  %7778 = load i32, ptr %164, align 4, !tbaa !5
  %7779 = call ptr @__errno_location() #11
  store i32 %7778, ptr %7779, align 4, !tbaa !5
  %7780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7781 = load i32, ptr @test_count, align 4, !tbaa !5
  %7782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7783 = load i32, ptr %7782, align 4, !tbaa !5
  %7784 = call ptr @s2n_strerror(i32 noundef %7783, ptr noundef @.str.4)
  %7785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7786 = load i32, ptr %7785, align 4, !tbaa !5
  %7787 = call ptr @s2n_strerror_debug(i32 noundef %7786, ptr noundef @.str.4)
  %7788 = call ptr @__errno_location() #11
  %7789 = load i32, ptr %7788, align 4, !tbaa !5
  %7790 = call ptr @strerror(i32 noundef %7789) #10
  %7791 = call ptr @__errno_location() #11
  %7792 = load i32, ptr %7791, align 4, !tbaa !5
  %7793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7780, ptr noundef @.str.5, i32 noundef %7781, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 287, ptr noundef %7784, ptr noundef %7787, ptr noundef %7790, i32 noundef %7792) #10
  br label %7794

7794:                                             ; preds = %7777, %7760
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #10
  br label %7795

7795:                                             ; preds = %7794
  br label %7796

7796:                                             ; preds = %7795
  call void @exit(i32 noundef 1) #12
  unreachable

7797:                                             ; No predecessors!
  br label %7798

7798:                                             ; preds = %7797
  br label %7799

7799:                                             ; preds = %7798, %7741
  br label %7800

7800:                                             ; preds = %7799
  br label %7801

7801:                                             ; preds = %7800
  br label %7802

7802:                                             ; preds = %7801
  %7803 = load i32, ptr @test_count, align 4, !tbaa !5
  %7804 = add nsw i32 %7803, 1
  store i32 %7804, ptr @test_count, align 4, !tbaa !5
  %7805 = load i16, ptr %156, align 2, !tbaa !22
  %7806 = zext i16 %7805 to i32
  %7807 = load i64, ptr %160, align 8, !tbaa !25
  %7808 = getelementptr inbounds [6 x i16], ptr %159, i64 0, i64 %7807
  %7809 = load i16, ptr %7808, align 2, !tbaa !22
  %7810 = zext i16 %7809 to i32
  %7811 = icmp eq i32 %7806, %7810
  br i1 %7811, label %7865, label %7812

7812:                                             ; preds = %7802
  br label %7813

7813:                                             ; preds = %7812
  br label %7814

7814:                                             ; preds = %7813
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %7815 = call ptr @__errno_location() #11
  %7816 = load i32, ptr %7815, align 4, !tbaa !5
  store i32 %7816, ptr %165, align 4, !tbaa !5
  %7817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7818 = call i32 @s2n_print_stacktrace(ptr noundef %7817)
  %7819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7820 = trunc i8 %7819 to i1
  br i1 %7820, label %7821, label %7843

7821:                                             ; preds = %7814
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = call i32 @fileno(ptr noundef %7822) #10
  %7824 = call i32 @isatty(i32 noundef %7823) #10
  %7825 = icmp ne i32 %7824, 0
  br i1 %7825, label %7826, label %7843

7826:                                             ; preds = %7821
  %7827 = load i32, ptr %165, align 4, !tbaa !5
  %7828 = call ptr @__errno_location() #11
  store i32 %7827, ptr %7828, align 4, !tbaa !5
  %7829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7830 = load i32, ptr @test_count, align 4, !tbaa !5
  %7831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7832 = load i32, ptr %7831, align 4, !tbaa !5
  %7833 = call ptr @s2n_strerror(i32 noundef %7832, ptr noundef @.str.4)
  %7834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7835 = load i32, ptr %7834, align 4, !tbaa !5
  %7836 = call ptr @s2n_strerror_debug(i32 noundef %7835, ptr noundef @.str.4)
  %7837 = call ptr @__errno_location() #11
  %7838 = load i32, ptr %7837, align 4, !tbaa !5
  %7839 = call ptr @strerror(i32 noundef %7838) #10
  %7840 = call ptr @__errno_location() #11
  %7841 = load i32, ptr %7840, align 4, !tbaa !5
  %7842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7829, ptr noundef @.str.2, i32 noundef %7830, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7833, ptr noundef %7836, ptr noundef %7839, i32 noundef %7841) #10
  br label %7860

7843:                                             ; preds = %7821, %7814
  %7844 = load i32, ptr %165, align 4, !tbaa !5
  %7845 = call ptr @__errno_location() #11
  store i32 %7844, ptr %7845, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call ptr @s2n_strerror(i32 noundef %7849, ptr noundef @.str.4)
  %7851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  %7853 = call ptr @s2n_strerror_debug(i32 noundef %7852, ptr noundef @.str.4)
  %7854 = call ptr @__errno_location() #11
  %7855 = load i32, ptr %7854, align 4, !tbaa !5
  %7856 = call ptr @strerror(i32 noundef %7855) #10
  %7857 = call ptr @__errno_location() #11
  %7858 = load i32, ptr %7857, align 4, !tbaa !5
  %7859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7846, ptr noundef @.str.5, i32 noundef %7847, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7850, ptr noundef %7853, ptr noundef %7856, i32 noundef %7858) #10
  br label %7860

7860:                                             ; preds = %7843, %7826
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %7861

7861:                                             ; preds = %7860
  br label %7862

7862:                                             ; preds = %7861
  call void @exit(i32 noundef 1) #12
  unreachable

7863:                                             ; No predecessors!
  br label %7864

7864:                                             ; preds = %7863
  br label %7865

7865:                                             ; preds = %7864, %7802
  br label %7866

7866:                                             ; preds = %7865
  br label %7867

7867:                                             ; preds = %7866
  br label %7868

7868:                                             ; preds = %7867
  %7869 = load i32, ptr @test_count, align 4, !tbaa !5
  %7870 = add nsw i32 %7869, 1
  store i32 %7870, ptr @test_count, align 4, !tbaa !5
  %7871 = load i64, ptr %160, align 8, !tbaa !25
  %7872 = getelementptr inbounds [6 x i16], ptr %159, i64 0, i64 %7871
  %7873 = load i16, ptr %7872, align 2, !tbaa !22
  %7874 = zext i16 %7873 to i32
  %7875 = call i32 @s2n_stuffer_skip_read(ptr noundef %10, i32 noundef %7874)
  %7876 = icmp eq i32 %7875, -1
  br i1 %7876, label %7877, label %7930

7877:                                             ; preds = %7868
  br label %7878

7878:                                             ; preds = %7877
  br label %7879

7879:                                             ; preds = %7878
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #10
  %7880 = call ptr @__errno_location() #11
  %7881 = load i32, ptr %7880, align 4, !tbaa !5
  store i32 %7881, ptr %166, align 4, !tbaa !5
  %7882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7883 = call i32 @s2n_print_stacktrace(ptr noundef %7882)
  %7884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7885 = trunc i8 %7884 to i1
  br i1 %7885, label %7886, label %7908

7886:                                             ; preds = %7879
  %7887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7888 = call i32 @fileno(ptr noundef %7887) #10
  %7889 = call i32 @isatty(i32 noundef %7888) #10
  %7890 = icmp ne i32 %7889, 0
  br i1 %7890, label %7891, label %7908

7891:                                             ; preds = %7886
  %7892 = load i32, ptr %166, align 4, !tbaa !5
  %7893 = call ptr @__errno_location() #11
  store i32 %7892, ptr %7893, align 4, !tbaa !5
  %7894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7895 = load i32, ptr @test_count, align 4, !tbaa !5
  %7896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7897 = load i32, ptr %7896, align 4, !tbaa !5
  %7898 = call ptr @s2n_strerror(i32 noundef %7897, ptr noundef @.str.4)
  %7899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7900 = load i32, ptr %7899, align 4, !tbaa !5
  %7901 = call ptr @s2n_strerror_debug(i32 noundef %7900, ptr noundef @.str.4)
  %7902 = call ptr @__errno_location() #11
  %7903 = load i32, ptr %7902, align 4, !tbaa !5
  %7904 = call ptr @strerror(i32 noundef %7903) #10
  %7905 = call ptr @__errno_location() #11
  %7906 = load i32, ptr %7905, align 4, !tbaa !5
  %7907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7894, ptr noundef @.str.2, i32 noundef %7895, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7898, ptr noundef %7901, ptr noundef %7904, i32 noundef %7906) #10
  br label %7925

7908:                                             ; preds = %7886, %7879
  %7909 = load i32, ptr %166, align 4, !tbaa !5
  %7910 = call ptr @__errno_location() #11
  store i32 %7909, ptr %7910, align 4, !tbaa !5
  %7911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7912 = load i32, ptr @test_count, align 4, !tbaa !5
  %7913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  %7915 = call ptr @s2n_strerror(i32 noundef %7914, ptr noundef @.str.4)
  %7916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7917 = load i32, ptr %7916, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror_debug(i32 noundef %7917, ptr noundef @.str.4)
  %7919 = call ptr @__errno_location() #11
  %7920 = load i32, ptr %7919, align 4, !tbaa !5
  %7921 = call ptr @strerror(i32 noundef %7920) #10
  %7922 = call ptr @__errno_location() #11
  %7923 = load i32, ptr %7922, align 4, !tbaa !5
  %7924 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7911, ptr noundef @.str.5, i32 noundef %7912, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7915, ptr noundef %7918, ptr noundef %7921, i32 noundef %7923) #10
  br label %7925

7925:                                             ; preds = %7908, %7891
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #10
  br label %7926

7926:                                             ; preds = %7925
  br label %7927

7927:                                             ; preds = %7926
  call void @exit(i32 noundef 1) #12
  unreachable

7928:                                             ; No predecessors!
  br label %7929

7929:                                             ; preds = %7928
  br label %7930

7930:                                             ; preds = %7929, %7868
  br label %7931

7931:                                             ; preds = %7930
  br label %7932

7932:                                             ; preds = %7931
  br label %7933

7933:                                             ; preds = %7932
  %7934 = load i64, ptr %160, align 8, !tbaa !25
  %7935 = add i64 %7934, 1
  store i64 %7935, ptr %160, align 8, !tbaa !25
  br label %7549, !llvm.loop !36

7936:                                             ; preds = %7552
  br label %7937

7937:                                             ; preds = %7936
  %7938 = load i32, ptr @test_count, align 4, !tbaa !5
  %7939 = add nsw i32 %7938, 1
  store i32 %7939, ptr @test_count, align 4, !tbaa !5
  %7940 = call i32 @s2n_stuffer_free(ptr noundef %10)
  %7941 = icmp eq i32 %7940, -1
  br i1 %7941, label %7942, label %7995

7942:                                             ; preds = %7937
  br label %7943

7943:                                             ; preds = %7942
  br label %7944

7944:                                             ; preds = %7943
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %7945 = call ptr @__errno_location() #11
  %7946 = load i32, ptr %7945, align 4, !tbaa !5
  store i32 %7946, ptr %167, align 4, !tbaa !5
  %7947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7948 = call i32 @s2n_print_stacktrace(ptr noundef %7947)
  %7949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7950 = trunc i8 %7949 to i1
  br i1 %7950, label %7951, label %7973

7951:                                             ; preds = %7944
  %7952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7953 = call i32 @fileno(ptr noundef %7952) #10
  %7954 = call i32 @isatty(i32 noundef %7953) #10
  %7955 = icmp ne i32 %7954, 0
  br i1 %7955, label %7956, label %7973

7956:                                             ; preds = %7951
  %7957 = load i32, ptr %167, align 4, !tbaa !5
  %7958 = call ptr @__errno_location() #11
  store i32 %7957, ptr %7958, align 4, !tbaa !5
  %7959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7960 = load i32, ptr @test_count, align 4, !tbaa !5
  %7961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7962 = load i32, ptr %7961, align 4, !tbaa !5
  %7963 = call ptr @s2n_strerror(i32 noundef %7962, ptr noundef @.str.4)
  %7964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7965 = load i32, ptr %7964, align 4, !tbaa !5
  %7966 = call ptr @s2n_strerror_debug(i32 noundef %7965, ptr noundef @.str.4)
  %7967 = call ptr @__errno_location() #11
  %7968 = load i32, ptr %7967, align 4, !tbaa !5
  %7969 = call ptr @strerror(i32 noundef %7968) #10
  %7970 = call ptr @__errno_location() #11
  %7971 = load i32, ptr %7970, align 4, !tbaa !5
  %7972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7959, ptr noundef @.str.2, i32 noundef %7960, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7963, ptr noundef %7966, ptr noundef %7969, i32 noundef %7971) #10
  br label %7990

7973:                                             ; preds = %7951, %7944
  %7974 = load i32, ptr %167, align 4, !tbaa !5
  %7975 = call ptr @__errno_location() #11
  store i32 %7974, ptr %7975, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = load i32, ptr @test_count, align 4, !tbaa !5
  %7978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7979 = load i32, ptr %7978, align 4, !tbaa !5
  %7980 = call ptr @s2n_strerror(i32 noundef %7979, ptr noundef @.str.4)
  %7981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7982 = load i32, ptr %7981, align 4, !tbaa !5
  %7983 = call ptr @s2n_strerror_debug(i32 noundef %7982, ptr noundef @.str.4)
  %7984 = call ptr @__errno_location() #11
  %7985 = load i32, ptr %7984, align 4, !tbaa !5
  %7986 = call ptr @strerror(i32 noundef %7985) #10
  %7987 = call ptr @__errno_location() #11
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7976, ptr noundef @.str.5, i32 noundef %7977, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7980, ptr noundef %7983, ptr noundef %7986, i32 noundef %7988) #10
  br label %7990

7990:                                             ; preds = %7973, %7956
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %7991

7991:                                             ; preds = %7990
  br label %7992

7992:                                             ; preds = %7991
  call void @exit(i32 noundef 1) #12
  unreachable

7993:                                             ; No predecessors!
  br label %7994

7994:                                             ; preds = %7993
  br label %7995

7995:                                             ; preds = %7994, %7937
  br label %7996

7996:                                             ; preds = %7995
  br label %7997

7997:                                             ; preds = %7996
  call void @llvm.lifetime.end.p0(i64 12, ptr %159) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %157) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr %156) #10
  br label %7998

7998:                                             ; preds = %7997
  br label %7999

7999:                                             ; preds = %7998
  %8000 = call i32 @s2n_cleanup()
  %8001 = icmp eq i32 %8000, -1
  br i1 %8001, label %8002, label %8055

8002:                                             ; preds = %7999
  br label %8003

8003:                                             ; preds = %8002
  br label %8004

8004:                                             ; preds = %8003
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8005 = call ptr @__errno_location() #11
  %8006 = load i32, ptr %8005, align 4, !tbaa !5
  store i32 %8006, ptr %168, align 4, !tbaa !5
  %8007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8008 = call i32 @s2n_print_stacktrace(ptr noundef %8007)
  %8009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8010 = trunc i8 %8009 to i1
  br i1 %8010, label %8011, label %8033

8011:                                             ; preds = %8004
  %8012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8013 = call i32 @fileno(ptr noundef %8012) #10
  %8014 = call i32 @isatty(i32 noundef %8013) #10
  %8015 = icmp ne i32 %8014, 0
  br i1 %8015, label %8016, label %8033

8016:                                             ; preds = %8011
  %8017 = load i32, ptr %168, align 4, !tbaa !5
  %8018 = call ptr @__errno_location() #11
  store i32 %8017, ptr %8018, align 4, !tbaa !5
  %8019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8020 = load i32, ptr @test_count, align 4, !tbaa !5
  %8021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8022 = load i32, ptr %8021, align 4, !tbaa !5
  %8023 = call ptr @s2n_strerror(i32 noundef %8022, ptr noundef @.str.4)
  %8024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8025 = load i32, ptr %8024, align 4, !tbaa !5
  %8026 = call ptr @s2n_strerror_debug(i32 noundef %8025, ptr noundef @.str.4)
  %8027 = call ptr @__errno_location() #11
  %8028 = load i32, ptr %8027, align 4, !tbaa !5
  %8029 = call ptr @strerror(i32 noundef %8028) #10
  %8030 = call ptr @__errno_location() #11
  %8031 = load i32, ptr %8030, align 4, !tbaa !5
  %8032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8019, ptr noundef @.str.2, i32 noundef %8020, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8023, ptr noundef %8026, ptr noundef %8029, i32 noundef %8031) #10
  br label %8050

8033:                                             ; preds = %8011, %8004
  %8034 = load i32, ptr %168, align 4, !tbaa !5
  %8035 = call ptr @__errno_location() #11
  store i32 %8034, ptr %8035, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = load i32, ptr @test_count, align 4, !tbaa !5
  %8038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8039 = load i32, ptr %8038, align 4, !tbaa !5
  %8040 = call ptr @s2n_strerror(i32 noundef %8039, ptr noundef @.str.4)
  %8041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8042 = load i32, ptr %8041, align 4, !tbaa !5
  %8043 = call ptr @s2n_strerror_debug(i32 noundef %8042, ptr noundef @.str.4)
  %8044 = call ptr @__errno_location() #11
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call ptr @strerror(i32 noundef %8045) #10
  %8047 = call ptr @__errno_location() #11
  %8048 = load i32, ptr %8047, align 4, !tbaa !5
  %8049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8036, ptr noundef @.str.5, i32 noundef %8037, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8040, ptr noundef %8043, ptr noundef %8046, i32 noundef %8048) #10
  br label %8050

8050:                                             ; preds = %8033, %8016
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8051

8051:                                             ; preds = %8050
  br label %8052

8052:                                             ; preds = %8051
  call void @exit(i32 noundef 1) #12
  unreachable

8053:                                             ; No predecessors!
  br label %8054

8054:                                             ; preds = %8053
  br label %8055

8055:                                             ; preds = %8054, %7999
  br label %8056

8056:                                             ; preds = %8055
  br label %8057

8057:                                             ; preds = %8056
  br label %8058

8058:                                             ; preds = %8057
  br label %8059

8059:                                             ; preds = %8058
  %8060 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %8061 = icmp eq i32 %8060, -1
  br i1 %8061, label %8062, label %8115

8062:                                             ; preds = %8059
  br label %8063

8063:                                             ; preds = %8062
  br label %8064

8064:                                             ; preds = %8063
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8065 = call ptr @__errno_location() #11
  %8066 = load i32, ptr %8065, align 4, !tbaa !5
  store i32 %8066, ptr %169, align 4, !tbaa !5
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = call i32 @s2n_print_stacktrace(ptr noundef %8067)
  %8069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8070 = trunc i8 %8069 to i1
  br i1 %8070, label %8071, label %8093

8071:                                             ; preds = %8064
  %8072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8073 = call i32 @fileno(ptr noundef %8072) #10
  %8074 = call i32 @isatty(i32 noundef %8073) #10
  %8075 = icmp ne i32 %8074, 0
  br i1 %8075, label %8076, label %8093

8076:                                             ; preds = %8071
  %8077 = load i32, ptr %169, align 4, !tbaa !5
  %8078 = call ptr @__errno_location() #11
  store i32 %8077, ptr %8078, align 4, !tbaa !5
  %8079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8080 = load i32, ptr @test_count, align 4, !tbaa !5
  %8081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8082 = load i32, ptr %8081, align 4, !tbaa !5
  %8083 = call ptr @s2n_strerror(i32 noundef %8082, ptr noundef @.str.4)
  %8084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  %8086 = call ptr @s2n_strerror_debug(i32 noundef %8085, ptr noundef @.str.4)
  %8087 = call ptr @__errno_location() #11
  %8088 = load i32, ptr %8087, align 4, !tbaa !5
  %8089 = call ptr @strerror(i32 noundef %8088) #10
  %8090 = call ptr @__errno_location() #11
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  %8092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8079, ptr noundef @.str.2, i32 noundef %8080, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8083, ptr noundef %8086, ptr noundef %8089, i32 noundef %8091) #10
  br label %8110

8093:                                             ; preds = %8071, %8064
  %8094 = load i32, ptr %169, align 4, !tbaa !5
  %8095 = call ptr @__errno_location() #11
  store i32 %8094, ptr %8095, align 4, !tbaa !5
  %8096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8097 = load i32, ptr @test_count, align 4, !tbaa !5
  %8098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8099 = load i32, ptr %8098, align 4, !tbaa !5
  %8100 = call ptr @s2n_strerror(i32 noundef %8099, ptr noundef @.str.4)
  %8101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8102 = load i32, ptr %8101, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror_debug(i32 noundef %8102, ptr noundef @.str.4)
  %8104 = call ptr @__errno_location() #11
  %8105 = load i32, ptr %8104, align 4, !tbaa !5
  %8106 = call ptr @strerror(i32 noundef %8105) #10
  %8107 = call ptr @__errno_location() #11
  %8108 = load i32, ptr %8107, align 4, !tbaa !5
  %8109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8096, ptr noundef @.str.5, i32 noundef %8097, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 296, ptr noundef %8100, ptr noundef %8103, ptr noundef %8106, i32 noundef %8108) #10
  br label %8110

8110:                                             ; preds = %8093, %8076
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8111

8111:                                             ; preds = %8110
  br label %8112

8112:                                             ; preds = %8111
  call void @exit(i32 noundef 1) #12
  unreachable

8113:                                             ; No predecessors!
  br label %8114

8114:                                             ; preds = %8113
  br label %8115

8115:                                             ; preds = %8114, %8059
  br label %8116

8116:                                             ; preds = %8115
  br label %8117

8117:                                             ; preds = %8116
  %8118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8119 = trunc i8 %8118 to i1
  br i1 %8119, label %8120, label %8136

8120:                                             ; preds = %8117
  %8121 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8122 = call i32 @fileno(ptr noundef %8121) #10
  %8123 = call i32 @isatty(i32 noundef %8122) #10
  %8124 = icmp ne i32 %8123, 0
  br i1 %8124, label %8125, label %8136

8125:                                             ; preds = %8120
  %8126 = load i32, ptr @test_count, align 4, !tbaa !5
  %8127 = icmp ne i32 %8126, 0
  br i1 %8127, label %8128, label %8132

8128:                                             ; preds = %8125
  %8129 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8130 = load i32, ptr @test_count, align 4, !tbaa !5
  %8131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8129, ptr noundef @.str.60, i32 noundef %8130) #10
  br label %8135

8132:                                             ; preds = %8125
  %8133 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8133, ptr noundef @.str.61) #10
  br label %8135

8135:                                             ; preds = %8132, %8128
  br label %8147

8136:                                             ; preds = %8120, %8117
  %8137 = load i32, ptr @test_count, align 4, !tbaa !5
  %8138 = icmp ne i32 %8137, 0
  br i1 %8138, label %8139, label %8143

8139:                                             ; preds = %8136
  %8140 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8141 = load i32, ptr @test_count, align 4, !tbaa !5
  %8142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8140, ptr noundef @.str.62, i32 noundef %8141) #10
  br label %8146

8143:                                             ; preds = %8136
  %8144 = load ptr, ptr @stdout, align 8, !tbaa !9
  %8145 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8144, ptr noundef @.str.63) #10
  br label %8146

8146:                                             ; preds = %8143, %8139
  br label %8147

8147:                                             ; preds = %8146, %8135
  store i32 0, ptr %3, align 4
  store i32 1, ptr %170, align 4
  br label %8152

8148:                                             ; No predecessors!
  br label %8149

8149:                                             ; preds = %8148
  br label %8150

8150:                                             ; preds = %8149
  br label %8151

8151:                                             ; preds = %8150
  store i32 0, ptr %170, align 4
  br label %8152

8152:                                             ; preds = %8151, %8147
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #10
  %8153 = load i32, ptr %170, align 4
  switch i32 %8153, label %8156 [
    i32 0, label %8154
    i32 1, label %8154
  ]

8154:                                             ; preds = %8152, %8152
  %8155 = load i32, ptr %3, align 4
  ret i32 %8155

8156:                                             ; preds = %8152
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #5

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

declare i32 @s2n_stuffer_write_network_order(ptr noundef, i64 noundef, i8 noundef zeroext) #2

declare void @s2n_debug_info_reset() #2

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

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

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

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #9

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

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

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

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) #2

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

declare i32 @s2n_cleanup() #2

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 = { 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 #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn 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 #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { nounwind willreturn memory(read) "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 #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!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 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 28}
!16 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !6, i64 24}
!19 = !{!7, !7, i64 0}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = !{!23, !23, i64 0}
!23 = !{!"short", !7, i64 0}
!24 = distinct !{!24, !21}
!25 = !{!26, !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = distinct !{!27, !21}
!28 = distinct !{!28, !21}
!29 = distinct !{!29, !21}
!30 = distinct !{!30, !21}
!31 = !{!32, !10, i64 0}
!32 = !{!"s2n_stuffer_reservation", !10, i64 0, !6, i64 8, !7, i64 12}
!33 = !{!32, !6, i64 8}
!34 = !{!32, !7, i64 12}
!35 = !{!16, !6, i64 32}
!36 = distinct !{!36, !21}


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

%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_stuffer_reservation = type { ptr, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [89 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [77 x i8], align 1
@__const.main.test_values = external hidden unnamed_addr constant [4 x i32], align 16
@.str.19 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [48 x i8], align 1
@__const.main.test_values.22 = external hidden unnamed_addr constant [4 x i32], align 16
@.str.23 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [75 x i8], align 1
@__const.main.expected_bytes = external hidden unnamed_addr constant [2 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [66 x i8], align 1
@__const.main.expected_bytes.43 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [48 x i8], align 1
@__const.main.test_sizes = external hidden unnamed_addr constant [6 x i16], align 2
@.str.54 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca %struct.s2n_stuffer, align 8
  %4 = alloca i8, align 1
  %5 = alloca i16, align 2
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i16, align 2
  %9 = alloca %struct.s2n_stuffer_reservation, align 8
  %10 = alloca [2 x i8], align 1
  %11 = alloca i16, align 2
  %12 = alloca %struct.s2n_stuffer_reservation, align 8
  %13 = alloca [3 x i8], align 1
  %14 = alloca i16, align 2
  %15 = alloca %struct.s2n_stuffer_reservation, align 8
  %16 = alloca %struct.s2n_stuffer_reservation, align 8
  %17 = alloca i16, align 2
  %18 = alloca %struct.s2n_stuffer_reservation, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %19 = load ptr, ptr @stdout, align 8, !tbaa !9
  %20 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #10
  %21 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22 = tail call i32 @fflush(ptr noundef %21)
  %23 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %24 = icmp eq i32 %23, -1
  br i1 %24, label %25, label %49

25:                                               ; preds = %2
  %26 = tail call ptr @__errno_location() #11
  %27 = load i32, ptr %26, align 4, !tbaa !5
  %28 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29 = tail call i32 @s2n_print_stacktrace(ptr noundef %28) #10
  %30 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31 = trunc nuw i8 %30 to i1
  br i1 %31, label %32, label %36

32:                                               ; preds = %25
  %33 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34 = tail call i32 @fileno(ptr noundef %33) #10
  %35 = tail call i32 @isatty(i32 noundef %34) #10
  %.not452 = icmp eq i32 %35, 0
  br i1 %.not452, label %36, label %37

36:                                               ; preds = %32, %25
  br label %37

37:                                               ; preds = %32, %36
  %.str.5.sink = phi ptr [ @.str.5, %36 ], [ @.str.2, %32 ]
  store i32 %27, ptr %26, align 4, !tbaa !5
  %38 = load ptr, ptr @stderr, align 8, !tbaa !9
  %39 = load i32, ptr @test_count, align 4, !tbaa !5
  %40 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %41 = load i32, ptr %40, align 4, !tbaa !5
  %42 = tail call ptr @s2n_strerror(i32 noundef %41, ptr noundef nonnull @.str.4) #10
  %43 = load i32, ptr %40, align 4, !tbaa !5
  %44 = tail call ptr @s2n_strerror_debug(i32 noundef %43, ptr noundef nonnull @.str.4) #10
  %45 = load i32, ptr %26, align 4, !tbaa !5
  %46 = tail call ptr @strerror(i32 noundef %45) #10
  %47 = load i32, ptr %26, align 4, !tbaa !5
  %48 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %38, ptr noundef nonnull %.str.5.sink, i32 noundef %39, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %42, ptr noundef %44, ptr noundef %46, i32 noundef %47) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

49:                                               ; preds = %2
  %50 = load i32, ptr @test_count, align 4, !tbaa !5
  %51 = add nsw i32 %50, 1
  store i32 %51, ptr @test_count, align 4, !tbaa !5
  %52 = tail call i32 @s2n_enable_atexit() #10
  %53 = icmp eq i32 %52, -1
  br i1 %53, label %54, label %78

54:                                               ; preds = %49
  %55 = tail call ptr @__errno_location() #11
  %56 = load i32, ptr %55, align 4, !tbaa !5
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = tail call i32 @s2n_print_stacktrace(ptr noundef %57) #10
  %59 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %60 = trunc nuw i8 %59 to i1
  br i1 %60, label %61, label %65

61:                                               ; preds = %54
  %62 = load ptr, ptr @stderr, align 8, !tbaa !9
  %63 = tail call i32 @fileno(ptr noundef %62) #10
  %64 = tail call i32 @isatty(i32 noundef %63) #10
  %.not451 = icmp eq i32 %64, 0
  br i1 %.not451, label %65, label %66

65:                                               ; preds = %61, %54
  br label %66

66:                                               ; preds = %61, %65
  %.str.5.sink490 = phi ptr [ @.str.5, %65 ], [ @.str.2, %61 ]
  store i32 %56, ptr %55, align 4, !tbaa !5
  %67 = load ptr, ptr @stderr, align 8, !tbaa !9
  %68 = load i32, ptr @test_count, align 4, !tbaa !5
  %69 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %70 = load i32, ptr %69, align 4, !tbaa !5
  %71 = tail call ptr @s2n_strerror(i32 noundef %70, ptr noundef nonnull @.str.4) #10
  %72 = load i32, ptr %69, align 4, !tbaa !5
  %73 = tail call ptr @s2n_strerror_debug(i32 noundef %72, ptr noundef nonnull @.str.4) #10
  %74 = load i32, ptr %55, align 4, !tbaa !5
  %75 = tail call ptr @strerror(i32 noundef %74) #10
  %76 = load i32, ptr %55, align 4, !tbaa !5
  %77 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %67, ptr noundef nonnull %.str.5.sink490, i32 noundef %68, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %71, ptr noundef %73, ptr noundef %75, i32 noundef %76) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

78:                                               ; preds = %49
  %79 = tail call i32 @s2n_init() #10
  %80 = icmp eq i32 %79, -1
  br i1 %80, label %81, label %105

81:                                               ; preds = %78
  %82 = tail call ptr @__errno_location() #11
  %83 = load i32, ptr %82, align 4, !tbaa !5
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = tail call i32 @s2n_print_stacktrace(ptr noundef %84) #10
  %86 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %87 = trunc nuw i8 %86 to i1
  br i1 %87, label %88, label %92

88:                                               ; preds = %81
  %89 = load ptr, ptr @stderr, align 8, !tbaa !9
  %90 = tail call i32 @fileno(ptr noundef %89) #10
  %91 = tail call i32 @isatty(i32 noundef %90) #10
  %.not450 = icmp eq i32 %91, 0
  br i1 %.not450, label %92, label %93

92:                                               ; preds = %88, %81
  br label %93

93:                                               ; preds = %88, %92
  %.str.5.sink501 = phi ptr [ @.str.5, %92 ], [ @.str.2, %88 ]
  store i32 %83, ptr %82, align 4, !tbaa !5
  %94 = load ptr, ptr @stderr, align 8, !tbaa !9
  %95 = load i32, ptr @test_count, align 4, !tbaa !5
  %96 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %97 = load i32, ptr %96, align 4, !tbaa !5
  %98 = tail call ptr @s2n_strerror(i32 noundef %97, ptr noundef nonnull @.str.4) #10
  %99 = load i32, ptr %96, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror_debug(i32 noundef %99, ptr noundef nonnull @.str.4) #10
  %101 = load i32, ptr %82, align 4, !tbaa !5
  %102 = tail call ptr @strerror(i32 noundef %101) #10
  %103 = load i32, ptr %82, align 4, !tbaa !5
  %104 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %94, ptr noundef nonnull %.str.5.sink501, i32 noundef %95, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %98, ptr noundef %100, ptr noundef %102, i32 noundef %103) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

105:                                              ; preds = %78
  %106 = load i32, ptr @test_count, align 4, !tbaa !5
  %107 = add nsw i32 %106, 1
  store i32 %107, ptr @test_count, align 4, !tbaa !5
  %108 = tail call i32 (...) @s2n_disable_tls13_in_test() #10
  %109 = icmp eq i32 %108, -1
  br i1 %109, label %110, label %134

110:                                              ; preds = %105
  %111 = tail call ptr @__errno_location() #11
  %112 = load i32, ptr %111, align 4, !tbaa !5
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = tail call i32 @s2n_print_stacktrace(ptr noundef %113) #10
  %115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %116 = trunc nuw i8 %115 to i1
  br i1 %116, label %117, label %121

117:                                              ; preds = %110
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = tail call i32 @fileno(ptr noundef %118) #10
  %120 = tail call i32 @isatty(i32 noundef %119) #10
  %.not449 = icmp eq i32 %120, 0
  br i1 %.not449, label %121, label %122

121:                                              ; preds = %117, %110
  br label %122

122:                                              ; preds = %117, %121
  %.str.5.sink512 = phi ptr [ @.str.5, %121 ], [ @.str.2, %117 ]
  store i32 %112, ptr %111, align 4, !tbaa !5
  %123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %124 = load i32, ptr @test_count, align 4, !tbaa !5
  %125 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %126 = load i32, ptr %125, align 4, !tbaa !5
  %127 = tail call ptr @s2n_strerror(i32 noundef %126, ptr noundef nonnull @.str.4) #10
  %128 = load i32, ptr %125, align 4, !tbaa !5
  %129 = tail call ptr @s2n_strerror_debug(i32 noundef %128, ptr noundef nonnull @.str.4) #10
  %130 = load i32, ptr %111, align 4, !tbaa !5
  %131 = tail call ptr @strerror(i32 noundef %130) #10
  %132 = load i32, ptr %111, align 4, !tbaa !5
  %133 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %123, ptr noundef nonnull %.str.5.sink512, i32 noundef %124, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 29, ptr noundef %127, ptr noundef %129, ptr noundef %131, i32 noundef %132) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

134:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false)
  %135 = load i32, ptr @test_count, align 4, !tbaa !5
  %136 = add nsw i32 %135, 1
  store i32 %136, ptr @test_count, align 4, !tbaa !5
  %137 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #10
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %163

139:                                              ; preds = %134
  %140 = tail call ptr @__errno_location() #11
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = call i32 @s2n_print_stacktrace(ptr noundef %142) #10
  %144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %146, label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = call i32 @fileno(ptr noundef %147) #10
  %149 = call i32 @isatty(i32 noundef %148) #10
  %.not448 = icmp eq i32 %149, 0
  br i1 %.not448, label %150, label %151

150:                                              ; preds = %146, %139
  br label %151

151:                                              ; preds = %146, %150
  %.str.5.sink523 = phi ptr [ @.str.5, %150 ], [ @.str.2, %146 ]
  store i32 %141, ptr %140, align 4, !tbaa !5
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #10
  %157 = load i32, ptr %154, align 4, !tbaa !5
  %158 = call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #10
  %159 = load i32, ptr %140, align 4, !tbaa !5
  %160 = call ptr @strerror(i32 noundef %159) #10
  %161 = load i32, ptr %140, align 4, !tbaa !5
  %162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef nonnull %.str.5.sink523, i32 noundef %153, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 35, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #12
  call void @exit(i32 noundef 1) #13
  unreachable

163:                                              ; preds = %134
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @test_count, align 4, !tbaa !5
  %166 = call i32 @s2n_stuffer_write_network_order(ptr noundef null, i64 noundef 0, i8 noundef zeroext 1) #10
  %167 = icmp eq i32 %166, -1
  br i1 %167, label %192, label %168

168:                                              ; preds = %163
  %169 = tail call ptr @__errno_location() #11
  %170 = load i32, ptr %169, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = call i32 @s2n_print_stacktrace(ptr noundef %171) #10
  %173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %175, label %179

175:                                              ; preds = %168
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = call i32 @fileno(ptr noundef %176) #10
  %178 = call i32 @isatty(i32 noundef %177) #10
  %.not = icmp eq i32 %178, 0
  br i1 %.not, label %179, label %180

179:                                              ; preds = %175, %168
  br label %180

180:                                              ; preds = %175, %179
  %.str.5.sink534 = phi ptr [ @.str.5, %179 ], [ @.str.2, %175 ]
  store i32 %170, ptr %169, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = call ptr @s2n_strerror(i32 noundef %184, ptr noundef nonnull @.str.4) #10
  %186 = load i32, ptr %183, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef nonnull @.str.4) #10
  %188 = load i32, ptr %169, align 4, !tbaa !5
  %189 = call ptr @strerror(i32 noundef %188) #10
  %190 = load i32, ptr %169, align 4, !tbaa !5
  %191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull %.str.5.sink534, i32 noundef %182, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %185, ptr noundef %187, ptr noundef %189, i32 noundef %190) #12
  call void @exit(i32 noundef 1) #13
  unreachable

192:                                              ; preds = %163
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr @test_count, align 4, !tbaa !5
  %195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = icmp eq i32 %196, 0
  br i1 %197, label %198, label %221

198:                                              ; preds = %192
  %199 = tail call ptr @__errno_location() #11
  %200 = load i32, ptr %199, align 4, !tbaa !5
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = call i32 @s2n_print_stacktrace(ptr noundef %201) #10
  %203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %204 = trunc nuw i8 %203 to i1
  br i1 %204, label %205, label %209

205:                                              ; preds = %198
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = call i32 @fileno(ptr noundef %206) #10
  %208 = call i32 @isatty(i32 noundef %207) #10
  %.not447 = icmp eq i32 %208, 0
  br i1 %.not447, label %209, label %210

209:                                              ; preds = %205, %198
  br label %210

210:                                              ; preds = %205, %209
  %.str.5.sink545 = phi ptr [ @.str.5, %209 ], [ @.str.2, %205 ]
  store i32 %200, ptr %199, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %213 = load i32, ptr %195, align 4, !tbaa !5
  %214 = call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.4) #10
  %215 = load i32, ptr %195, align 4, !tbaa !5
  %216 = call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.4) #10
  %217 = load i32, ptr %199, align 4, !tbaa !5
  %218 = call ptr @strerror(i32 noundef %217) #10
  %219 = load i32, ptr %199, align 4, !tbaa !5
  %220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %211, ptr noundef nonnull %.str.5.sink545, i32 noundef %212, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #12
  call void @exit(i32 noundef 1) #13
  unreachable

221:                                              ; preds = %192
  %222 = add nsw i32 %193, 2
  store i32 %222, ptr @test_count, align 4, !tbaa !5
  %223 = call ptr @s2n_strerror_debug(i32 noundef %196, ptr noundef nonnull @.str.4) #10
  %224 = icmp eq ptr %223, null
  br i1 %224, label %225, label %248

225:                                              ; preds = %221
  %226 = tail call ptr @__errno_location() #11
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %229 = call i32 @s2n_print_stacktrace(ptr noundef %228) #10
  %230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %231 = trunc nuw i8 %230 to i1
  br i1 %231, label %232, label %236

232:                                              ; preds = %225
  %233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %234 = call i32 @fileno(ptr noundef %233) #10
  %235 = call i32 @isatty(i32 noundef %234) #10
  %.not446 = icmp eq i32 %235, 0
  br i1 %.not446, label %236, label %237

236:                                              ; preds = %232, %225
  br label %237

237:                                              ; preds = %232, %236
  %.str.5.sink554 = phi ptr [ @.str.5, %236 ], [ @.str.2, %232 ]
  store i32 %227, ptr %226, align 4, !tbaa !5
  %238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %239 = load i32, ptr @test_count, align 4, !tbaa !5
  %240 = load i32, ptr %195, align 4, !tbaa !5
  %241 = call ptr @s2n_strerror(i32 noundef %240, ptr noundef nonnull @.str.4) #10
  %242 = load i32, ptr %195, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror_debug(i32 noundef %242, ptr noundef nonnull @.str.4) #10
  %244 = load i32, ptr %226, align 4, !tbaa !5
  %245 = call ptr @strerror(i32 noundef %244) #10
  %246 = load i32, ptr %226, align 4, !tbaa !5
  %247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %238, ptr noundef nonnull %.str.5.sink554, i32 noundef %239, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %241, ptr noundef %243, ptr noundef %245, i32 noundef %246) #12
  call void @exit(i32 noundef 1) #13
  unreachable

248:                                              ; preds = %221
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %249 = tail call ptr @__errno_location() #11
  store i32 0, ptr %249, align 4, !tbaa !5
  %250 = load i32, ptr @test_count, align 4, !tbaa !5
  %251 = add nsw i32 %250, 1
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef 0, i8 noundef zeroext 0) #10
  %253 = icmp eq i32 %252, -1
  br i1 %253, label %254, label %276

254:                                              ; preds = %248
  %255 = load i32, ptr %249, align 4, !tbaa !5
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = call i32 @s2n_print_stacktrace(ptr noundef %256) #10
  %258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %259 = trunc nuw i8 %258 to i1
  br i1 %259, label %260, label %264

260:                                              ; preds = %254
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = call i32 @fileno(ptr noundef %261) #10
  %263 = call i32 @isatty(i32 noundef %262) #10
  %.not445 = icmp eq i32 %263, 0
  br i1 %.not445, label %264, label %265

264:                                              ; preds = %260, %254
  br label %265

265:                                              ; preds = %260, %264
  %.str.5.sink563 = phi ptr [ @.str.5, %264 ], [ @.str.2, %260 ]
  store i32 %255, ptr %249, align 4, !tbaa !5
  %266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %267 = load i32, ptr @test_count, align 4, !tbaa !5
  %268 = load i32, ptr %195, align 4, !tbaa !5
  %269 = call ptr @s2n_strerror(i32 noundef %268, ptr noundef nonnull @.str.4) #10
  %270 = load i32, ptr %195, align 4, !tbaa !5
  %271 = call ptr @s2n_strerror_debug(i32 noundef %270, ptr noundef nonnull @.str.4) #10
  %272 = load i32, ptr %249, align 4, !tbaa !5
  %273 = call ptr @strerror(i32 noundef %272) #10
  %274 = load i32, ptr %249, align 4, !tbaa !5
  %275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %266, ptr noundef nonnull %.str.5.sink563, i32 noundef %267, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %269, ptr noundef %271, ptr noundef %273, i32 noundef %274) #12
  call void @exit(i32 noundef 1) #13
  unreachable

276:                                              ; preds = %248
  %277 = load i32, ptr @test_count, align 4, !tbaa !5
  %278 = add nsw i32 %277, 1
  store i32 %278, ptr @test_count, align 4, !tbaa !5
  %279 = getelementptr inbounds i8, ptr %3, i64 28
  %280 = load i32, ptr %279, align 4, !tbaa !15
  %281 = getelementptr inbounds i8, ptr %3, i64 24
  %282 = load i32, ptr %281, align 8, !tbaa !18
  %283 = icmp eq i32 %280, %282
  br i1 %283, label %306, label %284

284:                                              ; preds = %276
  %285 = load i32, ptr %249, align 4, !tbaa !5
  %286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %287 = call i32 @s2n_print_stacktrace(ptr noundef %286) #10
  %288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %289 = trunc nuw i8 %288 to i1
  br i1 %289, label %290, label %294

290:                                              ; preds = %284
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = call i32 @fileno(ptr noundef %291) #10
  %293 = call i32 @isatty(i32 noundef %292) #10
  %.not323 = icmp eq i32 %293, 0
  br i1 %.not323, label %294, label %295

294:                                              ; preds = %290, %284
  br label %295

295:                                              ; preds = %290, %294
  %.str.5.sink572 = phi ptr [ @.str.5, %294 ], [ @.str.2, %290 ]
  store i32 %285, ptr %249, align 4, !tbaa !5
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = load i32, ptr %195, align 4, !tbaa !5
  %299 = call ptr @s2n_strerror(i32 noundef %298, ptr noundef nonnull @.str.4) #10
  %300 = load i32, ptr %195, align 4, !tbaa !5
  %301 = call ptr @s2n_strerror_debug(i32 noundef %300, ptr noundef nonnull @.str.4) #10
  %302 = load i32, ptr %249, align 4, !tbaa !5
  %303 = call ptr @strerror(i32 noundef %302) #10
  %304 = load i32, ptr %249, align 4, !tbaa !5
  %305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %296, ptr noundef nonnull %.str.5.sink572, i32 noundef %297, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %299, ptr noundef %301, ptr noundef %303, i32 noundef %304) #12
  call void @exit(i32 noundef 1) #13
  unreachable

306:                                              ; preds = %276
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %4) #10
  store i8 0, ptr %4, align 1, !tbaa !19
  br label %309

307:                                              ; preds = %363
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 256
  br i1 %exitcond.not, label %308, label %309, !llvm.loop !20

308:                                              ; preds = %307
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %4) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %5) #10
  store i16 0, ptr %5, align 2, !tbaa !22
  br label %398

309:                                              ; preds = %306, %307
  %310 = phi i32 [ %278, %306 ], [ %365, %307 ]
  %indvars.iv = phi i64 [ 0, %306 ], [ %indvars.iv.next, %307 ]
  %311 = add nsw i32 %310, 1
  store i32 %311, ptr @test_count, align 4, !tbaa !5
  %312 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %indvars.iv, i8 noundef zeroext 1) #10
  %313 = icmp eq i32 %312, -1
  br i1 %313, label %314, label %336

314:                                              ; preds = %309
  %315 = load i32, ptr %249, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = call i32 @s2n_print_stacktrace(ptr noundef %316) #10
  %318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %319 = trunc nuw i8 %318 to i1
  br i1 %319, label %320, label %324

320:                                              ; preds = %314
  %321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %322 = call i32 @fileno(ptr noundef %321) #10
  %323 = call i32 @isatty(i32 noundef %322) #10
  %.not444 = icmp eq i32 %323, 0
  br i1 %.not444, label %324, label %325

324:                                              ; preds = %320, %314
  br label %325

325:                                              ; preds = %320, %324
  %.str.5.sink581 = phi ptr [ @.str.5, %324 ], [ @.str.2, %320 ]
  store i32 %315, ptr %249, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = load i32, ptr %195, align 4, !tbaa !5
  %329 = call ptr @s2n_strerror(i32 noundef %328, ptr noundef nonnull @.str.4) #10
  %330 = load i32, ptr %195, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror_debug(i32 noundef %330, ptr noundef nonnull @.str.4) #10
  %332 = load i32, ptr %249, align 4, !tbaa !5
  %333 = call ptr @strerror(i32 noundef %332) #10
  %334 = load i32, ptr %249, align 4, !tbaa !5
  %335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %326, ptr noundef nonnull %.str.5.sink581, i32 noundef %327, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 52, ptr noundef %329, ptr noundef %331, ptr noundef %333, i32 noundef %334) #12
  call void @exit(i32 noundef 1) #13
  unreachable

336:                                              ; preds = %309
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = add nsw i32 %337, 1
  store i32 %338, ptr @test_count, align 4, !tbaa !5
  %339 = call i32 @s2n_stuffer_read_uint8(ptr noundef nonnull %3, ptr noundef nonnull %4) #10
  %340 = icmp eq i32 %339, -1
  br i1 %340, label %341, label %363

341:                                              ; preds = %336
  %342 = load i32, ptr %249, align 4, !tbaa !5
  %343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %344 = call i32 @s2n_print_stacktrace(ptr noundef %343) #10
  %345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %346 = trunc nuw i8 %345 to i1
  br i1 %346, label %347, label %351

347:                                              ; preds = %341
  %348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %349 = call i32 @fileno(ptr noundef %348) #10
  %350 = call i32 @isatty(i32 noundef %349) #10
  %.not443 = icmp eq i32 %350, 0
  br i1 %.not443, label %351, label %352

351:                                              ; preds = %347, %341
  br label %352

352:                                              ; preds = %347, %351
  %.str.5.sink590 = phi ptr [ @.str.5, %351 ], [ @.str.2, %347 ]
  store i32 %342, ptr %249, align 4, !tbaa !5
  %353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %354 = load i32, ptr @test_count, align 4, !tbaa !5
  %355 = load i32, ptr %195, align 4, !tbaa !5
  %356 = call ptr @s2n_strerror(i32 noundef %355, ptr noundef nonnull @.str.4) #10
  %357 = load i32, ptr %195, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror_debug(i32 noundef %357, ptr noundef nonnull @.str.4) #10
  %359 = load i32, ptr %249, align 4, !tbaa !5
  %360 = call ptr @strerror(i32 noundef %359) #10
  %361 = load i32, ptr %249, align 4, !tbaa !5
  %362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %353, ptr noundef nonnull %.str.5.sink590, i32 noundef %354, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %356, ptr noundef %358, ptr noundef %360, i32 noundef %361) #12
  call void @exit(i32 noundef 1) #13
  unreachable

363:                                              ; preds = %336
  %364 = load i32, ptr @test_count, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr @test_count, align 4, !tbaa !5
  %366 = load i8, ptr %4, align 1, !tbaa !19
  %367 = zext i8 %366 to i64
  %368 = icmp eq i64 %indvars.iv, %367
  br i1 %368, label %307, label %369

369:                                              ; preds = %363
  %370 = load i32, ptr %249, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 @s2n_print_stacktrace(ptr noundef %371) #10
  %373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %374 = trunc nuw i8 %373 to i1
  br i1 %374, label %375, label %379

375:                                              ; preds = %369
  %376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %377 = call i32 @fileno(ptr noundef %376) #10
  %378 = call i32 @isatty(i32 noundef %377) #10
  %.not442 = icmp eq i32 %378, 0
  br i1 %.not442, label %379, label %380

379:                                              ; preds = %375, %369
  br label %380

380:                                              ; preds = %375, %379
  %.str.5.sink599 = phi ptr [ @.str.5, %379 ], [ @.str.2, %375 ]
  store i32 %370, ptr %249, align 4, !tbaa !5
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = load i32, ptr @test_count, align 4, !tbaa !5
  %383 = load i32, ptr %195, align 4, !tbaa !5
  %384 = call ptr @s2n_strerror(i32 noundef %383, ptr noundef nonnull @.str.4) #10
  %385 = load i32, ptr %195, align 4, !tbaa !5
  %386 = call ptr @s2n_strerror_debug(i32 noundef %385, ptr noundef nonnull @.str.4) #10
  %387 = load i32, ptr %249, align 4, !tbaa !5
  %388 = call ptr @strerror(i32 noundef %387) #10
  %389 = load i32, ptr %249, align 4, !tbaa !5
  %390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %381, ptr noundef nonnull %.str.5.sink599, i32 noundef %382, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %384, ptr noundef %386, ptr noundef %388, i32 noundef %389) #12
  call void @exit(i32 noundef 1) #13
  unreachable

391:                                              ; preds = %452
  %indvars.iv.next464 = add nuw nsw i64 %indvars.iv463, 1
  %exitcond466.not = icmp eq i64 %indvars.iv.next464, 65535
  br i1 %exitcond466.not, label %392, label %398, !llvm.loop !24

392:                                              ; preds = %391
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %5) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %6) #10
  store i32 0, ptr %6, align 4, !tbaa !5
  %393 = add nsw i32 %453, 2
  store i32 %393, ptr @test_count, align 4, !tbaa !5
  %394 = load i32, ptr @__const.main.test_values, align 16, !tbaa !5
  %395 = zext i32 %394 to i64
  %396 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %395, i8 noundef zeroext 3) #10
  %397 = icmp eq i32 %396, -1
  br i1 %397, label %528, label %550

398:                                              ; preds = %308, %391
  %399 = phi i32 [ %365, %308 ], [ %454, %391 ]
  %indvars.iv463 = phi i64 [ 0, %308 ], [ %indvars.iv.next464, %391 ]
  %400 = add nsw i32 %399, 1
  store i32 %400, ptr @test_count, align 4, !tbaa !5
  %401 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %indvars.iv463, i8 noundef zeroext 2) #10
  %402 = icmp eq i32 %401, -1
  br i1 %402, label %403, label %425

403:                                              ; preds = %398
  %404 = load i32, ptr %249, align 4, !tbaa !5
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = call i32 @s2n_print_stacktrace(ptr noundef %405) #10
  %407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %408 = trunc nuw i8 %407 to i1
  br i1 %408, label %409, label %413

409:                                              ; preds = %403
  %410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %411 = call i32 @fileno(ptr noundef %410) #10
  %412 = call i32 @isatty(i32 noundef %411) #10
  %.not441 = icmp eq i32 %412, 0
  br i1 %.not441, label %413, label %414

413:                                              ; preds = %409, %403
  br label %414

414:                                              ; preds = %409, %413
  %.str.5.sink608 = phi ptr [ @.str.5, %413 ], [ @.str.2, %409 ]
  store i32 %404, ptr %249, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = load i32, ptr %195, align 4, !tbaa !5
  %418 = call ptr @s2n_strerror(i32 noundef %417, ptr noundef nonnull @.str.4) #10
  %419 = load i32, ptr %195, align 4, !tbaa !5
  %420 = call ptr @s2n_strerror_debug(i32 noundef %419, ptr noundef nonnull @.str.4) #10
  %421 = load i32, ptr %249, align 4, !tbaa !5
  %422 = call ptr @strerror(i32 noundef %421) #10
  %423 = load i32, ptr %249, align 4, !tbaa !5
  %424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %415, ptr noundef nonnull %.str.5.sink608, i32 noundef %416, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %418, ptr noundef %420, ptr noundef %422, i32 noundef %423) #12
  call void @exit(i32 noundef 1) #13
  unreachable

425:                                              ; preds = %398
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = add nsw i32 %426, 1
  store i32 %427, ptr @test_count, align 4, !tbaa !5
  %428 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %5) #10
  %429 = icmp eq i32 %428, -1
  br i1 %429, label %430, label %452

430:                                              ; preds = %425
  %431 = load i32, ptr %249, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432) #10
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %435 = trunc nuw i8 %434 to i1
  br i1 %435, label %436, label %440

436:                                              ; preds = %430
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = call i32 @fileno(ptr noundef %437) #10
  %439 = call i32 @isatty(i32 noundef %438) #10
  %.not440 = icmp eq i32 %439, 0
  br i1 %.not440, label %440, label %441

440:                                              ; preds = %436, %430
  br label %441

441:                                              ; preds = %436, %440
  %.str.5.sink617 = phi ptr [ @.str.5, %440 ], [ @.str.2, %436 ]
  store i32 %431, ptr %249, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = load i32, ptr %195, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror(i32 noundef %444, ptr noundef nonnull @.str.4) #10
  %446 = load i32, ptr %195, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror_debug(i32 noundef %446, ptr noundef nonnull @.str.4) #10
  %448 = load i32, ptr %249, align 4, !tbaa !5
  %449 = call ptr @strerror(i32 noundef %448) #10
  %450 = load i32, ptr %249, align 4, !tbaa !5
  %451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef nonnull %.str.5.sink617, i32 noundef %443, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %445, ptr noundef %447, ptr noundef %449, i32 noundef %450) #12
  call void @exit(i32 noundef 1) #13
  unreachable

452:                                              ; preds = %425
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = add nsw i32 %453, 1
  store i32 %454, ptr @test_count, align 4, !tbaa !5
  %455 = load i16, ptr %5, align 2, !tbaa !22
  %456 = zext i16 %455 to i64
  %457 = icmp eq i64 %indvars.iv463, %456
  br i1 %457, label %391, label %458

458:                                              ; preds = %452
  %459 = load i32, ptr %249, align 4, !tbaa !5
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = call i32 @s2n_print_stacktrace(ptr noundef %460) #10
  %462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %463 = trunc nuw i8 %462 to i1
  br i1 %463, label %464, label %468

464:                                              ; preds = %458
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = call i32 @fileno(ptr noundef %465) #10
  %467 = call i32 @isatty(i32 noundef %466) #10
  %.not439 = icmp eq i32 %467, 0
  br i1 %.not439, label %468, label %469

468:                                              ; preds = %464, %458
  br label %469

469:                                              ; preds = %464, %468
  %.str.5.sink626 = phi ptr [ @.str.5, %468 ], [ @.str.2, %464 ]
  store i32 %459, ptr %249, align 4, !tbaa !5
  %470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %471 = load i32, ptr @test_count, align 4, !tbaa !5
  %472 = load i32, ptr %195, align 4, !tbaa !5
  %473 = call ptr @s2n_strerror(i32 noundef %472, ptr noundef nonnull @.str.4) #10
  %474 = load i32, ptr %195, align 4, !tbaa !5
  %475 = call ptr @s2n_strerror_debug(i32 noundef %474, ptr noundef nonnull @.str.4) #10
  %476 = load i32, ptr %249, align 4, !tbaa !5
  %477 = call ptr @strerror(i32 noundef %476) #10
  %478 = load i32, ptr %249, align 4, !tbaa !5
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %470, ptr noundef nonnull %.str.5.sink626, i32 noundef %471, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %473, ptr noundef %475, ptr noundef %477, i32 noundef %478) #12
  call void @exit(i32 noundef 1) #13
  unreachable

480:                                              ; preds = %577
  %481 = add nsw i32 %578, 2
  store i32 %481, ptr @test_count, align 4, !tbaa !5
  %482 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values, i64 4), align 4, !tbaa !5
  %483 = zext i32 %482 to i64
  %484 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %483, i8 noundef zeroext 3) #10
  %485 = icmp eq i32 %484, -1
  br i1 %485, label %528, label %486

486:                                              ; preds = %480
  %487 = load i32, ptr @test_count, align 4, !tbaa !5
  %488 = add nsw i32 %487, 1
  store i32 %488, ptr @test_count, align 4, !tbaa !5
  %489 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %6) #10
  %490 = icmp eq i32 %489, -1
  br i1 %490, label %555, label %491

491:                                              ; preds = %486
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = add nsw i32 %492, 1
  store i32 %493, ptr @test_count, align 4, !tbaa !5
  %494 = load i32, ptr %6, align 4, !tbaa !5
  %495 = icmp eq i32 %482, %494
  br i1 %495, label %496, label %582

496:                                              ; preds = %491
  %497 = add nsw i32 %492, 2
  store i32 %497, ptr @test_count, align 4, !tbaa !5
  %498 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values, i64 8), align 8, !tbaa !5
  %499 = zext i32 %498 to i64
  %500 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %499, i8 noundef zeroext 3) #10
  %501 = icmp eq i32 %500, -1
  br i1 %501, label %528, label %502

502:                                              ; preds = %496
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = add nsw i32 %503, 1
  store i32 %504, ptr @test_count, align 4, !tbaa !5
  %505 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %6) #10
  %506 = icmp eq i32 %505, -1
  br i1 %506, label %555, label %507

507:                                              ; preds = %502
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = load i32, ptr %6, align 4, !tbaa !5
  %511 = icmp eq i32 %498, %510
  br i1 %511, label %512, label %582

512:                                              ; preds = %507
  %513 = add nsw i32 %508, 2
  store i32 %513, ptr @test_count, align 4, !tbaa !5
  %514 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values, i64 12), align 4, !tbaa !5
  %515 = zext i32 %514 to i64
  %516 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %515, i8 noundef zeroext 3) #10
  %517 = icmp eq i32 %516, -1
  br i1 %517, label %528, label %518

518:                                              ; preds = %512
  %519 = load i32, ptr @test_count, align 4, !tbaa !5
  %520 = add nsw i32 %519, 1
  store i32 %520, ptr @test_count, align 4, !tbaa !5
  %521 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %6) #10
  %522 = icmp eq i32 %521, -1
  br i1 %522, label %555, label %523

523:                                              ; preds = %518
  %524 = load i32, ptr @test_count, align 4, !tbaa !5
  %525 = add nsw i32 %524, 1
  store i32 %525, ptr @test_count, align 4, !tbaa !5
  %526 = load i32, ptr %6, align 4, !tbaa !5
  %527 = icmp eq i32 %514, %526
  br i1 %527, label %.preheader454, label %582

528:                                              ; preds = %512, %496, %480, %392
  %529 = load i32, ptr %249, align 4, !tbaa !5
  %530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %531 = call i32 @s2n_print_stacktrace(ptr noundef %530) #10
  %532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %533 = trunc nuw i8 %532 to i1
  br i1 %533, label %534, label %538

534:                                              ; preds = %528
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @fileno(ptr noundef %535) #10
  %537 = call i32 @isatty(i32 noundef %536) #10
  %.not438 = icmp eq i32 %537, 0
  br i1 %.not438, label %538, label %539

538:                                              ; preds = %534, %528
  br label %539

539:                                              ; preds = %534, %538
  %.str.5.sink635 = phi ptr [ @.str.5, %538 ], [ @.str.2, %534 ]
  store i32 %529, ptr %249, align 4, !tbaa !5
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = load i32, ptr @test_count, align 4, !tbaa !5
  %542 = load i32, ptr %195, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror(i32 noundef %542, ptr noundef nonnull @.str.4) #10
  %544 = load i32, ptr %195, align 4, !tbaa !5
  %545 = call ptr @s2n_strerror_debug(i32 noundef %544, ptr noundef nonnull @.str.4) #10
  %546 = load i32, ptr %249, align 4, !tbaa !5
  %547 = call ptr @strerror(i32 noundef %546) #10
  %548 = load i32, ptr %249, align 4, !tbaa !5
  %549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %540, ptr noundef nonnull %.str.5.sink635, i32 noundef %541, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %543, ptr noundef %545, ptr noundef %547, i32 noundef %548) #12
  call void @exit(i32 noundef 1) #13
  unreachable

550:                                              ; preds = %392
  %551 = load i32, ptr @test_count, align 4, !tbaa !5
  %552 = add nsw i32 %551, 1
  store i32 %552, ptr @test_count, align 4, !tbaa !5
  %553 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %6) #10
  %554 = icmp eq i32 %553, -1
  br i1 %554, label %555, label %577

555:                                              ; preds = %518, %502, %486, %550
  %556 = load i32, ptr %249, align 4, !tbaa !5
  %557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %558 = call i32 @s2n_print_stacktrace(ptr noundef %557) #10
  %559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %560 = trunc nuw i8 %559 to i1
  br i1 %560, label %561, label %565

561:                                              ; preds = %555
  %562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %563 = call i32 @fileno(ptr noundef %562) #10
  %564 = call i32 @isatty(i32 noundef %563) #10
  %.not437 = icmp eq i32 %564, 0
  br i1 %.not437, label %565, label %566

565:                                              ; preds = %561, %555
  br label %566

566:                                              ; preds = %561, %565
  %.str.5.sink644 = phi ptr [ @.str.5, %565 ], [ @.str.2, %561 ]
  store i32 %556, ptr %249, align 4, !tbaa !5
  %567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %568 = load i32, ptr @test_count, align 4, !tbaa !5
  %569 = load i32, ptr %195, align 4, !tbaa !5
  %570 = call ptr @s2n_strerror(i32 noundef %569, ptr noundef nonnull @.str.4) #10
  %571 = load i32, ptr %195, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef nonnull @.str.4) #10
  %573 = load i32, ptr %249, align 4, !tbaa !5
  %574 = call ptr @strerror(i32 noundef %573) #10
  %575 = load i32, ptr %249, align 4, !tbaa !5
  %576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %567, ptr noundef nonnull %.str.5.sink644, i32 noundef %568, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %570, ptr noundef %572, ptr noundef %574, i32 noundef %575) #12
  call void @exit(i32 noundef 1) #13
  unreachable

577:                                              ; preds = %550
  %578 = load i32, ptr @test_count, align 4, !tbaa !5
  %579 = add nsw i32 %578, 1
  store i32 %579, ptr @test_count, align 4, !tbaa !5
  %580 = load i32, ptr %6, align 4, !tbaa !5
  %581 = icmp eq i32 %394, %580
  br i1 %581, label %480, label %582

582:                                              ; preds = %523, %507, %491, %577
  %583 = load i32, ptr %249, align 4, !tbaa !5
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = call i32 @s2n_print_stacktrace(ptr noundef %584) #10
  %586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %587 = trunc nuw i8 %586 to i1
  br i1 %587, label %588, label %592

588:                                              ; preds = %582
  %589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %590 = call i32 @fileno(ptr noundef %589) #10
  %591 = call i32 @isatty(i32 noundef %590) #10
  %.not436 = icmp eq i32 %591, 0
  br i1 %.not436, label %592, label %593

592:                                              ; preds = %588, %582
  br label %593

593:                                              ; preds = %588, %592
  %.str.5.sink653 = phi ptr [ @.str.5, %592 ], [ @.str.2, %588 ]
  store i32 %583, ptr %249, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %596 = load i32, ptr %195, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror(i32 noundef %596, ptr noundef nonnull @.str.4) #10
  %598 = load i32, ptr %195, align 4, !tbaa !5
  %599 = call ptr @s2n_strerror_debug(i32 noundef %598, ptr noundef nonnull @.str.4) #10
  %600 = load i32, ptr %249, align 4, !tbaa !5
  %601 = call ptr @strerror(i32 noundef %600) #10
  %602 = load i32, ptr %249, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef nonnull %.str.5.sink653, i32 noundef %595, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %597, ptr noundef %599, ptr noundef %601, i32 noundef %602) #12
  call void @exit(i32 noundef 1) #13
  unreachable

604:                                              ; preds = %665
  %indvars.iv.next469 = add nuw nsw i64 %indvars.iv468, 257
  %605 = icmp ult i64 %indvars.iv468, 16776701
  br i1 %605, label %.preheader454, label %606, !llvm.loop !25

606:                                              ; preds = %604
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %6) #10
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %7) #10
  store i32 0, ptr %7, align 4, !tbaa !5
  %607 = add nsw i32 %666, 2
  store i32 %607, ptr @test_count, align 4, !tbaa !5
  %608 = load i32, ptr @__const.main.test_values.22, align 16, !tbaa !5
  %609 = zext i32 %608 to i64
  %610 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %609, i8 noundef zeroext 4) #10
  %611 = icmp eq i32 %610, -1
  br i1 %611, label %741, label %763

.preheader454:                                    ; preds = %523, %604
  %612 = phi i32 [ %667, %604 ], [ %525, %523 ]
  %indvars.iv468 = phi i64 [ %indvars.iv.next469, %604 ], [ 0, %523 ]
  %613 = add nsw i32 %612, 1
  store i32 %613, ptr @test_count, align 4, !tbaa !5
  %614 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %indvars.iv468, i8 noundef zeroext 3) #10
  %615 = icmp eq i32 %614, -1
  br i1 %615, label %616, label %638

616:                                              ; preds = %.preheader454
  %617 = load i32, ptr %249, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 @s2n_print_stacktrace(ptr noundef %618) #10
  %620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %621 = trunc nuw i8 %620 to i1
  br i1 %621, label %622, label %626

622:                                              ; preds = %616
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = call i32 @fileno(ptr noundef %623) #10
  %625 = call i32 @isatty(i32 noundef %624) #10
  %.not435 = icmp eq i32 %625, 0
  br i1 %.not435, label %626, label %627

626:                                              ; preds = %622, %616
  br label %627

627:                                              ; preds = %622, %626
  %.str.5.sink662 = phi ptr [ @.str.5, %626 ], [ @.str.2, %622 ]
  store i32 %617, ptr %249, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = load i32, ptr %195, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef nonnull @.str.4) #10
  %632 = load i32, ptr %195, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror_debug(i32 noundef %632, ptr noundef nonnull @.str.4) #10
  %634 = load i32, ptr %249, align 4, !tbaa !5
  %635 = call ptr @strerror(i32 noundef %634) #10
  %636 = load i32, ptr %249, align 4, !tbaa !5
  %637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %628, ptr noundef nonnull %.str.5.sink662, i32 noundef %629, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %631, ptr noundef %633, ptr noundef %635, i32 noundef %636) #12
  call void @exit(i32 noundef 1) #13
  unreachable

638:                                              ; preds = %.preheader454
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = add nsw i32 %639, 1
  store i32 %640, ptr @test_count, align 4, !tbaa !5
  %641 = call i32 @s2n_stuffer_read_uint24(ptr noundef nonnull %3, ptr noundef nonnull %6) #10
  %642 = icmp eq i32 %641, -1
  br i1 %642, label %643, label %665

643:                                              ; preds = %638
  %644 = load i32, ptr %249, align 4, !tbaa !5
  %645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %646 = call i32 @s2n_print_stacktrace(ptr noundef %645) #10
  %647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %648 = trunc nuw i8 %647 to i1
  br i1 %648, label %649, label %653

649:                                              ; preds = %643
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = call i32 @fileno(ptr noundef %650) #10
  %652 = call i32 @isatty(i32 noundef %651) #10
  %.not434 = icmp eq i32 %652, 0
  br i1 %.not434, label %653, label %654

653:                                              ; preds = %649, %643
  br label %654

654:                                              ; preds = %649, %653
  %.str.5.sink671 = phi ptr [ @.str.5, %653 ], [ @.str.2, %649 ]
  store i32 %644, ptr %249, align 4, !tbaa !5
  %655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %656 = load i32, ptr @test_count, align 4, !tbaa !5
  %657 = load i32, ptr %195, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror(i32 noundef %657, ptr noundef nonnull @.str.4) #10
  %659 = load i32, ptr %195, align 4, !tbaa !5
  %660 = call ptr @s2n_strerror_debug(i32 noundef %659, ptr noundef nonnull @.str.4) #10
  %661 = load i32, ptr %249, align 4, !tbaa !5
  %662 = call ptr @strerror(i32 noundef %661) #10
  %663 = load i32, ptr %249, align 4, !tbaa !5
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %655, ptr noundef nonnull %.str.5.sink671, i32 noundef %656, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %658, ptr noundef %660, ptr noundef %662, i32 noundef %663) #12
  call void @exit(i32 noundef 1) #13
  unreachable

665:                                              ; preds = %638
  %666 = load i32, ptr @test_count, align 4, !tbaa !5
  %667 = add nsw i32 %666, 1
  store i32 %667, ptr @test_count, align 4, !tbaa !5
  %668 = load i32, ptr %6, align 4, !tbaa !5
  %669 = zext i32 %668 to i64
  %670 = icmp eq i64 %indvars.iv468, %669
  br i1 %670, label %604, label %671

671:                                              ; preds = %665
  %672 = load i32, ptr %249, align 4, !tbaa !5
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @s2n_print_stacktrace(ptr noundef %673) #10
  %675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %676 = trunc nuw i8 %675 to i1
  br i1 %676, label %677, label %681

677:                                              ; preds = %671
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @fileno(ptr noundef %678) #10
  %680 = call i32 @isatty(i32 noundef %679) #10
  %.not433 = icmp eq i32 %680, 0
  br i1 %.not433, label %681, label %682

681:                                              ; preds = %677, %671
  br label %682

682:                                              ; preds = %677, %681
  %.str.5.sink680 = phi ptr [ @.str.5, %681 ], [ @.str.2, %677 ]
  store i32 %672, ptr %249, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = load i32, ptr %195, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror(i32 noundef %685, ptr noundef nonnull @.str.4) #10
  %687 = load i32, ptr %195, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror_debug(i32 noundef %687, ptr noundef nonnull @.str.4) #10
  %689 = load i32, ptr %249, align 4, !tbaa !5
  %690 = call ptr @strerror(i32 noundef %689) #10
  %691 = load i32, ptr %249, align 4, !tbaa !5
  %692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef nonnull %.str.5.sink680, i32 noundef %684, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %686, ptr noundef %688, ptr noundef %690, i32 noundef %691) #12
  call void @exit(i32 noundef 1) #13
  unreachable

693:                                              ; preds = %790
  %694 = add nsw i32 %791, 2
  store i32 %694, ptr @test_count, align 4, !tbaa !5
  %695 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values.22, i64 4), align 4, !tbaa !5
  %696 = zext i32 %695 to i64
  %697 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %696, i8 noundef zeroext 4) #10
  %698 = icmp eq i32 %697, -1
  br i1 %698, label %741, label %699

699:                                              ; preds = %693
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = add nsw i32 %700, 1
  store i32 %701, ptr @test_count, align 4, !tbaa !5
  %702 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %7) #10
  %703 = icmp eq i32 %702, -1
  br i1 %703, label %768, label %704

704:                                              ; preds = %699
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr @test_count, align 4, !tbaa !5
  %707 = load i32, ptr %7, align 4, !tbaa !5
  %708 = icmp eq i32 %695, %707
  br i1 %708, label %709, label %795

709:                                              ; preds = %704
  %710 = add nsw i32 %705, 2
  store i32 %710, ptr @test_count, align 4, !tbaa !5
  %711 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values.22, i64 8), align 8, !tbaa !5
  %712 = zext i32 %711 to i64
  %713 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %712, i8 noundef zeroext 4) #10
  %714 = icmp eq i32 %713, -1
  br i1 %714, label %741, label %715

715:                                              ; preds = %709
  %716 = load i32, ptr @test_count, align 4, !tbaa !5
  %717 = add nsw i32 %716, 1
  store i32 %717, ptr @test_count, align 4, !tbaa !5
  %718 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %7) #10
  %719 = icmp eq i32 %718, -1
  br i1 %719, label %768, label %720

720:                                              ; preds = %715
  %721 = load i32, ptr @test_count, align 4, !tbaa !5
  %722 = add nsw i32 %721, 1
  store i32 %722, ptr @test_count, align 4, !tbaa !5
  %723 = load i32, ptr %7, align 4, !tbaa !5
  %724 = icmp eq i32 %711, %723
  br i1 %724, label %725, label %795

725:                                              ; preds = %720
  %726 = add nsw i32 %721, 2
  store i32 %726, ptr @test_count, align 4, !tbaa !5
  %727 = load i32, ptr getelementptr inbounds (i8, ptr @__const.main.test_values.22, i64 12), align 4, !tbaa !5
  %728 = zext i32 %727 to i64
  %729 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %728, i8 noundef zeroext 4) #10
  %730 = icmp eq i32 %729, -1
  br i1 %730, label %741, label %731

731:                                              ; preds = %725
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @test_count, align 4, !tbaa !5
  %734 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %7) #10
  %735 = icmp eq i32 %734, -1
  br i1 %735, label %768, label %736

736:                                              ; preds = %731
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = add nsw i32 %737, 1
  store i32 %738, ptr @test_count, align 4, !tbaa !5
  %739 = load i32, ptr %7, align 4, !tbaa !5
  %740 = icmp eq i32 %727, %739
  br i1 %740, label %.preheader453, label %795

741:                                              ; preds = %725, %709, %693, %606
  %742 = load i32, ptr %249, align 4, !tbaa !5
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @s2n_print_stacktrace(ptr noundef %743) #10
  %745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %746 = trunc nuw i8 %745 to i1
  br i1 %746, label %747, label %751

747:                                              ; preds = %741
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @fileno(ptr noundef %748) #10
  %750 = call i32 @isatty(i32 noundef %749) #10
  %.not432 = icmp eq i32 %750, 0
  br i1 %.not432, label %751, label %752

751:                                              ; preds = %747, %741
  br label %752

752:                                              ; preds = %747, %751
  %.str.5.sink689 = phi ptr [ @.str.5, %751 ], [ @.str.2, %747 ]
  store i32 %742, ptr %249, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = load i32, ptr %195, align 4, !tbaa !5
  %756 = call ptr @s2n_strerror(i32 noundef %755, ptr noundef nonnull @.str.4) #10
  %757 = load i32, ptr %195, align 4, !tbaa !5
  %758 = call ptr @s2n_strerror_debug(i32 noundef %757, ptr noundef nonnull @.str.4) #10
  %759 = load i32, ptr %249, align 4, !tbaa !5
  %760 = call ptr @strerror(i32 noundef %759) #10
  %761 = load i32, ptr %249, align 4, !tbaa !5
  %762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef nonnull %.str.5.sink689, i32 noundef %754, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %756, ptr noundef %758, ptr noundef %760, i32 noundef %761) #12
  call void @exit(i32 noundef 1) #13
  unreachable

763:                                              ; preds = %606
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = add nsw i32 %764, 1
  store i32 %765, ptr @test_count, align 4, !tbaa !5
  %766 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %7) #10
  %767 = icmp eq i32 %766, -1
  br i1 %767, label %768, label %790

768:                                              ; preds = %731, %715, %699, %763
  %769 = load i32, ptr %249, align 4, !tbaa !5
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = call i32 @s2n_print_stacktrace(ptr noundef %770) #10
  %772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %773 = trunc nuw i8 %772 to i1
  br i1 %773, label %774, label %778

774:                                              ; preds = %768
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = call i32 @fileno(ptr noundef %775) #10
  %777 = call i32 @isatty(i32 noundef %776) #10
  %.not431 = icmp eq i32 %777, 0
  br i1 %.not431, label %778, label %779

778:                                              ; preds = %774, %768
  br label %779

779:                                              ; preds = %774, %778
  %.str.5.sink698 = phi ptr [ @.str.5, %778 ], [ @.str.2, %774 ]
  store i32 %769, ptr %249, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = load i32, ptr @test_count, align 4, !tbaa !5
  %782 = load i32, ptr %195, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror(i32 noundef %782, ptr noundef nonnull @.str.4) #10
  %784 = load i32, ptr %195, align 4, !tbaa !5
  %785 = call ptr @s2n_strerror_debug(i32 noundef %784, ptr noundef nonnull @.str.4) #10
  %786 = load i32, ptr %249, align 4, !tbaa !5
  %787 = call ptr @strerror(i32 noundef %786) #10
  %788 = load i32, ptr %249, align 4, !tbaa !5
  %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %780, ptr noundef nonnull %.str.5.sink698, i32 noundef %781, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %783, ptr noundef %785, ptr noundef %787, i32 noundef %788) #12
  call void @exit(i32 noundef 1) #13
  unreachable

790:                                              ; preds = %763
  %791 = load i32, ptr @test_count, align 4, !tbaa !5
  %792 = add nsw i32 %791, 1
  store i32 %792, ptr @test_count, align 4, !tbaa !5
  %793 = load i32, ptr %7, align 4, !tbaa !5
  %794 = icmp eq i32 %608, %793
  br i1 %794, label %693, label %795

795:                                              ; preds = %736, %720, %704, %790
  %796 = load i32, ptr %249, align 4, !tbaa !5
  %797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %798 = call i32 @s2n_print_stacktrace(ptr noundef %797) #10
  %799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %800 = trunc nuw i8 %799 to i1
  br i1 %800, label %801, label %805

801:                                              ; preds = %795
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = call i32 @fileno(ptr noundef %802) #10
  %804 = call i32 @isatty(i32 noundef %803) #10
  %.not430 = icmp eq i32 %804, 0
  br i1 %.not430, label %805, label %806

805:                                              ; preds = %801, %795
  br label %806

806:                                              ; preds = %801, %805
  %.str.5.sink707 = phi ptr [ @.str.5, %805 ], [ @.str.2, %801 ]
  store i32 %796, ptr %249, align 4, !tbaa !5
  %807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %808 = load i32, ptr @test_count, align 4, !tbaa !5
  %809 = load i32, ptr %195, align 4, !tbaa !5
  %810 = call ptr @s2n_strerror(i32 noundef %809, ptr noundef nonnull @.str.4) #10
  %811 = load i32, ptr %195, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror_debug(i32 noundef %811, ptr noundef nonnull @.str.4) #10
  %813 = load i32, ptr %249, align 4, !tbaa !5
  %814 = call ptr @strerror(i32 noundef %813) #10
  %815 = load i32, ptr %249, align 4, !tbaa !5
  %816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %807, ptr noundef nonnull %.str.5.sink707, i32 noundef %808, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %810, ptr noundef %812, ptr noundef %814, i32 noundef %815) #12
  call void @exit(i32 noundef 1) #13
  unreachable

817:                                              ; preds = %876
  %indvars.iv.next473 = add nuw nsw i64 %indvars.iv472, 65537
  %818 = icmp ult i64 %indvars.iv472, 4294836221
  br i1 %818, label %.preheader453, label %819, !llvm.loop !26

819:                                              ; preds = %817
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %7) #10
  %820 = add nsw i32 %877, 2
  store i32 %820, ptr @test_count, align 4, !tbaa !5
  %821 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #10
  %822 = icmp eq i32 %821, -1
  br i1 %822, label %904, label %926

.preheader453:                                    ; preds = %736, %817
  %823 = phi i32 [ %878, %817 ], [ %738, %736 ]
  %indvars.iv472 = phi i64 [ %indvars.iv.next473, %817 ], [ 0, %736 ]
  %824 = add nsw i32 %823, 1
  store i32 %824, ptr @test_count, align 4, !tbaa !5
  %825 = call i32 @s2n_stuffer_write_network_order(ptr noundef nonnull %3, i64 noundef %indvars.iv472, i8 noundef zeroext 4) #10
  %826 = icmp eq i32 %825, -1
  br i1 %826, label %827, label %849

827:                                              ; preds = %.preheader453
  %828 = load i32, ptr %249, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = call i32 @s2n_print_stacktrace(ptr noundef %829) #10
  %831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %832 = trunc nuw i8 %831 to i1
  br i1 %832, label %833, label %837

833:                                              ; preds = %827
  %834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %835 = call i32 @fileno(ptr noundef %834) #10
  %836 = call i32 @isatty(i32 noundef %835) #10
  %.not429 = icmp eq i32 %836, 0
  br i1 %.not429, label %837, label %838

837:                                              ; preds = %833, %827
  br label %838

838:                                              ; preds = %833, %837
  %.str.5.sink716 = phi ptr [ @.str.5, %837 ], [ @.str.2, %833 ]
  store i32 %828, ptr %249, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = load i32, ptr @test_count, align 4, !tbaa !5
  %841 = load i32, ptr %195, align 4, !tbaa !5
  %842 = call ptr @s2n_strerror(i32 noundef %841, ptr noundef nonnull @.str.4) #10
  %843 = load i32, ptr %195, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror_debug(i32 noundef %843, ptr noundef nonnull @.str.4) #10
  %845 = load i32, ptr %249, align 4, !tbaa !5
  %846 = call ptr @strerror(i32 noundef %845) #10
  %847 = load i32, ptr %249, align 4, !tbaa !5
  %848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %839, ptr noundef nonnull %.str.5.sink716, i32 noundef %840, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %842, ptr noundef %844, ptr noundef %846, i32 noundef %847) #12
  call void @exit(i32 noundef 1) #13
  unreachable

849:                                              ; preds = %.preheader453
  %850 = load i32, ptr @test_count, align 4, !tbaa !5
  %851 = add nsw i32 %850, 1
  store i32 %851, ptr @test_count, align 4, !tbaa !5
  %852 = call i32 @s2n_stuffer_read_uint32(ptr noundef nonnull %3, ptr noundef nonnull %7) #10
  %853 = icmp eq i32 %852, -1
  br i1 %853, label %854, label %876

854:                                              ; preds = %849
  %855 = load i32, ptr %249, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = call i32 @s2n_print_stacktrace(ptr noundef %856) #10
  %858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %859 = trunc nuw i8 %858 to i1
  br i1 %859, label %860, label %864

860:                                              ; preds = %854
  %861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %862 = call i32 @fileno(ptr noundef %861) #10
  %863 = call i32 @isatty(i32 noundef %862) #10
  %.not428 = icmp eq i32 %863, 0
  br i1 %.not428, label %864, label %865

864:                                              ; preds = %860, %854
  br label %865

865:                                              ; preds = %860, %864
  %.str.5.sink725 = phi ptr [ @.str.5, %864 ], [ @.str.2, %860 ]
  store i32 %855, ptr %249, align 4, !tbaa !5
  %866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %867 = load i32, ptr @test_count, align 4, !tbaa !5
  %868 = load i32, ptr %195, align 4, !tbaa !5
  %869 = call ptr @s2n_strerror(i32 noundef %868, ptr noundef nonnull @.str.4) #10
  %870 = load i32, ptr %195, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror_debug(i32 noundef %870, ptr noundef nonnull @.str.4) #10
  %872 = load i32, ptr %249, align 4, !tbaa !5
  %873 = call ptr @strerror(i32 noundef %872) #10
  %874 = load i32, ptr %249, align 4, !tbaa !5
  %875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %866, ptr noundef nonnull %.str.5.sink725, i32 noundef %867, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %869, ptr noundef %871, ptr noundef %873, i32 noundef %874) #12
  call void @exit(i32 noundef 1) #13
  unreachable

876:                                              ; preds = %849
  %877 = load i32, ptr @test_count, align 4, !tbaa !5
  %878 = add nsw i32 %877, 1
  store i32 %878, ptr @test_count, align 4, !tbaa !5
  %879 = load i32, ptr %7, align 4, !tbaa !5
  %880 = zext i32 %879 to i64
  %881 = icmp eq i64 %indvars.iv472, %880
  br i1 %881, label %817, label %882

882:                                              ; preds = %876
  %883 = load i32, ptr %249, align 4, !tbaa !5
  %884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %885 = call i32 @s2n_print_stacktrace(ptr noundef %884) #10
  %886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %887 = trunc nuw i8 %886 to i1
  br i1 %887, label %888, label %892

888:                                              ; preds = %882
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @fileno(ptr noundef %889) #10
  %891 = call i32 @isatty(i32 noundef %890) #10
  %.not427 = icmp eq i32 %891, 0
  br i1 %.not427, label %892, label %893

892:                                              ; preds = %888, %882
  br label %893

893:                                              ; preds = %888, %892
  %.str.5.sink734 = phi ptr [ @.str.5, %892 ], [ @.str.2, %888 ]
  store i32 %883, ptr %249, align 4, !tbaa !5
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = load i32, ptr @test_count, align 4, !tbaa !5
  %896 = load i32, ptr %195, align 4, !tbaa !5
  %897 = call ptr @s2n_strerror(i32 noundef %896, ptr noundef nonnull @.str.4) #10
  %898 = load i32, ptr %195, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror_debug(i32 noundef %898, ptr noundef nonnull @.str.4) #10
  %900 = load i32, ptr %249, align 4, !tbaa !5
  %901 = call ptr @strerror(i32 noundef %900) #10
  %902 = load i32, ptr %249, align 4, !tbaa !5
  %903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %894, ptr noundef nonnull %.str.5.sink734, i32 noundef %895, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %897, ptr noundef %899, ptr noundef %901, i32 noundef %902) #12
  call void @exit(i32 noundef 1) #13
  unreachable

904:                                              ; preds = %819
  %905 = load i32, ptr %249, align 4, !tbaa !5
  %906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %907 = call i32 @s2n_print_stacktrace(ptr noundef %906) #10
  %908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %909 = trunc nuw i8 %908 to i1
  br i1 %909, label %910, label %914

910:                                              ; preds = %904
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = call i32 @fileno(ptr noundef %911) #10
  %913 = call i32 @isatty(i32 noundef %912) #10
  %.not426 = icmp eq i32 %913, 0
  br i1 %.not426, label %914, label %915

914:                                              ; preds = %910, %904
  br label %915

915:                                              ; preds = %910, %914
  %.str.5.sink743 = phi ptr [ @.str.5, %914 ], [ @.str.2, %910 ]
  store i32 %905, ptr %249, align 4, !tbaa !5
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = load i32, ptr @test_count, align 4, !tbaa !5
  %918 = load i32, ptr %195, align 4, !tbaa !5
  %919 = call ptr @s2n_strerror(i32 noundef %918, ptr noundef nonnull @.str.4) #10
  %920 = load i32, ptr %195, align 4, !tbaa !5
  %921 = call ptr @s2n_strerror_debug(i32 noundef %920, ptr noundef nonnull @.str.4) #10
  %922 = load i32, ptr %249, align 4, !tbaa !5
  %923 = call ptr @strerror(i32 noundef %922) #10
  %924 = load i32, ptr %249, align 4, !tbaa !5
  %925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %916, ptr noundef nonnull %.str.5.sink743, i32 noundef %917, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %919, ptr noundef %921, ptr noundef %923, i32 noundef %924) #12
  call void @exit(i32 noundef 1) #13
  unreachable

926:                                              ; preds = %819
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %8) #10
  store i16 0, ptr %8, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %9) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %9, i8 0, i64 16, i1 false)
  %927 = load i32, ptr @test_count, align 4, !tbaa !5
  %928 = add nsw i32 %927, 1
  store i32 %928, ptr @test_count, align 4, !tbaa !5
  %929 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #10
  %930 = icmp eq i32 %929, -1
  br i1 %930, label %931, label %953

931:                                              ; preds = %926
  %932 = load i32, ptr %249, align 4, !tbaa !5
  %933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %934 = call i32 @s2n_print_stacktrace(ptr noundef %933) #10
  %935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %936 = trunc nuw i8 %935 to i1
  br i1 %936, label %937, label %941

937:                                              ; preds = %931
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @fileno(ptr noundef %938) #10
  %940 = call i32 @isatty(i32 noundef %939) #10
  %.not425 = icmp eq i32 %940, 0
  br i1 %.not425, label %941, label %942

941:                                              ; preds = %937, %931
  br label %942

942:                                              ; preds = %937, %941
  %.str.5.sink752 = phi ptr [ @.str.5, %941 ], [ @.str.2, %937 ]
  store i32 %932, ptr %249, align 4, !tbaa !5
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = load i32, ptr @test_count, align 4, !tbaa !5
  %945 = load i32, ptr %195, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror(i32 noundef %945, ptr noundef nonnull @.str.4) #10
  %947 = load i32, ptr %195, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror_debug(i32 noundef %947, ptr noundef nonnull @.str.4) #10
  %949 = load i32, ptr %249, align 4, !tbaa !5
  %950 = call ptr @strerror(i32 noundef %949) #10
  %951 = load i32, ptr %249, align 4, !tbaa !5
  %952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %943, ptr noundef nonnull %.str.5.sink752, i32 noundef %944, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %946, ptr noundef %948, ptr noundef %950, i32 noundef %951) #12
  call void @exit(i32 noundef 1) #13
  unreachable

953:                                              ; preds = %926
  %954 = load i32, ptr @test_count, align 4, !tbaa !5
  %955 = add nsw i32 %954, 1
  store i32 %955, ptr @test_count, align 4, !tbaa !5
  %956 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef null, ptr noundef nonnull %9) #10
  %957 = icmp eq i32 %956, -1
  br i1 %957, label %980, label %958

958:                                              ; preds = %953
  %959 = load i32, ptr %249, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = call i32 @s2n_print_stacktrace(ptr noundef %960) #10
  %962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %963 = trunc nuw i8 %962 to i1
  br i1 %963, label %964, label %968

964:                                              ; preds = %958
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @fileno(ptr noundef %965) #10
  %967 = call i32 @isatty(i32 noundef %966) #10
  %.not324 = icmp eq i32 %967, 0
  br i1 %.not324, label %968, label %969

968:                                              ; preds = %964, %958
  br label %969

969:                                              ; preds = %964, %968
  %.str.5.sink761 = phi ptr [ @.str.5, %968 ], [ @.str.2, %964 ]
  store i32 %959, ptr %249, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = load i32, ptr %195, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror(i32 noundef %972, ptr noundef nonnull @.str.4) #10
  %974 = load i32, ptr %195, align 4, !tbaa !5
  %975 = call ptr @s2n_strerror_debug(i32 noundef %974, ptr noundef nonnull @.str.4) #10
  %976 = load i32, ptr %249, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #10
  %978 = load i32, ptr %249, align 4, !tbaa !5
  %979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %970, ptr noundef nonnull %.str.5.sink761, i32 noundef %971, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %973, ptr noundef %975, ptr noundef %977, i32 noundef %978) #12
  call void @exit(i32 noundef 1) #13
  unreachable

980:                                              ; preds = %953
  %981 = load i32, ptr @test_count, align 4, !tbaa !5
  %982 = add nsw i32 %981, 1
  store i32 %982, ptr @test_count, align 4, !tbaa !5
  %983 = load i32, ptr %195, align 4, !tbaa !5
  %984 = icmp eq i32 %983, 0
  br i1 %984, label %985, label %1007

985:                                              ; preds = %980
  %986 = load i32, ptr %249, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987) #10
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc nuw i8 %989 to i1
  br i1 %990, label %991, label %995

991:                                              ; preds = %985
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #10
  %994 = call i32 @isatty(i32 noundef %993) #10
  %.not424 = icmp eq i32 %994, 0
  br i1 %.not424, label %995, label %996

995:                                              ; preds = %991, %985
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink770 = phi ptr [ @.str.5, %995 ], [ @.str.2, %991 ]
  store i32 %986, ptr %249, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = load i32, ptr %195, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef nonnull @.str.4) #10
  %1001 = load i32, ptr %195, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.4) #10
  %1003 = load i32, ptr %249, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #10
  %1005 = load i32, ptr %249, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink770, i32 noundef %998, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1007:                                             ; preds = %980
  %1008 = add nsw i32 %981, 2
  store i32 %1008, ptr @test_count, align 4, !tbaa !5
  %1009 = call ptr @s2n_strerror_debug(i32 noundef %983, ptr noundef nonnull @.str.4) #10
  %1010 = icmp eq ptr %1009, null
  br i1 %1010, label %1011, label %1033

1011:                                             ; preds = %1007
  %1012 = load i32, ptr %249, align 4, !tbaa !5
  %1013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1014 = call i32 @s2n_print_stacktrace(ptr noundef %1013) #10
  %1015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1016 = trunc nuw i8 %1015 to i1
  br i1 %1016, label %1017, label %1021

1017:                                             ; preds = %1011
  %1018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1019 = call i32 @fileno(ptr noundef %1018) #10
  %1020 = call i32 @isatty(i32 noundef %1019) #10
  %.not423 = icmp eq i32 %1020, 0
  br i1 %.not423, label %1021, label %1022

1021:                                             ; preds = %1017, %1011
  br label %1022

1022:                                             ; preds = %1017, %1021
  %.str.5.sink779 = phi ptr [ @.str.5, %1021 ], [ @.str.2, %1017 ]
  store i32 %1012, ptr %249, align 4, !tbaa !5
  %1023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1024 = load i32, ptr @test_count, align 4, !tbaa !5
  %1025 = load i32, ptr %195, align 4, !tbaa !5
  %1026 = call ptr @s2n_strerror(i32 noundef %1025, ptr noundef nonnull @.str.4) #10
  %1027 = load i32, ptr %195, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror_debug(i32 noundef %1027, ptr noundef nonnull @.str.4) #10
  %1029 = load i32, ptr %249, align 4, !tbaa !5
  %1030 = call ptr @strerror(i32 noundef %1029) #10
  %1031 = load i32, ptr %249, align 4, !tbaa !5
  %1032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1023, ptr noundef nonnull %.str.5.sink779, i32 noundef %1024, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %1026, ptr noundef %1028, ptr noundef %1030, i32 noundef %1031) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1033:                                             ; preds = %1007
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %1034 = load i32, ptr @test_count, align 4, !tbaa !5
  %1035 = add nsw i32 %1034, 1
  store i32 %1035, ptr @test_count, align 4, !tbaa !5
  %1036 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef null) #10
  %1037 = icmp eq i32 %1036, -1
  br i1 %1037, label %1060, label %1038

1038:                                             ; preds = %1033
  %1039 = load i32, ptr %249, align 4, !tbaa !5
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 @s2n_print_stacktrace(ptr noundef %1040) #10
  %1042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1043 = trunc nuw i8 %1042 to i1
  br i1 %1043, label %1044, label %1048

1044:                                             ; preds = %1038
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = call i32 @fileno(ptr noundef %1045) #10
  %1047 = call i32 @isatty(i32 noundef %1046) #10
  %.not325 = icmp eq i32 %1047, 0
  br i1 %.not325, label %1048, label %1049

1048:                                             ; preds = %1044, %1038
  br label %1049

1049:                                             ; preds = %1044, %1048
  %.str.5.sink788 = phi ptr [ @.str.5, %1048 ], [ @.str.2, %1044 ]
  store i32 %1039, ptr %249, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = load i32, ptr @test_count, align 4, !tbaa !5
  %1052 = load i32, ptr %195, align 4, !tbaa !5
  %1053 = call ptr @s2n_strerror(i32 noundef %1052, ptr noundef nonnull @.str.4) #10
  %1054 = load i32, ptr %195, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror_debug(i32 noundef %1054, ptr noundef nonnull @.str.4) #10
  %1056 = load i32, ptr %249, align 4, !tbaa !5
  %1057 = call ptr @strerror(i32 noundef %1056) #10
  %1058 = load i32, ptr %249, align 4, !tbaa !5
  %1059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1050, ptr noundef nonnull %.str.5.sink788, i32 noundef %1051, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1053, ptr noundef %1055, ptr noundef %1057, i32 noundef %1058) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1060:                                             ; preds = %1033
  %1061 = load i32, ptr @test_count, align 4, !tbaa !5
  %1062 = add nsw i32 %1061, 1
  store i32 %1062, ptr @test_count, align 4, !tbaa !5
  %1063 = load i32, ptr %195, align 4, !tbaa !5
  %1064 = icmp eq i32 %1063, 0
  br i1 %1064, label %1065, label %1087

1065:                                             ; preds = %1060
  %1066 = load i32, ptr %249, align 4, !tbaa !5
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1068 = call i32 @s2n_print_stacktrace(ptr noundef %1067) #10
  %1069 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1070 = trunc nuw i8 %1069 to i1
  br i1 %1070, label %1071, label %1075

1071:                                             ; preds = %1065
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @fileno(ptr noundef %1072) #10
  %1074 = call i32 @isatty(i32 noundef %1073) #10
  %.not422 = icmp eq i32 %1074, 0
  br i1 %.not422, label %1075, label %1076

1075:                                             ; preds = %1071, %1065
  br label %1076

1076:                                             ; preds = %1071, %1075
  %.str.5.sink797 = phi ptr [ @.str.5, %1075 ], [ @.str.2, %1071 ]
  store i32 %1066, ptr %249, align 4, !tbaa !5
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = load i32, ptr @test_count, align 4, !tbaa !5
  %1079 = load i32, ptr %195, align 4, !tbaa !5
  %1080 = call ptr @s2n_strerror(i32 noundef %1079, ptr noundef nonnull @.str.4) #10
  %1081 = load i32, ptr %195, align 4, !tbaa !5
  %1082 = call ptr @s2n_strerror_debug(i32 noundef %1081, ptr noundef nonnull @.str.4) #10
  %1083 = load i32, ptr %249, align 4, !tbaa !5
  %1084 = call ptr @strerror(i32 noundef %1083) #10
  %1085 = load i32, ptr %249, align 4, !tbaa !5
  %1086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1077, ptr noundef nonnull %.str.5.sink797, i32 noundef %1078, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1080, ptr noundef %1082, ptr noundef %1084, i32 noundef %1085) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1087:                                             ; preds = %1060
  %1088 = add nsw i32 %1061, 2
  store i32 %1088, ptr @test_count, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1063, ptr noundef nonnull @.str.4) #10
  %1090 = icmp eq ptr %1089, null
  br i1 %1090, label %1091, label %1113

1091:                                             ; preds = %1087
  %1092 = load i32, ptr %249, align 4, !tbaa !5
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1094 = call i32 @s2n_print_stacktrace(ptr noundef %1093) #10
  %1095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1096 = trunc nuw i8 %1095 to i1
  br i1 %1096, label %1097, label %1101

1097:                                             ; preds = %1091
  %1098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1099 = call i32 @fileno(ptr noundef %1098) #10
  %1100 = call i32 @isatty(i32 noundef %1099) #10
  %.not421 = icmp eq i32 %1100, 0
  br i1 %.not421, label %1101, label %1102

1101:                                             ; preds = %1097, %1091
  br label %1102

1102:                                             ; preds = %1097, %1101
  %.str.5.sink806 = phi ptr [ @.str.5, %1101 ], [ @.str.2, %1097 ]
  store i32 %1092, ptr %249, align 4, !tbaa !5
  %1103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = load i32, ptr %195, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror(i32 noundef %1105, ptr noundef nonnull @.str.4) #10
  %1107 = load i32, ptr %195, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror_debug(i32 noundef %1107, ptr noundef nonnull @.str.4) #10
  %1109 = load i32, ptr %249, align 4, !tbaa !5
  %1110 = call ptr @strerror(i32 noundef %1109) #10
  %1111 = load i32, ptr %249, align 4, !tbaa !5
  %1112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1103, ptr noundef nonnull %.str.5.sink806, i32 noundef %1104, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1106, ptr noundef %1108, ptr noundef %1110, i32 noundef %1111) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1113:                                             ; preds = %1087
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %1114 = load i32, ptr @test_count, align 4, !tbaa !5
  %1115 = add nsw i32 %1114, 1
  store i32 %1115, ptr @test_count, align 4, !tbaa !5
  %1116 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext 5) #10
  %1117 = icmp eq i32 %1116, -1
  br i1 %1117, label %1118, label %1140

1118:                                             ; preds = %1113
  %1119 = load i32, ptr %249, align 4, !tbaa !5
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1121 = call i32 @s2n_print_stacktrace(ptr noundef %1120) #10
  %1122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1123 = trunc nuw i8 %1122 to i1
  br i1 %1123, label %1124, label %1128

1124:                                             ; preds = %1118
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = call i32 @fileno(ptr noundef %1125) #10
  %1127 = call i32 @isatty(i32 noundef %1126) #10
  %.not420 = icmp eq i32 %1127, 0
  br i1 %.not420, label %1128, label %1129

1128:                                             ; preds = %1124, %1118
  br label %1129

1129:                                             ; preds = %1124, %1128
  %.str.5.sink815 = phi ptr [ @.str.5, %1128 ], [ @.str.2, %1124 ]
  store i32 %1119, ptr %249, align 4, !tbaa !5
  %1130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1131 = load i32, ptr @test_count, align 4, !tbaa !5
  %1132 = load i32, ptr %195, align 4, !tbaa !5
  %1133 = call ptr @s2n_strerror(i32 noundef %1132, ptr noundef nonnull @.str.4) #10
  %1134 = load i32, ptr %195, align 4, !tbaa !5
  %1135 = call ptr @s2n_strerror_debug(i32 noundef %1134, ptr noundef nonnull @.str.4) #10
  %1136 = load i32, ptr %249, align 4, !tbaa !5
  %1137 = call ptr @strerror(i32 noundef %1136) #10
  %1138 = load i32, ptr %249, align 4, !tbaa !5
  %1139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1130, ptr noundef nonnull %.str.5.sink815, i32 noundef %1131, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %1133, ptr noundef %1135, ptr noundef %1137, i32 noundef %1138) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1140:                                             ; preds = %1113
  %1141 = load i32, ptr @test_count, align 4, !tbaa !5
  %1142 = add nsw i32 %1141, 1
  store i32 %1142, ptr @test_count, align 4, !tbaa !5
  %1143 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %9) #10
  %1144 = icmp eq i32 %1143, -1
  br i1 %1144, label %1145, label %1167

1145:                                             ; preds = %1140
  %1146 = load i32, ptr %249, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = call i32 @s2n_print_stacktrace(ptr noundef %1147) #10
  %1149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1150 = trunc nuw i8 %1149 to i1
  br i1 %1150, label %1151, label %1155

1151:                                             ; preds = %1145
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = call i32 @fileno(ptr noundef %1152) #10
  %1154 = call i32 @isatty(i32 noundef %1153) #10
  %.not419 = icmp eq i32 %1154, 0
  br i1 %.not419, label %1155, label %1156

1155:                                             ; preds = %1151, %1145
  br label %1156

1156:                                             ; preds = %1151, %1155
  %.str.5.sink824 = phi ptr [ @.str.5, %1155 ], [ @.str.2, %1151 ]
  store i32 %1146, ptr %249, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = load i32, ptr @test_count, align 4, !tbaa !5
  %1159 = load i32, ptr %195, align 4, !tbaa !5
  %1160 = call ptr @s2n_strerror(i32 noundef %1159, ptr noundef nonnull @.str.4) #10
  %1161 = load i32, ptr %195, align 4, !tbaa !5
  %1162 = call ptr @s2n_strerror_debug(i32 noundef %1161, ptr noundef nonnull @.str.4) #10
  %1163 = load i32, ptr %249, align 4, !tbaa !5
  %1164 = call ptr @strerror(i32 noundef %1163) #10
  %1165 = load i32, ptr %249, align 4, !tbaa !5
  %1166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1157, ptr noundef nonnull %.str.5.sink824, i32 noundef %1158, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1160, ptr noundef %1162, ptr noundef %1164, i32 noundef %1165) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1167:                                             ; preds = %1140
  %1168 = load i32, ptr @test_count, align 4, !tbaa !5
  %1169 = add nsw i32 %1168, 1
  store i32 %1169, ptr @test_count, align 4, !tbaa !5
  %1170 = load ptr, ptr %9, align 8, !tbaa !27
  %1171 = icmp eq ptr %1170, %3
  br i1 %1171, label %1194, label %1172

1172:                                             ; preds = %1167
  %1173 = load i32, ptr %249, align 4, !tbaa !5
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @s2n_print_stacktrace(ptr noundef %1174) #10
  %1176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1177 = trunc nuw i8 %1176 to i1
  br i1 %1177, label %1178, label %1182

1178:                                             ; preds = %1172
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = call i32 @fileno(ptr noundef %1179) #10
  %1181 = call i32 @isatty(i32 noundef %1180) #10
  %.not326 = icmp eq i32 %1181, 0
  br i1 %.not326, label %1182, label %1183

1182:                                             ; preds = %1178, %1172
  br label %1183

1183:                                             ; preds = %1178, %1182
  %.str.5.sink833 = phi ptr [ @.str.5, %1182 ], [ @.str.2, %1178 ]
  store i32 %1173, ptr %249, align 4, !tbaa !5
  %1184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1185 = load i32, ptr @test_count, align 4, !tbaa !5
  %1186 = load i32, ptr %195, align 4, !tbaa !5
  %1187 = call ptr @s2n_strerror(i32 noundef %1186, ptr noundef nonnull @.str.4) #10
  %1188 = load i32, ptr %195, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror_debug(i32 noundef %1188, ptr noundef nonnull @.str.4) #10
  %1190 = load i32, ptr %249, align 4, !tbaa !5
  %1191 = call ptr @strerror(i32 noundef %1190) #10
  %1192 = load i32, ptr %249, align 4, !tbaa !5
  %1193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1184, ptr noundef nonnull %.str.5.sink833, i32 noundef %1185, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %1187, ptr noundef %1189, ptr noundef %1191, i32 noundef %1192) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1194:                                             ; preds = %1167
  %1195 = add nsw i32 %1168, 2
  store i32 %1195, ptr @test_count, align 4, !tbaa !5
  %1196 = getelementptr inbounds i8, ptr %9, i64 8
  %1197 = load i32, ptr %1196, align 8, !tbaa !29
  %1198 = icmp eq i32 %1197, 2
  br i1 %1198, label %1221, label %1199

1199:                                             ; preds = %1194
  %1200 = load i32, ptr %249, align 4, !tbaa !5
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1202 = call i32 @s2n_print_stacktrace(ptr noundef %1201) #10
  %1203 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1204 = trunc nuw i8 %1203 to i1
  br i1 %1204, label %1205, label %1209

1205:                                             ; preds = %1199
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1207 = call i32 @fileno(ptr noundef %1206) #10
  %1208 = call i32 @isatty(i32 noundef %1207) #10
  %.not327 = icmp eq i32 %1208, 0
  br i1 %.not327, label %1209, label %1210

1209:                                             ; preds = %1205, %1199
  br label %1210

1210:                                             ; preds = %1205, %1209
  %.str.5.sink842 = phi ptr [ @.str.5, %1209 ], [ @.str.2, %1205 ]
  store i32 %1200, ptr %249, align 4, !tbaa !5
  %1211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1212 = load i32, ptr @test_count, align 4, !tbaa !5
  %1213 = load i32, ptr %195, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror(i32 noundef %1213, ptr noundef nonnull @.str.4) #10
  %1215 = load i32, ptr %195, align 4, !tbaa !5
  %1216 = call ptr @s2n_strerror_debug(i32 noundef %1215, ptr noundef nonnull @.str.4) #10
  %1217 = load i32, ptr %249, align 4, !tbaa !5
  %1218 = call ptr @strerror(i32 noundef %1217) #10
  %1219 = load i32, ptr %249, align 4, !tbaa !5
  %1220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1211, ptr noundef nonnull %.str.5.sink842, i32 noundef %1212, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1214, ptr noundef %1216, ptr noundef %1218, i32 noundef %1219) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1221:                                             ; preds = %1194
  %1222 = add nsw i32 %1168, 3
  store i32 %1222, ptr @test_count, align 4, !tbaa !5
  %1223 = getelementptr inbounds i8, ptr %9, i64 12
  %1224 = load i8, ptr %1223, align 4, !tbaa !30
  %1225 = icmp eq i8 %1224, 2
  br i1 %1225, label %1248, label %1226

1226:                                             ; preds = %1221
  %1227 = load i32, ptr %249, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = call i32 @s2n_print_stacktrace(ptr noundef %1228) #10
  %1230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1231 = trunc nuw i8 %1230 to i1
  br i1 %1231, label %1232, label %1236

1232:                                             ; preds = %1226
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1234 = call i32 @fileno(ptr noundef %1233) #10
  %1235 = call i32 @isatty(i32 noundef %1234) #10
  %.not328 = icmp eq i32 %1235, 0
  br i1 %.not328, label %1236, label %1237

1236:                                             ; preds = %1232, %1226
  br label %1237

1237:                                             ; preds = %1232, %1236
  %.str.5.sink851 = phi ptr [ @.str.5, %1236 ], [ @.str.2, %1232 ]
  store i32 %1227, ptr %249, align 4, !tbaa !5
  %1238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1239 = load i32, ptr @test_count, align 4, !tbaa !5
  %1240 = load i32, ptr %195, align 4, !tbaa !5
  %1241 = call ptr @s2n_strerror(i32 noundef %1240, ptr noundef nonnull @.str.4) #10
  %1242 = load i32, ptr %195, align 4, !tbaa !5
  %1243 = call ptr @s2n_strerror_debug(i32 noundef %1242, ptr noundef nonnull @.str.4) #10
  %1244 = load i32, ptr %249, align 4, !tbaa !5
  %1245 = call ptr @strerror(i32 noundef %1244) #10
  %1246 = load i32, ptr %249, align 4, !tbaa !5
  %1247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1238, ptr noundef nonnull %.str.5.sink851, i32 noundef %1239, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1241, ptr noundef %1243, ptr noundef %1245, i32 noundef %1246) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1248:                                             ; preds = %1221
  %1249 = add nsw i32 %1168, 4
  store i32 %1249, ptr @test_count, align 4, !tbaa !5
  %1250 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %9) #10
  %1251 = icmp eq i32 %1250, -1
  br i1 %1251, label %1252, label %1274

1252:                                             ; preds = %1248
  %1253 = load i32, ptr %249, align 4, !tbaa !5
  %1254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1255 = call i32 @s2n_print_stacktrace(ptr noundef %1254) #10
  %1256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1257 = trunc nuw i8 %1256 to i1
  br i1 %1257, label %1258, label %1262

1258:                                             ; preds = %1252
  %1259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1260 = call i32 @fileno(ptr noundef %1259) #10
  %1261 = call i32 @isatty(i32 noundef %1260) #10
  %.not418 = icmp eq i32 %1261, 0
  br i1 %.not418, label %1262, label %1263

1262:                                             ; preds = %1258, %1252
  br label %1263

1263:                                             ; preds = %1258, %1262
  %.str.5.sink860 = phi ptr [ @.str.5, %1262 ], [ @.str.2, %1258 ]
  store i32 %1253, ptr %249, align 4, !tbaa !5
  %1264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1265 = load i32, ptr @test_count, align 4, !tbaa !5
  %1266 = load i32, ptr %195, align 4, !tbaa !5
  %1267 = call ptr @s2n_strerror(i32 noundef %1266, ptr noundef nonnull @.str.4) #10
  %1268 = load i32, ptr %195, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror_debug(i32 noundef %1268, ptr noundef nonnull @.str.4) #10
  %1270 = load i32, ptr %249, align 4, !tbaa !5
  %1271 = call ptr @strerror(i32 noundef %1270) #10
  %1272 = load i32, ptr %249, align 4, !tbaa !5
  %1273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1264, ptr noundef nonnull %.str.5.sink860, i32 noundef %1265, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1267, ptr noundef %1269, ptr noundef %1271, i32 noundef %1272) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1274:                                             ; preds = %1248
  %1275 = load i32, ptr @test_count, align 4, !tbaa !5
  %1276 = add nsw i32 %1275, 1
  store i32 %1276, ptr @test_count, align 4, !tbaa !5
  %1277 = load ptr, ptr %9, align 8, !tbaa !27
  %1278 = icmp eq ptr %1277, %3
  br i1 %1278, label %1301, label %1279

1279:                                             ; preds = %1274
  %1280 = load i32, ptr %249, align 4, !tbaa !5
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = call i32 @s2n_print_stacktrace(ptr noundef %1281) #10
  %1283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1284 = trunc nuw i8 %1283 to i1
  br i1 %1284, label %1285, label %1289

1285:                                             ; preds = %1279
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1287 = call i32 @fileno(ptr noundef %1286) #10
  %1288 = call i32 @isatty(i32 noundef %1287) #10
  %.not329 = icmp eq i32 %1288, 0
  br i1 %.not329, label %1289, label %1290

1289:                                             ; preds = %1285, %1279
  br label %1290

1290:                                             ; preds = %1285, %1289
  %.str.5.sink869 = phi ptr [ @.str.5, %1289 ], [ @.str.2, %1285 ]
  store i32 %1280, ptr %249, align 4, !tbaa !5
  %1291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1292 = load i32, ptr @test_count, align 4, !tbaa !5
  %1293 = load i32, ptr %195, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef nonnull @.str.4) #10
  %1295 = load i32, ptr %195, align 4, !tbaa !5
  %1296 = call ptr @s2n_strerror_debug(i32 noundef %1295, ptr noundef nonnull @.str.4) #10
  %1297 = load i32, ptr %249, align 4, !tbaa !5
  %1298 = call ptr @strerror(i32 noundef %1297) #10
  %1299 = load i32, ptr %249, align 4, !tbaa !5
  %1300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1291, ptr noundef nonnull %.str.5.sink869, i32 noundef %1292, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 137, ptr noundef %1294, ptr noundef %1296, ptr noundef %1298, i32 noundef %1299) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1301:                                             ; preds = %1274
  %1302 = add nsw i32 %1275, 2
  store i32 %1302, ptr @test_count, align 4, !tbaa !5
  %1303 = load i32, ptr %1196, align 8, !tbaa !29
  %1304 = icmp eq i32 %1303, 4
  br i1 %1304, label %1327, label %1305

1305:                                             ; preds = %1301
  %1306 = load i32, ptr %249, align 4, !tbaa !5
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = call i32 @s2n_print_stacktrace(ptr noundef %1307) #10
  %1309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1310 = trunc nuw i8 %1309 to i1
  br i1 %1310, label %1311, label %1315

1311:                                             ; preds = %1305
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1313 = call i32 @fileno(ptr noundef %1312) #10
  %1314 = call i32 @isatty(i32 noundef %1313) #10
  %.not330 = icmp eq i32 %1314, 0
  br i1 %.not330, label %1315, label %1316

1315:                                             ; preds = %1311, %1305
  br label %1316

1316:                                             ; preds = %1311, %1315
  %.str.5.sink878 = phi ptr [ @.str.5, %1315 ], [ @.str.2, %1311 ]
  store i32 %1306, ptr %249, align 4, !tbaa !5
  %1317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1318 = load i32, ptr @test_count, align 4, !tbaa !5
  %1319 = load i32, ptr %195, align 4, !tbaa !5
  %1320 = call ptr @s2n_strerror(i32 noundef %1319, ptr noundef nonnull @.str.4) #10
  %1321 = load i32, ptr %195, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror_debug(i32 noundef %1321, ptr noundef nonnull @.str.4) #10
  %1323 = load i32, ptr %249, align 4, !tbaa !5
  %1324 = call ptr @strerror(i32 noundef %1323) #10
  %1325 = load i32, ptr %249, align 4, !tbaa !5
  %1326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1317, ptr noundef nonnull %.str.5.sink878, i32 noundef %1318, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1320, ptr noundef %1322, ptr noundef %1324, i32 noundef %1325) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1327:                                             ; preds = %1301
  %1328 = add nsw i32 %1275, 3
  store i32 %1328, ptr @test_count, align 4, !tbaa !5
  %1329 = load i8, ptr %1223, align 4, !tbaa !30
  %1330 = icmp eq i8 %1329, 2
  br i1 %1330, label %1353, label %1331

1331:                                             ; preds = %1327
  %1332 = load i32, ptr %249, align 4, !tbaa !5
  %1333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1334 = call i32 @s2n_print_stacktrace(ptr noundef %1333) #10
  %1335 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1336 = trunc nuw i8 %1335 to i1
  br i1 %1336, label %1337, label %1341

1337:                                             ; preds = %1331
  %1338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1339 = call i32 @fileno(ptr noundef %1338) #10
  %1340 = call i32 @isatty(i32 noundef %1339) #10
  %.not331 = icmp eq i32 %1340, 0
  br i1 %.not331, label %1341, label %1342

1341:                                             ; preds = %1337, %1331
  br label %1342

1342:                                             ; preds = %1337, %1341
  %.str.5.sink887 = phi ptr [ @.str.5, %1341 ], [ @.str.2, %1337 ]
  store i32 %1332, ptr %249, align 4, !tbaa !5
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = load i32, ptr %195, align 4, !tbaa !5
  %1346 = call ptr @s2n_strerror(i32 noundef %1345, ptr noundef nonnull @.str.4) #10
  %1347 = load i32, ptr %195, align 4, !tbaa !5
  %1348 = call ptr @s2n_strerror_debug(i32 noundef %1347, ptr noundef nonnull @.str.4) #10
  %1349 = load i32, ptr %249, align 4, !tbaa !5
  %1350 = call ptr @strerror(i32 noundef %1349) #10
  %1351 = load i32, ptr %249, align 4, !tbaa !5
  %1352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1343, ptr noundef nonnull %.str.5.sink887, i32 noundef %1344, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1346, ptr noundef %1348, ptr noundef %1350, i32 noundef %1351) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1353:                                             ; preds = %1327
  %1354 = add nsw i32 %1275, 4
  store i32 %1354, ptr @test_count, align 4, !tbaa !5
  %1355 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext -1) #10
  %1356 = icmp eq i32 %1355, -1
  br i1 %1356, label %1357, label %1379

1357:                                             ; preds = %1353
  %1358 = load i32, ptr %249, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = call i32 @s2n_print_stacktrace(ptr noundef %1359) #10
  %1361 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1362 = trunc nuw i8 %1361 to i1
  br i1 %1362, label %1363, label %1367

1363:                                             ; preds = %1357
  %1364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1365 = call i32 @fileno(ptr noundef %1364) #10
  %1366 = call i32 @isatty(i32 noundef %1365) #10
  %.not417 = icmp eq i32 %1366, 0
  br i1 %.not417, label %1367, label %1368

1367:                                             ; preds = %1363, %1357
  br label %1368

1368:                                             ; preds = %1363, %1367
  %.str.5.sink896 = phi ptr [ @.str.5, %1367 ], [ @.str.2, %1363 ]
  store i32 %1358, ptr %249, align 4, !tbaa !5
  %1369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = load i32, ptr %195, align 4, !tbaa !5
  %1372 = call ptr @s2n_strerror(i32 noundef %1371, ptr noundef nonnull @.str.4) #10
  %1373 = load i32, ptr %195, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror_debug(i32 noundef %1373, ptr noundef nonnull @.str.4) #10
  %1375 = load i32, ptr %249, align 4, !tbaa !5
  %1376 = call ptr @strerror(i32 noundef %1375) #10
  %1377 = load i32, ptr %249, align 4, !tbaa !5
  %1378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1369, ptr noundef nonnull %.str.5.sink896, i32 noundef %1370, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1372, ptr noundef %1374, ptr noundef %1376, i32 noundef %1377) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1379:                                             ; preds = %1353
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %10) #10
  %1380 = load i32, ptr @test_count, align 4, !tbaa !5
  %1381 = add nsw i32 %1380, 1
  store i32 %1381, ptr @test_count, align 4, !tbaa !5
  %1382 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %8) #10
  %1383 = icmp eq i32 %1382, -1
  br i1 %1383, label %1384, label %1406

1384:                                             ; preds = %1379
  %1385 = load i32, ptr %249, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = call i32 @s2n_print_stacktrace(ptr noundef %1386) #10
  %1388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1389 = trunc nuw i8 %1388 to i1
  br i1 %1389, label %1390, label %1394

1390:                                             ; preds = %1384
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = call i32 @fileno(ptr noundef %1391) #10
  %1393 = call i32 @isatty(i32 noundef %1392) #10
  %.not416 = icmp eq i32 %1393, 0
  br i1 %.not416, label %1394, label %1395

1394:                                             ; preds = %1390, %1384
  br label %1395

1395:                                             ; preds = %1390, %1394
  %.str.5.sink905 = phi ptr [ @.str.5, %1394 ], [ @.str.2, %1390 ]
  store i32 %1385, ptr %249, align 4, !tbaa !5
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = load i32, ptr %195, align 4, !tbaa !5
  %1399 = call ptr @s2n_strerror(i32 noundef %1398, ptr noundef nonnull @.str.4) #10
  %1400 = load i32, ptr %195, align 4, !tbaa !5
  %1401 = call ptr @s2n_strerror_debug(i32 noundef %1400, ptr noundef nonnull @.str.4) #10
  %1402 = load i32, ptr %249, align 4, !tbaa !5
  %1403 = call ptr @strerror(i32 noundef %1402) #10
  %1404 = load i32, ptr %249, align 4, !tbaa !5
  %1405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1396, ptr noundef nonnull %.str.5.sink905, i32 noundef %1397, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1399, ptr noundef %1401, ptr noundef %1403, i32 noundef %1404) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1406:                                             ; preds = %1379
  %1407 = load i32, ptr @test_count, align 4, !tbaa !5
  %1408 = add nsw i32 %1407, 1
  store i32 %1408, ptr @test_count, align 4, !tbaa !5
  %1409 = load i16, ptr %8, align 2, !tbaa !22
  %1410 = icmp eq i16 %1409, 5
  br i1 %1410, label %1433, label %1411

1411:                                             ; preds = %1406
  %1412 = load i32, ptr %249, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = call i32 @s2n_print_stacktrace(ptr noundef %1413) #10
  %1415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1416 = trunc nuw i8 %1415 to i1
  br i1 %1416, label %1417, label %1421

1417:                                             ; preds = %1411
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = call i32 @fileno(ptr noundef %1418) #10
  %1420 = call i32 @isatty(i32 noundef %1419) #10
  %.not332 = icmp eq i32 %1420, 0
  br i1 %.not332, label %1421, label %1422

1421:                                             ; preds = %1417, %1411
  br label %1422

1422:                                             ; preds = %1417, %1421
  %.str.5.sink914 = phi ptr [ @.str.5, %1421 ], [ @.str.2, %1417 ]
  store i32 %1412, ptr %249, align 4, !tbaa !5
  %1423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1424 = load i32, ptr @test_count, align 4, !tbaa !5
  %1425 = load i32, ptr %195, align 4, !tbaa !5
  %1426 = call ptr @s2n_strerror(i32 noundef %1425, ptr noundef nonnull @.str.4) #10
  %1427 = load i32, ptr %195, align 4, !tbaa !5
  %1428 = call ptr @s2n_strerror_debug(i32 noundef %1427, ptr noundef nonnull @.str.4) #10
  %1429 = load i32, ptr %249, align 4, !tbaa !5
  %1430 = call ptr @strerror(i32 noundef %1429) #10
  %1431 = load i32, ptr %249, align 4, !tbaa !5
  %1432 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1423, ptr noundef nonnull %.str.5.sink914, i32 noundef %1424, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1426, ptr noundef %1428, ptr noundef %1430, i32 noundef %1431) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1433:                                             ; preds = %1406
  %1434 = add nsw i32 %1407, 2
  store i32 %1434, ptr @test_count, align 4, !tbaa !5
  %1435 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %3, ptr noundef nonnull %10, i32 noundef 2) #10
  %1436 = icmp eq i32 %1435, -1
  br i1 %1436, label %1437, label %1459

1437:                                             ; preds = %1433
  %1438 = load i32, ptr %249, align 4, !tbaa !5
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = call i32 @s2n_print_stacktrace(ptr noundef %1439) #10
  %1441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1442 = trunc nuw i8 %1441 to i1
  br i1 %1442, label %1443, label %1447

1443:                                             ; preds = %1437
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = call i32 @fileno(ptr noundef %1444) #10
  %1446 = call i32 @isatty(i32 noundef %1445) #10
  %.not415 = icmp eq i32 %1446, 0
  br i1 %.not415, label %1447, label %1448

1447:                                             ; preds = %1443, %1437
  br label %1448

1448:                                             ; preds = %1443, %1447
  %.str.5.sink923 = phi ptr [ @.str.5, %1447 ], [ @.str.2, %1443 ]
  store i32 %1438, ptr %249, align 4, !tbaa !5
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = load i32, ptr @test_count, align 4, !tbaa !5
  %1451 = load i32, ptr %195, align 4, !tbaa !5
  %1452 = call ptr @s2n_strerror(i32 noundef %1451, ptr noundef nonnull @.str.4) #10
  %1453 = load i32, ptr %195, align 4, !tbaa !5
  %1454 = call ptr @s2n_strerror_debug(i32 noundef %1453, ptr noundef nonnull @.str.4) #10
  %1455 = load i32, ptr %249, align 4, !tbaa !5
  %1456 = call ptr @strerror(i32 noundef %1455) #10
  %1457 = load i32, ptr %249, align 4, !tbaa !5
  %1458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1449, ptr noundef nonnull %.str.5.sink923, i32 noundef %1450, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 149, ptr noundef %1452, ptr noundef %1454, ptr noundef %1456, i32 noundef %1457) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1459:                                             ; preds = %1433
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = add nsw i32 %1460, 1
  store i32 %1461, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(2) %10, ptr noundef nonnull dereferenceable(2) @__const.main.expected_bytes, i64 2)
  %1462 = icmp eq i32 %bcmp, 0
  br i1 %1462, label %1485, label %1463

1463:                                             ; preds = %1459
  %1464 = load i32, ptr %249, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = call i32 @s2n_print_stacktrace(ptr noundef %1465) #10
  %1467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1468 = trunc nuw i8 %1467 to i1
  br i1 %1468, label %1469, label %1473

1469:                                             ; preds = %1463
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = call i32 @fileno(ptr noundef %1470) #10
  %1472 = call i32 @isatty(i32 noundef %1471) #10
  %.not333 = icmp eq i32 %1472, 0
  br i1 %.not333, label %1473, label %1474

1473:                                             ; preds = %1469, %1463
  br label %1474

1474:                                             ; preds = %1469, %1473
  %.str.5.sink932 = phi ptr [ @.str.5, %1473 ], [ @.str.2, %1469 ]
  store i32 %1464, ptr %249, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = load i32, ptr @test_count, align 4, !tbaa !5
  %1477 = load i32, ptr %195, align 4, !tbaa !5
  %1478 = call ptr @s2n_strerror(i32 noundef %1477, ptr noundef nonnull @.str.4) #10
  %1479 = load i32, ptr %195, align 4, !tbaa !5
  %1480 = call ptr @s2n_strerror_debug(i32 noundef %1479, ptr noundef nonnull @.str.4) #10
  %1481 = load i32, ptr %249, align 4, !tbaa !5
  %1482 = call ptr @strerror(i32 noundef %1481) #10
  %1483 = load i32, ptr %249, align 4, !tbaa !5
  %1484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1475, ptr noundef nonnull %.str.5.sink932, i32 noundef %1476, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1478, ptr noundef %1480, ptr noundef %1482, i32 noundef %1483) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1485:                                             ; preds = %1459
  %1486 = add nsw i32 %1460, 2
  store i32 %1486, ptr @test_count, align 4, !tbaa !5
  %1487 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %3, ptr noundef nonnull %10, i32 noundef 2) #10
  %1488 = icmp eq i32 %1487, -1
  br i1 %1488, label %1489, label %1511

1489:                                             ; preds = %1485
  %1490 = load i32, ptr %249, align 4, !tbaa !5
  %1491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1492 = call i32 @s2n_print_stacktrace(ptr noundef %1491) #10
  %1493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1494 = trunc nuw i8 %1493 to i1
  br i1 %1494, label %1495, label %1499

1495:                                             ; preds = %1489
  %1496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1497 = call i32 @fileno(ptr noundef %1496) #10
  %1498 = call i32 @isatty(i32 noundef %1497) #10
  %.not414 = icmp eq i32 %1498, 0
  br i1 %.not414, label %1499, label %1500

1499:                                             ; preds = %1495, %1489
  br label %1500

1500:                                             ; preds = %1495, %1499
  %.str.5.sink941 = phi ptr [ @.str.5, %1499 ], [ @.str.2, %1495 ]
  store i32 %1490, ptr %249, align 4, !tbaa !5
  %1501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1502 = load i32, ptr @test_count, align 4, !tbaa !5
  %1503 = load i32, ptr %195, align 4, !tbaa !5
  %1504 = call ptr @s2n_strerror(i32 noundef %1503, ptr noundef nonnull @.str.4) #10
  %1505 = load i32, ptr %195, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef nonnull @.str.4) #10
  %1507 = load i32, ptr %249, align 4, !tbaa !5
  %1508 = call ptr @strerror(i32 noundef %1507) #10
  %1509 = load i32, ptr %249, align 4, !tbaa !5
  %1510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1501, ptr noundef nonnull %.str.5.sink941, i32 noundef %1502, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %1504, ptr noundef %1506, ptr noundef %1508, i32 noundef %1509) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1511:                                             ; preds = %1485
  %1512 = load i32, ptr @test_count, align 4, !tbaa !5
  %1513 = add nsw i32 %1512, 1
  store i32 %1513, ptr @test_count, align 4, !tbaa !5
  %bcmp334 = call i32 @bcmp(ptr noundef nonnull dereferenceable(2) %10, ptr noundef nonnull dereferenceable(2) @__const.main.expected_bytes, i64 2)
  %1514 = icmp eq i32 %bcmp334, 0
  br i1 %1514, label %1537, label %1515

1515:                                             ; preds = %1511
  %1516 = load i32, ptr %249, align 4, !tbaa !5
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = call i32 @s2n_print_stacktrace(ptr noundef %1517) #10
  %1519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1520 = trunc nuw i8 %1519 to i1
  br i1 %1520, label %1521, label %1525

1521:                                             ; preds = %1515
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = call i32 @fileno(ptr noundef %1522) #10
  %1524 = call i32 @isatty(i32 noundef %1523) #10
  %.not335 = icmp eq i32 %1524, 0
  br i1 %.not335, label %1525, label %1526

1525:                                             ; preds = %1521, %1515
  br label %1526

1526:                                             ; preds = %1521, %1525
  %.str.5.sink950 = phi ptr [ @.str.5, %1525 ], [ @.str.2, %1521 ]
  store i32 %1516, ptr %249, align 4, !tbaa !5
  %1527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1528 = load i32, ptr @test_count, align 4, !tbaa !5
  %1529 = load i32, ptr %195, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror(i32 noundef %1529, ptr noundef nonnull @.str.4) #10
  %1531 = load i32, ptr %195, align 4, !tbaa !5
  %1532 = call ptr @s2n_strerror_debug(i32 noundef %1531, ptr noundef nonnull @.str.4) #10
  %1533 = load i32, ptr %249, align 4, !tbaa !5
  %1534 = call ptr @strerror(i32 noundef %1533) #10
  %1535 = load i32, ptr %249, align 4, !tbaa !5
  %1536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1527, ptr noundef nonnull %.str.5.sink950, i32 noundef %1528, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %1530, ptr noundef %1532, ptr noundef %1534, i32 noundef %1535) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1537:                                             ; preds = %1511
  %1538 = add nsw i32 %1512, 2
  store i32 %1538, ptr @test_count, align 4, !tbaa !5
  %1539 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %8) #10
  %1540 = icmp eq i32 %1539, -1
  br i1 %1540, label %1541, label %1563

1541:                                             ; preds = %1537
  %1542 = load i32, ptr %249, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @s2n_print_stacktrace(ptr noundef %1543) #10
  %1545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1546 = trunc nuw i8 %1545 to i1
  br i1 %1546, label %1547, label %1551

1547:                                             ; preds = %1541
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = call i32 @fileno(ptr noundef %1548) #10
  %1550 = call i32 @isatty(i32 noundef %1549) #10
  %.not413 = icmp eq i32 %1550, 0
  br i1 %.not413, label %1551, label %1552

1551:                                             ; preds = %1547, %1541
  br label %1552

1552:                                             ; preds = %1547, %1551
  %.str.5.sink959 = phi ptr [ @.str.5, %1551 ], [ @.str.2, %1547 ]
  store i32 %1542, ptr %249, align 4, !tbaa !5
  %1553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1554 = load i32, ptr @test_count, align 4, !tbaa !5
  %1555 = load i32, ptr %195, align 4, !tbaa !5
  %1556 = call ptr @s2n_strerror(i32 noundef %1555, ptr noundef nonnull @.str.4) #10
  %1557 = load i32, ptr %195, align 4, !tbaa !5
  %1558 = call ptr @s2n_strerror_debug(i32 noundef %1557, ptr noundef nonnull @.str.4) #10
  %1559 = load i32, ptr %249, align 4, !tbaa !5
  %1560 = call ptr @strerror(i32 noundef %1559) #10
  %1561 = load i32, ptr %249, align 4, !tbaa !5
  %1562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1553, ptr noundef nonnull %.str.5.sink959, i32 noundef %1554, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1556, ptr noundef %1558, ptr noundef %1560, i32 noundef %1561) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1563:                                             ; preds = %1537
  %1564 = load i32, ptr @test_count, align 4, !tbaa !5
  %1565 = add nsw i32 %1564, 1
  store i32 %1565, ptr @test_count, align 4, !tbaa !5
  %1566 = load i16, ptr %8, align 2, !tbaa !22
  %1567 = icmp eq i16 %1566, -1
  br i1 %1567, label %1590, label %1568

1568:                                             ; preds = %1563
  %1569 = load i32, ptr %249, align 4, !tbaa !5
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @s2n_print_stacktrace(ptr noundef %1570) #10
  %1572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1573 = trunc nuw i8 %1572 to i1
  br i1 %1573, label %1574, label %1578

1574:                                             ; preds = %1568
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = call i32 @fileno(ptr noundef %1575) #10
  %1577 = call i32 @isatty(i32 noundef %1576) #10
  %.not336 = icmp eq i32 %1577, 0
  br i1 %.not336, label %1578, label %1579

1578:                                             ; preds = %1574, %1568
  br label %1579

1579:                                             ; preds = %1574, %1578
  %.str.5.sink968 = phi ptr [ @.str.5, %1578 ], [ @.str.2, %1574 ]
  store i32 %1569, ptr %249, align 4, !tbaa !5
  %1580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1581 = load i32, ptr @test_count, align 4, !tbaa !5
  %1582 = load i32, ptr %195, align 4, !tbaa !5
  %1583 = call ptr @s2n_strerror(i32 noundef %1582, ptr noundef nonnull @.str.4) #10
  %1584 = load i32, ptr %195, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror_debug(i32 noundef %1584, ptr noundef nonnull @.str.4) #10
  %1586 = load i32, ptr %249, align 4, !tbaa !5
  %1587 = call ptr @strerror(i32 noundef %1586) #10
  %1588 = load i32, ptr %249, align 4, !tbaa !5
  %1589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1580, ptr noundef nonnull %.str.5.sink968, i32 noundef %1581, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1583, ptr noundef %1585, ptr noundef %1587, i32 noundef %1588) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1590:                                             ; preds = %1563
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %10) #10
  %1591 = add nsw i32 %1564, 2
  store i32 %1591, ptr @test_count, align 4, !tbaa !5
  %1592 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #10
  %1593 = icmp eq i32 %1592, -1
  br i1 %1593, label %1594, label %1616

1594:                                             ; preds = %1590
  %1595 = load i32, ptr %249, align 4, !tbaa !5
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = call i32 @s2n_print_stacktrace(ptr noundef %1596) #10
  %1598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1599 = trunc nuw i8 %1598 to i1
  br i1 %1599, label %1600, label %1604

1600:                                             ; preds = %1594
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @fileno(ptr noundef %1601) #10
  %1603 = call i32 @isatty(i32 noundef %1602) #10
  %.not412 = icmp eq i32 %1603, 0
  br i1 %.not412, label %1604, label %1605

1604:                                             ; preds = %1600, %1594
  br label %1605

1605:                                             ; preds = %1600, %1604
  %.str.5.sink977 = phi ptr [ @.str.5, %1604 ], [ @.str.2, %1600 ]
  store i32 %1595, ptr %249, align 4, !tbaa !5
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = load i32, ptr @test_count, align 4, !tbaa !5
  %1608 = load i32, ptr %195, align 4, !tbaa !5
  %1609 = call ptr @s2n_strerror(i32 noundef %1608, ptr noundef nonnull @.str.4) #10
  %1610 = load i32, ptr %195, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror_debug(i32 noundef %1610, ptr noundef nonnull @.str.4) #10
  %1612 = load i32, ptr %249, align 4, !tbaa !5
  %1613 = call ptr @strerror(i32 noundef %1612) #10
  %1614 = load i32, ptr %249, align 4, !tbaa !5
  %1615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1606, ptr noundef nonnull %.str.5.sink977, i32 noundef %1607, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1609, ptr noundef %1611, ptr noundef %1613, i32 noundef %1614) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1616:                                             ; preds = %1590
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %8) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %11) #10
  store i16 0, ptr %11, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %12) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %12, i8 0, i64 16, i1 false)
  %1617 = load i32, ptr @test_count, align 4, !tbaa !5
  %1618 = add nsw i32 %1617, 1
  store i32 %1618, ptr @test_count, align 4, !tbaa !5
  %1619 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #10
  %1620 = icmp eq i32 %1619, -1
  br i1 %1620, label %1621, label %1643

1621:                                             ; preds = %1616
  %1622 = load i32, ptr %249, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = call i32 @s2n_print_stacktrace(ptr noundef %1623) #10
  %1625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1626 = trunc nuw i8 %1625 to i1
  br i1 %1626, label %1627, label %1631

1627:                                             ; preds = %1621
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @fileno(ptr noundef %1628) #10
  %1630 = call i32 @isatty(i32 noundef %1629) #10
  %.not411 = icmp eq i32 %1630, 0
  br i1 %.not411, label %1631, label %1632

1631:                                             ; preds = %1627, %1621
  br label %1632

1632:                                             ; preds = %1627, %1631
  %.str.5.sink986 = phi ptr [ @.str.5, %1631 ], [ @.str.2, %1627 ]
  store i32 %1622, ptr %249, align 4, !tbaa !5
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = load i32, ptr %195, align 4, !tbaa !5
  %1636 = call ptr @s2n_strerror(i32 noundef %1635, ptr noundef nonnull @.str.4) #10
  %1637 = load i32, ptr %195, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror_debug(i32 noundef %1637, ptr noundef nonnull @.str.4) #10
  %1639 = load i32, ptr %249, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #10
  %1641 = load i32, ptr %249, align 4, !tbaa !5
  %1642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1633, ptr noundef nonnull %.str.5.sink986, i32 noundef %1634, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %1636, ptr noundef %1638, ptr noundef %1640, i32 noundef %1641) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1643:                                             ; preds = %1616
  %1644 = load i32, ptr @test_count, align 4, !tbaa !5
  %1645 = add nsw i32 %1644, 1
  store i32 %1645, ptr @test_count, align 4, !tbaa !5
  %1646 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef null, ptr noundef nonnull %12) #10
  %1647 = icmp eq i32 %1646, -1
  br i1 %1647, label %1670, label %1648

1648:                                             ; preds = %1643
  %1649 = load i32, ptr %249, align 4, !tbaa !5
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = call i32 @s2n_print_stacktrace(ptr noundef %1650) #10
  %1652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1653 = trunc nuw i8 %1652 to i1
  br i1 %1653, label %1654, label %1658

1654:                                             ; preds = %1648
  %1655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1656 = call i32 @fileno(ptr noundef %1655) #10
  %1657 = call i32 @isatty(i32 noundef %1656) #10
  %.not337 = icmp eq i32 %1657, 0
  br i1 %.not337, label %1658, label %1659

1658:                                             ; preds = %1654, %1648
  br label %1659

1659:                                             ; preds = %1654, %1658
  %.str.5.sink995 = phi ptr [ @.str.5, %1658 ], [ @.str.2, %1654 ]
  store i32 %1649, ptr %249, align 4, !tbaa !5
  %1660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1661 = load i32, ptr @test_count, align 4, !tbaa !5
  %1662 = load i32, ptr %195, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror(i32 noundef %1662, ptr noundef nonnull @.str.4) #10
  %1664 = load i32, ptr %195, align 4, !tbaa !5
  %1665 = call ptr @s2n_strerror_debug(i32 noundef %1664, ptr noundef nonnull @.str.4) #10
  %1666 = load i32, ptr %249, align 4, !tbaa !5
  %1667 = call ptr @strerror(i32 noundef %1666) #10
  %1668 = load i32, ptr %249, align 4, !tbaa !5
  %1669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1660, ptr noundef nonnull %.str.5.sink995, i32 noundef %1661, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1663, ptr noundef %1665, ptr noundef %1667, i32 noundef %1668) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1670:                                             ; preds = %1643
  %1671 = load i32, ptr @test_count, align 4, !tbaa !5
  %1672 = add nsw i32 %1671, 1
  store i32 %1672, ptr @test_count, align 4, !tbaa !5
  %1673 = load i32, ptr %195, align 4, !tbaa !5
  %1674 = icmp eq i32 %1673, 0
  br i1 %1674, label %1675, label %1697

1675:                                             ; preds = %1670
  %1676 = load i32, ptr %249, align 4, !tbaa !5
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = call i32 @s2n_print_stacktrace(ptr noundef %1677) #10
  %1679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1680 = trunc nuw i8 %1679 to i1
  br i1 %1680, label %1681, label %1685

1681:                                             ; preds = %1675
  %1682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1683 = call i32 @fileno(ptr noundef %1682) #10
  %1684 = call i32 @isatty(i32 noundef %1683) #10
  %.not410 = icmp eq i32 %1684, 0
  br i1 %.not410, label %1685, label %1686

1685:                                             ; preds = %1681, %1675
  br label %1686

1686:                                             ; preds = %1681, %1685
  %.str.5.sink1004 = phi ptr [ @.str.5, %1685 ], [ @.str.2, %1681 ]
  store i32 %1676, ptr %249, align 4, !tbaa !5
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = load i32, ptr @test_count, align 4, !tbaa !5
  %1689 = load i32, ptr %195, align 4, !tbaa !5
  %1690 = call ptr @s2n_strerror(i32 noundef %1689, ptr noundef nonnull @.str.4) #10
  %1691 = load i32, ptr %195, align 4, !tbaa !5
  %1692 = call ptr @s2n_strerror_debug(i32 noundef %1691, ptr noundef nonnull @.str.4) #10
  %1693 = load i32, ptr %249, align 4, !tbaa !5
  %1694 = call ptr @strerror(i32 noundef %1693) #10
  %1695 = load i32, ptr %249, align 4, !tbaa !5
  %1696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1687, ptr noundef nonnull %.str.5.sink1004, i32 noundef %1688, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1690, ptr noundef %1692, ptr noundef %1694, i32 noundef %1695) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1697:                                             ; preds = %1670
  %1698 = add nsw i32 %1671, 2
  store i32 %1698, ptr @test_count, align 4, !tbaa !5
  %1699 = call ptr @s2n_strerror_debug(i32 noundef %1673, ptr noundef nonnull @.str.4) #10
  %1700 = icmp eq ptr %1699, null
  br i1 %1700, label %1701, label %1723

1701:                                             ; preds = %1697
  %1702 = load i32, ptr %249, align 4, !tbaa !5
  %1703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1704 = call i32 @s2n_print_stacktrace(ptr noundef %1703) #10
  %1705 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1706 = trunc nuw i8 %1705 to i1
  br i1 %1706, label %1707, label %1711

1707:                                             ; preds = %1701
  %1708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1709 = call i32 @fileno(ptr noundef %1708) #10
  %1710 = call i32 @isatty(i32 noundef %1709) #10
  %.not409 = icmp eq i32 %1710, 0
  br i1 %.not409, label %1711, label %1712

1711:                                             ; preds = %1707, %1701
  br label %1712

1712:                                             ; preds = %1707, %1711
  %.str.5.sink1013 = phi ptr [ @.str.5, %1711 ], [ @.str.2, %1707 ]
  store i32 %1702, ptr %249, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = load i32, ptr %195, align 4, !tbaa !5
  %1716 = call ptr @s2n_strerror(i32 noundef %1715, ptr noundef nonnull @.str.4) #10
  %1717 = load i32, ptr %195, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror_debug(i32 noundef %1717, ptr noundef nonnull @.str.4) #10
  %1719 = load i32, ptr %249, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #10
  %1721 = load i32, ptr %249, align 4, !tbaa !5
  %1722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef nonnull %.str.5.sink1013, i32 noundef %1714, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1716, ptr noundef %1718, ptr noundef %1720, i32 noundef %1721) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1723:                                             ; preds = %1697
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %1724 = load i32, ptr @test_count, align 4, !tbaa !5
  %1725 = add nsw i32 %1724, 1
  store i32 %1725, ptr @test_count, align 4, !tbaa !5
  %1726 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef nonnull %3, ptr noundef null) #10
  %1727 = icmp eq i32 %1726, -1
  br i1 %1727, label %1750, label %1728

1728:                                             ; preds = %1723
  %1729 = load i32, ptr %249, align 4, !tbaa !5
  %1730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1731 = call i32 @s2n_print_stacktrace(ptr noundef %1730) #10
  %1732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1733 = trunc nuw i8 %1732 to i1
  br i1 %1733, label %1734, label %1738

1734:                                             ; preds = %1728
  %1735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1736 = call i32 @fileno(ptr noundef %1735) #10
  %1737 = call i32 @isatty(i32 noundef %1736) #10
  %.not338 = icmp eq i32 %1737, 0
  br i1 %.not338, label %1738, label %1739

1738:                                             ; preds = %1734, %1728
  br label %1739

1739:                                             ; preds = %1734, %1738
  %.str.5.sink1022 = phi ptr [ @.str.5, %1738 ], [ @.str.2, %1734 ]
  store i32 %1729, ptr %249, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = load i32, ptr @test_count, align 4, !tbaa !5
  %1742 = load i32, ptr %195, align 4, !tbaa !5
  %1743 = call ptr @s2n_strerror(i32 noundef %1742, ptr noundef nonnull @.str.4) #10
  %1744 = load i32, ptr %195, align 4, !tbaa !5
  %1745 = call ptr @s2n_strerror_debug(i32 noundef %1744, ptr noundef nonnull @.str.4) #10
  %1746 = load i32, ptr %249, align 4, !tbaa !5
  %1747 = call ptr @strerror(i32 noundef %1746) #10
  %1748 = load i32, ptr %249, align 4, !tbaa !5
  %1749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1740, ptr noundef nonnull %.str.5.sink1022, i32 noundef %1741, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1743, ptr noundef %1745, ptr noundef %1747, i32 noundef %1748) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1750:                                             ; preds = %1723
  %1751 = load i32, ptr @test_count, align 4, !tbaa !5
  %1752 = add nsw i32 %1751, 1
  store i32 %1752, ptr @test_count, align 4, !tbaa !5
  %1753 = load i32, ptr %195, align 4, !tbaa !5
  %1754 = icmp eq i32 %1753, 0
  br i1 %1754, label %1755, label %1777

1755:                                             ; preds = %1750
  %1756 = load i32, ptr %249, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @s2n_print_stacktrace(ptr noundef %1757) #10
  %1759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1760 = trunc nuw i8 %1759 to i1
  br i1 %1760, label %1761, label %1765

1761:                                             ; preds = %1755
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @fileno(ptr noundef %1762) #10
  %1764 = call i32 @isatty(i32 noundef %1763) #10
  %.not408 = icmp eq i32 %1764, 0
  br i1 %.not408, label %1765, label %1766

1765:                                             ; preds = %1761, %1755
  br label %1766

1766:                                             ; preds = %1761, %1765
  %.str.5.sink1031 = phi ptr [ @.str.5, %1765 ], [ @.str.2, %1761 ]
  store i32 %1756, ptr %249, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = load i32, ptr %195, align 4, !tbaa !5
  %1770 = call ptr @s2n_strerror(i32 noundef %1769, ptr noundef nonnull @.str.4) #10
  %1771 = load i32, ptr %195, align 4, !tbaa !5
  %1772 = call ptr @s2n_strerror_debug(i32 noundef %1771, ptr noundef nonnull @.str.4) #10
  %1773 = load i32, ptr %249, align 4, !tbaa !5
  %1774 = call ptr @strerror(i32 noundef %1773) #10
  %1775 = load i32, ptr %249, align 4, !tbaa !5
  %1776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1767, ptr noundef nonnull %.str.5.sink1031, i32 noundef %1768, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1770, ptr noundef %1772, ptr noundef %1774, i32 noundef %1775) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1777:                                             ; preds = %1750
  %1778 = add nsw i32 %1751, 2
  store i32 %1778, ptr @test_count, align 4, !tbaa !5
  %1779 = call ptr @s2n_strerror_debug(i32 noundef %1753, ptr noundef nonnull @.str.4) #10
  %1780 = icmp eq ptr %1779, null
  br i1 %1780, label %1781, label %1803

1781:                                             ; preds = %1777
  %1782 = load i32, ptr %249, align 4, !tbaa !5
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @s2n_print_stacktrace(ptr noundef %1783) #10
  %1785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1786 = trunc nuw i8 %1785 to i1
  br i1 %1786, label %1787, label %1791

1787:                                             ; preds = %1781
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = call i32 @fileno(ptr noundef %1788) #10
  %1790 = call i32 @isatty(i32 noundef %1789) #10
  %.not407 = icmp eq i32 %1790, 0
  br i1 %.not407, label %1791, label %1792

1791:                                             ; preds = %1787, %1781
  br label %1792

1792:                                             ; preds = %1787, %1791
  %.str.5.sink1040 = phi ptr [ @.str.5, %1791 ], [ @.str.2, %1787 ]
  store i32 %1782, ptr %249, align 4, !tbaa !5
  %1793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1794 = load i32, ptr @test_count, align 4, !tbaa !5
  %1795 = load i32, ptr %195, align 4, !tbaa !5
  %1796 = call ptr @s2n_strerror(i32 noundef %1795, ptr noundef nonnull @.str.4) #10
  %1797 = load i32, ptr %195, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror_debug(i32 noundef %1797, ptr noundef nonnull @.str.4) #10
  %1799 = load i32, ptr %249, align 4, !tbaa !5
  %1800 = call ptr @strerror(i32 noundef %1799) #10
  %1801 = load i32, ptr %249, align 4, !tbaa !5
  %1802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1793, ptr noundef nonnull %.str.5.sink1040, i32 noundef %1794, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1796, ptr noundef %1798, ptr noundef %1800, i32 noundef %1801) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1803:                                             ; preds = %1777
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %1804 = load i32, ptr @test_count, align 4, !tbaa !5
  %1805 = add nsw i32 %1804, 1
  store i32 %1805, ptr @test_count, align 4, !tbaa !5
  %1806 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext 5) #10
  %1807 = icmp eq i32 %1806, -1
  br i1 %1807, label %1808, label %1830

1808:                                             ; preds = %1803
  %1809 = load i32, ptr %249, align 4, !tbaa !5
  %1810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1811 = call i32 @s2n_print_stacktrace(ptr noundef %1810) #10
  %1812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1813 = trunc nuw i8 %1812 to i1
  br i1 %1813, label %1814, label %1818

1814:                                             ; preds = %1808
  %1815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1816 = call i32 @fileno(ptr noundef %1815) #10
  %1817 = call i32 @isatty(i32 noundef %1816) #10
  %.not406 = icmp eq i32 %1817, 0
  br i1 %.not406, label %1818, label %1819

1818:                                             ; preds = %1814, %1808
  br label %1819

1819:                                             ; preds = %1814, %1818
  %.str.5.sink1049 = phi ptr [ @.str.5, %1818 ], [ @.str.2, %1814 ]
  store i32 %1809, ptr %249, align 4, !tbaa !5
  %1820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1821 = load i32, ptr @test_count, align 4, !tbaa !5
  %1822 = load i32, ptr %195, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror(i32 noundef %1822, ptr noundef nonnull @.str.4) #10
  %1824 = load i32, ptr %195, align 4, !tbaa !5
  %1825 = call ptr @s2n_strerror_debug(i32 noundef %1824, ptr noundef nonnull @.str.4) #10
  %1826 = load i32, ptr %249, align 4, !tbaa !5
  %1827 = call ptr @strerror(i32 noundef %1826) #10
  %1828 = load i32, ptr %249, align 4, !tbaa !5
  %1829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1820, ptr noundef nonnull %.str.5.sink1049, i32 noundef %1821, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1823, ptr noundef %1825, ptr noundef %1827, i32 noundef %1828) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1830:                                             ; preds = %1803
  %1831 = load i32, ptr @test_count, align 4, !tbaa !5
  %1832 = add nsw i32 %1831, 1
  store i32 %1832, ptr @test_count, align 4, !tbaa !5
  %1833 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef nonnull %3, ptr noundef nonnull %12) #10
  %1834 = icmp eq i32 %1833, -1
  br i1 %1834, label %1835, label %1857

1835:                                             ; preds = %1830
  %1836 = load i32, ptr %249, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = call i32 @s2n_print_stacktrace(ptr noundef %1837) #10
  %1839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1840 = trunc nuw i8 %1839 to i1
  br i1 %1840, label %1841, label %1845

1841:                                             ; preds = %1835
  %1842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1843 = call i32 @fileno(ptr noundef %1842) #10
  %1844 = call i32 @isatty(i32 noundef %1843) #10
  %.not405 = icmp eq i32 %1844, 0
  br i1 %.not405, label %1845, label %1846

1845:                                             ; preds = %1841, %1835
  br label %1846

1846:                                             ; preds = %1841, %1845
  %.str.5.sink1058 = phi ptr [ @.str.5, %1845 ], [ @.str.2, %1841 ]
  store i32 %1836, ptr %249, align 4, !tbaa !5
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = load i32, ptr %195, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror(i32 noundef %1849, ptr noundef nonnull @.str.4) #10
  %1851 = load i32, ptr %195, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror_debug(i32 noundef %1851, ptr noundef nonnull @.str.4) #10
  %1853 = load i32, ptr %249, align 4, !tbaa !5
  %1854 = call ptr @strerror(i32 noundef %1853) #10
  %1855 = load i32, ptr %249, align 4, !tbaa !5
  %1856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1847, ptr noundef nonnull %.str.5.sink1058, i32 noundef %1848, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1850, ptr noundef %1852, ptr noundef %1854, i32 noundef %1855) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1857:                                             ; preds = %1830
  %1858 = load i32, ptr @test_count, align 4, !tbaa !5
  %1859 = add nsw i32 %1858, 1
  store i32 %1859, ptr @test_count, align 4, !tbaa !5
  %1860 = load ptr, ptr %12, align 8, !tbaa !27
  %1861 = icmp eq ptr %1860, %3
  br i1 %1861, label %1884, label %1862

1862:                                             ; preds = %1857
  %1863 = load i32, ptr %249, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = call i32 @s2n_print_stacktrace(ptr noundef %1864) #10
  %1866 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1867 = trunc nuw i8 %1866 to i1
  br i1 %1867, label %1868, label %1872

1868:                                             ; preds = %1862
  %1869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1870 = call i32 @fileno(ptr noundef %1869) #10
  %1871 = call i32 @isatty(i32 noundef %1870) #10
  %.not339 = icmp eq i32 %1871, 0
  br i1 %.not339, label %1872, label %1873

1872:                                             ; preds = %1868, %1862
  br label %1873

1873:                                             ; preds = %1868, %1872
  %.str.5.sink1067 = phi ptr [ @.str.5, %1872 ], [ @.str.2, %1868 ]
  store i32 %1863, ptr %249, align 4, !tbaa !5
  %1874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1875 = load i32, ptr @test_count, align 4, !tbaa !5
  %1876 = load i32, ptr %195, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror(i32 noundef %1876, ptr noundef nonnull @.str.4) #10
  %1878 = load i32, ptr %195, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror_debug(i32 noundef %1878, ptr noundef nonnull @.str.4) #10
  %1880 = load i32, ptr %249, align 4, !tbaa !5
  %1881 = call ptr @strerror(i32 noundef %1880) #10
  %1882 = load i32, ptr %249, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1874, ptr noundef nonnull %.str.5.sink1067, i32 noundef %1875, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1877, ptr noundef %1879, ptr noundef %1881, i32 noundef %1882) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1884:                                             ; preds = %1857
  %1885 = add nsw i32 %1858, 2
  store i32 %1885, ptr @test_count, align 4, !tbaa !5
  %1886 = getelementptr inbounds i8, ptr %12, i64 8
  %1887 = load i32, ptr %1886, align 8, !tbaa !29
  %1888 = icmp eq i32 %1887, 2
  br i1 %1888, label %1911, label %1889

1889:                                             ; preds = %1884
  %1890 = load i32, ptr %249, align 4, !tbaa !5
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @s2n_print_stacktrace(ptr noundef %1891) #10
  %1893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1894 = trunc nuw i8 %1893 to i1
  br i1 %1894, label %1895, label %1899

1895:                                             ; preds = %1889
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @fileno(ptr noundef %1896) #10
  %1898 = call i32 @isatty(i32 noundef %1897) #10
  %.not340 = icmp eq i32 %1898, 0
  br i1 %.not340, label %1899, label %1900

1899:                                             ; preds = %1895, %1889
  br label %1900

1900:                                             ; preds = %1895, %1899
  %.str.5.sink1076 = phi ptr [ @.str.5, %1899 ], [ @.str.2, %1895 ]
  store i32 %1890, ptr %249, align 4, !tbaa !5
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = load i32, ptr %195, align 4, !tbaa !5
  %1904 = call ptr @s2n_strerror(i32 noundef %1903, ptr noundef nonnull @.str.4) #10
  %1905 = load i32, ptr %195, align 4, !tbaa !5
  %1906 = call ptr @s2n_strerror_debug(i32 noundef %1905, ptr noundef nonnull @.str.4) #10
  %1907 = load i32, ptr %249, align 4, !tbaa !5
  %1908 = call ptr @strerror(i32 noundef %1907) #10
  %1909 = load i32, ptr %249, align 4, !tbaa !5
  %1910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1901, ptr noundef nonnull %.str.5.sink1076, i32 noundef %1902, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1904, ptr noundef %1906, ptr noundef %1908, i32 noundef %1909) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1911:                                             ; preds = %1884
  %1912 = add nsw i32 %1858, 3
  store i32 %1912, ptr @test_count, align 4, !tbaa !5
  %1913 = getelementptr inbounds i8, ptr %12, i64 12
  %1914 = load i8, ptr %1913, align 4, !tbaa !30
  %1915 = icmp eq i8 %1914, 3
  br i1 %1915, label %1938, label %1916

1916:                                             ; preds = %1911
  %1917 = load i32, ptr %249, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918) #10
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc nuw i8 %1920 to i1
  br i1 %1921, label %1922, label %1926

1922:                                             ; preds = %1916
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #10
  %1925 = call i32 @isatty(i32 noundef %1924) #10
  %.not341 = icmp eq i32 %1925, 0
  br i1 %.not341, label %1926, label %1927

1926:                                             ; preds = %1922, %1916
  br label %1927

1927:                                             ; preds = %1922, %1926
  %.str.5.sink1085 = phi ptr [ @.str.5, %1926 ], [ @.str.2, %1922 ]
  store i32 %1917, ptr %249, align 4, !tbaa !5
  %1928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1929 = load i32, ptr @test_count, align 4, !tbaa !5
  %1930 = load i32, ptr %195, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror(i32 noundef %1930, ptr noundef nonnull @.str.4) #10
  %1932 = load i32, ptr %195, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef nonnull @.str.4) #10
  %1934 = load i32, ptr %249, align 4, !tbaa !5
  %1935 = call ptr @strerror(i32 noundef %1934) #10
  %1936 = load i32, ptr %249, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1928, ptr noundef nonnull %.str.5.sink1085, i32 noundef %1929, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1931, ptr noundef %1933, ptr noundef %1935, i32 noundef %1936) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1938:                                             ; preds = %1911
  %1939 = add nsw i32 %1858, 4
  store i32 %1939, ptr @test_count, align 4, !tbaa !5
  %1940 = call i32 @s2n_stuffer_reserve_uint24(ptr noundef nonnull %3, ptr noundef nonnull %12) #10
  %1941 = icmp eq i32 %1940, -1
  br i1 %1941, label %1942, label %1964

1942:                                             ; preds = %1938
  %1943 = load i32, ptr %249, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = call i32 @s2n_print_stacktrace(ptr noundef %1944) #10
  %1946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1947 = trunc nuw i8 %1946 to i1
  br i1 %1947, label %1948, label %1952

1948:                                             ; preds = %1942
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @fileno(ptr noundef %1949) #10
  %1951 = call i32 @isatty(i32 noundef %1950) #10
  %.not404 = icmp eq i32 %1951, 0
  br i1 %.not404, label %1952, label %1953

1952:                                             ; preds = %1948, %1942
  br label %1953

1953:                                             ; preds = %1948, %1952
  %.str.5.sink1094 = phi ptr [ @.str.5, %1952 ], [ @.str.2, %1948 ]
  store i32 %1943, ptr %249, align 4, !tbaa !5
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = load i32, ptr @test_count, align 4, !tbaa !5
  %1956 = load i32, ptr %195, align 4, !tbaa !5
  %1957 = call ptr @s2n_strerror(i32 noundef %1956, ptr noundef nonnull @.str.4) #10
  %1958 = load i32, ptr %195, align 4, !tbaa !5
  %1959 = call ptr @s2n_strerror_debug(i32 noundef %1958, ptr noundef nonnull @.str.4) #10
  %1960 = load i32, ptr %249, align 4, !tbaa !5
  %1961 = call ptr @strerror(i32 noundef %1960) #10
  %1962 = load i32, ptr %249, align 4, !tbaa !5
  %1963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1954, ptr noundef nonnull %.str.5.sink1094, i32 noundef %1955, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %1957, ptr noundef %1959, ptr noundef %1961, i32 noundef %1962) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1964:                                             ; preds = %1938
  %1965 = load i32, ptr @test_count, align 4, !tbaa !5
  %1966 = add nsw i32 %1965, 1
  store i32 %1966, ptr @test_count, align 4, !tbaa !5
  %1967 = load ptr, ptr %12, align 8, !tbaa !27
  %1968 = icmp eq ptr %1967, %3
  br i1 %1968, label %1991, label %1969

1969:                                             ; preds = %1964
  %1970 = load i32, ptr %249, align 4, !tbaa !5
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = call i32 @s2n_print_stacktrace(ptr noundef %1971) #10
  %1973 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1974 = trunc nuw i8 %1973 to i1
  br i1 %1974, label %1975, label %1979

1975:                                             ; preds = %1969
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @fileno(ptr noundef %1976) #10
  %1978 = call i32 @isatty(i32 noundef %1977) #10
  %.not342 = icmp eq i32 %1978, 0
  br i1 %.not342, label %1979, label %1980

1979:                                             ; preds = %1975, %1969
  br label %1980

1980:                                             ; preds = %1975, %1979
  %.str.5.sink1103 = phi ptr [ @.str.5, %1979 ], [ @.str.2, %1975 ]
  store i32 %1970, ptr %249, align 4, !tbaa !5
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = load i32, ptr @test_count, align 4, !tbaa !5
  %1983 = load i32, ptr %195, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror(i32 noundef %1983, ptr noundef nonnull @.str.4) #10
  %1985 = load i32, ptr %195, align 4, !tbaa !5
  %1986 = call ptr @s2n_strerror_debug(i32 noundef %1985, ptr noundef nonnull @.str.4) #10
  %1987 = load i32, ptr %249, align 4, !tbaa !5
  %1988 = call ptr @strerror(i32 noundef %1987) #10
  %1989 = load i32, ptr %249, align 4, !tbaa !5
  %1990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1981, ptr noundef nonnull %.str.5.sink1103, i32 noundef %1982, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1984, ptr noundef %1986, ptr noundef %1988, i32 noundef %1989) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1991:                                             ; preds = %1964
  %1992 = add nsw i32 %1965, 2
  store i32 %1992, ptr @test_count, align 4, !tbaa !5
  %1993 = load i32, ptr %1886, align 8, !tbaa !29
  %1994 = icmp eq i32 %1993, 5
  br i1 %1994, label %2017, label %1995

1995:                                             ; preds = %1991
  %1996 = load i32, ptr %249, align 4, !tbaa !5
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = call i32 @s2n_print_stacktrace(ptr noundef %1997) #10
  %1999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2000 = trunc nuw i8 %1999 to i1
  br i1 %2000, label %2001, label %2005

2001:                                             ; preds = %1995
  %2002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2003 = call i32 @fileno(ptr noundef %2002) #10
  %2004 = call i32 @isatty(i32 noundef %2003) #10
  %.not343 = icmp eq i32 %2004, 0
  br i1 %.not343, label %2005, label %2006

2005:                                             ; preds = %2001, %1995
  br label %2006

2006:                                             ; preds = %2001, %2005
  %.str.5.sink1112 = phi ptr [ @.str.5, %2005 ], [ @.str.2, %2001 ]
  store i32 %1996, ptr %249, align 4, !tbaa !5
  %2007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2008 = load i32, ptr @test_count, align 4, !tbaa !5
  %2009 = load i32, ptr %195, align 4, !tbaa !5
  %2010 = call ptr @s2n_strerror(i32 noundef %2009, ptr noundef nonnull @.str.4) #10
  %2011 = load i32, ptr %195, align 4, !tbaa !5
  %2012 = call ptr @s2n_strerror_debug(i32 noundef %2011, ptr noundef nonnull @.str.4) #10
  %2013 = load i32, ptr %249, align 4, !tbaa !5
  %2014 = call ptr @strerror(i32 noundef %2013) #10
  %2015 = load i32, ptr %249, align 4, !tbaa !5
  %2016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2007, ptr noundef nonnull %.str.5.sink1112, i32 noundef %2008, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %2010, ptr noundef %2012, ptr noundef %2014, i32 noundef %2015) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2017:                                             ; preds = %1991
  %2018 = add nsw i32 %1965, 3
  store i32 %2018, ptr @test_count, align 4, !tbaa !5
  %2019 = load i8, ptr %1913, align 4, !tbaa !30
  %2020 = icmp eq i8 %2019, 3
  br i1 %2020, label %2043, label %2021

2021:                                             ; preds = %2017
  %2022 = load i32, ptr %249, align 4, !tbaa !5
  %2023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2024 = call i32 @s2n_print_stacktrace(ptr noundef %2023) #10
  %2025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2026 = trunc nuw i8 %2025 to i1
  br i1 %2026, label %2027, label %2031

2027:                                             ; preds = %2021
  %2028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2029 = call i32 @fileno(ptr noundef %2028) #10
  %2030 = call i32 @isatty(i32 noundef %2029) #10
  %.not344 = icmp eq i32 %2030, 0
  br i1 %.not344, label %2031, label %2032

2031:                                             ; preds = %2027, %2021
  br label %2032

2032:                                             ; preds = %2027, %2031
  %.str.5.sink1121 = phi ptr [ @.str.5, %2031 ], [ @.str.2, %2027 ]
  store i32 %2022, ptr %249, align 4, !tbaa !5
  %2033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2034 = load i32, ptr @test_count, align 4, !tbaa !5
  %2035 = load i32, ptr %195, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror(i32 noundef %2035, ptr noundef nonnull @.str.4) #10
  %2037 = load i32, ptr %195, align 4, !tbaa !5
  %2038 = call ptr @s2n_strerror_debug(i32 noundef %2037, ptr noundef nonnull @.str.4) #10
  %2039 = load i32, ptr %249, align 4, !tbaa !5
  %2040 = call ptr @strerror(i32 noundef %2039) #10
  %2041 = load i32, ptr %249, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2033, ptr noundef nonnull %.str.5.sink1121, i32 noundef %2034, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %2036, ptr noundef %2038, ptr noundef %2040, i32 noundef %2041) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2043:                                             ; preds = %2017
  %2044 = add nsw i32 %1965, 4
  store i32 %2044, ptr @test_count, align 4, !tbaa !5
  %2045 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext -1) #10
  %2046 = icmp eq i32 %2045, -1
  br i1 %2046, label %2047, label %2069

2047:                                             ; preds = %2043
  %2048 = load i32, ptr %249, align 4, !tbaa !5
  %2049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2050 = call i32 @s2n_print_stacktrace(ptr noundef %2049) #10
  %2051 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2052 = trunc nuw i8 %2051 to i1
  br i1 %2052, label %2053, label %2057

2053:                                             ; preds = %2047
  %2054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2055 = call i32 @fileno(ptr noundef %2054) #10
  %2056 = call i32 @isatty(i32 noundef %2055) #10
  %.not403 = icmp eq i32 %2056, 0
  br i1 %.not403, label %2057, label %2058

2057:                                             ; preds = %2053, %2047
  br label %2058

2058:                                             ; preds = %2053, %2057
  %.str.5.sink1130 = phi ptr [ @.str.5, %2057 ], [ @.str.2, %2053 ]
  store i32 %2048, ptr %249, align 4, !tbaa !5
  %2059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2060 = load i32, ptr @test_count, align 4, !tbaa !5
  %2061 = load i32, ptr %195, align 4, !tbaa !5
  %2062 = call ptr @s2n_strerror(i32 noundef %2061, ptr noundef nonnull @.str.4) #10
  %2063 = load i32, ptr %195, align 4, !tbaa !5
  %2064 = call ptr @s2n_strerror_debug(i32 noundef %2063, ptr noundef nonnull @.str.4) #10
  %2065 = load i32, ptr %249, align 4, !tbaa !5
  %2066 = call ptr @strerror(i32 noundef %2065) #10
  %2067 = load i32, ptr %249, align 4, !tbaa !5
  %2068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2059, ptr noundef nonnull %.str.5.sink1130, i32 noundef %2060, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %2062, ptr noundef %2064, ptr noundef %2066, i32 noundef %2067) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2069:                                             ; preds = %2043
  call void @llvm.lifetime.start.p0(i64 3, ptr nonnull %13) #10
  %2070 = load i32, ptr @test_count, align 4, !tbaa !5
  %2071 = add nsw i32 %2070, 1
  store i32 %2071, ptr @test_count, align 4, !tbaa !5
  %2072 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %11) #10
  %2073 = icmp eq i32 %2072, -1
  br i1 %2073, label %2074, label %2096

2074:                                             ; preds = %2069
  %2075 = load i32, ptr %249, align 4, !tbaa !5
  %2076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2077 = call i32 @s2n_print_stacktrace(ptr noundef %2076) #10
  %2078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2079 = trunc nuw i8 %2078 to i1
  br i1 %2079, label %2080, label %2084

2080:                                             ; preds = %2074
  %2081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2082 = call i32 @fileno(ptr noundef %2081) #10
  %2083 = call i32 @isatty(i32 noundef %2082) #10
  %.not402 = icmp eq i32 %2083, 0
  br i1 %.not402, label %2084, label %2085

2084:                                             ; preds = %2080, %2074
  br label %2085

2085:                                             ; preds = %2080, %2084
  %.str.5.sink1139 = phi ptr [ @.str.5, %2084 ], [ @.str.2, %2080 ]
  store i32 %2075, ptr %249, align 4, !tbaa !5
  %2086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2087 = load i32, ptr @test_count, align 4, !tbaa !5
  %2088 = load i32, ptr %195, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror(i32 noundef %2088, ptr noundef nonnull @.str.4) #10
  %2090 = load i32, ptr %195, align 4, !tbaa !5
  %2091 = call ptr @s2n_strerror_debug(i32 noundef %2090, ptr noundef nonnull @.str.4) #10
  %2092 = load i32, ptr %249, align 4, !tbaa !5
  %2093 = call ptr @strerror(i32 noundef %2092) #10
  %2094 = load i32, ptr %249, align 4, !tbaa !5
  %2095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2086, ptr noundef nonnull %.str.5.sink1139, i32 noundef %2087, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %2089, ptr noundef %2091, ptr noundef %2093, i32 noundef %2094) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2096:                                             ; preds = %2069
  %2097 = load i32, ptr @test_count, align 4, !tbaa !5
  %2098 = add nsw i32 %2097, 1
  store i32 %2098, ptr @test_count, align 4, !tbaa !5
  %2099 = load i16, ptr %11, align 2, !tbaa !22
  %2100 = icmp eq i16 %2099, 5
  br i1 %2100, label %2123, label %2101

2101:                                             ; preds = %2096
  %2102 = load i32, ptr %249, align 4, !tbaa !5
  %2103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2104 = call i32 @s2n_print_stacktrace(ptr noundef %2103) #10
  %2105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2106 = trunc nuw i8 %2105 to i1
  br i1 %2106, label %2107, label %2111

2107:                                             ; preds = %2101
  %2108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2109 = call i32 @fileno(ptr noundef %2108) #10
  %2110 = call i32 @isatty(i32 noundef %2109) #10
  %.not345 = icmp eq i32 %2110, 0
  br i1 %.not345, label %2111, label %2112

2111:                                             ; preds = %2107, %2101
  br label %2112

2112:                                             ; preds = %2107, %2111
  %.str.5.sink1148 = phi ptr [ @.str.5, %2111 ], [ @.str.2, %2107 ]
  store i32 %2102, ptr %249, align 4, !tbaa !5
  %2113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2114 = load i32, ptr @test_count, align 4, !tbaa !5
  %2115 = load i32, ptr %195, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef nonnull @.str.4) #10
  %2117 = load i32, ptr %195, align 4, !tbaa !5
  %2118 = call ptr @s2n_strerror_debug(i32 noundef %2117, ptr noundef nonnull @.str.4) #10
  %2119 = load i32, ptr %249, align 4, !tbaa !5
  %2120 = call ptr @strerror(i32 noundef %2119) #10
  %2121 = load i32, ptr %249, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2113, ptr noundef nonnull %.str.5.sink1148, i32 noundef %2114, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %2116, ptr noundef %2118, ptr noundef %2120, i32 noundef %2121) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2123:                                             ; preds = %2096
  %2124 = add nsw i32 %2097, 2
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %3, ptr noundef nonnull %13, i32 noundef 3) #10
  %2126 = icmp eq i32 %2125, -1
  br i1 %2126, label %2127, label %2149

2127:                                             ; preds = %2123
  %2128 = load i32, ptr %249, align 4, !tbaa !5
  %2129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2130 = call i32 @s2n_print_stacktrace(ptr noundef %2129) #10
  %2131 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2132 = trunc nuw i8 %2131 to i1
  br i1 %2132, label %2133, label %2137

2133:                                             ; preds = %2127
  %2134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2135 = call i32 @fileno(ptr noundef %2134) #10
  %2136 = call i32 @isatty(i32 noundef %2135) #10
  %.not401 = icmp eq i32 %2136, 0
  br i1 %.not401, label %2137, label %2138

2137:                                             ; preds = %2133, %2127
  br label %2138

2138:                                             ; preds = %2133, %2137
  %.str.5.sink1157 = phi ptr [ @.str.5, %2137 ], [ @.str.2, %2133 ]
  store i32 %2128, ptr %249, align 4, !tbaa !5
  %2139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2140 = load i32, ptr @test_count, align 4, !tbaa !5
  %2141 = load i32, ptr %195, align 4, !tbaa !5
  %2142 = call ptr @s2n_strerror(i32 noundef %2141, ptr noundef nonnull @.str.4) #10
  %2143 = load i32, ptr %195, align 4, !tbaa !5
  %2144 = call ptr @s2n_strerror_debug(i32 noundef %2143, ptr noundef nonnull @.str.4) #10
  %2145 = load i32, ptr %249, align 4, !tbaa !5
  %2146 = call ptr @strerror(i32 noundef %2145) #10
  %2147 = load i32, ptr %249, align 4, !tbaa !5
  %2148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2139, ptr noundef nonnull %.str.5.sink1157, i32 noundef %2140, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %2142, ptr noundef %2144, ptr noundef %2146, i32 noundef %2147) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2149:                                             ; preds = %2123
  %2150 = load i32, ptr @test_count, align 4, !tbaa !5
  %2151 = add nsw i32 %2150, 1
  store i32 %2151, ptr @test_count, align 4, !tbaa !5
  %bcmp346 = call i32 @bcmp(ptr noundef nonnull dereferenceable(3) %13, ptr noundef nonnull dereferenceable(3) @__const.main.expected_bytes.43, i64 3)
  %2152 = icmp eq i32 %bcmp346, 0
  br i1 %2152, label %2175, label %2153

2153:                                             ; preds = %2149
  %2154 = load i32, ptr %249, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @s2n_print_stacktrace(ptr noundef %2155) #10
  %2157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2158 = trunc nuw i8 %2157 to i1
  br i1 %2158, label %2159, label %2163

2159:                                             ; preds = %2153
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = call i32 @fileno(ptr noundef %2160) #10
  %2162 = call i32 @isatty(i32 noundef %2161) #10
  %.not347 = icmp eq i32 %2162, 0
  br i1 %.not347, label %2163, label %2164

2163:                                             ; preds = %2159, %2153
  br label %2164

2164:                                             ; preds = %2159, %2163
  %.str.5.sink1166 = phi ptr [ @.str.5, %2163 ], [ @.str.2, %2159 ]
  store i32 %2154, ptr %249, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = load i32, ptr @test_count, align 4, !tbaa !5
  %2167 = load i32, ptr %195, align 4, !tbaa !5
  %2168 = call ptr @s2n_strerror(i32 noundef %2167, ptr noundef nonnull @.str.4) #10
  %2169 = load i32, ptr %195, align 4, !tbaa !5
  %2170 = call ptr @s2n_strerror_debug(i32 noundef %2169, ptr noundef nonnull @.str.4) #10
  %2171 = load i32, ptr %249, align 4, !tbaa !5
  %2172 = call ptr @strerror(i32 noundef %2171) #10
  %2173 = load i32, ptr %249, align 4, !tbaa !5
  %2174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2165, ptr noundef nonnull %.str.5.sink1166, i32 noundef %2166, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 197, ptr noundef %2168, ptr noundef %2170, ptr noundef %2172, i32 noundef %2173) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2175:                                             ; preds = %2149
  %2176 = add nsw i32 %2150, 2
  store i32 %2176, ptr @test_count, align 4, !tbaa !5
  %2177 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %3, ptr noundef nonnull %13, i32 noundef 3) #10
  %2178 = icmp eq i32 %2177, -1
  br i1 %2178, label %2179, label %2201

2179:                                             ; preds = %2175
  %2180 = load i32, ptr %249, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @s2n_print_stacktrace(ptr noundef %2181) #10
  %2183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2184 = trunc nuw i8 %2183 to i1
  br i1 %2184, label %2185, label %2189

2185:                                             ; preds = %2179
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @fileno(ptr noundef %2186) #10
  %2188 = call i32 @isatty(i32 noundef %2187) #10
  %.not400 = icmp eq i32 %2188, 0
  br i1 %.not400, label %2189, label %2190

2189:                                             ; preds = %2185, %2179
  br label %2190

2190:                                             ; preds = %2185, %2189
  %.str.5.sink1175 = phi ptr [ @.str.5, %2189 ], [ @.str.2, %2185 ]
  store i32 %2180, ptr %249, align 4, !tbaa !5
  %2191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = load i32, ptr %195, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror(i32 noundef %2193, ptr noundef nonnull @.str.4) #10
  %2195 = load i32, ptr %195, align 4, !tbaa !5
  %2196 = call ptr @s2n_strerror_debug(i32 noundef %2195, ptr noundef nonnull @.str.4) #10
  %2197 = load i32, ptr %249, align 4, !tbaa !5
  %2198 = call ptr @strerror(i32 noundef %2197) #10
  %2199 = load i32, ptr %249, align 4, !tbaa !5
  %2200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2191, ptr noundef nonnull %.str.5.sink1175, i32 noundef %2192, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %2194, ptr noundef %2196, ptr noundef %2198, i32 noundef %2199) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2201:                                             ; preds = %2175
  %2202 = load i32, ptr @test_count, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %bcmp348 = call i32 @bcmp(ptr noundef nonnull dereferenceable(3) %13, ptr noundef nonnull dereferenceable(3) @__const.main.expected_bytes.43, i64 3)
  %2204 = icmp eq i32 %bcmp348, 0
  br i1 %2204, label %2227, label %2205

2205:                                             ; preds = %2201
  %2206 = load i32, ptr %249, align 4, !tbaa !5
  %2207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2208 = call i32 @s2n_print_stacktrace(ptr noundef %2207) #10
  %2209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2210 = trunc nuw i8 %2209 to i1
  br i1 %2210, label %2211, label %2215

2211:                                             ; preds = %2205
  %2212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2213 = call i32 @fileno(ptr noundef %2212) #10
  %2214 = call i32 @isatty(i32 noundef %2213) #10
  %.not349 = icmp eq i32 %2214, 0
  br i1 %.not349, label %2215, label %2216

2215:                                             ; preds = %2211, %2205
  br label %2216

2216:                                             ; preds = %2211, %2215
  %.str.5.sink1184 = phi ptr [ @.str.5, %2215 ], [ @.str.2, %2211 ]
  store i32 %2206, ptr %249, align 4, !tbaa !5
  %2217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2218 = load i32, ptr @test_count, align 4, !tbaa !5
  %2219 = load i32, ptr %195, align 4, !tbaa !5
  %2220 = call ptr @s2n_strerror(i32 noundef %2219, ptr noundef nonnull @.str.4) #10
  %2221 = load i32, ptr %195, align 4, !tbaa !5
  %2222 = call ptr @s2n_strerror_debug(i32 noundef %2221, ptr noundef nonnull @.str.4) #10
  %2223 = load i32, ptr %249, align 4, !tbaa !5
  %2224 = call ptr @strerror(i32 noundef %2223) #10
  %2225 = load i32, ptr %249, align 4, !tbaa !5
  %2226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2217, ptr noundef nonnull %.str.5.sink1184, i32 noundef %2218, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %2220, ptr noundef %2222, ptr noundef %2224, i32 noundef %2225) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2227:                                             ; preds = %2201
  %2228 = add nsw i32 %2202, 2
  store i32 %2228, ptr @test_count, align 4, !tbaa !5
  %2229 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %11) #10
  %2230 = icmp eq i32 %2229, -1
  br i1 %2230, label %2231, label %2253

2231:                                             ; preds = %2227
  %2232 = load i32, ptr %249, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = call i32 @s2n_print_stacktrace(ptr noundef %2233) #10
  %2235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2236 = trunc nuw i8 %2235 to i1
  br i1 %2236, label %2237, label %2241

2237:                                             ; preds = %2231
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = call i32 @fileno(ptr noundef %2238) #10
  %2240 = call i32 @isatty(i32 noundef %2239) #10
  %.not399 = icmp eq i32 %2240, 0
  br i1 %.not399, label %2241, label %2242

2241:                                             ; preds = %2237, %2231
  br label %2242

2242:                                             ; preds = %2237, %2241
  %.str.5.sink1193 = phi ptr [ @.str.5, %2241 ], [ @.str.2, %2237 ]
  store i32 %2232, ptr %249, align 4, !tbaa !5
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = load i32, ptr @test_count, align 4, !tbaa !5
  %2245 = load i32, ptr %195, align 4, !tbaa !5
  %2246 = call ptr @s2n_strerror(i32 noundef %2245, ptr noundef nonnull @.str.4) #10
  %2247 = load i32, ptr %195, align 4, !tbaa !5
  %2248 = call ptr @s2n_strerror_debug(i32 noundef %2247, ptr noundef nonnull @.str.4) #10
  %2249 = load i32, ptr %249, align 4, !tbaa !5
  %2250 = call ptr @strerror(i32 noundef %2249) #10
  %2251 = load i32, ptr %249, align 4, !tbaa !5
  %2252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2243, ptr noundef nonnull %.str.5.sink1193, i32 noundef %2244, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 200, ptr noundef %2246, ptr noundef %2248, ptr noundef %2250, i32 noundef %2251) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2253:                                             ; preds = %2227
  %2254 = load i32, ptr @test_count, align 4, !tbaa !5
  %2255 = add nsw i32 %2254, 1
  store i32 %2255, ptr @test_count, align 4, !tbaa !5
  %2256 = load i16, ptr %11, align 2, !tbaa !22
  %2257 = icmp eq i16 %2256, -1
  br i1 %2257, label %2280, label %2258

2258:                                             ; preds = %2253
  %2259 = load i32, ptr %249, align 4, !tbaa !5
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = call i32 @s2n_print_stacktrace(ptr noundef %2260) #10
  %2262 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2263 = trunc nuw i8 %2262 to i1
  br i1 %2263, label %2264, label %2268

2264:                                             ; preds = %2258
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @fileno(ptr noundef %2265) #10
  %2267 = call i32 @isatty(i32 noundef %2266) #10
  %.not350 = icmp eq i32 %2267, 0
  br i1 %.not350, label %2268, label %2269

2268:                                             ; preds = %2264, %2258
  br label %2269

2269:                                             ; preds = %2264, %2268
  %.str.5.sink1202 = phi ptr [ @.str.5, %2268 ], [ @.str.2, %2264 ]
  store i32 %2259, ptr %249, align 4, !tbaa !5
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = load i32, ptr @test_count, align 4, !tbaa !5
  %2272 = load i32, ptr %195, align 4, !tbaa !5
  %2273 = call ptr @s2n_strerror(i32 noundef %2272, ptr noundef nonnull @.str.4) #10
  %2274 = load i32, ptr %195, align 4, !tbaa !5
  %2275 = call ptr @s2n_strerror_debug(i32 noundef %2274, ptr noundef nonnull @.str.4) #10
  %2276 = load i32, ptr %249, align 4, !tbaa !5
  %2277 = call ptr @strerror(i32 noundef %2276) #10
  %2278 = load i32, ptr %249, align 4, !tbaa !5
  %2279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2270, ptr noundef nonnull %.str.5.sink1202, i32 noundef %2271, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %2273, ptr noundef %2275, ptr noundef %2277, i32 noundef %2278) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2280:                                             ; preds = %2253
  call void @llvm.lifetime.end.p0(i64 3, ptr nonnull %13) #10
  %2281 = add nsw i32 %2254, 2
  store i32 %2281, ptr @test_count, align 4, !tbaa !5
  %2282 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #10
  %2283 = icmp eq i32 %2282, -1
  br i1 %2283, label %2284, label %2306

2284:                                             ; preds = %2280
  %2285 = load i32, ptr %249, align 4, !tbaa !5
  %2286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2287 = call i32 @s2n_print_stacktrace(ptr noundef %2286) #10
  %2288 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2289 = trunc nuw i8 %2288 to i1
  br i1 %2289, label %2290, label %2294

2290:                                             ; preds = %2284
  %2291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2292 = call i32 @fileno(ptr noundef %2291) #10
  %2293 = call i32 @isatty(i32 noundef %2292) #10
  %.not398 = icmp eq i32 %2293, 0
  br i1 %.not398, label %2294, label %2295

2294:                                             ; preds = %2290, %2284
  br label %2295

2295:                                             ; preds = %2290, %2294
  %.str.5.sink1211 = phi ptr [ @.str.5, %2294 ], [ @.str.2, %2290 ]
  store i32 %2285, ptr %249, align 4, !tbaa !5
  %2296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2297 = load i32, ptr @test_count, align 4, !tbaa !5
  %2298 = load i32, ptr %195, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror(i32 noundef %2298, ptr noundef nonnull @.str.4) #10
  %2300 = load i32, ptr %195, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef nonnull @.str.4) #10
  %2302 = load i32, ptr %249, align 4, !tbaa !5
  %2303 = call ptr @strerror(i32 noundef %2302) #10
  %2304 = load i32, ptr %249, align 4, !tbaa !5
  %2305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2296, ptr noundef nonnull %.str.5.sink1211, i32 noundef %2297, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %2299, ptr noundef %2301, ptr noundef %2303, i32 noundef %2304) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2306:                                             ; preds = %2280
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %11) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %14) #10
  store i16 0, ptr %14, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %15) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, i8 0, i64 16, i1 false)
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16, i8 0, i64 16, i1 false)
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = add nsw i32 %2307, 1
  store i32 %2308, ptr @test_count, align 4, !tbaa !5
  %2309 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #10
  %2310 = icmp eq i32 %2309, -1
  br i1 %2310, label %2311, label %2333

2311:                                             ; preds = %2306
  %2312 = load i32, ptr %249, align 4, !tbaa !5
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2314 = call i32 @s2n_print_stacktrace(ptr noundef %2313) #10
  %2315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2316 = trunc nuw i8 %2315 to i1
  br i1 %2316, label %2317, label %2321

2317:                                             ; preds = %2311
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2319 = call i32 @fileno(ptr noundef %2318) #10
  %2320 = call i32 @isatty(i32 noundef %2319) #10
  %.not397 = icmp eq i32 %2320, 0
  br i1 %.not397, label %2321, label %2322

2321:                                             ; preds = %2317, %2311
  br label %2322

2322:                                             ; preds = %2317, %2321
  %.str.5.sink1220 = phi ptr [ @.str.5, %2321 ], [ @.str.2, %2317 ]
  store i32 %2312, ptr %249, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = load i32, ptr %195, align 4, !tbaa !5
  %2326 = call ptr @s2n_strerror(i32 noundef %2325, ptr noundef nonnull @.str.4) #10
  %2327 = load i32, ptr %195, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror_debug(i32 noundef %2327, ptr noundef nonnull @.str.4) #10
  %2329 = load i32, ptr %249, align 4, !tbaa !5
  %2330 = call ptr @strerror(i32 noundef %2329) #10
  %2331 = load i32, ptr %249, align 4, !tbaa !5
  %2332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef nonnull %.str.5.sink1220, i32 noundef %2324, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2326, ptr noundef %2328, ptr noundef %2330, i32 noundef %2331) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2333:                                             ; preds = %2306
  %2334 = load i32, ptr %279, align 4, !tbaa !15
  store ptr null, ptr %15, align 8, !tbaa !27
  %2335 = load i32, ptr @test_count, align 4, !tbaa !5
  %2336 = add nsw i32 %2335, 1
  store i32 %2336, ptr @test_count, align 4, !tbaa !5
  %2337 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %15, i32 noundef 0) #10
  %2338 = icmp eq i32 %2337, -1
  br i1 %2338, label %2361, label %2339

2339:                                             ; preds = %2333
  %2340 = load i32, ptr %249, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = call i32 @s2n_print_stacktrace(ptr noundef %2341) #10
  %2343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2344 = trunc nuw i8 %2343 to i1
  br i1 %2344, label %2345, label %2349

2345:                                             ; preds = %2339
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @fileno(ptr noundef %2346) #10
  %2348 = call i32 @isatty(i32 noundef %2347) #10
  %.not351 = icmp eq i32 %2348, 0
  br i1 %.not351, label %2349, label %2350

2349:                                             ; preds = %2345, %2339
  br label %2350

2350:                                             ; preds = %2345, %2349
  %.str.5.sink1229 = phi ptr [ @.str.5, %2349 ], [ @.str.2, %2345 ]
  store i32 %2340, ptr %249, align 4, !tbaa !5
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = load i32, ptr @test_count, align 4, !tbaa !5
  %2353 = load i32, ptr %195, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror(i32 noundef %2353, ptr noundef nonnull @.str.4) #10
  %2355 = load i32, ptr %195, align 4, !tbaa !5
  %2356 = call ptr @s2n_strerror_debug(i32 noundef %2355, ptr noundef nonnull @.str.4) #10
  %2357 = load i32, ptr %249, align 4, !tbaa !5
  %2358 = call ptr @strerror(i32 noundef %2357) #10
  %2359 = load i32, ptr %249, align 4, !tbaa !5
  %2360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2351, ptr noundef nonnull %.str.5.sink1229, i32 noundef %2352, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %2354, ptr noundef %2356, ptr noundef %2358, i32 noundef %2359) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2361:                                             ; preds = %2333
  %2362 = load i32, ptr @test_count, align 4, !tbaa !5
  %2363 = add nsw i32 %2362, 1
  store i32 %2363, ptr @test_count, align 4, !tbaa !5
  %2364 = load i32, ptr %195, align 4, !tbaa !5
  %2365 = icmp eq i32 %2364, 0
  br i1 %2365, label %2366, label %2388

2366:                                             ; preds = %2361
  %2367 = load i32, ptr %249, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #10
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #10
  %2375 = call i32 @isatty(i32 noundef %2374) #10
  %.not396 = icmp eq i32 %2375, 0
  br i1 %.not396, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.5.sink1238 = phi ptr [ @.str.5, %2376 ], [ @.str.2, %2372 ]
  store i32 %2367, ptr %249, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %195, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.4) #10
  %2382 = load i32, ptr %195, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.4) #10
  %2384 = load i32, ptr %249, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #10
  %2386 = load i32, ptr %249, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.5.sink1238, i32 noundef %2379, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2388:                                             ; preds = %2361
  %2389 = add nsw i32 %2362, 2
  store i32 %2389, ptr @test_count, align 4, !tbaa !5
  %2390 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef nonnull @.str.4) #10
  %2391 = icmp eq ptr %2390, null
  br i1 %2391, label %2392, label %2414

2392:                                             ; preds = %2388
  %2393 = load i32, ptr %249, align 4, !tbaa !5
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @s2n_print_stacktrace(ptr noundef %2394) #10
  %2396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2397 = trunc nuw i8 %2396 to i1
  br i1 %2397, label %2398, label %2402

2398:                                             ; preds = %2392
  %2399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2400 = call i32 @fileno(ptr noundef %2399) #10
  %2401 = call i32 @isatty(i32 noundef %2400) #10
  %.not395 = icmp eq i32 %2401, 0
  br i1 %.not395, label %2402, label %2403

2402:                                             ; preds = %2398, %2392
  br label %2403

2403:                                             ; preds = %2398, %2402
  %.str.5.sink1247 = phi ptr [ @.str.5, %2402 ], [ @.str.2, %2398 ]
  store i32 %2393, ptr %249, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = load i32, ptr %195, align 4, !tbaa !5
  %2407 = call ptr @s2n_strerror(i32 noundef %2406, ptr noundef nonnull @.str.4) #10
  %2408 = load i32, ptr %195, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror_debug(i32 noundef %2408, ptr noundef nonnull @.str.4) #10
  %2410 = load i32, ptr %249, align 4, !tbaa !5
  %2411 = call ptr @strerror(i32 noundef %2410) #10
  %2412 = load i32, ptr %249, align 4, !tbaa !5
  %2413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2404, ptr noundef nonnull %.str.5.sink1247, i32 noundef %2405, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 217, ptr noundef %2407, ptr noundef %2409, ptr noundef %2411, i32 noundef %2412) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2414:                                             ; preds = %2388
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %2415 = load i32, ptr @test_count, align 4, !tbaa !5
  %2416 = add nsw i32 %2415, 1
  store i32 %2416, ptr @test_count, align 4, !tbaa !5
  %2417 = load i32, ptr %279, align 4, !tbaa !15
  %2418 = icmp eq i32 %2417, %2334
  br i1 %2418, label %2441, label %2419

2419:                                             ; preds = %2414
  %2420 = load i32, ptr %249, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = call i32 @s2n_print_stacktrace(ptr noundef %2421) #10
  %2423 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2424 = trunc nuw i8 %2423 to i1
  br i1 %2424, label %2425, label %2429

2425:                                             ; preds = %2419
  %2426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2427 = call i32 @fileno(ptr noundef %2426) #10
  %2428 = call i32 @isatty(i32 noundef %2427) #10
  %.not352 = icmp eq i32 %2428, 0
  br i1 %.not352, label %2429, label %2430

2429:                                             ; preds = %2425, %2419
  br label %2430

2430:                                             ; preds = %2425, %2429
  %.str.5.sink1256 = phi ptr [ @.str.5, %2429 ], [ @.str.2, %2425 ]
  store i32 %2420, ptr %249, align 4, !tbaa !5
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = load i32, ptr @test_count, align 4, !tbaa !5
  %2433 = load i32, ptr %195, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror(i32 noundef %2433, ptr noundef nonnull @.str.4) #10
  %2435 = load i32, ptr %195, align 4, !tbaa !5
  %2436 = call ptr @s2n_strerror_debug(i32 noundef %2435, ptr noundef nonnull @.str.4) #10
  %2437 = load i32, ptr %249, align 4, !tbaa !5
  %2438 = call ptr @strerror(i32 noundef %2437) #10
  %2439 = load i32, ptr %249, align 4, !tbaa !5
  %2440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2431, ptr noundef nonnull %.str.5.sink1256, i32 noundef %2432, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %2434, ptr noundef %2436, ptr noundef %2438, i32 noundef %2439) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2441:                                             ; preds = %2414
  store ptr %3, ptr %15, align 8, !tbaa !27
  %2442 = getelementptr inbounds i8, ptr %15, i64 12
  store i8 8, ptr %2442, align 4, !tbaa !30
  %2443 = add nsw i32 %2415, 2
  store i32 %2443, ptr @test_count, align 4, !tbaa !5
  %2444 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %15, i32 noundef 0) #10
  %2445 = icmp eq i32 %2444, -1
  br i1 %2445, label %2468, label %2446

2446:                                             ; preds = %2441
  %2447 = load i32, ptr %249, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = call i32 @s2n_print_stacktrace(ptr noundef %2448) #10
  %2450 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2451 = trunc nuw i8 %2450 to i1
  br i1 %2451, label %2452, label %2456

2452:                                             ; preds = %2446
  %2453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2454 = call i32 @fileno(ptr noundef %2453) #10
  %2455 = call i32 @isatty(i32 noundef %2454) #10
  %.not353 = icmp eq i32 %2455, 0
  br i1 %.not353, label %2456, label %2457

2456:                                             ; preds = %2452, %2446
  br label %2457

2457:                                             ; preds = %2452, %2456
  %.str.5.sink1265 = phi ptr [ @.str.5, %2456 ], [ @.str.2, %2452 ]
  store i32 %2447, ptr %249, align 4, !tbaa !5
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = load i32, ptr %195, align 4, !tbaa !5
  %2461 = call ptr @s2n_strerror(i32 noundef %2460, ptr noundef nonnull @.str.4) #10
  %2462 = load i32, ptr %195, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror_debug(i32 noundef %2462, ptr noundef nonnull @.str.4) #10
  %2464 = load i32, ptr %249, align 4, !tbaa !5
  %2465 = call ptr @strerror(i32 noundef %2464) #10
  %2466 = load i32, ptr %249, align 4, !tbaa !5
  %2467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2458, ptr noundef nonnull %.str.5.sink1265, i32 noundef %2459, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2461, ptr noundef %2463, ptr noundef %2465, i32 noundef %2466) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2468:                                             ; preds = %2441
  %2469 = load i32, ptr @test_count, align 4, !tbaa !5
  %2470 = add nsw i32 %2469, 1
  store i32 %2470, ptr @test_count, align 4, !tbaa !5
  %2471 = load i32, ptr %195, align 4, !tbaa !5
  %2472 = icmp eq i32 %2471, 402653194
  br i1 %2472, label %2495, label %2473

2473:                                             ; preds = %2468
  %2474 = load i32, ptr %249, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = call i32 @s2n_print_stacktrace(ptr noundef %2475) #10
  %2477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2478 = trunc nuw i8 %2477 to i1
  br i1 %2478, label %2479, label %2483

2479:                                             ; preds = %2473
  %2480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2481 = call i32 @fileno(ptr noundef %2480) #10
  %2482 = call i32 @isatty(i32 noundef %2481) #10
  %.not354 = icmp eq i32 %2482, 0
  br i1 %.not354, label %2483, label %2484

2483:                                             ; preds = %2479, %2473
  br label %2484

2484:                                             ; preds = %2479, %2483
  %.str.5.sink1274 = phi ptr [ @.str.5, %2483 ], [ @.str.2, %2479 ]
  store i32 %2474, ptr %249, align 4, !tbaa !5
  %2485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2486 = load i32, ptr @test_count, align 4, !tbaa !5
  %2487 = load i32, ptr %195, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror(i32 noundef %2487, ptr noundef nonnull @.str.4) #10
  %2489 = load i32, ptr %195, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror_debug(i32 noundef %2489, ptr noundef nonnull @.str.4) #10
  %2491 = load i32, ptr %249, align 4, !tbaa !5
  %2492 = call ptr @strerror(i32 noundef %2491) #10
  %2493 = load i32, ptr %249, align 4, !tbaa !5
  %2494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2485, ptr noundef nonnull %.str.5.sink1274, i32 noundef %2486, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2488, ptr noundef %2490, ptr noundef %2492, i32 noundef %2493) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2495:                                             ; preds = %2468
  %2496 = add nsw i32 %2469, 2
  store i32 %2496, ptr @test_count, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #10
  %2498 = icmp eq ptr %2497, null
  br i1 %2498, label %2499, label %2521

2499:                                             ; preds = %2495
  %2500 = load i32, ptr %249, align 4, !tbaa !5
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = call i32 @s2n_print_stacktrace(ptr noundef %2501) #10
  %2503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2504 = trunc nuw i8 %2503 to i1
  br i1 %2504, label %2505, label %2509

2505:                                             ; preds = %2499
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @fileno(ptr noundef %2506) #10
  %2508 = call i32 @isatty(i32 noundef %2507) #10
  %.not394 = icmp eq i32 %2508, 0
  br i1 %.not394, label %2509, label %2510

2509:                                             ; preds = %2505, %2499
  br label %2510

2510:                                             ; preds = %2505, %2509
  %.str.5.sink1283 = phi ptr [ @.str.5, %2509 ], [ @.str.2, %2505 ]
  store i32 %2500, ptr %249, align 4, !tbaa !5
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = load i32, ptr @test_count, align 4, !tbaa !5
  %2513 = load i32, ptr %195, align 4, !tbaa !5
  %2514 = call ptr @s2n_strerror(i32 noundef %2513, ptr noundef nonnull @.str.4) #10
  %2515 = load i32, ptr %195, align 4, !tbaa !5
  %2516 = call ptr @s2n_strerror_debug(i32 noundef %2515, ptr noundef nonnull @.str.4) #10
  %2517 = load i32, ptr %249, align 4, !tbaa !5
  %2518 = call ptr @strerror(i32 noundef %2517) #10
  %2519 = load i32, ptr %249, align 4, !tbaa !5
  %2520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2511, ptr noundef nonnull %.str.5.sink1283, i32 noundef %2512, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2514, ptr noundef %2516, ptr noundef %2518, i32 noundef %2519) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2521:                                             ; preds = %2495
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = add nsw i32 %2522, 1
  store i32 %2523, ptr @test_count, align 4, !tbaa !5
  %2524 = load i32, ptr %279, align 4, !tbaa !15
  %2525 = icmp eq i32 %2524, %2334
  br i1 %2525, label %2548, label %2526

2526:                                             ; preds = %2521
  %2527 = load i32, ptr %249, align 4, !tbaa !5
  %2528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2529 = call i32 @s2n_print_stacktrace(ptr noundef %2528) #10
  %2530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2531 = trunc nuw i8 %2530 to i1
  br i1 %2531, label %2532, label %2536

2532:                                             ; preds = %2526
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = call i32 @fileno(ptr noundef %2533) #10
  %2535 = call i32 @isatty(i32 noundef %2534) #10
  %.not355 = icmp eq i32 %2535, 0
  br i1 %.not355, label %2536, label %2537

2536:                                             ; preds = %2532, %2526
  br label %2537

2537:                                             ; preds = %2532, %2536
  %.str.5.sink1292 = phi ptr [ @.str.5, %2536 ], [ @.str.2, %2532 ]
  store i32 %2527, ptr %249, align 4, !tbaa !5
  %2538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2539 = load i32, ptr @test_count, align 4, !tbaa !5
  %2540 = load i32, ptr %195, align 4, !tbaa !5
  %2541 = call ptr @s2n_strerror(i32 noundef %2540, ptr noundef nonnull @.str.4) #10
  %2542 = load i32, ptr %195, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror_debug(i32 noundef %2542, ptr noundef nonnull @.str.4) #10
  %2544 = load i32, ptr %249, align 4, !tbaa !5
  %2545 = call ptr @strerror(i32 noundef %2544) #10
  %2546 = load i32, ptr %249, align 4, !tbaa !5
  %2547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2538, ptr noundef nonnull %.str.5.sink1292, i32 noundef %2539, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2541, ptr noundef %2543, ptr noundef %2545, i32 noundef %2546) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2548:                                             ; preds = %2521
  store i8 2, ptr %2442, align 4, !tbaa !30
  %2549 = add nsw i32 %2522, 2
  store i32 %2549, ptr @test_count, align 4, !tbaa !5
  %2550 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %15, i32 noundef -1) #10
  %2551 = icmp eq i32 %2550, -1
  br i1 %2551, label %2574, label %2552

2552:                                             ; preds = %2548
  %2553 = load i32, ptr %249, align 4, !tbaa !5
  %2554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2555 = call i32 @s2n_print_stacktrace(ptr noundef %2554) #10
  %2556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2557 = trunc nuw i8 %2556 to i1
  br i1 %2557, label %2558, label %2562

2558:                                             ; preds = %2552
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @fileno(ptr noundef %2559) #10
  %2561 = call i32 @isatty(i32 noundef %2560) #10
  %.not356 = icmp eq i32 %2561, 0
  br i1 %.not356, label %2562, label %2563

2562:                                             ; preds = %2558, %2552
  br label %2563

2563:                                             ; preds = %2558, %2562
  %.str.5.sink1301 = phi ptr [ @.str.5, %2562 ], [ @.str.2, %2558 ]
  store i32 %2553, ptr %249, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = load i32, ptr @test_count, align 4, !tbaa !5
  %2566 = load i32, ptr %195, align 4, !tbaa !5
  %2567 = call ptr @s2n_strerror(i32 noundef %2566, ptr noundef nonnull @.str.4) #10
  %2568 = load i32, ptr %195, align 4, !tbaa !5
  %2569 = call ptr @s2n_strerror_debug(i32 noundef %2568, ptr noundef nonnull @.str.4) #10
  %2570 = load i32, ptr %249, align 4, !tbaa !5
  %2571 = call ptr @strerror(i32 noundef %2570) #10
  %2572 = load i32, ptr %249, align 4, !tbaa !5
  %2573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2564, ptr noundef nonnull %.str.5.sink1301, i32 noundef %2565, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2567, ptr noundef %2569, ptr noundef %2571, i32 noundef %2572) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2574:                                             ; preds = %2548
  %2575 = load i32, ptr @test_count, align 4, !tbaa !5
  %2576 = add nsw i32 %2575, 1
  store i32 %2576, ptr @test_count, align 4, !tbaa !5
  %2577 = load i32, ptr %195, align 4, !tbaa !5
  %2578 = icmp eq i32 %2577, 402653194
  br i1 %2578, label %2601, label %2579

2579:                                             ; preds = %2574
  %2580 = load i32, ptr %249, align 4, !tbaa !5
  %2581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2582 = call i32 @s2n_print_stacktrace(ptr noundef %2581) #10
  %2583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2584 = trunc nuw i8 %2583 to i1
  br i1 %2584, label %2585, label %2589

2585:                                             ; preds = %2579
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = call i32 @fileno(ptr noundef %2586) #10
  %2588 = call i32 @isatty(i32 noundef %2587) #10
  %.not357 = icmp eq i32 %2588, 0
  br i1 %.not357, label %2589, label %2590

2589:                                             ; preds = %2585, %2579
  br label %2590

2590:                                             ; preds = %2585, %2589
  %.str.5.sink1310 = phi ptr [ @.str.5, %2589 ], [ @.str.2, %2585 ]
  store i32 %2580, ptr %249, align 4, !tbaa !5
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = load i32, ptr @test_count, align 4, !tbaa !5
  %2593 = load i32, ptr %195, align 4, !tbaa !5
  %2594 = call ptr @s2n_strerror(i32 noundef %2593, ptr noundef nonnull @.str.4) #10
  %2595 = load i32, ptr %195, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror_debug(i32 noundef %2595, ptr noundef nonnull @.str.4) #10
  %2597 = load i32, ptr %249, align 4, !tbaa !5
  %2598 = call ptr @strerror(i32 noundef %2597) #10
  %2599 = load i32, ptr %249, align 4, !tbaa !5
  %2600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2591, ptr noundef nonnull %.str.5.sink1310, i32 noundef %2592, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2594, ptr noundef %2596, ptr noundef %2598, i32 noundef %2599) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2601:                                             ; preds = %2574
  %2602 = add nsw i32 %2575, 2
  store i32 %2602, ptr @test_count, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #10
  %2604 = icmp eq ptr %2603, null
  br i1 %2604, label %2605, label %2627

2605:                                             ; preds = %2601
  %2606 = load i32, ptr %249, align 4, !tbaa !5
  %2607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2608 = call i32 @s2n_print_stacktrace(ptr noundef %2607) #10
  %2609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2610 = trunc nuw i8 %2609 to i1
  br i1 %2610, label %2611, label %2615

2611:                                             ; preds = %2605
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @fileno(ptr noundef %2612) #10
  %2614 = call i32 @isatty(i32 noundef %2613) #10
  %.not393 = icmp eq i32 %2614, 0
  br i1 %.not393, label %2615, label %2616

2615:                                             ; preds = %2611, %2605
  br label %2616

2616:                                             ; preds = %2611, %2615
  %.str.5.sink1319 = phi ptr [ @.str.5, %2615 ], [ @.str.2, %2611 ]
  store i32 %2606, ptr %249, align 4, !tbaa !5
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = load i32, ptr @test_count, align 4, !tbaa !5
  %2619 = load i32, ptr %195, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror(i32 noundef %2619, ptr noundef nonnull @.str.4) #10
  %2621 = load i32, ptr %195, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror_debug(i32 noundef %2621, ptr noundef nonnull @.str.4) #10
  %2623 = load i32, ptr %249, align 4, !tbaa !5
  %2624 = call ptr @strerror(i32 noundef %2623) #10
  %2625 = load i32, ptr %249, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2617, ptr noundef nonnull %.str.5.sink1319, i32 noundef %2618, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2620, ptr noundef %2622, ptr noundef %2624, i32 noundef %2625) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2627:                                             ; preds = %2601
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %2628 = load i32, ptr @test_count, align 4, !tbaa !5
  %2629 = add nsw i32 %2628, 1
  store i32 %2629, ptr @test_count, align 4, !tbaa !5
  %2630 = load i32, ptr %279, align 4, !tbaa !15
  %2631 = icmp eq i32 %2630, %2334
  br i1 %2631, label %2654, label %2632

2632:                                             ; preds = %2627
  %2633 = load i32, ptr %249, align 4, !tbaa !5
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @s2n_print_stacktrace(ptr noundef %2634) #10
  %2636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2637 = trunc nuw i8 %2636 to i1
  br i1 %2637, label %2638, label %2642

2638:                                             ; preds = %2632
  %2639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2640 = call i32 @fileno(ptr noundef %2639) #10
  %2641 = call i32 @isatty(i32 noundef %2640) #10
  %.not358 = icmp eq i32 %2641, 0
  br i1 %.not358, label %2642, label %2643

2642:                                             ; preds = %2638, %2632
  br label %2643

2643:                                             ; preds = %2638, %2642
  %.str.5.sink1328 = phi ptr [ @.str.5, %2642 ], [ @.str.2, %2638 ]
  store i32 %2633, ptr %249, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = load i32, ptr @test_count, align 4, !tbaa !5
  %2646 = load i32, ptr %195, align 4, !tbaa !5
  %2647 = call ptr @s2n_strerror(i32 noundef %2646, ptr noundef nonnull @.str.4) #10
  %2648 = load i32, ptr %195, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror_debug(i32 noundef %2648, ptr noundef nonnull @.str.4) #10
  %2650 = load i32, ptr %249, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #10
  %2652 = load i32, ptr %249, align 4, !tbaa !5
  %2653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2644, ptr noundef nonnull %.str.5.sink1328, i32 noundef %2645, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2647, ptr noundef %2649, ptr noundef %2651, i32 noundef %2652) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2654:                                             ; preds = %2627
  %2655 = getelementptr inbounds i8, ptr %3, i64 32
  %2656 = load i32, ptr %2655, align 8, !tbaa !31
  %2657 = add i32 %2656, 1
  %2658 = getelementptr inbounds i8, ptr %15, i64 8
  store i32 %2657, ptr %2658, align 8, !tbaa !29
  %2659 = add nsw i32 %2628, 2
  store i32 %2659, ptr @test_count, align 4, !tbaa !5
  %2660 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %15, i32 noundef 0) #10
  %2661 = icmp eq i32 %2660, -1
  br i1 %2661, label %2684, label %2662

2662:                                             ; preds = %2654
  %2663 = load i32, ptr %249, align 4, !tbaa !5
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2665 = call i32 @s2n_print_stacktrace(ptr noundef %2664) #10
  %2666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2667 = trunc nuw i8 %2666 to i1
  br i1 %2667, label %2668, label %2672

2668:                                             ; preds = %2662
  %2669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2670 = call i32 @fileno(ptr noundef %2669) #10
  %2671 = call i32 @isatty(i32 noundef %2670) #10
  %.not359 = icmp eq i32 %2671, 0
  br i1 %.not359, label %2672, label %2673

2672:                                             ; preds = %2668, %2662
  br label %2673

2673:                                             ; preds = %2668, %2672
  %.str.5.sink1337 = phi ptr [ @.str.5, %2672 ], [ @.str.2, %2668 ]
  store i32 %2663, ptr %249, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = load i32, ptr @test_count, align 4, !tbaa !5
  %2676 = load i32, ptr %195, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef nonnull @.str.4) #10
  %2678 = load i32, ptr %195, align 4, !tbaa !5
  %2679 = call ptr @s2n_strerror_debug(i32 noundef %2678, ptr noundef nonnull @.str.4) #10
  %2680 = load i32, ptr %249, align 4, !tbaa !5
  %2681 = call ptr @strerror(i32 noundef %2680) #10
  %2682 = load i32, ptr %249, align 4, !tbaa !5
  %2683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2674, ptr noundef nonnull %.str.5.sink1337, i32 noundef %2675, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2677, ptr noundef %2679, ptr noundef %2681, i32 noundef %2682) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2684:                                             ; preds = %2654
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = add nsw i32 %2685, 1
  store i32 %2686, ptr @test_count, align 4, !tbaa !5
  %2687 = load i32, ptr %195, align 4, !tbaa !5
  %2688 = icmp eq i32 %2687, 402653194
  br i1 %2688, label %2711, label %2689

2689:                                             ; preds = %2684
  %2690 = load i32, ptr %249, align 4, !tbaa !5
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = call i32 @s2n_print_stacktrace(ptr noundef %2691) #10
  %2693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2694 = trunc nuw i8 %2693 to i1
  br i1 %2694, label %2695, label %2699

2695:                                             ; preds = %2689
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @fileno(ptr noundef %2696) #10
  %2698 = call i32 @isatty(i32 noundef %2697) #10
  %.not360 = icmp eq i32 %2698, 0
  br i1 %.not360, label %2699, label %2700

2699:                                             ; preds = %2695, %2689
  br label %2700

2700:                                             ; preds = %2695, %2699
  %.str.5.sink1346 = phi ptr [ @.str.5, %2699 ], [ @.str.2, %2695 ]
  store i32 %2690, ptr %249, align 4, !tbaa !5
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = load i32, ptr @test_count, align 4, !tbaa !5
  %2703 = load i32, ptr %195, align 4, !tbaa !5
  %2704 = call ptr @s2n_strerror(i32 noundef %2703, ptr noundef nonnull @.str.4) #10
  %2705 = load i32, ptr %195, align 4, !tbaa !5
  %2706 = call ptr @s2n_strerror_debug(i32 noundef %2705, ptr noundef nonnull @.str.4) #10
  %2707 = load i32, ptr %249, align 4, !tbaa !5
  %2708 = call ptr @strerror(i32 noundef %2707) #10
  %2709 = load i32, ptr %249, align 4, !tbaa !5
  %2710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2701, ptr noundef nonnull %.str.5.sink1346, i32 noundef %2702, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2704, ptr noundef %2706, ptr noundef %2708, i32 noundef %2709) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2711:                                             ; preds = %2684
  %2712 = add nsw i32 %2685, 2
  store i32 %2712, ptr @test_count, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror_debug(i32 noundef 402653194, ptr noundef nonnull @.str.4) #10
  %2714 = icmp eq ptr %2713, null
  br i1 %2714, label %2715, label %2737

2715:                                             ; preds = %2711
  %2716 = load i32, ptr %249, align 4, !tbaa !5
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2718 = call i32 @s2n_print_stacktrace(ptr noundef %2717) #10
  %2719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2720 = trunc nuw i8 %2719 to i1
  br i1 %2720, label %2721, label %2725

2721:                                             ; preds = %2715
  %2722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2723 = call i32 @fileno(ptr noundef %2722) #10
  %2724 = call i32 @isatty(i32 noundef %2723) #10
  %.not392 = icmp eq i32 %2724, 0
  br i1 %.not392, label %2725, label %2726

2725:                                             ; preds = %2721, %2715
  br label %2726

2726:                                             ; preds = %2721, %2725
  %.str.5.sink1355 = phi ptr [ @.str.5, %2725 ], [ @.str.2, %2721 ]
  store i32 %2716, ptr %249, align 4, !tbaa !5
  %2727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2728 = load i32, ptr @test_count, align 4, !tbaa !5
  %2729 = load i32, ptr %195, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror(i32 noundef %2729, ptr noundef nonnull @.str.4) #10
  %2731 = load i32, ptr %195, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror_debug(i32 noundef %2731, ptr noundef nonnull @.str.4) #10
  %2733 = load i32, ptr %249, align 4, !tbaa !5
  %2734 = call ptr @strerror(i32 noundef %2733) #10
  %2735 = load i32, ptr %249, align 4, !tbaa !5
  %2736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2727, ptr noundef nonnull %.str.5.sink1355, i32 noundef %2728, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2730, ptr noundef %2732, ptr noundef %2734, i32 noundef %2735) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2737:                                             ; preds = %2711
  store i32 0, ptr %195, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %249, align 4, !tbaa !5
  %2738 = load i32, ptr @test_count, align 4, !tbaa !5
  %2739 = add nsw i32 %2738, 1
  store i32 %2739, ptr @test_count, align 4, !tbaa !5
  %2740 = load i32, ptr %279, align 4, !tbaa !15
  %2741 = icmp eq i32 %2740, %2334
  br i1 %2741, label %2764, label %2742

2742:                                             ; preds = %2737
  %2743 = load i32, ptr %249, align 4, !tbaa !5
  %2744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2745 = call i32 @s2n_print_stacktrace(ptr noundef %2744) #10
  %2746 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2747 = trunc nuw i8 %2746 to i1
  br i1 %2747, label %2748, label %2752

2748:                                             ; preds = %2742
  %2749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2750 = call i32 @fileno(ptr noundef %2749) #10
  %2751 = call i32 @isatty(i32 noundef %2750) #10
  %.not361 = icmp eq i32 %2751, 0
  br i1 %.not361, label %2752, label %2753

2752:                                             ; preds = %2748, %2742
  br label %2753

2753:                                             ; preds = %2748, %2752
  %.str.5.sink1364 = phi ptr [ @.str.5, %2752 ], [ @.str.2, %2748 ]
  store i32 %2743, ptr %249, align 4, !tbaa !5
  %2754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2755 = load i32, ptr @test_count, align 4, !tbaa !5
  %2756 = load i32, ptr %195, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror(i32 noundef %2756, ptr noundef nonnull @.str.4) #10
  %2758 = load i32, ptr %195, align 4, !tbaa !5
  %2759 = call ptr @s2n_strerror_debug(i32 noundef %2758, ptr noundef nonnull @.str.4) #10
  %2760 = load i32, ptr %249, align 4, !tbaa !5
  %2761 = call ptr @strerror(i32 noundef %2760) #10
  %2762 = load i32, ptr %249, align 4, !tbaa !5
  %2763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2754, ptr noundef nonnull %.str.5.sink1364, i32 noundef %2755, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2757, ptr noundef %2759, ptr noundef %2761, i32 noundef %2762) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2764:                                             ; preds = %2737
  %2765 = add nsw i32 %2738, 2
  store i32 %2765, ptr @test_count, align 4, !tbaa !5
  %2766 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext 5) #10
  %2767 = icmp eq i32 %2766, -1
  br i1 %2767, label %2768, label %2790

2768:                                             ; preds = %2764
  %2769 = load i32, ptr %249, align 4, !tbaa !5
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2771 = call i32 @s2n_print_stacktrace(ptr noundef %2770) #10
  %2772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2773 = trunc nuw i8 %2772 to i1
  br i1 %2773, label %2774, label %2778

2774:                                             ; preds = %2768
  %2775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2776 = call i32 @fileno(ptr noundef %2775) #10
  %2777 = call i32 @isatty(i32 noundef %2776) #10
  %.not391 = icmp eq i32 %2777, 0
  br i1 %.not391, label %2778, label %2779

2778:                                             ; preds = %2774, %2768
  br label %2779

2779:                                             ; preds = %2774, %2778
  %.str.5.sink1373 = phi ptr [ @.str.5, %2778 ], [ @.str.2, %2774 ]
  store i32 %2769, ptr %249, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = load i32, ptr @test_count, align 4, !tbaa !5
  %2782 = load i32, ptr %195, align 4, !tbaa !5
  %2783 = call ptr @s2n_strerror(i32 noundef %2782, ptr noundef nonnull @.str.4) #10
  %2784 = load i32, ptr %195, align 4, !tbaa !5
  %2785 = call ptr @s2n_strerror_debug(i32 noundef %2784, ptr noundef nonnull @.str.4) #10
  %2786 = load i32, ptr %249, align 4, !tbaa !5
  %2787 = call ptr @strerror(i32 noundef %2786) #10
  %2788 = load i32, ptr %249, align 4, !tbaa !5
  %2789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2780, ptr noundef nonnull %.str.5.sink1373, i32 noundef %2781, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2783, ptr noundef %2785, ptr noundef %2787, i32 noundef %2788) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2790:                                             ; preds = %2764
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = add nsw i32 %2791, 1
  store i32 %2792, ptr @test_count, align 4, !tbaa !5
  %2793 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %15) #10
  %2794 = icmp eq i32 %2793, -1
  br i1 %2794, label %2795, label %2817

2795:                                             ; preds = %2790
  %2796 = load i32, ptr %249, align 4, !tbaa !5
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = call i32 @s2n_print_stacktrace(ptr noundef %2797) #10
  %2799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2800 = trunc nuw i8 %2799 to i1
  br i1 %2800, label %2801, label %2805

2801:                                             ; preds = %2795
  %2802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2803 = call i32 @fileno(ptr noundef %2802) #10
  %2804 = call i32 @isatty(i32 noundef %2803) #10
  %.not390 = icmp eq i32 %2804, 0
  br i1 %.not390, label %2805, label %2806

2805:                                             ; preds = %2801, %2795
  br label %2806

2806:                                             ; preds = %2801, %2805
  %.str.5.sink1382 = phi ptr [ @.str.5, %2805 ], [ @.str.2, %2801 ]
  store i32 %2796, ptr %249, align 4, !tbaa !5
  %2807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2808 = load i32, ptr @test_count, align 4, !tbaa !5
  %2809 = load i32, ptr %195, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror(i32 noundef %2809, ptr noundef nonnull @.str.4) #10
  %2811 = load i32, ptr %195, align 4, !tbaa !5
  %2812 = call ptr @s2n_strerror_debug(i32 noundef %2811, ptr noundef nonnull @.str.4) #10
  %2813 = load i32, ptr %249, align 4, !tbaa !5
  %2814 = call ptr @strerror(i32 noundef %2813) #10
  %2815 = load i32, ptr %249, align 4, !tbaa !5
  %2816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2807, ptr noundef nonnull %.str.5.sink1382, i32 noundef %2808, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2810, ptr noundef %2812, ptr noundef %2814, i32 noundef %2815) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2817:                                             ; preds = %2790
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = add nsw i32 %2818, 1
  store i32 %2819, ptr @test_count, align 4, !tbaa !5
  %2820 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %16) #10
  %2821 = icmp eq i32 %2820, -1
  br i1 %2821, label %2822, label %2844

2822:                                             ; preds = %2817
  %2823 = load i32, ptr %249, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = call i32 @s2n_print_stacktrace(ptr noundef %2824) #10
  %2826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2827 = trunc nuw i8 %2826 to i1
  br i1 %2827, label %2828, label %2832

2828:                                             ; preds = %2822
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @fileno(ptr noundef %2829) #10
  %2831 = call i32 @isatty(i32 noundef %2830) #10
  %.not389 = icmp eq i32 %2831, 0
  br i1 %.not389, label %2832, label %2833

2832:                                             ; preds = %2828, %2822
  br label %2833

2833:                                             ; preds = %2828, %2832
  %.str.5.sink1391 = phi ptr [ @.str.5, %2832 ], [ @.str.2, %2828 ]
  store i32 %2823, ptr %249, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = load i32, ptr %195, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror(i32 noundef %2836, ptr noundef nonnull @.str.4) #10
  %2838 = load i32, ptr %195, align 4, !tbaa !5
  %2839 = call ptr @s2n_strerror_debug(i32 noundef %2838, ptr noundef nonnull @.str.4) #10
  %2840 = load i32, ptr %249, align 4, !tbaa !5
  %2841 = call ptr @strerror(i32 noundef %2840) #10
  %2842 = load i32, ptr %249, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef nonnull %.str.5.sink1391, i32 noundef %2835, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %2837, ptr noundef %2839, ptr noundef %2841, i32 noundef %2842) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2844:                                             ; preds = %2817
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = add nsw i32 %2845, 1
  store i32 %2846, ptr @test_count, align 4, !tbaa !5
  %2847 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %3, i16 noundef zeroext -1) #10
  %2848 = icmp eq i32 %2847, -1
  br i1 %2848, label %2849, label %2871

2849:                                             ; preds = %2844
  %2850 = load i32, ptr %249, align 4, !tbaa !5
  %2851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2852 = call i32 @s2n_print_stacktrace(ptr noundef %2851) #10
  %2853 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2854 = trunc nuw i8 %2853 to i1
  br i1 %2854, label %2855, label %2859

2855:                                             ; preds = %2849
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = call i32 @fileno(ptr noundef %2856) #10
  %2858 = call i32 @isatty(i32 noundef %2857) #10
  %.not388 = icmp eq i32 %2858, 0
  br i1 %.not388, label %2859, label %2860

2859:                                             ; preds = %2855, %2849
  br label %2860

2860:                                             ; preds = %2855, %2859
  %.str.5.sink1400 = phi ptr [ @.str.5, %2859 ], [ @.str.2, %2855 ]
  store i32 %2850, ptr %249, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = load i32, ptr @test_count, align 4, !tbaa !5
  %2863 = load i32, ptr %195, align 4, !tbaa !5
  %2864 = call ptr @s2n_strerror(i32 noundef %2863, ptr noundef nonnull @.str.4) #10
  %2865 = load i32, ptr %195, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror_debug(i32 noundef %2865, ptr noundef nonnull @.str.4) #10
  %2867 = load i32, ptr %249, align 4, !tbaa !5
  %2868 = call ptr @strerror(i32 noundef %2867) #10
  %2869 = load i32, ptr %249, align 4, !tbaa !5
  %2870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2861, ptr noundef nonnull %.str.5.sink1400, i32 noundef %2862, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2864, ptr noundef %2866, ptr noundef %2868, i32 noundef %2869) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2871:                                             ; preds = %2844
  %2872 = load i32, ptr %279, align 4, !tbaa !15
  %2873 = load i32, ptr @test_count, align 4, !tbaa !5
  %2874 = add nsw i32 %2873, 1
  store i32 %2874, ptr @test_count, align 4, !tbaa !5
  %2875 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %15, i32 noundef 43981) #10
  %2876 = icmp eq i32 %2875, -1
  br i1 %2876, label %2877, label %2899

2877:                                             ; preds = %2871
  %2878 = load i32, ptr %249, align 4, !tbaa !5
  %2879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2880 = call i32 @s2n_print_stacktrace(ptr noundef %2879) #10
  %2881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2882 = trunc nuw i8 %2881 to i1
  br i1 %2882, label %2883, label %2887

2883:                                             ; preds = %2877
  %2884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2885 = call i32 @fileno(ptr noundef %2884) #10
  %2886 = call i32 @isatty(i32 noundef %2885) #10
  %.not387 = icmp eq i32 %2886, 0
  br i1 %.not387, label %2887, label %2888

2887:                                             ; preds = %2883, %2877
  br label %2888

2888:                                             ; preds = %2883, %2887
  %.str.5.sink1409 = phi ptr [ @.str.5, %2887 ], [ @.str.2, %2883 ]
  store i32 %2878, ptr %249, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = load i32, ptr %195, align 4, !tbaa !5
  %2892 = call ptr @s2n_strerror(i32 noundef %2891, ptr noundef nonnull @.str.4) #10
  %2893 = load i32, ptr %195, align 4, !tbaa !5
  %2894 = call ptr @s2n_strerror_debug(i32 noundef %2893, ptr noundef nonnull @.str.4) #10
  %2895 = load i32, ptr %249, align 4, !tbaa !5
  %2896 = call ptr @strerror(i32 noundef %2895) #10
  %2897 = load i32, ptr %249, align 4, !tbaa !5
  %2898 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2889, ptr noundef nonnull %.str.5.sink1409, i32 noundef %2890, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2892, ptr noundef %2894, ptr noundef %2896, i32 noundef %2897) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2899:                                             ; preds = %2871
  %2900 = load i32, ptr @test_count, align 4, !tbaa !5
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr @test_count, align 4, !tbaa !5
  %2902 = load i32, ptr %279, align 4, !tbaa !15
  %2903 = icmp eq i32 %2902, %2872
  br i1 %2903, label %2926, label %2904

2904:                                             ; preds = %2899
  %2905 = load i32, ptr %249, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = call i32 @s2n_print_stacktrace(ptr noundef %2906) #10
  %2908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2909 = trunc nuw i8 %2908 to i1
  br i1 %2909, label %2910, label %2914

2910:                                             ; preds = %2904
  %2911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2912 = call i32 @fileno(ptr noundef %2911) #10
  %2913 = call i32 @isatty(i32 noundef %2912) #10
  %.not362 = icmp eq i32 %2913, 0
  br i1 %.not362, label %2914, label %2915

2914:                                             ; preds = %2910, %2904
  br label %2915

2915:                                             ; preds = %2910, %2914
  %.str.5.sink1418 = phi ptr [ @.str.5, %2914 ], [ @.str.2, %2910 ]
  store i32 %2905, ptr %249, align 4, !tbaa !5
  %2916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2917 = load i32, ptr @test_count, align 4, !tbaa !5
  %2918 = load i32, ptr %195, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror(i32 noundef %2918, ptr noundef nonnull @.str.4) #10
  %2920 = load i32, ptr %195, align 4, !tbaa !5
  %2921 = call ptr @s2n_strerror_debug(i32 noundef %2920, ptr noundef nonnull @.str.4) #10
  %2922 = load i32, ptr %249, align 4, !tbaa !5
  %2923 = call ptr @strerror(i32 noundef %2922) #10
  %2924 = load i32, ptr %249, align 4, !tbaa !5
  %2925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2916, ptr noundef nonnull %.str.5.sink1418, i32 noundef %2917, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2919, ptr noundef %2921, ptr noundef %2923, i32 noundef %2924) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2926:                                             ; preds = %2899
  %2927 = add nsw i32 %2900, 2
  store i32 %2927, ptr @test_count, align 4, !tbaa !5
  %2928 = call i32 @s2n_stuffer_write_reservation(ptr noundef nonnull %16, i32 noundef 43981) #10
  %2929 = icmp eq i32 %2928, -1
  br i1 %2929, label %2930, label %2952

2930:                                             ; preds = %2926
  %2931 = load i32, ptr %249, align 4, !tbaa !5
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = call i32 @s2n_print_stacktrace(ptr noundef %2932) #10
  %2934 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2935 = trunc nuw i8 %2934 to i1
  br i1 %2935, label %2936, label %2940

2936:                                             ; preds = %2930
  %2937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2938 = call i32 @fileno(ptr noundef %2937) #10
  %2939 = call i32 @isatty(i32 noundef %2938) #10
  %.not386 = icmp eq i32 %2939, 0
  br i1 %.not386, label %2940, label %2941

2940:                                             ; preds = %2936, %2930
  br label %2941

2941:                                             ; preds = %2936, %2940
  %.str.5.sink1427 = phi ptr [ @.str.5, %2940 ], [ @.str.2, %2936 ]
  store i32 %2931, ptr %249, align 4, !tbaa !5
  %2942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2943 = load i32, ptr @test_count, align 4, !tbaa !5
  %2944 = load i32, ptr %195, align 4, !tbaa !5
  %2945 = call ptr @s2n_strerror(i32 noundef %2944, ptr noundef nonnull @.str.4) #10
  %2946 = load i32, ptr %195, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror_debug(i32 noundef %2946, ptr noundef nonnull @.str.4) #10
  %2948 = load i32, ptr %249, align 4, !tbaa !5
  %2949 = call ptr @strerror(i32 noundef %2948) #10
  %2950 = load i32, ptr %249, align 4, !tbaa !5
  %2951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2942, ptr noundef nonnull %.str.5.sink1427, i32 noundef %2943, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2945, ptr noundef %2947, ptr noundef %2949, i32 noundef %2950) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2952:                                             ; preds = %2926
  %2953 = load i32, ptr @test_count, align 4, !tbaa !5
  %2954 = add nsw i32 %2953, 1
  store i32 %2954, ptr @test_count, align 4, !tbaa !5
  %2955 = load i32, ptr %279, align 4, !tbaa !15
  %2956 = icmp eq i32 %2955, %2872
  br i1 %2956, label %2979, label %2957

2957:                                             ; preds = %2952
  %2958 = load i32, ptr %249, align 4, !tbaa !5
  %2959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2960 = call i32 @s2n_print_stacktrace(ptr noundef %2959) #10
  %2961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2962 = trunc nuw i8 %2961 to i1
  br i1 %2962, label %2963, label %2967

2963:                                             ; preds = %2957
  %2964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2965 = call i32 @fileno(ptr noundef %2964) #10
  %2966 = call i32 @isatty(i32 noundef %2965) #10
  %.not363 = icmp eq i32 %2966, 0
  br i1 %.not363, label %2967, label %2968

2967:                                             ; preds = %2963, %2957
  br label %2968

2968:                                             ; preds = %2963, %2967
  %.str.5.sink1436 = phi ptr [ @.str.5, %2967 ], [ @.str.2, %2963 ]
  store i32 %2958, ptr %249, align 4, !tbaa !5
  %2969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2970 = load i32, ptr @test_count, align 4, !tbaa !5
  %2971 = load i32, ptr %195, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror(i32 noundef %2971, ptr noundef nonnull @.str.4) #10
  %2973 = load i32, ptr %195, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror_debug(i32 noundef %2973, ptr noundef nonnull @.str.4) #10
  %2975 = load i32, ptr %249, align 4, !tbaa !5
  %2976 = call ptr @strerror(i32 noundef %2975) #10
  %2977 = load i32, ptr %249, align 4, !tbaa !5
  %2978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2969, ptr noundef nonnull %.str.5.sink1436, i32 noundef %2970, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2972, ptr noundef %2974, ptr noundef %2976, i32 noundef %2977) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2979:                                             ; preds = %2952
  %2980 = add nsw i32 %2953, 2
  store i32 %2980, ptr @test_count, align 4, !tbaa !5
  %2981 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %14) #10
  %2982 = icmp eq i32 %2981, -1
  br i1 %2982, label %2983, label %3005

2983:                                             ; preds = %2979
  %2984 = load i32, ptr %249, align 4, !tbaa !5
  %2985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2986 = call i32 @s2n_print_stacktrace(ptr noundef %2985) #10
  %2987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2988 = trunc nuw i8 %2987 to i1
  br i1 %2988, label %2989, label %2993

2989:                                             ; preds = %2983
  %2990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2991 = call i32 @fileno(ptr noundef %2990) #10
  %2992 = call i32 @isatty(i32 noundef %2991) #10
  %.not385 = icmp eq i32 %2992, 0
  br i1 %.not385, label %2993, label %2994

2993:                                             ; preds = %2989, %2983
  br label %2994

2994:                                             ; preds = %2989, %2993
  %.str.5.sink1445 = phi ptr [ @.str.5, %2993 ], [ @.str.2, %2989 ]
  store i32 %2984, ptr %249, align 4, !tbaa !5
  %2995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2996 = load i32, ptr @test_count, align 4, !tbaa !5
  %2997 = load i32, ptr %195, align 4, !tbaa !5
  %2998 = call ptr @s2n_strerror(i32 noundef %2997, ptr noundef nonnull @.str.4) #10
  %2999 = load i32, ptr %195, align 4, !tbaa !5
  %3000 = call ptr @s2n_strerror_debug(i32 noundef %2999, ptr noundef nonnull @.str.4) #10
  %3001 = load i32, ptr %249, align 4, !tbaa !5
  %3002 = call ptr @strerror(i32 noundef %3001) #10
  %3003 = load i32, ptr %249, align 4, !tbaa !5
  %3004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2995, ptr noundef nonnull %.str.5.sink1445, i32 noundef %2996, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2998, ptr noundef %3000, ptr noundef %3002, i32 noundef %3003) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3005:                                             ; preds = %2979
  %3006 = load i32, ptr @test_count, align 4, !tbaa !5
  %3007 = add nsw i32 %3006, 1
  store i32 %3007, ptr @test_count, align 4, !tbaa !5
  %3008 = load i16, ptr %14, align 2, !tbaa !22
  %3009 = icmp eq i16 %3008, 5
  br i1 %3009, label %3032, label %3010

3010:                                             ; preds = %3005
  %3011 = load i32, ptr %249, align 4, !tbaa !5
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = call i32 @s2n_print_stacktrace(ptr noundef %3012) #10
  %3014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3015 = trunc nuw i8 %3014 to i1
  br i1 %3015, label %3016, label %3020

3016:                                             ; preds = %3010
  %3017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3018 = call i32 @fileno(ptr noundef %3017) #10
  %3019 = call i32 @isatty(i32 noundef %3018) #10
  %.not364 = icmp eq i32 %3019, 0
  br i1 %.not364, label %3020, label %3021

3020:                                             ; preds = %3016, %3010
  br label %3021

3021:                                             ; preds = %3016, %3020
  %.str.5.sink1454 = phi ptr [ @.str.5, %3020 ], [ @.str.2, %3016 ]
  store i32 %3011, ptr %249, align 4, !tbaa !5
  %3022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3023 = load i32, ptr @test_count, align 4, !tbaa !5
  %3024 = load i32, ptr %195, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror(i32 noundef %3024, ptr noundef nonnull @.str.4) #10
  %3026 = load i32, ptr %195, align 4, !tbaa !5
  %3027 = call ptr @s2n_strerror_debug(i32 noundef %3026, ptr noundef nonnull @.str.4) #10
  %3028 = load i32, ptr %249, align 4, !tbaa !5
  %3029 = call ptr @strerror(i32 noundef %3028) #10
  %3030 = load i32, ptr %249, align 4, !tbaa !5
  %3031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3022, ptr noundef nonnull %.str.5.sink1454, i32 noundef %3023, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %3025, ptr noundef %3027, ptr noundef %3029, i32 noundef %3030) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3032:                                             ; preds = %3005
  %3033 = add nsw i32 %3006, 2
  store i32 %3033, ptr @test_count, align 4, !tbaa !5
  %3034 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %14) #10
  %3035 = icmp eq i32 %3034, -1
  br i1 %3035, label %3036, label %3058

3036:                                             ; preds = %3032
  %3037 = load i32, ptr %249, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = call i32 @s2n_print_stacktrace(ptr noundef %3038) #10
  %3040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3041 = trunc nuw i8 %3040 to i1
  br i1 %3041, label %3042, label %3046

3042:                                             ; preds = %3036
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @fileno(ptr noundef %3043) #10
  %3045 = call i32 @isatty(i32 noundef %3044) #10
  %.not384 = icmp eq i32 %3045, 0
  br i1 %.not384, label %3046, label %3047

3046:                                             ; preds = %3042, %3036
  br label %3047

3047:                                             ; preds = %3042, %3046
  %.str.5.sink1463 = phi ptr [ @.str.5, %3046 ], [ @.str.2, %3042 ]
  store i32 %3037, ptr %249, align 4, !tbaa !5
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = load i32, ptr @test_count, align 4, !tbaa !5
  %3050 = load i32, ptr %195, align 4, !tbaa !5
  %3051 = call ptr @s2n_strerror(i32 noundef %3050, ptr noundef nonnull @.str.4) #10
  %3052 = load i32, ptr %195, align 4, !tbaa !5
  %3053 = call ptr @s2n_strerror_debug(i32 noundef %3052, ptr noundef nonnull @.str.4) #10
  %3054 = load i32, ptr %249, align 4, !tbaa !5
  %3055 = call ptr @strerror(i32 noundef %3054) #10
  %3056 = load i32, ptr %249, align 4, !tbaa !5
  %3057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3048, ptr noundef nonnull %.str.5.sink1463, i32 noundef %3049, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %3051, ptr noundef %3053, ptr noundef %3055, i32 noundef %3056) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3058:                                             ; preds = %3032
  %3059 = load i32, ptr @test_count, align 4, !tbaa !5
  %3060 = add nsw i32 %3059, 1
  store i32 %3060, ptr @test_count, align 4, !tbaa !5
  %3061 = load i16, ptr %14, align 2, !tbaa !22
  %3062 = icmp eq i16 %3061, -21555
  br i1 %3062, label %3085, label %3063

3063:                                             ; preds = %3058
  %3064 = load i32, ptr %249, align 4, !tbaa !5
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @s2n_print_stacktrace(ptr noundef %3065) #10
  %3067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3068 = trunc nuw i8 %3067 to i1
  br i1 %3068, label %3069, label %3073

3069:                                             ; preds = %3063
  %3070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3071 = call i32 @fileno(ptr noundef %3070) #10
  %3072 = call i32 @isatty(i32 noundef %3071) #10
  %.not365 = icmp eq i32 %3072, 0
  br i1 %.not365, label %3073, label %3074

3073:                                             ; preds = %3069, %3063
  br label %3074

3074:                                             ; preds = %3069, %3073
  %.str.5.sink1472 = phi ptr [ @.str.5, %3073 ], [ @.str.2, %3069 ]
  store i32 %3064, ptr %249, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = load i32, ptr %195, align 4, !tbaa !5
  %3078 = call ptr @s2n_strerror(i32 noundef %3077, ptr noundef nonnull @.str.4) #10
  %3079 = load i32, ptr %195, align 4, !tbaa !5
  %3080 = call ptr @s2n_strerror_debug(i32 noundef %3079, ptr noundef nonnull @.str.4) #10
  %3081 = load i32, ptr %249, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #10
  %3083 = load i32, ptr %249, align 4, !tbaa !5
  %3084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef nonnull %.str.5.sink1472, i32 noundef %3076, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %3078, ptr noundef %3080, ptr noundef %3082, i32 noundef %3083) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3085:                                             ; preds = %3058
  %3086 = add nsw i32 %3059, 2
  store i32 %3086, ptr @test_count, align 4, !tbaa !5
  %3087 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %14) #10
  %3088 = icmp eq i32 %3087, -1
  br i1 %3088, label %3089, label %3111

3089:                                             ; preds = %3085
  %3090 = load i32, ptr %249, align 4, !tbaa !5
  %3091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3092 = call i32 @s2n_print_stacktrace(ptr noundef %3091) #10
  %3093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3094 = trunc nuw i8 %3093 to i1
  br i1 %3094, label %3095, label %3099

3095:                                             ; preds = %3089
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3097 = call i32 @fileno(ptr noundef %3096) #10
  %3098 = call i32 @isatty(i32 noundef %3097) #10
  %.not383 = icmp eq i32 %3098, 0
  br i1 %.not383, label %3099, label %3100

3099:                                             ; preds = %3095, %3089
  br label %3100

3100:                                             ; preds = %3095, %3099
  %.str.5.sink1481 = phi ptr [ @.str.5, %3099 ], [ @.str.2, %3095 ]
  store i32 %3090, ptr %249, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = load i32, ptr @test_count, align 4, !tbaa !5
  %3103 = load i32, ptr %195, align 4, !tbaa !5
  %3104 = call ptr @s2n_strerror(i32 noundef %3103, ptr noundef nonnull @.str.4) #10
  %3105 = load i32, ptr %195, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror_debug(i32 noundef %3105, ptr noundef nonnull @.str.4) #10
  %3107 = load i32, ptr %249, align 4, !tbaa !5
  %3108 = call ptr @strerror(i32 noundef %3107) #10
  %3109 = load i32, ptr %249, align 4, !tbaa !5
  %3110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3101, ptr noundef nonnull %.str.5.sink1481, i32 noundef %3102, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %3104, ptr noundef %3106, ptr noundef %3108, i32 noundef %3109) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3111:                                             ; preds = %3085
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = add nsw i32 %3112, 1
  store i32 %3113, ptr @test_count, align 4, !tbaa !5
  %3114 = load i16, ptr %14, align 2, !tbaa !22
  %3115 = icmp eq i16 %3114, -21555
  br i1 %3115, label %3138, label %3116

3116:                                             ; preds = %3111
  %3117 = load i32, ptr %249, align 4, !tbaa !5
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = call i32 @s2n_print_stacktrace(ptr noundef %3118) #10
  %3120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3121 = trunc nuw i8 %3120 to i1
  br i1 %3121, label %3122, label %3126

3122:                                             ; preds = %3116
  %3123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3124 = call i32 @fileno(ptr noundef %3123) #10
  %3125 = call i32 @isatty(i32 noundef %3124) #10
  %.not366 = icmp eq i32 %3125, 0
  br i1 %.not366, label %3126, label %3127

3126:                                             ; preds = %3122, %3116
  br label %3127

3127:                                             ; preds = %3122, %3126
  %.str.5.sink1490 = phi ptr [ @.str.5, %3126 ], [ @.str.2, %3122 ]
  store i32 %3117, ptr %249, align 4, !tbaa !5
  %3128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3129 = load i32, ptr @test_count, align 4, !tbaa !5
  %3130 = load i32, ptr %195, align 4, !tbaa !5
  %3131 = call ptr @s2n_strerror(i32 noundef %3130, ptr noundef nonnull @.str.4) #10
  %3132 = load i32, ptr %195, align 4, !tbaa !5
  %3133 = call ptr @s2n_strerror_debug(i32 noundef %3132, ptr noundef nonnull @.str.4) #10
  %3134 = load i32, ptr %249, align 4, !tbaa !5
  %3135 = call ptr @strerror(i32 noundef %3134) #10
  %3136 = load i32, ptr %249, align 4, !tbaa !5
  %3137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3128, ptr noundef nonnull %.str.5.sink1490, i32 noundef %3129, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %3131, ptr noundef %3133, ptr noundef %3135, i32 noundef %3136) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3138:                                             ; preds = %3111
  %3139 = add nsw i32 %3112, 2
  store i32 %3139, ptr @test_count, align 4, !tbaa !5
  %3140 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %14) #10
  %3141 = icmp eq i32 %3140, -1
  br i1 %3141, label %3142, label %3164

3142:                                             ; preds = %3138
  %3143 = load i32, ptr %249, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @s2n_print_stacktrace(ptr noundef %3144) #10
  %3146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3147 = trunc nuw i8 %3146 to i1
  br i1 %3147, label %3148, label %3152

3148:                                             ; preds = %3142
  %3149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3150 = call i32 @fileno(ptr noundef %3149) #10
  %3151 = call i32 @isatty(i32 noundef %3150) #10
  %.not382 = icmp eq i32 %3151, 0
  br i1 %.not382, label %3152, label %3153

3152:                                             ; preds = %3148, %3142
  br label %3153

3153:                                             ; preds = %3148, %3152
  %.str.5.sink1499 = phi ptr [ @.str.5, %3152 ], [ @.str.2, %3148 ]
  store i32 %3143, ptr %249, align 4, !tbaa !5
  %3154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3155 = load i32, ptr @test_count, align 4, !tbaa !5
  %3156 = load i32, ptr %195, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef nonnull @.str.4) #10
  %3158 = load i32, ptr %195, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror_debug(i32 noundef %3158, ptr noundef nonnull @.str.4) #10
  %3160 = load i32, ptr %249, align 4, !tbaa !5
  %3161 = call ptr @strerror(i32 noundef %3160) #10
  %3162 = load i32, ptr %249, align 4, !tbaa !5
  %3163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef nonnull %.str.5.sink1499, i32 noundef %3155, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %3157, ptr noundef %3159, ptr noundef %3161, i32 noundef %3162) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3164:                                             ; preds = %3138
  %3165 = load i32, ptr @test_count, align 4, !tbaa !5
  %3166 = add nsw i32 %3165, 1
  store i32 %3166, ptr @test_count, align 4, !tbaa !5
  %3167 = load i16, ptr %14, align 2, !tbaa !22
  %3168 = icmp eq i16 %3167, -1
  br i1 %3168, label %3191, label %3169

3169:                                             ; preds = %3164
  %3170 = load i32, ptr %249, align 4, !tbaa !5
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = call i32 @s2n_print_stacktrace(ptr noundef %3171) #10
  %3173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3174 = trunc nuw i8 %3173 to i1
  br i1 %3174, label %3175, label %3179

3175:                                             ; preds = %3169
  %3176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3177 = call i32 @fileno(ptr noundef %3176) #10
  %3178 = call i32 @isatty(i32 noundef %3177) #10
  %.not367 = icmp eq i32 %3178, 0
  br i1 %.not367, label %3179, label %3180

3179:                                             ; preds = %3175, %3169
  br label %3180

3180:                                             ; preds = %3175, %3179
  %.str.5.sink1508 = phi ptr [ @.str.5, %3179 ], [ @.str.2, %3175 ]
  store i32 %3170, ptr %249, align 4, !tbaa !5
  %3181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3182 = load i32, ptr @test_count, align 4, !tbaa !5
  %3183 = load i32, ptr %195, align 4, !tbaa !5
  %3184 = call ptr @s2n_strerror(i32 noundef %3183, ptr noundef nonnull @.str.4) #10
  %3185 = load i32, ptr %195, align 4, !tbaa !5
  %3186 = call ptr @s2n_strerror_debug(i32 noundef %3185, ptr noundef nonnull @.str.4) #10
  %3187 = load i32, ptr %249, align 4, !tbaa !5
  %3188 = call ptr @strerror(i32 noundef %3187) #10
  %3189 = load i32, ptr %249, align 4, !tbaa !5
  %3190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3181, ptr noundef nonnull %.str.5.sink1508, i32 noundef %3182, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %3184, ptr noundef %3186, ptr noundef %3188, i32 noundef %3189) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3191:                                             ; preds = %3164
  %3192 = add nsw i32 %3165, 2
  store i32 %3192, ptr @test_count, align 4, !tbaa !5
  %3193 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #10
  %3194 = icmp eq i32 %3193, -1
  br i1 %3194, label %3195, label %3217

3195:                                             ; preds = %3191
  %3196 = load i32, ptr %249, align 4, !tbaa !5
  %3197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3198 = call i32 @s2n_print_stacktrace(ptr noundef %3197) #10
  %3199 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3200 = trunc nuw i8 %3199 to i1
  br i1 %3200, label %3201, label %3205

3201:                                             ; preds = %3195
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3203 = call i32 @fileno(ptr noundef %3202) #10
  %3204 = call i32 @isatty(i32 noundef %3203) #10
  %.not381 = icmp eq i32 %3204, 0
  br i1 %.not381, label %3205, label %3206

3205:                                             ; preds = %3201, %3195
  br label %3206

3206:                                             ; preds = %3201, %3205
  %.str.5.sink1517 = phi ptr [ @.str.5, %3205 ], [ @.str.2, %3201 ]
  store i32 %3196, ptr %249, align 4, !tbaa !5
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3208 = load i32, ptr @test_count, align 4, !tbaa !5
  %3209 = load i32, ptr %195, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror(i32 noundef %3209, ptr noundef nonnull @.str.4) #10
  %3211 = load i32, ptr %195, align 4, !tbaa !5
  %3212 = call ptr @s2n_strerror_debug(i32 noundef %3211, ptr noundef nonnull @.str.4) #10
  %3213 = load i32, ptr %249, align 4, !tbaa !5
  %3214 = call ptr @strerror(i32 noundef %3213) #10
  %3215 = load i32, ptr %249, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3207, ptr noundef nonnull %.str.5.sink1517, i32 noundef %3208, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %3210, ptr noundef %3212, ptr noundef %3214, i32 noundef %3215) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3217:                                             ; preds = %3191
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 2, ptr nonnull %17) #10
  store i16 0, ptr %17, align 2, !tbaa !22
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %18) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %18, i8 0, i64 16, i1 false)
  %3218 = load i32, ptr @test_count, align 4, !tbaa !5
  %3219 = add nsw i32 %3218, 1
  store i32 %3219, ptr @test_count, align 4, !tbaa !5
  %3220 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %3, i32 noundef 0) #10
  %3221 = icmp eq i32 %3220, -1
  br i1 %3221, label %3226, label %.preheader.preheader

.preheader.preheader:                             ; preds = %3217
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = add nsw i32 %3222, 1
  store i32 %3223, ptr @test_count, align 4, !tbaa !5
  %3224 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3225 = icmp eq i32 %3224, -1
  br i1 %3225, label %3403, label %3425

3226:                                             ; preds = %3217
  %3227 = load i32, ptr %249, align 4, !tbaa !5
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3229 = call i32 @s2n_print_stacktrace(ptr noundef %3228) #10
  %3230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3231 = trunc nuw i8 %3230 to i1
  br i1 %3231, label %3232, label %3236

3232:                                             ; preds = %3226
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3234 = call i32 @fileno(ptr noundef %3233) #10
  %3235 = call i32 @isatty(i32 noundef %3234) #10
  %.not380 = icmp eq i32 %3235, 0
  br i1 %.not380, label %3236, label %3237

3236:                                             ; preds = %3232, %3226
  br label %3237

3237:                                             ; preds = %3232, %3236
  %.str.5.sink1526 = phi ptr [ @.str.5, %3236 ], [ @.str.2, %3232 ]
  store i32 %3227, ptr %249, align 4, !tbaa !5
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3239 = load i32, ptr @test_count, align 4, !tbaa !5
  %3240 = load i32, ptr %195, align 4, !tbaa !5
  %3241 = call ptr @s2n_strerror(i32 noundef %3240, ptr noundef nonnull @.str.4) #10
  %3242 = load i32, ptr %195, align 4, !tbaa !5
  %3243 = call ptr @s2n_strerror_debug(i32 noundef %3242, ptr noundef nonnull @.str.4) #10
  %3244 = load i32, ptr %249, align 4, !tbaa !5
  %3245 = call ptr @strerror(i32 noundef %3244) #10
  %3246 = load i32, ptr %249, align 4, !tbaa !5
  %3247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3238, ptr noundef nonnull %.str.5.sink1526, i32 noundef %3239, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %3241, ptr noundef %3243, ptr noundef %3245, i32 noundef %3246) #12
  call void @exit(i32 noundef 1) #13
  unreachable

.preheader.1:                                     ; preds = %3535
  %3248 = load i32, ptr @test_count, align 4, !tbaa !5
  %3249 = add nsw i32 %3248, 1
  store i32 %3249, ptr @test_count, align 4, !tbaa !5
  %3250 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3251 = icmp eq i32 %3250, -1
  br i1 %3251, label %3403, label %3252

3252:                                             ; preds = %.preheader.1
  %3253 = load i32, ptr @test_count, align 4, !tbaa !5
  %3254 = add nsw i32 %3253, 1
  store i32 %3254, ptr @test_count, align 4, !tbaa !5
  %3255 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_sizes, i64 2), align 2, !tbaa !22
  %3256 = zext i16 %3255 to i32
  %3257 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3256) #10
  %3258 = icmp eq i32 %3257, -1
  br i1 %3258, label %3432, label %3259

3259:                                             ; preds = %3252
  %3260 = load i32, ptr @test_count, align 4, !tbaa !5
  %3261 = add nsw i32 %3260, 1
  store i32 %3261, ptr @test_count, align 4, !tbaa !5
  %3262 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3263 = icmp eq i32 %3262, -1
  br i1 %3263, label %3459, label %3264

3264:                                             ; preds = %3259
  %3265 = load i32, ptr @test_count, align 4, !tbaa !5
  %3266 = add nsw i32 %3265, 1
  store i32 %3266, ptr @test_count, align 4, !tbaa !5
  %3267 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3268 = icmp eq i32 %3267, -1
  br i1 %3268, label %3486, label %3269

3269:                                             ; preds = %3264
  %3270 = load i32, ptr @test_count, align 4, !tbaa !5
  %3271 = add nsw i32 %3270, 1
  store i32 %3271, ptr @test_count, align 4, !tbaa !5
  %3272 = load i16, ptr %17, align 2, !tbaa !22
  %3273 = icmp eq i16 %3272, %3255
  br i1 %3273, label %3274, label %3513

3274:                                             ; preds = %3269
  %3275 = add nsw i32 %3270, 2
  store i32 %3275, ptr @test_count, align 4, !tbaa !5
  %3276 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3256) #10
  %3277 = icmp eq i32 %3276, -1
  br i1 %3277, label %3539, label %.preheader.2

.preheader.2:                                     ; preds = %3274
  %3278 = load i32, ptr @test_count, align 4, !tbaa !5
  %3279 = add nsw i32 %3278, 1
  store i32 %3279, ptr @test_count, align 4, !tbaa !5
  %3280 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3281 = icmp eq i32 %3280, -1
  br i1 %3281, label %3403, label %3282

3282:                                             ; preds = %.preheader.2
  %3283 = load i32, ptr @test_count, align 4, !tbaa !5
  %3284 = add nsw i32 %3283, 1
  store i32 %3284, ptr @test_count, align 4, !tbaa !5
  %3285 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_sizes, i64 4), align 2, !tbaa !22
  %3286 = zext i16 %3285 to i32
  %3287 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3286) #10
  %3288 = icmp eq i32 %3287, -1
  br i1 %3288, label %3432, label %3289

3289:                                             ; preds = %3282
  %3290 = load i32, ptr @test_count, align 4, !tbaa !5
  %3291 = add nsw i32 %3290, 1
  store i32 %3291, ptr @test_count, align 4, !tbaa !5
  %3292 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3293 = icmp eq i32 %3292, -1
  br i1 %3293, label %3459, label %3294

3294:                                             ; preds = %3289
  %3295 = load i32, ptr @test_count, align 4, !tbaa !5
  %3296 = add nsw i32 %3295, 1
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3298 = icmp eq i32 %3297, -1
  br i1 %3298, label %3486, label %3299

3299:                                             ; preds = %3294
  %3300 = load i32, ptr @test_count, align 4, !tbaa !5
  %3301 = add nsw i32 %3300, 1
  store i32 %3301, ptr @test_count, align 4, !tbaa !5
  %3302 = load i16, ptr %17, align 2, !tbaa !22
  %3303 = icmp eq i16 %3302, %3285
  br i1 %3303, label %3304, label %3513

3304:                                             ; preds = %3299
  %3305 = add nsw i32 %3300, 2
  store i32 %3305, ptr @test_count, align 4, !tbaa !5
  %3306 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3286) #10
  %3307 = icmp eq i32 %3306, -1
  br i1 %3307, label %3539, label %.preheader.3

.preheader.3:                                     ; preds = %3304
  %3308 = load i32, ptr @test_count, align 4, !tbaa !5
  %3309 = add nsw i32 %3308, 1
  store i32 %3309, ptr @test_count, align 4, !tbaa !5
  %3310 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3311 = icmp eq i32 %3310, -1
  br i1 %3311, label %3403, label %3312

3312:                                             ; preds = %.preheader.3
  %3313 = load i32, ptr @test_count, align 4, !tbaa !5
  %3314 = add nsw i32 %3313, 1
  store i32 %3314, ptr @test_count, align 4, !tbaa !5
  %3315 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_sizes, i64 6), align 2, !tbaa !22
  %3316 = zext i16 %3315 to i32
  %3317 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3316) #10
  %3318 = icmp eq i32 %3317, -1
  br i1 %3318, label %3432, label %3319

3319:                                             ; preds = %3312
  %3320 = load i32, ptr @test_count, align 4, !tbaa !5
  %3321 = add nsw i32 %3320, 1
  store i32 %3321, ptr @test_count, align 4, !tbaa !5
  %3322 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3323 = icmp eq i32 %3322, -1
  br i1 %3323, label %3459, label %3324

3324:                                             ; preds = %3319
  %3325 = load i32, ptr @test_count, align 4, !tbaa !5
  %3326 = add nsw i32 %3325, 1
  store i32 %3326, ptr @test_count, align 4, !tbaa !5
  %3327 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3328 = icmp eq i32 %3327, -1
  br i1 %3328, label %3486, label %3329

3329:                                             ; preds = %3324
  %3330 = load i32, ptr @test_count, align 4, !tbaa !5
  %3331 = add nsw i32 %3330, 1
  store i32 %3331, ptr @test_count, align 4, !tbaa !5
  %3332 = load i16, ptr %17, align 2, !tbaa !22
  %3333 = icmp eq i16 %3332, %3315
  br i1 %3333, label %3334, label %3513

3334:                                             ; preds = %3329
  %3335 = add nsw i32 %3330, 2
  store i32 %3335, ptr @test_count, align 4, !tbaa !5
  %3336 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3316) #10
  %3337 = icmp eq i32 %3336, -1
  br i1 %3337, label %3539, label %.preheader.4

.preheader.4:                                     ; preds = %3334
  %3338 = load i32, ptr @test_count, align 4, !tbaa !5
  %3339 = add nsw i32 %3338, 1
  store i32 %3339, ptr @test_count, align 4, !tbaa !5
  %3340 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3341 = icmp eq i32 %3340, -1
  br i1 %3341, label %3403, label %3342

3342:                                             ; preds = %.preheader.4
  %3343 = load i32, ptr @test_count, align 4, !tbaa !5
  %3344 = add nsw i32 %3343, 1
  store i32 %3344, ptr @test_count, align 4, !tbaa !5
  %3345 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_sizes, i64 8), align 2, !tbaa !22
  %3346 = zext i16 %3345 to i32
  %3347 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3346) #10
  %3348 = icmp eq i32 %3347, -1
  br i1 %3348, label %3432, label %3349

3349:                                             ; preds = %3342
  %3350 = load i32, ptr @test_count, align 4, !tbaa !5
  %3351 = add nsw i32 %3350, 1
  store i32 %3351, ptr @test_count, align 4, !tbaa !5
  %3352 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3353 = icmp eq i32 %3352, -1
  br i1 %3353, label %3459, label %3354

3354:                                             ; preds = %3349
  %3355 = load i32, ptr @test_count, align 4, !tbaa !5
  %3356 = add nsw i32 %3355, 1
  store i32 %3356, ptr @test_count, align 4, !tbaa !5
  %3357 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3358 = icmp eq i32 %3357, -1
  br i1 %3358, label %3486, label %3359

3359:                                             ; preds = %3354
  %3360 = load i32, ptr @test_count, align 4, !tbaa !5
  %3361 = add nsw i32 %3360, 1
  store i32 %3361, ptr @test_count, align 4, !tbaa !5
  %3362 = load i16, ptr %17, align 2, !tbaa !22
  %3363 = icmp eq i16 %3362, %3345
  br i1 %3363, label %3364, label %3513

3364:                                             ; preds = %3359
  %3365 = add nsw i32 %3360, 2
  store i32 %3365, ptr @test_count, align 4, !tbaa !5
  %3366 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3346) #10
  %3367 = icmp eq i32 %3366, -1
  br i1 %3367, label %3539, label %.preheader.5

.preheader.5:                                     ; preds = %3364
  %3368 = load i32, ptr @test_count, align 4, !tbaa !5
  %3369 = add nsw i32 %3368, 1
  store i32 %3369, ptr @test_count, align 4, !tbaa !5
  %3370 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %3, ptr noundef nonnull %18) #10
  %3371 = icmp eq i32 %3370, -1
  br i1 %3371, label %3403, label %3372

3372:                                             ; preds = %.preheader.5
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = add nsw i32 %3373, 1
  store i32 %3374, ptr @test_count, align 4, !tbaa !5
  %3375 = load i16, ptr getelementptr inbounds (i8, ptr @__const.main.test_sizes, i64 10), align 2, !tbaa !22
  %3376 = zext i16 %3375 to i32
  %3377 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3376) #10
  %3378 = icmp eq i32 %3377, -1
  br i1 %3378, label %3432, label %3379

3379:                                             ; preds = %3372
  %3380 = load i32, ptr @test_count, align 4, !tbaa !5
  %3381 = add nsw i32 %3380, 1
  store i32 %3381, ptr @test_count, align 4, !tbaa !5
  %3382 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3383 = icmp eq i32 %3382, -1
  br i1 %3383, label %3459, label %3384

3384:                                             ; preds = %3379
  %3385 = load i32, ptr @test_count, align 4, !tbaa !5
  %3386 = add nsw i32 %3385, 1
  store i32 %3386, ptr @test_count, align 4, !tbaa !5
  %3387 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3388 = icmp eq i32 %3387, -1
  br i1 %3388, label %3486, label %3389

3389:                                             ; preds = %3384
  %3390 = load i32, ptr @test_count, align 4, !tbaa !5
  %3391 = add nsw i32 %3390, 1
  store i32 %3391, ptr @test_count, align 4, !tbaa !5
  %3392 = load i16, ptr %17, align 2, !tbaa !22
  %3393 = icmp eq i16 %3392, %3375
  br i1 %3393, label %3394, label %3513

3394:                                             ; preds = %3389
  %3395 = add nsw i32 %3390, 2
  store i32 %3395, ptr @test_count, align 4, !tbaa !5
  %3396 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3376) #10
  %3397 = icmp eq i32 %3396, -1
  br i1 %3397, label %3539, label %3398

3398:                                             ; preds = %3394
  %3399 = load i32, ptr @test_count, align 4, !tbaa !5
  %3400 = add nsw i32 %3399, 1
  store i32 %3400, ptr @test_count, align 4, !tbaa !5
  %3401 = call i32 @s2n_stuffer_free(ptr noundef nonnull %3) #10
  %3402 = icmp eq i32 %3401, -1
  br i1 %3402, label %3561, label %3583

3403:                                             ; preds = %.preheader.5, %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %3404 = load i32, ptr %249, align 4, !tbaa !5
  %3405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3406 = call i32 @s2n_print_stacktrace(ptr noundef %3405) #10
  %3407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3408 = trunc nuw i8 %3407 to i1
  br i1 %3408, label %3409, label %3413

3409:                                             ; preds = %3403
  %3410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3411 = call i32 @fileno(ptr noundef %3410) #10
  %3412 = call i32 @isatty(i32 noundef %3411) #10
  %.not379 = icmp eq i32 %3412, 0
  br i1 %.not379, label %3413, label %3414

3413:                                             ; preds = %3409, %3403
  br label %3414

3414:                                             ; preds = %3409, %3413
  %.str.5.sink1535 = phi ptr [ @.str.5, %3413 ], [ @.str.2, %3409 ]
  store i32 %3404, ptr %249, align 4, !tbaa !5
  %3415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3416 = load i32, ptr @test_count, align 4, !tbaa !5
  %3417 = load i32, ptr %195, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror(i32 noundef %3417, ptr noundef nonnull @.str.4) #10
  %3419 = load i32, ptr %195, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror_debug(i32 noundef %3419, ptr noundef nonnull @.str.4) #10
  %3421 = load i32, ptr %249, align 4, !tbaa !5
  %3422 = call ptr @strerror(i32 noundef %3421) #10
  %3423 = load i32, ptr %249, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3415, ptr noundef nonnull %.str.5.sink1535, i32 noundef %3416, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %3418, ptr noundef %3420, ptr noundef %3422, i32 noundef %3423) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3425:                                             ; preds = %.preheader.preheader
  %3426 = load i32, ptr @test_count, align 4, !tbaa !5
  %3427 = add nsw i32 %3426, 1
  store i32 %3427, ptr @test_count, align 4, !tbaa !5
  %3428 = load i16, ptr @__const.main.test_sizes, align 2, !tbaa !22
  %3429 = zext i16 %3428 to i32
  %3430 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %3, i32 noundef %3429) #10
  %3431 = icmp eq i32 %3430, -1
  br i1 %3431, label %3432, label %3454

3432:                                             ; preds = %3372, %3342, %3312, %3282, %3252, %3425
  %3433 = load i32, ptr %249, align 4, !tbaa !5
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @s2n_print_stacktrace(ptr noundef %3434) #10
  %3436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3437 = trunc nuw i8 %3436 to i1
  br i1 %3437, label %3438, label %3442

3438:                                             ; preds = %3432
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = call i32 @fileno(ptr noundef %3439) #10
  %3441 = call i32 @isatty(i32 noundef %3440) #10
  %.not378 = icmp eq i32 %3441, 0
  br i1 %.not378, label %3442, label %3443

3442:                                             ; preds = %3438, %3432
  br label %3443

3443:                                             ; preds = %3438, %3442
  %.str.5.sink1544 = phi ptr [ @.str.5, %3442 ], [ @.str.2, %3438 ]
  store i32 %3433, ptr %249, align 4, !tbaa !5
  %3444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = load i32, ptr %195, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror(i32 noundef %3446, ptr noundef nonnull @.str.4) #10
  %3448 = load i32, ptr %195, align 4, !tbaa !5
  %3449 = call ptr @s2n_strerror_debug(i32 noundef %3448, ptr noundef nonnull @.str.4) #10
  %3450 = load i32, ptr %249, align 4, !tbaa !5
  %3451 = call ptr @strerror(i32 noundef %3450) #10
  %3452 = load i32, ptr %249, align 4, !tbaa !5
  %3453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3444, ptr noundef nonnull %.str.5.sink1544, i32 noundef %3445, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3447, ptr noundef %3449, ptr noundef %3451, i32 noundef %3452) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3454:                                             ; preds = %3425
  %3455 = load i32, ptr @test_count, align 4, !tbaa !5
  %3456 = add nsw i32 %3455, 1
  store i32 %3456, ptr @test_count, align 4, !tbaa !5
  %3457 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %18) #10
  %3458 = icmp eq i32 %3457, -1
  br i1 %3458, label %3459, label %3481

3459:                                             ; preds = %3379, %3349, %3319, %3289, %3259, %3454
  %3460 = load i32, ptr %249, align 4, !tbaa !5
  %3461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3462 = call i32 @s2n_print_stacktrace(ptr noundef %3461) #10
  %3463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3464 = trunc nuw i8 %3463 to i1
  br i1 %3464, label %3465, label %3469

3465:                                             ; preds = %3459
  %3466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3467 = call i32 @fileno(ptr noundef %3466) #10
  %3468 = call i32 @isatty(i32 noundef %3467) #10
  %.not377 = icmp eq i32 %3468, 0
  br i1 %.not377, label %3469, label %3470

3469:                                             ; preds = %3465, %3459
  br label %3470

3470:                                             ; preds = %3465, %3469
  %.str.5.sink1553 = phi ptr [ @.str.5, %3469 ], [ @.str.2, %3465 ]
  store i32 %3460, ptr %249, align 4, !tbaa !5
  %3471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3472 = load i32, ptr @test_count, align 4, !tbaa !5
  %3473 = load i32, ptr %195, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror(i32 noundef %3473, ptr noundef nonnull @.str.4) #10
  %3475 = load i32, ptr %195, align 4, !tbaa !5
  %3476 = call ptr @s2n_strerror_debug(i32 noundef %3475, ptr noundef nonnull @.str.4) #10
  %3477 = load i32, ptr %249, align 4, !tbaa !5
  %3478 = call ptr @strerror(i32 noundef %3477) #10
  %3479 = load i32, ptr %249, align 4, !tbaa !5
  %3480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3471, ptr noundef nonnull %.str.5.sink1553, i32 noundef %3472, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %3474, ptr noundef %3476, ptr noundef %3478, i32 noundef %3479) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3481:                                             ; preds = %3454
  %3482 = load i32, ptr @test_count, align 4, !tbaa !5
  %3483 = add nsw i32 %3482, 1
  store i32 %3483, ptr @test_count, align 4, !tbaa !5
  %3484 = call i32 @s2n_stuffer_read_uint16(ptr noundef nonnull %3, ptr noundef nonnull %17) #10
  %3485 = icmp eq i32 %3484, -1
  br i1 %3485, label %3486, label %3508

3486:                                             ; preds = %3384, %3354, %3324, %3294, %3264, %3481
  %3487 = load i32, ptr %249, align 4, !tbaa !5
  %3488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3489 = call i32 @s2n_print_stacktrace(ptr noundef %3488) #10
  %3490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3491 = trunc nuw i8 %3490 to i1
  br i1 %3491, label %3492, label %3496

3492:                                             ; preds = %3486
  %3493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3494 = call i32 @fileno(ptr noundef %3493) #10
  %3495 = call i32 @isatty(i32 noundef %3494) #10
  %.not376 = icmp eq i32 %3495, 0
  br i1 %.not376, label %3496, label %3497

3496:                                             ; preds = %3492, %3486
  br label %3497

3497:                                             ; preds = %3492, %3496
  %.str.5.sink1562 = phi ptr [ @.str.5, %3496 ], [ @.str.2, %3492 ]
  store i32 %3487, ptr %249, align 4, !tbaa !5
  %3498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3499 = load i32, ptr @test_count, align 4, !tbaa !5
  %3500 = load i32, ptr %195, align 4, !tbaa !5
  %3501 = call ptr @s2n_strerror(i32 noundef %3500, ptr noundef nonnull @.str.4) #10
  %3502 = load i32, ptr %195, align 4, !tbaa !5
  %3503 = call ptr @s2n_strerror_debug(i32 noundef %3502, ptr noundef nonnull @.str.4) #10
  %3504 = load i32, ptr %249, align 4, !tbaa !5
  %3505 = call ptr @strerror(i32 noundef %3504) #10
  %3506 = load i32, ptr %249, align 4, !tbaa !5
  %3507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3498, ptr noundef nonnull %.str.5.sink1562, i32 noundef %3499, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %3501, ptr noundef %3503, ptr noundef %3505, i32 noundef %3506) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3508:                                             ; preds = %3481
  %3509 = load i32, ptr @test_count, align 4, !tbaa !5
  %3510 = add nsw i32 %3509, 1
  store i32 %3510, ptr @test_count, align 4, !tbaa !5
  %3511 = load i16, ptr %17, align 2, !tbaa !22
  %3512 = icmp eq i16 %3511, %3428
  br i1 %3512, label %3535, label %3513

3513:                                             ; preds = %3389, %3359, %3329, %3299, %3269, %3508
  %3514 = load i32, ptr %249, align 4, !tbaa !5
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = call i32 @s2n_print_stacktrace(ptr noundef %3515) #10
  %3517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3518 = trunc nuw i8 %3517 to i1
  br i1 %3518, label %3519, label %3523

3519:                                             ; preds = %3513
  %3520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3521 = call i32 @fileno(ptr noundef %3520) #10
  %3522 = call i32 @isatty(i32 noundef %3521) #10
  %.not374 = icmp eq i32 %3522, 0
  br i1 %.not374, label %3523, label %3524

3523:                                             ; preds = %3519, %3513
  br label %3524

3524:                                             ; preds = %3519, %3523
  %.str.5.sink1571 = phi ptr [ @.str.5, %3523 ], [ @.str.2, %3519 ]
  store i32 %3514, ptr %249, align 4, !tbaa !5
  %3525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3526 = load i32, ptr @test_count, align 4, !tbaa !5
  %3527 = load i32, ptr %195, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror(i32 noundef %3527, ptr noundef nonnull @.str.4) #10
  %3529 = load i32, ptr %195, align 4, !tbaa !5
  %3530 = call ptr @s2n_strerror_debug(i32 noundef %3529, ptr noundef nonnull @.str.4) #10
  %3531 = load i32, ptr %249, align 4, !tbaa !5
  %3532 = call ptr @strerror(i32 noundef %3531) #10
  %3533 = load i32, ptr %249, align 4, !tbaa !5
  %3534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3525, ptr noundef nonnull %.str.5.sink1571, i32 noundef %3526, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %3528, ptr noundef %3530, ptr noundef %3532, i32 noundef %3533) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3535:                                             ; preds = %3508
  %3536 = add nsw i32 %3509, 2
  store i32 %3536, ptr @test_count, align 4, !tbaa !5
  %3537 = call i32 @s2n_stuffer_skip_read(ptr noundef nonnull %3, i32 noundef %3429) #10
  %3538 = icmp eq i32 %3537, -1
  br i1 %3538, label %3539, label %.preheader.1

3539:                                             ; preds = %3394, %3364, %3334, %3304, %3274, %3535
  %3540 = load i32, ptr %249, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = call i32 @s2n_print_stacktrace(ptr noundef %3541) #10
  %3543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3544 = trunc nuw i8 %3543 to i1
  br i1 %3544, label %3545, label %3549

3545:                                             ; preds = %3539
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = call i32 @fileno(ptr noundef %3546) #10
  %3548 = call i32 @isatty(i32 noundef %3547) #10
  %.not375 = icmp eq i32 %3548, 0
  br i1 %.not375, label %3549, label %3550

3549:                                             ; preds = %3545, %3539
  br label %3550

3550:                                             ; preds = %3545, %3549
  %.str.5.sink1580 = phi ptr [ @.str.5, %3549 ], [ @.str.2, %3545 ]
  store i32 %3540, ptr %249, align 4, !tbaa !5
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = load i32, ptr %195, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror(i32 noundef %3553, ptr noundef nonnull @.str.4) #10
  %3555 = load i32, ptr %195, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef nonnull @.str.4) #10
  %3557 = load i32, ptr %249, align 4, !tbaa !5
  %3558 = call ptr @strerror(i32 noundef %3557) #10
  %3559 = load i32, ptr %249, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3551, ptr noundef nonnull %.str.5.sink1580, i32 noundef %3552, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %3554, ptr noundef %3556, ptr noundef %3558, i32 noundef %3559) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3561:                                             ; preds = %3398
  %3562 = load i32, ptr %249, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = call i32 @s2n_print_stacktrace(ptr noundef %3563) #10
  %3565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3566 = trunc nuw i8 %3565 to i1
  br i1 %3566, label %3567, label %3571

3567:                                             ; preds = %3561
  %3568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3569 = call i32 @fileno(ptr noundef %3568) #10
  %3570 = call i32 @isatty(i32 noundef %3569) #10
  %.not373 = icmp eq i32 %3570, 0
  br i1 %.not373, label %3571, label %3572

3571:                                             ; preds = %3567, %3561
  br label %3572

3572:                                             ; preds = %3567, %3571
  %.str.5.sink1589 = phi ptr [ @.str.5, %3571 ], [ @.str.2, %3567 ]
  store i32 %3562, ptr %249, align 4, !tbaa !5
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = load i32, ptr @test_count, align 4, !tbaa !5
  %3575 = load i32, ptr %195, align 4, !tbaa !5
  %3576 = call ptr @s2n_strerror(i32 noundef %3575, ptr noundef nonnull @.str.4) #10
  %3577 = load i32, ptr %195, align 4, !tbaa !5
  %3578 = call ptr @s2n_strerror_debug(i32 noundef %3577, ptr noundef nonnull @.str.4) #10
  %3579 = load i32, ptr %249, align 4, !tbaa !5
  %3580 = call ptr @strerror(i32 noundef %3579) #10
  %3581 = load i32, ptr %249, align 4, !tbaa !5
  %3582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3573, ptr noundef nonnull %.str.5.sink1589, i32 noundef %3574, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %3576, ptr noundef %3578, ptr noundef %3580, i32 noundef %3581) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3583:                                             ; preds = %3398
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 2, ptr nonnull %17) #10
  %3584 = call i32 @s2n_cleanup() #10
  %3585 = icmp eq i32 %3584, -1
  br i1 %3585, label %3586, label %3608

3586:                                             ; preds = %3583
  %3587 = load i32, ptr %249, align 4, !tbaa !5
  %3588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3589 = call i32 @s2n_print_stacktrace(ptr noundef %3588) #10
  %3590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3591 = trunc nuw i8 %3590 to i1
  br i1 %3591, label %3592, label %3596

3592:                                             ; preds = %3586
  %3593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3594 = call i32 @fileno(ptr noundef %3593) #10
  %3595 = call i32 @isatty(i32 noundef %3594) #10
  %.not372 = icmp eq i32 %3595, 0
  br i1 %.not372, label %3596, label %3597

3596:                                             ; preds = %3592, %3586
  br label %3597

3597:                                             ; preds = %3592, %3596
  %.str.5.sink1598 = phi ptr [ @.str.5, %3596 ], [ @.str.2, %3592 ]
  store i32 %3587, ptr %249, align 4, !tbaa !5
  %3598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3599 = load i32, ptr @test_count, align 4, !tbaa !5
  %3600 = load i32, ptr %195, align 4, !tbaa !5
  %3601 = call ptr @s2n_strerror(i32 noundef %3600, ptr noundef nonnull @.str.4) #10
  %3602 = load i32, ptr %195, align 4, !tbaa !5
  %3603 = call ptr @s2n_strerror_debug(i32 noundef %3602, ptr noundef nonnull @.str.4) #10
  %3604 = load i32, ptr %249, align 4, !tbaa !5
  %3605 = call ptr @strerror(i32 noundef %3604) #10
  %3606 = load i32, ptr %249, align 4, !tbaa !5
  %3607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3598, ptr noundef nonnull %.str.5.sink1598, i32 noundef %3599, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3601, ptr noundef %3603, ptr noundef %3605, i32 noundef %3606) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3608:                                             ; preds = %3583
  %3609 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %3610 = icmp eq i32 %3609, -1
  br i1 %3610, label %3611, label %3633

3611:                                             ; preds = %3608
  %3612 = load i32, ptr %249, align 4, !tbaa !5
  %3613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3614 = call i32 @s2n_print_stacktrace(ptr noundef %3613) #10
  %3615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3616 = trunc nuw i8 %3615 to i1
  br i1 %3616, label %3617, label %3621

3617:                                             ; preds = %3611
  %3618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3619 = call i32 @fileno(ptr noundef %3618) #10
  %3620 = call i32 @isatty(i32 noundef %3619) #10
  %.not371 = icmp eq i32 %3620, 0
  br i1 %.not371, label %3621, label %3622

3621:                                             ; preds = %3617, %3611
  br label %3622

3622:                                             ; preds = %3617, %3621
  %.str.5.sink1607 = phi ptr [ @.str.5, %3621 ], [ @.str.2, %3617 ]
  store i32 %3612, ptr %249, align 4, !tbaa !5
  %3623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3624 = load i32, ptr @test_count, align 4, !tbaa !5
  %3625 = load i32, ptr %195, align 4, !tbaa !5
  %3626 = call ptr @s2n_strerror(i32 noundef %3625, ptr noundef nonnull @.str.4) #10
  %3627 = load i32, ptr %195, align 4, !tbaa !5
  %3628 = call ptr @s2n_strerror_debug(i32 noundef %3627, ptr noundef nonnull @.str.4) #10
  %3629 = load i32, ptr %249, align 4, !tbaa !5
  %3630 = call ptr @strerror(i32 noundef %3629) #10
  %3631 = load i32, ptr %249, align 4, !tbaa !5
  %3632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3623, ptr noundef nonnull %.str.5.sink1607, i32 noundef %3624, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3626, ptr noundef %3628, ptr noundef %3630, i32 noundef %3631) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3633:                                             ; preds = %3608
  %3634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3635 = trunc nuw i8 %3634 to i1
  br i1 %3635, label %3636, label %3647

3636:                                             ; preds = %3633
  %3637 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3638 = call i32 @fileno(ptr noundef %3637) #10
  %3639 = call i32 @isatty(i32 noundef %3638) #10
  %.not368 = icmp eq i32 %3639, 0
  br i1 %.not368, label %3647, label %3640

3640:                                             ; preds = %3636
  %3641 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not370 = icmp eq i32 %3641, 0
  %3642 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not370, label %3645, label %3643

3643:                                             ; preds = %3640
  %3644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef nonnull @.str.60, i32 noundef %3641) #10
  br label %3654

3645:                                             ; preds = %3640
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3642, ptr noundef nonnull @.str.61) #10
  br label %3654

3647:                                             ; preds = %3636, %3633
  %3648 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not369 = icmp eq i32 %3648, 0
  %3649 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not369, label %3652, label %3650

3650:                                             ; preds = %3647
  %3651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3649, ptr noundef nonnull @.str.62, i32 noundef %3648) #10
  br label %3654

3652:                                             ; preds = %3647
  %3653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3649, ptr noundef nonnull @.str.63) #10
  br label %3654

3654:                                             ; preds = %3650, %3652, %3643, %3645
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #10
  ret i32 0
}

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #6

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

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

declare i32 @s2n_stuffer_write_network_order(ptr noundef, i64 noundef, i8 noundef zeroext) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

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

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

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

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

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

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

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

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

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

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #9

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 = { 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 #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn 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 #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { nofree nounwind willreturn memory(argmem: read) }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { cold nounwind }
attributes #13 = { noreturn 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 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !6, i64 28}
!16 = !{!"s2n_stuffer", !17, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!17 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!18 = !{!16, !6, i64 24}
!19 = !{!7, !7, i64 0}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = !{!23, !23, i64 0}
!23 = !{!"short", !7, i64 0}
!24 = distinct !{!24, !21}
!25 = distinct !{!25, !21}
!26 = distinct !{!26, !21}
!27 = !{!28, !10, i64 0}
!28 = !{!"s2n_stuffer_reservation", !10, i64 0, !6, i64 8, !7, i64 12}
!29 = !{!28, !6, i64 8}
!30 = !{!28, !7, i64 12}
!31 = !{!16, !6, i64 32}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SCCPPass,SROAPass,SimplifyCFGPass,TailCallElimPass