; LLVM IR from aws/s2n-tls :: tests/unit (s2n_extension_list_parse_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_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_stuffer_reservation = type { ptr, i32, i8 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_data = external dso_local constant [10 x i8], align 1
@other_test_data = external dso_local constant [20 x i8], align 16
@test_extension = external dso_local constant %struct.s2n_extension_type, align 8
@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 [88 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
@__const.main.empty_test_extension = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.9 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [86 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 [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@EMPTY_PARSED_EXTENSIONS = external constant [21 x %struct.s2n_parsed_extension], align 16
@.str.15 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [58 x i8], align 1
@__const.main.test_extension_3 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.45 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [50 x i8], align 1
@__const.main.test_extension_2 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@__const.main.test_extension_3.52 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.53 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca %struct.s2n_extension_type, align 8
  %7 = alloca ptr, align 8
  %8 = alloca i32, align 4
  %9 = alloca %struct.s2n_parsed_extensions_list, align 8
  %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 %struct.s2n_parsed_extensions_list, align 8
  %18 = alloca %struct.s2n_stuffer, align 8
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca %struct.s2n_parsed_extensions_list, align 8
  %28 = alloca %struct.s2n_stuffer, align 8
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca %struct.s2n_parsed_extensions_list, align 8
  %38 = alloca %struct.s2n_stuffer, align 8
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %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 %struct.s2n_parsed_extensions_list, align 8
  %50 = alloca %struct.s2n_stuffer, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %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 %struct.s2n_parsed_extensions_list, align 8
  %60 = alloca %struct.s2n_stuffer, align 8
  %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 %struct.s2n_parsed_extensions_list, align 8
  %71 = alloca %struct.s2n_stuffer, align 8
  %72 = alloca i32, align 4
  %73 = alloca %struct.s2n_stuffer_reservation, align 8
  %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 i8, align 1
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i8, align 1
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca %struct.s2n_parsed_extensions_list, align 8
  %94 = alloca %struct.s2n_stuffer, align 8
  %95 = alloca i32, align 4
  %96 = alloca %struct.s2n_stuffer_reservation, align 8
  %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 i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca %struct.s2n_parsed_extensions_list, align 8
  %111 = alloca %struct.s2n_stuffer, align 8
  %112 = alloca i32, align 4
  %113 = alloca %struct.s2n_stuffer_reservation, align 8
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %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 i8, align 1
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i8, align 1
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca %struct.s2n_parsed_extensions_list, align 8
  %133 = alloca %struct.s2n_stuffer, align 8
  %134 = alloca i32, align 4
  %135 = alloca %struct.s2n_stuffer_reservation, align 8
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %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 %struct.s2n_parsed_extensions_list, align 8
  %149 = alloca %struct.s2n_stuffer, align 8
  %150 = alloca i32, align 4
  %151 = alloca %struct.s2n_stuffer_reservation, align 8
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca %struct.s2n_parsed_extensions_list, align 8
  %164 = alloca %struct.s2n_stuffer, align 8
  %165 = alloca i32, align 4
  %166 = alloca %struct.s2n_stuffer_reservation, align 8
  %167 = alloca i32, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i32, align 4
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca %struct.s2n_parsed_extensions_list, align 8
  %179 = alloca %struct.s2n_stuffer, align 8
  %180 = alloca i32, align 4
  %181 = alloca %struct.s2n_extension_type, align 8
  %182 = alloca %struct.s2n_extension_type, align 8
  %183 = alloca %struct.s2n_stuffer_reservation, align 8
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca i32, align 4
  %192 = alloca i32, align 4
  %193 = alloca i8, align 1
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i32, align 4
  %198 = alloca i8, align 1
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i8, align 1
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i8, align 1
  %211 = alloca i32, align 4
  %212 = alloca i8, align 1
  %213 = alloca i32, align 4
  %214 = alloca i8, align 1
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca %struct.s2n_parsed_extensions_list, align 8
  %219 = alloca %struct.s2n_stuffer, align 8
  %220 = alloca i32, align 4
  %221 = alloca %struct.s2n_extension_type, align 8
  %222 = alloca %struct.s2n_extension_type, align 8
  %223 = alloca %struct.s2n_stuffer_reservation, align 8
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca [3 x i16], align 2
  %234 = alloca i64, align 8
  %235 = alloca i8, align 1
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  br label %244

244:                                              ; preds = %0
  br label %245

245:                                              ; preds = %244
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %246 = load ptr, ptr @stdout, align 8, !tbaa !9
  %247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %246, ptr noundef @.str, ptr noundef @.str.1) #10
  %248 = load ptr, ptr @stdout, align 8, !tbaa !9
  %249 = call i32 @fflush(ptr noundef %248)
  br label %250

250:                                              ; preds = %245
  %251 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %252 = icmp eq i32 %251, -1
  br i1 %252, label %253, label %304

253:                                              ; preds = %250
  br label %254

254:                                              ; preds = %253
  br label %255

255:                                              ; preds = %254
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #10
  %256 = call ptr @__errno_location() #11
  %257 = load i32, ptr %256, align 4, !tbaa !5
  store i32 %257, ptr %2, align 4, !tbaa !5
  %258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %259 = call i32 @s2n_print_stacktrace(ptr noundef %258)
  %260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %261 = trunc i8 %260 to i1
  br i1 %261, label %262, label %284

262:                                              ; preds = %255
  %263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %264 = call i32 @fileno(ptr noundef %263) #10
  %265 = call i32 @isatty(i32 noundef %264) #10
  %266 = icmp ne i32 %265, 0
  br i1 %266, label %267, label %284

267:                                              ; preds = %262
  %268 = load i32, ptr %2, align 4, !tbaa !5
  %269 = call ptr @__errno_location() #11
  store i32 %268, ptr %269, align 4, !tbaa !5
  %270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %273 = load i32, ptr %272, align 4, !tbaa !5
  %274 = call ptr @s2n_strerror(i32 noundef %273, ptr noundef @.str.4)
  %275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %276 = load i32, ptr %275, align 4, !tbaa !5
  %277 = call ptr @s2n_strerror_debug(i32 noundef %276, ptr noundef @.str.4)
  %278 = call ptr @__errno_location() #11
  %279 = load i32, ptr %278, align 4, !tbaa !5
  %280 = call ptr @strerror(i32 noundef %279) #10
  %281 = call ptr @__errno_location() #11
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %270, ptr noundef @.str.2, i32 noundef %271, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 72, ptr noundef %274, ptr noundef %277, ptr noundef %280, i32 noundef %282) #10
  br label %301

284:                                              ; preds = %262, %255
  %285 = load i32, ptr %2, align 4, !tbaa !5
  %286 = call ptr @__errno_location() #11
  store i32 %285, ptr %286, align 4, !tbaa !5
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = load i32, ptr @test_count, align 4, !tbaa !5
  %289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %290 = load i32, ptr %289, align 4, !tbaa !5
  %291 = call ptr @s2n_strerror(i32 noundef %290, ptr noundef @.str.4)
  %292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %293 = load i32, ptr %292, align 4, !tbaa !5
  %294 = call ptr @s2n_strerror_debug(i32 noundef %293, ptr noundef @.str.4)
  %295 = call ptr @__errno_location() #11
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = call ptr @strerror(i32 noundef %296) #10
  %298 = call ptr @__errno_location() #11
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef @.str.5, i32 noundef %288, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 72, ptr noundef %291, ptr noundef %294, ptr noundef %297, i32 noundef %299) #10
  br label %301

301:                                              ; preds = %284, %267
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #10
  br label %302

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

303:                                              ; No predecessors!
  br label %304

304:                                              ; preds = %303, %250
  br label %305

305:                                              ; preds = %304
  br label %306

306:                                              ; preds = %305
  %307 = load i32, ptr @test_count, align 4, !tbaa !5
  %308 = add nsw i32 %307, 1
  store i32 %308, ptr @test_count, align 4, !tbaa !5
  %309 = call i32 @s2n_enable_atexit()
  %310 = icmp eq i32 %309, -1
  br i1 %310, label %311, label %362

311:                                              ; preds = %306
  br label %312

312:                                              ; preds = %311
  br label %313

313:                                              ; preds = %312
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #10
  %314 = call ptr @__errno_location() #11
  %315 = load i32, ptr %314, align 4, !tbaa !5
  store i32 %315, ptr %3, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = call i32 @s2n_print_stacktrace(ptr noundef %316)
  %318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %319 = trunc i8 %318 to i1
  br i1 %319, label %320, label %342

320:                                              ; preds = %313
  %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
  %324 = icmp ne i32 %323, 0
  br i1 %324, label %325, label %342

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

342:                                              ; preds = %320, %313
  %343 = load i32, ptr %3, align 4, !tbaa !5
  %344 = call ptr @__errno_location() #11
  store i32 %343, ptr %344, align 4, !tbaa !5
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = load i32, ptr @test_count, align 4, !tbaa !5
  %347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %348 = load i32, ptr %347, align 4, !tbaa !5
  %349 = call ptr @s2n_strerror(i32 noundef %348, ptr noundef @.str.4)
  %350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = call ptr @s2n_strerror_debug(i32 noundef %351, ptr noundef @.str.4)
  %353 = call ptr @__errno_location() #11
  %354 = load i32, ptr %353, align 4, !tbaa !5
  %355 = call ptr @strerror(i32 noundef %354) #10
  %356 = call ptr @__errno_location() #11
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %345, ptr noundef @.str.5, i32 noundef %346, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 72, ptr noundef %349, ptr noundef %352, ptr noundef %355, i32 noundef %357) #10
  br label %359

359:                                              ; preds = %342, %325
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #10
  br label %360

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

361:                                              ; No predecessors!
  br label %362

362:                                              ; preds = %361, %306
  br label %363

363:                                              ; preds = %362
  br label %364

364:                                              ; preds = %363
  br label %365

365:                                              ; preds = %364
  %366 = call i32 @s2n_init()
  %367 = icmp eq i32 %366, -1
  br i1 %367, label %368, label %419

368:                                              ; preds = %365
  br label %369

369:                                              ; preds = %368
  br label %370

370:                                              ; preds = %369
  call void @llvm.lifetime.start.p0(i64 4, ptr %4) #10
  %371 = call ptr @__errno_location() #11
  %372 = load i32, ptr %371, align 4, !tbaa !5
  store i32 %372, ptr %4, align 4, !tbaa !5
  %373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %374 = call i32 @s2n_print_stacktrace(ptr noundef %373)
  %375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %376 = trunc i8 %375 to i1
  br i1 %376, label %377, label %399

377:                                              ; preds = %370
  %378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %379 = call i32 @fileno(ptr noundef %378) #10
  %380 = call i32 @isatty(i32 noundef %379) #10
  %381 = icmp ne i32 %380, 0
  br i1 %381, label %382, label %399

382:                                              ; preds = %377
  %383 = load i32, ptr %4, align 4, !tbaa !5
  %384 = call ptr @__errno_location() #11
  store i32 %383, ptr %384, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = load i32, ptr @test_count, align 4, !tbaa !5
  %387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %388 = load i32, ptr %387, align 4, !tbaa !5
  %389 = call ptr @s2n_strerror(i32 noundef %388, ptr noundef @.str.4)
  %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_debug(i32 noundef %391, ptr noundef @.str.4)
  %393 = call ptr @__errno_location() #11
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @strerror(i32 noundef %394) #10
  %396 = call ptr @__errno_location() #11
  %397 = load i32, ptr %396, align 4, !tbaa !5
  %398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %385, ptr noundef @.str.2, i32 noundef %386, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 72, ptr noundef %389, ptr noundef %392, ptr noundef %395, i32 noundef %397) #10
  br label %416

399:                                              ; preds = %377, %370
  %400 = load i32, ptr %4, align 4, !tbaa !5
  %401 = call ptr @__errno_location() #11
  store i32 %400, ptr %401, align 4, !tbaa !5
  %402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %403 = load i32, ptr @test_count, align 4, !tbaa !5
  %404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %405 = load i32, ptr %404, align 4, !tbaa !5
  %406 = call ptr @s2n_strerror(i32 noundef %405, ptr noundef @.str.4)
  %407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %408 = load i32, ptr %407, align 4, !tbaa !5
  %409 = call ptr @s2n_strerror_debug(i32 noundef %408, ptr noundef @.str.4)
  %410 = call ptr @__errno_location() #11
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @strerror(i32 noundef %411) #10
  %413 = call ptr @__errno_location() #11
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %402, ptr noundef @.str.5, i32 noundef %403, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 72, ptr noundef %406, ptr noundef %409, ptr noundef %412, i32 noundef %414) #10
  br label %416

416:                                              ; preds = %399, %382
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #10
  br label %417

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

418:                                              ; No predecessors!
  br label %419

419:                                              ; preds = %418, %365
  br label %420

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420
  br label %422

422:                                              ; preds = %421
  %423 = load i32, ptr @test_count, align 4, !tbaa !5
  %424 = add nsw i32 %423, 1
  store i32 %424, ptr @test_count, align 4, !tbaa !5
  %425 = call i32 (...) @s2n_disable_tls13_in_test()
  %426 = icmp eq i32 %425, -1
  br i1 %426, label %427, label %478

427:                                              ; preds = %422
  br label %428

428:                                              ; preds = %427
  br label %429

429:                                              ; preds = %428
  call void @llvm.lifetime.start.p0(i64 4, ptr %5) #10
  %430 = call ptr @__errno_location() #11
  %431 = load i32, ptr %430, align 4, !tbaa !5
  store i32 %431, ptr %5, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432)
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %435 = trunc i8 %434 to i1
  br i1 %435, label %436, label %458

436:                                              ; preds = %429
  %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
  %440 = icmp ne i32 %439, 0
  br i1 %440, label %441, label %458

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

458:                                              ; preds = %436, %429
  %459 = load i32, ptr %5, align 4, !tbaa !5
  %460 = call ptr @__errno_location() #11
  store i32 %459, ptr %460, align 4, !tbaa !5
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = load i32, ptr @test_count, align 4, !tbaa !5
  %463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %464 = load i32, ptr %463, align 4, !tbaa !5
  %465 = call ptr @s2n_strerror(i32 noundef %464, ptr noundef @.str.4)
  %466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = call ptr @s2n_strerror_debug(i32 noundef %467, ptr noundef @.str.4)
  %469 = call ptr @__errno_location() #11
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call ptr @strerror(i32 noundef %470) #10
  %472 = call ptr @__errno_location() #11
  %473 = load i32, ptr %472, align 4, !tbaa !5
  %474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %461, ptr noundef @.str.5, i32 noundef %462, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 73, ptr noundef %465, ptr noundef %468, ptr noundef %471, i32 noundef %473) #10
  br label %475

475:                                              ; preds = %458, %441
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #10
  br label %476

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

477:                                              ; No predecessors!
  br label %478

478:                                              ; preds = %477, %422
  br label %479

479:                                              ; preds = %478
  call void @llvm.lifetime.start.p0(i64 40, ptr %6) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 @__const.main.empty_test_extension, i64 40, i1 false)
  %480 = getelementptr inbounds %struct.s2n_extension_type, ptr %6, i32 0, i32 3
  store ptr @s2n_extension_send_no_data, ptr %480, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 8, ptr %7) #10
  store ptr null, ptr %7, align 8, !tbaa !9
  br label %481

481:                                              ; preds = %479
  %482 = load i32, ptr @test_count, align 4, !tbaa !5
  %483 = add nsw i32 %482, 1
  store i32 %483, ptr @test_count, align 4, !tbaa !5
  %484 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %484, ptr %7, align 8, !tbaa !9
  %485 = icmp eq ptr %484, null
  br i1 %485, label %486, label %539

486:                                              ; preds = %481
  br label %487

487:                                              ; preds = %486
  br label %488

488:                                              ; preds = %487
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #10
  %489 = call ptr @__errno_location() #11
  %490 = load i32, ptr %489, align 4, !tbaa !5
  store i32 %490, ptr %8, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = call i32 @s2n_print_stacktrace(ptr noundef %491)
  %493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %494 = trunc i8 %493 to i1
  br i1 %494, label %495, label %517

495:                                              ; preds = %488
  %496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %497 = call i32 @fileno(ptr noundef %496) #10
  %498 = call i32 @isatty(i32 noundef %497) #10
  %499 = icmp ne i32 %498, 0
  br i1 %499, label %500, label %517

500:                                              ; preds = %495
  %501 = load i32, ptr %8, align 4, !tbaa !5
  %502 = call ptr @__errno_location() #11
  store i32 %501, ptr %502, align 4, !tbaa !5
  %503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %504 = load i32, ptr @test_count, align 4, !tbaa !5
  %505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %506 = load i32, ptr %505, align 4, !tbaa !5
  %507 = call ptr @s2n_strerror(i32 noundef %506, ptr noundef @.str.4)
  %508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %509 = load i32, ptr %508, align 4, !tbaa !5
  %510 = call ptr @s2n_strerror_debug(i32 noundef %509, ptr noundef @.str.4)
  %511 = call ptr @__errno_location() #11
  %512 = load i32, ptr %511, align 4, !tbaa !5
  %513 = call ptr @strerror(i32 noundef %512) #10
  %514 = call ptr @__errno_location() #11
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %503, ptr noundef @.str.2, i32 noundef %504, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 79, ptr noundef %507, ptr noundef %510, ptr noundef %513, i32 noundef %515) #10
  br label %534

517:                                              ; preds = %495, %488
  %518 = load i32, ptr %8, align 4, !tbaa !5
  %519 = call ptr @__errno_location() #11
  store i32 %518, ptr %519, align 4, !tbaa !5
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = load i32, ptr @test_count, align 4, !tbaa !5
  %522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %523 = load i32, ptr %522, align 4, !tbaa !5
  %524 = call ptr @s2n_strerror(i32 noundef %523, ptr noundef @.str.4)
  %525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %526 = load i32, ptr %525, align 4, !tbaa !5
  %527 = call ptr @s2n_strerror_debug(i32 noundef %526, ptr noundef @.str.4)
  %528 = call ptr @__errno_location() #11
  %529 = load i32, ptr %528, align 4, !tbaa !5
  %530 = call ptr @strerror(i32 noundef %529) #10
  %531 = call ptr @__errno_location() #11
  %532 = load i32, ptr %531, align 4, !tbaa !5
  %533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %520, ptr noundef @.str.5, i32 noundef %521, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 79, ptr noundef %524, ptr noundef %527, ptr noundef %530, i32 noundef %532) #10
  br label %534

534:                                              ; preds = %517, %500
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #10
  br label %535

535:                                              ; preds = %534
  br label %536

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

537:                                              ; No predecessors!
  br label %538

538:                                              ; preds = %537
  br label %539

539:                                              ; preds = %538, %481
  br label %540

540:                                              ; preds = %539
  br label %541

541:                                              ; preds = %540
  call void @llvm.lifetime.start.p0(i64 704, ptr %9) #10
  call void @llvm.memset.p0.i64(ptr align 8 %9, i8 0, i64 704, i1 false)
  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 %542

542:                                              ; preds = %541
  br label %543

543:                                              ; preds = %542
  %544 = load i32, ptr @test_count, align 4, !tbaa !5
  %545 = add nsw i32 %544, 1
  store i32 %545, ptr @test_count, align 4, !tbaa !5
  %546 = call i32 @s2n_extension_list_parse(ptr noundef null, ptr noundef %9)
  %547 = icmp eq i32 %546, -1
  br i1 %547, label %601, label %548

548:                                              ; preds = %543
  br label %549

549:                                              ; preds = %548
  br label %550

550:                                              ; preds = %549
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #10
  %551 = call ptr @__errno_location() #11
  %552 = load i32, ptr %551, align 4, !tbaa !5
  store i32 %552, ptr %11, align 4, !tbaa !5
  %553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %554 = call i32 @s2n_print_stacktrace(ptr noundef %553)
  %555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %556 = trunc i8 %555 to i1
  br i1 %556, label %557, label %579

557:                                              ; preds = %550
  %558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %559 = call i32 @fileno(ptr noundef %558) #10
  %560 = call i32 @isatty(i32 noundef %559) #10
  %561 = icmp ne i32 %560, 0
  br i1 %561, label %562, label %579

562:                                              ; preds = %557
  %563 = load i32, ptr %11, align 4, !tbaa !5
  %564 = call ptr @__errno_location() #11
  store i32 %563, ptr %564, align 4, !tbaa !5
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = load i32, ptr @test_count, align 4, !tbaa !5
  %567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror(i32 noundef %568, ptr noundef @.str.4)
  %570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %571 = load i32, ptr %570, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef @.str.4)
  %573 = call ptr @__errno_location() #11
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = call ptr @strerror(i32 noundef %574) #10
  %576 = call ptr @__errno_location() #11
  %577 = load i32, ptr %576, align 4, !tbaa !5
  %578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %565, ptr noundef @.str.2, i32 noundef %566, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 86, ptr noundef %569, ptr noundef %572, ptr noundef %575, i32 noundef %577) #10
  br label %596

579:                                              ; preds = %557, %550
  %580 = load i32, ptr %11, align 4, !tbaa !5
  %581 = call ptr @__errno_location() #11
  store i32 %580, ptr %581, align 4, !tbaa !5
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call ptr @s2n_strerror(i32 noundef %585, ptr noundef @.str.4)
  %587 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %588 = load i32, ptr %587, align 4, !tbaa !5
  %589 = call ptr @s2n_strerror_debug(i32 noundef %588, ptr noundef @.str.4)
  %590 = call ptr @__errno_location() #11
  %591 = load i32, ptr %590, align 4, !tbaa !5
  %592 = call ptr @strerror(i32 noundef %591) #10
  %593 = call ptr @__errno_location() #11
  %594 = load i32, ptr %593, align 4, !tbaa !5
  %595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %582, ptr noundef @.str.5, i32 noundef %583, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 86, ptr noundef %586, ptr noundef %589, ptr noundef %592, i32 noundef %594) #10
  br label %596

596:                                              ; preds = %579, %562
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #10
  br label %597

597:                                              ; preds = %596
  br label %598

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

599:                                              ; No predecessors!
  br label %600

600:                                              ; preds = %599
  br label %601

601:                                              ; preds = %600, %543
  br label %602

602:                                              ; preds = %601
  br label %603

603:                                              ; preds = %602
  br label %604

604:                                              ; preds = %603
  %605 = load i32, ptr @test_count, align 4, !tbaa !5
  %606 = add nsw i32 %605, 1
  store i32 %606, ptr @test_count, align 4, !tbaa !5
  %607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = icmp eq i32 %608, 0
  br i1 %609, label %610, label %663

610:                                              ; preds = %604
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #10
  %613 = call ptr @__errno_location() #11
  %614 = load i32, ptr %613, align 4, !tbaa !5
  store i32 %614, ptr %12, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @s2n_print_stacktrace(ptr noundef %615)
  %617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc i8 %617 to i1
  br i1 %618, label %619, label %641

619:                                              ; preds = %612
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = call i32 @fileno(ptr noundef %620) #10
  %622 = call i32 @isatty(i32 noundef %621) #10
  %623 = icmp ne i32 %622, 0
  br i1 %623, label %624, label %641

624:                                              ; preds = %619
  %625 = load i32, ptr %12, align 4, !tbaa !5
  %626 = call ptr @__errno_location() #11
  store i32 %625, ptr %626, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = load i32, ptr @test_count, align 4, !tbaa !5
  %629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %630 = load i32, ptr %629, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef @.str.4)
  %632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %633 = load i32, ptr %632, align 4, !tbaa !5
  %634 = call ptr @s2n_strerror_debug(i32 noundef %633, ptr noundef @.str.4)
  %635 = call ptr @__errno_location() #11
  %636 = load i32, ptr %635, align 4, !tbaa !5
  %637 = call ptr @strerror(i32 noundef %636) #10
  %638 = call ptr @__errno_location() #11
  %639 = load i32, ptr %638, align 4, !tbaa !5
  %640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %627, ptr noundef @.str.2, i32 noundef %628, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 86, ptr noundef %631, ptr noundef %634, ptr noundef %637, i32 noundef %639) #10
  br label %658

641:                                              ; preds = %619, %612
  %642 = load i32, ptr %12, align 4, !tbaa !5
  %643 = call ptr @__errno_location() #11
  store i32 %642, ptr %643, align 4, !tbaa !5
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call ptr @s2n_strerror(i32 noundef %647, ptr noundef @.str.4)
  %649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %650 = load i32, ptr %649, align 4, !tbaa !5
  %651 = call ptr @s2n_strerror_debug(i32 noundef %650, ptr noundef @.str.4)
  %652 = call ptr @__errno_location() #11
  %653 = load i32, ptr %652, align 4, !tbaa !5
  %654 = call ptr @strerror(i32 noundef %653) #10
  %655 = call ptr @__errno_location() #11
  %656 = load i32, ptr %655, align 4, !tbaa !5
  %657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %644, ptr noundef @.str.5, i32 noundef %645, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 86, ptr noundef %648, ptr noundef %651, ptr noundef %654, i32 noundef %656) #10
  br label %658

658:                                              ; preds = %641, %624
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #10
  br label %659

659:                                              ; preds = %658
  br label %660

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

661:                                              ; No predecessors!
  br label %662

662:                                              ; preds = %661
  br label %663

663:                                              ; preds = %662, %604
  br label %664

664:                                              ; preds = %663
  br label %665

665:                                              ; preds = %664
  br label %666

666:                                              ; preds = %665
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @test_count, align 4, !tbaa !5
  %669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %670 = load i32, ptr %669, align 4, !tbaa !5
  %671 = call ptr @s2n_strerror_debug(i32 noundef %670, ptr noundef @.str.4)
  %672 = icmp eq ptr %671, null
  br i1 %672, label %673, label %726

673:                                              ; preds = %666
  br label %674

674:                                              ; preds = %673
  br label %675

675:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #10
  %676 = call ptr @__errno_location() #11
  %677 = load i32, ptr %676, align 4, !tbaa !5
  store i32 %677, ptr %13, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @s2n_print_stacktrace(ptr noundef %678)
  %680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %681 = trunc i8 %680 to i1
  br i1 %681, label %682, label %704

682:                                              ; preds = %675
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 @fileno(ptr noundef %683) #10
  %685 = call i32 @isatty(i32 noundef %684) #10
  %686 = icmp ne i32 %685, 0
  br i1 %686, label %687, label %704

687:                                              ; preds = %682
  %688 = load i32, ptr %13, align 4, !tbaa !5
  %689 = call ptr @__errno_location() #11
  store i32 %688, ptr %689, align 4, !tbaa !5
  %690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %691 = load i32, ptr @test_count, align 4, !tbaa !5
  %692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror(i32 noundef %693, ptr noundef @.str.4)
  %695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %696 = load i32, ptr %695, align 4, !tbaa !5
  %697 = call ptr @s2n_strerror_debug(i32 noundef %696, ptr noundef @.str.4)
  %698 = call ptr @__errno_location() #11
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call ptr @strerror(i32 noundef %699) #10
  %701 = call ptr @__errno_location() #11
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %690, ptr noundef @.str.2, i32 noundef %691, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 86, ptr noundef %694, ptr noundef %697, ptr noundef %700, i32 noundef %702) #10
  br label %721

704:                                              ; preds = %682, %675
  %705 = load i32, ptr %13, align 4, !tbaa !5
  %706 = call ptr @__errno_location() #11
  store i32 %705, ptr %706, align 4, !tbaa !5
  %707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %708 = load i32, ptr @test_count, align 4, !tbaa !5
  %709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %710 = load i32, ptr %709, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror(i32 noundef %710, ptr noundef @.str.4)
  %712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %713 = load i32, ptr %712, align 4, !tbaa !5
  %714 = call ptr @s2n_strerror_debug(i32 noundef %713, ptr noundef @.str.4)
  %715 = call ptr @__errno_location() #11
  %716 = load i32, ptr %715, align 4, !tbaa !5
  %717 = call ptr @strerror(i32 noundef %716) #10
  %718 = call ptr @__errno_location() #11
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %707, ptr noundef @.str.5, i32 noundef %708, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 86, ptr noundef %711, ptr noundef %714, ptr noundef %717, i32 noundef %719) #10
  br label %721

721:                                              ; preds = %704, %687
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #10
  br label %722

722:                                              ; preds = %721
  br label %723

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

724:                                              ; No predecessors!
  br label %725

725:                                              ; preds = %724
  br label %726

726:                                              ; preds = %725, %666
  br label %727

727:                                              ; preds = %726
  br label %728

728:                                              ; preds = %727
  br label %729

729:                                              ; preds = %728
  %730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %730, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %731 = call ptr @__errno_location() #11
  store i32 0, ptr %731, align 4, !tbaa !5
  br label %732

732:                                              ; preds = %729
  br label %733

733:                                              ; preds = %732
  br label %734

734:                                              ; preds = %733
  br label %735

735:                                              ; preds = %734
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  %738 = load i32, ptr @test_count, align 4, !tbaa !5
  %739 = add nsw i32 %738, 1
  store i32 %739, ptr @test_count, align 4, !tbaa !5
  %740 = call i32 @s2n_extension_list_parse(ptr noundef %10, ptr noundef null)
  %741 = icmp eq i32 %740, -1
  br i1 %741, label %795, label %742

742:                                              ; preds = %737
  br label %743

743:                                              ; preds = %742
  br label %744

744:                                              ; preds = %743
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #10
  %745 = call ptr @__errno_location() #11
  %746 = load i32, ptr %745, align 4, !tbaa !5
  store i32 %746, ptr %14, align 4, !tbaa !5
  %747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %748 = call i32 @s2n_print_stacktrace(ptr noundef %747)
  %749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %750 = trunc i8 %749 to i1
  br i1 %750, label %751, label %773

751:                                              ; preds = %744
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @fileno(ptr noundef %752) #10
  %754 = call i32 @isatty(i32 noundef %753) #10
  %755 = icmp ne i32 %754, 0
  br i1 %755, label %756, label %773

756:                                              ; preds = %751
  %757 = load i32, ptr %14, align 4, !tbaa !5
  %758 = call ptr @__errno_location() #11
  store i32 %757, ptr %758, align 4, !tbaa !5
  %759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %760 = load i32, ptr @test_count, align 4, !tbaa !5
  %761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror(i32 noundef %762, ptr noundef @.str.4)
  %764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror_debug(i32 noundef %765, ptr noundef @.str.4)
  %767 = call ptr @__errno_location() #11
  %768 = load i32, ptr %767, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #10
  %770 = call ptr @__errno_location() #11
  %771 = load i32, ptr %770, align 4, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %759, ptr noundef @.str.2, i32 noundef %760, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 87, ptr noundef %763, ptr noundef %766, ptr noundef %769, i32 noundef %771) #10
  br label %790

773:                                              ; preds = %751, %744
  %774 = load i32, ptr %14, align 4, !tbaa !5
  %775 = call ptr @__errno_location() #11
  store i32 %774, ptr %775, align 4, !tbaa !5
  %776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %777 = load i32, ptr @test_count, align 4, !tbaa !5
  %778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror(i32 noundef %779, ptr noundef @.str.4)
  %781 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call ptr @s2n_strerror_debug(i32 noundef %782, ptr noundef @.str.4)
  %784 = call ptr @__errno_location() #11
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = call ptr @strerror(i32 noundef %785) #10
  %787 = call ptr @__errno_location() #11
  %788 = load i32, ptr %787, align 4, !tbaa !5
  %789 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %776, ptr noundef @.str.5, i32 noundef %777, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 87, ptr noundef %780, ptr noundef %783, ptr noundef %786, i32 noundef %788) #10
  br label %790

790:                                              ; preds = %773, %756
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #10
  br label %791

791:                                              ; preds = %790
  br label %792

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

793:                                              ; No predecessors!
  br label %794

794:                                              ; preds = %793
  br label %795

795:                                              ; preds = %794, %737
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  br label %798

798:                                              ; preds = %797
  %799 = load i32, ptr @test_count, align 4, !tbaa !5
  %800 = add nsw i32 %799, 1
  store i32 %800, ptr @test_count, align 4, !tbaa !5
  %801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = icmp eq i32 %802, 0
  br i1 %803, label %804, label %857

804:                                              ; preds = %798
  br label %805

805:                                              ; preds = %804
  br label %806

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

813:                                              ; preds = %806
  %814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %815 = call i32 @fileno(ptr noundef %814) #10
  %816 = call i32 @isatty(i32 noundef %815) #10
  %817 = icmp ne i32 %816, 0
  br i1 %817, label %818, label %835

818:                                              ; preds = %813
  %819 = load i32, ptr %15, align 4, !tbaa !5
  %820 = call ptr @__errno_location() #11
  store i32 %819, ptr %820, align 4, !tbaa !5
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %824, ptr noundef @.str.4)
  %826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %827 = load i32, ptr %826, align 4, !tbaa !5
  %828 = call ptr @s2n_strerror_debug(i32 noundef %827, ptr noundef @.str.4)
  %829 = call ptr @__errno_location() #11
  %830 = load i32, ptr %829, align 4, !tbaa !5
  %831 = call ptr @strerror(i32 noundef %830) #10
  %832 = call ptr @__errno_location() #11
  %833 = load i32, ptr %832, align 4, !tbaa !5
  %834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %821, ptr noundef @.str.2, i32 noundef %822, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 87, ptr noundef %825, ptr noundef %828, ptr noundef %831, i32 noundef %833) #10
  br label %852

835:                                              ; preds = %813, %806
  %836 = load i32, ptr %15, align 4, !tbaa !5
  %837 = call ptr @__errno_location() #11
  store i32 %836, ptr %837, align 4, !tbaa !5
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %841, ptr noundef @.str.4)
  %843 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %844 = load i32, ptr %843, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror_debug(i32 noundef %844, ptr noundef @.str.4)
  %846 = call ptr @__errno_location() #11
  %847 = load i32, ptr %846, align 4, !tbaa !5
  %848 = call ptr @strerror(i32 noundef %847) #10
  %849 = call ptr @__errno_location() #11
  %850 = load i32, ptr %849, align 4, !tbaa !5
  %851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %838, ptr noundef @.str.5, i32 noundef %839, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 87, ptr noundef %842, ptr noundef %845, ptr noundef %848, i32 noundef %850) #10
  br label %852

852:                                              ; preds = %835, %818
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #10
  br label %853

853:                                              ; preds = %852
  br label %854

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

855:                                              ; No predecessors!
  br label %856

856:                                              ; preds = %855
  br label %857

857:                                              ; preds = %856, %798
  br label %858

858:                                              ; preds = %857
  br label %859

859:                                              ; preds = %858
  br label %860

860:                                              ; preds = %859
  %861 = load i32, ptr @test_count, align 4, !tbaa !5
  %862 = add nsw i32 %861, 1
  store i32 %862, ptr @test_count, align 4, !tbaa !5
  %863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %864 = load i32, ptr %863, align 4, !tbaa !5
  %865 = call ptr @s2n_strerror_debug(i32 noundef %864, ptr noundef @.str.4)
  %866 = icmp eq ptr %865, null
  br i1 %866, label %867, label %920

867:                                              ; preds = %860
  br label %868

868:                                              ; preds = %867
  br label %869

869:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #10
  %870 = call ptr @__errno_location() #11
  %871 = load i32, ptr %870, align 4, !tbaa !5
  store i32 %871, ptr %16, align 4, !tbaa !5
  %872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %873 = call i32 @s2n_print_stacktrace(ptr noundef %872)
  %874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %875 = trunc i8 %874 to i1
  br i1 %875, label %876, label %898

876:                                              ; preds = %869
  %877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %878 = call i32 @fileno(ptr noundef %877) #10
  %879 = call i32 @isatty(i32 noundef %878) #10
  %880 = icmp ne i32 %879, 0
  br i1 %880, label %881, label %898

881:                                              ; preds = %876
  %882 = load i32, ptr %16, align 4, !tbaa !5
  %883 = call ptr @__errno_location() #11
  store i32 %882, ptr %883, align 4, !tbaa !5
  %884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %885 = load i32, ptr @test_count, align 4, !tbaa !5
  %886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @s2n_strerror(i32 noundef %887, ptr noundef @.str.4)
  %889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call ptr @s2n_strerror_debug(i32 noundef %890, ptr noundef @.str.4)
  %892 = call ptr @__errno_location() #11
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call ptr @strerror(i32 noundef %893) #10
  %895 = call ptr @__errno_location() #11
  %896 = load i32, ptr %895, align 4, !tbaa !5
  %897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %884, ptr noundef @.str.2, i32 noundef %885, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 87, ptr noundef %888, ptr noundef %891, ptr noundef %894, i32 noundef %896) #10
  br label %915

898:                                              ; preds = %876, %869
  %899 = load i32, ptr %16, align 4, !tbaa !5
  %900 = call ptr @__errno_location() #11
  store i32 %899, ptr %900, align 4, !tbaa !5
  %901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %902 = load i32, ptr @test_count, align 4, !tbaa !5
  %903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %904 = load i32, ptr %903, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror(i32 noundef %904, ptr noundef @.str.4)
  %906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %907 = load i32, ptr %906, align 4, !tbaa !5
  %908 = call ptr @s2n_strerror_debug(i32 noundef %907, ptr noundef @.str.4)
  %909 = call ptr @__errno_location() #11
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = call ptr @strerror(i32 noundef %910) #10
  %912 = call ptr @__errno_location() #11
  %913 = load i32, ptr %912, align 4, !tbaa !5
  %914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %901, ptr noundef @.str.5, i32 noundef %902, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 87, ptr noundef %905, ptr noundef %908, ptr noundef %911, i32 noundef %913) #10
  br label %915

915:                                              ; preds = %898, %881
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #10
  br label %916

916:                                              ; preds = %915
  br label %917

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

918:                                              ; No predecessors!
  br label %919

919:                                              ; preds = %918
  br label %920

920:                                              ; preds = %919, %860
  br label %921

921:                                              ; preds = %920
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  %924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %924, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %925 = call ptr @__errno_location() #11
  store i32 0, ptr %925, align 4, !tbaa !5
  br label %926

926:                                              ; preds = %923
  br label %927

927:                                              ; preds = %926
  br label %928

928:                                              ; preds = %927
  br label %929

929:                                              ; preds = %928
  call void @llvm.lifetime.end.p0(i64 40, ptr %10) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %9) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %17) #10
  call void @llvm.memset.p0.i64(ptr align 8 %17, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %18) #10
  call void @llvm.memset.p0.i64(ptr align 8 %18, i8 0, i64 40, i1 false)
  br label %930

930:                                              ; preds = %929
  %931 = load i32, ptr @test_count, align 4, !tbaa !5
  %932 = add nsw i32 %931, 1
  store i32 %932, ptr @test_count, align 4, !tbaa !5
  %933 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %18, i32 noundef 1)
  %934 = icmp eq i32 %933, -1
  br i1 %934, label %935, label %988

935:                                              ; preds = %930
  br label %936

936:                                              ; preds = %935
  br label %937

937:                                              ; preds = %936
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #10
  %938 = call ptr @__errno_location() #11
  %939 = load i32, ptr %938, align 4, !tbaa !5
  store i32 %939, ptr %19, align 4, !tbaa !5
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = call i32 @s2n_print_stacktrace(ptr noundef %940)
  %942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %943 = trunc i8 %942 to i1
  br i1 %943, label %944, label %966

944:                                              ; preds = %937
  %945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %946 = call i32 @fileno(ptr noundef %945) #10
  %947 = call i32 @isatty(i32 noundef %946) #10
  %948 = icmp ne i32 %947, 0
  br i1 %948, label %949, label %966

949:                                              ; preds = %944
  %950 = load i32, ptr %19, align 4, !tbaa !5
  %951 = call ptr @__errno_location() #11
  store i32 %950, ptr %951, align 4, !tbaa !5
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = load i32, ptr @test_count, align 4, !tbaa !5
  %954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %955 = load i32, ptr %954, align 4, !tbaa !5
  %956 = call ptr @s2n_strerror(i32 noundef %955, ptr noundef @.str.4)
  %957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %958 = load i32, ptr %957, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror_debug(i32 noundef %958, ptr noundef @.str.4)
  %960 = call ptr @__errno_location() #11
  %961 = load i32, ptr %960, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #10
  %963 = call ptr @__errno_location() #11
  %964 = load i32, ptr %963, align 4, !tbaa !5
  %965 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %952, ptr noundef @.str.2, i32 noundef %953, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 94, ptr noundef %956, ptr noundef %959, ptr noundef %962, i32 noundef %964) #10
  br label %983

966:                                              ; preds = %944, %937
  %967 = load i32, ptr %19, align 4, !tbaa !5
  %968 = call ptr @__errno_location() #11
  store i32 %967, ptr %968, align 4, !tbaa !5
  %969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %970 = load i32, ptr @test_count, align 4, !tbaa !5
  %971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %972 = load i32, ptr %971, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror(i32 noundef %972, ptr noundef @.str.4)
  %974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %975 = load i32, ptr %974, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror_debug(i32 noundef %975, ptr noundef @.str.4)
  %977 = call ptr @__errno_location() #11
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call ptr @strerror(i32 noundef %978) #10
  %980 = call ptr @__errno_location() #11
  %981 = load i32, ptr %980, align 4, !tbaa !5
  %982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %969, ptr noundef @.str.5, i32 noundef %970, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 94, ptr noundef %973, ptr noundef %976, ptr noundef %979, i32 noundef %981) #10
  br label %983

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

984:                                              ; preds = %983
  br label %985

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

986:                                              ; No predecessors!
  br label %987

987:                                              ; preds = %986
  br label %988

988:                                              ; preds = %987, %930
  br label %989

989:                                              ; preds = %988
  br label %990

990:                                              ; preds = %989
  %991 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 0
  %992 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %991, i64 0, i64 0
  %993 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %992, i32 0, i32 1
  store i16 255, ptr %993, align 8, !tbaa !18
  %994 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 0
  %995 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %994, i64 0, i64 20
  %996 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %995, i32 0, i32 1
  store i16 255, ptr %996, align 8, !tbaa !18
  br label %997

997:                                              ; preds = %990
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = add nsw i32 %998, 1
  store i32 %999, ptr @test_count, align 4, !tbaa !5
  %1000 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 0
  %1001 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %1000, i64 0, i64 0
  %1002 = call i32 @memcmp(ptr noundef %1001, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %1003 = icmp eq i32 %1002, 0
  br i1 %1003, label %1004, label %1057

1004:                                             ; preds = %997
  br label %1005

1005:                                             ; preds = %1004
  br label %1006

1006:                                             ; preds = %1005
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #10
  %1007 = call ptr @__errno_location() #11
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  store i32 %1008, ptr %20, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = call i32 @s2n_print_stacktrace(ptr noundef %1009)
  %1011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1012 = trunc i8 %1011 to i1
  br i1 %1012, label %1013, label %1035

1013:                                             ; preds = %1006
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @fileno(ptr noundef %1014) #10
  %1016 = call i32 @isatty(i32 noundef %1015) #10
  %1017 = icmp ne i32 %1016, 0
  br i1 %1017, label %1018, label %1035

1018:                                             ; preds = %1013
  %1019 = load i32, ptr %20, align 4, !tbaa !5
  %1020 = call ptr @__errno_location() #11
  store i32 %1019, ptr %1020, align 4, !tbaa !5
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = load i32, ptr @test_count, align 4, !tbaa !5
  %1023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call ptr @s2n_strerror(i32 noundef %1024, ptr noundef @.str.4)
  %1026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror_debug(i32 noundef %1027, ptr noundef @.str.4)
  %1029 = call ptr @__errno_location() #11
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call ptr @strerror(i32 noundef %1030) #10
  %1032 = call ptr @__errno_location() #11
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1021, ptr noundef @.str.2, i32 noundef %1022, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1025, ptr noundef %1028, ptr noundef %1031, i32 noundef %1033) #10
  br label %1052

1035:                                             ; preds = %1013, %1006
  %1036 = load i32, ptr %20, align 4, !tbaa !5
  %1037 = call ptr @__errno_location() #11
  store i32 %1036, ptr %1037, align 4, !tbaa !5
  %1038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror(i32 noundef %1041, ptr noundef @.str.4)
  %1043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror_debug(i32 noundef %1044, ptr noundef @.str.4)
  %1046 = call ptr @__errno_location() #11
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = call ptr @strerror(i32 noundef %1047) #10
  %1049 = call ptr @__errno_location() #11
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  %1051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1038, ptr noundef @.str.5, i32 noundef %1039, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1042, ptr noundef %1045, ptr noundef %1048, i32 noundef %1050) #10
  br label %1052

1052:                                             ; preds = %1035, %1018
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #10
  br label %1053

1053:                                             ; preds = %1052
  br label %1054

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

1055:                                             ; No predecessors!
  br label %1056

1056:                                             ; preds = %1055
  br label %1057

1057:                                             ; preds = %1056, %997
  br label %1058

1058:                                             ; preds = %1057
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

1060:                                             ; preds = %1059
  %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 = call i32 @s2n_extension_list_parse(ptr noundef %18, ptr noundef %17)
  %1064 = icmp eq i32 %1063, -1
  br i1 %1064, label %1065, label %1118

1065:                                             ; preds = %1060
  br label %1066

1066:                                             ; preds = %1065
  br label %1067

1067:                                             ; preds = %1066
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #10
  %1068 = call ptr @__errno_location() #11
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  store i32 %1069, ptr %21, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @s2n_print_stacktrace(ptr noundef %1070)
  %1072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1073 = trunc i8 %1072 to i1
  br i1 %1073, label %1074, label %1096

1074:                                             ; preds = %1067
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = call i32 @fileno(ptr noundef %1075) #10
  %1077 = call i32 @isatty(i32 noundef %1076) #10
  %1078 = icmp ne i32 %1077, 0
  br i1 %1078, label %1079, label %1096

1079:                                             ; preds = %1074
  %1080 = load i32, ptr %21, align 4, !tbaa !5
  %1081 = call ptr @__errno_location() #11
  store i32 %1080, ptr %1081, align 4, !tbaa !5
  %1082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1083 = load i32, ptr @test_count, align 4, !tbaa !5
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror(i32 noundef %1085, ptr noundef @.str.4)
  %1087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1088, ptr noundef @.str.4)
  %1090 = call ptr @__errno_location() #11
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call ptr @strerror(i32 noundef %1091) #10
  %1093 = call ptr @__errno_location() #11
  %1094 = load i32, ptr %1093, align 4, !tbaa !5
  %1095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1082, ptr noundef @.str.2, i32 noundef %1083, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1086, ptr noundef %1089, ptr noundef %1092, i32 noundef %1094) #10
  br label %1113

1096:                                             ; preds = %1074, %1067
  %1097 = load i32, ptr %21, align 4, !tbaa !5
  %1098 = call ptr @__errno_location() #11
  store i32 %1097, ptr %1098, align 4, !tbaa !5
  %1099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1100 = load i32, ptr @test_count, align 4, !tbaa !5
  %1101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1102 = load i32, ptr %1101, align 4, !tbaa !5
  %1103 = call ptr @s2n_strerror(i32 noundef %1102, ptr noundef @.str.4)
  %1104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror_debug(i32 noundef %1105, ptr noundef @.str.4)
  %1107 = call ptr @__errno_location() #11
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  %1109 = call ptr @strerror(i32 noundef %1108) #10
  %1110 = call ptr @__errno_location() #11
  %1111 = load i32, ptr %1110, align 4, !tbaa !5
  %1112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1099, ptr noundef @.str.5, i32 noundef %1100, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1103, ptr noundef %1106, ptr noundef %1109, i32 noundef %1111) #10
  br label %1113

1113:                                             ; preds = %1096, %1079
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #10
  br label %1114

1114:                                             ; preds = %1113
  br label %1115

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

1116:                                             ; No predecessors!
  br label %1117

1117:                                             ; preds = %1116
  br label %1118

1118:                                             ; preds = %1117, %1060
  br label %1119

1119:                                             ; preds = %1118
  br label %1120

1120:                                             ; preds = %1119
  br label %1121

1121:                                             ; preds = %1120
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = add nsw i32 %1122, 1
  store i32 %1123, ptr @test_count, align 4, !tbaa !5
  %1124 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 2
  %1125 = load i32, ptr %1124, align 4, !tbaa !21
  %1126 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 1
  %1127 = load i32, ptr %1126, align 8, !tbaa !23
  %1128 = sub i32 %1125, %1127
  %1129 = icmp eq i32 %1128, 0
  br i1 %1129, label %1183, label %1130

1130:                                             ; preds = %1121
  br label %1131

1131:                                             ; preds = %1130
  br label %1132

1132:                                             ; preds = %1131
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #10
  %1133 = call ptr @__errno_location() #11
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  store i32 %1134, ptr %22, align 4, !tbaa !5
  %1135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1136 = call i32 @s2n_print_stacktrace(ptr noundef %1135)
  %1137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1138 = trunc i8 %1137 to i1
  br i1 %1138, label %1139, label %1161

1139:                                             ; preds = %1132
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @fileno(ptr noundef %1140) #10
  %1142 = call i32 @isatty(i32 noundef %1141) #10
  %1143 = icmp ne i32 %1142, 0
  br i1 %1143, label %1144, label %1161

1144:                                             ; preds = %1139
  %1145 = load i32, ptr %22, align 4, !tbaa !5
  %1146 = call ptr @__errno_location() #11
  store i32 %1145, ptr %1146, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = load i32, ptr @test_count, align 4, !tbaa !5
  %1149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1150 = load i32, ptr %1149, align 4, !tbaa !5
  %1151 = call ptr @s2n_strerror(i32 noundef %1150, ptr noundef @.str.4)
  %1152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1153 = load i32, ptr %1152, align 4, !tbaa !5
  %1154 = call ptr @s2n_strerror_debug(i32 noundef %1153, ptr noundef @.str.4)
  %1155 = call ptr @__errno_location() #11
  %1156 = load i32, ptr %1155, align 4, !tbaa !5
  %1157 = call ptr @strerror(i32 noundef %1156) #10
  %1158 = call ptr @__errno_location() #11
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1147, ptr noundef @.str.2, i32 noundef %1148, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1151, ptr noundef %1154, ptr noundef %1157, i32 noundef %1159) #10
  br label %1178

1161:                                             ; preds = %1139, %1132
  %1162 = load i32, ptr %22, align 4, !tbaa !5
  %1163 = call ptr @__errno_location() #11
  store i32 %1162, ptr %1163, align 4, !tbaa !5
  %1164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1167 = load i32, ptr %1166, align 4, !tbaa !5
  %1168 = call ptr @s2n_strerror(i32 noundef %1167, ptr noundef @.str.4)
  %1169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1170 = load i32, ptr %1169, align 4, !tbaa !5
  %1171 = call ptr @s2n_strerror_debug(i32 noundef %1170, ptr noundef @.str.4)
  %1172 = call ptr @__errno_location() #11
  %1173 = load i32, ptr %1172, align 4, !tbaa !5
  %1174 = call ptr @strerror(i32 noundef %1173) #10
  %1175 = call ptr @__errno_location() #11
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1164, ptr noundef @.str.5, i32 noundef %1165, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 102, ptr noundef %1168, ptr noundef %1171, ptr noundef %1174, i32 noundef %1176) #10
  br label %1178

1178:                                             ; preds = %1161, %1144
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #10
  br label %1179

1179:                                             ; preds = %1178
  br label %1180

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

1181:                                             ; No predecessors!
  br label %1182

1182:                                             ; preds = %1181
  br label %1183

1183:                                             ; preds = %1182, %1121
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184
  br label %1186

1186:                                             ; preds = %1185
  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 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 0
  %1191 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %1190, i64 0, i64 0
  %1192 = call i32 @memcmp(ptr noundef %1191, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %1193 = icmp eq i32 %1192, 0
  br i1 %1193, label %1247, label %1194

1194:                                             ; preds = %1187
  br label %1195

1195:                                             ; preds = %1194
  br label %1196

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

1203:                                             ; preds = %1196
  %1204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1205 = call i32 @fileno(ptr noundef %1204) #10
  %1206 = call i32 @isatty(i32 noundef %1205) #10
  %1207 = icmp ne i32 %1206, 0
  br i1 %1207, label %1208, label %1225

1208:                                             ; preds = %1203
  %1209 = load i32, ptr %23, align 4, !tbaa !5
  %1210 = call ptr @__errno_location() #11
  store i32 %1209, ptr %1210, align 4, !tbaa !5
  %1211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1212 = load i32, ptr @test_count, align 4, !tbaa !5
  %1213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1214 = load i32, ptr %1213, align 4, !tbaa !5
  %1215 = call ptr @s2n_strerror(i32 noundef %1214, ptr noundef @.str.4)
  %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_debug(i32 noundef %1217, ptr noundef @.str.4)
  %1219 = call ptr @__errno_location() #11
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @strerror(i32 noundef %1220) #10
  %1222 = call ptr @__errno_location() #11
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1211, ptr noundef @.str.2, i32 noundef %1212, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1215, ptr noundef %1218, ptr noundef %1221, i32 noundef %1223) #10
  br label %1242

1225:                                             ; preds = %1203, %1196
  %1226 = load i32, ptr %23, align 4, !tbaa !5
  %1227 = call ptr @__errno_location() #11
  store i32 %1226, ptr %1227, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror(i32 noundef %1231, ptr noundef @.str.4)
  %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_debug(i32 noundef %1234, ptr noundef @.str.4)
  %1236 = call ptr @__errno_location() #11
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @strerror(i32 noundef %1237) #10
  %1239 = call ptr @__errno_location() #11
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1228, ptr noundef @.str.5, i32 noundef %1229, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 103, ptr noundef %1232, ptr noundef %1235, ptr noundef %1238, i32 noundef %1240) #10
  br label %1242

1242:                                             ; preds = %1225, %1208
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #10
  br label %1243

1243:                                             ; preds = %1242
  br label %1244

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

1245:                                             ; No predecessors!
  br label %1246

1246:                                             ; preds = %1245
  br label %1247

1247:                                             ; preds = %1246, %1187
  br label %1248

1248:                                             ; preds = %1247
  br label %1249

1249:                                             ; preds = %1248
  br label %1250

1250:                                             ; preds = %1249
  br label %1251

1251:                                             ; preds = %1250
  br label %1252

1252:                                             ; preds = %1251
  %1253 = load i32, ptr @test_count, align 4, !tbaa !5
  %1254 = add nsw i32 %1253, 1
  store i32 %1254, ptr @test_count, align 4, !tbaa !5
  %1255 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 1
  %1256 = getelementptr inbounds %struct.s2n_blob, ptr %1255, i32 0, i32 0
  %1257 = load ptr, ptr %1256, align 8, !tbaa !24
  %1258 = getelementptr inbounds %struct.s2n_stuffer, ptr %18, i32 0, i32 0
  %1259 = getelementptr inbounds %struct.s2n_blob, ptr %1258, i32 0, i32 0
  %1260 = load ptr, ptr %1259, align 8, !tbaa !26
  %1261 = icmp eq ptr %1257, %1260
  br i1 %1261, label %1315, label %1262

1262:                                             ; preds = %1252
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

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

1271:                                             ; preds = %1264
  %1272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1273 = call i32 @fileno(ptr noundef %1272) #10
  %1274 = call i32 @isatty(i32 noundef %1273) #10
  %1275 = icmp ne i32 %1274, 0
  br i1 %1275, label %1276, label %1293

1276:                                             ; preds = %1271
  %1277 = load i32, ptr %24, align 4, !tbaa !5
  %1278 = call ptr @__errno_location() #11
  store i32 %1277, ptr %1278, align 4, !tbaa !5
  %1279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1280 = load i32, ptr @test_count, align 4, !tbaa !5
  %1281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1282 = load i32, ptr %1281, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror(i32 noundef %1282, ptr noundef @.str.4)
  %1284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1285 = load i32, ptr %1284, align 4, !tbaa !5
  %1286 = call ptr @s2n_strerror_debug(i32 noundef %1285, ptr noundef @.str.4)
  %1287 = call ptr @__errno_location() #11
  %1288 = load i32, ptr %1287, align 4, !tbaa !5
  %1289 = call ptr @strerror(i32 noundef %1288) #10
  %1290 = call ptr @__errno_location() #11
  %1291 = load i32, ptr %1290, align 4, !tbaa !5
  %1292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1279, ptr noundef @.str.2, i32 noundef %1280, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1283, ptr noundef %1286, ptr noundef %1289, i32 noundef %1291) #10
  br label %1310

1293:                                             ; preds = %1271, %1264
  %1294 = load i32, ptr %24, align 4, !tbaa !5
  %1295 = call ptr @__errno_location() #11
  store i32 %1294, ptr %1295, align 4, !tbaa !5
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = load i32, ptr @test_count, align 4, !tbaa !5
  %1298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call ptr @s2n_strerror(i32 noundef %1299, ptr noundef @.str.4)
  %1301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror_debug(i32 noundef %1302, ptr noundef @.str.4)
  %1304 = call ptr @__errno_location() #11
  %1305 = load i32, ptr %1304, align 4, !tbaa !5
  %1306 = call ptr @strerror(i32 noundef %1305) #10
  %1307 = call ptr @__errno_location() #11
  %1308 = load i32, ptr %1307, align 4, !tbaa !5
  %1309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1296, ptr noundef @.str.5, i32 noundef %1297, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1300, ptr noundef %1303, ptr noundef %1306, i32 noundef %1308) #10
  br label %1310

1310:                                             ; preds = %1293, %1276
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #10
  br label %1311

1311:                                             ; preds = %1310
  br label %1312

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

1313:                                             ; No predecessors!
  br label %1314

1314:                                             ; preds = %1313
  br label %1315

1315:                                             ; preds = %1314, %1252
  br label %1316

1316:                                             ; preds = %1315
  br label %1317

1317:                                             ; preds = %1316
  br label %1318

1318:                                             ; preds = %1317
  %1319 = load i32, ptr @test_count, align 4, !tbaa !5
  %1320 = add nsw i32 %1319, 1
  store i32 %1320, ptr @test_count, align 4, !tbaa !5
  %1321 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %17, i32 0, i32 1
  %1322 = getelementptr inbounds %struct.s2n_blob, ptr %1321, i32 0, i32 1
  %1323 = load i32, ptr %1322, align 8, !tbaa !27
  %1324 = icmp eq i32 %1323, 0
  br i1 %1324, label %1378, label %1325

1325:                                             ; preds = %1318
  br label %1326

1326:                                             ; preds = %1325
  br label %1327

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

1334:                                             ; preds = %1327
  %1335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1336 = call i32 @fileno(ptr noundef %1335) #10
  %1337 = call i32 @isatty(i32 noundef %1336) #10
  %1338 = icmp ne i32 %1337, 0
  br i1 %1338, label %1339, label %1356

1339:                                             ; preds = %1334
  %1340 = load i32, ptr %25, align 4, !tbaa !5
  %1341 = call ptr @__errno_location() #11
  store i32 %1340, ptr %1341, align 4, !tbaa !5
  %1342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1343 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1345, ptr noundef @.str.4)
  %1347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1348 = load i32, ptr %1347, align 4, !tbaa !5
  %1349 = call ptr @s2n_strerror_debug(i32 noundef %1348, ptr noundef @.str.4)
  %1350 = call ptr @__errno_location() #11
  %1351 = load i32, ptr %1350, align 4, !tbaa !5
  %1352 = call ptr @strerror(i32 noundef %1351) #10
  %1353 = call ptr @__errno_location() #11
  %1354 = load i32, ptr %1353, align 4, !tbaa !5
  %1355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1342, ptr noundef @.str.2, i32 noundef %1343, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1346, ptr noundef %1349, ptr noundef %1352, i32 noundef %1354) #10
  br label %1373

1356:                                             ; preds = %1334, %1327
  %1357 = load i32, ptr %25, align 4, !tbaa !5
  %1358 = call ptr @__errno_location() #11
  store i32 %1357, ptr %1358, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1362, ptr noundef @.str.4)
  %1364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1365 = load i32, ptr %1364, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror_debug(i32 noundef %1365, ptr noundef @.str.4)
  %1367 = call ptr @__errno_location() #11
  %1368 = load i32, ptr %1367, align 4, !tbaa !5
  %1369 = call ptr @strerror(i32 noundef %1368) #10
  %1370 = call ptr @__errno_location() #11
  %1371 = load i32, ptr %1370, align 4, !tbaa !5
  %1372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1359, ptr noundef @.str.5, i32 noundef %1360, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 106, ptr noundef %1363, ptr noundef %1366, ptr noundef %1369, i32 noundef %1371) #10
  br label %1373

1373:                                             ; preds = %1356, %1339
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #10
  br label %1374

1374:                                             ; preds = %1373
  br label %1375

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

1376:                                             ; No predecessors!
  br label %1377

1377:                                             ; preds = %1376
  br label %1378

1378:                                             ; preds = %1377, %1318
  br label %1379

1379:                                             ; preds = %1378
  br label %1380

1380:                                             ; preds = %1379
  br label %1381

1381:                                             ; preds = %1380
  %1382 = load i32, ptr @test_count, align 4, !tbaa !5
  %1383 = add nsw i32 %1382, 1
  store i32 %1383, ptr @test_count, align 4, !tbaa !5
  %1384 = call i32 @s2n_stuffer_free(ptr noundef %18)
  %1385 = icmp eq i32 %1384, -1
  br i1 %1385, label %1386, label %1439

1386:                                             ; preds = %1381
  br label %1387

1387:                                             ; preds = %1386
  br label %1388

1388:                                             ; preds = %1387
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #10
  %1389 = call ptr @__errno_location() #11
  %1390 = load i32, ptr %1389, align 4, !tbaa !5
  store i32 %1390, ptr %26, align 4, !tbaa !5
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = call i32 @s2n_print_stacktrace(ptr noundef %1391)
  %1393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1394 = trunc i8 %1393 to i1
  br i1 %1394, label %1395, label %1417

1395:                                             ; preds = %1388
  %1396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1397 = call i32 @fileno(ptr noundef %1396) #10
  %1398 = call i32 @isatty(i32 noundef %1397) #10
  %1399 = icmp ne i32 %1398, 0
  br i1 %1399, label %1400, label %1417

1400:                                             ; preds = %1395
  %1401 = load i32, ptr %26, align 4, !tbaa !5
  %1402 = call ptr @__errno_location() #11
  store i32 %1401, ptr %1402, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = load i32, ptr @test_count, align 4, !tbaa !5
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror(i32 noundef %1406, ptr noundef @.str.4)
  %1408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror_debug(i32 noundef %1409, ptr noundef @.str.4)
  %1411 = call ptr @__errno_location() #11
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call ptr @strerror(i32 noundef %1412) #10
  %1414 = call ptr @__errno_location() #11
  %1415 = load i32, ptr %1414, align 4, !tbaa !5
  %1416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1403, ptr noundef @.str.2, i32 noundef %1404, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1407, ptr noundef %1410, ptr noundef %1413, i32 noundef %1415) #10
  br label %1434

1417:                                             ; preds = %1395, %1388
  %1418 = load i32, ptr %26, align 4, !tbaa !5
  %1419 = call ptr @__errno_location() #11
  store i32 %1418, ptr %1419, align 4, !tbaa !5
  %1420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1421 = load i32, ptr @test_count, align 4, !tbaa !5
  %1422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1423 = load i32, ptr %1422, align 4, !tbaa !5
  %1424 = call ptr @s2n_strerror(i32 noundef %1423, ptr noundef @.str.4)
  %1425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @s2n_strerror_debug(i32 noundef %1426, ptr noundef @.str.4)
  %1428 = call ptr @__errno_location() #11
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call ptr @strerror(i32 noundef %1429) #10
  %1431 = call ptr @__errno_location() #11
  %1432 = load i32, ptr %1431, align 4, !tbaa !5
  %1433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1420, ptr noundef @.str.5, i32 noundef %1421, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 108, ptr noundef %1424, ptr noundef %1427, ptr noundef %1430, i32 noundef %1432) #10
  br label %1434

1434:                                             ; preds = %1417, %1400
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #10
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

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

1437:                                             ; No predecessors!
  br label %1438

1438:                                             ; preds = %1437
  br label %1439

1439:                                             ; preds = %1438, %1381
  br label %1440

1440:                                             ; preds = %1439
  br label %1441

1441:                                             ; preds = %1440
  call void @llvm.lifetime.end.p0(i64 40, ptr %18) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %17) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %27) #10
  call void @llvm.memset.p0.i64(ptr align 8 %27, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %28) #10
  call void @llvm.memset.p0.i64(ptr align 8 %28, i8 0, i64 40, i1 false)
  br label %1442

1442:                                             ; preds = %1441
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = add nsw i32 %1443, 1
  store i32 %1444, ptr @test_count, align 4, !tbaa !5
  %1445 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %28, i32 noundef 1)
  %1446 = icmp eq i32 %1445, -1
  br i1 %1446, label %1447, label %1500

1447:                                             ; preds = %1442
  br label %1448

1448:                                             ; preds = %1447
  br label %1449

1449:                                             ; preds = %1448
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #10
  %1450 = call ptr @__errno_location() #11
  %1451 = load i32, ptr %1450, align 4, !tbaa !5
  store i32 %1451, ptr %29, align 4, !tbaa !5
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @s2n_print_stacktrace(ptr noundef %1452)
  %1454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1455 = trunc i8 %1454 to i1
  br i1 %1455, label %1456, label %1478

1456:                                             ; preds = %1449
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = call i32 @fileno(ptr noundef %1457) #10
  %1459 = call i32 @isatty(i32 noundef %1458) #10
  %1460 = icmp ne i32 %1459, 0
  br i1 %1460, label %1461, label %1478

1461:                                             ; preds = %1456
  %1462 = load i32, ptr %29, align 4, !tbaa !5
  %1463 = call ptr @__errno_location() #11
  store i32 %1462, ptr %1463, align 4, !tbaa !5
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = load i32, ptr @test_count, align 4, !tbaa !5
  %1466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @s2n_strerror(i32 noundef %1467, ptr noundef @.str.4)
  %1469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call ptr @s2n_strerror_debug(i32 noundef %1470, ptr noundef @.str.4)
  %1472 = call ptr @__errno_location() #11
  %1473 = load i32, ptr %1472, align 4, !tbaa !5
  %1474 = call ptr @strerror(i32 noundef %1473) #10
  %1475 = call ptr @__errno_location() #11
  %1476 = load i32, ptr %1475, align 4, !tbaa !5
  %1477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1464, ptr noundef @.str.2, i32 noundef %1465, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1468, ptr noundef %1471, ptr noundef %1474, i32 noundef %1476) #10
  br label %1495

1478:                                             ; preds = %1456, %1449
  %1479 = load i32, ptr %29, align 4, !tbaa !5
  %1480 = call ptr @__errno_location() #11
  store i32 %1479, ptr %1480, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1484 = load i32, ptr %1483, align 4, !tbaa !5
  %1485 = call ptr @s2n_strerror(i32 noundef %1484, ptr noundef @.str.4)
  %1486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1487 = load i32, ptr %1486, align 4, !tbaa !5
  %1488 = call ptr @s2n_strerror_debug(i32 noundef %1487, ptr noundef @.str.4)
  %1489 = call ptr @__errno_location() #11
  %1490 = load i32, ptr %1489, align 4, !tbaa !5
  %1491 = call ptr @strerror(i32 noundef %1490) #10
  %1492 = call ptr @__errno_location() #11
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef @.str.5, i32 noundef %1482, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 115, ptr noundef %1485, ptr noundef %1488, ptr noundef %1491, i32 noundef %1493) #10
  br label %1495

1495:                                             ; preds = %1478, %1461
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #10
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

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

1498:                                             ; No predecessors!
  br label %1499

1499:                                             ; preds = %1498
  br label %1500

1500:                                             ; preds = %1499, %1442
  br label %1501

1501:                                             ; preds = %1500
  br label %1502

1502:                                             ; preds = %1501
  br label %1503

1503:                                             ; preds = %1502
  %1504 = load i32, ptr @test_count, align 4, !tbaa !5
  %1505 = add nsw i32 %1504, 1
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = call i32 @s2n_extension_list_parse(ptr noundef %28, ptr noundef %27)
  %1507 = icmp eq i32 %1506, -1
  br i1 %1507, label %1508, label %1561

1508:                                             ; preds = %1503
  br label %1509

1509:                                             ; preds = %1508
  br label %1510

1510:                                             ; preds = %1509
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #10
  %1511 = call ptr @__errno_location() #11
  %1512 = load i32, ptr %1511, align 4, !tbaa !5
  store i32 %1512, ptr %30, align 4, !tbaa !5
  %1513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1514 = call i32 @s2n_print_stacktrace(ptr noundef %1513)
  %1515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1516 = trunc i8 %1515 to i1
  br i1 %1516, label %1517, label %1539

1517:                                             ; preds = %1510
  %1518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1519 = call i32 @fileno(ptr noundef %1518) #10
  %1520 = call i32 @isatty(i32 noundef %1519) #10
  %1521 = icmp ne i32 %1520, 0
  br i1 %1521, label %1522, label %1539

1522:                                             ; preds = %1517
  %1523 = load i32, ptr %30, align 4, !tbaa !5
  %1524 = call ptr @__errno_location() #11
  store i32 %1523, ptr %1524, align 4, !tbaa !5
  %1525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1526 = load i32, ptr @test_count, align 4, !tbaa !5
  %1527 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call ptr @s2n_strerror(i32 noundef %1528, ptr noundef @.str.4)
  %1530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1531 = load i32, ptr %1530, align 4, !tbaa !5
  %1532 = call ptr @s2n_strerror_debug(i32 noundef %1531, ptr noundef @.str.4)
  %1533 = call ptr @__errno_location() #11
  %1534 = load i32, ptr %1533, align 4, !tbaa !5
  %1535 = call ptr @strerror(i32 noundef %1534) #10
  %1536 = call ptr @__errno_location() #11
  %1537 = load i32, ptr %1536, align 4, !tbaa !5
  %1538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1525, ptr noundef @.str.2, i32 noundef %1526, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1529, ptr noundef %1532, ptr noundef %1535, i32 noundef %1537) #10
  br label %1556

1539:                                             ; preds = %1517, %1510
  %1540 = load i32, ptr %30, align 4, !tbaa !5
  %1541 = call ptr @__errno_location() #11
  store i32 %1540, ptr %1541, align 4, !tbaa !5
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = load i32, ptr @test_count, align 4, !tbaa !5
  %1544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1545 = load i32, ptr %1544, align 4, !tbaa !5
  %1546 = call ptr @s2n_strerror(i32 noundef %1545, ptr noundef @.str.4)
  %1547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1548 = load i32, ptr %1547, align 4, !tbaa !5
  %1549 = call ptr @s2n_strerror_debug(i32 noundef %1548, ptr noundef @.str.4)
  %1550 = call ptr @__errno_location() #11
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call ptr @strerror(i32 noundef %1551) #10
  %1553 = call ptr @__errno_location() #11
  %1554 = load i32, ptr %1553, align 4, !tbaa !5
  %1555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1542, ptr noundef @.str.5, i32 noundef %1543, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1546, ptr noundef %1549, ptr noundef %1552, i32 noundef %1554) #10
  br label %1556

1556:                                             ; preds = %1539, %1522
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #10
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

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

1559:                                             ; No predecessors!
  br label %1560

1560:                                             ; preds = %1559
  br label %1561

1561:                                             ; preds = %1560, %1503
  br label %1562

1562:                                             ; preds = %1561
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

1564:                                             ; preds = %1563
  %1565 = load i32, ptr @test_count, align 4, !tbaa !5
  %1566 = add nsw i32 %1565, 1
  store i32 %1566, ptr @test_count, align 4, !tbaa !5
  %1567 = getelementptr inbounds %struct.s2n_stuffer, ptr %28, i32 0, i32 2
  %1568 = load i32, ptr %1567, align 4, !tbaa !21
  %1569 = getelementptr inbounds %struct.s2n_stuffer, ptr %28, i32 0, i32 1
  %1570 = load i32, ptr %1569, align 8, !tbaa !23
  %1571 = sub i32 %1568, %1570
  %1572 = icmp eq i32 %1571, 0
  br i1 %1572, label %1626, label %1573

1573:                                             ; preds = %1564
  br label %1574

1574:                                             ; preds = %1573
  br label %1575

1575:                                             ; preds = %1574
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #10
  %1576 = call ptr @__errno_location() #11
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  store i32 %1577, ptr %31, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = call i32 @s2n_print_stacktrace(ptr noundef %1578)
  %1580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1581 = trunc i8 %1580 to i1
  br i1 %1581, label %1582, label %1604

1582:                                             ; preds = %1575
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = call i32 @fileno(ptr noundef %1583) #10
  %1585 = call i32 @isatty(i32 noundef %1584) #10
  %1586 = icmp ne i32 %1585, 0
  br i1 %1586, label %1587, label %1604

1587:                                             ; preds = %1582
  %1588 = load i32, ptr %31, align 4, !tbaa !5
  %1589 = call ptr @__errno_location() #11
  store i32 %1588, ptr %1589, align 4, !tbaa !5
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = load i32, ptr @test_count, align 4, !tbaa !5
  %1592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call ptr @s2n_strerror(i32 noundef %1593, ptr noundef @.str.4)
  %1595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1596 = load i32, ptr %1595, align 4, !tbaa !5
  %1597 = call ptr @s2n_strerror_debug(i32 noundef %1596, ptr noundef @.str.4)
  %1598 = call ptr @__errno_location() #11
  %1599 = load i32, ptr %1598, align 4, !tbaa !5
  %1600 = call ptr @strerror(i32 noundef %1599) #10
  %1601 = call ptr @__errno_location() #11
  %1602 = load i32, ptr %1601, align 4, !tbaa !5
  %1603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1590, ptr noundef @.str.2, i32 noundef %1591, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1594, ptr noundef %1597, ptr noundef %1600, i32 noundef %1602) #10
  br label %1621

1604:                                             ; preds = %1582, %1575
  %1605 = load i32, ptr %31, align 4, !tbaa !5
  %1606 = call ptr @__errno_location() #11
  store i32 %1605, ptr %1606, align 4, !tbaa !5
  %1607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1608 = load i32, ptr @test_count, align 4, !tbaa !5
  %1609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1610 = load i32, ptr %1609, align 4, !tbaa !5
  %1611 = call ptr @s2n_strerror(i32 noundef %1610, ptr noundef @.str.4)
  %1612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1613 = load i32, ptr %1612, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef @.str.4)
  %1615 = call ptr @__errno_location() #11
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @strerror(i32 noundef %1616) #10
  %1618 = call ptr @__errno_location() #11
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1607, ptr noundef @.str.5, i32 noundef %1608, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 119, ptr noundef %1611, ptr noundef %1614, ptr noundef %1617, i32 noundef %1619) #10
  br label %1621

1621:                                             ; preds = %1604, %1587
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #10
  br label %1622

1622:                                             ; preds = %1621
  br label %1623

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

1624:                                             ; No predecessors!
  br label %1625

1625:                                             ; preds = %1624
  br label %1626

1626:                                             ; preds = %1625, %1564
  br label %1627

1627:                                             ; preds = %1626
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  br label %1630

1630:                                             ; preds = %1629
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr @test_count, align 4, !tbaa !5
  %1633 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %27, i32 0, i32 0
  %1634 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %1633, i64 0, i64 0
  %1635 = call i32 @memcmp(ptr noundef %1634, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %1636 = icmp eq i32 %1635, 0
  br i1 %1636, label %1690, label %1637

1637:                                             ; preds = %1630
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

1639:                                             ; preds = %1638
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #10
  %1640 = call ptr @__errno_location() #11
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  store i32 %1641, ptr %32, align 4, !tbaa !5
  %1642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1643 = call i32 @s2n_print_stacktrace(ptr noundef %1642)
  %1644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1645 = trunc i8 %1644 to i1
  br i1 %1645, label %1646, label %1668

1646:                                             ; preds = %1639
  %1647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1648 = call i32 @fileno(ptr noundef %1647) #10
  %1649 = call i32 @isatty(i32 noundef %1648) #10
  %1650 = icmp ne i32 %1649, 0
  br i1 %1650, label %1651, label %1668

1651:                                             ; preds = %1646
  %1652 = load i32, ptr %32, align 4, !tbaa !5
  %1653 = call ptr @__errno_location() #11
  store i32 %1652, ptr %1653, align 4, !tbaa !5
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = load i32, ptr @test_count, align 4, !tbaa !5
  %1656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1657 = load i32, ptr %1656, align 4, !tbaa !5
  %1658 = call ptr @s2n_strerror(i32 noundef %1657, ptr noundef @.str.4)
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror_debug(i32 noundef %1660, ptr noundef @.str.4)
  %1662 = call ptr @__errno_location() #11
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @strerror(i32 noundef %1663) #10
  %1665 = call ptr @__errno_location() #11
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1654, ptr noundef @.str.2, i32 noundef %1655, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 120, ptr noundef %1658, ptr noundef %1661, ptr noundef %1664, i32 noundef %1666) #10
  br label %1685

1668:                                             ; preds = %1646, %1639
  %1669 = load i32, ptr %32, align 4, !tbaa !5
  %1670 = call ptr @__errno_location() #11
  store i32 %1669, ptr %1670, align 4, !tbaa !5
  %1671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1672 = load i32, ptr @test_count, align 4, !tbaa !5
  %1673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1674 = load i32, ptr %1673, align 4, !tbaa !5
  %1675 = call ptr @s2n_strerror(i32 noundef %1674, ptr noundef @.str.4)
  %1676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1677 = load i32, ptr %1676, align 4, !tbaa !5
  %1678 = call ptr @s2n_strerror_debug(i32 noundef %1677, ptr noundef @.str.4)
  %1679 = call ptr @__errno_location() #11
  %1680 = load i32, ptr %1679, align 4, !tbaa !5
  %1681 = call ptr @strerror(i32 noundef %1680) #10
  %1682 = call ptr @__errno_location() #11
  %1683 = load i32, ptr %1682, align 4, !tbaa !5
  %1684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1671, ptr noundef @.str.5, i32 noundef %1672, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 120, ptr noundef %1675, ptr noundef %1678, ptr noundef %1681, i32 noundef %1683) #10
  br label %1685

1685:                                             ; preds = %1668, %1651
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #10
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

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

1688:                                             ; No predecessors!
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689, %1630
  br label %1691

1691:                                             ; preds = %1690
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692
  br label %1694

1694:                                             ; preds = %1693
  br label %1695

1695:                                             ; preds = %1694
  %1696 = load i32, ptr @test_count, align 4, !tbaa !5
  %1697 = add nsw i32 %1696, 1
  store i32 %1697, ptr @test_count, align 4, !tbaa !5
  %1698 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %27, i32 0, i32 1
  %1699 = getelementptr inbounds %struct.s2n_blob, ptr %1698, i32 0, i32 0
  %1700 = load ptr, ptr %1699, align 8, !tbaa !24
  %1701 = getelementptr inbounds %struct.s2n_stuffer, ptr %28, i32 0, i32 0
  %1702 = getelementptr inbounds %struct.s2n_blob, ptr %1701, i32 0, i32 0
  %1703 = load ptr, ptr %1702, align 8, !tbaa !26
  %1704 = icmp eq ptr %1700, %1703
  br i1 %1704, label %1758, label %1705

1705:                                             ; preds = %1695
  br label %1706

1706:                                             ; preds = %1705
  br label %1707

1707:                                             ; preds = %1706
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #10
  %1708 = call ptr @__errno_location() #11
  %1709 = load i32, ptr %1708, align 4, !tbaa !5
  store i32 %1709, ptr %33, align 4, !tbaa !5
  %1710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1711 = call i32 @s2n_print_stacktrace(ptr noundef %1710)
  %1712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1713 = trunc i8 %1712 to i1
  br i1 %1713, label %1714, label %1736

1714:                                             ; preds = %1707
  %1715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1716 = call i32 @fileno(ptr noundef %1715) #10
  %1717 = call i32 @isatty(i32 noundef %1716) #10
  %1718 = icmp ne i32 %1717, 0
  br i1 %1718, label %1719, label %1736

1719:                                             ; preds = %1714
  %1720 = load i32, ptr %33, align 4, !tbaa !5
  %1721 = call ptr @__errno_location() #11
  store i32 %1720, ptr %1721, align 4, !tbaa !5
  %1722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1723 = load i32, ptr @test_count, align 4, !tbaa !5
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror(i32 noundef %1725, ptr noundef @.str.4)
  %1727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @s2n_strerror_debug(i32 noundef %1728, ptr noundef @.str.4)
  %1730 = call ptr @__errno_location() #11
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @strerror(i32 noundef %1731) #10
  %1733 = call ptr @__errno_location() #11
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1722, ptr noundef @.str.2, i32 noundef %1723, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1726, ptr noundef %1729, ptr noundef %1732, i32 noundef %1734) #10
  br label %1753

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

1753:                                             ; preds = %1736, %1719
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #10
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

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

1756:                                             ; No predecessors!
  br label %1757

1757:                                             ; preds = %1756
  br label %1758

1758:                                             ; preds = %1757, %1695
  br label %1759

1759:                                             ; preds = %1758
  br label %1760

1760:                                             ; preds = %1759
  br label %1761

1761:                                             ; preds = %1760
  %1762 = load i32, ptr @test_count, align 4, !tbaa !5
  %1763 = add nsw i32 %1762, 1
  store i32 %1763, ptr @test_count, align 4, !tbaa !5
  %1764 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %27, i32 0, i32 1
  %1765 = getelementptr inbounds %struct.s2n_blob, ptr %1764, i32 0, i32 1
  %1766 = load i32, ptr %1765, align 8, !tbaa !27
  %1767 = icmp eq i32 %1766, 0
  br i1 %1767, label %1821, label %1768

1768:                                             ; preds = %1761
  br label %1769

1769:                                             ; preds = %1768
  br label %1770

1770:                                             ; preds = %1769
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #10
  %1771 = call ptr @__errno_location() #11
  %1772 = load i32, ptr %1771, align 4, !tbaa !5
  store i32 %1772, ptr %34, align 4, !tbaa !5
  %1773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1774 = call i32 @s2n_print_stacktrace(ptr noundef %1773)
  %1775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1776 = trunc i8 %1775 to i1
  br i1 %1776, label %1777, label %1799

1777:                                             ; preds = %1770
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = call i32 @fileno(ptr noundef %1778) #10
  %1780 = call i32 @isatty(i32 noundef %1779) #10
  %1781 = icmp ne i32 %1780, 0
  br i1 %1781, label %1782, label %1799

1782:                                             ; preds = %1777
  %1783 = load i32, ptr %34, align 4, !tbaa !5
  %1784 = call ptr @__errno_location() #11
  store i32 %1783, ptr %1784, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror(i32 noundef %1788, ptr noundef @.str.4)
  %1790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call ptr @s2n_strerror_debug(i32 noundef %1791, ptr noundef @.str.4)
  %1793 = call ptr @__errno_location() #11
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  %1795 = call ptr @strerror(i32 noundef %1794) #10
  %1796 = call ptr @__errno_location() #11
  %1797 = load i32, ptr %1796, align 4, !tbaa !5
  %1798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef @.str.2, i32 noundef %1786, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 123, ptr noundef %1789, ptr noundef %1792, ptr noundef %1795, i32 noundef %1797) #10
  br label %1816

1799:                                             ; preds = %1777, %1770
  %1800 = load i32, ptr %34, align 4, !tbaa !5
  %1801 = call ptr @__errno_location() #11
  store i32 %1800, ptr %1801, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1805 = load i32, ptr %1804, align 4, !tbaa !5
  %1806 = call ptr @s2n_strerror(i32 noundef %1805, ptr noundef @.str.4)
  %1807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call ptr @s2n_strerror_debug(i32 noundef %1808, ptr noundef @.str.4)
  %1810 = call ptr @__errno_location() #11
  %1811 = load i32, ptr %1810, align 4, !tbaa !5
  %1812 = call ptr @strerror(i32 noundef %1811) #10
  %1813 = call ptr @__errno_location() #11
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  %1815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef @.str.5, i32 noundef %1803, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 123, ptr noundef %1806, ptr noundef %1809, ptr noundef %1812, i32 noundef %1814) #10
  br label %1816

1816:                                             ; preds = %1799, %1782
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #10
  br label %1817

1817:                                             ; preds = %1816
  br label %1818

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

1819:                                             ; No predecessors!
  br label %1820

1820:                                             ; preds = %1819
  br label %1821

1821:                                             ; preds = %1820, %1761
  br label %1822

1822:                                             ; preds = %1821
  br label %1823

1823:                                             ; preds = %1822
  br label %1824

1824:                                             ; preds = %1823
  %1825 = load i32, ptr @test_count, align 4, !tbaa !5
  %1826 = add nsw i32 %1825, 1
  store i32 %1826, ptr @test_count, align 4, !tbaa !5
  %1827 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %27, i32 0, i32 2
  %1828 = load i16, ptr %1827, align 8, !tbaa !28
  %1829 = zext i16 %1828 to i32
  %1830 = icmp eq i32 %1829, 0
  br i1 %1830, label %1884, label %1831

1831:                                             ; preds = %1824
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

1833:                                             ; preds = %1832
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #10
  %1834 = call ptr @__errno_location() #11
  %1835 = load i32, ptr %1834, align 4, !tbaa !5
  store i32 %1835, ptr %35, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @s2n_print_stacktrace(ptr noundef %1836)
  %1838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1839 = trunc i8 %1838 to i1
  br i1 %1839, label %1840, label %1862

1840:                                             ; preds = %1833
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = call i32 @fileno(ptr noundef %1841) #10
  %1843 = call i32 @isatty(i32 noundef %1842) #10
  %1844 = icmp ne i32 %1843, 0
  br i1 %1844, label %1845, label %1862

1845:                                             ; preds = %1840
  %1846 = load i32, ptr %35, align 4, !tbaa !5
  %1847 = call ptr @__errno_location() #11
  store i32 %1846, ptr %1847, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror(i32 noundef %1851, ptr noundef @.str.4)
  %1853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1854 = load i32, ptr %1853, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror_debug(i32 noundef %1854, ptr noundef @.str.4)
  %1856 = call ptr @__errno_location() #11
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  %1858 = call ptr @strerror(i32 noundef %1857) #10
  %1859 = call ptr @__errno_location() #11
  %1860 = load i32, ptr %1859, align 4, !tbaa !5
  %1861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1848, ptr noundef @.str.2, i32 noundef %1849, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %1852, ptr noundef %1855, ptr noundef %1858, i32 noundef %1860) #10
  br label %1879

1862:                                             ; preds = %1840, %1833
  %1863 = load i32, ptr %35, align 4, !tbaa !5
  %1864 = call ptr @__errno_location() #11
  store i32 %1863, ptr %1864, align 4, !tbaa !5
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = load i32, ptr @test_count, align 4, !tbaa !5
  %1867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  %1869 = call ptr @s2n_strerror(i32 noundef %1868, ptr noundef @.str.4)
  %1870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1871 = load i32, ptr %1870, align 4, !tbaa !5
  %1872 = call ptr @s2n_strerror_debug(i32 noundef %1871, ptr noundef @.str.4)
  %1873 = call ptr @__errno_location() #11
  %1874 = load i32, ptr %1873, align 4, !tbaa !5
  %1875 = call ptr @strerror(i32 noundef %1874) #10
  %1876 = call ptr @__errno_location() #11
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1865, ptr noundef @.str.5, i32 noundef %1866, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 124, ptr noundef %1869, ptr noundef %1872, ptr noundef %1875, i32 noundef %1877) #10
  br label %1879

1879:                                             ; preds = %1862, %1845
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #10
  br label %1880

1880:                                             ; preds = %1879
  br label %1881

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

1882:                                             ; No predecessors!
  br label %1883

1883:                                             ; preds = %1882
  br label %1884

1884:                                             ; preds = %1883, %1824
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885
  br label %1887

1887:                                             ; preds = %1886
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = add nsw i32 %1888, 1
  store i32 %1889, ptr @test_count, align 4, !tbaa !5
  %1890 = call i32 @s2n_stuffer_free(ptr noundef %28)
  %1891 = icmp eq i32 %1890, -1
  br i1 %1891, label %1892, label %1945

1892:                                             ; preds = %1887
  br label %1893

1893:                                             ; preds = %1892
  br label %1894

1894:                                             ; preds = %1893
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #10
  %1895 = call ptr @__errno_location() #11
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  store i32 %1896, ptr %36, align 4, !tbaa !5
  %1897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1898 = call i32 @s2n_print_stacktrace(ptr noundef %1897)
  %1899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1900 = trunc i8 %1899 to i1
  br i1 %1900, label %1901, label %1923

1901:                                             ; preds = %1894
  %1902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1903 = call i32 @fileno(ptr noundef %1902) #10
  %1904 = call i32 @isatty(i32 noundef %1903) #10
  %1905 = icmp ne i32 %1904, 0
  br i1 %1905, label %1906, label %1923

1906:                                             ; preds = %1901
  %1907 = load i32, ptr %36, align 4, !tbaa !5
  %1908 = call ptr @__errno_location() #11
  store i32 %1907, ptr %1908, align 4, !tbaa !5
  %1909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1912 = load i32, ptr %1911, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef @.str.4)
  %1914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1915 = load i32, ptr %1914, align 4, !tbaa !5
  %1916 = call ptr @s2n_strerror_debug(i32 noundef %1915, ptr noundef @.str.4)
  %1917 = call ptr @__errno_location() #11
  %1918 = load i32, ptr %1917, align 4, !tbaa !5
  %1919 = call ptr @strerror(i32 noundef %1918) #10
  %1920 = call ptr @__errno_location() #11
  %1921 = load i32, ptr %1920, align 4, !tbaa !5
  %1922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1909, ptr noundef @.str.2, i32 noundef %1910, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1913, ptr noundef %1916, ptr noundef %1919, i32 noundef %1921) #10
  br label %1940

1923:                                             ; preds = %1901, %1894
  %1924 = load i32, ptr %36, align 4, !tbaa !5
  %1925 = call ptr @__errno_location() #11
  store i32 %1924, ptr %1925, align 4, !tbaa !5
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = load i32, ptr @test_count, align 4, !tbaa !5
  %1928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1929 = load i32, ptr %1928, align 4, !tbaa !5
  %1930 = call ptr @s2n_strerror(i32 noundef %1929, ptr noundef @.str.4)
  %1931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror_debug(i32 noundef %1932, ptr noundef @.str.4)
  %1934 = call ptr @__errno_location() #11
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call ptr @strerror(i32 noundef %1935) #10
  %1937 = call ptr @__errno_location() #11
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  %1939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1926, ptr noundef @.str.5, i32 noundef %1927, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1930, ptr noundef %1933, ptr noundef %1936, i32 noundef %1938) #10
  br label %1940

1940:                                             ; preds = %1923, %1906
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #10
  br label %1941

1941:                                             ; preds = %1940
  br label %1942

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

1943:                                             ; No predecessors!
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944, %1887
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %27) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %37) #10
  call void @llvm.memset.p0.i64(ptr align 8 %37, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %38) #10
  call void @llvm.memset.p0.i64(ptr align 8 %38, i8 0, i64 40, i1 false)
  br label %1948

1948:                                             ; preds = %1947
  %1949 = load i32, ptr @test_count, align 4, !tbaa !5
  %1950 = add nsw i32 %1949, 1
  store i32 %1950, ptr @test_count, align 4, !tbaa !5
  %1951 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %38, i32 noundef 0)
  %1952 = icmp eq i32 %1951, -1
  br i1 %1952, label %1953, label %2006

1953:                                             ; preds = %1948
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #10
  %1956 = call ptr @__errno_location() #11
  %1957 = load i32, ptr %1956, align 4, !tbaa !5
  store i32 %1957, ptr %39, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @s2n_print_stacktrace(ptr noundef %1958)
  %1960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1961 = trunc i8 %1960 to i1
  br i1 %1961, label %1962, label %1984

1962:                                             ; preds = %1955
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = call i32 @fileno(ptr noundef %1963) #10
  %1965 = call i32 @isatty(i32 noundef %1964) #10
  %1966 = icmp ne i32 %1965, 0
  br i1 %1966, label %1967, label %1984

1967:                                             ; preds = %1962
  %1968 = load i32, ptr %39, align 4, !tbaa !5
  %1969 = call ptr @__errno_location() #11
  store i32 %1968, ptr %1969, align 4, !tbaa !5
  %1970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1971 = load i32, ptr @test_count, align 4, !tbaa !5
  %1972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1973 = load i32, ptr %1972, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef @.str.4)
  %1975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = call ptr @s2n_strerror_debug(i32 noundef %1976, ptr noundef @.str.4)
  %1978 = call ptr @__errno_location() #11
  %1979 = load i32, ptr %1978, align 4, !tbaa !5
  %1980 = call ptr @strerror(i32 noundef %1979) #10
  %1981 = call ptr @__errno_location() #11
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  %1983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1970, ptr noundef @.str.2, i32 noundef %1971, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1974, ptr noundef %1977, ptr noundef %1980, i32 noundef %1982) #10
  br label %2001

1984:                                             ; preds = %1962, %1955
  %1985 = load i32, ptr %39, align 4, !tbaa !5
  %1986 = call ptr @__errno_location() #11
  store i32 %1985, ptr %1986, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror(i32 noundef %1990, ptr noundef @.str.4)
  %1992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1993 = load i32, ptr %1992, align 4, !tbaa !5
  %1994 = call ptr @s2n_strerror_debug(i32 noundef %1993, ptr noundef @.str.4)
  %1995 = call ptr @__errno_location() #11
  %1996 = load i32, ptr %1995, align 4, !tbaa !5
  %1997 = call ptr @strerror(i32 noundef %1996) #10
  %1998 = call ptr @__errno_location() #11
  %1999 = load i32, ptr %1998, align 4, !tbaa !5
  %2000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef @.str.5, i32 noundef %1988, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 133, ptr noundef %1991, ptr noundef %1994, ptr noundef %1997, i32 noundef %1999) #10
  br label %2001

2001:                                             ; preds = %1984, %1967
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #10
  br label %2002

2002:                                             ; preds = %2001
  br label %2003

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

2004:                                             ; No predecessors!
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

2006:                                             ; preds = %2005, %1948
  br label %2007

2007:                                             ; preds = %2006
  br label %2008

2008:                                             ; preds = %2007
  br label %2009

2009:                                             ; preds = %2008
  %2010 = load i32, ptr @test_count, align 4, !tbaa !5
  %2011 = add nsw i32 %2010, 1
  store i32 %2011, ptr @test_count, align 4, !tbaa !5
  %2012 = call i32 @s2n_stuffer_write_uint16(ptr noundef %38, i16 noundef zeroext 0)
  %2013 = icmp eq i32 %2012, -1
  br i1 %2013, label %2014, label %2067

2014:                                             ; preds = %2009
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

2016:                                             ; preds = %2015
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #10
  %2017 = call ptr @__errno_location() #11
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  store i32 %2018, ptr %40, align 4, !tbaa !5
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = call i32 @s2n_print_stacktrace(ptr noundef %2019)
  %2021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2022 = trunc i8 %2021 to i1
  br i1 %2022, label %2023, label %2045

2023:                                             ; preds = %2016
  %2024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2025 = call i32 @fileno(ptr noundef %2024) #10
  %2026 = call i32 @isatty(i32 noundef %2025) #10
  %2027 = icmp ne i32 %2026, 0
  br i1 %2027, label %2028, label %2045

2028:                                             ; preds = %2023
  %2029 = load i32, ptr %40, align 4, !tbaa !5
  %2030 = call ptr @__errno_location() #11
  store i32 %2029, ptr %2030, align 4, !tbaa !5
  %2031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2032 = load i32, ptr @test_count, align 4, !tbaa !5
  %2033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2034 = load i32, ptr %2033, align 4, !tbaa !5
  %2035 = call ptr @s2n_strerror(i32 noundef %2034, ptr noundef @.str.4)
  %2036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2037 = load i32, ptr %2036, align 4, !tbaa !5
  %2038 = call ptr @s2n_strerror_debug(i32 noundef %2037, ptr noundef @.str.4)
  %2039 = call ptr @__errno_location() #11
  %2040 = load i32, ptr %2039, align 4, !tbaa !5
  %2041 = call ptr @strerror(i32 noundef %2040) #10
  %2042 = call ptr @__errno_location() #11
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  %2044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2031, ptr noundef @.str.2, i32 noundef %2032, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2035, ptr noundef %2038, ptr noundef %2041, i32 noundef %2043) #10
  br label %2062

2045:                                             ; preds = %2023, %2016
  %2046 = load i32, ptr %40, align 4, !tbaa !5
  %2047 = call ptr @__errno_location() #11
  store i32 %2046, ptr %2047, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = load i32, ptr @test_count, align 4, !tbaa !5
  %2050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2051 = load i32, ptr %2050, align 4, !tbaa !5
  %2052 = call ptr @s2n_strerror(i32 noundef %2051, ptr noundef @.str.4)
  %2053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2054 = load i32, ptr %2053, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror_debug(i32 noundef %2054, ptr noundef @.str.4)
  %2056 = call ptr @__errno_location() #11
  %2057 = load i32, ptr %2056, align 4, !tbaa !5
  %2058 = call ptr @strerror(i32 noundef %2057) #10
  %2059 = call ptr @__errno_location() #11
  %2060 = load i32, ptr %2059, align 4, !tbaa !5
  %2061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2048, ptr noundef @.str.5, i32 noundef %2049, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2052, ptr noundef %2055, ptr noundef %2058, i32 noundef %2060) #10
  br label %2062

2062:                                             ; preds = %2045, %2028
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #10
  br label %2063

2063:                                             ; preds = %2062
  br label %2064

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

2065:                                             ; No predecessors!
  br label %2066

2066:                                             ; preds = %2065
  br label %2067

2067:                                             ; preds = %2066, %2009
  br label %2068

2068:                                             ; preds = %2067
  br label %2069

2069:                                             ; preds = %2068
  br label %2070

2070:                                             ; preds = %2069
  %2071 = load i32, ptr @test_count, align 4, !tbaa !5
  %2072 = add nsw i32 %2071, 1
  store i32 %2072, ptr @test_count, align 4, !tbaa !5
  %2073 = call i32 @s2n_extension_list_parse(ptr noundef %38, ptr noundef %37)
  %2074 = icmp eq i32 %2073, -1
  br i1 %2074, label %2075, label %2128

2075:                                             ; preds = %2070
  br label %2076

2076:                                             ; preds = %2075
  br label %2077

2077:                                             ; preds = %2076
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #10
  %2078 = call ptr @__errno_location() #11
  %2079 = load i32, ptr %2078, align 4, !tbaa !5
  store i32 %2079, ptr %41, align 4, !tbaa !5
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = call i32 @s2n_print_stacktrace(ptr noundef %2080)
  %2082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2083 = trunc i8 %2082 to i1
  br i1 %2083, label %2084, label %2106

2084:                                             ; preds = %2077
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = call i32 @fileno(ptr noundef %2085) #10
  %2087 = call i32 @isatty(i32 noundef %2086) #10
  %2088 = icmp ne i32 %2087, 0
  br i1 %2088, label %2089, label %2106

2089:                                             ; preds = %2084
  %2090 = load i32, ptr %41, align 4, !tbaa !5
  %2091 = call ptr @__errno_location() #11
  store i32 %2090, ptr %2091, align 4, !tbaa !5
  %2092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2093 = load i32, ptr @test_count, align 4, !tbaa !5
  %2094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2095 = load i32, ptr %2094, align 4, !tbaa !5
  %2096 = call ptr @s2n_strerror(i32 noundef %2095, ptr noundef @.str.4)
  %2097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2098 = load i32, ptr %2097, align 4, !tbaa !5
  %2099 = call ptr @s2n_strerror_debug(i32 noundef %2098, ptr noundef @.str.4)
  %2100 = call ptr @__errno_location() #11
  %2101 = load i32, ptr %2100, align 4, !tbaa !5
  %2102 = call ptr @strerror(i32 noundef %2101) #10
  %2103 = call ptr @__errno_location() #11
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2092, ptr noundef @.str.2, i32 noundef %2093, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2096, ptr noundef %2099, ptr noundef %2102, i32 noundef %2104) #10
  br label %2123

2106:                                             ; preds = %2084, %2077
  %2107 = load i32, ptr %41, align 4, !tbaa !5
  %2108 = call ptr @__errno_location() #11
  store i32 %2107, ptr %2108, align 4, !tbaa !5
  %2109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2110 = load i32, ptr @test_count, align 4, !tbaa !5
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror(i32 noundef %2112, ptr noundef @.str.4)
  %2114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror_debug(i32 noundef %2115, ptr noundef @.str.4)
  %2117 = call ptr @__errno_location() #11
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @strerror(i32 noundef %2118) #10
  %2120 = call ptr @__errno_location() #11
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2109, ptr noundef @.str.5, i32 noundef %2110, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2113, ptr noundef %2116, ptr noundef %2119, i32 noundef %2121) #10
  br label %2123

2123:                                             ; preds = %2106, %2089
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #10
  br label %2124

2124:                                             ; preds = %2123
  br label %2125

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

2126:                                             ; No predecessors!
  br label %2127

2127:                                             ; preds = %2126
  br label %2128

2128:                                             ; preds = %2127, %2070
  br label %2129

2129:                                             ; preds = %2128
  br label %2130

2130:                                             ; preds = %2129
  br label %2131

2131:                                             ; preds = %2130
  %2132 = load i32, ptr @test_count, align 4, !tbaa !5
  %2133 = add nsw i32 %2132, 1
  store i32 %2133, ptr @test_count, align 4, !tbaa !5
  %2134 = getelementptr inbounds %struct.s2n_stuffer, ptr %38, i32 0, i32 2
  %2135 = load i32, ptr %2134, align 4, !tbaa !21
  %2136 = getelementptr inbounds %struct.s2n_stuffer, ptr %38, i32 0, i32 1
  %2137 = load i32, ptr %2136, align 8, !tbaa !23
  %2138 = sub i32 %2135, %2137
  %2139 = icmp eq i32 %2138, 0
  br i1 %2139, label %2193, label %2140

2140:                                             ; preds = %2131
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #10
  %2143 = call ptr @__errno_location() #11
  %2144 = load i32, ptr %2143, align 4, !tbaa !5
  store i32 %2144, ptr %42, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @s2n_print_stacktrace(ptr noundef %2145)
  %2147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2148 = trunc i8 %2147 to i1
  br i1 %2148, label %2149, label %2171

2149:                                             ; preds = %2142
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @fileno(ptr noundef %2150) #10
  %2152 = call i32 @isatty(i32 noundef %2151) #10
  %2153 = icmp ne i32 %2152, 0
  br i1 %2153, label %2154, label %2171

2154:                                             ; preds = %2149
  %2155 = load i32, ptr %42, align 4, !tbaa !5
  %2156 = call ptr @__errno_location() #11
  store i32 %2155, ptr %2156, align 4, !tbaa !5
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2158 = load i32, ptr @test_count, align 4, !tbaa !5
  %2159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @s2n_strerror(i32 noundef %2160, ptr noundef @.str.4)
  %2162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call ptr @s2n_strerror_debug(i32 noundef %2163, ptr noundef @.str.4)
  %2165 = call ptr @__errno_location() #11
  %2166 = load i32, ptr %2165, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #10
  %2168 = call ptr @__errno_location() #11
  %2169 = load i32, ptr %2168, align 4, !tbaa !5
  %2170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef @.str.2, i32 noundef %2158, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2161, ptr noundef %2164, ptr noundef %2167, i32 noundef %2169) #10
  br label %2188

2171:                                             ; preds = %2149, %2142
  %2172 = load i32, ptr %42, align 4, !tbaa !5
  %2173 = call ptr @__errno_location() #11
  store i32 %2172, ptr %2173, align 4, !tbaa !5
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = load i32, ptr @test_count, align 4, !tbaa !5
  %2176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call ptr @s2n_strerror(i32 noundef %2177, ptr noundef @.str.4)
  %2179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2180 = load i32, ptr %2179, align 4, !tbaa !5
  %2181 = call ptr @s2n_strerror_debug(i32 noundef %2180, ptr noundef @.str.4)
  %2182 = call ptr @__errno_location() #11
  %2183 = load i32, ptr %2182, align 4, !tbaa !5
  %2184 = call ptr @strerror(i32 noundef %2183) #10
  %2185 = call ptr @__errno_location() #11
  %2186 = load i32, ptr %2185, align 4, !tbaa !5
  %2187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2174, ptr noundef @.str.5, i32 noundef %2175, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2178, ptr noundef %2181, ptr noundef %2184, i32 noundef %2186) #10
  br label %2188

2188:                                             ; preds = %2171, %2154
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #10
  br label %2189

2189:                                             ; preds = %2188
  br label %2190

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

2191:                                             ; No predecessors!
  br label %2192

2192:                                             ; preds = %2191
  br label %2193

2193:                                             ; preds = %2192, %2131
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

2195:                                             ; preds = %2194
  br label %2196

2196:                                             ; preds = %2195
  br label %2197

2197:                                             ; preds = %2196
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = add nsw i32 %2198, 1
  store i32 %2199, ptr @test_count, align 4, !tbaa !5
  %2200 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %37, i32 0, i32 0
  %2201 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %2200, i64 0, i64 0
  %2202 = call i32 @memcmp(ptr noundef %2201, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %2203 = icmp eq i32 %2202, 0
  br i1 %2203, label %2257, label %2204

2204:                                             ; preds = %2197
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

2206:                                             ; preds = %2205
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #10
  %2207 = call ptr @__errno_location() #11
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  store i32 %2208, ptr %43, align 4, !tbaa !5
  %2209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2210 = call i32 @s2n_print_stacktrace(ptr noundef %2209)
  %2211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2212 = trunc i8 %2211 to i1
  br i1 %2212, label %2213, label %2235

2213:                                             ; preds = %2206
  %2214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2215 = call i32 @fileno(ptr noundef %2214) #10
  %2216 = call i32 @isatty(i32 noundef %2215) #10
  %2217 = icmp ne i32 %2216, 0
  br i1 %2217, label %2218, label %2235

2218:                                             ; preds = %2213
  %2219 = load i32, ptr %43, align 4, !tbaa !5
  %2220 = call ptr @__errno_location() #11
  store i32 %2219, ptr %2220, align 4, !tbaa !5
  %2221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2224 = load i32, ptr %2223, align 4, !tbaa !5
  %2225 = call ptr @s2n_strerror(i32 noundef %2224, ptr noundef @.str.4)
  %2226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2227 = load i32, ptr %2226, align 4, !tbaa !5
  %2228 = call ptr @s2n_strerror_debug(i32 noundef %2227, ptr noundef @.str.4)
  %2229 = call ptr @__errno_location() #11
  %2230 = load i32, ptr %2229, align 4, !tbaa !5
  %2231 = call ptr @strerror(i32 noundef %2230) #10
  %2232 = call ptr @__errno_location() #11
  %2233 = load i32, ptr %2232, align 4, !tbaa !5
  %2234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2221, ptr noundef @.str.2, i32 noundef %2222, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2225, ptr noundef %2228, ptr noundef %2231, i32 noundef %2233) #10
  br label %2252

2235:                                             ; preds = %2213, %2206
  %2236 = load i32, ptr %43, align 4, !tbaa !5
  %2237 = call ptr @__errno_location() #11
  store i32 %2236, ptr %2237, align 4, !tbaa !5
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = load i32, ptr @test_count, align 4, !tbaa !5
  %2240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2241 = load i32, ptr %2240, align 4, !tbaa !5
  %2242 = call ptr @s2n_strerror(i32 noundef %2241, ptr noundef @.str.4)
  %2243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef @.str.4)
  %2246 = call ptr @__errno_location() #11
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call ptr @strerror(i32 noundef %2247) #10
  %2249 = call ptr @__errno_location() #11
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2238, ptr noundef @.str.5, i32 noundef %2239, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2242, ptr noundef %2245, ptr noundef %2248, i32 noundef %2250) #10
  br label %2252

2252:                                             ; preds = %2235, %2218
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #10
  br label %2253

2253:                                             ; preds = %2252
  br label %2254

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

2255:                                             ; No predecessors!
  br label %2256

2256:                                             ; preds = %2255
  br label %2257

2257:                                             ; preds = %2256, %2197
  br label %2258

2258:                                             ; preds = %2257
  br label %2259

2259:                                             ; preds = %2258
  br label %2260

2260:                                             ; preds = %2259
  br label %2261

2261:                                             ; preds = %2260
  br label %2262

2262:                                             ; preds = %2261
  %2263 = load i32, ptr @test_count, align 4, !tbaa !5
  %2264 = add nsw i32 %2263, 1
  store i32 %2264, ptr @test_count, align 4, !tbaa !5
  %2265 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %37, i32 0, i32 1
  %2266 = getelementptr inbounds %struct.s2n_blob, ptr %2265, i32 0, i32 0
  %2267 = load ptr, ptr %2266, align 8, !tbaa !24
  %2268 = getelementptr inbounds %struct.s2n_stuffer, ptr %38, i32 0, i32 0
  %2269 = getelementptr inbounds %struct.s2n_blob, ptr %2268, i32 0, i32 0
  %2270 = load ptr, ptr %2269, align 8, !tbaa !26
  %2271 = getelementptr inbounds i8, ptr %2270, i64 2
  %2272 = icmp eq ptr %2267, %2271
  br i1 %2272, label %2326, label %2273

2273:                                             ; preds = %2262
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

2275:                                             ; preds = %2274
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #10
  %2276 = call ptr @__errno_location() #11
  %2277 = load i32, ptr %2276, align 4, !tbaa !5
  store i32 %2277, ptr %44, align 4, !tbaa !5
  %2278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2279 = call i32 @s2n_print_stacktrace(ptr noundef %2278)
  %2280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2281 = trunc i8 %2280 to i1
  br i1 %2281, label %2282, label %2304

2282:                                             ; preds = %2275
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @fileno(ptr noundef %2283) #10
  %2285 = call i32 @isatty(i32 noundef %2284) #10
  %2286 = icmp ne i32 %2285, 0
  br i1 %2286, label %2287, label %2304

2287:                                             ; preds = %2282
  %2288 = load i32, ptr %44, align 4, !tbaa !5
  %2289 = call ptr @__errno_location() #11
  store i32 %2288, ptr %2289, align 4, !tbaa !5
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2291 = load i32, ptr @test_count, align 4, !tbaa !5
  %2292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2293 = load i32, ptr %2292, align 4, !tbaa !5
  %2294 = call ptr @s2n_strerror(i32 noundef %2293, ptr noundef @.str.4)
  %2295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2296 = load i32, ptr %2295, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror_debug(i32 noundef %2296, ptr noundef @.str.4)
  %2298 = call ptr @__errno_location() #11
  %2299 = load i32, ptr %2298, align 4, !tbaa !5
  %2300 = call ptr @strerror(i32 noundef %2299) #10
  %2301 = call ptr @__errno_location() #11
  %2302 = load i32, ptr %2301, align 4, !tbaa !5
  %2303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2290, ptr noundef @.str.2, i32 noundef %2291, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2294, ptr noundef %2297, ptr noundef %2300, i32 noundef %2302) #10
  br label %2321

2304:                                             ; preds = %2282, %2275
  %2305 = load i32, ptr %44, align 4, !tbaa !5
  %2306 = call ptr @__errno_location() #11
  store i32 %2305, ptr %2306, align 4, !tbaa !5
  %2307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2308 = load i32, ptr @test_count, align 4, !tbaa !5
  %2309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2310 = load i32, ptr %2309, align 4, !tbaa !5
  %2311 = call ptr @s2n_strerror(i32 noundef %2310, ptr noundef @.str.4)
  %2312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror_debug(i32 noundef %2313, ptr noundef @.str.4)
  %2315 = call ptr @__errno_location() #11
  %2316 = load i32, ptr %2315, align 4, !tbaa !5
  %2317 = call ptr @strerror(i32 noundef %2316) #10
  %2318 = call ptr @__errno_location() #11
  %2319 = load i32, ptr %2318, align 4, !tbaa !5
  %2320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2307, ptr noundef @.str.5, i32 noundef %2308, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2311, ptr noundef %2314, ptr noundef %2317, i32 noundef %2319) #10
  br label %2321

2321:                                             ; preds = %2304, %2287
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #10
  br label %2322

2322:                                             ; preds = %2321
  br label %2323

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

2324:                                             ; No predecessors!
  br label %2325

2325:                                             ; preds = %2324
  br label %2326

2326:                                             ; preds = %2325, %2262
  br label %2327

2327:                                             ; preds = %2326
  br label %2328

2328:                                             ; preds = %2327
  br label %2329

2329:                                             ; preds = %2328
  %2330 = load i32, ptr @test_count, align 4, !tbaa !5
  %2331 = add nsw i32 %2330, 1
  store i32 %2331, ptr @test_count, align 4, !tbaa !5
  %2332 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %37, i32 0, i32 1
  %2333 = getelementptr inbounds %struct.s2n_blob, ptr %2332, i32 0, i32 1
  %2334 = load i32, ptr %2333, align 8, !tbaa !27
  %2335 = zext i32 %2334 to i64
  %2336 = getelementptr inbounds %struct.s2n_stuffer, ptr %38, i32 0, i32 3
  %2337 = load i32, ptr %2336, align 8, !tbaa !29
  %2338 = zext i32 %2337 to i64
  %2339 = sub i64 %2338, 2
  %2340 = icmp eq i64 %2335, %2339
  br i1 %2340, label %2394, label %2341

2341:                                             ; preds = %2329
  br label %2342

2342:                                             ; preds = %2341
  br label %2343

2343:                                             ; preds = %2342
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #10
  %2344 = call ptr @__errno_location() #11
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  store i32 %2345, ptr %45, align 4, !tbaa !5
  %2346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2347 = call i32 @s2n_print_stacktrace(ptr noundef %2346)
  %2348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2349 = trunc i8 %2348 to i1
  br i1 %2349, label %2350, label %2372

2350:                                             ; preds = %2343
  %2351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2352 = call i32 @fileno(ptr noundef %2351) #10
  %2353 = call i32 @isatty(i32 noundef %2352) #10
  %2354 = icmp ne i32 %2353, 0
  br i1 %2354, label %2355, label %2372

2355:                                             ; preds = %2350
  %2356 = load i32, ptr %45, align 4, !tbaa !5
  %2357 = call ptr @__errno_location() #11
  store i32 %2356, ptr %2357, align 4, !tbaa !5
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror(i32 noundef %2361, ptr noundef @.str.4)
  %2363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @s2n_strerror_debug(i32 noundef %2364, ptr noundef @.str.4)
  %2366 = call ptr @__errno_location() #11
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @strerror(i32 noundef %2367) #10
  %2369 = call ptr @__errno_location() #11
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2358, ptr noundef @.str.2, i32 noundef %2359, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2362, ptr noundef %2365, ptr noundef %2368, i32 noundef %2370) #10
  br label %2389

2372:                                             ; preds = %2350, %2343
  %2373 = load i32, ptr %45, align 4, !tbaa !5
  %2374 = call ptr @__errno_location() #11
  store i32 %2373, ptr %2374, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror(i32 noundef %2378, ptr noundef @.str.4)
  %2380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  %2382 = call ptr @s2n_strerror_debug(i32 noundef %2381, ptr noundef @.str.4)
  %2383 = call ptr @__errno_location() #11
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #10
  %2386 = call ptr @__errno_location() #11
  %2387 = load i32, ptr %2386, align 4, !tbaa !5
  %2388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2375, ptr noundef @.str.5, i32 noundef %2376, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 142, ptr noundef %2379, ptr noundef %2382, ptr noundef %2385, i32 noundef %2387) #10
  br label %2389

2389:                                             ; preds = %2372, %2355
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #10
  br label %2390

2390:                                             ; preds = %2389
  br label %2391

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

2392:                                             ; No predecessors!
  br label %2393

2393:                                             ; preds = %2392
  br label %2394

2394:                                             ; preds = %2393, %2329
  br label %2395

2395:                                             ; preds = %2394
  br label %2396

2396:                                             ; preds = %2395
  br label %2397

2397:                                             ; preds = %2396
  %2398 = load i32, ptr @test_count, align 4, !tbaa !5
  %2399 = add nsw i32 %2398, 1
  store i32 %2399, ptr @test_count, align 4, !tbaa !5
  %2400 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %37, i32 0, i32 1
  %2401 = getelementptr inbounds %struct.s2n_blob, ptr %2400, i32 0, i32 1
  %2402 = load i32, ptr %2401, align 8, !tbaa !27
  %2403 = icmp eq i32 %2402, 0
  br i1 %2403, label %2457, label %2404

2404:                                             ; preds = %2397
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

2406:                                             ; preds = %2405
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #10
  %2407 = call ptr @__errno_location() #11
  %2408 = load i32, ptr %2407, align 4, !tbaa !5
  store i32 %2408, ptr %46, align 4, !tbaa !5
  %2409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2410 = call i32 @s2n_print_stacktrace(ptr noundef %2409)
  %2411 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2412 = trunc i8 %2411 to i1
  br i1 %2412, label %2413, label %2435

2413:                                             ; preds = %2406
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2415 = call i32 @fileno(ptr noundef %2414) #10
  %2416 = call i32 @isatty(i32 noundef %2415) #10
  %2417 = icmp ne i32 %2416, 0
  br i1 %2417, label %2418, label %2435

2418:                                             ; preds = %2413
  %2419 = load i32, ptr %46, align 4, !tbaa !5
  %2420 = call ptr @__errno_location() #11
  store i32 %2419, ptr %2420, align 4, !tbaa !5
  %2421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2422 = load i32, ptr @test_count, align 4, !tbaa !5
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror(i32 noundef %2424, ptr noundef @.str.4)
  %2426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @s2n_strerror_debug(i32 noundef %2427, ptr noundef @.str.4)
  %2429 = call ptr @__errno_location() #11
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call ptr @strerror(i32 noundef %2430) #10
  %2432 = call ptr @__errno_location() #11
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  %2434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2421, ptr noundef @.str.2, i32 noundef %2422, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2425, ptr noundef %2428, ptr noundef %2431, i32 noundef %2433) #10
  br label %2452

2435:                                             ; preds = %2413, %2406
  %2436 = load i32, ptr %46, align 4, !tbaa !5
  %2437 = call ptr @__errno_location() #11
  store i32 %2436, ptr %2437, align 4, !tbaa !5
  %2438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2441 = load i32, ptr %2440, align 4, !tbaa !5
  %2442 = call ptr @s2n_strerror(i32 noundef %2441, ptr noundef @.str.4)
  %2443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2444 = load i32, ptr %2443, align 4, !tbaa !5
  %2445 = call ptr @s2n_strerror_debug(i32 noundef %2444, ptr noundef @.str.4)
  %2446 = call ptr @__errno_location() #11
  %2447 = load i32, ptr %2446, align 4, !tbaa !5
  %2448 = call ptr @strerror(i32 noundef %2447) #10
  %2449 = call ptr @__errno_location() #11
  %2450 = load i32, ptr %2449, align 4, !tbaa !5
  %2451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2438, ptr noundef @.str.5, i32 noundef %2439, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %2442, ptr noundef %2445, ptr noundef %2448, i32 noundef %2450) #10
  br label %2452

2452:                                             ; preds = %2435, %2418
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #10
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

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

2455:                                             ; No predecessors!
  br label %2456

2456:                                             ; preds = %2455
  br label %2457

2457:                                             ; preds = %2456, %2397
  br label %2458

2458:                                             ; preds = %2457
  br label %2459

2459:                                             ; preds = %2458
  br label %2460

2460:                                             ; preds = %2459
  %2461 = load i32, ptr @test_count, align 4, !tbaa !5
  %2462 = add nsw i32 %2461, 1
  store i32 %2462, ptr @test_count, align 4, !tbaa !5
  %2463 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %37, i32 0, i32 2
  %2464 = load i16, ptr %2463, align 8, !tbaa !28
  %2465 = zext i16 %2464 to i32
  %2466 = icmp eq i32 %2465, 0
  br i1 %2466, label %2520, label %2467

2467:                                             ; preds = %2460
  br label %2468

2468:                                             ; preds = %2467
  br label %2469

2469:                                             ; preds = %2468
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #10
  %2470 = call ptr @__errno_location() #11
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  store i32 %2471, ptr %47, align 4, !tbaa !5
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2473 = call i32 @s2n_print_stacktrace(ptr noundef %2472)
  %2474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2475 = trunc i8 %2474 to i1
  br i1 %2475, label %2476, label %2498

2476:                                             ; preds = %2469
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @fileno(ptr noundef %2477) #10
  %2479 = call i32 @isatty(i32 noundef %2478) #10
  %2480 = icmp ne i32 %2479, 0
  br i1 %2480, label %2481, label %2498

2481:                                             ; preds = %2476
  %2482 = load i32, ptr %47, align 4, !tbaa !5
  %2483 = call ptr @__errno_location() #11
  store i32 %2482, ptr %2483, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror(i32 noundef %2487, ptr noundef @.str.4)
  %2489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2490 = load i32, ptr %2489, align 4, !tbaa !5
  %2491 = call ptr @s2n_strerror_debug(i32 noundef %2490, ptr noundef @.str.4)
  %2492 = call ptr @__errno_location() #11
  %2493 = load i32, ptr %2492, align 4, !tbaa !5
  %2494 = call ptr @strerror(i32 noundef %2493) #10
  %2495 = call ptr @__errno_location() #11
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2484, ptr noundef @.str.2, i32 noundef %2485, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2488, ptr noundef %2491, ptr noundef %2494, i32 noundef %2496) #10
  br label %2515

2498:                                             ; preds = %2476, %2469
  %2499 = load i32, ptr %47, align 4, !tbaa !5
  %2500 = call ptr @__errno_location() #11
  store i32 %2499, ptr %2500, align 4, !tbaa !5
  %2501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2502 = load i32, ptr @test_count, align 4, !tbaa !5
  %2503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2504 = load i32, ptr %2503, align 4, !tbaa !5
  %2505 = call ptr @s2n_strerror(i32 noundef %2504, ptr noundef @.str.4)
  %2506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2507 = load i32, ptr %2506, align 4, !tbaa !5
  %2508 = call ptr @s2n_strerror_debug(i32 noundef %2507, ptr noundef @.str.4)
  %2509 = call ptr @__errno_location() #11
  %2510 = load i32, ptr %2509, align 4, !tbaa !5
  %2511 = call ptr @strerror(i32 noundef %2510) #10
  %2512 = call ptr @__errno_location() #11
  %2513 = load i32, ptr %2512, align 4, !tbaa !5
  %2514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2501, ptr noundef @.str.5, i32 noundef %2502, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2505, ptr noundef %2508, ptr noundef %2511, i32 noundef %2513) #10
  br label %2515

2515:                                             ; preds = %2498, %2481
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #10
  br label %2516

2516:                                             ; preds = %2515
  br label %2517

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

2518:                                             ; No predecessors!
  br label %2519

2519:                                             ; preds = %2518
  br label %2520

2520:                                             ; preds = %2519, %2460
  br label %2521

2521:                                             ; preds = %2520
  br label %2522

2522:                                             ; preds = %2521
  br label %2523

2523:                                             ; preds = %2522
  %2524 = load i32, ptr @test_count, align 4, !tbaa !5
  %2525 = add nsw i32 %2524, 1
  store i32 %2525, ptr @test_count, align 4, !tbaa !5
  %2526 = call i32 @s2n_stuffer_free(ptr noundef %38)
  %2527 = icmp eq i32 %2526, -1
  br i1 %2527, label %2528, label %2581

2528:                                             ; preds = %2523
  br label %2529

2529:                                             ; preds = %2528
  br label %2530

2530:                                             ; preds = %2529
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #10
  %2531 = call ptr @__errno_location() #11
  %2532 = load i32, ptr %2531, align 4, !tbaa !5
  store i32 %2532, ptr %48, align 4, !tbaa !5
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = call i32 @s2n_print_stacktrace(ptr noundef %2533)
  %2535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2536 = trunc i8 %2535 to i1
  br i1 %2536, label %2537, label %2559

2537:                                             ; preds = %2530
  %2538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2539 = call i32 @fileno(ptr noundef %2538) #10
  %2540 = call i32 @isatty(i32 noundef %2539) #10
  %2541 = icmp ne i32 %2540, 0
  br i1 %2541, label %2542, label %2559

2542:                                             ; preds = %2537
  %2543 = load i32, ptr %48, align 4, !tbaa !5
  %2544 = call ptr @__errno_location() #11
  store i32 %2543, ptr %2544, align 4, !tbaa !5
  %2545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2546 = load i32, ptr @test_count, align 4, !tbaa !5
  %2547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call ptr @s2n_strerror(i32 noundef %2548, ptr noundef @.str.4)
  %2550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2551 = load i32, ptr %2550, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror_debug(i32 noundef %2551, ptr noundef @.str.4)
  %2553 = call ptr @__errno_location() #11
  %2554 = load i32, ptr %2553, align 4, !tbaa !5
  %2555 = call ptr @strerror(i32 noundef %2554) #10
  %2556 = call ptr @__errno_location() #11
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  %2558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2545, ptr noundef @.str.2, i32 noundef %2546, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 146, ptr noundef %2549, ptr noundef %2552, ptr noundef %2555, i32 noundef %2557) #10
  br label %2576

2559:                                             ; preds = %2537, %2530
  %2560 = load i32, ptr %48, align 4, !tbaa !5
  %2561 = call ptr @__errno_location() #11
  store i32 %2560, ptr %2561, align 4, !tbaa !5
  %2562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2563 = load i32, ptr @test_count, align 4, !tbaa !5
  %2564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2565 = load i32, ptr %2564, align 4, !tbaa !5
  %2566 = call ptr @s2n_strerror(i32 noundef %2565, ptr noundef @.str.4)
  %2567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2568 = load i32, ptr %2567, align 4, !tbaa !5
  %2569 = call ptr @s2n_strerror_debug(i32 noundef %2568, ptr noundef @.str.4)
  %2570 = call ptr @__errno_location() #11
  %2571 = load i32, ptr %2570, align 4, !tbaa !5
  %2572 = call ptr @strerror(i32 noundef %2571) #10
  %2573 = call ptr @__errno_location() #11
  %2574 = load i32, ptr %2573, align 4, !tbaa !5
  %2575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2562, ptr noundef @.str.5, i32 noundef %2563, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 146, ptr noundef %2566, ptr noundef %2569, ptr noundef %2572, i32 noundef %2574) #10
  br label %2576

2576:                                             ; preds = %2559, %2542
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #10
  br label %2577

2577:                                             ; preds = %2576
  br label %2578

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

2579:                                             ; No predecessors!
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580, %2523
  br label %2582

2582:                                             ; preds = %2581
  br label %2583

2583:                                             ; preds = %2582
  call void @llvm.lifetime.end.p0(i64 40, ptr %38) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %37) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %49) #10
  call void @llvm.memset.p0.i64(ptr align 8 %49, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %50) #10
  call void @llvm.memset.p0.i64(ptr align 8 %50, i8 0, i64 40, i1 false)
  br label %2584

2584:                                             ; preds = %2583
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = add nsw i32 %2585, 1
  store i32 %2586, ptr @test_count, align 4, !tbaa !5
  %2587 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %50, i32 noundef 0)
  %2588 = icmp eq i32 %2587, -1
  br i1 %2588, label %2589, label %2642

2589:                                             ; preds = %2584
  br label %2590

2590:                                             ; preds = %2589
  br label %2591

2591:                                             ; preds = %2590
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #10
  %2592 = call ptr @__errno_location() #11
  %2593 = load i32, ptr %2592, align 4, !tbaa !5
  store i32 %2593, ptr %51, align 4, !tbaa !5
  %2594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2595 = call i32 @s2n_print_stacktrace(ptr noundef %2594)
  %2596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2597 = trunc i8 %2596 to i1
  br i1 %2597, label %2598, label %2620

2598:                                             ; preds = %2591
  %2599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2600 = call i32 @fileno(ptr noundef %2599) #10
  %2601 = call i32 @isatty(i32 noundef %2600) #10
  %2602 = icmp ne i32 %2601, 0
  br i1 %2602, label %2603, label %2620

2603:                                             ; preds = %2598
  %2604 = load i32, ptr %51, align 4, !tbaa !5
  %2605 = call ptr @__errno_location() #11
  store i32 %2604, ptr %2605, align 4, !tbaa !5
  %2606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror(i32 noundef %2609, ptr noundef @.str.4)
  %2611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2612 = load i32, ptr %2611, align 4, !tbaa !5
  %2613 = call ptr @s2n_strerror_debug(i32 noundef %2612, ptr noundef @.str.4)
  %2614 = call ptr @__errno_location() #11
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = call ptr @strerror(i32 noundef %2615) #10
  %2617 = call ptr @__errno_location() #11
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  %2619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2606, ptr noundef @.str.2, i32 noundef %2607, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2610, ptr noundef %2613, ptr noundef %2616, i32 noundef %2618) #10
  br label %2637

2620:                                             ; preds = %2598, %2591
  %2621 = load i32, ptr %51, align 4, !tbaa !5
  %2622 = call ptr @__errno_location() #11
  store i32 %2621, ptr %2622, align 4, !tbaa !5
  %2623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2624 = load i32, ptr @test_count, align 4, !tbaa !5
  %2625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef @.str.4)
  %2628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2629 = load i32, ptr %2628, align 4, !tbaa !5
  %2630 = call ptr @s2n_strerror_debug(i32 noundef %2629, ptr noundef @.str.4)
  %2631 = call ptr @__errno_location() #11
  %2632 = load i32, ptr %2631, align 4, !tbaa !5
  %2633 = call ptr @strerror(i32 noundef %2632) #10
  %2634 = call ptr @__errno_location() #11
  %2635 = load i32, ptr %2634, align 4, !tbaa !5
  %2636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2623, ptr noundef @.str.5, i32 noundef %2624, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2627, ptr noundef %2630, ptr noundef %2633, i32 noundef %2635) #10
  br label %2637

2637:                                             ; preds = %2620, %2603
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #10
  br label %2638

2638:                                             ; preds = %2637
  br label %2639

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

2640:                                             ; No predecessors!
  br label %2641

2641:                                             ; preds = %2640
  br label %2642

2642:                                             ; preds = %2641, %2584
  br label %2643

2643:                                             ; preds = %2642
  br label %2644

2644:                                             ; preds = %2643
  br label %2645

2645:                                             ; preds = %2644
  %2646 = load i32, ptr @test_count, align 4, !tbaa !5
  %2647 = add nsw i32 %2646, 1
  store i32 %2647, ptr @test_count, align 4, !tbaa !5
  %2648 = call i32 @s2n_stuffer_write_uint16(ptr noundef %50, i16 noundef zeroext 100)
  %2649 = icmp eq i32 %2648, -1
  br i1 %2649, label %2650, label %2703

2650:                                             ; preds = %2645
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

2652:                                             ; preds = %2651
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #10
  %2653 = call ptr @__errno_location() #11
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  store i32 %2654, ptr %52, align 4, !tbaa !5
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = call i32 @s2n_print_stacktrace(ptr noundef %2655)
  %2657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2658 = trunc i8 %2657 to i1
  br i1 %2658, label %2659, label %2681

2659:                                             ; preds = %2652
  %2660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2661 = call i32 @fileno(ptr noundef %2660) #10
  %2662 = call i32 @isatty(i32 noundef %2661) #10
  %2663 = icmp ne i32 %2662, 0
  br i1 %2663, label %2664, label %2681

2664:                                             ; preds = %2659
  %2665 = load i32, ptr %52, align 4, !tbaa !5
  %2666 = call ptr @__errno_location() #11
  store i32 %2665, ptr %2666, align 4, !tbaa !5
  %2667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2668 = load i32, ptr @test_count, align 4, !tbaa !5
  %2669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2670 = load i32, ptr %2669, align 4, !tbaa !5
  %2671 = call ptr @s2n_strerror(i32 noundef %2670, ptr noundef @.str.4)
  %2672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2673 = load i32, ptr %2672, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror_debug(i32 noundef %2673, ptr noundef @.str.4)
  %2675 = call ptr @__errno_location() #11
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = call ptr @strerror(i32 noundef %2676) #10
  %2678 = call ptr @__errno_location() #11
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2667, ptr noundef @.str.2, i32 noundef %2668, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2671, ptr noundef %2674, ptr noundef %2677, i32 noundef %2679) #10
  br label %2698

2681:                                             ; preds = %2659, %2652
  %2682 = load i32, ptr %52, align 4, !tbaa !5
  %2683 = call ptr @__errno_location() #11
  store i32 %2682, ptr %2683, align 4, !tbaa !5
  %2684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2685 = load i32, ptr @test_count, align 4, !tbaa !5
  %2686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2687 = load i32, ptr %2686, align 4, !tbaa !5
  %2688 = call ptr @s2n_strerror(i32 noundef %2687, ptr noundef @.str.4)
  %2689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2690 = load i32, ptr %2689, align 4, !tbaa !5
  %2691 = call ptr @s2n_strerror_debug(i32 noundef %2690, ptr noundef @.str.4)
  %2692 = call ptr @__errno_location() #11
  %2693 = load i32, ptr %2692, align 4, !tbaa !5
  %2694 = call ptr @strerror(i32 noundef %2693) #10
  %2695 = call ptr @__errno_location() #11
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2684, ptr noundef @.str.5, i32 noundef %2685, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2688, ptr noundef %2691, ptr noundef %2694, i32 noundef %2696) #10
  br label %2698

2698:                                             ; preds = %2681, %2664
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #10
  br label %2699

2699:                                             ; preds = %2698
  br label %2700

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

2701:                                             ; No predecessors!
  br label %2702

2702:                                             ; preds = %2701
  br label %2703

2703:                                             ; preds = %2702, %2645
  br label %2704

2704:                                             ; preds = %2703
  br label %2705

2705:                                             ; preds = %2704
  br label %2706

2706:                                             ; preds = %2705
  br label %2707

2707:                                             ; preds = %2706
  br label %2708

2708:                                             ; preds = %2707
  %2709 = load i32, ptr @test_count, align 4, !tbaa !5
  %2710 = add nsw i32 %2709, 1
  store i32 %2710, ptr @test_count, align 4, !tbaa !5
  %2711 = call i32 @s2n_extension_list_parse(ptr noundef %50, ptr noundef %49)
  %2712 = icmp eq i32 %2711, -1
  br i1 %2712, label %2766, label %2713

2713:                                             ; preds = %2708
  br label %2714

2714:                                             ; preds = %2713
  br label %2715

2715:                                             ; preds = %2714
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #10
  %2716 = call ptr @__errno_location() #11
  %2717 = load i32, ptr %2716, align 4, !tbaa !5
  store i32 %2717, ptr %53, align 4, !tbaa !5
  %2718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2719 = call i32 @s2n_print_stacktrace(ptr noundef %2718)
  %2720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2721 = trunc i8 %2720 to i1
  br i1 %2721, label %2722, label %2744

2722:                                             ; preds = %2715
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = call i32 @fileno(ptr noundef %2723) #10
  %2725 = call i32 @isatty(i32 noundef %2724) #10
  %2726 = icmp ne i32 %2725, 0
  br i1 %2726, label %2727, label %2744

2727:                                             ; preds = %2722
  %2728 = load i32, ptr %53, align 4, !tbaa !5
  %2729 = call ptr @__errno_location() #11
  store i32 %2728, ptr %2729, align 4, !tbaa !5
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = load i32, ptr @test_count, align 4, !tbaa !5
  %2732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2733 = load i32, ptr %2732, align 4, !tbaa !5
  %2734 = call ptr @s2n_strerror(i32 noundef %2733, ptr noundef @.str.4)
  %2735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2736 = load i32, ptr %2735, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror_debug(i32 noundef %2736, ptr noundef @.str.4)
  %2738 = call ptr @__errno_location() #11
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @strerror(i32 noundef %2739) #10
  %2741 = call ptr @__errno_location() #11
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2730, ptr noundef @.str.2, i32 noundef %2731, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2734, ptr noundef %2737, ptr noundef %2740, i32 noundef %2742) #10
  br label %2761

2744:                                             ; preds = %2722, %2715
  %2745 = load i32, ptr %53, align 4, !tbaa !5
  %2746 = call ptr @__errno_location() #11
  store i32 %2745, ptr %2746, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = load i32, ptr @test_count, align 4, !tbaa !5
  %2749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2750 = load i32, ptr %2749, align 4, !tbaa !5
  %2751 = call ptr @s2n_strerror(i32 noundef %2750, ptr noundef @.str.4)
  %2752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2753 = load i32, ptr %2752, align 4, !tbaa !5
  %2754 = call ptr @s2n_strerror_debug(i32 noundef %2753, ptr noundef @.str.4)
  %2755 = call ptr @__errno_location() #11
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @strerror(i32 noundef %2756) #10
  %2758 = call ptr @__errno_location() #11
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2747, ptr noundef @.str.5, i32 noundef %2748, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2751, ptr noundef %2754, ptr noundef %2757, i32 noundef %2759) #10
  br label %2761

2761:                                             ; preds = %2744, %2727
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #10
  br label %2762

2762:                                             ; preds = %2761
  br label %2763

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

2764:                                             ; No predecessors!
  br label %2765

2765:                                             ; preds = %2764
  br label %2766

2766:                                             ; preds = %2765, %2708
  br label %2767

2767:                                             ; preds = %2766
  br label %2768

2768:                                             ; preds = %2767
  br label %2769

2769:                                             ; preds = %2768
  %2770 = load i32, ptr @test_count, align 4, !tbaa !5
  %2771 = add nsw i32 %2770, 1
  store i32 %2771, ptr @test_count, align 4, !tbaa !5
  %2772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = icmp eq i32 %2773, 335544322
  br i1 %2774, label %2828, label %2775

2775:                                             ; preds = %2769
  br label %2776

2776:                                             ; preds = %2775
  br label %2777

2777:                                             ; preds = %2776
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #10
  %2778 = call ptr @__errno_location() #11
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  store i32 %2779, ptr %54, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @s2n_print_stacktrace(ptr noundef %2780)
  %2782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2783 = trunc i8 %2782 to i1
  br i1 %2783, label %2784, label %2806

2784:                                             ; preds = %2777
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = call i32 @fileno(ptr noundef %2785) #10
  %2787 = call i32 @isatty(i32 noundef %2786) #10
  %2788 = icmp ne i32 %2787, 0
  br i1 %2788, label %2789, label %2806

2789:                                             ; preds = %2784
  %2790 = load i32, ptr %54, align 4, !tbaa !5
  %2791 = call ptr @__errno_location() #11
  store i32 %2790, ptr %2791, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = load i32, ptr @test_count, align 4, !tbaa !5
  %2794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror(i32 noundef %2795, ptr noundef @.str.4)
  %2797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @s2n_strerror_debug(i32 noundef %2798, ptr noundef @.str.4)
  %2800 = call ptr @__errno_location() #11
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call ptr @strerror(i32 noundef %2801) #10
  %2803 = call ptr @__errno_location() #11
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  %2805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2792, ptr noundef @.str.2, i32 noundef %2793, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2796, ptr noundef %2799, ptr noundef %2802, i32 noundef %2804) #10
  br label %2823

2806:                                             ; preds = %2784, %2777
  %2807 = load i32, ptr %54, align 4, !tbaa !5
  %2808 = call ptr @__errno_location() #11
  store i32 %2807, ptr %2808, align 4, !tbaa !5
  %2809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2810 = load i32, ptr @test_count, align 4, !tbaa !5
  %2811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2812 = load i32, ptr %2811, align 4, !tbaa !5
  %2813 = call ptr @s2n_strerror(i32 noundef %2812, ptr noundef @.str.4)
  %2814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call ptr @s2n_strerror_debug(i32 noundef %2815, ptr noundef @.str.4)
  %2817 = call ptr @__errno_location() #11
  %2818 = load i32, ptr %2817, align 4, !tbaa !5
  %2819 = call ptr @strerror(i32 noundef %2818) #10
  %2820 = call ptr @__errno_location() #11
  %2821 = load i32, ptr %2820, align 4, !tbaa !5
  %2822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2809, ptr noundef @.str.5, i32 noundef %2810, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2813, ptr noundef %2816, ptr noundef %2819, i32 noundef %2821) #10
  br label %2823

2823:                                             ; preds = %2806, %2789
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #10
  br label %2824

2824:                                             ; preds = %2823
  br label %2825

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

2826:                                             ; No predecessors!
  br label %2827

2827:                                             ; preds = %2826
  br label %2828

2828:                                             ; preds = %2827, %2769
  br label %2829

2829:                                             ; preds = %2828
  br label %2830

2830:                                             ; preds = %2829
  br label %2831

2831:                                             ; preds = %2830
  %2832 = load i32, ptr @test_count, align 4, !tbaa !5
  %2833 = add nsw i32 %2832, 1
  store i32 %2833, ptr @test_count, align 4, !tbaa !5
  %2834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2835 = load i32, ptr %2834, align 4, !tbaa !5
  %2836 = call ptr @s2n_strerror_debug(i32 noundef %2835, ptr noundef @.str.4)
  %2837 = icmp eq ptr %2836, null
  br i1 %2837, label %2838, label %2891

2838:                                             ; preds = %2831
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

2840:                                             ; preds = %2839
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #10
  %2841 = call ptr @__errno_location() #11
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  store i32 %2842, ptr %55, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = call i32 @s2n_print_stacktrace(ptr noundef %2843)
  %2845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2846 = trunc i8 %2845 to i1
  br i1 %2846, label %2847, label %2869

2847:                                             ; preds = %2840
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = call i32 @fileno(ptr noundef %2848) #10
  %2850 = call i32 @isatty(i32 noundef %2849) #10
  %2851 = icmp ne i32 %2850, 0
  br i1 %2851, label %2852, label %2869

2852:                                             ; preds = %2847
  %2853 = load i32, ptr %55, align 4, !tbaa !5
  %2854 = call ptr @__errno_location() #11
  store i32 %2853, ptr %2854, align 4, !tbaa !5
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2856 = load i32, ptr @test_count, align 4, !tbaa !5
  %2857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2858 = load i32, ptr %2857, align 4, !tbaa !5
  %2859 = call ptr @s2n_strerror(i32 noundef %2858, ptr noundef @.str.4)
  %2860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2861 = load i32, ptr %2860, align 4, !tbaa !5
  %2862 = call ptr @s2n_strerror_debug(i32 noundef %2861, ptr noundef @.str.4)
  %2863 = call ptr @__errno_location() #11
  %2864 = load i32, ptr %2863, align 4, !tbaa !5
  %2865 = call ptr @strerror(i32 noundef %2864) #10
  %2866 = call ptr @__errno_location() #11
  %2867 = load i32, ptr %2866, align 4, !tbaa !5
  %2868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2855, ptr noundef @.str.2, i32 noundef %2856, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2859, ptr noundef %2862, ptr noundef %2865, i32 noundef %2867) #10
  br label %2886

2869:                                             ; preds = %2847, %2840
  %2870 = load i32, ptr %55, align 4, !tbaa !5
  %2871 = call ptr @__errno_location() #11
  store i32 %2870, ptr %2871, align 4, !tbaa !5
  %2872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2873 = load i32, ptr @test_count, align 4, !tbaa !5
  %2874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror(i32 noundef %2875, ptr noundef @.str.4)
  %2877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call ptr @s2n_strerror_debug(i32 noundef %2878, ptr noundef @.str.4)
  %2880 = call ptr @__errno_location() #11
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call ptr @strerror(i32 noundef %2881) #10
  %2883 = call ptr @__errno_location() #11
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2872, ptr noundef @.str.5, i32 noundef %2873, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2876, ptr noundef %2879, ptr noundef %2882, i32 noundef %2884) #10
  br label %2886

2886:                                             ; preds = %2869, %2852
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #10
  br label %2887

2887:                                             ; preds = %2886
  br label %2888

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

2889:                                             ; No predecessors!
  br label %2890

2890:                                             ; preds = %2889
  br label %2891

2891:                                             ; preds = %2890, %2831
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892
  br label %2894

2894:                                             ; preds = %2893
  br label %2895

2895:                                             ; preds = %2894
  br label %2896

2896:                                             ; preds = %2895
  %2897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2897, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2898 = call ptr @__errno_location() #11
  store i32 0, ptr %2898, align 4, !tbaa !5
  br label %2899

2899:                                             ; preds = %2896
  br label %2900

2900:                                             ; preds = %2899
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901
  br label %2903

2903:                                             ; preds = %2902
  %2904 = load i32, ptr @test_count, align 4, !tbaa !5
  %2905 = add nsw i32 %2904, 1
  store i32 %2905, ptr @test_count, align 4, !tbaa !5
  %2906 = getelementptr inbounds %struct.s2n_stuffer, ptr %50, i32 0, i32 2
  %2907 = load i32, ptr %2906, align 4, !tbaa !21
  %2908 = getelementptr inbounds %struct.s2n_stuffer, ptr %50, i32 0, i32 1
  %2909 = load i32, ptr %2908, align 8, !tbaa !23
  %2910 = sub i32 %2907, %2909
  %2911 = icmp eq i32 %2910, 0
  br i1 %2911, label %2965, label %2912

2912:                                             ; preds = %2903
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #10
  %2915 = call ptr @__errno_location() #11
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  store i32 %2916, ptr %56, align 4, !tbaa !5
  %2917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2918 = call i32 @s2n_print_stacktrace(ptr noundef %2917)
  %2919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2920 = trunc i8 %2919 to i1
  br i1 %2920, label %2921, label %2943

2921:                                             ; preds = %2914
  %2922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2923 = call i32 @fileno(ptr noundef %2922) #10
  %2924 = call i32 @isatty(i32 noundef %2923) #10
  %2925 = icmp ne i32 %2924, 0
  br i1 %2925, label %2926, label %2943

2926:                                             ; preds = %2921
  %2927 = load i32, ptr %56, align 4, !tbaa !5
  %2928 = call ptr @__errno_location() #11
  store i32 %2927, ptr %2928, align 4, !tbaa !5
  %2929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2930 = load i32, ptr @test_count, align 4, !tbaa !5
  %2931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2932 = load i32, ptr %2931, align 4, !tbaa !5
  %2933 = call ptr @s2n_strerror(i32 noundef %2932, ptr noundef @.str.4)
  %2934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror_debug(i32 noundef %2935, ptr noundef @.str.4)
  %2937 = call ptr @__errno_location() #11
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @strerror(i32 noundef %2938) #10
  %2940 = call ptr @__errno_location() #11
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2929, ptr noundef @.str.2, i32 noundef %2930, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2933, ptr noundef %2936, ptr noundef %2939, i32 noundef %2941) #10
  br label %2960

2943:                                             ; preds = %2921, %2914
  %2944 = load i32, ptr %56, align 4, !tbaa !5
  %2945 = call ptr @__errno_location() #11
  store i32 %2944, ptr %2945, align 4, !tbaa !5
  %2946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2947 = load i32, ptr @test_count, align 4, !tbaa !5
  %2948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror(i32 noundef %2949, ptr noundef @.str.4)
  %2951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call ptr @s2n_strerror_debug(i32 noundef %2952, ptr noundef @.str.4)
  %2954 = call ptr @__errno_location() #11
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call ptr @strerror(i32 noundef %2955) #10
  %2957 = call ptr @__errno_location() #11
  %2958 = load i32, ptr %2957, align 4, !tbaa !5
  %2959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2946, ptr noundef @.str.5, i32 noundef %2947, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2950, ptr noundef %2953, ptr noundef %2956, i32 noundef %2958) #10
  br label %2960

2960:                                             ; preds = %2943, %2926
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #10
  br label %2961

2961:                                             ; preds = %2960
  br label %2962

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

2963:                                             ; No predecessors!
  br label %2964

2964:                                             ; preds = %2963
  br label %2965

2965:                                             ; preds = %2964, %2903
  br label %2966

2966:                                             ; preds = %2965
  br label %2967

2967:                                             ; preds = %2966
  br label %2968

2968:                                             ; preds = %2967
  br label %2969

2969:                                             ; preds = %2968
  %2970 = load i32, ptr @test_count, align 4, !tbaa !5
  %2971 = add nsw i32 %2970, 1
  store i32 %2971, ptr @test_count, align 4, !tbaa !5
  %2972 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %49, i32 0, i32 0
  %2973 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %2972, i64 0, i64 0
  %2974 = call i32 @memcmp(ptr noundef %2973, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %2975 = icmp eq i32 %2974, 0
  br i1 %2975, label %3029, label %2976

2976:                                             ; preds = %2969
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

2978:                                             ; preds = %2977
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #10
  %2979 = call ptr @__errno_location() #11
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  store i32 %2980, ptr %57, align 4, !tbaa !5
  %2981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2982 = call i32 @s2n_print_stacktrace(ptr noundef %2981)
  %2983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2984 = trunc i8 %2983 to i1
  br i1 %2984, label %2985, label %3007

2985:                                             ; preds = %2978
  %2986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2987 = call i32 @fileno(ptr noundef %2986) #10
  %2988 = call i32 @isatty(i32 noundef %2987) #10
  %2989 = icmp ne i32 %2988, 0
  br i1 %2989, label %2990, label %3007

2990:                                             ; preds = %2985
  %2991 = load i32, ptr %57, align 4, !tbaa !5
  %2992 = call ptr @__errno_location() #11
  store i32 %2991, ptr %2992, align 4, !tbaa !5
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2994 = load i32, ptr @test_count, align 4, !tbaa !5
  %2995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2996 = load i32, ptr %2995, align 4, !tbaa !5
  %2997 = call ptr @s2n_strerror(i32 noundef %2996, ptr noundef @.str.4)
  %2998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2999 = load i32, ptr %2998, align 4, !tbaa !5
  %3000 = call ptr @s2n_strerror_debug(i32 noundef %2999, ptr noundef @.str.4)
  %3001 = call ptr @__errno_location() #11
  %3002 = load i32, ptr %3001, align 4, !tbaa !5
  %3003 = call ptr @strerror(i32 noundef %3002) #10
  %3004 = call ptr @__errno_location() #11
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  %3006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2993, ptr noundef @.str.2, i32 noundef %2994, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 161, ptr noundef %2997, ptr noundef %3000, ptr noundef %3003, i32 noundef %3005) #10
  br label %3024

3007:                                             ; preds = %2985, %2978
  %3008 = load i32, ptr %57, align 4, !tbaa !5
  %3009 = call ptr @__errno_location() #11
  store i32 %3008, ptr %3009, align 4, !tbaa !5
  %3010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3011 = load i32, ptr @test_count, align 4, !tbaa !5
  %3012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3013 = load i32, ptr %3012, align 4, !tbaa !5
  %3014 = call ptr @s2n_strerror(i32 noundef %3013, ptr noundef @.str.4)
  %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_debug(i32 noundef %3016, ptr noundef @.str.4)
  %3018 = call ptr @__errno_location() #11
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @strerror(i32 noundef %3019) #10
  %3021 = call ptr @__errno_location() #11
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3010, ptr noundef @.str.5, i32 noundef %3011, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 161, ptr noundef %3014, ptr noundef %3017, ptr noundef %3020, i32 noundef %3022) #10
  br label %3024

3024:                                             ; preds = %3007, %2990
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #10
  br label %3025

3025:                                             ; preds = %3024
  br label %3026

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

3027:                                             ; No predecessors!
  br label %3028

3028:                                             ; preds = %3027
  br label %3029

3029:                                             ; preds = %3028, %2969
  br label %3030

3030:                                             ; preds = %3029
  br label %3031

3031:                                             ; preds = %3030
  br label %3032

3032:                                             ; preds = %3031
  br label %3033

3033:                                             ; preds = %3032
  br label %3034

3034:                                             ; preds = %3033
  %3035 = load i32, ptr @test_count, align 4, !tbaa !5
  %3036 = add nsw i32 %3035, 1
  store i32 %3036, ptr @test_count, align 4, !tbaa !5
  %3037 = call i32 @s2n_stuffer_free(ptr noundef %50)
  %3038 = icmp eq i32 %3037, -1
  br i1 %3038, label %3039, label %3092

3039:                                             ; preds = %3034
  br label %3040

3040:                                             ; preds = %3039
  br label %3041

3041:                                             ; preds = %3040
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #10
  %3042 = call ptr @__errno_location() #11
  %3043 = load i32, ptr %3042, align 4, !tbaa !5
  store i32 %3043, ptr %58, align 4, !tbaa !5
  %3044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3045 = call i32 @s2n_print_stacktrace(ptr noundef %3044)
  %3046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3047 = trunc i8 %3046 to i1
  br i1 %3047, label %3048, label %3070

3048:                                             ; preds = %3041
  %3049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3050 = call i32 @fileno(ptr noundef %3049) #10
  %3051 = call i32 @isatty(i32 noundef %3050) #10
  %3052 = icmp ne i32 %3051, 0
  br i1 %3052, label %3053, label %3070

3053:                                             ; preds = %3048
  %3054 = load i32, ptr %58, align 4, !tbaa !5
  %3055 = call ptr @__errno_location() #11
  store i32 %3054, ptr %3055, align 4, !tbaa !5
  %3056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3057 = load i32, ptr @test_count, align 4, !tbaa !5
  %3058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3059 = load i32, ptr %3058, align 4, !tbaa !5
  %3060 = call ptr @s2n_strerror(i32 noundef %3059, ptr noundef @.str.4)
  %3061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror_debug(i32 noundef %3062, ptr noundef @.str.4)
  %3064 = call ptr @__errno_location() #11
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @strerror(i32 noundef %3065) #10
  %3067 = call ptr @__errno_location() #11
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3056, ptr noundef @.str.2, i32 noundef %3057, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3060, ptr noundef %3063, ptr noundef %3066, i32 noundef %3068) #10
  br label %3087

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

3087:                                             ; preds = %3070, %3053
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #10
  br label %3088

3088:                                             ; preds = %3087
  br label %3089

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

3090:                                             ; No predecessors!
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

3092:                                             ; preds = %3091, %3034
  br label %3093

3093:                                             ; preds = %3092
  br label %3094

3094:                                             ; preds = %3093
  call void @llvm.lifetime.end.p0(i64 40, ptr %50) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %49) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %59) #10
  call void @llvm.memset.p0.i64(ptr align 8 %59, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %60) #10
  call void @llvm.memset.p0.i64(ptr align 8 %60, i8 0, i64 40, i1 false)
  br label %3095

3095:                                             ; preds = %3094
  %3096 = load i32, ptr @test_count, align 4, !tbaa !5
  %3097 = add nsw i32 %3096, 1
  store i32 %3097, ptr @test_count, align 4, !tbaa !5
  %3098 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %60, i32 noundef 0)
  %3099 = icmp eq i32 %3098, -1
  br i1 %3099, label %3100, label %3153

3100:                                             ; preds = %3095
  br label %3101

3101:                                             ; preds = %3100
  br label %3102

3102:                                             ; preds = %3101
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #10
  %3103 = call ptr @__errno_location() #11
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  store i32 %3104, ptr %61, align 4, !tbaa !5
  %3105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3106 = call i32 @s2n_print_stacktrace(ptr noundef %3105)
  %3107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3108 = trunc i8 %3107 to i1
  br i1 %3108, label %3109, label %3131

3109:                                             ; preds = %3102
  %3110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3111 = call i32 @fileno(ptr noundef %3110) #10
  %3112 = call i32 @isatty(i32 noundef %3111) #10
  %3113 = icmp ne i32 %3112, 0
  br i1 %3113, label %3114, label %3131

3114:                                             ; preds = %3109
  %3115 = load i32, ptr %61, align 4, !tbaa !5
  %3116 = call ptr @__errno_location() #11
  store i32 %3115, ptr %3116, align 4, !tbaa !5
  %3117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3120 = load i32, ptr %3119, align 4, !tbaa !5
  %3121 = call ptr @s2n_strerror(i32 noundef %3120, ptr noundef @.str.4)
  %3122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3123 = load i32, ptr %3122, align 4, !tbaa !5
  %3124 = call ptr @s2n_strerror_debug(i32 noundef %3123, ptr noundef @.str.4)
  %3125 = call ptr @__errno_location() #11
  %3126 = load i32, ptr %3125, align 4, !tbaa !5
  %3127 = call ptr @strerror(i32 noundef %3126) #10
  %3128 = call ptr @__errno_location() #11
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  %3130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3117, ptr noundef @.str.2, i32 noundef %3118, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 170, ptr noundef %3121, ptr noundef %3124, ptr noundef %3127, i32 noundef %3129) #10
  br label %3148

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

3148:                                             ; preds = %3131, %3114
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #10
  br label %3149

3149:                                             ; preds = %3148
  br label %3150

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

3151:                                             ; No predecessors!
  br label %3152

3152:                                             ; preds = %3151
  br label %3153

3153:                                             ; preds = %3152, %3095
  br label %3154

3154:                                             ; preds = %3153
  br label %3155

3155:                                             ; preds = %3154
  br label %3156

3156:                                             ; preds = %3155
  %3157 = load i32, ptr @test_count, align 4, !tbaa !5
  %3158 = add nsw i32 %3157, 1
  store i32 %3158, ptr @test_count, align 4, !tbaa !5
  %3159 = call i32 @s2n_stuffer_write_uint16(ptr noundef %60, i16 noundef zeroext 1)
  %3160 = icmp eq i32 %3159, -1
  br i1 %3160, label %3161, label %3214

3161:                                             ; preds = %3156
  br label %3162

3162:                                             ; preds = %3161
  br label %3163

3163:                                             ; preds = %3162
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #10
  %3164 = call ptr @__errno_location() #11
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  store i32 %3165, ptr %62, align 4, !tbaa !5
  %3166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3167 = call i32 @s2n_print_stacktrace(ptr noundef %3166)
  %3168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3169 = trunc i8 %3168 to i1
  br i1 %3169, label %3170, label %3192

3170:                                             ; preds = %3163
  %3171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3172 = call i32 @fileno(ptr noundef %3171) #10
  %3173 = call i32 @isatty(i32 noundef %3172) #10
  %3174 = icmp ne i32 %3173, 0
  br i1 %3174, label %3175, label %3192

3175:                                             ; preds = %3170
  %3176 = load i32, ptr %62, align 4, !tbaa !5
  %3177 = call ptr @__errno_location() #11
  store i32 %3176, ptr %3177, align 4, !tbaa !5
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = load i32, ptr @test_count, align 4, !tbaa !5
  %3180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  %3182 = call ptr @s2n_strerror(i32 noundef %3181, ptr noundef @.str.4)
  %3183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3184 = load i32, ptr %3183, align 4, !tbaa !5
  %3185 = call ptr @s2n_strerror_debug(i32 noundef %3184, ptr noundef @.str.4)
  %3186 = call ptr @__errno_location() #11
  %3187 = load i32, ptr %3186, align 4, !tbaa !5
  %3188 = call ptr @strerror(i32 noundef %3187) #10
  %3189 = call ptr @__errno_location() #11
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  %3191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3178, ptr noundef @.str.2, i32 noundef %3179, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3182, ptr noundef %3185, ptr noundef %3188, i32 noundef %3190) #10
  br label %3209

3192:                                             ; preds = %3170, %3163
  %3193 = load i32, ptr %62, align 4, !tbaa !5
  %3194 = call ptr @__errno_location() #11
  store i32 %3193, ptr %3194, align 4, !tbaa !5
  %3195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3196 = load i32, ptr @test_count, align 4, !tbaa !5
  %3197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror(i32 noundef %3198, ptr noundef @.str.4)
  %3200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3201 = load i32, ptr %3200, align 4, !tbaa !5
  %3202 = call ptr @s2n_strerror_debug(i32 noundef %3201, ptr noundef @.str.4)
  %3203 = call ptr @__errno_location() #11
  %3204 = load i32, ptr %3203, align 4, !tbaa !5
  %3205 = call ptr @strerror(i32 noundef %3204) #10
  %3206 = call ptr @__errno_location() #11
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  %3208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3195, ptr noundef @.str.5, i32 noundef %3196, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 173, ptr noundef %3199, ptr noundef %3202, ptr noundef %3205, i32 noundef %3207) #10
  br label %3209

3209:                                             ; preds = %3192, %3175
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #10
  br label %3210

3210:                                             ; preds = %3209
  br label %3211

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

3212:                                             ; No predecessors!
  br label %3213

3213:                                             ; preds = %3212
  br label %3214

3214:                                             ; preds = %3213, %3156
  br label %3215

3215:                                             ; preds = %3214
  br label %3216

3216:                                             ; preds = %3215
  br label %3217

3217:                                             ; preds = %3216
  %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_skip_write(ptr noundef %60, i32 noundef 1)
  %3221 = icmp eq i32 %3220, -1
  br i1 %3221, label %3222, label %3275

3222:                                             ; preds = %3217
  br label %3223

3223:                                             ; preds = %3222
  br label %3224

3224:                                             ; preds = %3223
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #10
  %3225 = call ptr @__errno_location() #11
  %3226 = load i32, ptr %3225, align 4, !tbaa !5
  store i32 %3226, ptr %63, align 4, !tbaa !5
  %3227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3228 = call i32 @s2n_print_stacktrace(ptr noundef %3227)
  %3229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3230 = trunc i8 %3229 to i1
  br i1 %3230, label %3231, label %3253

3231:                                             ; preds = %3224
  %3232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3233 = call i32 @fileno(ptr noundef %3232) #10
  %3234 = call i32 @isatty(i32 noundef %3233) #10
  %3235 = icmp ne i32 %3234, 0
  br i1 %3235, label %3236, label %3253

3236:                                             ; preds = %3231
  %3237 = load i32, ptr %63, align 4, !tbaa !5
  %3238 = call ptr @__errno_location() #11
  store i32 %3237, ptr %3238, align 4, !tbaa !5
  %3239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3240 = load i32, ptr @test_count, align 4, !tbaa !5
  %3241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3242 = load i32, ptr %3241, align 4, !tbaa !5
  %3243 = call ptr @s2n_strerror(i32 noundef %3242, ptr noundef @.str.4)
  %3244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3245 = load i32, ptr %3244, align 4, !tbaa !5
  %3246 = call ptr @s2n_strerror_debug(i32 noundef %3245, ptr noundef @.str.4)
  %3247 = call ptr @__errno_location() #11
  %3248 = load i32, ptr %3247, align 4, !tbaa !5
  %3249 = call ptr @strerror(i32 noundef %3248) #10
  %3250 = call ptr @__errno_location() #11
  %3251 = load i32, ptr %3250, align 4, !tbaa !5
  %3252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3239, ptr noundef @.str.2, i32 noundef %3240, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 175, ptr noundef %3243, ptr noundef %3246, ptr noundef %3249, i32 noundef %3251) #10
  br label %3270

3253:                                             ; preds = %3231, %3224
  %3254 = load i32, ptr %63, align 4, !tbaa !5
  %3255 = call ptr @__errno_location() #11
  store i32 %3254, ptr %3255, align 4, !tbaa !5
  %3256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3257 = load i32, ptr @test_count, align 4, !tbaa !5
  %3258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3259 = load i32, ptr %3258, align 4, !tbaa !5
  %3260 = call ptr @s2n_strerror(i32 noundef %3259, ptr noundef @.str.4)
  %3261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3262 = load i32, ptr %3261, align 4, !tbaa !5
  %3263 = call ptr @s2n_strerror_debug(i32 noundef %3262, ptr noundef @.str.4)
  %3264 = call ptr @__errno_location() #11
  %3265 = load i32, ptr %3264, align 4, !tbaa !5
  %3266 = call ptr @strerror(i32 noundef %3265) #10
  %3267 = call ptr @__errno_location() #11
  %3268 = load i32, ptr %3267, align 4, !tbaa !5
  %3269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3256, ptr noundef @.str.5, i32 noundef %3257, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 175, ptr noundef %3260, ptr noundef %3263, ptr noundef %3266, i32 noundef %3268) #10
  br label %3270

3270:                                             ; preds = %3253, %3236
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #10
  br label %3271

3271:                                             ; preds = %3270
  br label %3272

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

3273:                                             ; No predecessors!
  br label %3274

3274:                                             ; preds = %3273
  br label %3275

3275:                                             ; preds = %3274, %3217
  br label %3276

3276:                                             ; preds = %3275
  br label %3277

3277:                                             ; preds = %3276
  br label %3278

3278:                                             ; preds = %3277
  br label %3279

3279:                                             ; preds = %3278
  br label %3280

3280:                                             ; preds = %3279
  %3281 = load i32, ptr @test_count, align 4, !tbaa !5
  %3282 = add nsw i32 %3281, 1
  store i32 %3282, ptr @test_count, align 4, !tbaa !5
  %3283 = call i32 @s2n_extension_list_parse(ptr noundef %60, ptr noundef %59)
  %3284 = icmp eq i32 %3283, -1
  br i1 %3284, label %3338, label %3285

3285:                                             ; preds = %3280
  br label %3286

3286:                                             ; preds = %3285
  br label %3287

3287:                                             ; preds = %3286
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #10
  %3288 = call ptr @__errno_location() #11
  %3289 = load i32, ptr %3288, align 4, !tbaa !5
  store i32 %3289, ptr %64, align 4, !tbaa !5
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = call i32 @s2n_print_stacktrace(ptr noundef %3290)
  %3292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3293 = trunc i8 %3292 to i1
  br i1 %3293, label %3294, label %3316

3294:                                             ; preds = %3287
  %3295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3296 = call i32 @fileno(ptr noundef %3295) #10
  %3297 = call i32 @isatty(i32 noundef %3296) #10
  %3298 = icmp ne i32 %3297, 0
  br i1 %3298, label %3299, label %3316

3299:                                             ; preds = %3294
  %3300 = load i32, ptr %64, align 4, !tbaa !5
  %3301 = call ptr @__errno_location() #11
  store i32 %3300, ptr %3301, align 4, !tbaa !5
  %3302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3303 = load i32, ptr @test_count, align 4, !tbaa !5
  %3304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3305 = load i32, ptr %3304, align 4, !tbaa !5
  %3306 = call ptr @s2n_strerror(i32 noundef %3305, ptr noundef @.str.4)
  %3307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3308 = load i32, ptr %3307, align 4, !tbaa !5
  %3309 = call ptr @s2n_strerror_debug(i32 noundef %3308, ptr noundef @.str.4)
  %3310 = call ptr @__errno_location() #11
  %3311 = load i32, ptr %3310, align 4, !tbaa !5
  %3312 = call ptr @strerror(i32 noundef %3311) #10
  %3313 = call ptr @__errno_location() #11
  %3314 = load i32, ptr %3313, align 4, !tbaa !5
  %3315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3302, ptr noundef @.str.2, i32 noundef %3303, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3306, ptr noundef %3309, ptr noundef %3312, i32 noundef %3314) #10
  br label %3333

3316:                                             ; preds = %3294, %3287
  %3317 = load i32, ptr %64, align 4, !tbaa !5
  %3318 = call ptr @__errno_location() #11
  store i32 %3317, ptr %3318, align 4, !tbaa !5
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = load i32, ptr @test_count, align 4, !tbaa !5
  %3321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3322 = load i32, ptr %3321, align 4, !tbaa !5
  %3323 = call ptr @s2n_strerror(i32 noundef %3322, ptr noundef @.str.4)
  %3324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3325 = load i32, ptr %3324, align 4, !tbaa !5
  %3326 = call ptr @s2n_strerror_debug(i32 noundef %3325, ptr noundef @.str.4)
  %3327 = call ptr @__errno_location() #11
  %3328 = load i32, ptr %3327, align 4, !tbaa !5
  %3329 = call ptr @strerror(i32 noundef %3328) #10
  %3330 = call ptr @__errno_location() #11
  %3331 = load i32, ptr %3330, align 4, !tbaa !5
  %3332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3319, ptr noundef @.str.5, i32 noundef %3320, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3323, ptr noundef %3326, ptr noundef %3329, i32 noundef %3331) #10
  br label %3333

3333:                                             ; preds = %3316, %3299
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #10
  br label %3334

3334:                                             ; preds = %3333
  br label %3335

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

3336:                                             ; No predecessors!
  br label %3337

3337:                                             ; preds = %3336
  br label %3338

3338:                                             ; preds = %3337, %3280
  br label %3339

3339:                                             ; preds = %3338
  br label %3340

3340:                                             ; preds = %3339
  br label %3341

3341:                                             ; preds = %3340
  %3342 = load i32, ptr @test_count, align 4, !tbaa !5
  %3343 = add nsw i32 %3342, 1
  store i32 %3343, ptr @test_count, align 4, !tbaa !5
  %3344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = icmp eq i32 %3345, 335544322
  br i1 %3346, label %3400, label %3347

3347:                                             ; preds = %3341
  br label %3348

3348:                                             ; preds = %3347
  br label %3349

3349:                                             ; preds = %3348
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #10
  %3350 = call ptr @__errno_location() #11
  %3351 = load i32, ptr %3350, align 4, !tbaa !5
  store i32 %3351, ptr %65, align 4, !tbaa !5
  %3352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3353 = call i32 @s2n_print_stacktrace(ptr noundef %3352)
  %3354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3355 = trunc i8 %3354 to i1
  br i1 %3355, label %3356, label %3378

3356:                                             ; preds = %3349
  %3357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3358 = call i32 @fileno(ptr noundef %3357) #10
  %3359 = call i32 @isatty(i32 noundef %3358) #10
  %3360 = icmp ne i32 %3359, 0
  br i1 %3360, label %3361, label %3378

3361:                                             ; preds = %3356
  %3362 = load i32, ptr %65, align 4, !tbaa !5
  %3363 = call ptr @__errno_location() #11
  store i32 %3362, ptr %3363, align 4, !tbaa !5
  %3364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3365 = load i32, ptr @test_count, align 4, !tbaa !5
  %3366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3367 = load i32, ptr %3366, align 4, !tbaa !5
  %3368 = call ptr @s2n_strerror(i32 noundef %3367, ptr noundef @.str.4)
  %3369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3370 = load i32, ptr %3369, align 4, !tbaa !5
  %3371 = call ptr @s2n_strerror_debug(i32 noundef %3370, ptr noundef @.str.4)
  %3372 = call ptr @__errno_location() #11
  %3373 = load i32, ptr %3372, align 4, !tbaa !5
  %3374 = call ptr @strerror(i32 noundef %3373) #10
  %3375 = call ptr @__errno_location() #11
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  %3377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3364, ptr noundef @.str.2, i32 noundef %3365, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3368, ptr noundef %3371, ptr noundef %3374, i32 noundef %3376) #10
  br label %3395

3378:                                             ; preds = %3356, %3349
  %3379 = load i32, ptr %65, align 4, !tbaa !5
  %3380 = call ptr @__errno_location() #11
  store i32 %3379, ptr %3380, align 4, !tbaa !5
  %3381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3382 = load i32, ptr @test_count, align 4, !tbaa !5
  %3383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror(i32 noundef %3384, ptr noundef @.str.4)
  %3386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3387 = load i32, ptr %3386, align 4, !tbaa !5
  %3388 = call ptr @s2n_strerror_debug(i32 noundef %3387, ptr noundef @.str.4)
  %3389 = call ptr @__errno_location() #11
  %3390 = load i32, ptr %3389, align 4, !tbaa !5
  %3391 = call ptr @strerror(i32 noundef %3390) #10
  %3392 = call ptr @__errno_location() #11
  %3393 = load i32, ptr %3392, align 4, !tbaa !5
  %3394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3381, ptr noundef @.str.5, i32 noundef %3382, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3385, ptr noundef %3388, ptr noundef %3391, i32 noundef %3393) #10
  br label %3395

3395:                                             ; preds = %3378, %3361
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #10
  br label %3396

3396:                                             ; preds = %3395
  br label %3397

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

3398:                                             ; No predecessors!
  br label %3399

3399:                                             ; preds = %3398
  br label %3400

3400:                                             ; preds = %3399, %3341
  br label %3401

3401:                                             ; preds = %3400
  br label %3402

3402:                                             ; preds = %3401
  br label %3403

3403:                                             ; preds = %3402
  %3404 = load i32, ptr @test_count, align 4, !tbaa !5
  %3405 = add nsw i32 %3404, 1
  store i32 %3405, ptr @test_count, align 4, !tbaa !5
  %3406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3407 = load i32, ptr %3406, align 4, !tbaa !5
  %3408 = call ptr @s2n_strerror_debug(i32 noundef %3407, ptr noundef @.str.4)
  %3409 = icmp eq ptr %3408, null
  br i1 %3409, label %3410, label %3463

3410:                                             ; preds = %3403
  br label %3411

3411:                                             ; preds = %3410
  br label %3412

3412:                                             ; preds = %3411
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #10
  %3413 = call ptr @__errno_location() #11
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  store i32 %3414, ptr %66, align 4, !tbaa !5
  %3415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3416 = call i32 @s2n_print_stacktrace(ptr noundef %3415)
  %3417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3418 = trunc i8 %3417 to i1
  br i1 %3418, label %3419, label %3441

3419:                                             ; preds = %3412
  %3420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3421 = call i32 @fileno(ptr noundef %3420) #10
  %3422 = call i32 @isatty(i32 noundef %3421) #10
  %3423 = icmp ne i32 %3422, 0
  br i1 %3423, label %3424, label %3441

3424:                                             ; preds = %3419
  %3425 = load i32, ptr %66, align 4, !tbaa !5
  %3426 = call ptr @__errno_location() #11
  store i32 %3425, ptr %3426, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = load i32, ptr @test_count, align 4, !tbaa !5
  %3429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3430 = load i32, ptr %3429, align 4, !tbaa !5
  %3431 = call ptr @s2n_strerror(i32 noundef %3430, ptr noundef @.str.4)
  %3432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3433 = load i32, ptr %3432, align 4, !tbaa !5
  %3434 = call ptr @s2n_strerror_debug(i32 noundef %3433, ptr noundef @.str.4)
  %3435 = call ptr @__errno_location() #11
  %3436 = load i32, ptr %3435, align 4, !tbaa !5
  %3437 = call ptr @strerror(i32 noundef %3436) #10
  %3438 = call ptr @__errno_location() #11
  %3439 = load i32, ptr %3438, align 4, !tbaa !5
  %3440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3427, ptr noundef @.str.2, i32 noundef %3428, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3431, ptr noundef %3434, ptr noundef %3437, i32 noundef %3439) #10
  br label %3458

3441:                                             ; preds = %3419, %3412
  %3442 = load i32, ptr %66, align 4, !tbaa !5
  %3443 = call ptr @__errno_location() #11
  store i32 %3442, ptr %3443, align 4, !tbaa !5
  %3444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3447 = load i32, ptr %3446, align 4, !tbaa !5
  %3448 = call ptr @s2n_strerror(i32 noundef %3447, ptr noundef @.str.4)
  %3449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3450 = load i32, ptr %3449, align 4, !tbaa !5
  %3451 = call ptr @s2n_strerror_debug(i32 noundef %3450, ptr noundef @.str.4)
  %3452 = call ptr @__errno_location() #11
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  %3454 = call ptr @strerror(i32 noundef %3453) #10
  %3455 = call ptr @__errno_location() #11
  %3456 = load i32, ptr %3455, align 4, !tbaa !5
  %3457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3444, ptr noundef @.str.5, i32 noundef %3445, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3448, ptr noundef %3451, ptr noundef %3454, i32 noundef %3456) #10
  br label %3458

3458:                                             ; preds = %3441, %3424
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #10
  br label %3459

3459:                                             ; preds = %3458
  br label %3460

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

3461:                                             ; No predecessors!
  br label %3462

3462:                                             ; preds = %3461
  br label %3463

3463:                                             ; preds = %3462, %3403
  br label %3464

3464:                                             ; preds = %3463
  br label %3465

3465:                                             ; preds = %3464
  br label %3466

3466:                                             ; preds = %3465
  br label %3467

3467:                                             ; preds = %3466
  br label %3468

3468:                                             ; preds = %3467
  %3469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3469, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3470 = call ptr @__errno_location() #11
  store i32 0, ptr %3470, align 4, !tbaa !5
  br label %3471

3471:                                             ; preds = %3468
  br label %3472

3472:                                             ; preds = %3471
  br label %3473

3473:                                             ; preds = %3472
  br label %3474

3474:                                             ; preds = %3473
  br label %3475

3475:                                             ; preds = %3474
  %3476 = load i32, ptr @test_count, align 4, !tbaa !5
  %3477 = add nsw i32 %3476, 1
  store i32 %3477, ptr @test_count, align 4, !tbaa !5
  %3478 = getelementptr inbounds %struct.s2n_stuffer, ptr %60, i32 0, i32 2
  %3479 = load i32, ptr %3478, align 4, !tbaa !21
  %3480 = getelementptr inbounds %struct.s2n_stuffer, ptr %60, i32 0, i32 1
  %3481 = load i32, ptr %3480, align 8, !tbaa !23
  %3482 = sub i32 %3479, %3481
  %3483 = icmp eq i32 %3482, 0
  br i1 %3483, label %3537, label %3484

3484:                                             ; preds = %3475
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

3486:                                             ; preds = %3485
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #10
  %3487 = call ptr @__errno_location() #11
  %3488 = load i32, ptr %3487, align 4, !tbaa !5
  store i32 %3488, ptr %67, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = call i32 @s2n_print_stacktrace(ptr noundef %3489)
  %3491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3492 = trunc i8 %3491 to i1
  br i1 %3492, label %3493, label %3515

3493:                                             ; preds = %3486
  %3494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3495 = call i32 @fileno(ptr noundef %3494) #10
  %3496 = call i32 @isatty(i32 noundef %3495) #10
  %3497 = icmp ne i32 %3496, 0
  br i1 %3497, label %3498, label %3515

3498:                                             ; preds = %3493
  %3499 = load i32, ptr %67, align 4, !tbaa !5
  %3500 = call ptr @__errno_location() #11
  store i32 %3499, ptr %3500, align 4, !tbaa !5
  %3501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3502 = load i32, ptr @test_count, align 4, !tbaa !5
  %3503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3504 = load i32, ptr %3503, align 4, !tbaa !5
  %3505 = call ptr @s2n_strerror(i32 noundef %3504, ptr noundef @.str.4)
  %3506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3507 = load i32, ptr %3506, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror_debug(i32 noundef %3507, ptr noundef @.str.4)
  %3509 = call ptr @__errno_location() #11
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call ptr @strerror(i32 noundef %3510) #10
  %3512 = call ptr @__errno_location() #11
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3501, ptr noundef @.str.2, i32 noundef %3502, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 180, ptr noundef %3505, ptr noundef %3508, ptr noundef %3511, i32 noundef %3513) #10
  br label %3532

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

3532:                                             ; preds = %3515, %3498
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #10
  br label %3533

3533:                                             ; preds = %3532
  br label %3534

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

3535:                                             ; No predecessors!
  br label %3536

3536:                                             ; preds = %3535
  br label %3537

3537:                                             ; preds = %3536, %3475
  br label %3538

3538:                                             ; preds = %3537
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539
  br label %3541

3541:                                             ; preds = %3540
  %3542 = load i32, ptr @test_count, align 4, !tbaa !5
  %3543 = add nsw i32 %3542, 1
  store i32 %3543, ptr @test_count, align 4, !tbaa !5
  %3544 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %59, i32 0, i32 0
  %3545 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %3544, i64 0, i64 0
  %3546 = call i32 @memcmp(ptr noundef %3545, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %3547 = icmp eq i32 %3546, 0
  br i1 %3547, label %3601, label %3548

3548:                                             ; preds = %3541
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #10
  %3551 = call ptr @__errno_location() #11
  %3552 = load i32, ptr %3551, align 4, !tbaa !5
  store i32 %3552, ptr %68, align 4, !tbaa !5
  %3553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3554 = call i32 @s2n_print_stacktrace(ptr noundef %3553)
  %3555 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3556 = trunc i8 %3555 to i1
  br i1 %3556, label %3557, label %3579

3557:                                             ; preds = %3550
  %3558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3559 = call i32 @fileno(ptr noundef %3558) #10
  %3560 = call i32 @isatty(i32 noundef %3559) #10
  %3561 = icmp ne i32 %3560, 0
  br i1 %3561, label %3562, label %3579

3562:                                             ; preds = %3557
  %3563 = load i32, ptr %68, align 4, !tbaa !5
  %3564 = call ptr @__errno_location() #11
  store i32 %3563, ptr %3564, align 4, !tbaa !5
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3566 = load i32, ptr @test_count, align 4, !tbaa !5
  %3567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3568 = load i32, ptr %3567, align 4, !tbaa !5
  %3569 = call ptr @s2n_strerror(i32 noundef %3568, ptr noundef @.str.4)
  %3570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3571 = load i32, ptr %3570, align 4, !tbaa !5
  %3572 = call ptr @s2n_strerror_debug(i32 noundef %3571, ptr noundef @.str.4)
  %3573 = call ptr @__errno_location() #11
  %3574 = load i32, ptr %3573, align 4, !tbaa !5
  %3575 = call ptr @strerror(i32 noundef %3574) #10
  %3576 = call ptr @__errno_location() #11
  %3577 = load i32, ptr %3576, align 4, !tbaa !5
  %3578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3565, ptr noundef @.str.2, i32 noundef %3566, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 181, ptr noundef %3569, ptr noundef %3572, ptr noundef %3575, i32 noundef %3577) #10
  br label %3596

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

3596:                                             ; preds = %3579, %3562
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #10
  br label %3597

3597:                                             ; preds = %3596
  br label %3598

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

3599:                                             ; No predecessors!
  br label %3600

3600:                                             ; preds = %3599
  br label %3601

3601:                                             ; preds = %3600, %3541
  br label %3602

3602:                                             ; preds = %3601
  br label %3603

3603:                                             ; preds = %3602
  br label %3604

3604:                                             ; preds = %3603
  br label %3605

3605:                                             ; preds = %3604
  br label %3606

3606:                                             ; preds = %3605
  %3607 = load i32, ptr @test_count, align 4, !tbaa !5
  %3608 = add nsw i32 %3607, 1
  store i32 %3608, ptr @test_count, align 4, !tbaa !5
  %3609 = call i32 @s2n_stuffer_free(ptr noundef %60)
  %3610 = icmp eq i32 %3609, -1
  br i1 %3610, label %3611, label %3664

3611:                                             ; preds = %3606
  br label %3612

3612:                                             ; preds = %3611
  br label %3613

3613:                                             ; preds = %3612
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #10
  %3614 = call ptr @__errno_location() #11
  %3615 = load i32, ptr %3614, align 4, !tbaa !5
  store i32 %3615, ptr %69, align 4, !tbaa !5
  %3616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3617 = call i32 @s2n_print_stacktrace(ptr noundef %3616)
  %3618 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3619 = trunc i8 %3618 to i1
  br i1 %3619, label %3620, label %3642

3620:                                             ; preds = %3613
  %3621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3622 = call i32 @fileno(ptr noundef %3621) #10
  %3623 = call i32 @isatty(i32 noundef %3622) #10
  %3624 = icmp ne i32 %3623, 0
  br i1 %3624, label %3625, label %3642

3625:                                             ; preds = %3620
  %3626 = load i32, ptr %69, align 4, !tbaa !5
  %3627 = call ptr @__errno_location() #11
  store i32 %3626, ptr %3627, align 4, !tbaa !5
  %3628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3629 = load i32, ptr @test_count, align 4, !tbaa !5
  %3630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3631 = load i32, ptr %3630, align 4, !tbaa !5
  %3632 = call ptr @s2n_strerror(i32 noundef %3631, ptr noundef @.str.4)
  %3633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3634 = load i32, ptr %3633, align 4, !tbaa !5
  %3635 = call ptr @s2n_strerror_debug(i32 noundef %3634, ptr noundef @.str.4)
  %3636 = call ptr @__errno_location() #11
  %3637 = load i32, ptr %3636, align 4, !tbaa !5
  %3638 = call ptr @strerror(i32 noundef %3637) #10
  %3639 = call ptr @__errno_location() #11
  %3640 = load i32, ptr %3639, align 4, !tbaa !5
  %3641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3628, ptr noundef @.str.2, i32 noundef %3629, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3632, ptr noundef %3635, ptr noundef %3638, i32 noundef %3640) #10
  br label %3659

3642:                                             ; preds = %3620, %3613
  %3643 = load i32, ptr %69, align 4, !tbaa !5
  %3644 = call ptr @__errno_location() #11
  store i32 %3643, ptr %3644, align 4, !tbaa !5
  %3645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3646 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3648, ptr noundef @.str.4)
  %3650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3651 = load i32, ptr %3650, align 4, !tbaa !5
  %3652 = call ptr @s2n_strerror_debug(i32 noundef %3651, ptr noundef @.str.4)
  %3653 = call ptr @__errno_location() #11
  %3654 = load i32, ptr %3653, align 4, !tbaa !5
  %3655 = call ptr @strerror(i32 noundef %3654) #10
  %3656 = call ptr @__errno_location() #11
  %3657 = load i32, ptr %3656, align 4, !tbaa !5
  %3658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3645, ptr noundef @.str.5, i32 noundef %3646, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 183, ptr noundef %3649, ptr noundef %3652, ptr noundef %3655, i32 noundef %3657) #10
  br label %3659

3659:                                             ; preds = %3642, %3625
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #10
  br label %3660

3660:                                             ; preds = %3659
  br label %3661

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

3662:                                             ; No predecessors!
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

3664:                                             ; preds = %3663, %3606
  br label %3665

3665:                                             ; preds = %3664
  br label %3666

3666:                                             ; preds = %3665
  call void @llvm.lifetime.end.p0(i64 40, ptr %60) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %59) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %70) #10
  call void @llvm.memset.p0.i64(ptr align 8 %70, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %71) #10
  call void @llvm.memset.p0.i64(ptr align 8 %71, i8 0, i64 40, i1 false)
  br label %3667

3667:                                             ; preds = %3666
  %3668 = load i32, ptr @test_count, align 4, !tbaa !5
  %3669 = add nsw i32 %3668, 1
  store i32 %3669, ptr @test_count, align 4, !tbaa !5
  %3670 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %71, i32 noundef 0)
  %3671 = icmp eq i32 %3670, -1
  br i1 %3671, label %3672, label %3725

3672:                                             ; preds = %3667
  br label %3673

3673:                                             ; preds = %3672
  br label %3674

3674:                                             ; preds = %3673
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #10
  %3675 = call ptr @__errno_location() #11
  %3676 = load i32, ptr %3675, align 4, !tbaa !5
  store i32 %3676, ptr %72, align 4, !tbaa !5
  %3677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3678 = call i32 @s2n_print_stacktrace(ptr noundef %3677)
  %3679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3680 = trunc i8 %3679 to i1
  br i1 %3680, label %3681, label %3703

3681:                                             ; preds = %3674
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @fileno(ptr noundef %3682) #10
  %3684 = call i32 @isatty(i32 noundef %3683) #10
  %3685 = icmp ne i32 %3684, 0
  br i1 %3685, label %3686, label %3703

3686:                                             ; preds = %3681
  %3687 = load i32, ptr %72, align 4, !tbaa !5
  %3688 = call ptr @__errno_location() #11
  store i32 %3687, ptr %3688, align 4, !tbaa !5
  %3689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3690 = load i32, ptr @test_count, align 4, !tbaa !5
  %3691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3692 = load i32, ptr %3691, align 4, !tbaa !5
  %3693 = call ptr @s2n_strerror(i32 noundef %3692, ptr noundef @.str.4)
  %3694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3695 = load i32, ptr %3694, align 4, !tbaa !5
  %3696 = call ptr @s2n_strerror_debug(i32 noundef %3695, ptr noundef @.str.4)
  %3697 = call ptr @__errno_location() #11
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call ptr @strerror(i32 noundef %3698) #10
  %3700 = call ptr @__errno_location() #11
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3689, ptr noundef @.str.2, i32 noundef %3690, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 190, ptr noundef %3693, ptr noundef %3696, ptr noundef %3699, i32 noundef %3701) #10
  br label %3720

3703:                                             ; preds = %3681, %3674
  %3704 = load i32, ptr %72, align 4, !tbaa !5
  %3705 = call ptr @__errno_location() #11
  store i32 %3704, ptr %3705, align 4, !tbaa !5
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3707 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3709, ptr noundef @.str.4)
  %3711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror_debug(i32 noundef %3712, ptr noundef @.str.4)
  %3714 = call ptr @__errno_location() #11
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @strerror(i32 noundef %3715) #10
  %3717 = call ptr @__errno_location() #11
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3706, ptr noundef @.str.5, i32 noundef %3707, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 190, ptr noundef %3710, ptr noundef %3713, ptr noundef %3716, i32 noundef %3718) #10
  br label %3720

3720:                                             ; preds = %3703, %3686
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #10
  br label %3721

3721:                                             ; preds = %3720
  br label %3722

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

3723:                                             ; No predecessors!
  br label %3724

3724:                                             ; preds = %3723
  br label %3725

3725:                                             ; preds = %3724, %3667
  br label %3726

3726:                                             ; preds = %3725
  br label %3727

3727:                                             ; preds = %3726
  call void @llvm.lifetime.start.p0(i64 16, ptr %73) #10
  call void @llvm.memset.p0.i64(ptr align 8 %73, i8 0, i64 16, i1 false)
  br label %3728

3728:                                             ; preds = %3727
  %3729 = load i32, ptr @test_count, align 4, !tbaa !5
  %3730 = add nsw i32 %3729, 1
  store i32 %3730, ptr @test_count, align 4, !tbaa !5
  %3731 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %71, ptr noundef %73)
  %3732 = icmp eq i32 %3731, -1
  br i1 %3732, label %3733, label %3786

3733:                                             ; preds = %3728
  br label %3734

3734:                                             ; preds = %3733
  br label %3735

3735:                                             ; preds = %3734
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #10
  %3736 = call ptr @__errno_location() #11
  %3737 = load i32, ptr %3736, align 4, !tbaa !5
  store i32 %3737, ptr %74, align 4, !tbaa !5
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3739 = call i32 @s2n_print_stacktrace(ptr noundef %3738)
  %3740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3741 = trunc i8 %3740 to i1
  br i1 %3741, label %3742, label %3764

3742:                                             ; preds = %3735
  %3743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3744 = call i32 @fileno(ptr noundef %3743) #10
  %3745 = call i32 @isatty(i32 noundef %3744) #10
  %3746 = icmp ne i32 %3745, 0
  br i1 %3746, label %3747, label %3764

3747:                                             ; preds = %3742
  %3748 = load i32, ptr %74, align 4, !tbaa !5
  %3749 = call ptr @__errno_location() #11
  store i32 %3748, ptr %3749, align 4, !tbaa !5
  %3750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3751 = load i32, ptr @test_count, align 4, !tbaa !5
  %3752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3753 = load i32, ptr %3752, align 4, !tbaa !5
  %3754 = call ptr @s2n_strerror(i32 noundef %3753, ptr noundef @.str.4)
  %3755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3756 = load i32, ptr %3755, align 4, !tbaa !5
  %3757 = call ptr @s2n_strerror_debug(i32 noundef %3756, ptr noundef @.str.4)
  %3758 = call ptr @__errno_location() #11
  %3759 = load i32, ptr %3758, align 4, !tbaa !5
  %3760 = call ptr @strerror(i32 noundef %3759) #10
  %3761 = call ptr @__errno_location() #11
  %3762 = load i32, ptr %3761, align 4, !tbaa !5
  %3763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3750, ptr noundef @.str.2, i32 noundef %3751, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3754, ptr noundef %3757, ptr noundef %3760, i32 noundef %3762) #10
  br label %3781

3764:                                             ; preds = %3742, %3735
  %3765 = load i32, ptr %74, align 4, !tbaa !5
  %3766 = call ptr @__errno_location() #11
  store i32 %3765, ptr %3766, align 4, !tbaa !5
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = load i32, ptr @test_count, align 4, !tbaa !5
  %3769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3770 = load i32, ptr %3769, align 4, !tbaa !5
  %3771 = call ptr @s2n_strerror(i32 noundef %3770, ptr noundef @.str.4)
  %3772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3773 = load i32, ptr %3772, align 4, !tbaa !5
  %3774 = call ptr @s2n_strerror_debug(i32 noundef %3773, ptr noundef @.str.4)
  %3775 = call ptr @__errno_location() #11
  %3776 = load i32, ptr %3775, align 4, !tbaa !5
  %3777 = call ptr @strerror(i32 noundef %3776) #10
  %3778 = call ptr @__errno_location() #11
  %3779 = load i32, ptr %3778, align 4, !tbaa !5
  %3780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3767, ptr noundef @.str.5, i32 noundef %3768, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3771, ptr noundef %3774, ptr noundef %3777, i32 noundef %3779) #10
  br label %3781

3781:                                             ; preds = %3764, %3747
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #10
  br label %3782

3782:                                             ; preds = %3781
  br label %3783

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

3784:                                             ; No predecessors!
  br label %3785

3785:                                             ; preds = %3784
  br label %3786

3786:                                             ; preds = %3785, %3728
  br label %3787

3787:                                             ; preds = %3786
  br label %3788

3788:                                             ; preds = %3787
  br label %3789

3789:                                             ; preds = %3788
  %3790 = load i32, ptr @test_count, align 4, !tbaa !5
  %3791 = add nsw i32 %3790, 1
  store i32 %3791, ptr @test_count, align 4, !tbaa !5
  %3792 = load ptr, ptr %7, align 8, !tbaa !9
  %3793 = call i32 @s2n_extension_send(ptr noundef @test_extension, ptr noundef %3792, ptr noundef %71)
  %3794 = icmp eq i32 %3793, -1
  br i1 %3794, label %3795, label %3848

3795:                                             ; preds = %3789
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #10
  %3798 = call ptr @__errno_location() #11
  %3799 = load i32, ptr %3798, align 4, !tbaa !5
  store i32 %3799, ptr %75, align 4, !tbaa !5
  %3800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3801 = call i32 @s2n_print_stacktrace(ptr noundef %3800)
  %3802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3803 = trunc i8 %3802 to i1
  br i1 %3803, label %3804, label %3826

3804:                                             ; preds = %3797
  %3805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3806 = call i32 @fileno(ptr noundef %3805) #10
  %3807 = call i32 @isatty(i32 noundef %3806) #10
  %3808 = icmp ne i32 %3807, 0
  br i1 %3808, label %3809, label %3826

3809:                                             ; preds = %3804
  %3810 = load i32, ptr %75, align 4, !tbaa !5
  %3811 = call ptr @__errno_location() #11
  store i32 %3810, ptr %3811, align 4, !tbaa !5
  %3812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3813 = load i32, ptr @test_count, align 4, !tbaa !5
  %3814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3815 = load i32, ptr %3814, align 4, !tbaa !5
  %3816 = call ptr @s2n_strerror(i32 noundef %3815, ptr noundef @.str.4)
  %3817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3818 = load i32, ptr %3817, align 4, !tbaa !5
  %3819 = call ptr @s2n_strerror_debug(i32 noundef %3818, ptr noundef @.str.4)
  %3820 = call ptr @__errno_location() #11
  %3821 = load i32, ptr %3820, align 4, !tbaa !5
  %3822 = call ptr @strerror(i32 noundef %3821) #10
  %3823 = call ptr @__errno_location() #11
  %3824 = load i32, ptr %3823, align 4, !tbaa !5
  %3825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3812, ptr noundef @.str.2, i32 noundef %3813, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 196, ptr noundef %3816, ptr noundef %3819, ptr noundef %3822, i32 noundef %3824) #10
  br label %3843

3826:                                             ; preds = %3804, %3797
  %3827 = load i32, ptr %75, align 4, !tbaa !5
  %3828 = call ptr @__errno_location() #11
  store i32 %3827, ptr %3828, align 4, !tbaa !5
  %3829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3830 = load i32, ptr @test_count, align 4, !tbaa !5
  %3831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3832 = load i32, ptr %3831, align 4, !tbaa !5
  %3833 = call ptr @s2n_strerror(i32 noundef %3832, ptr noundef @.str.4)
  %3834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3835 = load i32, ptr %3834, align 4, !tbaa !5
  %3836 = call ptr @s2n_strerror_debug(i32 noundef %3835, ptr noundef @.str.4)
  %3837 = call ptr @__errno_location() #11
  %3838 = load i32, ptr %3837, align 4, !tbaa !5
  %3839 = call ptr @strerror(i32 noundef %3838) #10
  %3840 = call ptr @__errno_location() #11
  %3841 = load i32, ptr %3840, align 4, !tbaa !5
  %3842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3829, ptr noundef @.str.5, i32 noundef %3830, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 196, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #10
  br label %3843

3843:                                             ; preds = %3826, %3809
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #10
  br label %3844

3844:                                             ; preds = %3843
  br label %3845

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

3846:                                             ; No predecessors!
  br label %3847

3847:                                             ; preds = %3846
  br label %3848

3848:                                             ; preds = %3847, %3789
  br label %3849

3849:                                             ; preds = %3848
  br label %3850

3850:                                             ; preds = %3849
  br label %3851

3851:                                             ; preds = %3850
  %3852 = load i32, ptr @test_count, align 4, !tbaa !5
  %3853 = add nsw i32 %3852, 1
  store i32 %3853, ptr @test_count, align 4, !tbaa !5
  %3854 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 2
  %3855 = load i32, ptr %3854, align 4, !tbaa !21
  %3856 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 1
  %3857 = load i32, ptr %3856, align 8, !tbaa !23
  %3858 = sub i32 %3855, %3857
  %3859 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %73, i32 0, i32 2
  %3860 = load i8, ptr %3859, align 4, !tbaa !30
  %3861 = zext i8 %3860 to i32
  %3862 = icmp ugt i32 %3858, %3861
  br i1 %3862, label %3916, label %3863

3863:                                             ; preds = %3851
  br label %3864

3864:                                             ; preds = %3863
  br label %3865

3865:                                             ; preds = %3864
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #10
  %3866 = call ptr @__errno_location() #11
  %3867 = load i32, ptr %3866, align 4, !tbaa !5
  store i32 %3867, ptr %76, align 4, !tbaa !5
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @s2n_print_stacktrace(ptr noundef %3868)
  %3870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3871 = trunc i8 %3870 to i1
  br i1 %3871, label %3872, label %3894

3872:                                             ; preds = %3865
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = call i32 @fileno(ptr noundef %3873) #10
  %3875 = call i32 @isatty(i32 noundef %3874) #10
  %3876 = icmp ne i32 %3875, 0
  br i1 %3876, label %3877, label %3894

3877:                                             ; preds = %3872
  %3878 = load i32, ptr %76, align 4, !tbaa !5
  %3879 = call ptr @__errno_location() #11
  store i32 %3878, ptr %3879, align 4, !tbaa !5
  %3880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3881 = load i32, ptr @test_count, align 4, !tbaa !5
  %3882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3883 = load i32, ptr %3882, align 4, !tbaa !5
  %3884 = call ptr @s2n_strerror(i32 noundef %3883, ptr noundef @.str.4)
  %3885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3886 = load i32, ptr %3885, align 4, !tbaa !5
  %3887 = call ptr @s2n_strerror_debug(i32 noundef %3886, ptr noundef @.str.4)
  %3888 = call ptr @__errno_location() #11
  %3889 = load i32, ptr %3888, align 4, !tbaa !5
  %3890 = call ptr @strerror(i32 noundef %3889) #10
  %3891 = call ptr @__errno_location() #11
  %3892 = load i32, ptr %3891, align 4, !tbaa !5
  %3893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3880, ptr noundef @.str.2, i32 noundef %3881, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 198, ptr noundef %3884, ptr noundef %3887, ptr noundef %3890, i32 noundef %3892) #10
  br label %3911

3894:                                             ; preds = %3872, %3865
  %3895 = load i32, ptr %76, align 4, !tbaa !5
  %3896 = call ptr @__errno_location() #11
  store i32 %3895, ptr %3896, align 4, !tbaa !5
  %3897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3898 = load i32, ptr @test_count, align 4, !tbaa !5
  %3899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3900 = load i32, ptr %3899, align 4, !tbaa !5
  %3901 = call ptr @s2n_strerror(i32 noundef %3900, ptr noundef @.str.4)
  %3902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3903 = load i32, ptr %3902, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror_debug(i32 noundef %3903, ptr noundef @.str.4)
  %3905 = call ptr @__errno_location() #11
  %3906 = load i32, ptr %3905, align 4, !tbaa !5
  %3907 = call ptr @strerror(i32 noundef %3906) #10
  %3908 = call ptr @__errno_location() #11
  %3909 = load i32, ptr %3908, align 4, !tbaa !5
  %3910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3897, ptr noundef @.str.5, i32 noundef %3898, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 198, ptr noundef %3901, ptr noundef %3904, ptr noundef %3907, i32 noundef %3909) #10
  br label %3911

3911:                                             ; preds = %3894, %3877
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #10
  br label %3912

3912:                                             ; preds = %3911
  br label %3913

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

3914:                                             ; No predecessors!
  br label %3915

3915:                                             ; preds = %3914
  br label %3916

3916:                                             ; preds = %3915, %3851
  br label %3917

3917:                                             ; preds = %3916
  br label %3918

3918:                                             ; preds = %3917
  br label %3919

3919:                                             ; preds = %3918
  %3920 = load i32, ptr @test_count, align 4, !tbaa !5
  %3921 = add nsw i32 %3920, 1
  store i32 %3921, ptr @test_count, align 4, !tbaa !5
  %3922 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %73)
  %3923 = icmp eq i32 %3922, -1
  br i1 %3923, label %3924, label %3977

3924:                                             ; preds = %3919
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #10
  %3927 = call ptr @__errno_location() #11
  %3928 = load i32, ptr %3927, align 4, !tbaa !5
  store i32 %3928, ptr %77, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = call i32 @s2n_print_stacktrace(ptr noundef %3929)
  %3931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3932 = trunc i8 %3931 to i1
  br i1 %3932, label %3933, label %3955

3933:                                             ; preds = %3926
  %3934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3935 = call i32 @fileno(ptr noundef %3934) #10
  %3936 = call i32 @isatty(i32 noundef %3935) #10
  %3937 = icmp ne i32 %3936, 0
  br i1 %3937, label %3938, label %3955

3938:                                             ; preds = %3933
  %3939 = load i32, ptr %77, align 4, !tbaa !5
  %3940 = call ptr @__errno_location() #11
  store i32 %3939, ptr %3940, align 4, !tbaa !5
  %3941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3942 = load i32, ptr @test_count, align 4, !tbaa !5
  %3943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3944 = load i32, ptr %3943, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror(i32 noundef %3944, ptr noundef @.str.4)
  %3946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3947 = load i32, ptr %3946, align 4, !tbaa !5
  %3948 = call ptr @s2n_strerror_debug(i32 noundef %3947, ptr noundef @.str.4)
  %3949 = call ptr @__errno_location() #11
  %3950 = load i32, ptr %3949, align 4, !tbaa !5
  %3951 = call ptr @strerror(i32 noundef %3950) #10
  %3952 = call ptr @__errno_location() #11
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  %3954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3941, ptr noundef @.str.2, i32 noundef %3942, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 199, ptr noundef %3945, ptr noundef %3948, ptr noundef %3951, i32 noundef %3953) #10
  br label %3972

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

3972:                                             ; preds = %3955, %3938
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #10
  br label %3973

3973:                                             ; preds = %3972
  br label %3974

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

3975:                                             ; No predecessors!
  br label %3976

3976:                                             ; preds = %3975
  br label %3977

3977:                                             ; preds = %3976, %3919
  br label %3978

3978:                                             ; preds = %3977
  br label %3979

3979:                                             ; preds = %3978
  br label %3980

3980:                                             ; preds = %3979
  %3981 = load i32, ptr @test_count, align 4, !tbaa !5
  %3982 = add nsw i32 %3981, 1
  store i32 %3982, ptr @test_count, align 4, !tbaa !5
  %3983 = call i32 @s2n_extension_list_parse(ptr noundef %71, ptr noundef %70)
  %3984 = icmp eq i32 %3983, -1
  br i1 %3984, label %3985, label %4038

3985:                                             ; preds = %3980
  br label %3986

3986:                                             ; preds = %3985
  br label %3987

3987:                                             ; preds = %3986
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #10
  %3988 = call ptr @__errno_location() #11
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  store i32 %3989, ptr %78, align 4, !tbaa !5
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @s2n_print_stacktrace(ptr noundef %3990)
  %3992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3993 = trunc i8 %3992 to i1
  br i1 %3993, label %3994, label %4016

3994:                                             ; preds = %3987
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = call i32 @fileno(ptr noundef %3995) #10
  %3997 = call i32 @isatty(i32 noundef %3996) #10
  %3998 = icmp ne i32 %3997, 0
  br i1 %3998, label %3999, label %4016

3999:                                             ; preds = %3994
  %4000 = load i32, ptr %78, align 4, !tbaa !5
  %4001 = call ptr @__errno_location() #11
  store i32 %4000, ptr %4001, align 4, !tbaa !5
  %4002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call ptr @s2n_strerror(i32 noundef %4005, ptr noundef @.str.4)
  %4007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4008 = load i32, ptr %4007, align 4, !tbaa !5
  %4009 = call ptr @s2n_strerror_debug(i32 noundef %4008, ptr noundef @.str.4)
  %4010 = call ptr @__errno_location() #11
  %4011 = load i32, ptr %4010, align 4, !tbaa !5
  %4012 = call ptr @strerror(i32 noundef %4011) #10
  %4013 = call ptr @__errno_location() #11
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  %4015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4002, ptr noundef @.str.2, i32 noundef %4003, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 201, ptr noundef %4006, ptr noundef %4009, ptr noundef %4012, i32 noundef %4014) #10
  br label %4033

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

4033:                                             ; preds = %4016, %3999
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #10
  br label %4034

4034:                                             ; preds = %4033
  br label %4035

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

4036:                                             ; No predecessors!
  br label %4037

4037:                                             ; preds = %4036
  br label %4038

4038:                                             ; preds = %4037, %3980
  br label %4039

4039:                                             ; preds = %4038
  br label %4040

4040:                                             ; preds = %4039
  br label %4041

4041:                                             ; preds = %4040
  %4042 = load i32, ptr @test_count, align 4, !tbaa !5
  %4043 = add nsw i32 %4042, 1
  store i32 %4043, ptr @test_count, align 4, !tbaa !5
  %4044 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 2
  %4045 = load i32, ptr %4044, align 4, !tbaa !21
  %4046 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 1
  %4047 = load i32, ptr %4046, align 8, !tbaa !23
  %4048 = sub i32 %4045, %4047
  %4049 = icmp eq i32 %4048, 0
  br i1 %4049, label %4103, label %4050

4050:                                             ; preds = %4041
  br label %4051

4051:                                             ; preds = %4050
  br label %4052

4052:                                             ; preds = %4051
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #10
  %4053 = call ptr @__errno_location() #11
  %4054 = load i32, ptr %4053, align 4, !tbaa !5
  store i32 %4054, ptr %79, align 4, !tbaa !5
  %4055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4056 = call i32 @s2n_print_stacktrace(ptr noundef %4055)
  %4057 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4058 = trunc i8 %4057 to i1
  br i1 %4058, label %4059, label %4081

4059:                                             ; preds = %4052
  %4060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4061 = call i32 @fileno(ptr noundef %4060) #10
  %4062 = call i32 @isatty(i32 noundef %4061) #10
  %4063 = icmp ne i32 %4062, 0
  br i1 %4063, label %4064, label %4081

4064:                                             ; preds = %4059
  %4065 = load i32, ptr %79, align 4, !tbaa !5
  %4066 = call ptr @__errno_location() #11
  store i32 %4065, ptr %4066, align 4, !tbaa !5
  %4067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4068 = load i32, ptr @test_count, align 4, !tbaa !5
  %4069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4070 = load i32, ptr %4069, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror(i32 noundef %4070, ptr noundef @.str.4)
  %4072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4073 = load i32, ptr %4072, align 4, !tbaa !5
  %4074 = call ptr @s2n_strerror_debug(i32 noundef %4073, ptr noundef @.str.4)
  %4075 = call ptr @__errno_location() #11
  %4076 = load i32, ptr %4075, align 4, !tbaa !5
  %4077 = call ptr @strerror(i32 noundef %4076) #10
  %4078 = call ptr @__errno_location() #11
  %4079 = load i32, ptr %4078, align 4, !tbaa !5
  %4080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4067, ptr noundef @.str.2, i32 noundef %4068, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4071, ptr noundef %4074, ptr noundef %4077, i32 noundef %4079) #10
  br label %4098

4081:                                             ; preds = %4059, %4052
  %4082 = load i32, ptr %79, 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.5, i32 noundef %4085, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4088, ptr noundef %4091, ptr noundef %4094, i32 noundef %4096) #10
  br label %4098

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

4099:                                             ; preds = %4098
  br label %4100

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

4101:                                             ; No predecessors!
  br label %4102

4102:                                             ; preds = %4101
  br label %4103

4103:                                             ; preds = %4102, %4041
  br label %4104

4104:                                             ; preds = %4103
  br label %4105

4105:                                             ; preds = %4104
  br label %4106

4106:                                             ; preds = %4105
  %4107 = load i32, ptr @test_count, align 4, !tbaa !5
  %4108 = add nsw i32 %4107, 1
  store i32 %4108, ptr @test_count, align 4, !tbaa !5
  %4109 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4110 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4109, i64 0, i64 0
  %4111 = call i32 @memcmp(ptr noundef %4110, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %4112 = icmp eq i32 %4111, 0
  br i1 %4112, label %4113, label %4166

4113:                                             ; preds = %4106
  br label %4114

4114:                                             ; preds = %4113
  br label %4115

4115:                                             ; preds = %4114
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #10
  %4116 = call ptr @__errno_location() #11
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  store i32 %4117, ptr %80, align 4, !tbaa !5
  %4118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4119 = call i32 @s2n_print_stacktrace(ptr noundef %4118)
  %4120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4121 = trunc i8 %4120 to i1
  br i1 %4121, label %4122, label %4144

4122:                                             ; preds = %4115
  %4123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4124 = call i32 @fileno(ptr noundef %4123) #10
  %4125 = call i32 @isatty(i32 noundef %4124) #10
  %4126 = icmp ne i32 %4125, 0
  br i1 %4126, label %4127, label %4144

4127:                                             ; preds = %4122
  %4128 = load i32, ptr %80, align 4, !tbaa !5
  %4129 = call ptr @__errno_location() #11
  store i32 %4128, ptr %4129, align 4, !tbaa !5
  %4130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4131 = load i32, ptr @test_count, align 4, !tbaa !5
  %4132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call ptr @s2n_strerror(i32 noundef %4133, ptr noundef @.str.4)
  %4135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4136 = load i32, ptr %4135, align 4, !tbaa !5
  %4137 = call ptr @s2n_strerror_debug(i32 noundef %4136, ptr noundef @.str.4)
  %4138 = call ptr @__errno_location() #11
  %4139 = load i32, ptr %4138, align 4, !tbaa !5
  %4140 = call ptr @strerror(i32 noundef %4139) #10
  %4141 = call ptr @__errno_location() #11
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  %4143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4130, ptr noundef @.str.2, i32 noundef %4131, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4134, ptr noundef %4137, ptr noundef %4140, i32 noundef %4142) #10
  br label %4161

4144:                                             ; preds = %4122, %4115
  %4145 = load i32, ptr %80, align 4, !tbaa !5
  %4146 = call ptr @__errno_location() #11
  store i32 %4145, ptr %4146, align 4, !tbaa !5
  %4147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4148 = load i32, ptr @test_count, align 4, !tbaa !5
  %4149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4150 = load i32, ptr %4149, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef @.str.4)
  %4152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4153 = load i32, ptr %4152, align 4, !tbaa !5
  %4154 = call ptr @s2n_strerror_debug(i32 noundef %4153, ptr noundef @.str.4)
  %4155 = call ptr @__errno_location() #11
  %4156 = load i32, ptr %4155, align 4, !tbaa !5
  %4157 = call ptr @strerror(i32 noundef %4156) #10
  %4158 = call ptr @__errno_location() #11
  %4159 = load i32, ptr %4158, align 4, !tbaa !5
  %4160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4147, ptr noundef @.str.5, i32 noundef %4148, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4151, ptr noundef %4154, ptr noundef %4157, i32 noundef %4159) #10
  br label %4161

4161:                                             ; preds = %4144, %4127
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #10
  br label %4162

4162:                                             ; preds = %4161
  br label %4163

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

4164:                                             ; No predecessors!
  br label %4165

4165:                                             ; preds = %4164
  br label %4166

4166:                                             ; preds = %4165, %4106
  br label %4167

4167:                                             ; preds = %4166
  br label %4168

4168:                                             ; preds = %4167
  br label %4169

4169:                                             ; preds = %4168
  %4170 = load i32, ptr @test_count, align 4, !tbaa !5
  %4171 = add nsw i32 %4170, 1
  store i32 %4171, ptr @test_count, align 4, !tbaa !5
  %4172 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 1
  %4173 = getelementptr inbounds %struct.s2n_blob, ptr %4172, i32 0, i32 0
  %4174 = load ptr, ptr %4173, align 8, !tbaa !24
  %4175 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 0
  %4176 = getelementptr inbounds %struct.s2n_blob, ptr %4175, i32 0, i32 0
  %4177 = load ptr, ptr %4176, align 8, !tbaa !26
  %4178 = getelementptr inbounds i8, ptr %4177, i64 2
  %4179 = icmp eq ptr %4174, %4178
  br i1 %4179, label %4233, label %4180

4180:                                             ; preds = %4169
  br label %4181

4181:                                             ; preds = %4180
  br label %4182

4182:                                             ; preds = %4181
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #10
  %4183 = call ptr @__errno_location() #11
  %4184 = load i32, ptr %4183, align 4, !tbaa !5
  store i32 %4184, ptr %81, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @s2n_print_stacktrace(ptr noundef %4185)
  %4187 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4188 = trunc i8 %4187 to i1
  br i1 %4188, label %4189, label %4211

4189:                                             ; preds = %4182
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = call i32 @fileno(ptr noundef %4190) #10
  %4192 = call i32 @isatty(i32 noundef %4191) #10
  %4193 = icmp ne i32 %4192, 0
  br i1 %4193, label %4194, label %4211

4194:                                             ; preds = %4189
  %4195 = load i32, ptr %81, align 4, !tbaa !5
  %4196 = call ptr @__errno_location() #11
  store i32 %4195, ptr %4196, align 4, !tbaa !5
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = load i32, ptr @test_count, align 4, !tbaa !5
  %4199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4200 = load i32, ptr %4199, align 4, !tbaa !5
  %4201 = call ptr @s2n_strerror(i32 noundef %4200, ptr noundef @.str.4)
  %4202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4203 = load i32, ptr %4202, align 4, !tbaa !5
  %4204 = call ptr @s2n_strerror_debug(i32 noundef %4203, ptr noundef @.str.4)
  %4205 = call ptr @__errno_location() #11
  %4206 = load i32, ptr %4205, align 4, !tbaa !5
  %4207 = call ptr @strerror(i32 noundef %4206) #10
  %4208 = call ptr @__errno_location() #11
  %4209 = load i32, ptr %4208, align 4, !tbaa !5
  %4210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4197, ptr noundef @.str.2, i32 noundef %4198, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4201, ptr noundef %4204, ptr noundef %4207, i32 noundef %4209) #10
  br label %4228

4211:                                             ; preds = %4189, %4182
  %4212 = load i32, ptr %81, 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.5, i32 noundef %4215, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4218, ptr noundef %4221, ptr noundef %4224, i32 noundef %4226) #10
  br label %4228

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

4229:                                             ; preds = %4228
  br label %4230

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

4231:                                             ; No predecessors!
  br label %4232

4232:                                             ; preds = %4231
  br label %4233

4233:                                             ; preds = %4232, %4169
  br label %4234

4234:                                             ; preds = %4233
  br label %4235

4235:                                             ; preds = %4234
  br label %4236

4236:                                             ; preds = %4235
  %4237 = load i32, ptr @test_count, align 4, !tbaa !5
  %4238 = add nsw i32 %4237, 1
  store i32 %4238, ptr @test_count, align 4, !tbaa !5
  %4239 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 1
  %4240 = getelementptr inbounds %struct.s2n_blob, ptr %4239, i32 0, i32 1
  %4241 = load i32, ptr %4240, align 8, !tbaa !27
  %4242 = zext i32 %4241 to i64
  %4243 = getelementptr inbounds %struct.s2n_stuffer, ptr %71, i32 0, i32 3
  %4244 = load i32, ptr %4243, align 8, !tbaa !29
  %4245 = zext i32 %4244 to i64
  %4246 = sub i64 %4245, 2
  %4247 = icmp eq i64 %4242, %4246
  br i1 %4247, label %4301, label %4248

4248:                                             ; preds = %4236
  br label %4249

4249:                                             ; preds = %4248
  br label %4250

4250:                                             ; preds = %4249
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #10
  %4251 = call ptr @__errno_location() #11
  %4252 = load i32, ptr %4251, align 4, !tbaa !5
  store i32 %4252, ptr %82, align 4, !tbaa !5
  %4253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4254 = call i32 @s2n_print_stacktrace(ptr noundef %4253)
  %4255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4256 = trunc i8 %4255 to i1
  br i1 %4256, label %4257, label %4279

4257:                                             ; preds = %4250
  %4258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4259 = call i32 @fileno(ptr noundef %4258) #10
  %4260 = call i32 @isatty(i32 noundef %4259) #10
  %4261 = icmp ne i32 %4260, 0
  br i1 %4261, label %4262, label %4279

4262:                                             ; preds = %4257
  %4263 = load i32, ptr %82, align 4, !tbaa !5
  %4264 = call ptr @__errno_location() #11
  store i32 %4263, ptr %4264, align 4, !tbaa !5
  %4265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4266 = load i32, ptr @test_count, align 4, !tbaa !5
  %4267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4268 = load i32, ptr %4267, align 4, !tbaa !5
  %4269 = call ptr @s2n_strerror(i32 noundef %4268, ptr noundef @.str.4)
  %4270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4271 = load i32, ptr %4270, align 4, !tbaa !5
  %4272 = call ptr @s2n_strerror_debug(i32 noundef %4271, ptr noundef @.str.4)
  %4273 = call ptr @__errno_location() #11
  %4274 = load i32, ptr %4273, align 4, !tbaa !5
  %4275 = call ptr @strerror(i32 noundef %4274) #10
  %4276 = call ptr @__errno_location() #11
  %4277 = load i32, ptr %4276, align 4, !tbaa !5
  %4278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4265, ptr noundef @.str.2, i32 noundef %4266, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4269, ptr noundef %4272, ptr noundef %4275, i32 noundef %4277) #10
  br label %4296

4279:                                             ; preds = %4257, %4250
  %4280 = load i32, ptr %82, align 4, !tbaa !5
  %4281 = call ptr @__errno_location() #11
  store i32 %4280, ptr %4281, align 4, !tbaa !5
  %4282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4283 = load i32, ptr @test_count, align 4, !tbaa !5
  %4284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4285 = load i32, ptr %4284, align 4, !tbaa !5
  %4286 = call ptr @s2n_strerror(i32 noundef %4285, ptr noundef @.str.4)
  %4287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4288 = load i32, ptr %4287, align 4, !tbaa !5
  %4289 = call ptr @s2n_strerror_debug(i32 noundef %4288, ptr noundef @.str.4)
  %4290 = call ptr @__errno_location() #11
  %4291 = load i32, ptr %4290, align 4, !tbaa !5
  %4292 = call ptr @strerror(i32 noundef %4291) #10
  %4293 = call ptr @__errno_location() #11
  %4294 = load i32, ptr %4293, align 4, !tbaa !5
  %4295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4282, ptr noundef @.str.5, i32 noundef %4283, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4286, ptr noundef %4289, ptr noundef %4292, i32 noundef %4294) #10
  br label %4296

4296:                                             ; preds = %4279, %4262
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #10
  br label %4297

4297:                                             ; preds = %4296
  br label %4298

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

4299:                                             ; No predecessors!
  br label %4300

4300:                                             ; preds = %4299
  br label %4301

4301:                                             ; preds = %4300, %4236
  br label %4302

4302:                                             ; preds = %4301
  br label %4303

4303:                                             ; preds = %4302
  br label %4304

4304:                                             ; preds = %4303
  call void @llvm.lifetime.start.p0(i64 1, ptr %83) #10
  br label %4305

4305:                                             ; preds = %4304
  %4306 = load i32, ptr @test_count, align 4, !tbaa !5
  %4307 = add nsw i32 %4306, 1
  store i32 %4307, ptr @test_count, align 4, !tbaa !5
  %4308 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %83)
  %4309 = icmp eq i32 %4308, -1
  br i1 %4309, label %4310, label %4363

4310:                                             ; preds = %4305
  br label %4311

4311:                                             ; preds = %4310
  br label %4312

4312:                                             ; preds = %4311
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #10
  %4313 = call ptr @__errno_location() #11
  %4314 = load i32, ptr %4313, align 4, !tbaa !5
  store i32 %4314, ptr %84, align 4, !tbaa !5
  %4315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4316 = call i32 @s2n_print_stacktrace(ptr noundef %4315)
  %4317 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4318 = trunc i8 %4317 to i1
  br i1 %4318, label %4319, label %4341

4319:                                             ; preds = %4312
  %4320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4321 = call i32 @fileno(ptr noundef %4320) #10
  %4322 = call i32 @isatty(i32 noundef %4321) #10
  %4323 = icmp ne i32 %4322, 0
  br i1 %4323, label %4324, label %4341

4324:                                             ; preds = %4319
  %4325 = load i32, ptr %84, align 4, !tbaa !5
  %4326 = call ptr @__errno_location() #11
  store i32 %4325, ptr %4326, align 4, !tbaa !5
  %4327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4330 = load i32, ptr %4329, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror(i32 noundef %4330, ptr noundef @.str.4)
  %4332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4333 = load i32, ptr %4332, align 4, !tbaa !5
  %4334 = call ptr @s2n_strerror_debug(i32 noundef %4333, ptr noundef @.str.4)
  %4335 = call ptr @__errno_location() #11
  %4336 = load i32, ptr %4335, align 4, !tbaa !5
  %4337 = call ptr @strerror(i32 noundef %4336) #10
  %4338 = call ptr @__errno_location() #11
  %4339 = load i32, ptr %4338, align 4, !tbaa !5
  %4340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4327, ptr noundef @.str.2, i32 noundef %4328, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4331, ptr noundef %4334, ptr noundef %4337, i32 noundef %4339) #10
  br label %4358

4341:                                             ; preds = %4319, %4312
  %4342 = load i32, ptr %84, align 4, !tbaa !5
  %4343 = call ptr @__errno_location() #11
  store i32 %4342, ptr %4343, align 4, !tbaa !5
  %4344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4345 = load i32, ptr @test_count, align 4, !tbaa !5
  %4346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4347 = load i32, ptr %4346, align 4, !tbaa !5
  %4348 = call ptr @s2n_strerror(i32 noundef %4347, ptr noundef @.str.4)
  %4349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4350 = load i32, ptr %4349, align 4, !tbaa !5
  %4351 = call ptr @s2n_strerror_debug(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call ptr @__errno_location() #11
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @strerror(i32 noundef %4353) #10
  %4355 = call ptr @__errno_location() #11
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4344, ptr noundef @.str.5, i32 noundef %4345, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4348, ptr noundef %4351, ptr noundef %4354, i32 noundef %4356) #10
  br label %4358

4358:                                             ; preds = %4341, %4324
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #10
  br label %4359

4359:                                             ; preds = %4358
  br label %4360

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

4361:                                             ; No predecessors!
  br label %4362

4362:                                             ; preds = %4361
  br label %4363

4363:                                             ; preds = %4362, %4305
  br label %4364

4364:                                             ; preds = %4363
  br label %4365

4365:                                             ; preds = %4364
  br label %4366

4366:                                             ; preds = %4365
  %4367 = load i32, ptr @test_count, align 4, !tbaa !5
  %4368 = add nsw i32 %4367, 1
  store i32 %4368, ptr @test_count, align 4, !tbaa !5
  %4369 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4370 = load i8, ptr %83, align 1, !tbaa !32
  %4371 = zext i8 %4370 to i64
  %4372 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4369, i64 0, i64 %4371
  %4373 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %4372, i32 0, i32 0
  %4374 = getelementptr inbounds %struct.s2n_blob, ptr %4373, i32 0, i32 0
  %4375 = load ptr, ptr %4374, align 8, !tbaa !33
  %4376 = icmp eq ptr %4375, null
  br i1 %4376, label %4377, label %4430

4377:                                             ; preds = %4366
  br label %4378

4378:                                             ; preds = %4377
  br label %4379

4379:                                             ; preds = %4378
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #10
  %4380 = call ptr @__errno_location() #11
  %4381 = load i32, ptr %4380, align 4, !tbaa !5
  store i32 %4381, ptr %85, align 4, !tbaa !5
  %4382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4383 = call i32 @s2n_print_stacktrace(ptr noundef %4382)
  %4384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4385 = trunc i8 %4384 to i1
  br i1 %4385, label %4386, label %4408

4386:                                             ; preds = %4379
  %4387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4388 = call i32 @fileno(ptr noundef %4387) #10
  %4389 = call i32 @isatty(i32 noundef %4388) #10
  %4390 = icmp ne i32 %4389, 0
  br i1 %4390, label %4391, label %4408

4391:                                             ; preds = %4386
  %4392 = load i32, ptr %85, align 4, !tbaa !5
  %4393 = call ptr @__errno_location() #11
  store i32 %4392, ptr %4393, align 4, !tbaa !5
  %4394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4395 = load i32, ptr @test_count, align 4, !tbaa !5
  %4396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4397 = load i32, ptr %4396, align 4, !tbaa !5
  %4398 = call ptr @s2n_strerror(i32 noundef %4397, ptr noundef @.str.4)
  %4399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4400 = load i32, ptr %4399, align 4, !tbaa !5
  %4401 = call ptr @s2n_strerror_debug(i32 noundef %4400, ptr noundef @.str.4)
  %4402 = call ptr @__errno_location() #11
  %4403 = load i32, ptr %4402, align 4, !tbaa !5
  %4404 = call ptr @strerror(i32 noundef %4403) #10
  %4405 = call ptr @__errno_location() #11
  %4406 = load i32, ptr %4405, align 4, !tbaa !5
  %4407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4394, ptr noundef @.str.2, i32 noundef %4395, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4398, ptr noundef %4401, ptr noundef %4404, i32 noundef %4406) #10
  br label %4425

4408:                                             ; preds = %4386, %4379
  %4409 = load i32, ptr %85, align 4, !tbaa !5
  %4410 = call ptr @__errno_location() #11
  store i32 %4409, ptr %4410, align 4, !tbaa !5
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4412 = load i32, ptr @test_count, align 4, !tbaa !5
  %4413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4414 = load i32, ptr %4413, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror(i32 noundef %4414, ptr noundef @.str.4)
  %4416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4417 = load i32, ptr %4416, align 4, !tbaa !5
  %4418 = call ptr @s2n_strerror_debug(i32 noundef %4417, ptr noundef @.str.4)
  %4419 = call ptr @__errno_location() #11
  %4420 = load i32, ptr %4419, align 4, !tbaa !5
  %4421 = call ptr @strerror(i32 noundef %4420) #10
  %4422 = call ptr @__errno_location() #11
  %4423 = load i32, ptr %4422, align 4, !tbaa !5
  %4424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4411, ptr noundef @.str.5, i32 noundef %4412, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4415, ptr noundef %4418, ptr noundef %4421, i32 noundef %4423) #10
  br label %4425

4425:                                             ; preds = %4408, %4391
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #10
  br label %4426

4426:                                             ; preds = %4425
  br label %4427

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

4428:                                             ; No predecessors!
  br label %4429

4429:                                             ; preds = %4428
  br label %4430

4430:                                             ; preds = %4429, %4366
  br label %4431

4431:                                             ; preds = %4430
  br label %4432

4432:                                             ; preds = %4431
  br label %4433

4433:                                             ; preds = %4432
  %4434 = load i32, ptr @test_count, align 4, !tbaa !5
  %4435 = add nsw i32 %4434, 1
  store i32 %4435, ptr @test_count, align 4, !tbaa !5
  %4436 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4437 = load i8, ptr %83, align 1, !tbaa !32
  %4438 = zext i8 %4437 to i64
  %4439 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4436, i64 0, i64 %4438
  %4440 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %4439, i32 0, i32 0
  %4441 = getelementptr inbounds %struct.s2n_blob, ptr %4440, i32 0, i32 1
  %4442 = load i32, ptr %4441, align 8, !tbaa !34
  %4443 = zext i32 %4442 to i64
  %4444 = icmp eq i64 %4443, 10
  br i1 %4444, label %4498, label %4445

4445:                                             ; preds = %4433
  br label %4446

4446:                                             ; preds = %4445
  br label %4447

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

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

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

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

4493:                                             ; preds = %4476, %4459
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #10
  br label %4494

4494:                                             ; preds = %4493
  br label %4495

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

4496:                                             ; No predecessors!
  br label %4497

4497:                                             ; preds = %4496
  br label %4498

4498:                                             ; preds = %4497, %4433
  br label %4499

4499:                                             ; preds = %4498
  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_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4506 = load i8, ptr %83, align 1, !tbaa !32
  %4507 = zext i8 %4506 to i64
  %4508 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4505, i64 0, i64 %4507
  %4509 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %4508, i32 0, i32 0
  %4510 = getelementptr inbounds %struct.s2n_blob, ptr %4509, i32 0, i32 0
  %4511 = load ptr, ptr %4510, align 8, !tbaa !33
  %4512 = call i32 @memcmp(ptr noundef %4511, ptr noundef @test_data, i64 noundef 10) #13
  %4513 = icmp eq i32 %4512, 0
  br i1 %4513, label %4567, label %4514

4514:                                             ; preds = %4502
  br label %4515

4515:                                             ; preds = %4514
  br label %4516

4516:                                             ; preds = %4515
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #10
  %4517 = call ptr @__errno_location() #11
  %4518 = load i32, ptr %4517, align 4, !tbaa !5
  store i32 %4518, ptr %87, align 4, !tbaa !5
  %4519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4520 = call i32 @s2n_print_stacktrace(ptr noundef %4519)
  %4521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4522 = trunc i8 %4521 to i1
  br i1 %4522, label %4523, label %4545

4523:                                             ; preds = %4516
  %4524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4525 = call i32 @fileno(ptr noundef %4524) #10
  %4526 = call i32 @isatty(i32 noundef %4525) #10
  %4527 = icmp ne i32 %4526, 0
  br i1 %4527, label %4528, label %4545

4528:                                             ; preds = %4523
  %4529 = load i32, ptr %87, align 4, !tbaa !5
  %4530 = call ptr @__errno_location() #11
  store i32 %4529, ptr %4530, align 4, !tbaa !5
  %4531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4532 = load i32, ptr @test_count, align 4, !tbaa !5
  %4533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  %4535 = call ptr @s2n_strerror(i32 noundef %4534, ptr noundef @.str.4)
  %4536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call ptr @s2n_strerror_debug(i32 noundef %4537, ptr noundef @.str.4)
  %4539 = call ptr @__errno_location() #11
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = call ptr @strerror(i32 noundef %4540) #10
  %4542 = call ptr @__errno_location() #11
  %4543 = load i32, ptr %4542, align 4, !tbaa !5
  %4544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4531, ptr noundef @.str.2, i32 noundef %4532, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4535, ptr noundef %4538, ptr noundef %4541, i32 noundef %4543) #10
  br label %4562

4545:                                             ; preds = %4523, %4516
  %4546 = load i32, ptr %87, align 4, !tbaa !5
  %4547 = call ptr @__errno_location() #11
  store i32 %4546, ptr %4547, align 4, !tbaa !5
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = load i32, ptr @test_count, align 4, !tbaa !5
  %4550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call ptr @s2n_strerror(i32 noundef %4551, ptr noundef @.str.4)
  %4553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4554 = load i32, ptr %4553, align 4, !tbaa !5
  %4555 = call ptr @s2n_strerror_debug(i32 noundef %4554, ptr noundef @.str.4)
  %4556 = call ptr @__errno_location() #11
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call ptr @strerror(i32 noundef %4557) #10
  %4559 = call ptr @__errno_location() #11
  %4560 = load i32, ptr %4559, align 4, !tbaa !5
  %4561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4548, ptr noundef @.str.5, i32 noundef %4549, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4552, ptr noundef %4555, ptr noundef %4558, i32 noundef %4560) #10
  br label %4562

4562:                                             ; preds = %4545, %4528
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #10
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

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

4565:                                             ; No predecessors!
  br label %4566

4566:                                             ; preds = %4565
  br label %4567

4567:                                             ; preds = %4566, %4502
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568
  br label %4570

4570:                                             ; preds = %4569
  br label %4571

4571:                                             ; preds = %4570
  call void @llvm.lifetime.end.p0(i64 1, ptr %83) #10
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  br label %4574

4574:                                             ; preds = %4573
  %4575 = load i32, ptr @test_count, align 4, !tbaa !5
  %4576 = add nsw i32 %4575, 1
  store i32 %4576, ptr @test_count, align 4, !tbaa !5
  %4577 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 2
  %4578 = load i16, ptr %4577, align 8, !tbaa !28
  %4579 = zext i16 %4578 to i32
  %4580 = icmp eq i32 %4579, 1
  br i1 %4580, label %4634, label %4581

4581:                                             ; preds = %4574
  br label %4582

4582:                                             ; preds = %4581
  br label %4583

4583:                                             ; preds = %4582
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #10
  %4584 = call ptr @__errno_location() #11
  %4585 = load i32, ptr %4584, align 4, !tbaa !5
  store i32 %4585, ptr %88, align 4, !tbaa !5
  %4586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4587 = call i32 @s2n_print_stacktrace(ptr noundef %4586)
  %4588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4589 = trunc i8 %4588 to i1
  br i1 %4589, label %4590, label %4612

4590:                                             ; preds = %4583
  %4591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4592 = call i32 @fileno(ptr noundef %4591) #10
  %4593 = call i32 @isatty(i32 noundef %4592) #10
  %4594 = icmp ne i32 %4593, 0
  br i1 %4594, label %4595, label %4612

4595:                                             ; preds = %4590
  %4596 = load i32, ptr %88, align 4, !tbaa !5
  %4597 = call ptr @__errno_location() #11
  store i32 %4596, ptr %4597, align 4, !tbaa !5
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = load i32, ptr @test_count, align 4, !tbaa !5
  %4600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4601 = load i32, ptr %4600, align 4, !tbaa !5
  %4602 = call ptr @s2n_strerror(i32 noundef %4601, ptr noundef @.str.4)
  %4603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @s2n_strerror_debug(i32 noundef %4604, ptr noundef @.str.4)
  %4606 = call ptr @__errno_location() #11
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @strerror(i32 noundef %4607) #10
  %4609 = call ptr @__errno_location() #11
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4598, ptr noundef @.str.2, i32 noundef %4599, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4602, ptr noundef %4605, ptr noundef %4608, i32 noundef %4610) #10
  br label %4629

4612:                                             ; preds = %4590, %4583
  %4613 = load i32, ptr %88, align 4, !tbaa !5
  %4614 = call ptr @__errno_location() #11
  store i32 %4613, ptr %4614, align 4, !tbaa !5
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4616 = load i32, ptr @test_count, align 4, !tbaa !5
  %4617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4618 = load i32, ptr %4617, align 4, !tbaa !5
  %4619 = call ptr @s2n_strerror(i32 noundef %4618, ptr noundef @.str.4)
  %4620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror_debug(i32 noundef %4621, ptr noundef @.str.4)
  %4623 = call ptr @__errno_location() #11
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @strerror(i32 noundef %4624) #10
  %4626 = call ptr @__errno_location() #11
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4615, ptr noundef @.str.5, i32 noundef %4616, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4619, ptr noundef %4622, ptr noundef %4625, i32 noundef %4627) #10
  br label %4629

4629:                                             ; preds = %4612, %4595
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #10
  br label %4630

4630:                                             ; preds = %4629
  br label %4631

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

4632:                                             ; No predecessors!
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

4634:                                             ; preds = %4633, %4574
  br label %4635

4635:                                             ; preds = %4634
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

4637:                                             ; preds = %4636
  call void @llvm.lifetime.start.p0(i64 1, ptr %89) #10
  br label %4638

4638:                                             ; preds = %4637
  %4639 = load i32, ptr @test_count, align 4, !tbaa !5
  %4640 = add nsw i32 %4639, 1
  store i32 %4640, ptr @test_count, align 4, !tbaa !5
  %4641 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %89)
  %4642 = icmp eq i32 %4641, -1
  br i1 %4642, label %4643, label %4696

4643:                                             ; preds = %4638
  br label %4644

4644:                                             ; preds = %4643
  br label %4645

4645:                                             ; preds = %4644
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #10
  %4646 = call ptr @__errno_location() #11
  %4647 = load i32, ptr %4646, align 4, !tbaa !5
  store i32 %4647, ptr %90, align 4, !tbaa !5
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = call i32 @s2n_print_stacktrace(ptr noundef %4648)
  %4650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4651 = trunc i8 %4650 to i1
  br i1 %4651, label %4652, label %4674

4652:                                             ; preds = %4645
  %4653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4654 = call i32 @fileno(ptr noundef %4653) #10
  %4655 = call i32 @isatty(i32 noundef %4654) #10
  %4656 = icmp ne i32 %4655, 0
  br i1 %4656, label %4657, label %4674

4657:                                             ; preds = %4652
  %4658 = load i32, ptr %90, align 4, !tbaa !5
  %4659 = call ptr @__errno_location() #11
  store i32 %4658, ptr %4659, align 4, !tbaa !5
  %4660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4661 = load i32, ptr @test_count, align 4, !tbaa !5
  %4662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4663 = load i32, ptr %4662, align 4, !tbaa !5
  %4664 = call ptr @s2n_strerror(i32 noundef %4663, ptr noundef @.str.4)
  %4665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4666 = load i32, ptr %4665, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror_debug(i32 noundef %4666, ptr noundef @.str.4)
  %4668 = call ptr @__errno_location() #11
  %4669 = load i32, ptr %4668, align 4, !tbaa !5
  %4670 = call ptr @strerror(i32 noundef %4669) #10
  %4671 = call ptr @__errno_location() #11
  %4672 = load i32, ptr %4671, align 4, !tbaa !5
  %4673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4660, ptr noundef @.str.2, i32 noundef %4661, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4664, ptr noundef %4667, ptr noundef %4670, i32 noundef %4672) #10
  br label %4691

4674:                                             ; preds = %4652, %4645
  %4675 = load i32, ptr %90, align 4, !tbaa !5
  %4676 = call ptr @__errno_location() #11
  store i32 %4675, ptr %4676, align 4, !tbaa !5
  %4677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4678 = load i32, ptr @test_count, align 4, !tbaa !5
  %4679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4680 = load i32, ptr %4679, align 4, !tbaa !5
  %4681 = call ptr @s2n_strerror(i32 noundef %4680, ptr noundef @.str.4)
  %4682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4683 = load i32, ptr %4682, align 4, !tbaa !5
  %4684 = call ptr @s2n_strerror_debug(i32 noundef %4683, ptr noundef @.str.4)
  %4685 = call ptr @__errno_location() #11
  %4686 = load i32, ptr %4685, align 4, !tbaa !5
  %4687 = call ptr @strerror(i32 noundef %4686) #10
  %4688 = call ptr @__errno_location() #11
  %4689 = load i32, ptr %4688, align 4, !tbaa !5
  %4690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4677, ptr noundef @.str.5, i32 noundef %4678, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4681, ptr noundef %4684, ptr noundef %4687, i32 noundef %4689) #10
  br label %4691

4691:                                             ; preds = %4674, %4657
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #10
  br label %4692

4692:                                             ; preds = %4691
  br label %4693

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

4694:                                             ; No predecessors!
  br label %4695

4695:                                             ; preds = %4694
  br label %4696

4696:                                             ; preds = %4695, %4638
  br label %4697

4697:                                             ; preds = %4696
  br label %4698

4698:                                             ; preds = %4697
  %4699 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4700 = load i8, ptr %89, align 1, !tbaa !32
  %4701 = zext i8 %4700 to i64
  %4702 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4699, i64 0, i64 %4701
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4702, ptr align 16 @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr %89) #10
  br label %4703

4703:                                             ; preds = %4698
  br label %4704

4704:                                             ; preds = %4703
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

4706:                                             ; preds = %4705
  %4707 = load i32, ptr @test_count, align 4, !tbaa !5
  %4708 = add nsw i32 %4707, 1
  store i32 %4708, ptr @test_count, align 4, !tbaa !5
  %4709 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %70, i32 0, i32 0
  %4710 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %4709, i64 0, i64 0
  %4711 = call i32 @memcmp(ptr noundef %4710, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %4712 = icmp eq i32 %4711, 0
  br i1 %4712, label %4766, label %4713

4713:                                             ; preds = %4706
  br label %4714

4714:                                             ; preds = %4713
  br label %4715

4715:                                             ; preds = %4714
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #10
  %4716 = call ptr @__errno_location() #11
  %4717 = load i32, ptr %4716, align 4, !tbaa !5
  store i32 %4717, ptr %91, align 4, !tbaa !5
  %4718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4719 = call i32 @s2n_print_stacktrace(ptr noundef %4718)
  %4720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4721 = trunc i8 %4720 to i1
  br i1 %4721, label %4722, label %4744

4722:                                             ; preds = %4715
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = call i32 @fileno(ptr noundef %4723) #10
  %4725 = call i32 @isatty(i32 noundef %4724) #10
  %4726 = icmp ne i32 %4725, 0
  br i1 %4726, label %4727, label %4744

4727:                                             ; preds = %4722
  %4728 = load i32, ptr %91, 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.2, i32 noundef %4731, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4734, ptr noundef %4737, ptr noundef %4740, i32 noundef %4742) #10
  br label %4761

4744:                                             ; preds = %4722, %4715
  %4745 = load i32, ptr %91, align 4, !tbaa !5
  %4746 = call ptr @__errno_location() #11
  store i32 %4745, ptr %4746, align 4, !tbaa !5
  %4747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4748 = load i32, ptr @test_count, align 4, !tbaa !5
  %4749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4750 = load i32, ptr %4749, align 4, !tbaa !5
  %4751 = call ptr @s2n_strerror(i32 noundef %4750, ptr noundef @.str.4)
  %4752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4753 = load i32, ptr %4752, align 4, !tbaa !5
  %4754 = call ptr @s2n_strerror_debug(i32 noundef %4753, ptr noundef @.str.4)
  %4755 = call ptr @__errno_location() #11
  %4756 = load i32, ptr %4755, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #10
  %4758 = call ptr @__errno_location() #11
  %4759 = load i32, ptr %4758, align 4, !tbaa !5
  %4760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4747, ptr noundef @.str.5, i32 noundef %4748, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4751, ptr noundef %4754, ptr noundef %4757, i32 noundef %4759) #10
  br label %4761

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

4762:                                             ; preds = %4761
  br label %4763

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

4764:                                             ; No predecessors!
  br label %4765

4765:                                             ; preds = %4764
  br label %4766

4766:                                             ; preds = %4765, %4706
  br label %4767

4767:                                             ; preds = %4766
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

4769:                                             ; preds = %4768
  br label %4770

4770:                                             ; preds = %4769
  br label %4771

4771:                                             ; preds = %4770
  %4772 = load i32, ptr @test_count, align 4, !tbaa !5
  %4773 = add nsw i32 %4772, 1
  store i32 %4773, ptr @test_count, align 4, !tbaa !5
  %4774 = call i32 @s2n_stuffer_free(ptr noundef %71)
  %4775 = icmp eq i32 %4774, -1
  br i1 %4775, label %4776, label %4829

4776:                                             ; preds = %4771
  br label %4777

4777:                                             ; preds = %4776
  br label %4778

4778:                                             ; preds = %4777
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #10
  %4779 = call ptr @__errno_location() #11
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  store i32 %4780, ptr %92, align 4, !tbaa !5
  %4781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4782 = call i32 @s2n_print_stacktrace(ptr noundef %4781)
  %4783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4784 = trunc i8 %4783 to i1
  br i1 %4784, label %4785, label %4807

4785:                                             ; preds = %4778
  %4786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4787 = call i32 @fileno(ptr noundef %4786) #10
  %4788 = call i32 @isatty(i32 noundef %4787) #10
  %4789 = icmp ne i32 %4788, 0
  br i1 %4789, label %4790, label %4807

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

4807:                                             ; preds = %4785, %4778
  %4808 = load i32, ptr %92, align 4, !tbaa !5
  %4809 = call ptr @__errno_location() #11
  store i32 %4808, ptr %4809, align 4, !tbaa !5
  %4810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4811 = load i32, ptr @test_count, align 4, !tbaa !5
  %4812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4813 = load i32, ptr %4812, align 4, !tbaa !5
  %4814 = call ptr @s2n_strerror(i32 noundef %4813, ptr noundef @.str.4)
  %4815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4816 = load i32, ptr %4815, align 4, !tbaa !5
  %4817 = call ptr @s2n_strerror_debug(i32 noundef %4816, ptr noundef @.str.4)
  %4818 = call ptr @__errno_location() #11
  %4819 = load i32, ptr %4818, align 4, !tbaa !5
  %4820 = call ptr @strerror(i32 noundef %4819) #10
  %4821 = call ptr @__errno_location() #11
  %4822 = load i32, ptr %4821, align 4, !tbaa !5
  %4823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4810, ptr noundef @.str.5, i32 noundef %4811, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4814, ptr noundef %4817, ptr noundef %4820, i32 noundef %4822) #10
  br label %4824

4824:                                             ; preds = %4807, %4790
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #10
  br label %4825

4825:                                             ; preds = %4824
  br label %4826

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

4827:                                             ; No predecessors!
  br label %4828

4828:                                             ; preds = %4827
  br label %4829

4829:                                             ; preds = %4828, %4771
  br label %4830

4830:                                             ; preds = %4829
  br label %4831

4831:                                             ; preds = %4830
  call void @llvm.lifetime.end.p0(i64 16, ptr %73) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %71) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %70) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %93) #10
  call void @llvm.memset.p0.i64(ptr align 8 %93, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %94) #10
  call void @llvm.memset.p0.i64(ptr align 8 %94, i8 0, i64 40, i1 false)
  br label %4832

4832:                                             ; preds = %4831
  %4833 = load i32, ptr @test_count, align 4, !tbaa !5
  %4834 = add nsw i32 %4833, 1
  store i32 %4834, ptr @test_count, align 4, !tbaa !5
  %4835 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %94, i32 noundef 0)
  %4836 = icmp eq i32 %4835, -1
  br i1 %4836, label %4837, label %4890

4837:                                             ; preds = %4832
  br label %4838

4838:                                             ; preds = %4837
  br label %4839

4839:                                             ; preds = %4838
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #10
  %4840 = call ptr @__errno_location() #11
  %4841 = load i32, ptr %4840, align 4, !tbaa !5
  store i32 %4841, ptr %95, align 4, !tbaa !5
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = call i32 @s2n_print_stacktrace(ptr noundef %4842)
  %4844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4845 = trunc i8 %4844 to i1
  br i1 %4845, label %4846, label %4868

4846:                                             ; preds = %4839
  %4847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4848 = call i32 @fileno(ptr noundef %4847) #10
  %4849 = call i32 @isatty(i32 noundef %4848) #10
  %4850 = icmp ne i32 %4849, 0
  br i1 %4850, label %4851, label %4868

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

4868:                                             ; preds = %4846, %4839
  %4869 = load i32, ptr %95, align 4, !tbaa !5
  %4870 = call ptr @__errno_location() #11
  store i32 %4869, ptr %4870, align 4, !tbaa !5
  %4871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4872 = load i32, ptr @test_count, align 4, !tbaa !5
  %4873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4874 = load i32, ptr %4873, align 4, !tbaa !5
  %4875 = call ptr @s2n_strerror(i32 noundef %4874, ptr noundef @.str.4)
  %4876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4877 = load i32, ptr %4876, align 4, !tbaa !5
  %4878 = call ptr @s2n_strerror_debug(i32 noundef %4877, ptr noundef @.str.4)
  %4879 = call ptr @__errno_location() #11
  %4880 = load i32, ptr %4879, align 4, !tbaa !5
  %4881 = call ptr @strerror(i32 noundef %4880) #10
  %4882 = call ptr @__errno_location() #11
  %4883 = load i32, ptr %4882, align 4, !tbaa !5
  %4884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4871, ptr noundef @.str.5, i32 noundef %4872, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 219, ptr noundef %4875, ptr noundef %4878, ptr noundef %4881, i32 noundef %4883) #10
  br label %4885

4885:                                             ; preds = %4868, %4851
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #10
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

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

4888:                                             ; No predecessors!
  br label %4889

4889:                                             ; preds = %4888
  br label %4890

4890:                                             ; preds = %4889, %4832
  br label %4891

4891:                                             ; preds = %4890
  br label %4892

4892:                                             ; preds = %4891
  call void @llvm.lifetime.start.p0(i64 16, ptr %96) #10
  call void @llvm.memset.p0.i64(ptr align 8 %96, i8 0, i64 16, i1 false)
  br label %4893

4893:                                             ; preds = %4892
  %4894 = load i32, ptr @test_count, align 4, !tbaa !5
  %4895 = add nsw i32 %4894, 1
  store i32 %4895, ptr @test_count, align 4, !tbaa !5
  %4896 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %94, ptr noundef %96)
  %4897 = icmp eq i32 %4896, -1
  br i1 %4897, label %4898, label %4951

4898:                                             ; preds = %4893
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #10
  %4901 = call ptr @__errno_location() #11
  %4902 = load i32, ptr %4901, align 4, !tbaa !5
  store i32 %4902, ptr %97, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = call i32 @s2n_print_stacktrace(ptr noundef %4903)
  %4905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4906 = trunc i8 %4905 to i1
  br i1 %4906, label %4907, label %4929

4907:                                             ; preds = %4900
  %4908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4909 = call i32 @fileno(ptr noundef %4908) #10
  %4910 = call i32 @isatty(i32 noundef %4909) #10
  %4911 = icmp ne i32 %4910, 0
  br i1 %4911, label %4912, label %4929

4912:                                             ; preds = %4907
  %4913 = load i32, ptr %97, align 4, !tbaa !5
  %4914 = call ptr @__errno_location() #11
  store i32 %4913, ptr %4914, align 4, !tbaa !5
  %4915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4916 = load i32, ptr @test_count, align 4, !tbaa !5
  %4917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4918 = load i32, ptr %4917, align 4, !tbaa !5
  %4919 = call ptr @s2n_strerror(i32 noundef %4918, ptr noundef @.str.4)
  %4920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4921 = load i32, ptr %4920, align 4, !tbaa !5
  %4922 = call ptr @s2n_strerror_debug(i32 noundef %4921, ptr noundef @.str.4)
  %4923 = call ptr @__errno_location() #11
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call ptr @strerror(i32 noundef %4924) #10
  %4926 = call ptr @__errno_location() #11
  %4927 = load i32, ptr %4926, align 4, !tbaa !5
  %4928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4915, ptr noundef @.str.2, i32 noundef %4916, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 223, ptr noundef %4919, ptr noundef %4922, ptr noundef %4925, i32 noundef %4927) #10
  br label %4946

4929:                                             ; preds = %4907, %4900
  %4930 = load i32, ptr %97, align 4, !tbaa !5
  %4931 = call ptr @__errno_location() #11
  store i32 %4930, ptr %4931, align 4, !tbaa !5
  %4932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4933 = load i32, ptr @test_count, align 4, !tbaa !5
  %4934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror(i32 noundef %4935, ptr noundef @.str.4)
  %4937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call ptr @s2n_strerror_debug(i32 noundef %4938, ptr noundef @.str.4)
  %4940 = call ptr @__errno_location() #11
  %4941 = load i32, ptr %4940, align 4, !tbaa !5
  %4942 = call ptr @strerror(i32 noundef %4941) #10
  %4943 = call ptr @__errno_location() #11
  %4944 = load i32, ptr %4943, align 4, !tbaa !5
  %4945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4932, ptr noundef @.str.5, i32 noundef %4933, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 223, ptr noundef %4936, ptr noundef %4939, ptr noundef %4942, i32 noundef %4944) #10
  br label %4946

4946:                                             ; preds = %4929, %4912
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #10
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

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

4949:                                             ; No predecessors!
  br label %4950

4950:                                             ; preds = %4949
  br label %4951

4951:                                             ; preds = %4950, %4893
  br label %4952

4952:                                             ; preds = %4951
  br label %4953

4953:                                             ; preds = %4952
  br label %4954

4954:                                             ; preds = %4953
  %4955 = load i32, ptr @test_count, align 4, !tbaa !5
  %4956 = add nsw i32 %4955, 1
  store i32 %4956, ptr @test_count, align 4, !tbaa !5
  %4957 = call i32 @s2n_stuffer_write_uint16(ptr noundef %94, i16 noundef zeroext 0)
  %4958 = icmp eq i32 %4957, -1
  br i1 %4958, label %4959, label %5012

4959:                                             ; preds = %4954
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

4961:                                             ; preds = %4960
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #10
  %4962 = call ptr @__errno_location() #11
  %4963 = load i32, ptr %4962, align 4, !tbaa !5
  store i32 %4963, ptr %98, align 4, !tbaa !5
  %4964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4965 = call i32 @s2n_print_stacktrace(ptr noundef %4964)
  %4966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4967 = trunc i8 %4966 to i1
  br i1 %4967, label %4968, label %4990

4968:                                             ; preds = %4961
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4970 = call i32 @fileno(ptr noundef %4969) #10
  %4971 = call i32 @isatty(i32 noundef %4970) #10
  %4972 = icmp ne i32 %4971, 0
  br i1 %4972, label %4973, label %4990

4973:                                             ; preds = %4968
  %4974 = load i32, ptr %98, align 4, !tbaa !5
  %4975 = call ptr @__errno_location() #11
  store i32 %4974, ptr %4975, align 4, !tbaa !5
  %4976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4977 = load i32, ptr @test_count, align 4, !tbaa !5
  %4978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4979 = load i32, ptr %4978, align 4, !tbaa !5
  %4980 = call ptr @s2n_strerror(i32 noundef %4979, ptr noundef @.str.4)
  %4981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4982 = load i32, ptr %4981, align 4, !tbaa !5
  %4983 = call ptr @s2n_strerror_debug(i32 noundef %4982, ptr noundef @.str.4)
  %4984 = call ptr @__errno_location() #11
  %4985 = load i32, ptr %4984, align 4, !tbaa !5
  %4986 = call ptr @strerror(i32 noundef %4985) #10
  %4987 = call ptr @__errno_location() #11
  %4988 = load i32, ptr %4987, align 4, !tbaa !5
  %4989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4976, ptr noundef @.str.2, i32 noundef %4977, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 225, ptr noundef %4980, ptr noundef %4983, ptr noundef %4986, i32 noundef %4988) #10
  br label %5007

4990:                                             ; preds = %4968, %4961
  %4991 = load i32, ptr %98, align 4, !tbaa !5
  %4992 = call ptr @__errno_location() #11
  store i32 %4991, ptr %4992, align 4, !tbaa !5
  %4993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4994 = load i32, ptr @test_count, align 4, !tbaa !5
  %4995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror(i32 noundef %4996, ptr noundef @.str.4)
  %4998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @s2n_strerror_debug(i32 noundef %4999, ptr noundef @.str.4)
  %5001 = call ptr @__errno_location() #11
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call ptr @strerror(i32 noundef %5002) #10
  %5004 = call ptr @__errno_location() #11
  %5005 = load i32, ptr %5004, align 4, !tbaa !5
  %5006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4993, ptr noundef @.str.5, i32 noundef %4994, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 225, ptr noundef %4997, ptr noundef %5000, ptr noundef %5003, i32 noundef %5005) #10
  br label %5007

5007:                                             ; preds = %4990, %4973
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #10
  br label %5008

5008:                                             ; preds = %5007
  br label %5009

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

5010:                                             ; No predecessors!
  br label %5011

5011:                                             ; preds = %5010
  br label %5012

5012:                                             ; preds = %5011, %4954
  br label %5013

5013:                                             ; preds = %5012
  br label %5014

5014:                                             ; preds = %5013
  br label %5015

5015:                                             ; preds = %5014
  %5016 = load i32, ptr @test_count, align 4, !tbaa !5
  %5017 = add nsw i32 %5016, 1
  store i32 %5017, ptr @test_count, align 4, !tbaa !5
  %5018 = call i32 @s2n_stuffer_write_uint16(ptr noundef %94, i16 noundef zeroext 100)
  %5019 = icmp eq i32 %5018, -1
  br i1 %5019, label %5020, label %5073

5020:                                             ; preds = %5015
  br label %5021

5021:                                             ; preds = %5020
  br label %5022

5022:                                             ; preds = %5021
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #10
  %5023 = call ptr @__errno_location() #11
  %5024 = load i32, ptr %5023, align 4, !tbaa !5
  store i32 %5024, ptr %99, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @s2n_print_stacktrace(ptr noundef %5025)
  %5027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5028 = trunc i8 %5027 to i1
  br i1 %5028, label %5029, label %5051

5029:                                             ; preds = %5022
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = call i32 @fileno(ptr noundef %5030) #10
  %5032 = call i32 @isatty(i32 noundef %5031) #10
  %5033 = icmp ne i32 %5032, 0
  br i1 %5033, label %5034, label %5051

5034:                                             ; preds = %5029
  %5035 = load i32, ptr %99, align 4, !tbaa !5
  %5036 = call ptr @__errno_location() #11
  store i32 %5035, ptr %5036, align 4, !tbaa !5
  %5037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5038 = load i32, ptr @test_count, align 4, !tbaa !5
  %5039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror(i32 noundef %5040, ptr noundef @.str.4)
  %5042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call ptr @s2n_strerror_debug(i32 noundef %5043, ptr noundef @.str.4)
  %5045 = call ptr @__errno_location() #11
  %5046 = load i32, ptr %5045, align 4, !tbaa !5
  %5047 = call ptr @strerror(i32 noundef %5046) #10
  %5048 = call ptr @__errno_location() #11
  %5049 = load i32, ptr %5048, align 4, !tbaa !5
  %5050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5037, ptr noundef @.str.2, i32 noundef %5038, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 226, ptr noundef %5041, ptr noundef %5044, ptr noundef %5047, i32 noundef %5049) #10
  br label %5068

5051:                                             ; preds = %5029, %5022
  %5052 = load i32, ptr %99, align 4, !tbaa !5
  %5053 = call ptr @__errno_location() #11
  store i32 %5052, ptr %5053, align 4, !tbaa !5
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = load i32, ptr @test_count, align 4, !tbaa !5
  %5056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror(i32 noundef %5057, ptr noundef @.str.4)
  %5059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  %5061 = call ptr @s2n_strerror_debug(i32 noundef %5060, ptr noundef @.str.4)
  %5062 = call ptr @__errno_location() #11
  %5063 = load i32, ptr %5062, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #10
  %5065 = call ptr @__errno_location() #11
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5054, ptr noundef @.str.5, i32 noundef %5055, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 226, ptr noundef %5058, ptr noundef %5061, ptr noundef %5064, i32 noundef %5066) #10
  br label %5068

5068:                                             ; preds = %5051, %5034
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #10
  br label %5069

5069:                                             ; preds = %5068
  br label %5070

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

5071:                                             ; No predecessors!
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072, %5015
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

5075:                                             ; preds = %5074
  br label %5076

5076:                                             ; preds = %5075
  %5077 = load i32, ptr @test_count, align 4, !tbaa !5
  %5078 = add nsw i32 %5077, 1
  store i32 %5078, ptr @test_count, align 4, !tbaa !5
  %5079 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 2
  %5080 = load i32, ptr %5079, align 4, !tbaa !21
  %5081 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 1
  %5082 = load i32, ptr %5081, align 8, !tbaa !23
  %5083 = sub i32 %5080, %5082
  %5084 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %96, i32 0, i32 2
  %5085 = load i8, ptr %5084, align 4, !tbaa !30
  %5086 = zext i8 %5085 to i32
  %5087 = icmp ugt i32 %5083, %5086
  br i1 %5087, label %5141, label %5088

5088:                                             ; preds = %5076
  br label %5089

5089:                                             ; preds = %5088
  br label %5090

5090:                                             ; preds = %5089
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #10
  %5091 = call ptr @__errno_location() #11
  %5092 = load i32, ptr %5091, align 4, !tbaa !5
  store i32 %5092, ptr %100, align 4, !tbaa !5
  %5093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5094 = call i32 @s2n_print_stacktrace(ptr noundef %5093)
  %5095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5096 = trunc i8 %5095 to i1
  br i1 %5096, label %5097, label %5119

5097:                                             ; preds = %5090
  %5098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5099 = call i32 @fileno(ptr noundef %5098) #10
  %5100 = call i32 @isatty(i32 noundef %5099) #10
  %5101 = icmp ne i32 %5100, 0
  br i1 %5101, label %5102, label %5119

5102:                                             ; preds = %5097
  %5103 = load i32, ptr %100, align 4, !tbaa !5
  %5104 = call ptr @__errno_location() #11
  store i32 %5103, ptr %5104, align 4, !tbaa !5
  %5105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5106 = load i32, ptr @test_count, align 4, !tbaa !5
  %5107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5108 = load i32, ptr %5107, align 4, !tbaa !5
  %5109 = call ptr @s2n_strerror(i32 noundef %5108, ptr noundef @.str.4)
  %5110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5111 = load i32, ptr %5110, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror_debug(i32 noundef %5111, ptr noundef @.str.4)
  %5113 = call ptr @__errno_location() #11
  %5114 = load i32, ptr %5113, align 4, !tbaa !5
  %5115 = call ptr @strerror(i32 noundef %5114) #10
  %5116 = call ptr @__errno_location() #11
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5105, ptr noundef @.str.2, i32 noundef %5106, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5109, ptr noundef %5112, ptr noundef %5115, i32 noundef %5117) #10
  br label %5136

5119:                                             ; preds = %5097, %5090
  %5120 = load i32, ptr %100, align 4, !tbaa !5
  %5121 = call ptr @__errno_location() #11
  store i32 %5120, ptr %5121, align 4, !tbaa !5
  %5122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5123 = load i32, ptr @test_count, align 4, !tbaa !5
  %5124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call ptr @s2n_strerror(i32 noundef %5125, ptr noundef @.str.4)
  %5127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5128 = load i32, ptr %5127, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror_debug(i32 noundef %5128, ptr noundef @.str.4)
  %5130 = call ptr @__errno_location() #11
  %5131 = load i32, ptr %5130, align 4, !tbaa !5
  %5132 = call ptr @strerror(i32 noundef %5131) #10
  %5133 = call ptr @__errno_location() #11
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5122, ptr noundef @.str.5, i32 noundef %5123, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 228, ptr noundef %5126, ptr noundef %5129, ptr noundef %5132, i32 noundef %5134) #10
  br label %5136

5136:                                             ; preds = %5119, %5102
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #10
  br label %5137

5137:                                             ; preds = %5136
  br label %5138

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

5139:                                             ; No predecessors!
  br label %5140

5140:                                             ; preds = %5139
  br label %5141

5141:                                             ; preds = %5140, %5076
  br label %5142

5142:                                             ; preds = %5141
  br label %5143

5143:                                             ; preds = %5142
  br label %5144

5144:                                             ; preds = %5143
  %5145 = load i32, ptr @test_count, align 4, !tbaa !5
  %5146 = add nsw i32 %5145, 1
  store i32 %5146, ptr @test_count, align 4, !tbaa !5
  %5147 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %96)
  %5148 = icmp eq i32 %5147, -1
  br i1 %5148, label %5149, label %5202

5149:                                             ; preds = %5144
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #10
  %5152 = call ptr @__errno_location() #11
  %5153 = load i32, ptr %5152, align 4, !tbaa !5
  store i32 %5153, ptr %101, align 4, !tbaa !5
  %5154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5155 = call i32 @s2n_print_stacktrace(ptr noundef %5154)
  %5156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5157 = trunc i8 %5156 to i1
  br i1 %5157, label %5158, label %5180

5158:                                             ; preds = %5151
  %5159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5160 = call i32 @fileno(ptr noundef %5159) #10
  %5161 = call i32 @isatty(i32 noundef %5160) #10
  %5162 = icmp ne i32 %5161, 0
  br i1 %5162, label %5163, label %5180

5163:                                             ; preds = %5158
  %5164 = load i32, ptr %101, align 4, !tbaa !5
  %5165 = call ptr @__errno_location() #11
  store i32 %5164, ptr %5165, align 4, !tbaa !5
  %5166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5167 = load i32, ptr @test_count, align 4, !tbaa !5
  %5168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5169 = load i32, ptr %5168, align 4, !tbaa !5
  %5170 = call ptr @s2n_strerror(i32 noundef %5169, ptr noundef @.str.4)
  %5171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5172 = load i32, ptr %5171, align 4, !tbaa !5
  %5173 = call ptr @s2n_strerror_debug(i32 noundef %5172, ptr noundef @.str.4)
  %5174 = call ptr @__errno_location() #11
  %5175 = load i32, ptr %5174, align 4, !tbaa !5
  %5176 = call ptr @strerror(i32 noundef %5175) #10
  %5177 = call ptr @__errno_location() #11
  %5178 = load i32, ptr %5177, align 4, !tbaa !5
  %5179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5166, ptr noundef @.str.2, i32 noundef %5167, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5170, ptr noundef %5173, ptr noundef %5176, i32 noundef %5178) #10
  br label %5197

5180:                                             ; preds = %5158, %5151
  %5181 = load i32, ptr %101, align 4, !tbaa !5
  %5182 = call ptr @__errno_location() #11
  store i32 %5181, ptr %5182, align 4, !tbaa !5
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5184 = load i32, ptr @test_count, align 4, !tbaa !5
  %5185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5186 = load i32, ptr %5185, align 4, !tbaa !5
  %5187 = call ptr @s2n_strerror(i32 noundef %5186, ptr noundef @.str.4)
  %5188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5189 = load i32, ptr %5188, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror_debug(i32 noundef %5189, ptr noundef @.str.4)
  %5191 = call ptr @__errno_location() #11
  %5192 = load i32, ptr %5191, align 4, !tbaa !5
  %5193 = call ptr @strerror(i32 noundef %5192) #10
  %5194 = call ptr @__errno_location() #11
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  %5196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5183, ptr noundef @.str.5, i32 noundef %5184, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5187, ptr noundef %5190, ptr noundef %5193, i32 noundef %5195) #10
  br label %5197

5197:                                             ; preds = %5180, %5163
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #10
  br label %5198

5198:                                             ; preds = %5197
  br label %5199

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

5200:                                             ; No predecessors!
  br label %5201

5201:                                             ; preds = %5200
  br label %5202

5202:                                             ; preds = %5201, %5144
  br label %5203

5203:                                             ; preds = %5202
  br label %5204

5204:                                             ; preds = %5203
  br label %5205

5205:                                             ; preds = %5204
  br label %5206

5206:                                             ; preds = %5205
  br label %5207

5207:                                             ; preds = %5206
  %5208 = load i32, ptr @test_count, align 4, !tbaa !5
  %5209 = add nsw i32 %5208, 1
  store i32 %5209, ptr @test_count, align 4, !tbaa !5
  %5210 = call i32 @s2n_extension_list_parse(ptr noundef %94, ptr noundef %93)
  %5211 = icmp eq i32 %5210, -1
  br i1 %5211, label %5265, label %5212

5212:                                             ; preds = %5207
  br label %5213

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #10
  %5215 = call ptr @__errno_location() #11
  %5216 = load i32, ptr %5215, align 4, !tbaa !5
  store i32 %5216, ptr %102, align 4, !tbaa !5
  %5217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5218 = call i32 @s2n_print_stacktrace(ptr noundef %5217)
  %5219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5220 = trunc i8 %5219 to i1
  br i1 %5220, label %5221, label %5243

5221:                                             ; preds = %5214
  %5222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5223 = call i32 @fileno(ptr noundef %5222) #10
  %5224 = call i32 @isatty(i32 noundef %5223) #10
  %5225 = icmp ne i32 %5224, 0
  br i1 %5225, label %5226, label %5243

5226:                                             ; preds = %5221
  %5227 = load i32, ptr %102, align 4, !tbaa !5
  %5228 = call ptr @__errno_location() #11
  store i32 %5227, ptr %5228, align 4, !tbaa !5
  %5229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %5231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5232 = load i32, ptr %5231, align 4, !tbaa !5
  %5233 = call ptr @s2n_strerror(i32 noundef %5232, ptr noundef @.str.4)
  %5234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5235 = load i32, ptr %5234, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror_debug(i32 noundef %5235, ptr noundef @.str.4)
  %5237 = call ptr @__errno_location() #11
  %5238 = load i32, ptr %5237, align 4, !tbaa !5
  %5239 = call ptr @strerror(i32 noundef %5238) #10
  %5240 = call ptr @__errno_location() #11
  %5241 = load i32, ptr %5240, align 4, !tbaa !5
  %5242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5229, ptr noundef @.str.2, i32 noundef %5230, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5233, ptr noundef %5236, ptr noundef %5239, i32 noundef %5241) #10
  br label %5260

5243:                                             ; preds = %5221, %5214
  %5244 = load i32, ptr %102, align 4, !tbaa !5
  %5245 = call ptr @__errno_location() #11
  store i32 %5244, ptr %5245, align 4, !tbaa !5
  %5246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5247 = load i32, ptr @test_count, align 4, !tbaa !5
  %5248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5249 = load i32, ptr %5248, align 4, !tbaa !5
  %5250 = call ptr @s2n_strerror(i32 noundef %5249, ptr noundef @.str.4)
  %5251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5252 = load i32, ptr %5251, align 4, !tbaa !5
  %5253 = call ptr @s2n_strerror_debug(i32 noundef %5252, ptr noundef @.str.4)
  %5254 = call ptr @__errno_location() #11
  %5255 = load i32, ptr %5254, align 4, !tbaa !5
  %5256 = call ptr @strerror(i32 noundef %5255) #10
  %5257 = call ptr @__errno_location() #11
  %5258 = load i32, ptr %5257, align 4, !tbaa !5
  %5259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5246, ptr noundef @.str.5, i32 noundef %5247, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5250, ptr noundef %5253, ptr noundef %5256, i32 noundef %5258) #10
  br label %5260

5260:                                             ; preds = %5243, %5226
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #10
  br label %5261

5261:                                             ; preds = %5260
  br label %5262

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

5263:                                             ; No predecessors!
  br label %5264

5264:                                             ; preds = %5263
  br label %5265

5265:                                             ; preds = %5264, %5207
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  br label %5268

5268:                                             ; preds = %5267
  %5269 = load i32, ptr @test_count, align 4, !tbaa !5
  %5270 = add nsw i32 %5269, 1
  store i32 %5270, ptr @test_count, align 4, !tbaa !5
  %5271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = icmp eq i32 %5272, 335544322
  br i1 %5273, label %5327, label %5274

5274:                                             ; preds = %5268
  br label %5275

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #10
  %5277 = call ptr @__errno_location() #11
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  store i32 %5278, ptr %103, align 4, !tbaa !5
  %5279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5280 = call i32 @s2n_print_stacktrace(ptr noundef %5279)
  %5281 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5282 = trunc i8 %5281 to i1
  br i1 %5282, label %5283, label %5305

5283:                                             ; preds = %5276
  %5284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5285 = call i32 @fileno(ptr noundef %5284) #10
  %5286 = call i32 @isatty(i32 noundef %5285) #10
  %5287 = icmp ne i32 %5286, 0
  br i1 %5287, label %5288, label %5305

5288:                                             ; preds = %5283
  %5289 = load i32, ptr %103, align 4, !tbaa !5
  %5290 = call ptr @__errno_location() #11
  store i32 %5289, ptr %5290, align 4, !tbaa !5
  %5291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5292 = load i32, ptr @test_count, align 4, !tbaa !5
  %5293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5294 = load i32, ptr %5293, align 4, !tbaa !5
  %5295 = call ptr @s2n_strerror(i32 noundef %5294, ptr noundef @.str.4)
  %5296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5297 = load i32, ptr %5296, align 4, !tbaa !5
  %5298 = call ptr @s2n_strerror_debug(i32 noundef %5297, ptr noundef @.str.4)
  %5299 = call ptr @__errno_location() #11
  %5300 = load i32, ptr %5299, align 4, !tbaa !5
  %5301 = call ptr @strerror(i32 noundef %5300) #10
  %5302 = call ptr @__errno_location() #11
  %5303 = load i32, ptr %5302, align 4, !tbaa !5
  %5304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5291, ptr noundef @.str.2, i32 noundef %5292, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5295, ptr noundef %5298, ptr noundef %5301, i32 noundef %5303) #10
  br label %5322

5305:                                             ; preds = %5283, %5276
  %5306 = load i32, ptr %103, align 4, !tbaa !5
  %5307 = call ptr @__errno_location() #11
  store i32 %5306, ptr %5307, align 4, !tbaa !5
  %5308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5309 = load i32, ptr @test_count, align 4, !tbaa !5
  %5310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5311 = load i32, ptr %5310, align 4, !tbaa !5
  %5312 = call ptr @s2n_strerror(i32 noundef %5311, ptr noundef @.str.4)
  %5313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5314 = load i32, ptr %5313, align 4, !tbaa !5
  %5315 = call ptr @s2n_strerror_debug(i32 noundef %5314, ptr noundef @.str.4)
  %5316 = call ptr @__errno_location() #11
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @strerror(i32 noundef %5317) #10
  %5319 = call ptr @__errno_location() #11
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5308, ptr noundef @.str.5, i32 noundef %5309, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5312, ptr noundef %5315, ptr noundef %5318, i32 noundef %5320) #10
  br label %5322

5322:                                             ; preds = %5305, %5288
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #10
  br label %5323

5323:                                             ; preds = %5322
  br label %5324

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

5325:                                             ; No predecessors!
  br label %5326

5326:                                             ; preds = %5325
  br label %5327

5327:                                             ; preds = %5326, %5268
  br label %5328

5328:                                             ; preds = %5327
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = add nsw i32 %5331, 1
  store i32 %5332, ptr @test_count, align 4, !tbaa !5
  %5333 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5334 = load i32, ptr %5333, align 4, !tbaa !5
  %5335 = call ptr @s2n_strerror_debug(i32 noundef %5334, ptr noundef @.str.4)
  %5336 = icmp eq ptr %5335, null
  br i1 %5336, label %5337, label %5390

5337:                                             ; preds = %5330
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #10
  %5340 = call ptr @__errno_location() #11
  %5341 = load i32, ptr %5340, align 4, !tbaa !5
  store i32 %5341, ptr %104, align 4, !tbaa !5
  %5342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5343 = call i32 @s2n_print_stacktrace(ptr noundef %5342)
  %5344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5345 = trunc i8 %5344 to i1
  br i1 %5345, label %5346, label %5368

5346:                                             ; preds = %5339
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = call i32 @fileno(ptr noundef %5347) #10
  %5349 = call i32 @isatty(i32 noundef %5348) #10
  %5350 = icmp ne i32 %5349, 0
  br i1 %5350, label %5351, label %5368

5351:                                             ; preds = %5346
  %5352 = load i32, ptr %104, align 4, !tbaa !5
  %5353 = call ptr @__errno_location() #11
  store i32 %5352, ptr %5353, align 4, !tbaa !5
  %5354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5355 = load i32, ptr @test_count, align 4, !tbaa !5
  %5356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5357 = load i32, ptr %5356, align 4, !tbaa !5
  %5358 = call ptr @s2n_strerror(i32 noundef %5357, ptr noundef @.str.4)
  %5359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5360 = load i32, ptr %5359, align 4, !tbaa !5
  %5361 = call ptr @s2n_strerror_debug(i32 noundef %5360, ptr noundef @.str.4)
  %5362 = call ptr @__errno_location() #11
  %5363 = load i32, ptr %5362, align 4, !tbaa !5
  %5364 = call ptr @strerror(i32 noundef %5363) #10
  %5365 = call ptr @__errno_location() #11
  %5366 = load i32, ptr %5365, align 4, !tbaa !5
  %5367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5354, ptr noundef @.str.2, i32 noundef %5355, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5358, ptr noundef %5361, ptr noundef %5364, i32 noundef %5366) #10
  br label %5385

5368:                                             ; preds = %5346, %5339
  %5369 = load i32, ptr %104, align 4, !tbaa !5
  %5370 = call ptr @__errno_location() #11
  store i32 %5369, ptr %5370, align 4, !tbaa !5
  %5371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5372 = load i32, ptr @test_count, align 4, !tbaa !5
  %5373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5374 = load i32, ptr %5373, align 4, !tbaa !5
  %5375 = call ptr @s2n_strerror(i32 noundef %5374, ptr noundef @.str.4)
  %5376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5377 = load i32, ptr %5376, align 4, !tbaa !5
  %5378 = call ptr @s2n_strerror_debug(i32 noundef %5377, ptr noundef @.str.4)
  %5379 = call ptr @__errno_location() #11
  %5380 = load i32, ptr %5379, align 4, !tbaa !5
  %5381 = call ptr @strerror(i32 noundef %5380) #10
  %5382 = call ptr @__errno_location() #11
  %5383 = load i32, ptr %5382, align 4, !tbaa !5
  %5384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5371, ptr noundef @.str.5, i32 noundef %5372, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5375, ptr noundef %5378, ptr noundef %5381, i32 noundef %5383) #10
  br label %5385

5385:                                             ; preds = %5368, %5351
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #10
  br label %5386

5386:                                             ; preds = %5385
  br label %5387

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

5388:                                             ; No predecessors!
  br label %5389

5389:                                             ; preds = %5388
  br label %5390

5390:                                             ; preds = %5389, %5330
  br label %5391

5391:                                             ; preds = %5390
  br label %5392

5392:                                             ; preds = %5391
  br label %5393

5393:                                             ; preds = %5392
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394
  %5396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5396, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5397 = call ptr @__errno_location() #11
  store i32 0, ptr %5397, align 4, !tbaa !5
  br label %5398

5398:                                             ; preds = %5395
  br label %5399

5399:                                             ; preds = %5398
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400
  br label %5402

5402:                                             ; preds = %5401
  %5403 = load i32, ptr @test_count, align 4, !tbaa !5
  %5404 = add nsw i32 %5403, 1
  store i32 %5404, ptr @test_count, align 4, !tbaa !5
  %5405 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 2
  %5406 = load i32, ptr %5405, align 4, !tbaa !21
  %5407 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 1
  %5408 = load i32, ptr %5407, align 8, !tbaa !23
  %5409 = sub i32 %5406, %5408
  %5410 = icmp eq i32 %5409, 0
  br i1 %5410, label %5464, label %5411

5411:                                             ; preds = %5402
  br label %5412

5412:                                             ; preds = %5411
  br label %5413

5413:                                             ; preds = %5412
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #10
  %5414 = call ptr @__errno_location() #11
  %5415 = load i32, ptr %5414, align 4, !tbaa !5
  store i32 %5415, ptr %105, align 4, !tbaa !5
  %5416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5417 = call i32 @s2n_print_stacktrace(ptr noundef %5416)
  %5418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5419 = trunc i8 %5418 to i1
  br i1 %5419, label %5420, label %5442

5420:                                             ; preds = %5413
  %5421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5422 = call i32 @fileno(ptr noundef %5421) #10
  %5423 = call i32 @isatty(i32 noundef %5422) #10
  %5424 = icmp ne i32 %5423, 0
  br i1 %5424, label %5425, label %5442

5425:                                             ; preds = %5420
  %5426 = load i32, ptr %105, align 4, !tbaa !5
  %5427 = call ptr @__errno_location() #11
  store i32 %5426, ptr %5427, align 4, !tbaa !5
  %5428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5429 = load i32, ptr @test_count, align 4, !tbaa !5
  %5430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5431 = load i32, ptr %5430, align 4, !tbaa !5
  %5432 = call ptr @s2n_strerror(i32 noundef %5431, ptr noundef @.str.4)
  %5433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5434 = load i32, ptr %5433, align 4, !tbaa !5
  %5435 = call ptr @s2n_strerror_debug(i32 noundef %5434, ptr noundef @.str.4)
  %5436 = call ptr @__errno_location() #11
  %5437 = load i32, ptr %5436, align 4, !tbaa !5
  %5438 = call ptr @strerror(i32 noundef %5437) #10
  %5439 = call ptr @__errno_location() #11
  %5440 = load i32, ptr %5439, align 4, !tbaa !5
  %5441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5428, ptr noundef @.str.2, i32 noundef %5429, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5432, ptr noundef %5435, ptr noundef %5438, i32 noundef %5440) #10
  br label %5459

5442:                                             ; preds = %5420, %5413
  %5443 = load i32, ptr %105, align 4, !tbaa !5
  %5444 = call ptr @__errno_location() #11
  store i32 %5443, ptr %5444, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = load i32, ptr @test_count, align 4, !tbaa !5
  %5447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5448 = load i32, ptr %5447, align 4, !tbaa !5
  %5449 = call ptr @s2n_strerror(i32 noundef %5448, ptr noundef @.str.4)
  %5450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call ptr @s2n_strerror_debug(i32 noundef %5451, ptr noundef @.str.4)
  %5453 = call ptr @__errno_location() #11
  %5454 = load i32, ptr %5453, align 4, !tbaa !5
  %5455 = call ptr @strerror(i32 noundef %5454) #10
  %5456 = call ptr @__errno_location() #11
  %5457 = load i32, ptr %5456, align 4, !tbaa !5
  %5458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5445, ptr noundef @.str.5, i32 noundef %5446, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5449, ptr noundef %5452, ptr noundef %5455, i32 noundef %5457) #10
  br label %5459

5459:                                             ; preds = %5442, %5425
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #10
  br label %5460

5460:                                             ; preds = %5459
  br label %5461

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

5462:                                             ; No predecessors!
  br label %5463

5463:                                             ; preds = %5462
  br label %5464

5464:                                             ; preds = %5463, %5402
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  %5469 = load i32, ptr @test_count, align 4, !tbaa !5
  %5470 = add nsw i32 %5469, 1
  store i32 %5470, ptr @test_count, align 4, !tbaa !5
  %5471 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %93, i32 0, i32 0
  %5472 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %5471, i64 0, i64 0
  %5473 = call i32 @memcmp(ptr noundef %5472, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %5474 = icmp eq i32 %5473, 0
  br i1 %5474, label %5528, label %5475

5475:                                             ; preds = %5468
  br label %5476

5476:                                             ; preds = %5475
  br label %5477

5477:                                             ; preds = %5476
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #10
  %5478 = call ptr @__errno_location() #11
  %5479 = load i32, ptr %5478, align 4, !tbaa !5
  store i32 %5479, ptr %106, align 4, !tbaa !5
  %5480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5481 = call i32 @s2n_print_stacktrace(ptr noundef %5480)
  %5482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5483 = trunc i8 %5482 to i1
  br i1 %5483, label %5484, label %5506

5484:                                             ; preds = %5477
  %5485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5486 = call i32 @fileno(ptr noundef %5485) #10
  %5487 = call i32 @isatty(i32 noundef %5486) #10
  %5488 = icmp ne i32 %5487, 0
  br i1 %5488, label %5489, label %5506

5489:                                             ; preds = %5484
  %5490 = load i32, ptr %106, align 4, !tbaa !5
  %5491 = call ptr @__errno_location() #11
  store i32 %5490, ptr %5491, align 4, !tbaa !5
  %5492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5493 = load i32, ptr @test_count, align 4, !tbaa !5
  %5494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5495 = load i32, ptr %5494, align 4, !tbaa !5
  %5496 = call ptr @s2n_strerror(i32 noundef %5495, ptr noundef @.str.4)
  %5497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5498 = load i32, ptr %5497, align 4, !tbaa !5
  %5499 = call ptr @s2n_strerror_debug(i32 noundef %5498, ptr noundef @.str.4)
  %5500 = call ptr @__errno_location() #11
  %5501 = load i32, ptr %5500, align 4, !tbaa !5
  %5502 = call ptr @strerror(i32 noundef %5501) #10
  %5503 = call ptr @__errno_location() #11
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5492, ptr noundef @.str.2, i32 noundef %5493, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5496, ptr noundef %5499, ptr noundef %5502, i32 noundef %5504) #10
  br label %5523

5506:                                             ; preds = %5484, %5477
  %5507 = load i32, ptr %106, align 4, !tbaa !5
  %5508 = call ptr @__errno_location() #11
  store i32 %5507, ptr %5508, align 4, !tbaa !5
  %5509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5510 = load i32, ptr @test_count, align 4, !tbaa !5
  %5511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5512 = load i32, ptr %5511, align 4, !tbaa !5
  %5513 = call ptr @s2n_strerror(i32 noundef %5512, ptr noundef @.str.4)
  %5514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call ptr @s2n_strerror_debug(i32 noundef %5515, ptr noundef @.str.4)
  %5517 = call ptr @__errno_location() #11
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call ptr @strerror(i32 noundef %5518) #10
  %5520 = call ptr @__errno_location() #11
  %5521 = load i32, ptr %5520, align 4, !tbaa !5
  %5522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5509, ptr noundef @.str.5, i32 noundef %5510, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5513, ptr noundef %5516, ptr noundef %5519, i32 noundef %5521) #10
  br label %5523

5523:                                             ; preds = %5506, %5489
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #10
  br label %5524

5524:                                             ; preds = %5523
  br label %5525

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

5526:                                             ; No predecessors!
  br label %5527

5527:                                             ; preds = %5526
  br label %5528

5528:                                             ; preds = %5527, %5468
  br label %5529

5529:                                             ; preds = %5528
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

5532:                                             ; preds = %5531
  br label %5533

5533:                                             ; preds = %5532
  %5534 = load i32, ptr @test_count, align 4, !tbaa !5
  %5535 = add nsw i32 %5534, 1
  store i32 %5535, ptr @test_count, align 4, !tbaa !5
  %5536 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %93, i32 0, i32 1
  %5537 = getelementptr inbounds %struct.s2n_blob, ptr %5536, i32 0, i32 0
  %5538 = load ptr, ptr %5537, align 8, !tbaa !24
  %5539 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 0
  %5540 = getelementptr inbounds %struct.s2n_blob, ptr %5539, i32 0, i32 0
  %5541 = load ptr, ptr %5540, align 8, !tbaa !26
  %5542 = getelementptr inbounds i8, ptr %5541, i64 2
  %5543 = icmp eq ptr %5538, %5542
  br i1 %5543, label %5597, label %5544

5544:                                             ; preds = %5533
  br label %5545

5545:                                             ; preds = %5544
  br label %5546

5546:                                             ; preds = %5545
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #10
  %5547 = call ptr @__errno_location() #11
  %5548 = load i32, ptr %5547, align 4, !tbaa !5
  store i32 %5548, ptr %107, align 4, !tbaa !5
  %5549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5550 = call i32 @s2n_print_stacktrace(ptr noundef %5549)
  %5551 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5552 = trunc i8 %5551 to i1
  br i1 %5552, label %5553, label %5575

5553:                                             ; preds = %5546
  %5554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5555 = call i32 @fileno(ptr noundef %5554) #10
  %5556 = call i32 @isatty(i32 noundef %5555) #10
  %5557 = icmp ne i32 %5556, 0
  br i1 %5557, label %5558, label %5575

5558:                                             ; preds = %5553
  %5559 = load i32, ptr %107, align 4, !tbaa !5
  %5560 = call ptr @__errno_location() #11
  store i32 %5559, ptr %5560, align 4, !tbaa !5
  %5561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5562 = load i32, ptr @test_count, align 4, !tbaa !5
  %5563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5564 = load i32, ptr %5563, align 4, !tbaa !5
  %5565 = call ptr @s2n_strerror(i32 noundef %5564, ptr noundef @.str.4)
  %5566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5567 = load i32, ptr %5566, align 4, !tbaa !5
  %5568 = call ptr @s2n_strerror_debug(i32 noundef %5567, ptr noundef @.str.4)
  %5569 = call ptr @__errno_location() #11
  %5570 = load i32, ptr %5569, align 4, !tbaa !5
  %5571 = call ptr @strerror(i32 noundef %5570) #10
  %5572 = call ptr @__errno_location() #11
  %5573 = load i32, ptr %5572, align 4, !tbaa !5
  %5574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5561, ptr noundef @.str.2, i32 noundef %5562, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5565, ptr noundef %5568, ptr noundef %5571, i32 noundef %5573) #10
  br label %5592

5575:                                             ; preds = %5553, %5546
  %5576 = load i32, ptr %107, align 4, !tbaa !5
  %5577 = call ptr @__errno_location() #11
  store i32 %5576, ptr %5577, align 4, !tbaa !5
  %5578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5579 = load i32, ptr @test_count, align 4, !tbaa !5
  %5580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5581 = load i32, ptr %5580, align 4, !tbaa !5
  %5582 = call ptr @s2n_strerror(i32 noundef %5581, ptr noundef @.str.4)
  %5583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5584 = load i32, ptr %5583, align 4, !tbaa !5
  %5585 = call ptr @s2n_strerror_debug(i32 noundef %5584, ptr noundef @.str.4)
  %5586 = call ptr @__errno_location() #11
  %5587 = load i32, ptr %5586, align 4, !tbaa !5
  %5588 = call ptr @strerror(i32 noundef %5587) #10
  %5589 = call ptr @__errno_location() #11
  %5590 = load i32, ptr %5589, align 4, !tbaa !5
  %5591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5578, ptr noundef @.str.5, i32 noundef %5579, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5582, ptr noundef %5585, ptr noundef %5588, i32 noundef %5590) #10
  br label %5592

5592:                                             ; preds = %5575, %5558
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #10
  br label %5593

5593:                                             ; preds = %5592
  br label %5594

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

5595:                                             ; No predecessors!
  br label %5596

5596:                                             ; preds = %5595
  br label %5597

5597:                                             ; preds = %5596, %5533
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

5599:                                             ; preds = %5598
  br label %5600

5600:                                             ; preds = %5599
  %5601 = load i32, ptr @test_count, align 4, !tbaa !5
  %5602 = add nsw i32 %5601, 1
  store i32 %5602, ptr @test_count, align 4, !tbaa !5
  %5603 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %93, i32 0, i32 1
  %5604 = getelementptr inbounds %struct.s2n_blob, ptr %5603, i32 0, i32 1
  %5605 = load i32, ptr %5604, align 8, !tbaa !27
  %5606 = zext i32 %5605 to i64
  %5607 = getelementptr inbounds %struct.s2n_stuffer, ptr %94, i32 0, i32 3
  %5608 = load i32, ptr %5607, align 8, !tbaa !29
  %5609 = zext i32 %5608 to i64
  %5610 = sub i64 %5609, 2
  %5611 = icmp eq i64 %5606, %5610
  br i1 %5611, label %5665, label %5612

5612:                                             ; preds = %5600
  br label %5613

5613:                                             ; preds = %5612
  br label %5614

5614:                                             ; preds = %5613
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #10
  %5615 = call ptr @__errno_location() #11
  %5616 = load i32, ptr %5615, align 4, !tbaa !5
  store i32 %5616, ptr %108, align 4, !tbaa !5
  %5617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5618 = call i32 @s2n_print_stacktrace(ptr noundef %5617)
  %5619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5620 = trunc i8 %5619 to i1
  br i1 %5620, label %5621, label %5643

5621:                                             ; preds = %5614
  %5622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5623 = call i32 @fileno(ptr noundef %5622) #10
  %5624 = call i32 @isatty(i32 noundef %5623) #10
  %5625 = icmp ne i32 %5624, 0
  br i1 %5625, label %5626, label %5643

5626:                                             ; preds = %5621
  %5627 = load i32, ptr %108, align 4, !tbaa !5
  %5628 = call ptr @__errno_location() #11
  store i32 %5627, ptr %5628, align 4, !tbaa !5
  %5629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5630 = load i32, ptr @test_count, align 4, !tbaa !5
  %5631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5632 = load i32, ptr %5631, align 4, !tbaa !5
  %5633 = call ptr @s2n_strerror(i32 noundef %5632, ptr noundef @.str.4)
  %5634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5635 = load i32, ptr %5634, align 4, !tbaa !5
  %5636 = call ptr @s2n_strerror_debug(i32 noundef %5635, ptr noundef @.str.4)
  %5637 = call ptr @__errno_location() #11
  %5638 = load i32, ptr %5637, align 4, !tbaa !5
  %5639 = call ptr @strerror(i32 noundef %5638) #10
  %5640 = call ptr @__errno_location() #11
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5629, ptr noundef @.str.2, i32 noundef %5630, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5633, ptr noundef %5636, ptr noundef %5639, i32 noundef %5641) #10
  br label %5660

5643:                                             ; preds = %5621, %5614
  %5644 = load i32, ptr %108, align 4, !tbaa !5
  %5645 = call ptr @__errno_location() #11
  store i32 %5644, ptr %5645, align 4, !tbaa !5
  %5646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5647 = load i32, ptr @test_count, align 4, !tbaa !5
  %5648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5649 = load i32, ptr %5648, align 4, !tbaa !5
  %5650 = call ptr @s2n_strerror(i32 noundef %5649, ptr noundef @.str.4)
  %5651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5652 = load i32, ptr %5651, align 4, !tbaa !5
  %5653 = call ptr @s2n_strerror_debug(i32 noundef %5652, ptr noundef @.str.4)
  %5654 = call ptr @__errno_location() #11
  %5655 = load i32, ptr %5654, align 4, !tbaa !5
  %5656 = call ptr @strerror(i32 noundef %5655) #10
  %5657 = call ptr @__errno_location() #11
  %5658 = load i32, ptr %5657, align 4, !tbaa !5
  %5659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5646, ptr noundef @.str.5, i32 noundef %5647, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 236, ptr noundef %5650, ptr noundef %5653, ptr noundef %5656, i32 noundef %5658) #10
  br label %5660

5660:                                             ; preds = %5643, %5626
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #10
  br label %5661

5661:                                             ; preds = %5660
  br label %5662

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

5663:                                             ; No predecessors!
  br label %5664

5664:                                             ; preds = %5663
  br label %5665

5665:                                             ; preds = %5664, %5600
  br label %5666

5666:                                             ; preds = %5665
  br label %5667

5667:                                             ; preds = %5666
  br label %5668

5668:                                             ; preds = %5667
  %5669 = load i32, ptr @test_count, align 4, !tbaa !5
  %5670 = add nsw i32 %5669, 1
  store i32 %5670, ptr @test_count, align 4, !tbaa !5
  %5671 = call i32 @s2n_stuffer_free(ptr noundef %94)
  %5672 = icmp eq i32 %5671, -1
  br i1 %5672, label %5673, label %5726

5673:                                             ; preds = %5668
  br label %5674

5674:                                             ; preds = %5673
  br label %5675

5675:                                             ; preds = %5674
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #10
  %5676 = call ptr @__errno_location() #11
  %5677 = load i32, ptr %5676, align 4, !tbaa !5
  store i32 %5677, ptr %109, align 4, !tbaa !5
  %5678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5679 = call i32 @s2n_print_stacktrace(ptr noundef %5678)
  %5680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5681 = trunc i8 %5680 to i1
  br i1 %5681, label %5682, label %5704

5682:                                             ; preds = %5675
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = call i32 @fileno(ptr noundef %5683) #10
  %5685 = call i32 @isatty(i32 noundef %5684) #10
  %5686 = icmp ne i32 %5685, 0
  br i1 %5686, label %5687, label %5704

5687:                                             ; preds = %5682
  %5688 = load i32, ptr %109, align 4, !tbaa !5
  %5689 = call ptr @__errno_location() #11
  store i32 %5688, ptr %5689, align 4, !tbaa !5
  %5690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5691 = load i32, ptr @test_count, align 4, !tbaa !5
  %5692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror(i32 noundef %5693, ptr noundef @.str.4)
  %5695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror_debug(i32 noundef %5696, ptr noundef @.str.4)
  %5698 = call ptr @__errno_location() #11
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call ptr @strerror(i32 noundef %5699) #10
  %5701 = call ptr @__errno_location() #11
  %5702 = load i32, ptr %5701, align 4, !tbaa !5
  %5703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5690, ptr noundef @.str.2, i32 noundef %5691, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 238, ptr noundef %5694, ptr noundef %5697, ptr noundef %5700, i32 noundef %5702) #10
  br label %5721

5704:                                             ; preds = %5682, %5675
  %5705 = load i32, ptr %109, align 4, !tbaa !5
  %5706 = call ptr @__errno_location() #11
  store i32 %5705, ptr %5706, align 4, !tbaa !5
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5708 = load i32, ptr @test_count, align 4, !tbaa !5
  %5709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5710 = load i32, ptr %5709, align 4, !tbaa !5
  %5711 = call ptr @s2n_strerror(i32 noundef %5710, ptr noundef @.str.4)
  %5712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5713 = load i32, ptr %5712, align 4, !tbaa !5
  %5714 = call ptr @s2n_strerror_debug(i32 noundef %5713, ptr noundef @.str.4)
  %5715 = call ptr @__errno_location() #11
  %5716 = load i32, ptr %5715, align 4, !tbaa !5
  %5717 = call ptr @strerror(i32 noundef %5716) #10
  %5718 = call ptr @__errno_location() #11
  %5719 = load i32, ptr %5718, align 4, !tbaa !5
  %5720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5707, ptr noundef @.str.5, i32 noundef %5708, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 238, ptr noundef %5711, ptr noundef %5714, ptr noundef %5717, i32 noundef %5719) #10
  br label %5721

5721:                                             ; preds = %5704, %5687
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #10
  br label %5722

5722:                                             ; preds = %5721
  br label %5723

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

5724:                                             ; No predecessors!
  br label %5725

5725:                                             ; preds = %5724
  br label %5726

5726:                                             ; preds = %5725, %5668
  br label %5727

5727:                                             ; preds = %5726
  br label %5728

5728:                                             ; preds = %5727
  call void @llvm.lifetime.end.p0(i64 16, ptr %96) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %94) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %93) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %110) #10
  call void @llvm.memset.p0.i64(ptr align 8 %110, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %111) #10
  call void @llvm.memset.p0.i64(ptr align 8 %111, i8 0, i64 40, i1 false)
  br label %5729

5729:                                             ; preds = %5728
  %5730 = load i32, ptr @test_count, align 4, !tbaa !5
  %5731 = add nsw i32 %5730, 1
  store i32 %5731, ptr @test_count, align 4, !tbaa !5
  %5732 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %111, i32 noundef 0)
  %5733 = icmp eq i32 %5732, -1
  br i1 %5733, label %5734, label %5787

5734:                                             ; preds = %5729
  br label %5735

5735:                                             ; preds = %5734
  br label %5736

5736:                                             ; preds = %5735
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #10
  %5737 = call ptr @__errno_location() #11
  %5738 = load i32, ptr %5737, align 4, !tbaa !5
  store i32 %5738, ptr %112, align 4, !tbaa !5
  %5739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5740 = call i32 @s2n_print_stacktrace(ptr noundef %5739)
  %5741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5742 = trunc i8 %5741 to i1
  br i1 %5742, label %5743, label %5765

5743:                                             ; preds = %5736
  %5744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5745 = call i32 @fileno(ptr noundef %5744) #10
  %5746 = call i32 @isatty(i32 noundef %5745) #10
  %5747 = icmp ne i32 %5746, 0
  br i1 %5747, label %5748, label %5765

5748:                                             ; preds = %5743
  %5749 = load i32, ptr %112, align 4, !tbaa !5
  %5750 = call ptr @__errno_location() #11
  store i32 %5749, ptr %5750, align 4, !tbaa !5
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5752 = load i32, ptr @test_count, align 4, !tbaa !5
  %5753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @s2n_strerror(i32 noundef %5754, ptr noundef @.str.4)
  %5756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call ptr @s2n_strerror_debug(i32 noundef %5757, ptr noundef @.str.4)
  %5759 = call ptr @__errno_location() #11
  %5760 = load i32, ptr %5759, align 4, !tbaa !5
  %5761 = call ptr @strerror(i32 noundef %5760) #10
  %5762 = call ptr @__errno_location() #11
  %5763 = load i32, ptr %5762, align 4, !tbaa !5
  %5764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5751, ptr noundef @.str.2, i32 noundef %5752, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5755, ptr noundef %5758, ptr noundef %5761, i32 noundef %5763) #10
  br label %5782

5765:                                             ; preds = %5743, %5736
  %5766 = load i32, ptr %112, align 4, !tbaa !5
  %5767 = call ptr @__errno_location() #11
  store i32 %5766, ptr %5767, align 4, !tbaa !5
  %5768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5769 = load i32, 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(i32 noundef %5771, ptr noundef @.str.4)
  %5773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5774 = load i32, ptr %5773, align 4, !tbaa !5
  %5775 = call ptr @s2n_strerror_debug(i32 noundef %5774, ptr noundef @.str.4)
  %5776 = call ptr @__errno_location() #11
  %5777 = load i32, ptr %5776, align 4, !tbaa !5
  %5778 = call ptr @strerror(i32 noundef %5777) #10
  %5779 = call ptr @__errno_location() #11
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  %5781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5768, ptr noundef @.str.5, i32 noundef %5769, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5772, ptr noundef %5775, ptr noundef %5778, i32 noundef %5780) #10
  br label %5782

5782:                                             ; preds = %5765, %5748
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #10
  br label %5783

5783:                                             ; preds = %5782
  br label %5784

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

5785:                                             ; No predecessors!
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786, %5729
  br label %5788

5788:                                             ; preds = %5787
  br label %5789

5789:                                             ; preds = %5788
  call void @llvm.lifetime.start.p0(i64 16, ptr %113) #10
  call void @llvm.memset.p0.i64(ptr align 8 %113, i8 0, i64 16, i1 false)
  br label %5790

5790:                                             ; preds = %5789
  %5791 = load i32, ptr @test_count, align 4, !tbaa !5
  %5792 = add nsw i32 %5791, 1
  store i32 %5792, ptr @test_count, align 4, !tbaa !5
  %5793 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %111, ptr noundef %113)
  %5794 = icmp eq i32 %5793, -1
  br i1 %5794, label %5795, label %5848

5795:                                             ; preds = %5790
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #10
  %5798 = call ptr @__errno_location() #11
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  store i32 %5799, ptr %114, align 4, !tbaa !5
  %5800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5801 = call i32 @s2n_print_stacktrace(ptr noundef %5800)
  %5802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5803 = trunc i8 %5802 to i1
  br i1 %5803, label %5804, label %5826

5804:                                             ; preds = %5797
  %5805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5806 = call i32 @fileno(ptr noundef %5805) #10
  %5807 = call i32 @isatty(i32 noundef %5806) #10
  %5808 = icmp ne i32 %5807, 0
  br i1 %5808, label %5809, label %5826

5809:                                             ; preds = %5804
  %5810 = load i32, ptr %114, align 4, !tbaa !5
  %5811 = call ptr @__errno_location() #11
  store i32 %5810, ptr %5811, align 4, !tbaa !5
  %5812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5813 = load i32, ptr @test_count, align 4, !tbaa !5
  %5814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5815 = load i32, ptr %5814, align 4, !tbaa !5
  %5816 = call ptr @s2n_strerror(i32 noundef %5815, ptr noundef @.str.4)
  %5817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5818 = load i32, ptr %5817, align 4, !tbaa !5
  %5819 = call ptr @s2n_strerror_debug(i32 noundef %5818, ptr noundef @.str.4)
  %5820 = call ptr @__errno_location() #11
  %5821 = load i32, ptr %5820, align 4, !tbaa !5
  %5822 = call ptr @strerror(i32 noundef %5821) #10
  %5823 = call ptr @__errno_location() #11
  %5824 = load i32, ptr %5823, align 4, !tbaa !5
  %5825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5812, ptr noundef @.str.2, i32 noundef %5813, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5816, ptr noundef %5819, ptr noundef %5822, i32 noundef %5824) #10
  br label %5843

5826:                                             ; preds = %5804, %5797
  %5827 = load i32, ptr %114, align 4, !tbaa !5
  %5828 = call ptr @__errno_location() #11
  store i32 %5827, ptr %5828, align 4, !tbaa !5
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef @.str.4)
  %5834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror_debug(i32 noundef %5835, ptr noundef @.str.4)
  %5837 = call ptr @__errno_location() #11
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @strerror(i32 noundef %5838) #10
  %5840 = call ptr @__errno_location() #11
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5829, ptr noundef @.str.5, i32 noundef %5830, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5833, ptr noundef %5836, ptr noundef %5839, i32 noundef %5841) #10
  br label %5843

5843:                                             ; preds = %5826, %5809
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #10
  br label %5844

5844:                                             ; preds = %5843
  br label %5845

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

5846:                                             ; No predecessors!
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

5848:                                             ; preds = %5847, %5790
  br label %5849

5849:                                             ; preds = %5848
  br label %5850

5850:                                             ; preds = %5849
  br label %5851

5851:                                             ; preds = %5850
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = add nsw i32 %5852, 1
  store i32 %5853, ptr @test_count, align 4, !tbaa !5
  %5854 = load ptr, ptr %7, align 8, !tbaa !9
  %5855 = call i32 @s2n_extension_send(ptr noundef %6, ptr noundef %5854, ptr noundef %111)
  %5856 = icmp eq i32 %5855, -1
  br i1 %5856, label %5857, label %5910

5857:                                             ; preds = %5851
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

5859:                                             ; preds = %5858
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #10
  %5860 = call ptr @__errno_location() #11
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  store i32 %5861, ptr %115, align 4, !tbaa !5
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5863 = call i32 @s2n_print_stacktrace(ptr noundef %5862)
  %5864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5865 = trunc i8 %5864 to i1
  br i1 %5865, label %5866, label %5888

5866:                                             ; preds = %5859
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @fileno(ptr noundef %5867) #10
  %5869 = call i32 @isatty(i32 noundef %5868) #10
  %5870 = icmp ne i32 %5869, 0
  br i1 %5870, label %5871, label %5888

5871:                                             ; preds = %5866
  %5872 = load i32, ptr %115, align 4, !tbaa !5
  %5873 = call ptr @__errno_location() #11
  store i32 %5872, ptr %5873, align 4, !tbaa !5
  %5874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5875 = load i32, ptr @test_count, align 4, !tbaa !5
  %5876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5877 = load i32, ptr %5876, align 4, !tbaa !5
  %5878 = call ptr @s2n_strerror(i32 noundef %5877, ptr noundef @.str.4)
  %5879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5880 = load i32, ptr %5879, align 4, !tbaa !5
  %5881 = call ptr @s2n_strerror_debug(i32 noundef %5880, ptr noundef @.str.4)
  %5882 = call ptr @__errno_location() #11
  %5883 = load i32, ptr %5882, align 4, !tbaa !5
  %5884 = call ptr @strerror(i32 noundef %5883) #10
  %5885 = call ptr @__errno_location() #11
  %5886 = load i32, ptr %5885, align 4, !tbaa !5
  %5887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5874, ptr noundef @.str.2, i32 noundef %5875, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5878, ptr noundef %5881, ptr noundef %5884, i32 noundef %5886) #10
  br label %5905

5888:                                             ; preds = %5866, %5859
  %5889 = load i32, ptr %115, align 4, !tbaa !5
  %5890 = call ptr @__errno_location() #11
  store i32 %5889, ptr %5890, align 4, !tbaa !5
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = load i32, ptr @test_count, align 4, !tbaa !5
  %5893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5894 = load i32, ptr %5893, align 4, !tbaa !5
  %5895 = call ptr @s2n_strerror(i32 noundef %5894, ptr noundef @.str.4)
  %5896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5897 = load i32, ptr %5896, align 4, !tbaa !5
  %5898 = call ptr @s2n_strerror_debug(i32 noundef %5897, ptr noundef @.str.4)
  %5899 = call ptr @__errno_location() #11
  %5900 = load i32, ptr %5899, align 4, !tbaa !5
  %5901 = call ptr @strerror(i32 noundef %5900) #10
  %5902 = call ptr @__errno_location() #11
  %5903 = load i32, ptr %5902, align 4, !tbaa !5
  %5904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5891, ptr noundef @.str.5, i32 noundef %5892, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5895, ptr noundef %5898, ptr noundef %5901, i32 noundef %5903) #10
  br label %5905

5905:                                             ; preds = %5888, %5871
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #10
  br label %5906

5906:                                             ; preds = %5905
  br label %5907

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

5908:                                             ; No predecessors!
  br label %5909

5909:                                             ; preds = %5908
  br label %5910

5910:                                             ; preds = %5909, %5851
  br label %5911

5911:                                             ; preds = %5910
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

5913:                                             ; preds = %5912
  %5914 = load i32, ptr @test_count, align 4, !tbaa !5
  %5915 = add nsw i32 %5914, 1
  store i32 %5915, ptr @test_count, align 4, !tbaa !5
  %5916 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 2
  %5917 = load i32, ptr %5916, align 4, !tbaa !21
  %5918 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 1
  %5919 = load i32, ptr %5918, align 8, !tbaa !23
  %5920 = sub i32 %5917, %5919
  %5921 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %113, i32 0, i32 2
  %5922 = load i8, ptr %5921, align 4, !tbaa !30
  %5923 = zext i8 %5922 to i32
  %5924 = icmp ugt i32 %5920, %5923
  br i1 %5924, label %5978, label %5925

5925:                                             ; preds = %5913
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

5927:                                             ; preds = %5926
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #10
  %5928 = call ptr @__errno_location() #11
  %5929 = load i32, ptr %5928, align 4, !tbaa !5
  store i32 %5929, ptr %116, align 4, !tbaa !5
  %5930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5931 = call i32 @s2n_print_stacktrace(ptr noundef %5930)
  %5932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5933 = trunc i8 %5932 to i1
  br i1 %5933, label %5934, label %5956

5934:                                             ; preds = %5927
  %5935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5936 = call i32 @fileno(ptr noundef %5935) #10
  %5937 = call i32 @isatty(i32 noundef %5936) #10
  %5938 = icmp ne i32 %5937, 0
  br i1 %5938, label %5939, label %5956

5939:                                             ; preds = %5934
  %5940 = load i32, ptr %116, align 4, !tbaa !5
  %5941 = call ptr @__errno_location() #11
  store i32 %5940, ptr %5941, align 4, !tbaa !5
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5943 = load i32, ptr @test_count, align 4, !tbaa !5
  %5944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5945 = load i32, ptr %5944, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror(i32 noundef %5945, ptr noundef @.str.4)
  %5947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call ptr @s2n_strerror_debug(i32 noundef %5948, ptr noundef @.str.4)
  %5950 = call ptr @__errno_location() #11
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call ptr @strerror(i32 noundef %5951) #10
  %5953 = call ptr @__errno_location() #11
  %5954 = load i32, ptr %5953, align 4, !tbaa !5
  %5955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5942, ptr noundef @.str.2, i32 noundef %5943, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5946, ptr noundef %5949, ptr noundef %5952, i32 noundef %5954) #10
  br label %5973

5956:                                             ; preds = %5934, %5927
  %5957 = load i32, ptr %116, align 4, !tbaa !5
  %5958 = call ptr @__errno_location() #11
  store i32 %5957, ptr %5958, align 4, !tbaa !5
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = load i32, ptr @test_count, align 4, !tbaa !5
  %5961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @s2n_strerror(i32 noundef %5962, ptr noundef @.str.4)
  %5964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror_debug(i32 noundef %5965, ptr noundef @.str.4)
  %5967 = call ptr @__errno_location() #11
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #10
  %5970 = call ptr @__errno_location() #11
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5959, ptr noundef @.str.5, i32 noundef %5960, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5963, ptr noundef %5966, ptr noundef %5969, i32 noundef %5971) #10
  br label %5973

5973:                                             ; preds = %5956, %5939
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #10
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

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

5976:                                             ; No predecessors!
  br label %5977

5977:                                             ; preds = %5976
  br label %5978

5978:                                             ; preds = %5977, %5913
  br label %5979

5979:                                             ; preds = %5978
  br label %5980

5980:                                             ; preds = %5979
  br label %5981

5981:                                             ; preds = %5980
  %5982 = load i32, ptr @test_count, align 4, !tbaa !5
  %5983 = add nsw i32 %5982, 1
  store i32 %5983, ptr @test_count, align 4, !tbaa !5
  %5984 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %113)
  %5985 = icmp eq i32 %5984, -1
  br i1 %5985, label %5986, label %6039

5986:                                             ; preds = %5981
  br label %5987

5987:                                             ; preds = %5986
  br label %5988

5988:                                             ; preds = %5987
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #10
  %5989 = call ptr @__errno_location() #11
  %5990 = load i32, ptr %5989, align 4, !tbaa !5
  store i32 %5990, ptr %117, align 4, !tbaa !5
  %5991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5992 = call i32 @s2n_print_stacktrace(ptr noundef %5991)
  %5993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5994 = trunc i8 %5993 to i1
  br i1 %5994, label %5995, label %6017

5995:                                             ; preds = %5988
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = call i32 @fileno(ptr noundef %5996) #10
  %5998 = call i32 @isatty(i32 noundef %5997) #10
  %5999 = icmp ne i32 %5998, 0
  br i1 %5999, label %6000, label %6017

6000:                                             ; preds = %5995
  %6001 = load i32, ptr %117, align 4, !tbaa !5
  %6002 = call ptr @__errno_location() #11
  store i32 %6001, ptr %6002, align 4, !tbaa !5
  %6003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6004 = load i32, ptr @test_count, align 4, !tbaa !5
  %6005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6006 = load i32, ptr %6005, align 4, !tbaa !5
  %6007 = call ptr @s2n_strerror(i32 noundef %6006, ptr noundef @.str.4)
  %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_debug(i32 noundef %6009, ptr noundef @.str.4)
  %6011 = call ptr @__errno_location() #11
  %6012 = load i32, ptr %6011, align 4, !tbaa !5
  %6013 = call ptr @strerror(i32 noundef %6012) #10
  %6014 = call ptr @__errno_location() #11
  %6015 = load i32, ptr %6014, align 4, !tbaa !5
  %6016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6003, ptr noundef @.str.2, i32 noundef %6004, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6007, ptr noundef %6010, ptr noundef %6013, i32 noundef %6015) #10
  br label %6034

6017:                                             ; preds = %5995, %5988
  %6018 = load i32, ptr %117, align 4, !tbaa !5
  %6019 = call ptr @__errno_location() #11
  store i32 %6018, ptr %6019, align 4, !tbaa !5
  %6020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6021 = load i32, ptr @test_count, align 4, !tbaa !5
  %6022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6023 = load i32, ptr %6022, align 4, !tbaa !5
  %6024 = call ptr @s2n_strerror(i32 noundef %6023, ptr noundef @.str.4)
  %6025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6026 = load i32, ptr %6025, align 4, !tbaa !5
  %6027 = call ptr @s2n_strerror_debug(i32 noundef %6026, ptr noundef @.str.4)
  %6028 = call ptr @__errno_location() #11
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call ptr @strerror(i32 noundef %6029) #10
  %6031 = call ptr @__errno_location() #11
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6020, ptr noundef @.str.5, i32 noundef %6021, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 254, ptr noundef %6024, ptr noundef %6027, ptr noundef %6030, i32 noundef %6032) #10
  br label %6034

6034:                                             ; preds = %6017, %6000
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #10
  br label %6035

6035:                                             ; preds = %6034
  br label %6036

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

6037:                                             ; No predecessors!
  br label %6038

6038:                                             ; preds = %6037
  br label %6039

6039:                                             ; preds = %6038, %5981
  br label %6040

6040:                                             ; preds = %6039
  br label %6041

6041:                                             ; preds = %6040
  br label %6042

6042:                                             ; preds = %6041
  %6043 = load i32, ptr @test_count, align 4, !tbaa !5
  %6044 = add nsw i32 %6043, 1
  store i32 %6044, ptr @test_count, align 4, !tbaa !5
  %6045 = call i32 @s2n_extension_list_parse(ptr noundef %111, ptr noundef %110)
  %6046 = icmp eq i32 %6045, -1
  br i1 %6046, label %6047, label %6100

6047:                                             ; preds = %6042
  br label %6048

6048:                                             ; preds = %6047
  br label %6049

6049:                                             ; preds = %6048
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #10
  %6050 = call ptr @__errno_location() #11
  %6051 = load i32, ptr %6050, align 4, !tbaa !5
  store i32 %6051, ptr %118, align 4, !tbaa !5
  %6052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6053 = call i32 @s2n_print_stacktrace(ptr noundef %6052)
  %6054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6055 = trunc i8 %6054 to i1
  br i1 %6055, label %6056, label %6078

6056:                                             ; preds = %6049
  %6057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6058 = call i32 @fileno(ptr noundef %6057) #10
  %6059 = call i32 @isatty(i32 noundef %6058) #10
  %6060 = icmp ne i32 %6059, 0
  br i1 %6060, label %6061, label %6078

6061:                                             ; preds = %6056
  %6062 = load i32, ptr %118, align 4, !tbaa !5
  %6063 = call ptr @__errno_location() #11
  store i32 %6062, ptr %6063, align 4, !tbaa !5
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = load i32, ptr @test_count, align 4, !tbaa !5
  %6066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6067 = load i32, ptr %6066, align 4, !tbaa !5
  %6068 = call ptr @s2n_strerror(i32 noundef %6067, ptr noundef @.str.4)
  %6069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6070 = load i32, ptr %6069, align 4, !tbaa !5
  %6071 = call ptr @s2n_strerror_debug(i32 noundef %6070, ptr noundef @.str.4)
  %6072 = call ptr @__errno_location() #11
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  %6074 = call ptr @strerror(i32 noundef %6073) #10
  %6075 = call ptr @__errno_location() #11
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6064, ptr noundef @.str.2, i32 noundef %6065, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6068, ptr noundef %6071, ptr noundef %6074, i32 noundef %6076) #10
  br label %6095

6078:                                             ; preds = %6056, %6049
  %6079 = load i32, ptr %118, align 4, !tbaa !5
  %6080 = call ptr @__errno_location() #11
  store i32 %6079, ptr %6080, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %6083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6084 = load i32, ptr %6083, align 4, !tbaa !5
  %6085 = call ptr @s2n_strerror(i32 noundef %6084, ptr noundef @.str.4)
  %6086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6087 = load i32, ptr %6086, align 4, !tbaa !5
  %6088 = call ptr @s2n_strerror_debug(i32 noundef %6087, ptr noundef @.str.4)
  %6089 = call ptr @__errno_location() #11
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @strerror(i32 noundef %6090) #10
  %6092 = call ptr @__errno_location() #11
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef @.str.5, i32 noundef %6082, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 256, ptr noundef %6085, ptr noundef %6088, ptr noundef %6091, i32 noundef %6093) #10
  br label %6095

6095:                                             ; preds = %6078, %6061
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #10
  br label %6096

6096:                                             ; preds = %6095
  br label %6097

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

6098:                                             ; No predecessors!
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

6100:                                             ; preds = %6099, %6042
  br label %6101

6101:                                             ; preds = %6100
  br label %6102

6102:                                             ; preds = %6101
  br label %6103

6103:                                             ; preds = %6102
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = add nsw i32 %6104, 1
  store i32 %6105, ptr @test_count, align 4, !tbaa !5
  %6106 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 2
  %6107 = load i32, ptr %6106, align 4, !tbaa !21
  %6108 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 1
  %6109 = load i32, ptr %6108, align 8, !tbaa !23
  %6110 = sub i32 %6107, %6109
  %6111 = icmp eq i32 %6110, 0
  br i1 %6111, label %6165, label %6112

6112:                                             ; preds = %6103
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #10
  %6115 = call ptr @__errno_location() #11
  %6116 = load i32, ptr %6115, align 4, !tbaa !5
  store i32 %6116, ptr %119, align 4, !tbaa !5
  %6117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6118 = call i32 @s2n_print_stacktrace(ptr noundef %6117)
  %6119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6120 = trunc i8 %6119 to i1
  br i1 %6120, label %6121, label %6143

6121:                                             ; preds = %6114
  %6122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6123 = call i32 @fileno(ptr noundef %6122) #10
  %6124 = call i32 @isatty(i32 noundef %6123) #10
  %6125 = icmp ne i32 %6124, 0
  br i1 %6125, label %6126, label %6143

6126:                                             ; preds = %6121
  %6127 = load i32, ptr %119, align 4, !tbaa !5
  %6128 = call ptr @__errno_location() #11
  store i32 %6127, ptr %6128, align 4, !tbaa !5
  %6129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6130 = load i32, ptr @test_count, align 4, !tbaa !5
  %6131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6132 = load i32, ptr %6131, align 4, !tbaa !5
  %6133 = call ptr @s2n_strerror(i32 noundef %6132, ptr noundef @.str.4)
  %6134 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6135 = load i32, ptr %6134, align 4, !tbaa !5
  %6136 = call ptr @s2n_strerror_debug(i32 noundef %6135, ptr noundef @.str.4)
  %6137 = call ptr @__errno_location() #11
  %6138 = load i32, ptr %6137, align 4, !tbaa !5
  %6139 = call ptr @strerror(i32 noundef %6138) #10
  %6140 = call ptr @__errno_location() #11
  %6141 = load i32, ptr %6140, align 4, !tbaa !5
  %6142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6129, ptr noundef @.str.2, i32 noundef %6130, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 258, ptr noundef %6133, ptr noundef %6136, ptr noundef %6139, i32 noundef %6141) #10
  br label %6160

6143:                                             ; preds = %6121, %6114
  %6144 = load i32, ptr %119, align 4, !tbaa !5
  %6145 = call ptr @__errno_location() #11
  store i32 %6144, ptr %6145, align 4, !tbaa !5
  %6146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6147 = load i32, ptr @test_count, align 4, !tbaa !5
  %6148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call ptr @s2n_strerror(i32 noundef %6149, ptr noundef @.str.4)
  %6151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6152 = load i32, ptr %6151, align 4, !tbaa !5
  %6153 = call ptr @s2n_strerror_debug(i32 noundef %6152, ptr noundef @.str.4)
  %6154 = call ptr @__errno_location() #11
  %6155 = load i32, ptr %6154, align 4, !tbaa !5
  %6156 = call ptr @strerror(i32 noundef %6155) #10
  %6157 = call ptr @__errno_location() #11
  %6158 = load i32, ptr %6157, align 4, !tbaa !5
  %6159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6146, ptr noundef @.str.5, i32 noundef %6147, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 258, ptr noundef %6150, ptr noundef %6153, ptr noundef %6156, i32 noundef %6158) #10
  br label %6160

6160:                                             ; preds = %6143, %6126
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #10
  br label %6161

6161:                                             ; preds = %6160
  br label %6162

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

6163:                                             ; No predecessors!
  br label %6164

6164:                                             ; preds = %6163
  br label %6165

6165:                                             ; preds = %6164, %6103
  br label %6166

6166:                                             ; preds = %6165
  br label %6167

6167:                                             ; preds = %6166
  br label %6168

6168:                                             ; preds = %6167
  %6169 = load i32, ptr @test_count, align 4, !tbaa !5
  %6170 = add nsw i32 %6169, 1
  store i32 %6170, ptr @test_count, align 4, !tbaa !5
  %6171 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 2
  %6172 = load i16, ptr %6171, align 8, !tbaa !28
  %6173 = zext i16 %6172 to i32
  %6174 = icmp eq i32 %6173, 1
  br i1 %6174, label %6228, label %6175

6175:                                             ; preds = %6168
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #10
  %6178 = call ptr @__errno_location() #11
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  store i32 %6179, ptr %120, align 4, !tbaa !5
  %6180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6181 = call i32 @s2n_print_stacktrace(ptr noundef %6180)
  %6182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6183 = trunc i8 %6182 to i1
  br i1 %6183, label %6184, label %6206

6184:                                             ; preds = %6177
  %6185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6186 = call i32 @fileno(ptr noundef %6185) #10
  %6187 = call i32 @isatty(i32 noundef %6186) #10
  %6188 = icmp ne i32 %6187, 0
  br i1 %6188, label %6189, label %6206

6189:                                             ; preds = %6184
  %6190 = load i32, ptr %120, align 4, !tbaa !5
  %6191 = call ptr @__errno_location() #11
  store i32 %6190, ptr %6191, align 4, !tbaa !5
  %6192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6193 = load i32, ptr @test_count, align 4, !tbaa !5
  %6194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6195 = load i32, ptr %6194, align 4, !tbaa !5
  %6196 = call ptr @s2n_strerror(i32 noundef %6195, ptr noundef @.str.4)
  %6197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6198 = load i32, ptr %6197, align 4, !tbaa !5
  %6199 = call ptr @s2n_strerror_debug(i32 noundef %6198, ptr noundef @.str.4)
  %6200 = call ptr @__errno_location() #11
  %6201 = load i32, ptr %6200, align 4, !tbaa !5
  %6202 = call ptr @strerror(i32 noundef %6201) #10
  %6203 = call ptr @__errno_location() #11
  %6204 = load i32, ptr %6203, align 4, !tbaa !5
  %6205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6192, ptr noundef @.str.2, i32 noundef %6193, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 259, ptr noundef %6196, ptr noundef %6199, ptr noundef %6202, i32 noundef %6204) #10
  br label %6223

6206:                                             ; preds = %6184, %6177
  %6207 = load i32, ptr %120, align 4, !tbaa !5
  %6208 = call ptr @__errno_location() #11
  store i32 %6207, ptr %6208, align 4, !tbaa !5
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = load i32, ptr @test_count, align 4, !tbaa !5
  %6211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6212 = load i32, ptr %6211, align 4, !tbaa !5
  %6213 = call ptr @s2n_strerror(i32 noundef %6212, ptr noundef @.str.4)
  %6214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call ptr @s2n_strerror_debug(i32 noundef %6215, ptr noundef @.str.4)
  %6217 = call ptr @__errno_location() #11
  %6218 = load i32, ptr %6217, align 4, !tbaa !5
  %6219 = call ptr @strerror(i32 noundef %6218) #10
  %6220 = call ptr @__errno_location() #11
  %6221 = load i32, ptr %6220, align 4, !tbaa !5
  %6222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6209, ptr noundef @.str.5, i32 noundef %6210, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 259, ptr noundef %6213, ptr noundef %6216, ptr noundef %6219, i32 noundef %6221) #10
  br label %6223

6223:                                             ; preds = %6206, %6189
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #10
  br label %6224

6224:                                             ; preds = %6223
  br label %6225

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

6226:                                             ; No predecessors!
  br label %6227

6227:                                             ; preds = %6226
  br label %6228

6228:                                             ; preds = %6227, %6168
  br label %6229

6229:                                             ; preds = %6228
  br label %6230

6230:                                             ; preds = %6229
  br label %6231

6231:                                             ; preds = %6230
  %6232 = load i32, ptr @test_count, align 4, !tbaa !5
  %6233 = add nsw i32 %6232, 1
  store i32 %6233, ptr @test_count, align 4, !tbaa !5
  %6234 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 0
  %6235 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %6234, i64 0, i64 0
  %6236 = call i32 @memcmp(ptr noundef %6235, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %6237 = icmp eq i32 %6236, 0
  br i1 %6237, label %6238, label %6291

6238:                                             ; preds = %6231
  br label %6239

6239:                                             ; preds = %6238
  br label %6240

6240:                                             ; preds = %6239
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #10
  %6241 = call ptr @__errno_location() #11
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  store i32 %6242, ptr %121, align 4, !tbaa !5
  %6243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6244 = call i32 @s2n_print_stacktrace(ptr noundef %6243)
  %6245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6246 = trunc i8 %6245 to i1
  br i1 %6246, label %6247, label %6269

6247:                                             ; preds = %6240
  %6248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6249 = call i32 @fileno(ptr noundef %6248) #10
  %6250 = call i32 @isatty(i32 noundef %6249) #10
  %6251 = icmp ne i32 %6250, 0
  br i1 %6251, label %6252, label %6269

6252:                                             ; preds = %6247
  %6253 = load i32, ptr %121, align 4, !tbaa !5
  %6254 = call ptr @__errno_location() #11
  store i32 %6253, ptr %6254, align 4, !tbaa !5
  %6255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6256 = load i32, ptr @test_count, align 4, !tbaa !5
  %6257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6258 = load i32, ptr %6257, align 4, !tbaa !5
  %6259 = call ptr @s2n_strerror(i32 noundef %6258, ptr noundef @.str.4)
  %6260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6261 = load i32, ptr %6260, align 4, !tbaa !5
  %6262 = call ptr @s2n_strerror_debug(i32 noundef %6261, ptr noundef @.str.4)
  %6263 = call ptr @__errno_location() #11
  %6264 = load i32, ptr %6263, align 4, !tbaa !5
  %6265 = call ptr @strerror(i32 noundef %6264) #10
  %6266 = call ptr @__errno_location() #11
  %6267 = load i32, ptr %6266, align 4, !tbaa !5
  %6268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6255, ptr noundef @.str.2, i32 noundef %6256, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6259, ptr noundef %6262, ptr noundef %6265, i32 noundef %6267) #10
  br label %6286

6269:                                             ; preds = %6247, %6240
  %6270 = load i32, ptr %121, align 4, !tbaa !5
  %6271 = call ptr @__errno_location() #11
  store i32 %6270, ptr %6271, align 4, !tbaa !5
  %6272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6273 = load i32, ptr @test_count, align 4, !tbaa !5
  %6274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6275 = load i32, ptr %6274, align 4, !tbaa !5
  %6276 = call ptr @s2n_strerror(i32 noundef %6275, ptr noundef @.str.4)
  %6277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6278 = load i32, ptr %6277, align 4, !tbaa !5
  %6279 = call ptr @s2n_strerror_debug(i32 noundef %6278, ptr noundef @.str.4)
  %6280 = call ptr @__errno_location() #11
  %6281 = load i32, ptr %6280, align 4, !tbaa !5
  %6282 = call ptr @strerror(i32 noundef %6281) #10
  %6283 = call ptr @__errno_location() #11
  %6284 = load i32, ptr %6283, align 4, !tbaa !5
  %6285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6272, ptr noundef @.str.5, i32 noundef %6273, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 260, ptr noundef %6276, ptr noundef %6279, ptr noundef %6282, i32 noundef %6284) #10
  br label %6286

6286:                                             ; preds = %6269, %6252
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #10
  br label %6287

6287:                                             ; preds = %6286
  br label %6288

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

6289:                                             ; No predecessors!
  br label %6290

6290:                                             ; preds = %6289
  br label %6291

6291:                                             ; preds = %6290, %6231
  br label %6292

6292:                                             ; preds = %6291
  br label %6293

6293:                                             ; preds = %6292
  br label %6294

6294:                                             ; preds = %6293
  %6295 = load i32, ptr @test_count, align 4, !tbaa !5
  %6296 = add nsw i32 %6295, 1
  store i32 %6296, ptr @test_count, align 4, !tbaa !5
  %6297 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 1
  %6298 = getelementptr inbounds %struct.s2n_blob, ptr %6297, i32 0, i32 0
  %6299 = load ptr, ptr %6298, align 8, !tbaa !24
  %6300 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 0
  %6301 = getelementptr inbounds %struct.s2n_blob, ptr %6300, i32 0, i32 0
  %6302 = load ptr, ptr %6301, align 8, !tbaa !26
  %6303 = getelementptr inbounds i8, ptr %6302, i64 2
  %6304 = icmp eq ptr %6299, %6303
  br i1 %6304, label %6358, label %6305

6305:                                             ; preds = %6294
  br label %6306

6306:                                             ; preds = %6305
  br label %6307

6307:                                             ; preds = %6306
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #10
  %6308 = call ptr @__errno_location() #11
  %6309 = load i32, ptr %6308, align 4, !tbaa !5
  store i32 %6309, ptr %122, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = call i32 @s2n_print_stacktrace(ptr noundef %6310)
  %6312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6313 = trunc i8 %6312 to i1
  br i1 %6313, label %6314, label %6336

6314:                                             ; preds = %6307
  %6315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6316 = call i32 @fileno(ptr noundef %6315) #10
  %6317 = call i32 @isatty(i32 noundef %6316) #10
  %6318 = icmp ne i32 %6317, 0
  br i1 %6318, label %6319, label %6336

6319:                                             ; preds = %6314
  %6320 = load i32, ptr %122, align 4, !tbaa !5
  %6321 = call ptr @__errno_location() #11
  store i32 %6320, ptr %6321, align 4, !tbaa !5
  %6322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6323 = load i32, ptr @test_count, align 4, !tbaa !5
  %6324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6325 = load i32, ptr %6324, align 4, !tbaa !5
  %6326 = call ptr @s2n_strerror(i32 noundef %6325, ptr noundef @.str.4)
  %6327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6328 = load i32, ptr %6327, align 4, !tbaa !5
  %6329 = call ptr @s2n_strerror_debug(i32 noundef %6328, ptr noundef @.str.4)
  %6330 = call ptr @__errno_location() #11
  %6331 = load i32, ptr %6330, align 4, !tbaa !5
  %6332 = call ptr @strerror(i32 noundef %6331) #10
  %6333 = call ptr @__errno_location() #11
  %6334 = load i32, ptr %6333, align 4, !tbaa !5
  %6335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6322, ptr noundef @.str.2, i32 noundef %6323, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6326, ptr noundef %6329, ptr noundef %6332, i32 noundef %6334) #10
  br label %6353

6336:                                             ; preds = %6314, %6307
  %6337 = load i32, ptr %122, align 4, !tbaa !5
  %6338 = call ptr @__errno_location() #11
  store i32 %6337, ptr %6338, align 4, !tbaa !5
  %6339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6340 = load i32, ptr @test_count, align 4, !tbaa !5
  %6341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6342 = load i32, ptr %6341, align 4, !tbaa !5
  %6343 = call ptr @s2n_strerror(i32 noundef %6342, ptr noundef @.str.4)
  %6344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6345 = load i32, ptr %6344, align 4, !tbaa !5
  %6346 = call ptr @s2n_strerror_debug(i32 noundef %6345, ptr noundef @.str.4)
  %6347 = call ptr @__errno_location() #11
  %6348 = load i32, ptr %6347, align 4, !tbaa !5
  %6349 = call ptr @strerror(i32 noundef %6348) #10
  %6350 = call ptr @__errno_location() #11
  %6351 = load i32, ptr %6350, align 4, !tbaa !5
  %6352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6339, ptr noundef @.str.5, i32 noundef %6340, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6343, ptr noundef %6346, ptr noundef %6349, i32 noundef %6351) #10
  br label %6353

6353:                                             ; preds = %6336, %6319
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #10
  br label %6354

6354:                                             ; preds = %6353
  br label %6355

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

6356:                                             ; No predecessors!
  br label %6357

6357:                                             ; preds = %6356
  br label %6358

6358:                                             ; preds = %6357, %6294
  br label %6359

6359:                                             ; preds = %6358
  br label %6360

6360:                                             ; preds = %6359
  br label %6361

6361:                                             ; preds = %6360
  %6362 = load i32, ptr @test_count, align 4, !tbaa !5
  %6363 = add nsw i32 %6362, 1
  store i32 %6363, ptr @test_count, align 4, !tbaa !5
  %6364 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 1
  %6365 = getelementptr inbounds %struct.s2n_blob, ptr %6364, i32 0, i32 1
  %6366 = load i32, ptr %6365, align 8, !tbaa !27
  %6367 = zext i32 %6366 to i64
  %6368 = getelementptr inbounds %struct.s2n_stuffer, ptr %111, i32 0, i32 3
  %6369 = load i32, ptr %6368, align 8, !tbaa !29
  %6370 = zext i32 %6369 to i64
  %6371 = sub i64 %6370, 2
  %6372 = icmp eq i64 %6367, %6371
  br i1 %6372, label %6426, label %6373

6373:                                             ; preds = %6361
  br label %6374

6374:                                             ; preds = %6373
  br label %6375

6375:                                             ; preds = %6374
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #10
  %6376 = call ptr @__errno_location() #11
  %6377 = load i32, ptr %6376, align 4, !tbaa !5
  store i32 %6377, ptr %123, align 4, !tbaa !5
  %6378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6379 = call i32 @s2n_print_stacktrace(ptr noundef %6378)
  %6380 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6381 = trunc i8 %6380 to i1
  br i1 %6381, label %6382, label %6404

6382:                                             ; preds = %6375
  %6383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6384 = call i32 @fileno(ptr noundef %6383) #10
  %6385 = call i32 @isatty(i32 noundef %6384) #10
  %6386 = icmp ne i32 %6385, 0
  br i1 %6386, label %6387, label %6404

6387:                                             ; preds = %6382
  %6388 = load i32, ptr %123, align 4, !tbaa !5
  %6389 = call ptr @__errno_location() #11
  store i32 %6388, ptr %6389, align 4, !tbaa !5
  %6390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6391 = load i32, ptr @test_count, align 4, !tbaa !5
  %6392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6393 = load i32, ptr %6392, align 4, !tbaa !5
  %6394 = call ptr @s2n_strerror(i32 noundef %6393, ptr noundef @.str.4)
  %6395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6396 = load i32, ptr %6395, align 4, !tbaa !5
  %6397 = call ptr @s2n_strerror_debug(i32 noundef %6396, ptr noundef @.str.4)
  %6398 = call ptr @__errno_location() #11
  %6399 = load i32, ptr %6398, align 4, !tbaa !5
  %6400 = call ptr @strerror(i32 noundef %6399) #10
  %6401 = call ptr @__errno_location() #11
  %6402 = load i32, ptr %6401, align 4, !tbaa !5
  %6403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6390, ptr noundef @.str.2, i32 noundef %6391, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6394, ptr noundef %6397, ptr noundef %6400, i32 noundef %6402) #10
  br label %6421

6404:                                             ; preds = %6382, %6375
  %6405 = load i32, ptr %123, align 4, !tbaa !5
  %6406 = call ptr @__errno_location() #11
  store i32 %6405, ptr %6406, align 4, !tbaa !5
  %6407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6408 = load i32, ptr @test_count, align 4, !tbaa !5
  %6409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6410 = load i32, ptr %6409, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror(i32 noundef %6410, ptr noundef @.str.4)
  %6412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6413 = load i32, ptr %6412, align 4, !tbaa !5
  %6414 = call ptr @s2n_strerror_debug(i32 noundef %6413, ptr noundef @.str.4)
  %6415 = call ptr @__errno_location() #11
  %6416 = load i32, ptr %6415, align 4, !tbaa !5
  %6417 = call ptr @strerror(i32 noundef %6416) #10
  %6418 = call ptr @__errno_location() #11
  %6419 = load i32, ptr %6418, align 4, !tbaa !5
  %6420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6407, ptr noundef @.str.5, i32 noundef %6408, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 261, ptr noundef %6411, ptr noundef %6414, ptr noundef %6417, i32 noundef %6419) #10
  br label %6421

6421:                                             ; preds = %6404, %6387
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #10
  br label %6422

6422:                                             ; preds = %6421
  br label %6423

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

6424:                                             ; No predecessors!
  br label %6425

6425:                                             ; preds = %6424
  br label %6426

6426:                                             ; preds = %6425, %6361
  br label %6427

6427:                                             ; preds = %6426
  br label %6428

6428:                                             ; preds = %6427
  br label %6429

6429:                                             ; preds = %6428
  call void @llvm.lifetime.start.p0(i64 1, ptr %124) #10
  br label %6430

6430:                                             ; preds = %6429
  %6431 = load i32, ptr @test_count, align 4, !tbaa !5
  %6432 = add nsw i32 %6431, 1
  store i32 %6432, ptr @test_count, align 4, !tbaa !5
  %6433 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %124)
  %6434 = icmp eq i32 %6433, -1
  br i1 %6434, label %6435, label %6488

6435:                                             ; preds = %6430
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

6437:                                             ; preds = %6436
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #10
  %6438 = call ptr @__errno_location() #11
  %6439 = load i32, ptr %6438, align 4, !tbaa !5
  store i32 %6439, ptr %125, align 4, !tbaa !5
  %6440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6441 = call i32 @s2n_print_stacktrace(ptr noundef %6440)
  %6442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6443 = trunc i8 %6442 to i1
  br i1 %6443, label %6444, label %6466

6444:                                             ; preds = %6437
  %6445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6446 = call i32 @fileno(ptr noundef %6445) #10
  %6447 = call i32 @isatty(i32 noundef %6446) #10
  %6448 = icmp ne i32 %6447, 0
  br i1 %6448, label %6449, label %6466

6449:                                             ; preds = %6444
  %6450 = load i32, ptr %125, align 4, !tbaa !5
  %6451 = call ptr @__errno_location() #11
  store i32 %6450, ptr %6451, align 4, !tbaa !5
  %6452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6453 = load i32, ptr @test_count, align 4, !tbaa !5
  %6454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6455 = load i32, ptr %6454, align 4, !tbaa !5
  %6456 = call ptr @s2n_strerror(i32 noundef %6455, ptr noundef @.str.4)
  %6457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6458 = load i32, ptr %6457, align 4, !tbaa !5
  %6459 = call ptr @s2n_strerror_debug(i32 noundef %6458, ptr noundef @.str.4)
  %6460 = call ptr @__errno_location() #11
  %6461 = load i32, ptr %6460, align 4, !tbaa !5
  %6462 = call ptr @strerror(i32 noundef %6461) #10
  %6463 = call ptr @__errno_location() #11
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  %6465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6452, ptr noundef @.str.2, i32 noundef %6453, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6456, ptr noundef %6459, ptr noundef %6462, i32 noundef %6464) #10
  br label %6483

6466:                                             ; preds = %6444, %6437
  %6467 = load i32, ptr %125, align 4, !tbaa !5
  %6468 = call ptr @__errno_location() #11
  store i32 %6467, ptr %6468, align 4, !tbaa !5
  %6469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6470 = load i32, ptr @test_count, align 4, !tbaa !5
  %6471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror(i32 noundef %6472, ptr noundef @.str.4)
  %6474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6475 = load i32, ptr %6474, align 4, !tbaa !5
  %6476 = call ptr @s2n_strerror_debug(i32 noundef %6475, ptr noundef @.str.4)
  %6477 = call ptr @__errno_location() #11
  %6478 = load i32, ptr %6477, align 4, !tbaa !5
  %6479 = call ptr @strerror(i32 noundef %6478) #10
  %6480 = call ptr @__errno_location() #11
  %6481 = load i32, ptr %6480, align 4, !tbaa !5
  %6482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6469, ptr noundef @.str.5, i32 noundef %6470, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6473, ptr noundef %6476, ptr noundef %6479, i32 noundef %6481) #10
  br label %6483

6483:                                             ; preds = %6466, %6449
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #10
  br label %6484

6484:                                             ; preds = %6483
  br label %6485

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

6486:                                             ; No predecessors!
  br label %6487

6487:                                             ; preds = %6486
  br label %6488

6488:                                             ; preds = %6487, %6430
  br label %6489

6489:                                             ; preds = %6488
  br label %6490

6490:                                             ; preds = %6489
  br label %6491

6491:                                             ; preds = %6490
  %6492 = load i32, ptr @test_count, align 4, !tbaa !5
  %6493 = add nsw i32 %6492, 1
  store i32 %6493, ptr @test_count, align 4, !tbaa !5
  %6494 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 0
  %6495 = load i8, ptr %124, align 1, !tbaa !32
  %6496 = zext i8 %6495 to i64
  %6497 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %6494, i64 0, i64 %6496
  %6498 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %6497, i32 0, i32 0
  %6499 = getelementptr inbounds %struct.s2n_blob, ptr %6498, i32 0, i32 0
  %6500 = load ptr, ptr %6499, align 8, !tbaa !33
  %6501 = icmp eq ptr %6500, null
  br i1 %6501, label %6502, label %6555

6502:                                             ; preds = %6491
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #10
  %6505 = call ptr @__errno_location() #11
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  store i32 %6506, ptr %126, align 4, !tbaa !5
  %6507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6508 = call i32 @s2n_print_stacktrace(ptr noundef %6507)
  %6509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6510 = trunc i8 %6509 to i1
  br i1 %6510, label %6511, label %6533

6511:                                             ; preds = %6504
  %6512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6513 = call i32 @fileno(ptr noundef %6512) #10
  %6514 = call i32 @isatty(i32 noundef %6513) #10
  %6515 = icmp ne i32 %6514, 0
  br i1 %6515, label %6516, label %6533

6516:                                             ; preds = %6511
  %6517 = load i32, ptr %126, align 4, !tbaa !5
  %6518 = call ptr @__errno_location() #11
  store i32 %6517, ptr %6518, align 4, !tbaa !5
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = load i32, ptr @test_count, align 4, !tbaa !5
  %6521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6522 = load i32, ptr %6521, align 4, !tbaa !5
  %6523 = call ptr @s2n_strerror(i32 noundef %6522, ptr noundef @.str.4)
  %6524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6525 = load i32, ptr %6524, align 4, !tbaa !5
  %6526 = call ptr @s2n_strerror_debug(i32 noundef %6525, ptr noundef @.str.4)
  %6527 = call ptr @__errno_location() #11
  %6528 = load i32, ptr %6527, align 4, !tbaa !5
  %6529 = call ptr @strerror(i32 noundef %6528) #10
  %6530 = call ptr @__errno_location() #11
  %6531 = load i32, ptr %6530, align 4, !tbaa !5
  %6532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6519, ptr noundef @.str.2, i32 noundef %6520, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6523, ptr noundef %6526, ptr noundef %6529, i32 noundef %6531) #10
  br label %6550

6533:                                             ; preds = %6511, %6504
  %6534 = load i32, ptr %126, align 4, !tbaa !5
  %6535 = call ptr @__errno_location() #11
  store i32 %6534, ptr %6535, align 4, !tbaa !5
  %6536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6537 = load i32, ptr @test_count, align 4, !tbaa !5
  %6538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6539 = load i32, ptr %6538, align 4, !tbaa !5
  %6540 = call ptr @s2n_strerror(i32 noundef %6539, ptr noundef @.str.4)
  %6541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6542 = load i32, ptr %6541, align 4, !tbaa !5
  %6543 = call ptr @s2n_strerror_debug(i32 noundef %6542, ptr noundef @.str.4)
  %6544 = call ptr @__errno_location() #11
  %6545 = load i32, ptr %6544, align 4, !tbaa !5
  %6546 = call ptr @strerror(i32 noundef %6545) #10
  %6547 = call ptr @__errno_location() #11
  %6548 = load i32, ptr %6547, align 4, !tbaa !5
  %6549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6536, ptr noundef @.str.5, i32 noundef %6537, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6540, ptr noundef %6543, ptr noundef %6546, i32 noundef %6548) #10
  br label %6550

6550:                                             ; preds = %6533, %6516
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #10
  br label %6551

6551:                                             ; preds = %6550
  br label %6552

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

6553:                                             ; No predecessors!
  br label %6554

6554:                                             ; preds = %6553
  br label %6555

6555:                                             ; preds = %6554, %6491
  br label %6556

6556:                                             ; preds = %6555
  br label %6557

6557:                                             ; preds = %6556
  br label %6558

6558:                                             ; preds = %6557
  %6559 = load i32, ptr @test_count, align 4, !tbaa !5
  %6560 = add nsw i32 %6559, 1
  store i32 %6560, ptr @test_count, align 4, !tbaa !5
  %6561 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 0
  %6562 = load i8, ptr %124, align 1, !tbaa !32
  %6563 = zext i8 %6562 to i64
  %6564 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %6561, i64 0, i64 %6563
  %6565 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %6564, i32 0, i32 0
  %6566 = getelementptr inbounds %struct.s2n_blob, ptr %6565, i32 0, i32 1
  %6567 = load i32, ptr %6566, align 8, !tbaa !34
  %6568 = icmp eq i32 %6567, 0
  br i1 %6568, label %6622, label %6569

6569:                                             ; preds = %6558
  br label %6570

6570:                                             ; preds = %6569
  br label %6571

6571:                                             ; preds = %6570
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #10
  %6572 = call ptr @__errno_location() #11
  %6573 = load i32, ptr %6572, align 4, !tbaa !5
  store i32 %6573, ptr %127, align 4, !tbaa !5
  %6574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6575 = call i32 @s2n_print_stacktrace(ptr noundef %6574)
  %6576 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6577 = trunc i8 %6576 to i1
  br i1 %6577, label %6578, label %6600

6578:                                             ; preds = %6571
  %6579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6580 = call i32 @fileno(ptr noundef %6579) #10
  %6581 = call i32 @isatty(i32 noundef %6580) #10
  %6582 = icmp ne i32 %6581, 0
  br i1 %6582, label %6583, label %6600

6583:                                             ; preds = %6578
  %6584 = load i32, ptr %127, align 4, !tbaa !5
  %6585 = call ptr @__errno_location() #11
  store i32 %6584, ptr %6585, align 4, !tbaa !5
  %6586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6587 = load i32, ptr @test_count, align 4, !tbaa !5
  %6588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6589 = load i32, ptr %6588, align 4, !tbaa !5
  %6590 = call ptr @s2n_strerror(i32 noundef %6589, ptr noundef @.str.4)
  %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_debug(i32 noundef %6592, ptr noundef @.str.4)
  %6594 = call ptr @__errno_location() #11
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call ptr @strerror(i32 noundef %6595) #10
  %6597 = call ptr @__errno_location() #11
  %6598 = load i32, ptr %6597, align 4, !tbaa !5
  %6599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6586, ptr noundef @.str.2, i32 noundef %6587, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6590, ptr noundef %6593, ptr noundef %6596, i32 noundef %6598) #10
  br label %6617

6600:                                             ; preds = %6578, %6571
  %6601 = load i32, ptr %127, align 4, !tbaa !5
  %6602 = call ptr @__errno_location() #11
  store i32 %6601, ptr %6602, align 4, !tbaa !5
  %6603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6604 = load i32, ptr @test_count, align 4, !tbaa !5
  %6605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6606 = load i32, ptr %6605, align 4, !tbaa !5
  %6607 = call ptr @s2n_strerror(i32 noundef %6606, ptr noundef @.str.4)
  %6608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6609 = load i32, ptr %6608, align 4, !tbaa !5
  %6610 = call ptr @s2n_strerror_debug(i32 noundef %6609, ptr noundef @.str.4)
  %6611 = call ptr @__errno_location() #11
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call ptr @strerror(i32 noundef %6612) #10
  %6614 = call ptr @__errno_location() #11
  %6615 = load i32, ptr %6614, align 4, !tbaa !5
  %6616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6603, ptr noundef @.str.5, i32 noundef %6604, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6607, ptr noundef %6610, ptr noundef %6613, i32 noundef %6615) #10
  br label %6617

6617:                                             ; preds = %6600, %6583
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #10
  br label %6618

6618:                                             ; preds = %6617
  br label %6619

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

6620:                                             ; No predecessors!
  br label %6621

6621:                                             ; preds = %6620
  br label %6622

6622:                                             ; preds = %6621, %6558
  br label %6623

6623:                                             ; preds = %6622
  br label %6624

6624:                                             ; preds = %6623
  br label %6625

6625:                                             ; preds = %6624
  br label %6626

6626:                                             ; preds = %6625
  br label %6627

6627:                                             ; preds = %6626
  call void @llvm.lifetime.end.p0(i64 1, ptr %124) #10
  br label %6628

6628:                                             ; preds = %6627
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  call void @llvm.lifetime.start.p0(i64 1, ptr %128) #10
  br label %6631

6631:                                             ; preds = %6630
  %6632 = load i32, ptr @test_count, align 4, !tbaa !5
  %6633 = add nsw i32 %6632, 1
  store i32 %6633, ptr @test_count, align 4, !tbaa !5
  %6634 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %128)
  %6635 = icmp eq i32 %6634, -1
  br i1 %6635, label %6636, label %6689

6636:                                             ; preds = %6631
  br label %6637

6637:                                             ; preds = %6636
  br label %6638

6638:                                             ; preds = %6637
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #10
  %6639 = call ptr @__errno_location() #11
  %6640 = load i32, ptr %6639, align 4, !tbaa !5
  store i32 %6640, ptr %129, align 4, !tbaa !5
  %6641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6642 = call i32 @s2n_print_stacktrace(ptr noundef %6641)
  %6643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6644 = trunc i8 %6643 to i1
  br i1 %6644, label %6645, label %6667

6645:                                             ; preds = %6638
  %6646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6647 = call i32 @fileno(ptr noundef %6646) #10
  %6648 = call i32 @isatty(i32 noundef %6647) #10
  %6649 = icmp ne i32 %6648, 0
  br i1 %6649, label %6650, label %6667

6650:                                             ; preds = %6645
  %6651 = load i32, ptr %129, align 4, !tbaa !5
  %6652 = call ptr @__errno_location() #11
  store i32 %6651, ptr %6652, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = load i32, ptr @test_count, align 4, !tbaa !5
  %6655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6656 = load i32, ptr %6655, align 4, !tbaa !5
  %6657 = call ptr @s2n_strerror(i32 noundef %6656, ptr noundef @.str.4)
  %6658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6659 = load i32, ptr %6658, align 4, !tbaa !5
  %6660 = call ptr @s2n_strerror_debug(i32 noundef %6659, ptr noundef @.str.4)
  %6661 = call ptr @__errno_location() #11
  %6662 = load i32, ptr %6661, align 4, !tbaa !5
  %6663 = call ptr @strerror(i32 noundef %6662) #10
  %6664 = call ptr @__errno_location() #11
  %6665 = load i32, ptr %6664, align 4, !tbaa !5
  %6666 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6653, ptr noundef @.str.2, i32 noundef %6654, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 264, ptr noundef %6657, ptr noundef %6660, ptr noundef %6663, i32 noundef %6665) #10
  br label %6684

6667:                                             ; preds = %6645, %6638
  %6668 = load i32, ptr %129, align 4, !tbaa !5
  %6669 = call ptr @__errno_location() #11
  store i32 %6668, ptr %6669, align 4, !tbaa !5
  %6670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6671 = load i32, ptr @test_count, align 4, !tbaa !5
  %6672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6673 = load i32, ptr %6672, align 4, !tbaa !5
  %6674 = call ptr @s2n_strerror(i32 noundef %6673, ptr noundef @.str.4)
  %6675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6676 = load i32, ptr %6675, align 4, !tbaa !5
  %6677 = call ptr @s2n_strerror_debug(i32 noundef %6676, ptr noundef @.str.4)
  %6678 = call ptr @__errno_location() #11
  %6679 = load i32, ptr %6678, align 4, !tbaa !5
  %6680 = call ptr @strerror(i32 noundef %6679) #10
  %6681 = call ptr @__errno_location() #11
  %6682 = load i32, ptr %6681, align 4, !tbaa !5
  %6683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6670, ptr noundef @.str.5, i32 noundef %6671, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 264, ptr noundef %6674, ptr noundef %6677, ptr noundef %6680, i32 noundef %6682) #10
  br label %6684

6684:                                             ; preds = %6667, %6650
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #10
  br label %6685

6685:                                             ; preds = %6684
  br label %6686

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

6687:                                             ; No predecessors!
  br label %6688

6688:                                             ; preds = %6687
  br label %6689

6689:                                             ; preds = %6688, %6631
  br label %6690

6690:                                             ; preds = %6689
  br label %6691

6691:                                             ; preds = %6690
  %6692 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 0
  %6693 = load i8, ptr %128, align 1, !tbaa !32
  %6694 = zext i8 %6693 to i64
  %6695 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %6692, i64 0, i64 %6694
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6695, ptr align 16 @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr %128) #10
  br label %6696

6696:                                             ; preds = %6691
  br label %6697

6697:                                             ; preds = %6696
  br label %6698

6698:                                             ; preds = %6697
  br label %6699

6699:                                             ; preds = %6698
  %6700 = load i32, ptr @test_count, align 4, !tbaa !5
  %6701 = add nsw i32 %6700, 1
  store i32 %6701, ptr @test_count, align 4, !tbaa !5
  %6702 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %110, i32 0, i32 0
  %6703 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %6702, i64 0, i64 0
  %6704 = call i32 @memcmp(ptr noundef %6703, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %6705 = icmp eq i32 %6704, 0
  br i1 %6705, label %6759, label %6706

6706:                                             ; preds = %6699
  br label %6707

6707:                                             ; preds = %6706
  br label %6708

6708:                                             ; preds = %6707
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #10
  %6709 = call ptr @__errno_location() #11
  %6710 = load i32, ptr %6709, align 4, !tbaa !5
  store i32 %6710, ptr %130, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = call i32 @s2n_print_stacktrace(ptr noundef %6711)
  %6713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6714 = trunc i8 %6713 to i1
  br i1 %6714, label %6715, label %6737

6715:                                             ; preds = %6708
  %6716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6717 = call i32 @fileno(ptr noundef %6716) #10
  %6718 = call i32 @isatty(i32 noundef %6717) #10
  %6719 = icmp ne i32 %6718, 0
  br i1 %6719, label %6720, label %6737

6720:                                             ; preds = %6715
  %6721 = load i32, ptr %130, align 4, !tbaa !5
  %6722 = call ptr @__errno_location() #11
  store i32 %6721, ptr %6722, align 4, !tbaa !5
  %6723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6724 = load i32, ptr @test_count, align 4, !tbaa !5
  %6725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6726 = load i32, ptr %6725, align 4, !tbaa !5
  %6727 = call ptr @s2n_strerror(i32 noundef %6726, ptr noundef @.str.4)
  %6728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6729 = load i32, ptr %6728, align 4, !tbaa !5
  %6730 = call ptr @s2n_strerror_debug(i32 noundef %6729, ptr noundef @.str.4)
  %6731 = call ptr @__errno_location() #11
  %6732 = load i32, ptr %6731, align 4, !tbaa !5
  %6733 = call ptr @strerror(i32 noundef %6732) #10
  %6734 = call ptr @__errno_location() #11
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6723, ptr noundef @.str.2, i32 noundef %6724, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6727, ptr noundef %6730, ptr noundef %6733, i32 noundef %6735) #10
  br label %6754

6737:                                             ; preds = %6715, %6708
  %6738 = load i32, ptr %130, align 4, !tbaa !5
  %6739 = call ptr @__errno_location() #11
  store i32 %6738, ptr %6739, align 4, !tbaa !5
  %6740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6741 = load i32, ptr @test_count, align 4, !tbaa !5
  %6742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6743 = load i32, ptr %6742, align 4, !tbaa !5
  %6744 = call ptr @s2n_strerror(i32 noundef %6743, ptr noundef @.str.4)
  %6745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6746 = load i32, ptr %6745, align 4, !tbaa !5
  %6747 = call ptr @s2n_strerror_debug(i32 noundef %6746, ptr noundef @.str.4)
  %6748 = call ptr @__errno_location() #11
  %6749 = load i32, ptr %6748, align 4, !tbaa !5
  %6750 = call ptr @strerror(i32 noundef %6749) #10
  %6751 = call ptr @__errno_location() #11
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6740, ptr noundef @.str.5, i32 noundef %6741, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 265, ptr noundef %6744, ptr noundef %6747, ptr noundef %6750, i32 noundef %6752) #10
  br label %6754

6754:                                             ; preds = %6737, %6720
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #10
  br label %6755

6755:                                             ; preds = %6754
  br label %6756

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

6757:                                             ; No predecessors!
  br label %6758

6758:                                             ; preds = %6757
  br label %6759

6759:                                             ; preds = %6758, %6699
  br label %6760

6760:                                             ; preds = %6759
  br label %6761

6761:                                             ; preds = %6760
  br label %6762

6762:                                             ; preds = %6761
  br label %6763

6763:                                             ; preds = %6762
  br label %6764

6764:                                             ; preds = %6763
  %6765 = load i32, ptr @test_count, align 4, !tbaa !5
  %6766 = add nsw i32 %6765, 1
  store i32 %6766, ptr @test_count, align 4, !tbaa !5
  %6767 = call i32 @s2n_stuffer_free(ptr noundef %111)
  %6768 = icmp eq i32 %6767, -1
  br i1 %6768, label %6769, label %6822

6769:                                             ; preds = %6764
  br label %6770

6770:                                             ; preds = %6769
  br label %6771

6771:                                             ; preds = %6770
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #10
  %6772 = call ptr @__errno_location() #11
  %6773 = load i32, ptr %6772, align 4, !tbaa !5
  store i32 %6773, ptr %131, align 4, !tbaa !5
  %6774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6775 = call i32 @s2n_print_stacktrace(ptr noundef %6774)
  %6776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6777 = trunc i8 %6776 to i1
  br i1 %6777, label %6778, label %6800

6778:                                             ; preds = %6771
  %6779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6780 = call i32 @fileno(ptr noundef %6779) #10
  %6781 = call i32 @isatty(i32 noundef %6780) #10
  %6782 = icmp ne i32 %6781, 0
  br i1 %6782, label %6783, label %6800

6783:                                             ; preds = %6778
  %6784 = load i32, ptr %131, align 4, !tbaa !5
  %6785 = call ptr @__errno_location() #11
  store i32 %6784, ptr %6785, align 4, !tbaa !5
  %6786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6787 = load i32, ptr @test_count, align 4, !tbaa !5
  %6788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6789 = load i32, ptr %6788, align 4, !tbaa !5
  %6790 = call ptr @s2n_strerror(i32 noundef %6789, ptr noundef @.str.4)
  %6791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6792 = load i32, ptr %6791, align 4, !tbaa !5
  %6793 = call ptr @s2n_strerror_debug(i32 noundef %6792, ptr noundef @.str.4)
  %6794 = call ptr @__errno_location() #11
  %6795 = load i32, ptr %6794, align 4, !tbaa !5
  %6796 = call ptr @strerror(i32 noundef %6795) #10
  %6797 = call ptr @__errno_location() #11
  %6798 = load i32, ptr %6797, align 4, !tbaa !5
  %6799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6786, ptr noundef @.str.2, i32 noundef %6787, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6790, ptr noundef %6793, ptr noundef %6796, i32 noundef %6798) #10
  br label %6817

6800:                                             ; preds = %6778, %6771
  %6801 = load i32, ptr %131, align 4, !tbaa !5
  %6802 = call ptr @__errno_location() #11
  store i32 %6801, ptr %6802, align 4, !tbaa !5
  %6803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6804 = load i32, ptr @test_count, align 4, !tbaa !5
  %6805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6806 = load i32, ptr %6805, align 4, !tbaa !5
  %6807 = call ptr @s2n_strerror(i32 noundef %6806, ptr noundef @.str.4)
  %6808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6809 = load i32, ptr %6808, align 4, !tbaa !5
  %6810 = call ptr @s2n_strerror_debug(i32 noundef %6809, ptr noundef @.str.4)
  %6811 = call ptr @__errno_location() #11
  %6812 = load i32, ptr %6811, align 4, !tbaa !5
  %6813 = call ptr @strerror(i32 noundef %6812) #10
  %6814 = call ptr @__errno_location() #11
  %6815 = load i32, ptr %6814, align 4, !tbaa !5
  %6816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6803, ptr noundef @.str.5, i32 noundef %6804, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6807, ptr noundef %6810, ptr noundef %6813, i32 noundef %6815) #10
  br label %6817

6817:                                             ; preds = %6800, %6783
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #10
  br label %6818

6818:                                             ; preds = %6817
  br label %6819

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

6820:                                             ; No predecessors!
  br label %6821

6821:                                             ; preds = %6820
  br label %6822

6822:                                             ; preds = %6821, %6764
  br label %6823

6823:                                             ; preds = %6822
  br label %6824

6824:                                             ; preds = %6823
  call void @llvm.lifetime.end.p0(i64 16, ptr %113) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %111) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %110) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %132) #10
  call void @llvm.memset.p0.i64(ptr align 8 %132, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %133) #10
  call void @llvm.memset.p0.i64(ptr align 8 %133, i8 0, i64 40, i1 false)
  br label %6825

6825:                                             ; preds = %6824
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = add nsw i32 %6826, 1
  store i32 %6827, ptr @test_count, align 4, !tbaa !5
  %6828 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %133, i32 noundef 0)
  %6829 = icmp eq i32 %6828, -1
  br i1 %6829, label %6830, label %6883

6830:                                             ; preds = %6825
  br label %6831

6831:                                             ; preds = %6830
  br label %6832

6832:                                             ; preds = %6831
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #10
  %6833 = call ptr @__errno_location() #11
  %6834 = load i32, ptr %6833, align 4, !tbaa !5
  store i32 %6834, ptr %134, align 4, !tbaa !5
  %6835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6836 = call i32 @s2n_print_stacktrace(ptr noundef %6835)
  %6837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6838 = trunc i8 %6837 to i1
  br i1 %6838, label %6839, label %6861

6839:                                             ; preds = %6832
  %6840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6841 = call i32 @fileno(ptr noundef %6840) #10
  %6842 = call i32 @isatty(i32 noundef %6841) #10
  %6843 = icmp ne i32 %6842, 0
  br i1 %6843, label %6844, label %6861

6844:                                             ; preds = %6839
  %6845 = load i32, ptr %134, align 4, !tbaa !5
  %6846 = call ptr @__errno_location() #11
  store i32 %6845, ptr %6846, align 4, !tbaa !5
  %6847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6848 = load i32, ptr @test_count, align 4, !tbaa !5
  %6849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6850 = load i32, ptr %6849, align 4, !tbaa !5
  %6851 = call ptr @s2n_strerror(i32 noundef %6850, ptr noundef @.str.4)
  %6852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6853 = load i32, ptr %6852, align 4, !tbaa !5
  %6854 = call ptr @s2n_strerror_debug(i32 noundef %6853, ptr noundef @.str.4)
  %6855 = call ptr @__errno_location() #11
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @strerror(i32 noundef %6856) #10
  %6858 = call ptr @__errno_location() #11
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6847, ptr noundef @.str.2, i32 noundef %6848, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6851, ptr noundef %6854, ptr noundef %6857, i32 noundef %6859) #10
  br label %6878

6861:                                             ; preds = %6839, %6832
  %6862 = load i32, ptr %134, align 4, !tbaa !5
  %6863 = call ptr @__errno_location() #11
  store i32 %6862, ptr %6863, align 4, !tbaa !5
  %6864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6865 = load i32, ptr @test_count, align 4, !tbaa !5
  %6866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6867 = load i32, ptr %6866, align 4, !tbaa !5
  %6868 = call ptr @s2n_strerror(i32 noundef %6867, ptr noundef @.str.4)
  %6869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6870 = load i32, ptr %6869, align 4, !tbaa !5
  %6871 = call ptr @s2n_strerror_debug(i32 noundef %6870, ptr noundef @.str.4)
  %6872 = call ptr @__errno_location() #11
  %6873 = load i32, ptr %6872, align 4, !tbaa !5
  %6874 = call ptr @strerror(i32 noundef %6873) #10
  %6875 = call ptr @__errno_location() #11
  %6876 = load i32, ptr %6875, align 4, !tbaa !5
  %6877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6864, ptr noundef @.str.5, i32 noundef %6865, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6868, ptr noundef %6871, ptr noundef %6874, i32 noundef %6876) #10
  br label %6878

6878:                                             ; preds = %6861, %6844
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #10
  br label %6879

6879:                                             ; preds = %6878
  br label %6880

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

6881:                                             ; No predecessors!
  br label %6882

6882:                                             ; preds = %6881
  br label %6883

6883:                                             ; preds = %6882, %6825
  br label %6884

6884:                                             ; preds = %6883
  br label %6885

6885:                                             ; preds = %6884
  call void @llvm.lifetime.start.p0(i64 16, ptr %135) #10
  call void @llvm.memset.p0.i64(ptr align 8 %135, i8 0, i64 16, i1 false)
  br label %6886

6886:                                             ; preds = %6885
  %6887 = load i32, ptr @test_count, align 4, !tbaa !5
  %6888 = add nsw i32 %6887, 1
  store i32 %6888, ptr @test_count, align 4, !tbaa !5
  %6889 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %133, ptr noundef %135)
  %6890 = icmp eq i32 %6889, -1
  br i1 %6890, label %6891, label %6944

6891:                                             ; preds = %6886
  br label %6892

6892:                                             ; preds = %6891
  br label %6893

6893:                                             ; preds = %6892
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #10
  %6894 = call ptr @__errno_location() #11
  %6895 = load i32, ptr %6894, align 4, !tbaa !5
  store i32 %6895, ptr %136, align 4, !tbaa !5
  %6896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6897 = call i32 @s2n_print_stacktrace(ptr noundef %6896)
  %6898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6899 = trunc i8 %6898 to i1
  br i1 %6899, label %6900, label %6922

6900:                                             ; preds = %6893
  %6901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6902 = call i32 @fileno(ptr noundef %6901) #10
  %6903 = call i32 @isatty(i32 noundef %6902) #10
  %6904 = icmp ne i32 %6903, 0
  br i1 %6904, label %6905, label %6922

6905:                                             ; preds = %6900
  %6906 = load i32, ptr %136, align 4, !tbaa !5
  %6907 = call ptr @__errno_location() #11
  store i32 %6906, ptr %6907, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6911, ptr noundef @.str.4)
  %6913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6914 = load i32, ptr %6913, align 4, !tbaa !5
  %6915 = call ptr @s2n_strerror_debug(i32 noundef %6914, ptr noundef @.str.4)
  %6916 = call ptr @__errno_location() #11
  %6917 = load i32, ptr %6916, align 4, !tbaa !5
  %6918 = call ptr @strerror(i32 noundef %6917) #10
  %6919 = call ptr @__errno_location() #11
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6908, ptr noundef @.str.2, i32 noundef %6909, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 278, ptr noundef %6912, ptr noundef %6915, ptr noundef %6918, i32 noundef %6920) #10
  br label %6939

6922:                                             ; preds = %6900, %6893
  %6923 = load i32, ptr %136, align 4, !tbaa !5
  %6924 = call ptr @__errno_location() #11
  store i32 %6923, ptr %6924, align 4, !tbaa !5
  %6925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6926 = load i32, ptr @test_count, align 4, !tbaa !5
  %6927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6928 = load i32, ptr %6927, align 4, !tbaa !5
  %6929 = call ptr @s2n_strerror(i32 noundef %6928, ptr noundef @.str.4)
  %6930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6931 = load i32, ptr %6930, align 4, !tbaa !5
  %6932 = call ptr @s2n_strerror_debug(i32 noundef %6931, ptr noundef @.str.4)
  %6933 = call ptr @__errno_location() #11
  %6934 = load i32, ptr %6933, align 4, !tbaa !5
  %6935 = call ptr @strerror(i32 noundef %6934) #10
  %6936 = call ptr @__errno_location() #11
  %6937 = load i32, ptr %6936, align 4, !tbaa !5
  %6938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6925, ptr noundef @.str.5, i32 noundef %6926, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 278, ptr noundef %6929, ptr noundef %6932, ptr noundef %6935, i32 noundef %6937) #10
  br label %6939

6939:                                             ; preds = %6922, %6905
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #10
  br label %6940

6940:                                             ; preds = %6939
  br label %6941

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

6942:                                             ; No predecessors!
  br label %6943

6943:                                             ; preds = %6942
  br label %6944

6944:                                             ; preds = %6943, %6886
  br label %6945

6945:                                             ; preds = %6944
  br label %6946

6946:                                             ; preds = %6945
  br label %6947

6947:                                             ; preds = %6946
  %6948 = load i32, ptr @test_count, align 4, !tbaa !5
  %6949 = add nsw i32 %6948, 1
  store i32 %6949, ptr @test_count, align 4, !tbaa !5
  %6950 = call i32 @s2n_stuffer_write_uint16(ptr noundef %133, i16 noundef zeroext -256)
  %6951 = icmp eq i32 %6950, -1
  br i1 %6951, label %6952, label %7005

6952:                                             ; preds = %6947
  br label %6953

6953:                                             ; preds = %6952
  br label %6954

6954:                                             ; preds = %6953
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #10
  %6955 = call ptr @__errno_location() #11
  %6956 = load i32, ptr %6955, align 4, !tbaa !5
  store i32 %6956, ptr %137, align 4, !tbaa !5
  %6957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6958 = call i32 @s2n_print_stacktrace(ptr noundef %6957)
  %6959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6960 = trunc i8 %6959 to i1
  br i1 %6960, label %6961, label %6983

6961:                                             ; preds = %6954
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = call i32 @fileno(ptr noundef %6962) #10
  %6964 = call i32 @isatty(i32 noundef %6963) #10
  %6965 = icmp ne i32 %6964, 0
  br i1 %6965, label %6966, label %6983

6966:                                             ; preds = %6961
  %6967 = load i32, ptr %137, align 4, !tbaa !5
  %6968 = call ptr @__errno_location() #11
  store i32 %6967, ptr %6968, align 4, !tbaa !5
  %6969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6970 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6972, ptr noundef @.str.4)
  %6974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6975 = load i32, ptr %6974, align 4, !tbaa !5
  %6976 = call ptr @s2n_strerror_debug(i32 noundef %6975, ptr noundef @.str.4)
  %6977 = call ptr @__errno_location() #11
  %6978 = load i32, ptr %6977, align 4, !tbaa !5
  %6979 = call ptr @strerror(i32 noundef %6978) #10
  %6980 = call ptr @__errno_location() #11
  %6981 = load i32, ptr %6980, align 4, !tbaa !5
  %6982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6969, ptr noundef @.str.2, i32 noundef %6970, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6973, ptr noundef %6976, ptr noundef %6979, i32 noundef %6981) #10
  br label %7000

6983:                                             ; preds = %6961, %6954
  %6984 = load i32, ptr %137, align 4, !tbaa !5
  %6985 = call ptr @__errno_location() #11
  store i32 %6984, ptr %6985, align 4, !tbaa !5
  %6986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6987 = load i32, ptr @test_count, align 4, !tbaa !5
  %6988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6989 = load i32, ptr %6988, align 4, !tbaa !5
  %6990 = call ptr @s2n_strerror(i32 noundef %6989, ptr noundef @.str.4)
  %6991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6992 = load i32, ptr %6991, align 4, !tbaa !5
  %6993 = call ptr @s2n_strerror_debug(i32 noundef %6992, ptr noundef @.str.4)
  %6994 = call ptr @__errno_location() #11
  %6995 = load i32, ptr %6994, align 4, !tbaa !5
  %6996 = call ptr @strerror(i32 noundef %6995) #10
  %6997 = call ptr @__errno_location() #11
  %6998 = load i32, ptr %6997, align 4, !tbaa !5
  %6999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6986, ptr noundef @.str.5, i32 noundef %6987, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 280, ptr noundef %6990, ptr noundef %6993, ptr noundef %6996, i32 noundef %6998) #10
  br label %7000

7000:                                             ; preds = %6983, %6966
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #10
  br label %7001

7001:                                             ; preds = %7000
  br label %7002

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

7003:                                             ; No predecessors!
  br label %7004

7004:                                             ; preds = %7003
  br label %7005

7005:                                             ; preds = %7004, %6947
  br label %7006

7006:                                             ; preds = %7005
  br label %7007

7007:                                             ; preds = %7006
  br label %7008

7008:                                             ; preds = %7007
  %7009 = load i32, ptr @test_count, align 4, !tbaa !5
  %7010 = add nsw i32 %7009, 1
  store i32 %7010, ptr @test_count, align 4, !tbaa !5
  %7011 = call i32 @s2n_stuffer_write_uint16(ptr noundef %133, i16 noundef zeroext 0)
  %7012 = icmp eq i32 %7011, -1
  br i1 %7012, label %7013, label %7066

7013:                                             ; preds = %7008
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

7015:                                             ; preds = %7014
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #10
  %7016 = call ptr @__errno_location() #11
  %7017 = load i32, ptr %7016, align 4, !tbaa !5
  store i32 %7017, ptr %138, align 4, !tbaa !5
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = call i32 @s2n_print_stacktrace(ptr noundef %7018)
  %7020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7021 = trunc i8 %7020 to i1
  br i1 %7021, label %7022, label %7044

7022:                                             ; preds = %7015
  %7023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7024 = call i32 @fileno(ptr noundef %7023) #10
  %7025 = call i32 @isatty(i32 noundef %7024) #10
  %7026 = icmp ne i32 %7025, 0
  br i1 %7026, label %7027, label %7044

7027:                                             ; preds = %7022
  %7028 = load i32, ptr %138, 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.2, i32 noundef %7031, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 281, ptr noundef %7034, ptr noundef %7037, ptr noundef %7040, i32 noundef %7042) #10
  br label %7061

7044:                                             ; preds = %7022, %7015
  %7045 = load i32, ptr %138, align 4, !tbaa !5
  %7046 = call ptr @__errno_location() #11
  store i32 %7045, ptr %7046, align 4, !tbaa !5
  %7047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7048 = load i32, ptr @test_count, align 4, !tbaa !5
  %7049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  %7051 = call ptr @s2n_strerror(i32 noundef %7050, ptr noundef @.str.4)
  %7052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7053 = load i32, ptr %7052, align 4, !tbaa !5
  %7054 = call ptr @s2n_strerror_debug(i32 noundef %7053, ptr noundef @.str.4)
  %7055 = call ptr @__errno_location() #11
  %7056 = load i32, ptr %7055, align 4, !tbaa !5
  %7057 = call ptr @strerror(i32 noundef %7056) #10
  %7058 = call ptr @__errno_location() #11
  %7059 = load i32, ptr %7058, align 4, !tbaa !5
  %7060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7047, ptr noundef @.str.5, i32 noundef %7048, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 281, ptr noundef %7051, ptr noundef %7054, ptr noundef %7057, i32 noundef %7059) #10
  br label %7061

7061:                                             ; preds = %7044, %7027
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #10
  br label %7062

7062:                                             ; preds = %7061
  br label %7063

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

7064:                                             ; No predecessors!
  br label %7065

7065:                                             ; preds = %7064
  br label %7066

7066:                                             ; preds = %7065, %7008
  br label %7067

7067:                                             ; preds = %7066
  br label %7068

7068:                                             ; preds = %7067
  br label %7069

7069:                                             ; preds = %7068
  %7070 = load i32, ptr @test_count, align 4, !tbaa !5
  %7071 = add nsw i32 %7070, 1
  store i32 %7071, ptr @test_count, align 4, !tbaa !5
  %7072 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 2
  %7073 = load i32, ptr %7072, align 4, !tbaa !21
  %7074 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 1
  %7075 = load i32, ptr %7074, align 8, !tbaa !23
  %7076 = sub i32 %7073, %7075
  %7077 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %135, i32 0, i32 2
  %7078 = load i8, ptr %7077, align 4, !tbaa !30
  %7079 = zext i8 %7078 to i32
  %7080 = icmp ugt i32 %7076, %7079
  br i1 %7080, label %7134, label %7081

7081:                                             ; preds = %7069
  br label %7082

7082:                                             ; preds = %7081
  br label %7083

7083:                                             ; preds = %7082
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #10
  %7084 = call ptr @__errno_location() #11
  %7085 = load i32, ptr %7084, align 4, !tbaa !5
  store i32 %7085, ptr %139, align 4, !tbaa !5
  %7086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7087 = call i32 @s2n_print_stacktrace(ptr noundef %7086)
  %7088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7089 = trunc i8 %7088 to i1
  br i1 %7089, label %7090, label %7112

7090:                                             ; preds = %7083
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = call i32 @fileno(ptr noundef %7091) #10
  %7093 = call i32 @isatty(i32 noundef %7092) #10
  %7094 = icmp ne i32 %7093, 0
  br i1 %7094, label %7095, label %7112

7095:                                             ; preds = %7090
  %7096 = load i32, ptr %139, align 4, !tbaa !5
  %7097 = call ptr @__errno_location() #11
  store i32 %7096, ptr %7097, align 4, !tbaa !5
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = load i32, ptr @test_count, align 4, !tbaa !5
  %7100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call ptr @s2n_strerror(i32 noundef %7101, ptr noundef @.str.4)
  %7103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7104 = load i32, ptr %7103, align 4, !tbaa !5
  %7105 = call ptr @s2n_strerror_debug(i32 noundef %7104, ptr noundef @.str.4)
  %7106 = call ptr @__errno_location() #11
  %7107 = load i32, ptr %7106, align 4, !tbaa !5
  %7108 = call ptr @strerror(i32 noundef %7107) #10
  %7109 = call ptr @__errno_location() #11
  %7110 = load i32, ptr %7109, align 4, !tbaa !5
  %7111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7098, ptr noundef @.str.2, i32 noundef %7099, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7102, ptr noundef %7105, ptr noundef %7108, i32 noundef %7110) #10
  br label %7129

7112:                                             ; preds = %7090, %7083
  %7113 = load i32, ptr %139, align 4, !tbaa !5
  %7114 = call ptr @__errno_location() #11
  store i32 %7113, ptr %7114, align 4, !tbaa !5
  %7115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7116 = load i32, ptr @test_count, align 4, !tbaa !5
  %7117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call ptr @s2n_strerror(i32 noundef %7118, ptr noundef @.str.4)
  %7120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7121 = load i32, ptr %7120, align 4, !tbaa !5
  %7122 = call ptr @s2n_strerror_debug(i32 noundef %7121, ptr noundef @.str.4)
  %7123 = call ptr @__errno_location() #11
  %7124 = load i32, ptr %7123, align 4, !tbaa !5
  %7125 = call ptr @strerror(i32 noundef %7124) #10
  %7126 = call ptr @__errno_location() #11
  %7127 = load i32, ptr %7126, align 4, !tbaa !5
  %7128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7115, ptr noundef @.str.5, i32 noundef %7116, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 283, ptr noundef %7119, ptr noundef %7122, ptr noundef %7125, i32 noundef %7127) #10
  br label %7129

7129:                                             ; preds = %7112, %7095
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #10
  br label %7130

7130:                                             ; preds = %7129
  br label %7131

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

7132:                                             ; No predecessors!
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133, %7069
  br label %7135

7135:                                             ; preds = %7134
  br label %7136

7136:                                             ; preds = %7135
  br label %7137

7137:                                             ; preds = %7136
  %7138 = load i32, ptr @test_count, align 4, !tbaa !5
  %7139 = add nsw i32 %7138, 1
  store i32 %7139, ptr @test_count, align 4, !tbaa !5
  %7140 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %135)
  %7141 = icmp eq i32 %7140, -1
  br i1 %7141, label %7142, label %7195

7142:                                             ; preds = %7137
  br label %7143

7143:                                             ; preds = %7142
  br label %7144

7144:                                             ; preds = %7143
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #10
  %7145 = call ptr @__errno_location() #11
  %7146 = load i32, ptr %7145, align 4, !tbaa !5
  store i32 %7146, ptr %140, align 4, !tbaa !5
  %7147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7148 = call i32 @s2n_print_stacktrace(ptr noundef %7147)
  %7149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7150 = trunc i8 %7149 to i1
  br i1 %7150, label %7151, label %7173

7151:                                             ; preds = %7144
  %7152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7153 = call i32 @fileno(ptr noundef %7152) #10
  %7154 = call i32 @isatty(i32 noundef %7153) #10
  %7155 = icmp ne i32 %7154, 0
  br i1 %7155, label %7156, label %7173

7156:                                             ; preds = %7151
  %7157 = load i32, ptr %140, align 4, !tbaa !5
  %7158 = call ptr @__errno_location() #11
  store i32 %7157, ptr %7158, align 4, !tbaa !5
  %7159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7160 = load i32, ptr @test_count, align 4, !tbaa !5
  %7161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7162 = load i32, ptr %7161, align 4, !tbaa !5
  %7163 = call ptr @s2n_strerror(i32 noundef %7162, ptr noundef @.str.4)
  %7164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7165 = load i32, ptr %7164, align 4, !tbaa !5
  %7166 = call ptr @s2n_strerror_debug(i32 noundef %7165, ptr noundef @.str.4)
  %7167 = call ptr @__errno_location() #11
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call ptr @strerror(i32 noundef %7168) #10
  %7170 = call ptr @__errno_location() #11
  %7171 = load i32, ptr %7170, align 4, !tbaa !5
  %7172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7159, ptr noundef @.str.2, i32 noundef %7160, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7163, ptr noundef %7166, ptr noundef %7169, i32 noundef %7171) #10
  br label %7190

7173:                                             ; preds = %7151, %7144
  %7174 = load i32, ptr %140, align 4, !tbaa !5
  %7175 = call ptr @__errno_location() #11
  store i32 %7174, ptr %7175, align 4, !tbaa !5
  %7176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7177 = load i32, ptr @test_count, align 4, !tbaa !5
  %7178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7179 = load i32, ptr %7178, align 4, !tbaa !5
  %7180 = call ptr @s2n_strerror(i32 noundef %7179, ptr noundef @.str.4)
  %7181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7182 = load i32, ptr %7181, align 4, !tbaa !5
  %7183 = call ptr @s2n_strerror_debug(i32 noundef %7182, ptr noundef @.str.4)
  %7184 = call ptr @__errno_location() #11
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call ptr @strerror(i32 noundef %7185) #10
  %7187 = call ptr @__errno_location() #11
  %7188 = load i32, ptr %7187, align 4, !tbaa !5
  %7189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7176, ptr noundef @.str.5, i32 noundef %7177, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 284, ptr noundef %7180, ptr noundef %7183, ptr noundef %7186, i32 noundef %7188) #10
  br label %7190

7190:                                             ; preds = %7173, %7156
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #10
  br label %7191

7191:                                             ; preds = %7190
  br label %7192

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

7193:                                             ; No predecessors!
  br label %7194

7194:                                             ; preds = %7193
  br label %7195

7195:                                             ; preds = %7194, %7137
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

7197:                                             ; preds = %7196
  br label %7198

7198:                                             ; preds = %7197
  %7199 = load i32, ptr @test_count, align 4, !tbaa !5
  %7200 = add nsw i32 %7199, 1
  store i32 %7200, ptr @test_count, align 4, !tbaa !5
  %7201 = call i32 @s2n_extension_list_parse(ptr noundef %133, ptr noundef %132)
  %7202 = icmp eq i32 %7201, -1
  br i1 %7202, label %7203, label %7256

7203:                                             ; preds = %7198
  br label %7204

7204:                                             ; preds = %7203
  br label %7205

7205:                                             ; preds = %7204
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #10
  %7206 = call ptr @__errno_location() #11
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  store i32 %7207, ptr %141, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = call i32 @s2n_print_stacktrace(ptr noundef %7208)
  %7210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7211 = trunc i8 %7210 to i1
  br i1 %7211, label %7212, label %7234

7212:                                             ; preds = %7205
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = call i32 @fileno(ptr noundef %7213) #10
  %7215 = call i32 @isatty(i32 noundef %7214) #10
  %7216 = icmp ne i32 %7215, 0
  br i1 %7216, label %7217, label %7234

7217:                                             ; preds = %7212
  %7218 = load i32, ptr %141, align 4, !tbaa !5
  %7219 = call ptr @__errno_location() #11
  store i32 %7218, ptr %7219, align 4, !tbaa !5
  %7220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7221 = load i32, ptr @test_count, align 4, !tbaa !5
  %7222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call ptr @s2n_strerror(i32 noundef %7223, ptr noundef @.str.4)
  %7225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror_debug(i32 noundef %7226, ptr noundef @.str.4)
  %7228 = call ptr @__errno_location() #11
  %7229 = load i32, ptr %7228, align 4, !tbaa !5
  %7230 = call ptr @strerror(i32 noundef %7229) #10
  %7231 = call ptr @__errno_location() #11
  %7232 = load i32, ptr %7231, align 4, !tbaa !5
  %7233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7220, ptr noundef @.str.2, i32 noundef %7221, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7224, ptr noundef %7227, ptr noundef %7230, i32 noundef %7232) #10
  br label %7251

7234:                                             ; preds = %7212, %7205
  %7235 = load i32, ptr %141, align 4, !tbaa !5
  %7236 = call ptr @__errno_location() #11
  store i32 %7235, ptr %7236, align 4, !tbaa !5
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = load i32, ptr @test_count, align 4, !tbaa !5
  %7239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7240 = load i32, ptr %7239, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror(i32 noundef %7240, ptr noundef @.str.4)
  %7242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  %7244 = call ptr @s2n_strerror_debug(i32 noundef %7243, ptr noundef @.str.4)
  %7245 = call ptr @__errno_location() #11
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call ptr @strerror(i32 noundef %7246) #10
  %7248 = call ptr @__errno_location() #11
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7237, ptr noundef @.str.5, i32 noundef %7238, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 286, ptr noundef %7241, ptr noundef %7244, ptr noundef %7247, i32 noundef %7249) #10
  br label %7251

7251:                                             ; preds = %7234, %7217
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #10
  br label %7252

7252:                                             ; preds = %7251
  br label %7253

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

7254:                                             ; No predecessors!
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

7256:                                             ; preds = %7255, %7198
  br label %7257

7257:                                             ; preds = %7256
  br label %7258

7258:                                             ; preds = %7257
  br label %7259

7259:                                             ; preds = %7258
  %7260 = load i32, ptr @test_count, align 4, !tbaa !5
  %7261 = add nsw i32 %7260, 1
  store i32 %7261, ptr @test_count, align 4, !tbaa !5
  %7262 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 2
  %7263 = load i32, ptr %7262, align 4, !tbaa !21
  %7264 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 1
  %7265 = load i32, ptr %7264, align 8, !tbaa !23
  %7266 = sub i32 %7263, %7265
  %7267 = icmp eq i32 %7266, 0
  br i1 %7267, label %7321, label %7268

7268:                                             ; preds = %7259
  br label %7269

7269:                                             ; preds = %7268
  br label %7270

7270:                                             ; preds = %7269
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #10
  %7271 = call ptr @__errno_location() #11
  %7272 = load i32, ptr %7271, align 4, !tbaa !5
  store i32 %7272, ptr %142, align 4, !tbaa !5
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = call i32 @s2n_print_stacktrace(ptr noundef %7273)
  %7275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7276 = trunc i8 %7275 to i1
  br i1 %7276, label %7277, label %7299

7277:                                             ; preds = %7270
  %7278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7279 = call i32 @fileno(ptr noundef %7278) #10
  %7280 = call i32 @isatty(i32 noundef %7279) #10
  %7281 = icmp ne i32 %7280, 0
  br i1 %7281, label %7282, label %7299

7282:                                             ; preds = %7277
  %7283 = load i32, ptr %142, align 4, !tbaa !5
  %7284 = call ptr @__errno_location() #11
  store i32 %7283, ptr %7284, align 4, !tbaa !5
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = load i32, ptr @test_count, align 4, !tbaa !5
  %7287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7288 = load i32, ptr %7287, align 4, !tbaa !5
  %7289 = call ptr @s2n_strerror(i32 noundef %7288, ptr noundef @.str.4)
  %7290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7291 = load i32, ptr %7290, align 4, !tbaa !5
  %7292 = call ptr @s2n_strerror_debug(i32 noundef %7291, ptr noundef @.str.4)
  %7293 = call ptr @__errno_location() #11
  %7294 = load i32, ptr %7293, align 4, !tbaa !5
  %7295 = call ptr @strerror(i32 noundef %7294) #10
  %7296 = call ptr @__errno_location() #11
  %7297 = load i32, ptr %7296, align 4, !tbaa !5
  %7298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7285, ptr noundef @.str.2, i32 noundef %7286, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7289, ptr noundef %7292, ptr noundef %7295, i32 noundef %7297) #10
  br label %7316

7299:                                             ; preds = %7277, %7270
  %7300 = load i32, ptr %142, align 4, !tbaa !5
  %7301 = call ptr @__errno_location() #11
  store i32 %7300, ptr %7301, align 4, !tbaa !5
  %7302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7303 = load i32, ptr @test_count, align 4, !tbaa !5
  %7304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call ptr @s2n_strerror(i32 noundef %7305, ptr noundef @.str.4)
  %7307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7308 = load i32, ptr %7307, align 4, !tbaa !5
  %7309 = call ptr @s2n_strerror_debug(i32 noundef %7308, ptr noundef @.str.4)
  %7310 = call ptr @__errno_location() #11
  %7311 = load i32, ptr %7310, align 4, !tbaa !5
  %7312 = call ptr @strerror(i32 noundef %7311) #10
  %7313 = call ptr @__errno_location() #11
  %7314 = load i32, ptr %7313, align 4, !tbaa !5
  %7315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7302, ptr noundef @.str.5, i32 noundef %7303, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 288, ptr noundef %7306, ptr noundef %7309, ptr noundef %7312, i32 noundef %7314) #10
  br label %7316

7316:                                             ; preds = %7299, %7282
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #10
  br label %7317

7317:                                             ; preds = %7316
  br label %7318

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

7319:                                             ; No predecessors!
  br label %7320

7320:                                             ; preds = %7319
  br label %7321

7321:                                             ; preds = %7320, %7259
  br label %7322

7322:                                             ; preds = %7321
  br label %7323

7323:                                             ; preds = %7322
  br label %7324

7324:                                             ; preds = %7323
  %7325 = load i32, ptr @test_count, align 4, !tbaa !5
  %7326 = add nsw i32 %7325, 1
  store i32 %7326, ptr @test_count, align 4, !tbaa !5
  %7327 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %132, i32 0, i32 2
  %7328 = load i16, ptr %7327, align 8, !tbaa !28
  %7329 = zext i16 %7328 to i32
  %7330 = icmp eq i32 %7329, 0
  br i1 %7330, label %7384, label %7331

7331:                                             ; preds = %7324
  br label %7332

7332:                                             ; preds = %7331
  br label %7333

7333:                                             ; preds = %7332
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #10
  %7334 = call ptr @__errno_location() #11
  %7335 = load i32, ptr %7334, align 4, !tbaa !5
  store i32 %7335, ptr %143, align 4, !tbaa !5
  %7336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7337 = call i32 @s2n_print_stacktrace(ptr noundef %7336)
  %7338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7339 = trunc i8 %7338 to i1
  br i1 %7339, label %7340, label %7362

7340:                                             ; preds = %7333
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = call i32 @fileno(ptr noundef %7341) #10
  %7343 = call i32 @isatty(i32 noundef %7342) #10
  %7344 = icmp ne i32 %7343, 0
  br i1 %7344, label %7345, label %7362

7345:                                             ; preds = %7340
  %7346 = load i32, ptr %143, align 4, !tbaa !5
  %7347 = call ptr @__errno_location() #11
  store i32 %7346, ptr %7347, align 4, !tbaa !5
  %7348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7349 = load i32, ptr @test_count, align 4, !tbaa !5
  %7350 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7351 = load i32, ptr %7350, align 4, !tbaa !5
  %7352 = call ptr @s2n_strerror(i32 noundef %7351, ptr noundef @.str.4)
  %7353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7354 = load i32, ptr %7353, align 4, !tbaa !5
  %7355 = call ptr @s2n_strerror_debug(i32 noundef %7354, ptr noundef @.str.4)
  %7356 = call ptr @__errno_location() #11
  %7357 = load i32, ptr %7356, align 4, !tbaa !5
  %7358 = call ptr @strerror(i32 noundef %7357) #10
  %7359 = call ptr @__errno_location() #11
  %7360 = load i32, ptr %7359, align 4, !tbaa !5
  %7361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7348, ptr noundef @.str.2, i32 noundef %7349, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 289, ptr noundef %7352, ptr noundef %7355, ptr noundef %7358, i32 noundef %7360) #10
  br label %7379

7362:                                             ; preds = %7340, %7333
  %7363 = load i32, ptr %143, align 4, !tbaa !5
  %7364 = call ptr @__errno_location() #11
  store i32 %7363, ptr %7364, align 4, !tbaa !5
  %7365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7366 = load i32, ptr @test_count, align 4, !tbaa !5
  %7367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7368 = load i32, ptr %7367, align 4, !tbaa !5
  %7369 = call ptr @s2n_strerror(i32 noundef %7368, ptr noundef @.str.4)
  %7370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call ptr @s2n_strerror_debug(i32 noundef %7371, ptr noundef @.str.4)
  %7373 = call ptr @__errno_location() #11
  %7374 = load i32, ptr %7373, align 4, !tbaa !5
  %7375 = call ptr @strerror(i32 noundef %7374) #10
  %7376 = call ptr @__errno_location() #11
  %7377 = load i32, ptr %7376, align 4, !tbaa !5
  %7378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7365, ptr noundef @.str.5, i32 noundef %7366, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 289, ptr noundef %7369, ptr noundef %7372, ptr noundef %7375, i32 noundef %7377) #10
  br label %7379

7379:                                             ; preds = %7362, %7345
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #10
  br label %7380

7380:                                             ; preds = %7379
  br label %7381

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

7382:                                             ; No predecessors!
  br label %7383

7383:                                             ; preds = %7382
  br label %7384

7384:                                             ; preds = %7383, %7324
  br label %7385

7385:                                             ; preds = %7384
  br label %7386

7386:                                             ; preds = %7385
  br label %7387

7387:                                             ; preds = %7386
  br label %7388

7388:                                             ; preds = %7387
  %7389 = load i32, ptr @test_count, align 4, !tbaa !5
  %7390 = add nsw i32 %7389, 1
  store i32 %7390, ptr @test_count, align 4, !tbaa !5
  %7391 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %132, i32 0, i32 0
  %7392 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %7391, i64 0, i64 0
  %7393 = call i32 @memcmp(ptr noundef %7392, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %7394 = icmp eq i32 %7393, 0
  br i1 %7394, label %7448, label %7395

7395:                                             ; preds = %7388
  br label %7396

7396:                                             ; preds = %7395
  br label %7397

7397:                                             ; preds = %7396
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #10
  %7398 = call ptr @__errno_location() #11
  %7399 = load i32, ptr %7398, align 4, !tbaa !5
  store i32 %7399, ptr %144, align 4, !tbaa !5
  %7400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7401 = call i32 @s2n_print_stacktrace(ptr noundef %7400)
  %7402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7403 = trunc i8 %7402 to i1
  br i1 %7403, label %7404, label %7426

7404:                                             ; preds = %7397
  %7405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7406 = call i32 @fileno(ptr noundef %7405) #10
  %7407 = call i32 @isatty(i32 noundef %7406) #10
  %7408 = icmp ne i32 %7407, 0
  br i1 %7408, label %7409, label %7426

7409:                                             ; preds = %7404
  %7410 = load i32, ptr %144, align 4, !tbaa !5
  %7411 = call ptr @__errno_location() #11
  store i32 %7410, ptr %7411, align 4, !tbaa !5
  %7412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7413 = load i32, ptr @test_count, align 4, !tbaa !5
  %7414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7415 = load i32, ptr %7414, align 4, !tbaa !5
  %7416 = call ptr @s2n_strerror(i32 noundef %7415, ptr noundef @.str.4)
  %7417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7418 = load i32, ptr %7417, align 4, !tbaa !5
  %7419 = call ptr @s2n_strerror_debug(i32 noundef %7418, ptr noundef @.str.4)
  %7420 = call ptr @__errno_location() #11
  %7421 = load i32, ptr %7420, align 4, !tbaa !5
  %7422 = call ptr @strerror(i32 noundef %7421) #10
  %7423 = call ptr @__errno_location() #11
  %7424 = load i32, ptr %7423, align 4, !tbaa !5
  %7425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7412, ptr noundef @.str.2, i32 noundef %7413, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7416, ptr noundef %7419, ptr noundef %7422, i32 noundef %7424) #10
  br label %7443

7426:                                             ; preds = %7404, %7397
  %7427 = load i32, ptr %144, align 4, !tbaa !5
  %7428 = call ptr @__errno_location() #11
  store i32 %7427, ptr %7428, align 4, !tbaa !5
  %7429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7430 = load i32, ptr @test_count, align 4, !tbaa !5
  %7431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7432 = load i32, ptr %7431, align 4, !tbaa !5
  %7433 = call ptr @s2n_strerror(i32 noundef %7432, ptr noundef @.str.4)
  %7434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7435 = load i32, ptr %7434, align 4, !tbaa !5
  %7436 = call ptr @s2n_strerror_debug(i32 noundef %7435, ptr noundef @.str.4)
  %7437 = call ptr @__errno_location() #11
  %7438 = load i32, ptr %7437, align 4, !tbaa !5
  %7439 = call ptr @strerror(i32 noundef %7438) #10
  %7440 = call ptr @__errno_location() #11
  %7441 = load i32, ptr %7440, align 4, !tbaa !5
  %7442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7429, ptr noundef @.str.5, i32 noundef %7430, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7433, ptr noundef %7436, ptr noundef %7439, i32 noundef %7441) #10
  br label %7443

7443:                                             ; preds = %7426, %7409
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #10
  br label %7444

7444:                                             ; preds = %7443
  br label %7445

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

7446:                                             ; No predecessors!
  br label %7447

7447:                                             ; preds = %7446
  br label %7448

7448:                                             ; preds = %7447, %7388
  br label %7449

7449:                                             ; preds = %7448
  br label %7450

7450:                                             ; preds = %7449
  br label %7451

7451:                                             ; preds = %7450
  br label %7452

7452:                                             ; preds = %7451
  br label %7453

7453:                                             ; preds = %7452
  %7454 = load i32, ptr @test_count, align 4, !tbaa !5
  %7455 = add nsw i32 %7454, 1
  store i32 %7455, ptr @test_count, align 4, !tbaa !5
  %7456 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %132, i32 0, i32 1
  %7457 = getelementptr inbounds %struct.s2n_blob, ptr %7456, i32 0, i32 0
  %7458 = load ptr, ptr %7457, align 8, !tbaa !24
  %7459 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 0
  %7460 = getelementptr inbounds %struct.s2n_blob, ptr %7459, i32 0, i32 0
  %7461 = load ptr, ptr %7460, align 8, !tbaa !26
  %7462 = getelementptr inbounds i8, ptr %7461, i64 2
  %7463 = icmp eq ptr %7458, %7462
  br i1 %7463, label %7517, label %7464

7464:                                             ; preds = %7453
  br label %7465

7465:                                             ; preds = %7464
  br label %7466

7466:                                             ; preds = %7465
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #10
  %7467 = call ptr @__errno_location() #11
  %7468 = load i32, ptr %7467, align 4, !tbaa !5
  store i32 %7468, ptr %145, align 4, !tbaa !5
  %7469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7470 = call i32 @s2n_print_stacktrace(ptr noundef %7469)
  %7471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7472 = trunc i8 %7471 to i1
  br i1 %7472, label %7473, label %7495

7473:                                             ; preds = %7466
  %7474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7475 = call i32 @fileno(ptr noundef %7474) #10
  %7476 = call i32 @isatty(i32 noundef %7475) #10
  %7477 = icmp ne i32 %7476, 0
  br i1 %7477, label %7478, label %7495

7478:                                             ; preds = %7473
  %7479 = load i32, ptr %145, align 4, !tbaa !5
  %7480 = call ptr @__errno_location() #11
  store i32 %7479, ptr %7480, align 4, !tbaa !5
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = load i32, ptr @test_count, align 4, !tbaa !5
  %7483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7484 = load i32, ptr %7483, align 4, !tbaa !5
  %7485 = call ptr @s2n_strerror(i32 noundef %7484, ptr noundef @.str.4)
  %7486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7487 = load i32, ptr %7486, align 4, !tbaa !5
  %7488 = call ptr @s2n_strerror_debug(i32 noundef %7487, ptr noundef @.str.4)
  %7489 = call ptr @__errno_location() #11
  %7490 = load i32, ptr %7489, align 4, !tbaa !5
  %7491 = call ptr @strerror(i32 noundef %7490) #10
  %7492 = call ptr @__errno_location() #11
  %7493 = load i32, ptr %7492, align 4, !tbaa !5
  %7494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7481, ptr noundef @.str.2, i32 noundef %7482, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7485, ptr noundef %7488, ptr noundef %7491, i32 noundef %7493) #10
  br label %7512

7495:                                             ; preds = %7473, %7466
  %7496 = load i32, ptr %145, align 4, !tbaa !5
  %7497 = call ptr @__errno_location() #11
  store i32 %7496, ptr %7497, align 4, !tbaa !5
  %7498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7499 = load i32, ptr @test_count, align 4, !tbaa !5
  %7500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7501 = load i32, ptr %7500, align 4, !tbaa !5
  %7502 = call ptr @s2n_strerror(i32 noundef %7501, ptr noundef @.str.4)
  %7503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7504 = load i32, ptr %7503, align 4, !tbaa !5
  %7505 = call ptr @s2n_strerror_debug(i32 noundef %7504, ptr noundef @.str.4)
  %7506 = call ptr @__errno_location() #11
  %7507 = load i32, ptr %7506, align 4, !tbaa !5
  %7508 = call ptr @strerror(i32 noundef %7507) #10
  %7509 = call ptr @__errno_location() #11
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7498, ptr noundef @.str.5, i32 noundef %7499, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7502, ptr noundef %7505, ptr noundef %7508, i32 noundef %7510) #10
  br label %7512

7512:                                             ; preds = %7495, %7478
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #10
  br label %7513

7513:                                             ; preds = %7512
  br label %7514

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

7515:                                             ; No predecessors!
  br label %7516

7516:                                             ; preds = %7515
  br label %7517

7517:                                             ; preds = %7516, %7453
  br label %7518

7518:                                             ; preds = %7517
  br label %7519

7519:                                             ; preds = %7518
  br label %7520

7520:                                             ; preds = %7519
  %7521 = load i32, ptr @test_count, align 4, !tbaa !5
  %7522 = add nsw i32 %7521, 1
  store i32 %7522, ptr @test_count, align 4, !tbaa !5
  %7523 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %132, i32 0, i32 1
  %7524 = getelementptr inbounds %struct.s2n_blob, ptr %7523, i32 0, i32 1
  %7525 = load i32, ptr %7524, align 8, !tbaa !27
  %7526 = zext i32 %7525 to i64
  %7527 = getelementptr inbounds %struct.s2n_stuffer, ptr %133, i32 0, i32 3
  %7528 = load i32, ptr %7527, align 8, !tbaa !29
  %7529 = zext i32 %7528 to i64
  %7530 = sub i64 %7529, 2
  %7531 = icmp eq i64 %7526, %7530
  br i1 %7531, label %7585, label %7532

7532:                                             ; preds = %7520
  br label %7533

7533:                                             ; preds = %7532
  br label %7534

7534:                                             ; preds = %7533
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #10
  %7535 = call ptr @__errno_location() #11
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  store i32 %7536, ptr %146, align 4, !tbaa !5
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = call i32 @s2n_print_stacktrace(ptr noundef %7537)
  %7539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7540 = trunc i8 %7539 to i1
  br i1 %7540, label %7541, label %7563

7541:                                             ; preds = %7534
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = call i32 @fileno(ptr noundef %7542) #10
  %7544 = call i32 @isatty(i32 noundef %7543) #10
  %7545 = icmp ne i32 %7544, 0
  br i1 %7545, label %7546, label %7563

7546:                                             ; preds = %7541
  %7547 = load i32, ptr %146, align 4, !tbaa !5
  %7548 = call ptr @__errno_location() #11
  store i32 %7547, ptr %7548, align 4, !tbaa !5
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = load i32, ptr @test_count, align 4, !tbaa !5
  %7551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7552 = load i32, ptr %7551, align 4, !tbaa !5
  %7553 = call ptr @s2n_strerror(i32 noundef %7552, ptr noundef @.str.4)
  %7554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  %7556 = call ptr @s2n_strerror_debug(i32 noundef %7555, ptr noundef @.str.4)
  %7557 = call ptr @__errno_location() #11
  %7558 = load i32, ptr %7557, align 4, !tbaa !5
  %7559 = call ptr @strerror(i32 noundef %7558) #10
  %7560 = call ptr @__errno_location() #11
  %7561 = load i32, ptr %7560, align 4, !tbaa !5
  %7562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7549, ptr noundef @.str.2, i32 noundef %7550, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7553, ptr noundef %7556, ptr noundef %7559, i32 noundef %7561) #10
  br label %7580

7563:                                             ; preds = %7541, %7534
  %7564 = load i32, ptr %146, align 4, !tbaa !5
  %7565 = call ptr @__errno_location() #11
  store i32 %7564, ptr %7565, align 4, !tbaa !5
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = load i32, ptr @test_count, align 4, !tbaa !5
  %7568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7569 = load i32, ptr %7568, align 4, !tbaa !5
  %7570 = call ptr @s2n_strerror(i32 noundef %7569, ptr noundef @.str.4)
  %7571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call ptr @s2n_strerror_debug(i32 noundef %7572, ptr noundef @.str.4)
  %7574 = call ptr @__errno_location() #11
  %7575 = load i32, ptr %7574, align 4, !tbaa !5
  %7576 = call ptr @strerror(i32 noundef %7575) #10
  %7577 = call ptr @__errno_location() #11
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7566, ptr noundef @.str.5, i32 noundef %7567, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7570, ptr noundef %7573, ptr noundef %7576, i32 noundef %7578) #10
  br label %7580

7580:                                             ; preds = %7563, %7546
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #10
  br label %7581

7581:                                             ; preds = %7580
  br label %7582

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

7583:                                             ; No predecessors!
  br label %7584

7584:                                             ; preds = %7583
  br label %7585

7585:                                             ; preds = %7584, %7520
  br label %7586

7586:                                             ; preds = %7585
  br label %7587

7587:                                             ; preds = %7586
  br label %7588

7588:                                             ; preds = %7587
  %7589 = load i32, ptr @test_count, align 4, !tbaa !5
  %7590 = add nsw i32 %7589, 1
  store i32 %7590, ptr @test_count, align 4, !tbaa !5
  %7591 = call i32 @s2n_stuffer_free(ptr noundef %133)
  %7592 = icmp eq i32 %7591, -1
  br i1 %7592, label %7593, label %7646

7593:                                             ; preds = %7588
  br label %7594

7594:                                             ; preds = %7593
  br label %7595

7595:                                             ; preds = %7594
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #10
  %7596 = call ptr @__errno_location() #11
  %7597 = load i32, ptr %7596, align 4, !tbaa !5
  store i32 %7597, ptr %147, align 4, !tbaa !5
  %7598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7599 = call i32 @s2n_print_stacktrace(ptr noundef %7598)
  %7600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7601 = trunc i8 %7600 to i1
  br i1 %7601, label %7602, label %7624

7602:                                             ; preds = %7595
  %7603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7604 = call i32 @fileno(ptr noundef %7603) #10
  %7605 = call i32 @isatty(i32 noundef %7604) #10
  %7606 = icmp ne i32 %7605, 0
  br i1 %7606, label %7607, label %7624

7607:                                             ; preds = %7602
  %7608 = load i32, ptr %147, align 4, !tbaa !5
  %7609 = call ptr @__errno_location() #11
  store i32 %7608, ptr %7609, align 4, !tbaa !5
  %7610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7611 = load i32, ptr @test_count, align 4, !tbaa !5
  %7612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7613 = load i32, ptr %7612, align 4, !tbaa !5
  %7614 = call ptr @s2n_strerror(i32 noundef %7613, ptr noundef @.str.4)
  %7615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7616 = load i32, ptr %7615, align 4, !tbaa !5
  %7617 = call ptr @s2n_strerror_debug(i32 noundef %7616, ptr noundef @.str.4)
  %7618 = call ptr @__errno_location() #11
  %7619 = load i32, ptr %7618, align 4, !tbaa !5
  %7620 = call ptr @strerror(i32 noundef %7619) #10
  %7621 = call ptr @__errno_location() #11
  %7622 = load i32, ptr %7621, align 4, !tbaa !5
  %7623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7610, ptr noundef @.str.2, i32 noundef %7611, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7614, ptr noundef %7617, ptr noundef %7620, i32 noundef %7622) #10
  br label %7641

7624:                                             ; preds = %7602, %7595
  %7625 = load i32, ptr %147, align 4, !tbaa !5
  %7626 = call ptr @__errno_location() #11
  store i32 %7625, ptr %7626, align 4, !tbaa !5
  %7627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7628 = load i32, ptr @test_count, align 4, !tbaa !5
  %7629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  %7631 = call ptr @s2n_strerror(i32 noundef %7630, ptr noundef @.str.4)
  %7632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7633 = load i32, ptr %7632, align 4, !tbaa !5
  %7634 = call ptr @s2n_strerror_debug(i32 noundef %7633, ptr noundef @.str.4)
  %7635 = call ptr @__errno_location() #11
  %7636 = load i32, ptr %7635, align 4, !tbaa !5
  %7637 = call ptr @strerror(i32 noundef %7636) #10
  %7638 = call ptr @__errno_location() #11
  %7639 = load i32, ptr %7638, align 4, !tbaa !5
  %7640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7627, ptr noundef @.str.5, i32 noundef %7628, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 293, ptr noundef %7631, ptr noundef %7634, ptr noundef %7637, i32 noundef %7639) #10
  br label %7641

7641:                                             ; preds = %7624, %7607
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #10
  br label %7642

7642:                                             ; preds = %7641
  br label %7643

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

7644:                                             ; No predecessors!
  br label %7645

7645:                                             ; preds = %7644
  br label %7646

7646:                                             ; preds = %7645, %7588
  br label %7647

7647:                                             ; preds = %7646
  br label %7648

7648:                                             ; preds = %7647
  call void @llvm.lifetime.end.p0(i64 16, ptr %135) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %133) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %132) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %148) #10
  call void @llvm.memset.p0.i64(ptr align 8 %148, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %149) #10
  call void @llvm.memset.p0.i64(ptr align 8 %149, i8 0, i64 40, i1 false)
  br label %7649

7649:                                             ; preds = %7648
  %7650 = load i32, ptr @test_count, align 4, !tbaa !5
  %7651 = add nsw i32 %7650, 1
  store i32 %7651, ptr @test_count, align 4, !tbaa !5
  %7652 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %149, i32 noundef 0)
  %7653 = icmp eq i32 %7652, -1
  br i1 %7653, label %7654, label %7707

7654:                                             ; preds = %7649
  br label %7655

7655:                                             ; preds = %7654
  br label %7656

7656:                                             ; preds = %7655
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #10
  %7657 = call ptr @__errno_location() #11
  %7658 = load i32, ptr %7657, align 4, !tbaa !5
  store i32 %7658, ptr %150, align 4, !tbaa !5
  %7659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7660 = call i32 @s2n_print_stacktrace(ptr noundef %7659)
  %7661 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7662 = trunc i8 %7661 to i1
  br i1 %7662, label %7663, label %7685

7663:                                             ; preds = %7656
  %7664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7665 = call i32 @fileno(ptr noundef %7664) #10
  %7666 = call i32 @isatty(i32 noundef %7665) #10
  %7667 = icmp ne i32 %7666, 0
  br i1 %7667, label %7668, label %7685

7668:                                             ; preds = %7663
  %7669 = load i32, ptr %150, align 4, !tbaa !5
  %7670 = call ptr @__errno_location() #11
  store i32 %7669, ptr %7670, align 4, !tbaa !5
  %7671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7672 = load i32, ptr @test_count, align 4, !tbaa !5
  %7673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7674 = load i32, ptr %7673, align 4, !tbaa !5
  %7675 = call ptr @s2n_strerror(i32 noundef %7674, ptr noundef @.str.4)
  %7676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7677 = load i32, ptr %7676, align 4, !tbaa !5
  %7678 = call ptr @s2n_strerror_debug(i32 noundef %7677, ptr noundef @.str.4)
  %7679 = call ptr @__errno_location() #11
  %7680 = load i32, ptr %7679, align 4, !tbaa !5
  %7681 = call ptr @strerror(i32 noundef %7680) #10
  %7682 = call ptr @__errno_location() #11
  %7683 = load i32, ptr %7682, align 4, !tbaa !5
  %7684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7671, ptr noundef @.str.2, i32 noundef %7672, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7675, ptr noundef %7678, ptr noundef %7681, i32 noundef %7683) #10
  br label %7702

7685:                                             ; preds = %7663, %7656
  %7686 = load i32, ptr %150, align 4, !tbaa !5
  %7687 = call ptr @__errno_location() #11
  store i32 %7686, ptr %7687, align 4, !tbaa !5
  %7688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7689 = load i32, ptr @test_count, align 4, !tbaa !5
  %7690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7691 = load i32, ptr %7690, align 4, !tbaa !5
  %7692 = call ptr @s2n_strerror(i32 noundef %7691, ptr noundef @.str.4)
  %7693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7694 = load i32, ptr %7693, align 4, !tbaa !5
  %7695 = call ptr @s2n_strerror_debug(i32 noundef %7694, ptr noundef @.str.4)
  %7696 = call ptr @__errno_location() #11
  %7697 = load i32, ptr %7696, align 4, !tbaa !5
  %7698 = call ptr @strerror(i32 noundef %7697) #10
  %7699 = call ptr @__errno_location() #11
  %7700 = load i32, ptr %7699, align 4, !tbaa !5
  %7701 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7688, ptr noundef @.str.5, i32 noundef %7689, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 300, ptr noundef %7692, ptr noundef %7695, ptr noundef %7698, i32 noundef %7700) #10
  br label %7702

7702:                                             ; preds = %7685, %7668
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #10
  br label %7703

7703:                                             ; preds = %7702
  br label %7704

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

7705:                                             ; No predecessors!
  br label %7706

7706:                                             ; preds = %7705
  br label %7707

7707:                                             ; preds = %7706, %7649
  br label %7708

7708:                                             ; preds = %7707
  br label %7709

7709:                                             ; preds = %7708
  call void @llvm.lifetime.start.p0(i64 16, ptr %151) #10
  call void @llvm.memset.p0.i64(ptr align 8 %151, i8 0, i64 16, i1 false)
  br label %7710

7710:                                             ; preds = %7709
  %7711 = load i32, ptr @test_count, align 4, !tbaa !5
  %7712 = add nsw i32 %7711, 1
  store i32 %7712, ptr @test_count, align 4, !tbaa !5
  %7713 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %149, ptr noundef %151)
  %7714 = icmp eq i32 %7713, -1
  br i1 %7714, label %7715, label %7768

7715:                                             ; preds = %7710
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #10
  %7718 = call ptr @__errno_location() #11
  %7719 = load i32, ptr %7718, align 4, !tbaa !5
  store i32 %7719, ptr %152, align 4, !tbaa !5
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @s2n_print_stacktrace(ptr noundef %7720)
  %7722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7723 = trunc i8 %7722 to i1
  br i1 %7723, label %7724, label %7746

7724:                                             ; preds = %7717
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = call i32 @fileno(ptr noundef %7725) #10
  %7727 = call i32 @isatty(i32 noundef %7726) #10
  %7728 = icmp ne i32 %7727, 0
  br i1 %7728, label %7729, label %7746

7729:                                             ; preds = %7724
  %7730 = load i32, ptr %152, align 4, !tbaa !5
  %7731 = call ptr @__errno_location() #11
  store i32 %7730, ptr %7731, align 4, !tbaa !5
  %7732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7733 = load i32, ptr @test_count, align 4, !tbaa !5
  %7734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call ptr @s2n_strerror(i32 noundef %7735, ptr noundef @.str.4)
  %7737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7738 = load i32, ptr %7737, align 4, !tbaa !5
  %7739 = call ptr @s2n_strerror_debug(i32 noundef %7738, ptr noundef @.str.4)
  %7740 = call ptr @__errno_location() #11
  %7741 = load i32, ptr %7740, align 4, !tbaa !5
  %7742 = call ptr @strerror(i32 noundef %7741) #10
  %7743 = call ptr @__errno_location() #11
  %7744 = load i32, ptr %7743, align 4, !tbaa !5
  %7745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7732, ptr noundef @.str.2, i32 noundef %7733, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7736, ptr noundef %7739, ptr noundef %7742, i32 noundef %7744) #10
  br label %7763

7746:                                             ; preds = %7724, %7717
  %7747 = load i32, ptr %152, align 4, !tbaa !5
  %7748 = call ptr @__errno_location() #11
  store i32 %7747, ptr %7748, align 4, !tbaa !5
  %7749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7750 = load i32, ptr @test_count, align 4, !tbaa !5
  %7751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call ptr @s2n_strerror(i32 noundef %7752, ptr noundef @.str.4)
  %7754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7755 = load i32, ptr %7754, align 4, !tbaa !5
  %7756 = call ptr @s2n_strerror_debug(i32 noundef %7755, ptr noundef @.str.4)
  %7757 = call ptr @__errno_location() #11
  %7758 = load i32, ptr %7757, align 4, !tbaa !5
  %7759 = call ptr @strerror(i32 noundef %7758) #10
  %7760 = call ptr @__errno_location() #11
  %7761 = load i32, ptr %7760, align 4, !tbaa !5
  %7762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7749, ptr noundef @.str.5, i32 noundef %7750, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7753, ptr noundef %7756, ptr noundef %7759, i32 noundef %7761) #10
  br label %7763

7763:                                             ; preds = %7746, %7729
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #10
  br label %7764

7764:                                             ; preds = %7763
  br label %7765

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

7766:                                             ; No predecessors!
  br label %7767

7767:                                             ; preds = %7766
  br label %7768

7768:                                             ; preds = %7767, %7710
  br label %7769

7769:                                             ; preds = %7768
  br label %7770

7770:                                             ; preds = %7769
  br label %7771

7771:                                             ; preds = %7770
  %7772 = load i32, ptr @test_count, align 4, !tbaa !5
  %7773 = add nsw i32 %7772, 1
  store i32 %7773, ptr @test_count, align 4, !tbaa !5
  %7774 = load ptr, ptr %7, align 8, !tbaa !9
  %7775 = call i32 @s2n_extension_send(ptr noundef @test_extension, ptr noundef %7774, ptr noundef %149)
  %7776 = icmp eq i32 %7775, -1
  br i1 %7776, label %7777, label %7830

7777:                                             ; preds = %7771
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

7779:                                             ; preds = %7778
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #10
  %7780 = call ptr @__errno_location() #11
  %7781 = load i32, ptr %7780, align 4, !tbaa !5
  store i32 %7781, ptr %153, align 4, !tbaa !5
  %7782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7783 = call i32 @s2n_print_stacktrace(ptr noundef %7782)
  %7784 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7785 = trunc i8 %7784 to i1
  br i1 %7785, label %7786, label %7808

7786:                                             ; preds = %7779
  %7787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7788 = call i32 @fileno(ptr noundef %7787) #10
  %7789 = call i32 @isatty(i32 noundef %7788) #10
  %7790 = icmp ne i32 %7789, 0
  br i1 %7790, label %7791, label %7808

7791:                                             ; preds = %7786
  %7792 = load i32, ptr %153, align 4, !tbaa !5
  %7793 = call ptr @__errno_location() #11
  store i32 %7792, ptr %7793, align 4, !tbaa !5
  %7794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7795 = load i32, ptr @test_count, align 4, !tbaa !5
  %7796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call ptr @s2n_strerror(i32 noundef %7797, ptr noundef @.str.4)
  %7799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7800 = load i32, ptr %7799, align 4, !tbaa !5
  %7801 = call ptr @s2n_strerror_debug(i32 noundef %7800, ptr noundef @.str.4)
  %7802 = call ptr @__errno_location() #11
  %7803 = load i32, ptr %7802, align 4, !tbaa !5
  %7804 = call ptr @strerror(i32 noundef %7803) #10
  %7805 = call ptr @__errno_location() #11
  %7806 = load i32, ptr %7805, align 4, !tbaa !5
  %7807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7794, ptr noundef @.str.2, i32 noundef %7795, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7798, ptr noundef %7801, ptr noundef %7804, i32 noundef %7806) #10
  br label %7825

7808:                                             ; preds = %7786, %7779
  %7809 = load i32, ptr %153, align 4, !tbaa !5
  %7810 = call ptr @__errno_location() #11
  store i32 %7809, ptr %7810, align 4, !tbaa !5
  %7811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7812 = load i32, ptr @test_count, align 4, !tbaa !5
  %7813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7814 = load i32, ptr %7813, align 4, !tbaa !5
  %7815 = call ptr @s2n_strerror(i32 noundef %7814, ptr noundef @.str.4)
  %7816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7817 = load i32, ptr %7816, align 4, !tbaa !5
  %7818 = call ptr @s2n_strerror_debug(i32 noundef %7817, ptr noundef @.str.4)
  %7819 = call ptr @__errno_location() #11
  %7820 = load i32, ptr %7819, align 4, !tbaa !5
  %7821 = call ptr @strerror(i32 noundef %7820) #10
  %7822 = call ptr @__errno_location() #11
  %7823 = load i32, ptr %7822, align 4, !tbaa !5
  %7824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7811, ptr noundef @.str.5, i32 noundef %7812, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7815, ptr noundef %7818, ptr noundef %7821, i32 noundef %7823) #10
  br label %7825

7825:                                             ; preds = %7808, %7791
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #10
  br label %7826

7826:                                             ; preds = %7825
  br label %7827

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

7828:                                             ; No predecessors!
  br label %7829

7829:                                             ; preds = %7828
  br label %7830

7830:                                             ; preds = %7829, %7771
  br label %7831

7831:                                             ; preds = %7830
  br label %7832

7832:                                             ; preds = %7831
  br label %7833

7833:                                             ; preds = %7832
  %7834 = load i32, ptr @test_count, align 4, !tbaa !5
  %7835 = add nsw i32 %7834, 1
  store i32 %7835, ptr @test_count, align 4, !tbaa !5
  %7836 = load ptr, ptr %7, align 8, !tbaa !9
  %7837 = call i32 @s2n_extension_send(ptr noundef @test_extension, ptr noundef %7836, ptr noundef %149)
  %7838 = icmp eq i32 %7837, -1
  br i1 %7838, label %7839, label %7892

7839:                                             ; preds = %7833
  br label %7840

7840:                                             ; preds = %7839
  br label %7841

7841:                                             ; preds = %7840
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #10
  %7842 = call ptr @__errno_location() #11
  %7843 = load i32, ptr %7842, align 4, !tbaa !5
  store i32 %7843, ptr %154, align 4, !tbaa !5
  %7844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7845 = call i32 @s2n_print_stacktrace(ptr noundef %7844)
  %7846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7847 = trunc i8 %7846 to i1
  br i1 %7847, label %7848, label %7870

7848:                                             ; preds = %7841
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @fileno(ptr noundef %7849) #10
  %7851 = call i32 @isatty(i32 noundef %7850) #10
  %7852 = icmp ne i32 %7851, 0
  br i1 %7852, label %7853, label %7870

7853:                                             ; preds = %7848
  %7854 = load i32, ptr %154, align 4, !tbaa !5
  %7855 = call ptr @__errno_location() #11
  store i32 %7854, ptr %7855, align 4, !tbaa !5
  %7856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7857 = load i32, ptr @test_count, align 4, !tbaa !5
  %7858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7859 = load i32, ptr %7858, align 4, !tbaa !5
  %7860 = call ptr @s2n_strerror(i32 noundef %7859, ptr noundef @.str.4)
  %7861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7862 = load i32, ptr %7861, align 4, !tbaa !5
  %7863 = call ptr @s2n_strerror_debug(i32 noundef %7862, ptr noundef @.str.4)
  %7864 = call ptr @__errno_location() #11
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #10
  %7867 = call ptr @__errno_location() #11
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7856, ptr noundef @.str.2, i32 noundef %7857, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 307, ptr noundef %7860, ptr noundef %7863, ptr noundef %7866, i32 noundef %7868) #10
  br label %7887

7870:                                             ; preds = %7848, %7841
  %7871 = load i32, ptr %154, align 4, !tbaa !5
  %7872 = call ptr @__errno_location() #11
  store i32 %7871, ptr %7872, align 4, !tbaa !5
  %7873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7874 = load i32, ptr @test_count, align 4, !tbaa !5
  %7875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7876 = load i32, ptr %7875, align 4, !tbaa !5
  %7877 = call ptr @s2n_strerror(i32 noundef %7876, ptr noundef @.str.4)
  %7878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7879 = load i32, ptr %7878, align 4, !tbaa !5
  %7880 = call ptr @s2n_strerror_debug(i32 noundef %7879, ptr noundef @.str.4)
  %7881 = call ptr @__errno_location() #11
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call ptr @strerror(i32 noundef %7882) #10
  %7884 = call ptr @__errno_location() #11
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7873, ptr noundef @.str.5, i32 noundef %7874, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 307, ptr noundef %7877, ptr noundef %7880, ptr noundef %7883, i32 noundef %7885) #10
  br label %7887

7887:                                             ; preds = %7870, %7853
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #10
  br label %7888

7888:                                             ; preds = %7887
  br label %7889

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

7890:                                             ; No predecessors!
  br label %7891

7891:                                             ; preds = %7890
  br label %7892

7892:                                             ; preds = %7891, %7833
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

7894:                                             ; preds = %7893
  br label %7895

7895:                                             ; preds = %7894
  %7896 = load i32, ptr @test_count, align 4, !tbaa !5
  %7897 = add nsw i32 %7896, 1
  store i32 %7897, ptr @test_count, align 4, !tbaa !5
  %7898 = getelementptr inbounds %struct.s2n_stuffer, ptr %149, i32 0, i32 2
  %7899 = load i32, ptr %7898, align 4, !tbaa !21
  %7900 = getelementptr inbounds %struct.s2n_stuffer, ptr %149, i32 0, i32 1
  %7901 = load i32, ptr %7900, align 8, !tbaa !23
  %7902 = sub i32 %7899, %7901
  %7903 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %151, i32 0, i32 2
  %7904 = load i8, ptr %7903, align 4, !tbaa !30
  %7905 = zext i8 %7904 to i32
  %7906 = icmp ugt i32 %7902, %7905
  br i1 %7906, label %7960, label %7907

7907:                                             ; preds = %7895
  br label %7908

7908:                                             ; preds = %7907
  br label %7909

7909:                                             ; preds = %7908
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #10
  %7910 = call ptr @__errno_location() #11
  %7911 = load i32, ptr %7910, align 4, !tbaa !5
  store i32 %7911, ptr %155, align 4, !tbaa !5
  %7912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7913 = call i32 @s2n_print_stacktrace(ptr noundef %7912)
  %7914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7915 = trunc i8 %7914 to i1
  br i1 %7915, label %7916, label %7938

7916:                                             ; preds = %7909
  %7917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7918 = call i32 @fileno(ptr noundef %7917) #10
  %7919 = call i32 @isatty(i32 noundef %7918) #10
  %7920 = icmp ne i32 %7919, 0
  br i1 %7920, label %7921, label %7938

7921:                                             ; preds = %7916
  %7922 = load i32, ptr %155, align 4, !tbaa !5
  %7923 = call ptr @__errno_location() #11
  store i32 %7922, ptr %7923, align 4, !tbaa !5
  %7924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7925 = load i32, ptr @test_count, align 4, !tbaa !5
  %7926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7927 = load i32, ptr %7926, align 4, !tbaa !5
  %7928 = call ptr @s2n_strerror(i32 noundef %7927, ptr noundef @.str.4)
  %7929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @s2n_strerror_debug(i32 noundef %7930, ptr noundef @.str.4)
  %7932 = call ptr @__errno_location() #11
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @strerror(i32 noundef %7933) #10
  %7935 = call ptr @__errno_location() #11
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7924, ptr noundef @.str.2, i32 noundef %7925, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 309, ptr noundef %7928, ptr noundef %7931, ptr noundef %7934, i32 noundef %7936) #10
  br label %7955

7938:                                             ; preds = %7916, %7909
  %7939 = load i32, ptr %155, align 4, !tbaa !5
  %7940 = call ptr @__errno_location() #11
  store i32 %7939, ptr %7940, align 4, !tbaa !5
  %7941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7942 = load i32, ptr @test_count, align 4, !tbaa !5
  %7943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7944 = load i32, ptr %7943, align 4, !tbaa !5
  %7945 = call ptr @s2n_strerror(i32 noundef %7944, ptr noundef @.str.4)
  %7946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call ptr @s2n_strerror_debug(i32 noundef %7947, ptr noundef @.str.4)
  %7949 = call ptr @__errno_location() #11
  %7950 = load i32, ptr %7949, align 4, !tbaa !5
  %7951 = call ptr @strerror(i32 noundef %7950) #10
  %7952 = call ptr @__errno_location() #11
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7941, ptr noundef @.str.5, i32 noundef %7942, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 309, ptr noundef %7945, ptr noundef %7948, ptr noundef %7951, i32 noundef %7953) #10
  br label %7955

7955:                                             ; preds = %7938, %7921
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #10
  br label %7956

7956:                                             ; preds = %7955
  br label %7957

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

7958:                                             ; No predecessors!
  br label %7959

7959:                                             ; preds = %7958
  br label %7960

7960:                                             ; preds = %7959, %7895
  br label %7961

7961:                                             ; preds = %7960
  br label %7962

7962:                                             ; preds = %7961
  br label %7963

7963:                                             ; preds = %7962
  %7964 = load i32, ptr @test_count, align 4, !tbaa !5
  %7965 = add nsw i32 %7964, 1
  store i32 %7965, ptr @test_count, align 4, !tbaa !5
  %7966 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %151)
  %7967 = icmp eq i32 %7966, -1
  br i1 %7967, label %7968, label %8021

7968:                                             ; preds = %7963
  br label %7969

7969:                                             ; preds = %7968
  br label %7970

7970:                                             ; preds = %7969
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #10
  %7971 = call ptr @__errno_location() #11
  %7972 = load i32, ptr %7971, align 4, !tbaa !5
  store i32 %7972, ptr %156, align 4, !tbaa !5
  %7973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7974 = call i32 @s2n_print_stacktrace(ptr noundef %7973)
  %7975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7976 = trunc i8 %7975 to i1
  br i1 %7976, label %7977, label %7999

7977:                                             ; preds = %7970
  %7978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7979 = call i32 @fileno(ptr noundef %7978) #10
  %7980 = call i32 @isatty(i32 noundef %7979) #10
  %7981 = icmp ne i32 %7980, 0
  br i1 %7981, label %7982, label %7999

7982:                                             ; preds = %7977
  %7983 = load i32, ptr %156, align 4, !tbaa !5
  %7984 = call ptr @__errno_location() #11
  store i32 %7983, ptr %7984, align 4, !tbaa !5
  %7985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7986 = load i32, ptr @test_count, align 4, !tbaa !5
  %7987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7988 = load i32, ptr %7987, align 4, !tbaa !5
  %7989 = call ptr @s2n_strerror(i32 noundef %7988, ptr noundef @.str.4)
  %7990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror_debug(i32 noundef %7991, ptr noundef @.str.4)
  %7993 = call ptr @__errno_location() #11
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @strerror(i32 noundef %7994) #10
  %7996 = call ptr @__errno_location() #11
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7985, ptr noundef @.str.2, i32 noundef %7986, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 310, ptr noundef %7989, ptr noundef %7992, ptr noundef %7995, i32 noundef %7997) #10
  br label %8016

7999:                                             ; preds = %7977, %7970
  %8000 = load i32, ptr %156, align 4, !tbaa !5
  %8001 = call ptr @__errno_location() #11
  store i32 %8000, ptr %8001, align 4, !tbaa !5
  %8002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8003 = load i32, ptr @test_count, align 4, !tbaa !5
  %8004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8005 = load i32, ptr %8004, align 4, !tbaa !5
  %8006 = call ptr @s2n_strerror(i32 noundef %8005, ptr noundef @.str.4)
  %8007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call ptr @s2n_strerror_debug(i32 noundef %8008, ptr noundef @.str.4)
  %8010 = call ptr @__errno_location() #11
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call ptr @strerror(i32 noundef %8011) #10
  %8013 = call ptr @__errno_location() #11
  %8014 = load i32, ptr %8013, align 4, !tbaa !5
  %8015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8002, ptr noundef @.str.5, i32 noundef %8003, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 310, ptr noundef %8006, ptr noundef %8009, ptr noundef %8012, i32 noundef %8014) #10
  br label %8016

8016:                                             ; preds = %7999, %7982
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #10
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

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

8019:                                             ; No predecessors!
  br label %8020

8020:                                             ; preds = %8019
  br label %8021

8021:                                             ; preds = %8020, %7963
  br label %8022

8022:                                             ; preds = %8021
  br label %8023

8023:                                             ; preds = %8022
  br label %8024

8024:                                             ; preds = %8023
  br label %8025

8025:                                             ; preds = %8024
  br label %8026

8026:                                             ; preds = %8025
  %8027 = load i32, ptr @test_count, align 4, !tbaa !5
  %8028 = add nsw i32 %8027, 1
  store i32 %8028, ptr @test_count, align 4, !tbaa !5
  %8029 = call i32 @s2n_extension_list_parse(ptr noundef %149, ptr noundef %148)
  %8030 = icmp eq i32 %8029, -1
  br i1 %8030, label %8084, label %8031

8031:                                             ; preds = %8026
  br label %8032

8032:                                             ; preds = %8031
  br label %8033

8033:                                             ; preds = %8032
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #10
  %8034 = call ptr @__errno_location() #11
  %8035 = load i32, ptr %8034, align 4, !tbaa !5
  store i32 %8035, ptr %157, align 4, !tbaa !5
  %8036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8037 = call i32 @s2n_print_stacktrace(ptr noundef %8036)
  %8038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8039 = trunc i8 %8038 to i1
  br i1 %8039, label %8040, label %8062

8040:                                             ; preds = %8033
  %8041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8042 = call i32 @fileno(ptr noundef %8041) #10
  %8043 = call i32 @isatty(i32 noundef %8042) #10
  %8044 = icmp ne i32 %8043, 0
  br i1 %8044, label %8045, label %8062

8045:                                             ; preds = %8040
  %8046 = load i32, ptr %157, align 4, !tbaa !5
  %8047 = call ptr @__errno_location() #11
  store i32 %8046, ptr %8047, align 4, !tbaa !5
  %8048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8049 = load i32, ptr @test_count, align 4, !tbaa !5
  %8050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8051 = load i32, ptr %8050, align 4, !tbaa !5
  %8052 = call ptr @s2n_strerror(i32 noundef %8051, ptr noundef @.str.4)
  %8053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8054 = load i32, ptr %8053, align 4, !tbaa !5
  %8055 = call ptr @s2n_strerror_debug(i32 noundef %8054, ptr noundef @.str.4)
  %8056 = call ptr @__errno_location() #11
  %8057 = load i32, ptr %8056, align 4, !tbaa !5
  %8058 = call ptr @strerror(i32 noundef %8057) #10
  %8059 = call ptr @__errno_location() #11
  %8060 = load i32, ptr %8059, align 4, !tbaa !5
  %8061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8048, ptr noundef @.str.2, i32 noundef %8049, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8052, ptr noundef %8055, ptr noundef %8058, i32 noundef %8060) #10
  br label %8079

8062:                                             ; preds = %8040, %8033
  %8063 = load i32, ptr %157, align 4, !tbaa !5
  %8064 = call ptr @__errno_location() #11
  store i32 %8063, ptr %8064, align 4, !tbaa !5
  %8065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8066 = load i32, ptr @test_count, align 4, !tbaa !5
  %8067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8068 = load i32, ptr %8067, align 4, !tbaa !5
  %8069 = call ptr @s2n_strerror(i32 noundef %8068, ptr noundef @.str.4)
  %8070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8071 = load i32, ptr %8070, align 4, !tbaa !5
  %8072 = call ptr @s2n_strerror_debug(i32 noundef %8071, ptr noundef @.str.4)
  %8073 = call ptr @__errno_location() #11
  %8074 = load i32, ptr %8073, align 4, !tbaa !5
  %8075 = call ptr @strerror(i32 noundef %8074) #10
  %8076 = call ptr @__errno_location() #11
  %8077 = load i32, ptr %8076, align 4, !tbaa !5
  %8078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8065, ptr noundef @.str.5, i32 noundef %8066, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8069, ptr noundef %8072, ptr noundef %8075, i32 noundef %8077) #10
  br label %8079

8079:                                             ; preds = %8062, %8045
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #10
  br label %8080

8080:                                             ; preds = %8079
  br label %8081

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

8082:                                             ; No predecessors!
  br label %8083

8083:                                             ; preds = %8082
  br label %8084

8084:                                             ; preds = %8083, %8026
  br label %8085

8085:                                             ; preds = %8084
  br label %8086

8086:                                             ; preds = %8085
  br label %8087

8087:                                             ; preds = %8086
  %8088 = load i32, ptr @test_count, align 4, !tbaa !5
  %8089 = add nsw i32 %8088, 1
  store i32 %8089, ptr @test_count, align 4, !tbaa !5
  %8090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8091 = load i32, ptr %8090, align 4, !tbaa !5
  %8092 = icmp eq i32 %8091, 335544395
  br i1 %8092, label %8146, label %8093

8093:                                             ; preds = %8087
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #10
  %8096 = call ptr @__errno_location() #11
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  store i32 %8097, ptr %158, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @s2n_print_stacktrace(ptr noundef %8098)
  %8100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8101 = trunc i8 %8100 to i1
  br i1 %8101, label %8102, label %8124

8102:                                             ; preds = %8095
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @fileno(ptr noundef %8103) #10
  %8105 = call i32 @isatty(i32 noundef %8104) #10
  %8106 = icmp ne i32 %8105, 0
  br i1 %8106, label %8107, label %8124

8107:                                             ; preds = %8102
  %8108 = load i32, ptr %158, align 4, !tbaa !5
  %8109 = call ptr @__errno_location() #11
  store i32 %8108, ptr %8109, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror(i32 noundef %8113, ptr noundef @.str.4)
  %8115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror_debug(i32 noundef %8116, ptr noundef @.str.4)
  %8118 = call ptr @__errno_location() #11
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call ptr @strerror(i32 noundef %8119) #10
  %8121 = call ptr @__errno_location() #11
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8110, ptr noundef @.str.2, i32 noundef %8111, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8114, ptr noundef %8117, ptr noundef %8120, i32 noundef %8122) #10
  br label %8141

8124:                                             ; preds = %8102, %8095
  %8125 = load i32, ptr %158, align 4, !tbaa !5
  %8126 = call ptr @__errno_location() #11
  store i32 %8125, ptr %8126, align 4, !tbaa !5
  %8127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror(i32 noundef %8130, ptr noundef @.str.4)
  %8132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror_debug(i32 noundef %8133, ptr noundef @.str.4)
  %8135 = call ptr @__errno_location() #11
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @strerror(i32 noundef %8136) #10
  %8138 = call ptr @__errno_location() #11
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8127, ptr noundef @.str.5, i32 noundef %8128, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8131, ptr noundef %8134, ptr noundef %8137, i32 noundef %8139) #10
  br label %8141

8141:                                             ; preds = %8124, %8107
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #10
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

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

8144:                                             ; No predecessors!
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145, %8087
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147
  br label %8149

8149:                                             ; preds = %8148
  %8150 = load i32, ptr @test_count, align 4, !tbaa !5
  %8151 = add nsw i32 %8150, 1
  store i32 %8151, ptr @test_count, align 4, !tbaa !5
  %8152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8153 = load i32, ptr %8152, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror_debug(i32 noundef %8153, ptr noundef @.str.4)
  %8155 = icmp eq ptr %8154, null
  br i1 %8155, label %8156, label %8209

8156:                                             ; preds = %8149
  br label %8157

8157:                                             ; preds = %8156
  br label %8158

8158:                                             ; preds = %8157
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #10
  %8159 = call ptr @__errno_location() #11
  %8160 = load i32, ptr %8159, align 4, !tbaa !5
  store i32 %8160, ptr %159, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = call i32 @s2n_print_stacktrace(ptr noundef %8161)
  %8163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8164 = trunc i8 %8163 to i1
  br i1 %8164, label %8165, label %8187

8165:                                             ; preds = %8158
  %8166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8167 = call i32 @fileno(ptr noundef %8166) #10
  %8168 = call i32 @isatty(i32 noundef %8167) #10
  %8169 = icmp ne i32 %8168, 0
  br i1 %8169, label %8170, label %8187

8170:                                             ; preds = %8165
  %8171 = load i32, ptr %159, align 4, !tbaa !5
  %8172 = call ptr @__errno_location() #11
  store i32 %8171, ptr %8172, align 4, !tbaa !5
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = load i32, ptr @test_count, align 4, !tbaa !5
  %8175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8176 = load i32, ptr %8175, align 4, !tbaa !5
  %8177 = call ptr @s2n_strerror(i32 noundef %8176, ptr noundef @.str.4)
  %8178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8179 = load i32, ptr %8178, align 4, !tbaa !5
  %8180 = call ptr @s2n_strerror_debug(i32 noundef %8179, ptr noundef @.str.4)
  %8181 = call ptr @__errno_location() #11
  %8182 = load i32, ptr %8181, align 4, !tbaa !5
  %8183 = call ptr @strerror(i32 noundef %8182) #10
  %8184 = call ptr @__errno_location() #11
  %8185 = load i32, ptr %8184, align 4, !tbaa !5
  %8186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8173, ptr noundef @.str.2, i32 noundef %8174, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8177, ptr noundef %8180, ptr noundef %8183, i32 noundef %8185) #10
  br label %8204

8187:                                             ; preds = %8165, %8158
  %8188 = load i32, ptr %159, align 4, !tbaa !5
  %8189 = call ptr @__errno_location() #11
  store i32 %8188, ptr %8189, align 4, !tbaa !5
  %8190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8191 = load i32, ptr @test_count, align 4, !tbaa !5
  %8192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8193 = load i32, ptr %8192, align 4, !tbaa !5
  %8194 = call ptr @s2n_strerror(i32 noundef %8193, ptr noundef @.str.4)
  %8195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8196 = load i32, ptr %8195, align 4, !tbaa !5
  %8197 = call ptr @s2n_strerror_debug(i32 noundef %8196, ptr noundef @.str.4)
  %8198 = call ptr @__errno_location() #11
  %8199 = load i32, ptr %8198, align 4, !tbaa !5
  %8200 = call ptr @strerror(i32 noundef %8199) #10
  %8201 = call ptr @__errno_location() #11
  %8202 = load i32, ptr %8201, align 4, !tbaa !5
  %8203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8190, ptr noundef @.str.5, i32 noundef %8191, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 313, ptr noundef %8194, ptr noundef %8197, ptr noundef %8200, i32 noundef %8202) #10
  br label %8204

8204:                                             ; preds = %8187, %8170
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #10
  br label %8205

8205:                                             ; preds = %8204
  br label %8206

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

8207:                                             ; No predecessors!
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

8209:                                             ; preds = %8208, %8149
  br label %8210

8210:                                             ; preds = %8209
  br label %8211

8211:                                             ; preds = %8210
  br label %8212

8212:                                             ; preds = %8211
  br label %8213

8213:                                             ; preds = %8212
  br label %8214

8214:                                             ; preds = %8213
  %8215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8215, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8216 = call ptr @__errno_location() #11
  store i32 0, ptr %8216, align 4, !tbaa !5
  br label %8217

8217:                                             ; preds = %8214
  br label %8218

8218:                                             ; preds = %8217
  br label %8219

8219:                                             ; preds = %8218
  br label %8220

8220:                                             ; preds = %8219
  br label %8221

8221:                                             ; preds = %8220
  %8222 = load i32, ptr @test_count, align 4, !tbaa !5
  %8223 = add nsw i32 %8222, 1
  store i32 %8223, ptr @test_count, align 4, !tbaa !5
  %8224 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %148, i32 0, i32 1
  %8225 = getelementptr inbounds %struct.s2n_blob, ptr %8224, i32 0, i32 0
  %8226 = load ptr, ptr %8225, align 8, !tbaa !24
  %8227 = getelementptr inbounds %struct.s2n_stuffer, ptr %149, i32 0, i32 0
  %8228 = getelementptr inbounds %struct.s2n_blob, ptr %8227, i32 0, i32 0
  %8229 = load ptr, ptr %8228, align 8, !tbaa !26
  %8230 = getelementptr inbounds i8, ptr %8229, i64 2
  %8231 = icmp eq ptr %8226, %8230
  br i1 %8231, label %8285, label %8232

8232:                                             ; preds = %8221
  br label %8233

8233:                                             ; preds = %8232
  br label %8234

8234:                                             ; preds = %8233
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #10
  %8235 = call ptr @__errno_location() #11
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  store i32 %8236, ptr %160, align 4, !tbaa !5
  %8237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8238 = call i32 @s2n_print_stacktrace(ptr noundef %8237)
  %8239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8240 = trunc i8 %8239 to i1
  br i1 %8240, label %8241, label %8263

8241:                                             ; preds = %8234
  %8242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8243 = call i32 @fileno(ptr noundef %8242) #10
  %8244 = call i32 @isatty(i32 noundef %8243) #10
  %8245 = icmp ne i32 %8244, 0
  br i1 %8245, label %8246, label %8263

8246:                                             ; preds = %8241
  %8247 = load i32, ptr %160, align 4, !tbaa !5
  %8248 = call ptr @__errno_location() #11
  store i32 %8247, ptr %8248, align 4, !tbaa !5
  %8249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8250 = load i32, ptr @test_count, align 4, !tbaa !5
  %8251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8252 = load i32, ptr %8251, align 4, !tbaa !5
  %8253 = call ptr @s2n_strerror(i32 noundef %8252, ptr noundef @.str.4)
  %8254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8255 = load i32, ptr %8254, align 4, !tbaa !5
  %8256 = call ptr @s2n_strerror_debug(i32 noundef %8255, ptr noundef @.str.4)
  %8257 = call ptr @__errno_location() #11
  %8258 = load i32, ptr %8257, align 4, !tbaa !5
  %8259 = call ptr @strerror(i32 noundef %8258) #10
  %8260 = call ptr @__errno_location() #11
  %8261 = load i32, ptr %8260, align 4, !tbaa !5
  %8262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8249, ptr noundef @.str.2, i32 noundef %8250, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8253, ptr noundef %8256, ptr noundef %8259, i32 noundef %8261) #10
  br label %8280

8263:                                             ; preds = %8241, %8234
  %8264 = load i32, ptr %160, align 4, !tbaa !5
  %8265 = call ptr @__errno_location() #11
  store i32 %8264, ptr %8265, align 4, !tbaa !5
  %8266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8267 = load i32, ptr @test_count, align 4, !tbaa !5
  %8268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8269 = load i32, ptr %8268, align 4, !tbaa !5
  %8270 = call ptr @s2n_strerror(i32 noundef %8269, ptr noundef @.str.4)
  %8271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8272 = load i32, ptr %8271, align 4, !tbaa !5
  %8273 = call ptr @s2n_strerror_debug(i32 noundef %8272, ptr noundef @.str.4)
  %8274 = call ptr @__errno_location() #11
  %8275 = load i32, ptr %8274, align 4, !tbaa !5
  %8276 = call ptr @strerror(i32 noundef %8275) #10
  %8277 = call ptr @__errno_location() #11
  %8278 = load i32, ptr %8277, align 4, !tbaa !5
  %8279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8266, ptr noundef @.str.5, i32 noundef %8267, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8270, ptr noundef %8273, ptr noundef %8276, i32 noundef %8278) #10
  br label %8280

8280:                                             ; preds = %8263, %8246
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #10
  br label %8281

8281:                                             ; preds = %8280
  br label %8282

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

8283:                                             ; No predecessors!
  br label %8284

8284:                                             ; preds = %8283
  br label %8285

8285:                                             ; preds = %8284, %8221
  br label %8286

8286:                                             ; preds = %8285
  br label %8287

8287:                                             ; preds = %8286
  br label %8288

8288:                                             ; preds = %8287
  %8289 = load i32, ptr @test_count, align 4, !tbaa !5
  %8290 = add nsw i32 %8289, 1
  store i32 %8290, ptr @test_count, align 4, !tbaa !5
  %8291 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %148, i32 0, i32 1
  %8292 = getelementptr inbounds %struct.s2n_blob, ptr %8291, i32 0, i32 1
  %8293 = load i32, ptr %8292, align 8, !tbaa !27
  %8294 = zext i32 %8293 to i64
  %8295 = getelementptr inbounds %struct.s2n_stuffer, ptr %149, i32 0, i32 3
  %8296 = load i32, ptr %8295, align 8, !tbaa !29
  %8297 = zext i32 %8296 to i64
  %8298 = sub i64 %8297, 2
  %8299 = icmp eq i64 %8294, %8298
  br i1 %8299, label %8353, label %8300

8300:                                             ; preds = %8288
  br label %8301

8301:                                             ; preds = %8300
  br label %8302

8302:                                             ; preds = %8301
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #10
  %8303 = call ptr @__errno_location() #11
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  store i32 %8304, ptr %161, align 4, !tbaa !5
  %8305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8306 = call i32 @s2n_print_stacktrace(ptr noundef %8305)
  %8307 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8308 = trunc i8 %8307 to i1
  br i1 %8308, label %8309, label %8331

8309:                                             ; preds = %8302
  %8310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8311 = call i32 @fileno(ptr noundef %8310) #10
  %8312 = call i32 @isatty(i32 noundef %8311) #10
  %8313 = icmp ne i32 %8312, 0
  br i1 %8313, label %8314, label %8331

8314:                                             ; preds = %8309
  %8315 = load i32, ptr %161, align 4, !tbaa !5
  %8316 = call ptr @__errno_location() #11
  store i32 %8315, ptr %8316, align 4, !tbaa !5
  %8317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8318 = load i32, ptr @test_count, align 4, !tbaa !5
  %8319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8320 = load i32, ptr %8319, align 4, !tbaa !5
  %8321 = call ptr @s2n_strerror(i32 noundef %8320, ptr noundef @.str.4)
  %8322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8323 = load i32, ptr %8322, align 4, !tbaa !5
  %8324 = call ptr @s2n_strerror_debug(i32 noundef %8323, ptr noundef @.str.4)
  %8325 = call ptr @__errno_location() #11
  %8326 = load i32, ptr %8325, align 4, !tbaa !5
  %8327 = call ptr @strerror(i32 noundef %8326) #10
  %8328 = call ptr @__errno_location() #11
  %8329 = load i32, ptr %8328, align 4, !tbaa !5
  %8330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8317, ptr noundef @.str.2, i32 noundef %8318, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8321, ptr noundef %8324, ptr noundef %8327, i32 noundef %8329) #10
  br label %8348

8331:                                             ; preds = %8309, %8302
  %8332 = load i32, ptr %161, align 4, !tbaa !5
  %8333 = call ptr @__errno_location() #11
  store i32 %8332, ptr %8333, align 4, !tbaa !5
  %8334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8335 = load i32, ptr @test_count, align 4, !tbaa !5
  %8336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8337 = load i32, ptr %8336, align 4, !tbaa !5
  %8338 = call ptr @s2n_strerror(i32 noundef %8337, ptr noundef @.str.4)
  %8339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8340 = load i32, ptr %8339, align 4, !tbaa !5
  %8341 = call ptr @s2n_strerror_debug(i32 noundef %8340, ptr noundef @.str.4)
  %8342 = call ptr @__errno_location() #11
  %8343 = load i32, ptr %8342, align 4, !tbaa !5
  %8344 = call ptr @strerror(i32 noundef %8343) #10
  %8345 = call ptr @__errno_location() #11
  %8346 = load i32, ptr %8345, align 4, !tbaa !5
  %8347 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8334, ptr noundef @.str.5, i32 noundef %8335, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8338, ptr noundef %8341, ptr noundef %8344, i32 noundef %8346) #10
  br label %8348

8348:                                             ; preds = %8331, %8314
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #10
  br label %8349

8349:                                             ; preds = %8348
  br label %8350

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

8351:                                             ; No predecessors!
  br label %8352

8352:                                             ; preds = %8351
  br label %8353

8353:                                             ; preds = %8352, %8288
  br label %8354

8354:                                             ; preds = %8353
  br label %8355

8355:                                             ; preds = %8354
  br label %8356

8356:                                             ; preds = %8355
  %8357 = load i32, ptr @test_count, align 4, !tbaa !5
  %8358 = add nsw i32 %8357, 1
  store i32 %8358, ptr @test_count, align 4, !tbaa !5
  %8359 = call i32 @s2n_stuffer_free(ptr noundef %149)
  %8360 = icmp eq i32 %8359, -1
  br i1 %8360, label %8361, label %8414

8361:                                             ; preds = %8356
  br label %8362

8362:                                             ; preds = %8361
  br label %8363

8363:                                             ; preds = %8362
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #10
  %8364 = call ptr @__errno_location() #11
  %8365 = load i32, ptr %8364, align 4, !tbaa !5
  store i32 %8365, ptr %162, align 4, !tbaa !5
  %8366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8367 = call i32 @s2n_print_stacktrace(ptr noundef %8366)
  %8368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8369 = trunc i8 %8368 to i1
  br i1 %8369, label %8370, label %8392

8370:                                             ; preds = %8363
  %8371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8372 = call i32 @fileno(ptr noundef %8371) #10
  %8373 = call i32 @isatty(i32 noundef %8372) #10
  %8374 = icmp ne i32 %8373, 0
  br i1 %8374, label %8375, label %8392

8375:                                             ; preds = %8370
  %8376 = load i32, ptr %162, align 4, !tbaa !5
  %8377 = call ptr @__errno_location() #11
  store i32 %8376, ptr %8377, align 4, !tbaa !5
  %8378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8379 = load i32, ptr @test_count, align 4, !tbaa !5
  %8380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8381 = load i32, ptr %8380, align 4, !tbaa !5
  %8382 = call ptr @s2n_strerror(i32 noundef %8381, ptr noundef @.str.4)
  %8383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8384 = load i32, ptr %8383, align 4, !tbaa !5
  %8385 = call ptr @s2n_strerror_debug(i32 noundef %8384, ptr noundef @.str.4)
  %8386 = call ptr @__errno_location() #11
  %8387 = load i32, ptr %8386, align 4, !tbaa !5
  %8388 = call ptr @strerror(i32 noundef %8387) #10
  %8389 = call ptr @__errno_location() #11
  %8390 = load i32, ptr %8389, align 4, !tbaa !5
  %8391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8378, ptr noundef @.str.2, i32 noundef %8379, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8382, ptr noundef %8385, ptr noundef %8388, i32 noundef %8390) #10
  br label %8409

8392:                                             ; preds = %8370, %8363
  %8393 = load i32, ptr %162, align 4, !tbaa !5
  %8394 = call ptr @__errno_location() #11
  store i32 %8393, ptr %8394, align 4, !tbaa !5
  %8395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8396 = load i32, ptr @test_count, align 4, !tbaa !5
  %8397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8398 = load i32, ptr %8397, align 4, !tbaa !5
  %8399 = call ptr @s2n_strerror(i32 noundef %8398, ptr noundef @.str.4)
  %8400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8401 = load i32, ptr %8400, align 4, !tbaa !5
  %8402 = call ptr @s2n_strerror_debug(i32 noundef %8401, ptr noundef @.str.4)
  %8403 = call ptr @__errno_location() #11
  %8404 = load i32, ptr %8403, align 4, !tbaa !5
  %8405 = call ptr @strerror(i32 noundef %8404) #10
  %8406 = call ptr @__errno_location() #11
  %8407 = load i32, ptr %8406, align 4, !tbaa !5
  %8408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8395, ptr noundef @.str.5, i32 noundef %8396, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8399, ptr noundef %8402, ptr noundef %8405, i32 noundef %8407) #10
  br label %8409

8409:                                             ; preds = %8392, %8375
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #10
  br label %8410

8410:                                             ; preds = %8409
  br label %8411

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

8412:                                             ; No predecessors!
  br label %8413

8413:                                             ; preds = %8412
  br label %8414

8414:                                             ; preds = %8413, %8356
  br label %8415

8415:                                             ; preds = %8414
  br label %8416

8416:                                             ; preds = %8415
  call void @llvm.lifetime.end.p0(i64 16, ptr %151) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %149) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %148) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %163) #10
  call void @llvm.memset.p0.i64(ptr align 8 %163, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %164) #10
  call void @llvm.memset.p0.i64(ptr align 8 %164, i8 0, i64 40, i1 false)
  br label %8417

8417:                                             ; preds = %8416
  %8418 = load i32, ptr @test_count, align 4, !tbaa !5
  %8419 = add nsw i32 %8418, 1
  store i32 %8419, ptr @test_count, align 4, !tbaa !5
  %8420 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %164, i32 noundef 0)
  %8421 = icmp eq i32 %8420, -1
  br i1 %8421, label %8422, label %8475

8422:                                             ; preds = %8417
  br label %8423

8423:                                             ; preds = %8422
  br label %8424

8424:                                             ; preds = %8423
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #10
  %8425 = call ptr @__errno_location() #11
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  store i32 %8426, ptr %165, align 4, !tbaa !5
  %8427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8428 = call i32 @s2n_print_stacktrace(ptr noundef %8427)
  %8429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8430 = trunc i8 %8429 to i1
  br i1 %8430, label %8431, label %8453

8431:                                             ; preds = %8424
  %8432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8433 = call i32 @fileno(ptr noundef %8432) #10
  %8434 = call i32 @isatty(i32 noundef %8433) #10
  %8435 = icmp ne i32 %8434, 0
  br i1 %8435, label %8436, label %8453

8436:                                             ; preds = %8431
  %8437 = load i32, ptr %165, align 4, !tbaa !5
  %8438 = call ptr @__errno_location() #11
  store i32 %8437, ptr %8438, align 4, !tbaa !5
  %8439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8440 = load i32, ptr @test_count, align 4, !tbaa !5
  %8441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8442 = load i32, ptr %8441, align 4, !tbaa !5
  %8443 = call ptr @s2n_strerror(i32 noundef %8442, ptr noundef @.str.4)
  %8444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8445 = load i32, ptr %8444, align 4, !tbaa !5
  %8446 = call ptr @s2n_strerror_debug(i32 noundef %8445, ptr noundef @.str.4)
  %8447 = call ptr @__errno_location() #11
  %8448 = load i32, ptr %8447, align 4, !tbaa !5
  %8449 = call ptr @strerror(i32 noundef %8448) #10
  %8450 = call ptr @__errno_location() #11
  %8451 = load i32, ptr %8450, align 4, !tbaa !5
  %8452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8439, ptr noundef @.str.2, i32 noundef %8440, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 323, ptr noundef %8443, ptr noundef %8446, ptr noundef %8449, i32 noundef %8451) #10
  br label %8470

8453:                                             ; preds = %8431, %8424
  %8454 = load i32, ptr %165, align 4, !tbaa !5
  %8455 = call ptr @__errno_location() #11
  store i32 %8454, ptr %8455, align 4, !tbaa !5
  %8456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8457 = load i32, ptr @test_count, align 4, !tbaa !5
  %8458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8459 = load i32, ptr %8458, align 4, !tbaa !5
  %8460 = call ptr @s2n_strerror(i32 noundef %8459, ptr noundef @.str.4)
  %8461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8462 = load i32, ptr %8461, align 4, !tbaa !5
  %8463 = call ptr @s2n_strerror_debug(i32 noundef %8462, ptr noundef @.str.4)
  %8464 = call ptr @__errno_location() #11
  %8465 = load i32, ptr %8464, align 4, !tbaa !5
  %8466 = call ptr @strerror(i32 noundef %8465) #10
  %8467 = call ptr @__errno_location() #11
  %8468 = load i32, ptr %8467, align 4, !tbaa !5
  %8469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8456, ptr noundef @.str.5, i32 noundef %8457, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 323, ptr noundef %8460, ptr noundef %8463, ptr noundef %8466, i32 noundef %8468) #10
  br label %8470

8470:                                             ; preds = %8453, %8436
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #10
  br label %8471

8471:                                             ; preds = %8470
  br label %8472

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

8473:                                             ; No predecessors!
  br label %8474

8474:                                             ; preds = %8473
  br label %8475

8475:                                             ; preds = %8474, %8417
  br label %8476

8476:                                             ; preds = %8475
  br label %8477

8477:                                             ; preds = %8476
  call void @llvm.lifetime.start.p0(i64 16, ptr %166) #10
  call void @llvm.memset.p0.i64(ptr align 8 %166, i8 0, i64 16, i1 false)
  br label %8478

8478:                                             ; preds = %8477
  %8479 = load i32, ptr @test_count, align 4, !tbaa !5
  %8480 = add nsw i32 %8479, 1
  store i32 %8480, ptr @test_count, align 4, !tbaa !5
  %8481 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %164, ptr noundef %166)
  %8482 = icmp eq i32 %8481, -1
  br i1 %8482, label %8483, label %8536

8483:                                             ; preds = %8478
  br label %8484

8484:                                             ; preds = %8483
  br label %8485

8485:                                             ; preds = %8484
  call void @llvm.lifetime.start.p0(i64 4, ptr %167) #10
  %8486 = call ptr @__errno_location() #11
  %8487 = load i32, ptr %8486, align 4, !tbaa !5
  store i32 %8487, ptr %167, align 4, !tbaa !5
  %8488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8489 = call i32 @s2n_print_stacktrace(ptr noundef %8488)
  %8490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8491 = trunc i8 %8490 to i1
  br i1 %8491, label %8492, label %8514

8492:                                             ; preds = %8485
  %8493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8494 = call i32 @fileno(ptr noundef %8493) #10
  %8495 = call i32 @isatty(i32 noundef %8494) #10
  %8496 = icmp ne i32 %8495, 0
  br i1 %8496, label %8497, label %8514

8497:                                             ; preds = %8492
  %8498 = load i32, ptr %167, align 4, !tbaa !5
  %8499 = call ptr @__errno_location() #11
  store i32 %8498, ptr %8499, align 4, !tbaa !5
  %8500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8501 = load i32, ptr @test_count, align 4, !tbaa !5
  %8502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8503 = load i32, ptr %8502, align 4, !tbaa !5
  %8504 = call ptr @s2n_strerror(i32 noundef %8503, ptr noundef @.str.4)
  %8505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8506 = load i32, ptr %8505, align 4, !tbaa !5
  %8507 = call ptr @s2n_strerror_debug(i32 noundef %8506, ptr noundef @.str.4)
  %8508 = call ptr @__errno_location() #11
  %8509 = load i32, ptr %8508, align 4, !tbaa !5
  %8510 = call ptr @strerror(i32 noundef %8509) #10
  %8511 = call ptr @__errno_location() #11
  %8512 = load i32, ptr %8511, align 4, !tbaa !5
  %8513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8500, ptr noundef @.str.2, i32 noundef %8501, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8504, ptr noundef %8507, ptr noundef %8510, i32 noundef %8512) #10
  br label %8531

8514:                                             ; preds = %8492, %8485
  %8515 = load i32, ptr %167, align 4, !tbaa !5
  %8516 = call ptr @__errno_location() #11
  store i32 %8515, ptr %8516, align 4, !tbaa !5
  %8517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8518 = load i32, ptr @test_count, align 4, !tbaa !5
  %8519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8520 = load i32, ptr %8519, align 4, !tbaa !5
  %8521 = call ptr @s2n_strerror(i32 noundef %8520, ptr noundef @.str.4)
  %8522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8523 = load i32, ptr %8522, align 4, !tbaa !5
  %8524 = call ptr @s2n_strerror_debug(i32 noundef %8523, ptr noundef @.str.4)
  %8525 = call ptr @__errno_location() #11
  %8526 = load i32, ptr %8525, align 4, !tbaa !5
  %8527 = call ptr @strerror(i32 noundef %8526) #10
  %8528 = call ptr @__errno_location() #11
  %8529 = load i32, ptr %8528, align 4, !tbaa !5
  %8530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8517, ptr noundef @.str.5, i32 noundef %8518, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 327, ptr noundef %8521, ptr noundef %8524, ptr noundef %8527, i32 noundef %8529) #10
  br label %8531

8531:                                             ; preds = %8514, %8497
  call void @llvm.lifetime.end.p0(i64 4, ptr %167) #10
  br label %8532

8532:                                             ; preds = %8531
  br label %8533

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

8534:                                             ; No predecessors!
  br label %8535

8535:                                             ; preds = %8534
  br label %8536

8536:                                             ; preds = %8535, %8478
  br label %8537

8537:                                             ; preds = %8536
  br label %8538

8538:                                             ; preds = %8537
  br label %8539

8539:                                             ; preds = %8538
  %8540 = load i32, ptr @test_count, align 4, !tbaa !5
  %8541 = add nsw i32 %8540, 1
  store i32 %8541, ptr @test_count, align 4, !tbaa !5
  %8542 = load ptr, ptr %7, align 8, !tbaa !9
  %8543 = call i32 @s2n_extension_send(ptr noundef %6, ptr noundef %8542, ptr noundef %164)
  %8544 = icmp eq i32 %8543, -1
  br i1 %8544, label %8545, label %8598

8545:                                             ; preds = %8539
  br label %8546

8546:                                             ; preds = %8545
  br label %8547

8547:                                             ; preds = %8546
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #10
  %8548 = call ptr @__errno_location() #11
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  store i32 %8549, ptr %168, align 4, !tbaa !5
  %8550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8551 = call i32 @s2n_print_stacktrace(ptr noundef %8550)
  %8552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8553 = trunc i8 %8552 to i1
  br i1 %8553, label %8554, label %8576

8554:                                             ; preds = %8547
  %8555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8556 = call i32 @fileno(ptr noundef %8555) #10
  %8557 = call i32 @isatty(i32 noundef %8556) #10
  %8558 = icmp ne i32 %8557, 0
  br i1 %8558, label %8559, label %8576

8559:                                             ; preds = %8554
  %8560 = load i32, ptr %168, align 4, !tbaa !5
  %8561 = call ptr @__errno_location() #11
  store i32 %8560, ptr %8561, align 4, !tbaa !5
  %8562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8563 = load i32, ptr @test_count, align 4, !tbaa !5
  %8564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8565 = load i32, ptr %8564, align 4, !tbaa !5
  %8566 = call ptr @s2n_strerror(i32 noundef %8565, ptr noundef @.str.4)
  %8567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8568 = load i32, ptr %8567, align 4, !tbaa !5
  %8569 = call ptr @s2n_strerror_debug(i32 noundef %8568, ptr noundef @.str.4)
  %8570 = call ptr @__errno_location() #11
  %8571 = load i32, ptr %8570, align 4, !tbaa !5
  %8572 = call ptr @strerror(i32 noundef %8571) #10
  %8573 = call ptr @__errno_location() #11
  %8574 = load i32, ptr %8573, align 4, !tbaa !5
  %8575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8562, ptr noundef @.str.2, i32 noundef %8563, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8566, ptr noundef %8569, ptr noundef %8572, i32 noundef %8574) #10
  br label %8593

8576:                                             ; preds = %8554, %8547
  %8577 = load i32, ptr %168, align 4, !tbaa !5
  %8578 = call ptr @__errno_location() #11
  store i32 %8577, ptr %8578, align 4, !tbaa !5
  %8579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8580 = load i32, ptr @test_count, align 4, !tbaa !5
  %8581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8582 = load i32, ptr %8581, align 4, !tbaa !5
  %8583 = call ptr @s2n_strerror(i32 noundef %8582, ptr noundef @.str.4)
  %8584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8585 = load i32, ptr %8584, align 4, !tbaa !5
  %8586 = call ptr @s2n_strerror_debug(i32 noundef %8585, ptr noundef @.str.4)
  %8587 = call ptr @__errno_location() #11
  %8588 = load i32, ptr %8587, align 4, !tbaa !5
  %8589 = call ptr @strerror(i32 noundef %8588) #10
  %8590 = call ptr @__errno_location() #11
  %8591 = load i32, ptr %8590, align 4, !tbaa !5
  %8592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8579, ptr noundef @.str.5, i32 noundef %8580, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8583, ptr noundef %8586, ptr noundef %8589, i32 noundef %8591) #10
  br label %8593

8593:                                             ; preds = %8576, %8559
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #10
  br label %8594

8594:                                             ; preds = %8593
  br label %8595

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

8596:                                             ; No predecessors!
  br label %8597

8597:                                             ; preds = %8596
  br label %8598

8598:                                             ; preds = %8597, %8539
  br label %8599

8599:                                             ; preds = %8598
  br label %8600

8600:                                             ; preds = %8599
  br label %8601

8601:                                             ; preds = %8600
  %8602 = load i32, ptr @test_count, align 4, !tbaa !5
  %8603 = add nsw i32 %8602, 1
  store i32 %8603, ptr @test_count, align 4, !tbaa !5
  %8604 = load ptr, ptr %7, align 8, !tbaa !9
  %8605 = call i32 @s2n_extension_send(ptr noundef %6, ptr noundef %8604, ptr noundef %164)
  %8606 = icmp eq i32 %8605, -1
  br i1 %8606, label %8607, label %8660

8607:                                             ; preds = %8601
  br label %8608

8608:                                             ; preds = %8607
  br label %8609

8609:                                             ; preds = %8608
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #10
  %8610 = call ptr @__errno_location() #11
  %8611 = load i32, ptr %8610, align 4, !tbaa !5
  store i32 %8611, ptr %169, align 4, !tbaa !5
  %8612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8613 = call i32 @s2n_print_stacktrace(ptr noundef %8612)
  %8614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8615 = trunc i8 %8614 to i1
  br i1 %8615, label %8616, label %8638

8616:                                             ; preds = %8609
  %8617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8618 = call i32 @fileno(ptr noundef %8617) #10
  %8619 = call i32 @isatty(i32 noundef %8618) #10
  %8620 = icmp ne i32 %8619, 0
  br i1 %8620, label %8621, label %8638

8621:                                             ; preds = %8616
  %8622 = load i32, ptr %169, align 4, !tbaa !5
  %8623 = call ptr @__errno_location() #11
  store i32 %8622, ptr %8623, align 4, !tbaa !5
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = load i32, ptr @test_count, align 4, !tbaa !5
  %8626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @s2n_strerror(i32 noundef %8627, ptr noundef @.str.4)
  %8629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef @.str.4)
  %8632 = call ptr @__errno_location() #11
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call ptr @strerror(i32 noundef %8633) #10
  %8635 = call ptr @__errno_location() #11
  %8636 = load i32, ptr %8635, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8624, ptr noundef @.str.2, i32 noundef %8625, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 330, ptr noundef %8628, ptr noundef %8631, ptr noundef %8634, i32 noundef %8636) #10
  br label %8655

8638:                                             ; preds = %8616, %8609
  %8639 = load i32, ptr %169, align 4, !tbaa !5
  %8640 = call ptr @__errno_location() #11
  store i32 %8639, ptr %8640, align 4, !tbaa !5
  %8641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8642 = load i32, ptr @test_count, align 4, !tbaa !5
  %8643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8644 = load i32, ptr %8643, align 4, !tbaa !5
  %8645 = call ptr @s2n_strerror(i32 noundef %8644, ptr noundef @.str.4)
  %8646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8647 = load i32, ptr %8646, align 4, !tbaa !5
  %8648 = call ptr @s2n_strerror_debug(i32 noundef %8647, ptr noundef @.str.4)
  %8649 = call ptr @__errno_location() #11
  %8650 = load i32, ptr %8649, align 4, !tbaa !5
  %8651 = call ptr @strerror(i32 noundef %8650) #10
  %8652 = call ptr @__errno_location() #11
  %8653 = load i32, ptr %8652, align 4, !tbaa !5
  %8654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8641, ptr noundef @.str.5, i32 noundef %8642, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 330, ptr noundef %8645, ptr noundef %8648, ptr noundef %8651, i32 noundef %8653) #10
  br label %8655

8655:                                             ; preds = %8638, %8621
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #10
  br label %8656

8656:                                             ; preds = %8655
  br label %8657

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

8658:                                             ; No predecessors!
  br label %8659

8659:                                             ; preds = %8658
  br label %8660

8660:                                             ; preds = %8659, %8601
  br label %8661

8661:                                             ; preds = %8660
  br label %8662

8662:                                             ; preds = %8661
  br label %8663

8663:                                             ; preds = %8662
  %8664 = load i32, ptr @test_count, align 4, !tbaa !5
  %8665 = add nsw i32 %8664, 1
  store i32 %8665, ptr @test_count, align 4, !tbaa !5
  %8666 = getelementptr inbounds %struct.s2n_stuffer, ptr %164, i32 0, i32 2
  %8667 = load i32, ptr %8666, align 4, !tbaa !21
  %8668 = getelementptr inbounds %struct.s2n_stuffer, ptr %164, i32 0, i32 1
  %8669 = load i32, ptr %8668, align 8, !tbaa !23
  %8670 = sub i32 %8667, %8669
  %8671 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %166, i32 0, i32 2
  %8672 = load i8, ptr %8671, align 4, !tbaa !30
  %8673 = zext i8 %8672 to i32
  %8674 = icmp ugt i32 %8670, %8673
  br i1 %8674, label %8728, label %8675

8675:                                             ; preds = %8663
  br label %8676

8676:                                             ; preds = %8675
  br label %8677

8677:                                             ; preds = %8676
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #10
  %8678 = call ptr @__errno_location() #11
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  store i32 %8679, ptr %170, align 4, !tbaa !5
  %8680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8681 = call i32 @s2n_print_stacktrace(ptr noundef %8680)
  %8682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8683 = trunc i8 %8682 to i1
  br i1 %8683, label %8684, label %8706

8684:                                             ; preds = %8677
  %8685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8686 = call i32 @fileno(ptr noundef %8685) #10
  %8687 = call i32 @isatty(i32 noundef %8686) #10
  %8688 = icmp ne i32 %8687, 0
  br i1 %8688, label %8689, label %8706

8689:                                             ; preds = %8684
  %8690 = load i32, ptr %170, align 4, !tbaa !5
  %8691 = call ptr @__errno_location() #11
  store i32 %8690, ptr %8691, align 4, !tbaa !5
  %8692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8693 = load i32, ptr @test_count, align 4, !tbaa !5
  %8694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @s2n_strerror(i32 noundef %8695, ptr noundef @.str.4)
  %8697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call ptr @s2n_strerror_debug(i32 noundef %8698, ptr noundef @.str.4)
  %8700 = call ptr @__errno_location() #11
  %8701 = load i32, ptr %8700, align 4, !tbaa !5
  %8702 = call ptr @strerror(i32 noundef %8701) #10
  %8703 = call ptr @__errno_location() #11
  %8704 = load i32, ptr %8703, align 4, !tbaa !5
  %8705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8692, ptr noundef @.str.2, i32 noundef %8693, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8696, ptr noundef %8699, ptr noundef %8702, i32 noundef %8704) #10
  br label %8723

8706:                                             ; preds = %8684, %8677
  %8707 = load i32, ptr %170, align 4, !tbaa !5
  %8708 = call ptr @__errno_location() #11
  store i32 %8707, ptr %8708, align 4, !tbaa !5
  %8709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8710 = load i32, ptr @test_count, align 4, !tbaa !5
  %8711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8712 = load i32, ptr %8711, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror(i32 noundef %8712, ptr noundef @.str.4)
  %8714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8715 = load i32, ptr %8714, align 4, !tbaa !5
  %8716 = call ptr @s2n_strerror_debug(i32 noundef %8715, ptr noundef @.str.4)
  %8717 = call ptr @__errno_location() #11
  %8718 = load i32, ptr %8717, align 4, !tbaa !5
  %8719 = call ptr @strerror(i32 noundef %8718) #10
  %8720 = call ptr @__errno_location() #11
  %8721 = load i32, ptr %8720, align 4, !tbaa !5
  %8722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8709, ptr noundef @.str.5, i32 noundef %8710, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8713, ptr noundef %8716, ptr noundef %8719, i32 noundef %8721) #10
  br label %8723

8723:                                             ; preds = %8706, %8689
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #10
  br label %8724

8724:                                             ; preds = %8723
  br label %8725

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

8726:                                             ; No predecessors!
  br label %8727

8727:                                             ; preds = %8726
  br label %8728

8728:                                             ; preds = %8727, %8663
  br label %8729

8729:                                             ; preds = %8728
  br label %8730

8730:                                             ; preds = %8729
  br label %8731

8731:                                             ; preds = %8730
  %8732 = load i32, ptr @test_count, align 4, !tbaa !5
  %8733 = add nsw i32 %8732, 1
  store i32 %8733, ptr @test_count, align 4, !tbaa !5
  %8734 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %166)
  %8735 = icmp eq i32 %8734, -1
  br i1 %8735, label %8736, label %8789

8736:                                             ; preds = %8731
  br label %8737

8737:                                             ; preds = %8736
  br label %8738

8738:                                             ; preds = %8737
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #10
  %8739 = call ptr @__errno_location() #11
  %8740 = load i32, ptr %8739, align 4, !tbaa !5
  store i32 %8740, ptr %171, align 4, !tbaa !5
  %8741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8742 = call i32 @s2n_print_stacktrace(ptr noundef %8741)
  %8743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8744 = trunc i8 %8743 to i1
  br i1 %8744, label %8745, label %8767

8745:                                             ; preds = %8738
  %8746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8747 = call i32 @fileno(ptr noundef %8746) #10
  %8748 = call i32 @isatty(i32 noundef %8747) #10
  %8749 = icmp ne i32 %8748, 0
  br i1 %8749, label %8750, label %8767

8750:                                             ; preds = %8745
  %8751 = load i32, ptr %171, align 4, !tbaa !5
  %8752 = call ptr @__errno_location() #11
  store i32 %8751, ptr %8752, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = load i32, ptr @test_count, align 4, !tbaa !5
  %8755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @s2n_strerror(i32 noundef %8756, ptr noundef @.str.4)
  %8758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror_debug(i32 noundef %8759, ptr noundef @.str.4)
  %8761 = call ptr @__errno_location() #11
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @strerror(i32 noundef %8762) #10
  %8764 = call ptr @__errno_location() #11
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8753, ptr noundef @.str.2, i32 noundef %8754, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 333, ptr noundef %8757, ptr noundef %8760, ptr noundef %8763, i32 noundef %8765) #10
  br label %8784

8767:                                             ; preds = %8745, %8738
  %8768 = load i32, ptr %171, align 4, !tbaa !5
  %8769 = call ptr @__errno_location() #11
  store i32 %8768, ptr %8769, align 4, !tbaa !5
  %8770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8771 = load i32, ptr @test_count, align 4, !tbaa !5
  %8772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8773 = load i32, ptr %8772, align 4, !tbaa !5
  %8774 = call ptr @s2n_strerror(i32 noundef %8773, ptr noundef @.str.4)
  %8775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8776 = load i32, ptr %8775, align 4, !tbaa !5
  %8777 = call ptr @s2n_strerror_debug(i32 noundef %8776, ptr noundef @.str.4)
  %8778 = call ptr @__errno_location() #11
  %8779 = load i32, ptr %8778, align 4, !tbaa !5
  %8780 = call ptr @strerror(i32 noundef %8779) #10
  %8781 = call ptr @__errno_location() #11
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  %8783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8770, ptr noundef @.str.5, i32 noundef %8771, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 333, ptr noundef %8774, ptr noundef %8777, ptr noundef %8780, i32 noundef %8782) #10
  br label %8784

8784:                                             ; preds = %8767, %8750
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #10
  br label %8785

8785:                                             ; preds = %8784
  br label %8786

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

8787:                                             ; No predecessors!
  br label %8788

8788:                                             ; preds = %8787
  br label %8789

8789:                                             ; preds = %8788, %8731
  br label %8790

8790:                                             ; preds = %8789
  br label %8791

8791:                                             ; preds = %8790
  br label %8792

8792:                                             ; preds = %8791
  br label %8793

8793:                                             ; preds = %8792
  br label %8794

8794:                                             ; preds = %8793
  %8795 = load i32, ptr @test_count, align 4, !tbaa !5
  %8796 = add nsw i32 %8795, 1
  store i32 %8796, ptr @test_count, align 4, !tbaa !5
  %8797 = call i32 @s2n_extension_list_parse(ptr noundef %164, ptr noundef %163)
  %8798 = icmp eq i32 %8797, -1
  br i1 %8798, label %8852, label %8799

8799:                                             ; preds = %8794
  br label %8800

8800:                                             ; preds = %8799
  br label %8801

8801:                                             ; preds = %8800
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #10
  %8802 = call ptr @__errno_location() #11
  %8803 = load i32, ptr %8802, align 4, !tbaa !5
  store i32 %8803, ptr %172, align 4, !tbaa !5
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = call i32 @s2n_print_stacktrace(ptr noundef %8804)
  %8806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8807 = trunc i8 %8806 to i1
  br i1 %8807, label %8808, label %8830

8808:                                             ; preds = %8801
  %8809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8810 = call i32 @fileno(ptr noundef %8809) #10
  %8811 = call i32 @isatty(i32 noundef %8810) #10
  %8812 = icmp ne i32 %8811, 0
  br i1 %8812, label %8813, label %8830

8813:                                             ; preds = %8808
  %8814 = load i32, ptr %172, align 4, !tbaa !5
  %8815 = call ptr @__errno_location() #11
  store i32 %8814, ptr %8815, align 4, !tbaa !5
  %8816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8817 = load i32, ptr @test_count, align 4, !tbaa !5
  %8818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8819 = load i32, ptr %8818, align 4, !tbaa !5
  %8820 = call ptr @s2n_strerror(i32 noundef %8819, ptr noundef @.str.4)
  %8821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8822 = load i32, ptr %8821, align 4, !tbaa !5
  %8823 = call ptr @s2n_strerror_debug(i32 noundef %8822, ptr noundef @.str.4)
  %8824 = call ptr @__errno_location() #11
  %8825 = load i32, ptr %8824, align 4, !tbaa !5
  %8826 = call ptr @strerror(i32 noundef %8825) #10
  %8827 = call ptr @__errno_location() #11
  %8828 = load i32, ptr %8827, align 4, !tbaa !5
  %8829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8816, ptr noundef @.str.2, i32 noundef %8817, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8820, ptr noundef %8823, ptr noundef %8826, i32 noundef %8828) #10
  br label %8847

8830:                                             ; preds = %8808, %8801
  %8831 = load i32, ptr %172, align 4, !tbaa !5
  %8832 = call ptr @__errno_location() #11
  store i32 %8831, ptr %8832, align 4, !tbaa !5
  %8833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8834 = load i32, ptr @test_count, align 4, !tbaa !5
  %8835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8836 = load i32, ptr %8835, align 4, !tbaa !5
  %8837 = call ptr @s2n_strerror(i32 noundef %8836, ptr noundef @.str.4)
  %8838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8839 = load i32, ptr %8838, align 4, !tbaa !5
  %8840 = call ptr @s2n_strerror_debug(i32 noundef %8839, ptr noundef @.str.4)
  %8841 = call ptr @__errno_location() #11
  %8842 = load i32, ptr %8841, align 4, !tbaa !5
  %8843 = call ptr @strerror(i32 noundef %8842) #10
  %8844 = call ptr @__errno_location() #11
  %8845 = load i32, ptr %8844, align 4, !tbaa !5
  %8846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8833, ptr noundef @.str.5, i32 noundef %8834, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8837, ptr noundef %8840, ptr noundef %8843, i32 noundef %8845) #10
  br label %8847

8847:                                             ; preds = %8830, %8813
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #10
  br label %8848

8848:                                             ; preds = %8847
  br label %8849

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

8850:                                             ; No predecessors!
  br label %8851

8851:                                             ; preds = %8850
  br label %8852

8852:                                             ; preds = %8851, %8794
  br label %8853

8853:                                             ; preds = %8852
  br label %8854

8854:                                             ; preds = %8853
  br label %8855

8855:                                             ; preds = %8854
  %8856 = load i32, ptr @test_count, align 4, !tbaa !5
  %8857 = add nsw i32 %8856, 1
  store i32 %8857, ptr @test_count, align 4, !tbaa !5
  %8858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8859 = load i32, ptr %8858, align 4, !tbaa !5
  %8860 = icmp eq i32 %8859, 335544395
  br i1 %8860, label %8914, label %8861

8861:                                             ; preds = %8855
  br label %8862

8862:                                             ; preds = %8861
  br label %8863

8863:                                             ; preds = %8862
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #10
  %8864 = call ptr @__errno_location() #11
  %8865 = load i32, ptr %8864, align 4, !tbaa !5
  store i32 %8865, ptr %173, align 4, !tbaa !5
  %8866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8867 = call i32 @s2n_print_stacktrace(ptr noundef %8866)
  %8868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8869 = trunc i8 %8868 to i1
  br i1 %8869, label %8870, label %8892

8870:                                             ; preds = %8863
  %8871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8872 = call i32 @fileno(ptr noundef %8871) #10
  %8873 = call i32 @isatty(i32 noundef %8872) #10
  %8874 = icmp ne i32 %8873, 0
  br i1 %8874, label %8875, label %8892

8875:                                             ; preds = %8870
  %8876 = load i32, ptr %173, align 4, !tbaa !5
  %8877 = call ptr @__errno_location() #11
  store i32 %8876, ptr %8877, align 4, !tbaa !5
  %8878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8879 = load i32, ptr @test_count, align 4, !tbaa !5
  %8880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8881 = load i32, ptr %8880, align 4, !tbaa !5
  %8882 = call ptr @s2n_strerror(i32 noundef %8881, ptr noundef @.str.4)
  %8883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8884 = load i32, ptr %8883, align 4, !tbaa !5
  %8885 = call ptr @s2n_strerror_debug(i32 noundef %8884, ptr noundef @.str.4)
  %8886 = call ptr @__errno_location() #11
  %8887 = load i32, ptr %8886, align 4, !tbaa !5
  %8888 = call ptr @strerror(i32 noundef %8887) #10
  %8889 = call ptr @__errno_location() #11
  %8890 = load i32, ptr %8889, align 4, !tbaa !5
  %8891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8878, ptr noundef @.str.2, i32 noundef %8879, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8882, ptr noundef %8885, ptr noundef %8888, i32 noundef %8890) #10
  br label %8909

8892:                                             ; preds = %8870, %8863
  %8893 = load i32, ptr %173, align 4, !tbaa !5
  %8894 = call ptr @__errno_location() #11
  store i32 %8893, ptr %8894, align 4, !tbaa !5
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = load i32, ptr @test_count, align 4, !tbaa !5
  %8897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8898 = load i32, ptr %8897, align 4, !tbaa !5
  %8899 = call ptr @s2n_strerror(i32 noundef %8898, ptr noundef @.str.4)
  %8900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8901 = load i32, ptr %8900, align 4, !tbaa !5
  %8902 = call ptr @s2n_strerror_debug(i32 noundef %8901, ptr noundef @.str.4)
  %8903 = call ptr @__errno_location() #11
  %8904 = load i32, ptr %8903, align 4, !tbaa !5
  %8905 = call ptr @strerror(i32 noundef %8904) #10
  %8906 = call ptr @__errno_location() #11
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  %8908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8895, ptr noundef @.str.5, i32 noundef %8896, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8899, ptr noundef %8902, ptr noundef %8905, i32 noundef %8907) #10
  br label %8909

8909:                                             ; preds = %8892, %8875
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #10
  br label %8910

8910:                                             ; preds = %8909
  br label %8911

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

8912:                                             ; No predecessors!
  br label %8913

8913:                                             ; preds = %8912
  br label %8914

8914:                                             ; preds = %8913, %8855
  br label %8915

8915:                                             ; preds = %8914
  br label %8916

8916:                                             ; preds = %8915
  br label %8917

8917:                                             ; preds = %8916
  %8918 = load i32, ptr @test_count, align 4, !tbaa !5
  %8919 = add nsw i32 %8918, 1
  store i32 %8919, ptr @test_count, align 4, !tbaa !5
  %8920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8921 = load i32, ptr %8920, align 4, !tbaa !5
  %8922 = call ptr @s2n_strerror_debug(i32 noundef %8921, ptr noundef @.str.4)
  %8923 = icmp eq ptr %8922, null
  br i1 %8923, label %8924, label %8977

8924:                                             ; preds = %8917
  br label %8925

8925:                                             ; preds = %8924
  br label %8926

8926:                                             ; preds = %8925
  call void @llvm.lifetime.start.p0(i64 4, ptr %174) #10
  %8927 = call ptr @__errno_location() #11
  %8928 = load i32, ptr %8927, align 4, !tbaa !5
  store i32 %8928, ptr %174, align 4, !tbaa !5
  %8929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8930 = call i32 @s2n_print_stacktrace(ptr noundef %8929)
  %8931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8932 = trunc i8 %8931 to i1
  br i1 %8932, label %8933, label %8955

8933:                                             ; preds = %8926
  %8934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8935 = call i32 @fileno(ptr noundef %8934) #10
  %8936 = call i32 @isatty(i32 noundef %8935) #10
  %8937 = icmp ne i32 %8936, 0
  br i1 %8937, label %8938, label %8955

8938:                                             ; preds = %8933
  %8939 = load i32, ptr %174, align 4, !tbaa !5
  %8940 = call ptr @__errno_location() #11
  store i32 %8939, ptr %8940, align 4, !tbaa !5
  %8941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8942 = load i32, ptr @test_count, align 4, !tbaa !5
  %8943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8944 = load i32, ptr %8943, align 4, !tbaa !5
  %8945 = call ptr @s2n_strerror(i32 noundef %8944, ptr noundef @.str.4)
  %8946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8947 = load i32, ptr %8946, align 4, !tbaa !5
  %8948 = call ptr @s2n_strerror_debug(i32 noundef %8947, ptr noundef @.str.4)
  %8949 = call ptr @__errno_location() #11
  %8950 = load i32, ptr %8949, align 4, !tbaa !5
  %8951 = call ptr @strerror(i32 noundef %8950) #10
  %8952 = call ptr @__errno_location() #11
  %8953 = load i32, ptr %8952, align 4, !tbaa !5
  %8954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8941, ptr noundef @.str.2, i32 noundef %8942, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8945, ptr noundef %8948, ptr noundef %8951, i32 noundef %8953) #10
  br label %8972

8955:                                             ; preds = %8933, %8926
  %8956 = load i32, ptr %174, align 4, !tbaa !5
  %8957 = call ptr @__errno_location() #11
  store i32 %8956, ptr %8957, align 4, !tbaa !5
  %8958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8961 = load i32, ptr %8960, align 4, !tbaa !5
  %8962 = call ptr @s2n_strerror(i32 noundef %8961, ptr noundef @.str.4)
  %8963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8964 = load i32, ptr %8963, align 4, !tbaa !5
  %8965 = call ptr @s2n_strerror_debug(i32 noundef %8964, ptr noundef @.str.4)
  %8966 = call ptr @__errno_location() #11
  %8967 = load i32, ptr %8966, align 4, !tbaa !5
  %8968 = call ptr @strerror(i32 noundef %8967) #10
  %8969 = call ptr @__errno_location() #11
  %8970 = load i32, ptr %8969, align 4, !tbaa !5
  %8971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8958, ptr noundef @.str.5, i32 noundef %8959, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 336, ptr noundef %8962, ptr noundef %8965, ptr noundef %8968, i32 noundef %8970) #10
  br label %8972

8972:                                             ; preds = %8955, %8938
  call void @llvm.lifetime.end.p0(i64 4, ptr %174) #10
  br label %8973

8973:                                             ; preds = %8972
  br label %8974

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

8975:                                             ; No predecessors!
  br label %8976

8976:                                             ; preds = %8975
  br label %8977

8977:                                             ; preds = %8976, %8917
  br label %8978

8978:                                             ; preds = %8977
  br label %8979

8979:                                             ; preds = %8978
  br label %8980

8980:                                             ; preds = %8979
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981
  %8983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8983, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8984 = call ptr @__errno_location() #11
  store i32 0, ptr %8984, align 4, !tbaa !5
  br label %8985

8985:                                             ; preds = %8982
  br label %8986

8986:                                             ; preds = %8985
  br label %8987

8987:                                             ; preds = %8986
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  %8990 = load i32, ptr @test_count, align 4, !tbaa !5
  %8991 = add nsw i32 %8990, 1
  store i32 %8991, ptr @test_count, align 4, !tbaa !5
  %8992 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %163, i32 0, i32 1
  %8993 = getelementptr inbounds %struct.s2n_blob, ptr %8992, i32 0, i32 0
  %8994 = load ptr, ptr %8993, align 8, !tbaa !24
  %8995 = getelementptr inbounds %struct.s2n_stuffer, ptr %164, i32 0, i32 0
  %8996 = getelementptr inbounds %struct.s2n_blob, ptr %8995, i32 0, i32 0
  %8997 = load ptr, ptr %8996, align 8, !tbaa !26
  %8998 = getelementptr inbounds i8, ptr %8997, i64 2
  %8999 = icmp eq ptr %8994, %8998
  br i1 %8999, label %9053, label %9000

9000:                                             ; preds = %8989
  br label %9001

9001:                                             ; preds = %9000
  br label %9002

9002:                                             ; preds = %9001
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #10
  %9003 = call ptr @__errno_location() #11
  %9004 = load i32, ptr %9003, align 4, !tbaa !5
  store i32 %9004, ptr %175, align 4, !tbaa !5
  %9005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9006 = call i32 @s2n_print_stacktrace(ptr noundef %9005)
  %9007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9008 = trunc i8 %9007 to i1
  br i1 %9008, label %9009, label %9031

9009:                                             ; preds = %9002
  %9010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9011 = call i32 @fileno(ptr noundef %9010) #10
  %9012 = call i32 @isatty(i32 noundef %9011) #10
  %9013 = icmp ne i32 %9012, 0
  br i1 %9013, label %9014, label %9031

9014:                                             ; preds = %9009
  %9015 = load i32, ptr %175, align 4, !tbaa !5
  %9016 = call ptr @__errno_location() #11
  store i32 %9015, ptr %9016, align 4, !tbaa !5
  %9017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9018 = load i32, ptr @test_count, align 4, !tbaa !5
  %9019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @s2n_strerror(i32 noundef %9020, ptr noundef @.str.4)
  %9022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call ptr @s2n_strerror_debug(i32 noundef %9023, ptr noundef @.str.4)
  %9025 = call ptr @__errno_location() #11
  %9026 = load i32, ptr %9025, align 4, !tbaa !5
  %9027 = call ptr @strerror(i32 noundef %9026) #10
  %9028 = call ptr @__errno_location() #11
  %9029 = load i32, ptr %9028, align 4, !tbaa !5
  %9030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9017, ptr noundef @.str.2, i32 noundef %9018, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9021, ptr noundef %9024, ptr noundef %9027, i32 noundef %9029) #10
  br label %9048

9031:                                             ; preds = %9009, %9002
  %9032 = load i32, ptr %175, align 4, !tbaa !5
  %9033 = call ptr @__errno_location() #11
  store i32 %9032, ptr %9033, align 4, !tbaa !5
  %9034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9035 = load i32, ptr @test_count, align 4, !tbaa !5
  %9036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9037 = load i32, ptr %9036, align 4, !tbaa !5
  %9038 = call ptr @s2n_strerror(i32 noundef %9037, ptr noundef @.str.4)
  %9039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call ptr @s2n_strerror_debug(i32 noundef %9040, ptr noundef @.str.4)
  %9042 = call ptr @__errno_location() #11
  %9043 = load i32, ptr %9042, align 4, !tbaa !5
  %9044 = call ptr @strerror(i32 noundef %9043) #10
  %9045 = call ptr @__errno_location() #11
  %9046 = load i32, ptr %9045, align 4, !tbaa !5
  %9047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9034, ptr noundef @.str.5, i32 noundef %9035, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9038, ptr noundef %9041, ptr noundef %9044, i32 noundef %9046) #10
  br label %9048

9048:                                             ; preds = %9031, %9014
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #10
  br label %9049

9049:                                             ; preds = %9048
  br label %9050

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

9051:                                             ; No predecessors!
  br label %9052

9052:                                             ; preds = %9051
  br label %9053

9053:                                             ; preds = %9052, %8989
  br label %9054

9054:                                             ; preds = %9053
  br label %9055

9055:                                             ; preds = %9054
  br label %9056

9056:                                             ; preds = %9055
  %9057 = load i32, ptr @test_count, align 4, !tbaa !5
  %9058 = add nsw i32 %9057, 1
  store i32 %9058, ptr @test_count, align 4, !tbaa !5
  %9059 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %163, i32 0, i32 1
  %9060 = getelementptr inbounds %struct.s2n_blob, ptr %9059, i32 0, i32 1
  %9061 = load i32, ptr %9060, align 8, !tbaa !27
  %9062 = zext i32 %9061 to i64
  %9063 = getelementptr inbounds %struct.s2n_stuffer, ptr %164, i32 0, i32 3
  %9064 = load i32, ptr %9063, align 8, !tbaa !29
  %9065 = zext i32 %9064 to i64
  %9066 = sub i64 %9065, 2
  %9067 = icmp eq i64 %9062, %9066
  br i1 %9067, label %9121, label %9068

9068:                                             ; preds = %9056
  br label %9069

9069:                                             ; preds = %9068
  br label %9070

9070:                                             ; preds = %9069
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #10
  %9071 = call ptr @__errno_location() #11
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  store i32 %9072, ptr %176, align 4, !tbaa !5
  %9073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9074 = call i32 @s2n_print_stacktrace(ptr noundef %9073)
  %9075 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9076 = trunc i8 %9075 to i1
  br i1 %9076, label %9077, label %9099

9077:                                             ; preds = %9070
  %9078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9079 = call i32 @fileno(ptr noundef %9078) #10
  %9080 = call i32 @isatty(i32 noundef %9079) #10
  %9081 = icmp ne i32 %9080, 0
  br i1 %9081, label %9082, label %9099

9082:                                             ; preds = %9077
  %9083 = load i32, ptr %176, align 4, !tbaa !5
  %9084 = call ptr @__errno_location() #11
  store i32 %9083, ptr %9084, align 4, !tbaa !5
  %9085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9086 = load i32, ptr @test_count, align 4, !tbaa !5
  %9087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9088 = load i32, ptr %9087, align 4, !tbaa !5
  %9089 = call ptr @s2n_strerror(i32 noundef %9088, ptr noundef @.str.4)
  %9090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9091 = load i32, ptr %9090, align 4, !tbaa !5
  %9092 = call ptr @s2n_strerror_debug(i32 noundef %9091, ptr noundef @.str.4)
  %9093 = call ptr @__errno_location() #11
  %9094 = load i32, ptr %9093, align 4, !tbaa !5
  %9095 = call ptr @strerror(i32 noundef %9094) #10
  %9096 = call ptr @__errno_location() #11
  %9097 = load i32, ptr %9096, align 4, !tbaa !5
  %9098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9085, ptr noundef @.str.2, i32 noundef %9086, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9089, ptr noundef %9092, ptr noundef %9095, i32 noundef %9097) #10
  br label %9116

9099:                                             ; preds = %9077, %9070
  %9100 = load i32, ptr %176, align 4, !tbaa !5
  %9101 = call ptr @__errno_location() #11
  store i32 %9100, ptr %9101, align 4, !tbaa !5
  %9102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9103 = load i32, ptr @test_count, align 4, !tbaa !5
  %9104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9105 = load i32, ptr %9104, align 4, !tbaa !5
  %9106 = call ptr @s2n_strerror(i32 noundef %9105, ptr noundef @.str.4)
  %9107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9108 = load i32, ptr %9107, align 4, !tbaa !5
  %9109 = call ptr @s2n_strerror_debug(i32 noundef %9108, ptr noundef @.str.4)
  %9110 = call ptr @__errno_location() #11
  %9111 = load i32, ptr %9110, align 4, !tbaa !5
  %9112 = call ptr @strerror(i32 noundef %9111) #10
  %9113 = call ptr @__errno_location() #11
  %9114 = load i32, ptr %9113, align 4, !tbaa !5
  %9115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9102, ptr noundef @.str.5, i32 noundef %9103, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9106, ptr noundef %9109, ptr noundef %9112, i32 noundef %9114) #10
  br label %9116

9116:                                             ; preds = %9099, %9082
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #10
  br label %9117

9117:                                             ; preds = %9116
  br label %9118

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

9119:                                             ; No predecessors!
  br label %9120

9120:                                             ; preds = %9119
  br label %9121

9121:                                             ; preds = %9120, %9056
  br label %9122

9122:                                             ; preds = %9121
  br label %9123

9123:                                             ; preds = %9122
  br label %9124

9124:                                             ; preds = %9123
  %9125 = load i32, ptr @test_count, align 4, !tbaa !5
  %9126 = add nsw i32 %9125, 1
  store i32 %9126, ptr @test_count, align 4, !tbaa !5
  %9127 = call i32 @s2n_stuffer_free(ptr noundef %164)
  %9128 = icmp eq i32 %9127, -1
  br i1 %9128, label %9129, label %9182

9129:                                             ; preds = %9124
  br label %9130

9130:                                             ; preds = %9129
  br label %9131

9131:                                             ; preds = %9130
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #10
  %9132 = call ptr @__errno_location() #11
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  store i32 %9133, ptr %177, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = call i32 @s2n_print_stacktrace(ptr noundef %9134)
  %9136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9137 = trunc i8 %9136 to i1
  br i1 %9137, label %9138, label %9160

9138:                                             ; preds = %9131
  %9139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9140 = call i32 @fileno(ptr noundef %9139) #10
  %9141 = call i32 @isatty(i32 noundef %9140) #10
  %9142 = icmp ne i32 %9141, 0
  br i1 %9142, label %9143, label %9160

9143:                                             ; preds = %9138
  %9144 = load i32, ptr %177, align 4, !tbaa !5
  %9145 = call ptr @__errno_location() #11
  store i32 %9144, ptr %9145, align 4, !tbaa !5
  %9146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9147 = load i32, ptr @test_count, align 4, !tbaa !5
  %9148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9149 = load i32, ptr %9148, align 4, !tbaa !5
  %9150 = call ptr @s2n_strerror(i32 noundef %9149, ptr noundef @.str.4)
  %9151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9152 = load i32, ptr %9151, align 4, !tbaa !5
  %9153 = call ptr @s2n_strerror_debug(i32 noundef %9152, ptr noundef @.str.4)
  %9154 = call ptr @__errno_location() #11
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @strerror(i32 noundef %9155) #10
  %9157 = call ptr @__errno_location() #11
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9146, ptr noundef @.str.2, i32 noundef %9147, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 339, ptr noundef %9150, ptr noundef %9153, ptr noundef %9156, i32 noundef %9158) #10
  br label %9177

9160:                                             ; preds = %9138, %9131
  %9161 = load i32, ptr %177, align 4, !tbaa !5
  %9162 = call ptr @__errno_location() #11
  store i32 %9161, ptr %9162, align 4, !tbaa !5
  %9163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9164 = load i32, ptr @test_count, align 4, !tbaa !5
  %9165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9166 = load i32, ptr %9165, align 4, !tbaa !5
  %9167 = call ptr @s2n_strerror(i32 noundef %9166, ptr noundef @.str.4)
  %9168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9169 = load i32, ptr %9168, align 4, !tbaa !5
  %9170 = call ptr @s2n_strerror_debug(i32 noundef %9169, ptr noundef @.str.4)
  %9171 = call ptr @__errno_location() #11
  %9172 = load i32, ptr %9171, align 4, !tbaa !5
  %9173 = call ptr @strerror(i32 noundef %9172) #10
  %9174 = call ptr @__errno_location() #11
  %9175 = load i32, ptr %9174, align 4, !tbaa !5
  %9176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9163, ptr noundef @.str.5, i32 noundef %9164, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 339, ptr noundef %9167, ptr noundef %9170, ptr noundef %9173, i32 noundef %9175) #10
  br label %9177

9177:                                             ; preds = %9160, %9143
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #10
  br label %9178

9178:                                             ; preds = %9177
  br label %9179

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

9180:                                             ; No predecessors!
  br label %9181

9181:                                             ; preds = %9180
  br label %9182

9182:                                             ; preds = %9181, %9124
  br label %9183

9183:                                             ; preds = %9182
  br label %9184

9184:                                             ; preds = %9183
  call void @llvm.lifetime.end.p0(i64 16, ptr %166) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %164) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %163) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %178) #10
  call void @llvm.memset.p0.i64(ptr align 8 %178, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %179) #10
  call void @llvm.memset.p0.i64(ptr align 8 %179, i8 0, i64 40, i1 false)
  br label %9185

9185:                                             ; preds = %9184
  %9186 = load i32, ptr @test_count, align 4, !tbaa !5
  %9187 = add nsw i32 %9186, 1
  store i32 %9187, ptr @test_count, align 4, !tbaa !5
  %9188 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %179, i32 noundef 0)
  %9189 = icmp eq i32 %9188, -1
  br i1 %9189, label %9190, label %9243

9190:                                             ; preds = %9185
  br label %9191

9191:                                             ; preds = %9190
  br label %9192

9192:                                             ; preds = %9191
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #10
  %9193 = call ptr @__errno_location() #11
  %9194 = load i32, ptr %9193, align 4, !tbaa !5
  store i32 %9194, ptr %180, align 4, !tbaa !5
  %9195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9196 = call i32 @s2n_print_stacktrace(ptr noundef %9195)
  %9197 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9198 = trunc i8 %9197 to i1
  br i1 %9198, label %9199, label %9221

9199:                                             ; preds = %9192
  %9200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9201 = call i32 @fileno(ptr noundef %9200) #10
  %9202 = call i32 @isatty(i32 noundef %9201) #10
  %9203 = icmp ne i32 %9202, 0
  br i1 %9203, label %9204, label %9221

9204:                                             ; preds = %9199
  %9205 = load i32, ptr %180, align 4, !tbaa !5
  %9206 = call ptr @__errno_location() #11
  store i32 %9205, ptr %9206, align 4, !tbaa !5
  %9207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9208 = load i32, ptr @test_count, align 4, !tbaa !5
  %9209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call ptr @s2n_strerror(i32 noundef %9210, ptr noundef @.str.4)
  %9212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9213 = load i32, ptr %9212, align 4, !tbaa !5
  %9214 = call ptr @s2n_strerror_debug(i32 noundef %9213, ptr noundef @.str.4)
  %9215 = call ptr @__errno_location() #11
  %9216 = load i32, ptr %9215, align 4, !tbaa !5
  %9217 = call ptr @strerror(i32 noundef %9216) #10
  %9218 = call ptr @__errno_location() #11
  %9219 = load i32, ptr %9218, align 4, !tbaa !5
  %9220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9207, ptr noundef @.str.2, i32 noundef %9208, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 346, ptr noundef %9211, ptr noundef %9214, ptr noundef %9217, i32 noundef %9219) #10
  br label %9238

9221:                                             ; preds = %9199, %9192
  %9222 = load i32, ptr %180, align 4, !tbaa !5
  %9223 = call ptr @__errno_location() #11
  store i32 %9222, ptr %9223, align 4, !tbaa !5
  %9224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9225 = load i32, ptr @test_count, align 4, !tbaa !5
  %9226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call ptr @s2n_strerror(i32 noundef %9227, ptr noundef @.str.4)
  %9229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9230 = load i32, ptr %9229, align 4, !tbaa !5
  %9231 = call ptr @s2n_strerror_debug(i32 noundef %9230, ptr noundef @.str.4)
  %9232 = call ptr @__errno_location() #11
  %9233 = load i32, ptr %9232, align 4, !tbaa !5
  %9234 = call ptr @strerror(i32 noundef %9233) #10
  %9235 = call ptr @__errno_location() #11
  %9236 = load i32, ptr %9235, align 4, !tbaa !5
  %9237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9224, ptr noundef @.str.5, i32 noundef %9225, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 346, ptr noundef %9228, ptr noundef %9231, ptr noundef %9234, i32 noundef %9236) #10
  br label %9238

9238:                                             ; preds = %9221, %9204
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #10
  br label %9239

9239:                                             ; preds = %9238
  br label %9240

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

9241:                                             ; No predecessors!
  br label %9242

9242:                                             ; preds = %9241
  br label %9243

9243:                                             ; preds = %9242, %9185
  br label %9244

9244:                                             ; preds = %9243
  br label %9245

9245:                                             ; preds = %9244
  call void @llvm.lifetime.start.p0(i64 40, ptr %181) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %181, ptr align 8 %6, i64 40, i1 false), !tbaa.struct !37
  %9246 = getelementptr inbounds %struct.s2n_extension_type, ptr %181, i32 0, i32 0
  store i16 13, ptr %9246, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 40, ptr %182) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %182, ptr align 8 @__const.main.test_extension_3, i64 40, i1 false)
  %9247 = getelementptr inbounds %struct.s2n_extension_type, ptr %182, i32 0, i32 0
  store i16 16, ptr %9247, align 8, !tbaa !38
  %9248 = getelementptr inbounds %struct.s2n_extension_type, ptr %182, i32 0, i32 3
  store ptr @s2n_extension_send_other_test_data, ptr %9248, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr %183) #10
  call void @llvm.memset.p0.i64(ptr align 8 %183, i8 0, i64 16, i1 false)
  br label %9249

9249:                                             ; preds = %9245
  %9250 = load i32, ptr @test_count, align 4, !tbaa !5
  %9251 = add nsw i32 %9250, 1
  store i32 %9251, ptr @test_count, align 4, !tbaa !5
  %9252 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %179, ptr noundef %183)
  %9253 = icmp eq i32 %9252, -1
  br i1 %9253, label %9254, label %9307

9254:                                             ; preds = %9249
  br label %9255

9255:                                             ; preds = %9254
  br label %9256

9256:                                             ; preds = %9255
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #10
  %9257 = call ptr @__errno_location() #11
  %9258 = load i32, ptr %9257, align 4, !tbaa !5
  store i32 %9258, ptr %184, align 4, !tbaa !5
  %9259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9260 = call i32 @s2n_print_stacktrace(ptr noundef %9259)
  %9261 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9262 = trunc i8 %9261 to i1
  br i1 %9262, label %9263, label %9285

9263:                                             ; preds = %9256
  %9264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9265 = call i32 @fileno(ptr noundef %9264) #10
  %9266 = call i32 @isatty(i32 noundef %9265) #10
  %9267 = icmp ne i32 %9266, 0
  br i1 %9267, label %9268, label %9285

9268:                                             ; preds = %9263
  %9269 = load i32, ptr %184, align 4, !tbaa !5
  %9270 = call ptr @__errno_location() #11
  store i32 %9269, ptr %9270, align 4, !tbaa !5
  %9271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9272 = load i32, ptr @test_count, align 4, !tbaa !5
  %9273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9274 = load i32, ptr %9273, align 4, !tbaa !5
  %9275 = call ptr @s2n_strerror(i32 noundef %9274, ptr noundef @.str.4)
  %9276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror_debug(i32 noundef %9277, ptr noundef @.str.4)
  %9279 = call ptr @__errno_location() #11
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @strerror(i32 noundef %9280) #10
  %9282 = call ptr @__errno_location() #11
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9271, ptr noundef @.str.2, i32 noundef %9272, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9275, ptr noundef %9278, ptr noundef %9281, i32 noundef %9283) #10
  br label %9302

9285:                                             ; preds = %9263, %9256
  %9286 = load i32, ptr %184, align 4, !tbaa !5
  %9287 = call ptr @__errno_location() #11
  store i32 %9286, ptr %9287, align 4, !tbaa !5
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = load i32, ptr @test_count, align 4, !tbaa !5
  %9290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9291 = load i32, ptr %9290, align 4, !tbaa !5
  %9292 = call ptr @s2n_strerror(i32 noundef %9291, ptr noundef @.str.4)
  %9293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9294 = load i32, ptr %9293, align 4, !tbaa !5
  %9295 = call ptr @s2n_strerror_debug(i32 noundef %9294, ptr noundef @.str.4)
  %9296 = call ptr @__errno_location() #11
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  %9298 = call ptr @strerror(i32 noundef %9297) #10
  %9299 = call ptr @__errno_location() #11
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9288, ptr noundef @.str.5, i32 noundef %9289, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 356, ptr noundef %9292, ptr noundef %9295, ptr noundef %9298, i32 noundef %9300) #10
  br label %9302

9302:                                             ; preds = %9285, %9268
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #10
  br label %9303

9303:                                             ; preds = %9302
  br label %9304

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

9305:                                             ; No predecessors!
  br label %9306

9306:                                             ; preds = %9305
  br label %9307

9307:                                             ; preds = %9306, %9249
  br label %9308

9308:                                             ; preds = %9307
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309
  %9311 = load i32, ptr @test_count, align 4, !tbaa !5
  %9312 = add nsw i32 %9311, 1
  store i32 %9312, ptr @test_count, align 4, !tbaa !5
  %9313 = load ptr, ptr %7, align 8, !tbaa !9
  %9314 = call i32 @s2n_extension_send(ptr noundef @test_extension, ptr noundef %9313, ptr noundef %179)
  %9315 = icmp eq i32 %9314, -1
  br i1 %9315, label %9316, label %9369

9316:                                             ; preds = %9310
  br label %9317

9317:                                             ; preds = %9316
  br label %9318

9318:                                             ; preds = %9317
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #10
  %9319 = call ptr @__errno_location() #11
  %9320 = load i32, ptr %9319, align 4, !tbaa !5
  store i32 %9320, ptr %185, align 4, !tbaa !5
  %9321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9322 = call i32 @s2n_print_stacktrace(ptr noundef %9321)
  %9323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9324 = trunc i8 %9323 to i1
  br i1 %9324, label %9325, label %9347

9325:                                             ; preds = %9318
  %9326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9327 = call i32 @fileno(ptr noundef %9326) #10
  %9328 = call i32 @isatty(i32 noundef %9327) #10
  %9329 = icmp ne i32 %9328, 0
  br i1 %9329, label %9330, label %9347

9330:                                             ; preds = %9325
  %9331 = load i32, ptr %185, align 4, !tbaa !5
  %9332 = call ptr @__errno_location() #11
  store i32 %9331, ptr %9332, align 4, !tbaa !5
  %9333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9334 = load i32, ptr @test_count, align 4, !tbaa !5
  %9335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9336 = load i32, ptr %9335, align 4, !tbaa !5
  %9337 = call ptr @s2n_strerror(i32 noundef %9336, ptr noundef @.str.4)
  %9338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9339 = load i32, ptr %9338, align 4, !tbaa !5
  %9340 = call ptr @s2n_strerror_debug(i32 noundef %9339, ptr noundef @.str.4)
  %9341 = call ptr @__errno_location() #11
  %9342 = load i32, ptr %9341, align 4, !tbaa !5
  %9343 = call ptr @strerror(i32 noundef %9342) #10
  %9344 = call ptr @__errno_location() #11
  %9345 = load i32, ptr %9344, align 4, !tbaa !5
  %9346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9333, ptr noundef @.str.2, i32 noundef %9334, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9337, ptr noundef %9340, ptr noundef %9343, i32 noundef %9345) #10
  br label %9364

9347:                                             ; preds = %9325, %9318
  %9348 = load i32, ptr %185, align 4, !tbaa !5
  %9349 = call ptr @__errno_location() #11
  store i32 %9348, ptr %9349, align 4, !tbaa !5
  %9350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9351 = load i32, ptr @test_count, align 4, !tbaa !5
  %9352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9353 = load i32, ptr %9352, align 4, !tbaa !5
  %9354 = call ptr @s2n_strerror(i32 noundef %9353, ptr noundef @.str.4)
  %9355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9356 = load i32, ptr %9355, align 4, !tbaa !5
  %9357 = call ptr @s2n_strerror_debug(i32 noundef %9356, ptr noundef @.str.4)
  %9358 = call ptr @__errno_location() #11
  %9359 = load i32, ptr %9358, align 4, !tbaa !5
  %9360 = call ptr @strerror(i32 noundef %9359) #10
  %9361 = call ptr @__errno_location() #11
  %9362 = load i32, ptr %9361, align 4, !tbaa !5
  %9363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9350, ptr noundef @.str.5, i32 noundef %9351, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9354, ptr noundef %9357, ptr noundef %9360, i32 noundef %9362) #10
  br label %9364

9364:                                             ; preds = %9347, %9330
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #10
  br label %9365

9365:                                             ; preds = %9364
  br label %9366

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

9367:                                             ; No predecessors!
  br label %9368

9368:                                             ; preds = %9367
  br label %9369

9369:                                             ; preds = %9368, %9310
  br label %9370

9370:                                             ; preds = %9369
  br label %9371

9371:                                             ; preds = %9370
  br label %9372

9372:                                             ; preds = %9371
  %9373 = load i32, ptr @test_count, align 4, !tbaa !5
  %9374 = add nsw i32 %9373, 1
  store i32 %9374, ptr @test_count, align 4, !tbaa !5
  %9375 = load ptr, ptr %7, align 8, !tbaa !9
  %9376 = call i32 @s2n_extension_send(ptr noundef %181, ptr noundef %9375, ptr noundef %179)
  %9377 = icmp eq i32 %9376, -1
  br i1 %9377, label %9378, label %9431

9378:                                             ; preds = %9372
  br label %9379

9379:                                             ; preds = %9378
  br label %9380

9380:                                             ; preds = %9379
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #10
  %9381 = call ptr @__errno_location() #11
  %9382 = load i32, ptr %9381, align 4, !tbaa !5
  store i32 %9382, ptr %186, align 4, !tbaa !5
  %9383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9384 = call i32 @s2n_print_stacktrace(ptr noundef %9383)
  %9385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9386 = trunc i8 %9385 to i1
  br i1 %9386, label %9387, label %9409

9387:                                             ; preds = %9380
  %9388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9389 = call i32 @fileno(ptr noundef %9388) #10
  %9390 = call i32 @isatty(i32 noundef %9389) #10
  %9391 = icmp ne i32 %9390, 0
  br i1 %9391, label %9392, label %9409

9392:                                             ; preds = %9387
  %9393 = load i32, ptr %186, align 4, !tbaa !5
  %9394 = call ptr @__errno_location() #11
  store i32 %9393, ptr %9394, align 4, !tbaa !5
  %9395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9396 = load i32, ptr @test_count, align 4, !tbaa !5
  %9397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9398 = load i32, ptr %9397, align 4, !tbaa !5
  %9399 = call ptr @s2n_strerror(i32 noundef %9398, ptr noundef @.str.4)
  %9400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9401 = load i32, ptr %9400, align 4, !tbaa !5
  %9402 = call ptr @s2n_strerror_debug(i32 noundef %9401, ptr noundef @.str.4)
  %9403 = call ptr @__errno_location() #11
  %9404 = load i32, ptr %9403, align 4, !tbaa !5
  %9405 = call ptr @strerror(i32 noundef %9404) #10
  %9406 = call ptr @__errno_location() #11
  %9407 = load i32, ptr %9406, align 4, !tbaa !5
  %9408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9395, ptr noundef @.str.2, i32 noundef %9396, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9399, ptr noundef %9402, ptr noundef %9405, i32 noundef %9407) #10
  br label %9426

9409:                                             ; preds = %9387, %9380
  %9410 = load i32, ptr %186, align 4, !tbaa !5
  %9411 = call ptr @__errno_location() #11
  store i32 %9410, ptr %9411, align 4, !tbaa !5
  %9412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9413 = load i32, ptr @test_count, align 4, !tbaa !5
  %9414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9415 = load i32, ptr %9414, align 4, !tbaa !5
  %9416 = call ptr @s2n_strerror(i32 noundef %9415, ptr noundef @.str.4)
  %9417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9418 = load i32, ptr %9417, align 4, !tbaa !5
  %9419 = call ptr @s2n_strerror_debug(i32 noundef %9418, ptr noundef @.str.4)
  %9420 = call ptr @__errno_location() #11
  %9421 = load i32, ptr %9420, align 4, !tbaa !5
  %9422 = call ptr @strerror(i32 noundef %9421) #10
  %9423 = call ptr @__errno_location() #11
  %9424 = load i32, ptr %9423, align 4, !tbaa !5
  %9425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9412, ptr noundef @.str.5, i32 noundef %9413, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9416, ptr noundef %9419, ptr noundef %9422, i32 noundef %9424) #10
  br label %9426

9426:                                             ; preds = %9409, %9392
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #10
  br label %9427

9427:                                             ; preds = %9426
  br label %9428

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

9429:                                             ; No predecessors!
  br label %9430

9430:                                             ; preds = %9429
  br label %9431

9431:                                             ; preds = %9430, %9372
  br label %9432

9432:                                             ; preds = %9431
  br label %9433

9433:                                             ; preds = %9432
  br label %9434

9434:                                             ; preds = %9433
  %9435 = load i32, ptr @test_count, align 4, !tbaa !5
  %9436 = add nsw i32 %9435, 1
  store i32 %9436, ptr @test_count, align 4, !tbaa !5
  %9437 = call i32 @s2n_stuffer_write_uint16(ptr noundef %179, i16 noundef zeroext -256)
  %9438 = icmp eq i32 %9437, -1
  br i1 %9438, label %9439, label %9492

9439:                                             ; preds = %9434
  br label %9440

9440:                                             ; preds = %9439
  br label %9441

9441:                                             ; preds = %9440
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #10
  %9442 = call ptr @__errno_location() #11
  %9443 = load i32, ptr %9442, align 4, !tbaa !5
  store i32 %9443, ptr %187, align 4, !tbaa !5
  %9444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9445 = call i32 @s2n_print_stacktrace(ptr noundef %9444)
  %9446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9447 = trunc i8 %9446 to i1
  br i1 %9447, label %9448, label %9470

9448:                                             ; preds = %9441
  %9449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9450 = call i32 @fileno(ptr noundef %9449) #10
  %9451 = call i32 @isatty(i32 noundef %9450) #10
  %9452 = icmp ne i32 %9451, 0
  br i1 %9452, label %9453, label %9470

9453:                                             ; preds = %9448
  %9454 = load i32, ptr %187, align 4, !tbaa !5
  %9455 = call ptr @__errno_location() #11
  store i32 %9454, ptr %9455, align 4, !tbaa !5
  %9456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9457 = load i32, ptr @test_count, align 4, !tbaa !5
  %9458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9459 = load i32, ptr %9458, align 4, !tbaa !5
  %9460 = call ptr @s2n_strerror(i32 noundef %9459, ptr noundef @.str.4)
  %9461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9462 = load i32, ptr %9461, align 4, !tbaa !5
  %9463 = call ptr @s2n_strerror_debug(i32 noundef %9462, ptr noundef @.str.4)
  %9464 = call ptr @__errno_location() #11
  %9465 = load i32, ptr %9464, align 4, !tbaa !5
  %9466 = call ptr @strerror(i32 noundef %9465) #10
  %9467 = call ptr @__errno_location() #11
  %9468 = load i32, ptr %9467, align 4, !tbaa !5
  %9469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9456, ptr noundef @.str.2, i32 noundef %9457, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9460, ptr noundef %9463, ptr noundef %9466, i32 noundef %9468) #10
  br label %9487

9470:                                             ; preds = %9448, %9441
  %9471 = load i32, ptr %187, align 4, !tbaa !5
  %9472 = call ptr @__errno_location() #11
  store i32 %9471, ptr %9472, align 4, !tbaa !5
  %9473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9474 = load i32, ptr @test_count, align 4, !tbaa !5
  %9475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  %9477 = call ptr @s2n_strerror(i32 noundef %9476, ptr noundef @.str.4)
  %9478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9479 = load i32, ptr %9478, align 4, !tbaa !5
  %9480 = call ptr @s2n_strerror_debug(i32 noundef %9479, ptr noundef @.str.4)
  %9481 = call ptr @__errno_location() #11
  %9482 = load i32, ptr %9481, align 4, !tbaa !5
  %9483 = call ptr @strerror(i32 noundef %9482) #10
  %9484 = call ptr @__errno_location() #11
  %9485 = load i32, ptr %9484, align 4, !tbaa !5
  %9486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9473, ptr noundef @.str.5, i32 noundef %9474, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 360, ptr noundef %9477, ptr noundef %9480, ptr noundef %9483, i32 noundef %9485) #10
  br label %9487

9487:                                             ; preds = %9470, %9453
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #10
  br label %9488

9488:                                             ; preds = %9487
  br label %9489

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

9490:                                             ; No predecessors!
  br label %9491

9491:                                             ; preds = %9490
  br label %9492

9492:                                             ; preds = %9491, %9434
  br label %9493

9493:                                             ; preds = %9492
  br label %9494

9494:                                             ; preds = %9493
  br label %9495

9495:                                             ; preds = %9494
  %9496 = load i32, ptr @test_count, align 4, !tbaa !5
  %9497 = add nsw i32 %9496, 1
  store i32 %9497, ptr @test_count, align 4, !tbaa !5
  %9498 = call i32 @s2n_stuffer_write_uint16(ptr noundef %179, i16 noundef zeroext 0)
  %9499 = icmp eq i32 %9498, -1
  br i1 %9499, label %9500, label %9553

9500:                                             ; preds = %9495
  br label %9501

9501:                                             ; preds = %9500
  br label %9502

9502:                                             ; preds = %9501
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #10
  %9503 = call ptr @__errno_location() #11
  %9504 = load i32, ptr %9503, align 4, !tbaa !5
  store i32 %9504, ptr %188, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = call i32 @s2n_print_stacktrace(ptr noundef %9505)
  %9507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9508 = trunc i8 %9507 to i1
  br i1 %9508, label %9509, label %9531

9509:                                             ; preds = %9502
  %9510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9511 = call i32 @fileno(ptr noundef %9510) #10
  %9512 = call i32 @isatty(i32 noundef %9511) #10
  %9513 = icmp ne i32 %9512, 0
  br i1 %9513, label %9514, label %9531

9514:                                             ; preds = %9509
  %9515 = load i32, ptr %188, align 4, !tbaa !5
  %9516 = call ptr @__errno_location() #11
  store i32 %9515, ptr %9516, align 4, !tbaa !5
  %9517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9518 = load i32, ptr @test_count, align 4, !tbaa !5
  %9519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9520 = load i32, ptr %9519, align 4, !tbaa !5
  %9521 = call ptr @s2n_strerror(i32 noundef %9520, ptr noundef @.str.4)
  %9522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9523 = load i32, ptr %9522, align 4, !tbaa !5
  %9524 = call ptr @s2n_strerror_debug(i32 noundef %9523, ptr noundef @.str.4)
  %9525 = call ptr @__errno_location() #11
  %9526 = load i32, ptr %9525, align 4, !tbaa !5
  %9527 = call ptr @strerror(i32 noundef %9526) #10
  %9528 = call ptr @__errno_location() #11
  %9529 = load i32, ptr %9528, align 4, !tbaa !5
  %9530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9517, ptr noundef @.str.2, i32 noundef %9518, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9521, ptr noundef %9524, ptr noundef %9527, i32 noundef %9529) #10
  br label %9548

9531:                                             ; preds = %9509, %9502
  %9532 = load i32, ptr %188, align 4, !tbaa !5
  %9533 = call ptr @__errno_location() #11
  store i32 %9532, ptr %9533, align 4, !tbaa !5
  %9534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9535 = load i32, ptr @test_count, align 4, !tbaa !5
  %9536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9537 = load i32, ptr %9536, align 4, !tbaa !5
  %9538 = call ptr @s2n_strerror(i32 noundef %9537, ptr noundef @.str.4)
  %9539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9540 = load i32, ptr %9539, align 4, !tbaa !5
  %9541 = call ptr @s2n_strerror_debug(i32 noundef %9540, ptr noundef @.str.4)
  %9542 = call ptr @__errno_location() #11
  %9543 = load i32, ptr %9542, align 4, !tbaa !5
  %9544 = call ptr @strerror(i32 noundef %9543) #10
  %9545 = call ptr @__errno_location() #11
  %9546 = load i32, ptr %9545, align 4, !tbaa !5
  %9547 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9534, ptr noundef @.str.5, i32 noundef %9535, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 361, ptr noundef %9538, ptr noundef %9541, ptr noundef %9544, i32 noundef %9546) #10
  br label %9548

9548:                                             ; preds = %9531, %9514
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #10
  br label %9549

9549:                                             ; preds = %9548
  br label %9550

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

9551:                                             ; No predecessors!
  br label %9552

9552:                                             ; preds = %9551
  br label %9553

9553:                                             ; preds = %9552, %9495
  br label %9554

9554:                                             ; preds = %9553
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

9556:                                             ; preds = %9555
  %9557 = load i32, ptr @test_count, align 4, !tbaa !5
  %9558 = add nsw i32 %9557, 1
  store i32 %9558, ptr @test_count, align 4, !tbaa !5
  %9559 = load ptr, ptr %7, align 8, !tbaa !9
  %9560 = call i32 @s2n_extension_send(ptr noundef %182, ptr noundef %9559, ptr noundef %179)
  %9561 = icmp eq i32 %9560, -1
  br i1 %9561, label %9562, label %9615

9562:                                             ; preds = %9556
  br label %9563

9563:                                             ; preds = %9562
  br label %9564

9564:                                             ; preds = %9563
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #10
  %9565 = call ptr @__errno_location() #11
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  store i32 %9566, ptr %189, align 4, !tbaa !5
  %9567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9568 = call i32 @s2n_print_stacktrace(ptr noundef %9567)
  %9569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9570 = trunc i8 %9569 to i1
  br i1 %9570, label %9571, label %9593

9571:                                             ; preds = %9564
  %9572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9573 = call i32 @fileno(ptr noundef %9572) #10
  %9574 = call i32 @isatty(i32 noundef %9573) #10
  %9575 = icmp ne i32 %9574, 0
  br i1 %9575, label %9576, label %9593

9576:                                             ; preds = %9571
  %9577 = load i32, ptr %189, align 4, !tbaa !5
  %9578 = call ptr @__errno_location() #11
  store i32 %9577, ptr %9578, align 4, !tbaa !5
  %9579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9580 = load i32, ptr @test_count, align 4, !tbaa !5
  %9581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9582 = load i32, ptr %9581, align 4, !tbaa !5
  %9583 = call ptr @s2n_strerror(i32 noundef %9582, ptr noundef @.str.4)
  %9584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9585 = load i32, ptr %9584, align 4, !tbaa !5
  %9586 = call ptr @s2n_strerror_debug(i32 noundef %9585, ptr noundef @.str.4)
  %9587 = call ptr @__errno_location() #11
  %9588 = load i32, ptr %9587, align 4, !tbaa !5
  %9589 = call ptr @strerror(i32 noundef %9588) #10
  %9590 = call ptr @__errno_location() #11
  %9591 = load i32, ptr %9590, align 4, !tbaa !5
  %9592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9579, ptr noundef @.str.2, i32 noundef %9580, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9583, ptr noundef %9586, ptr noundef %9589, i32 noundef %9591) #10
  br label %9610

9593:                                             ; preds = %9571, %9564
  %9594 = load i32, ptr %189, align 4, !tbaa !5
  %9595 = call ptr @__errno_location() #11
  store i32 %9594, ptr %9595, align 4, !tbaa !5
  %9596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9597 = load i32, ptr @test_count, align 4, !tbaa !5
  %9598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9599 = load i32, ptr %9598, align 4, !tbaa !5
  %9600 = call ptr @s2n_strerror(i32 noundef %9599, ptr noundef @.str.4)
  %9601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9602 = load i32, ptr %9601, align 4, !tbaa !5
  %9603 = call ptr @s2n_strerror_debug(i32 noundef %9602, ptr noundef @.str.4)
  %9604 = call ptr @__errno_location() #11
  %9605 = load i32, ptr %9604, align 4, !tbaa !5
  %9606 = call ptr @strerror(i32 noundef %9605) #10
  %9607 = call ptr @__errno_location() #11
  %9608 = load i32, ptr %9607, align 4, !tbaa !5
  %9609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9596, ptr noundef @.str.5, i32 noundef %9597, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 362, ptr noundef %9600, ptr noundef %9603, ptr noundef %9606, i32 noundef %9608) #10
  br label %9610

9610:                                             ; preds = %9593, %9576
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #10
  br label %9611

9611:                                             ; preds = %9610
  br label %9612

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

9613:                                             ; No predecessors!
  br label %9614

9614:                                             ; preds = %9613
  br label %9615

9615:                                             ; preds = %9614, %9556
  br label %9616

9616:                                             ; preds = %9615
  br label %9617

9617:                                             ; preds = %9616
  br label %9618

9618:                                             ; preds = %9617
  %9619 = load i32, ptr @test_count, align 4, !tbaa !5
  %9620 = add nsw i32 %9619, 1
  store i32 %9620, ptr @test_count, align 4, !tbaa !5
  %9621 = getelementptr inbounds %struct.s2n_stuffer, ptr %179, i32 0, i32 2
  %9622 = load i32, ptr %9621, align 4, !tbaa !21
  %9623 = getelementptr inbounds %struct.s2n_stuffer, ptr %179, i32 0, i32 1
  %9624 = load i32, ptr %9623, align 8, !tbaa !23
  %9625 = sub i32 %9622, %9624
  %9626 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %183, i32 0, i32 2
  %9627 = load i8, ptr %9626, align 4, !tbaa !30
  %9628 = zext i8 %9627 to i32
  %9629 = icmp ugt i32 %9625, %9628
  br i1 %9629, label %9683, label %9630

9630:                                             ; preds = %9618
  br label %9631

9631:                                             ; preds = %9630
  br label %9632

9632:                                             ; preds = %9631
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #10
  %9633 = call ptr @__errno_location() #11
  %9634 = load i32, ptr %9633, align 4, !tbaa !5
  store i32 %9634, ptr %190, align 4, !tbaa !5
  %9635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9636 = call i32 @s2n_print_stacktrace(ptr noundef %9635)
  %9637 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9638 = trunc i8 %9637 to i1
  br i1 %9638, label %9639, label %9661

9639:                                             ; preds = %9632
  %9640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9641 = call i32 @fileno(ptr noundef %9640) #10
  %9642 = call i32 @isatty(i32 noundef %9641) #10
  %9643 = icmp ne i32 %9642, 0
  br i1 %9643, label %9644, label %9661

9644:                                             ; preds = %9639
  %9645 = load i32, ptr %190, align 4, !tbaa !5
  %9646 = call ptr @__errno_location() #11
  store i32 %9645, ptr %9646, align 4, !tbaa !5
  %9647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9648 = load i32, ptr @test_count, align 4, !tbaa !5
  %9649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call ptr @s2n_strerror(i32 noundef %9650, ptr noundef @.str.4)
  %9652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @s2n_strerror_debug(i32 noundef %9653, ptr noundef @.str.4)
  %9655 = call ptr @__errno_location() #11
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call ptr @strerror(i32 noundef %9656) #10
  %9658 = call ptr @__errno_location() #11
  %9659 = load i32, ptr %9658, align 4, !tbaa !5
  %9660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9647, ptr noundef @.str.2, i32 noundef %9648, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9651, ptr noundef %9654, ptr noundef %9657, i32 noundef %9659) #10
  br label %9678

9661:                                             ; preds = %9639, %9632
  %9662 = load i32, ptr %190, align 4, !tbaa !5
  %9663 = call ptr @__errno_location() #11
  store i32 %9662, ptr %9663, align 4, !tbaa !5
  %9664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9665 = load i32, ptr @test_count, align 4, !tbaa !5
  %9666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call ptr @s2n_strerror(i32 noundef %9667, ptr noundef @.str.4)
  %9669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9670 = load i32, ptr %9669, align 4, !tbaa !5
  %9671 = call ptr @s2n_strerror_debug(i32 noundef %9670, ptr noundef @.str.4)
  %9672 = call ptr @__errno_location() #11
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  %9674 = call ptr @strerror(i32 noundef %9673) #10
  %9675 = call ptr @__errno_location() #11
  %9676 = load i32, ptr %9675, align 4, !tbaa !5
  %9677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9664, ptr noundef @.str.5, i32 noundef %9665, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 364, ptr noundef %9668, ptr noundef %9671, ptr noundef %9674, i32 noundef %9676) #10
  br label %9678

9678:                                             ; preds = %9661, %9644
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #10
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

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

9681:                                             ; No predecessors!
  br label %9682

9682:                                             ; preds = %9681
  br label %9683

9683:                                             ; preds = %9682, %9618
  br label %9684

9684:                                             ; preds = %9683
  br label %9685

9685:                                             ; preds = %9684
  br label %9686

9686:                                             ; preds = %9685
  %9687 = load i32, ptr @test_count, align 4, !tbaa !5
  %9688 = add nsw i32 %9687, 1
  store i32 %9688, ptr @test_count, align 4, !tbaa !5
  %9689 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %183)
  %9690 = icmp eq i32 %9689, -1
  br i1 %9690, label %9691, label %9744

9691:                                             ; preds = %9686
  br label %9692

9692:                                             ; preds = %9691
  br label %9693

9693:                                             ; preds = %9692
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #10
  %9694 = call ptr @__errno_location() #11
  %9695 = load i32, ptr %9694, align 4, !tbaa !5
  store i32 %9695, ptr %191, align 4, !tbaa !5
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = call i32 @s2n_print_stacktrace(ptr noundef %9696)
  %9698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9699 = trunc i8 %9698 to i1
  br i1 %9699, label %9700, label %9722

9700:                                             ; preds = %9693
  %9701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9702 = call i32 @fileno(ptr noundef %9701) #10
  %9703 = call i32 @isatty(i32 noundef %9702) #10
  %9704 = icmp ne i32 %9703, 0
  br i1 %9704, label %9705, label %9722

9705:                                             ; preds = %9700
  %9706 = load i32, ptr %191, align 4, !tbaa !5
  %9707 = call ptr @__errno_location() #11
  store i32 %9706, ptr %9707, align 4, !tbaa !5
  %9708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9709 = load i32, ptr @test_count, align 4, !tbaa !5
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror(i32 noundef %9711, ptr noundef @.str.4)
  %9713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @s2n_strerror_debug(i32 noundef %9714, ptr noundef @.str.4)
  %9716 = call ptr @__errno_location() #11
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call ptr @strerror(i32 noundef %9717) #10
  %9719 = call ptr @__errno_location() #11
  %9720 = load i32, ptr %9719, align 4, !tbaa !5
  %9721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9708, ptr noundef @.str.2, i32 noundef %9709, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9712, ptr noundef %9715, ptr noundef %9718, i32 noundef %9720) #10
  br label %9739

9722:                                             ; preds = %9700, %9693
  %9723 = load i32, ptr %191, align 4, !tbaa !5
  %9724 = call ptr @__errno_location() #11
  store i32 %9723, ptr %9724, align 4, !tbaa !5
  %9725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9726 = load i32, ptr @test_count, align 4, !tbaa !5
  %9727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call ptr @s2n_strerror(i32 noundef %9728, ptr noundef @.str.4)
  %9730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9731 = load i32, ptr %9730, align 4, !tbaa !5
  %9732 = call ptr @s2n_strerror_debug(i32 noundef %9731, ptr noundef @.str.4)
  %9733 = call ptr @__errno_location() #11
  %9734 = load i32, ptr %9733, align 4, !tbaa !5
  %9735 = call ptr @strerror(i32 noundef %9734) #10
  %9736 = call ptr @__errno_location() #11
  %9737 = load i32, ptr %9736, align 4, !tbaa !5
  %9738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9725, ptr noundef @.str.5, i32 noundef %9726, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 365, ptr noundef %9729, ptr noundef %9732, ptr noundef %9735, i32 noundef %9737) #10
  br label %9739

9739:                                             ; preds = %9722, %9705
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #10
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

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

9742:                                             ; No predecessors!
  br label %9743

9743:                                             ; preds = %9742
  br label %9744

9744:                                             ; preds = %9743, %9686
  br label %9745

9745:                                             ; preds = %9744
  br label %9746

9746:                                             ; preds = %9745
  br label %9747

9747:                                             ; preds = %9746
  %9748 = load i32, ptr @test_count, align 4, !tbaa !5
  %9749 = add nsw i32 %9748, 1
  store i32 %9749, ptr @test_count, align 4, !tbaa !5
  %9750 = call i32 @s2n_extension_list_parse(ptr noundef %179, ptr noundef %178)
  %9751 = icmp eq i32 %9750, -1
  br i1 %9751, label %9752, label %9805

9752:                                             ; preds = %9747
  br label %9753

9753:                                             ; preds = %9752
  br label %9754

9754:                                             ; preds = %9753
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #10
  %9755 = call ptr @__errno_location() #11
  %9756 = load i32, ptr %9755, align 4, !tbaa !5
  store i32 %9756, ptr %192, align 4, !tbaa !5
  %9757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9758 = call i32 @s2n_print_stacktrace(ptr noundef %9757)
  %9759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9760 = trunc i8 %9759 to i1
  br i1 %9760, label %9761, label %9783

9761:                                             ; preds = %9754
  %9762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9763 = call i32 @fileno(ptr noundef %9762) #10
  %9764 = call i32 @isatty(i32 noundef %9763) #10
  %9765 = icmp ne i32 %9764, 0
  br i1 %9765, label %9766, label %9783

9766:                                             ; preds = %9761
  %9767 = load i32, ptr %192, align 4, !tbaa !5
  %9768 = call ptr @__errno_location() #11
  store i32 %9767, ptr %9768, align 4, !tbaa !5
  %9769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9770 = load i32, ptr @test_count, align 4, !tbaa !5
  %9771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror(i32 noundef %9772, ptr noundef @.str.4)
  %9774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9775 = load i32, ptr %9774, align 4, !tbaa !5
  %9776 = call ptr @s2n_strerror_debug(i32 noundef %9775, ptr noundef @.str.4)
  %9777 = call ptr @__errno_location() #11
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call ptr @strerror(i32 noundef %9778) #10
  %9780 = call ptr @__errno_location() #11
  %9781 = load i32, ptr %9780, align 4, !tbaa !5
  %9782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9769, ptr noundef @.str.2, i32 noundef %9770, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 367, ptr noundef %9773, ptr noundef %9776, ptr noundef %9779, i32 noundef %9781) #10
  br label %9800

9783:                                             ; preds = %9761, %9754
  %9784 = load i32, ptr %192, align 4, !tbaa !5
  %9785 = call ptr @__errno_location() #11
  store i32 %9784, ptr %9785, align 4, !tbaa !5
  %9786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9787 = load i32, ptr @test_count, align 4, !tbaa !5
  %9788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call ptr @s2n_strerror(i32 noundef %9789, ptr noundef @.str.4)
  %9791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9792 = load i32, ptr %9791, align 4, !tbaa !5
  %9793 = call ptr @s2n_strerror_debug(i32 noundef %9792, ptr noundef @.str.4)
  %9794 = call ptr @__errno_location() #11
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = call ptr @strerror(i32 noundef %9795) #10
  %9797 = call ptr @__errno_location() #11
  %9798 = load i32, ptr %9797, align 4, !tbaa !5
  %9799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9786, ptr noundef @.str.5, i32 noundef %9787, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 367, ptr noundef %9790, ptr noundef %9793, ptr noundef %9796, i32 noundef %9798) #10
  br label %9800

9800:                                             ; preds = %9783, %9766
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #10
  br label %9801

9801:                                             ; preds = %9800
  br label %9802

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

9803:                                             ; No predecessors!
  br label %9804

9804:                                             ; preds = %9803
  br label %9805

9805:                                             ; preds = %9804, %9747
  br label %9806

9806:                                             ; preds = %9805
  br label %9807

9807:                                             ; preds = %9806
  br label %9808

9808:                                             ; preds = %9807
  call void @llvm.lifetime.start.p0(i64 1, ptr %193) #10
  br label %9809

9809:                                             ; preds = %9808
  %9810 = load i32, ptr @test_count, align 4, !tbaa !5
  %9811 = add nsw i32 %9810, 1
  store i32 %9811, ptr @test_count, align 4, !tbaa !5
  %9812 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %193)
  %9813 = icmp eq i32 %9812, -1
  br i1 %9813, label %9814, label %9867

9814:                                             ; preds = %9809
  br label %9815

9815:                                             ; preds = %9814
  br label %9816

9816:                                             ; preds = %9815
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #10
  %9817 = call ptr @__errno_location() #11
  %9818 = load i32, ptr %9817, align 4, !tbaa !5
  store i32 %9818, ptr %194, align 4, !tbaa !5
  %9819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9820 = call i32 @s2n_print_stacktrace(ptr noundef %9819)
  %9821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9822 = trunc i8 %9821 to i1
  br i1 %9822, label %9823, label %9845

9823:                                             ; preds = %9816
  %9824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9825 = call i32 @fileno(ptr noundef %9824) #10
  %9826 = call i32 @isatty(i32 noundef %9825) #10
  %9827 = icmp ne i32 %9826, 0
  br i1 %9827, label %9828, label %9845

9828:                                             ; preds = %9823
  %9829 = load i32, ptr %194, align 4, !tbaa !5
  %9830 = call ptr @__errno_location() #11
  store i32 %9829, ptr %9830, align 4, !tbaa !5
  %9831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9832 = load i32, ptr @test_count, align 4, !tbaa !5
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror_debug(i32 noundef %9837, ptr noundef @.str.4)
  %9839 = call ptr @__errno_location() #11
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call ptr @strerror(i32 noundef %9840) #10
  %9842 = call ptr @__errno_location() #11
  %9843 = load i32, ptr %9842, align 4, !tbaa !5
  %9844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9831, ptr noundef @.str.2, i32 noundef %9832, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9835, ptr noundef %9838, ptr noundef %9841, i32 noundef %9843) #10
  br label %9862

9845:                                             ; preds = %9823, %9816
  %9846 = load i32, ptr %194, align 4, !tbaa !5
  %9847 = call ptr @__errno_location() #11
  store i32 %9846, ptr %9847, align 4, !tbaa !5
  %9848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9849 = load i32, ptr @test_count, align 4, !tbaa !5
  %9850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror(i32 noundef %9851, ptr noundef @.str.4)
  %9853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call ptr @s2n_strerror_debug(i32 noundef %9854, ptr noundef @.str.4)
  %9856 = call ptr @__errno_location() #11
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call ptr @strerror(i32 noundef %9857) #10
  %9859 = call ptr @__errno_location() #11
  %9860 = load i32, ptr %9859, align 4, !tbaa !5
  %9861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9848, ptr noundef @.str.5, i32 noundef %9849, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9852, ptr noundef %9855, ptr noundef %9858, i32 noundef %9860) #10
  br label %9862

9862:                                             ; preds = %9845, %9828
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #10
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

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

9865:                                             ; No predecessors!
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866, %9809
  br label %9868

9868:                                             ; preds = %9867
  br label %9869

9869:                                             ; preds = %9868
  br label %9870

9870:                                             ; preds = %9869
  %9871 = load i32, ptr @test_count, align 4, !tbaa !5
  %9872 = add nsw i32 %9871, 1
  store i32 %9872, ptr @test_count, align 4, !tbaa !5
  %9873 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %9874 = load i8, ptr %193, align 1, !tbaa !32
  %9875 = zext i8 %9874 to i64
  %9876 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %9873, i64 0, i64 %9875
  %9877 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %9876, i32 0, i32 0
  %9878 = getelementptr inbounds %struct.s2n_blob, ptr %9877, i32 0, i32 0
  %9879 = load ptr, ptr %9878, align 8, !tbaa !33
  %9880 = icmp eq ptr %9879, null
  br i1 %9880, label %9881, label %9934

9881:                                             ; preds = %9870
  br label %9882

9882:                                             ; preds = %9881
  br label %9883

9883:                                             ; preds = %9882
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #10
  %9884 = call ptr @__errno_location() #11
  %9885 = load i32, ptr %9884, align 4, !tbaa !5
  store i32 %9885, ptr %195, align 4, !tbaa !5
  %9886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9887 = call i32 @s2n_print_stacktrace(ptr noundef %9886)
  %9888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9889 = trunc i8 %9888 to i1
  br i1 %9889, label %9890, label %9912

9890:                                             ; preds = %9883
  %9891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9892 = call i32 @fileno(ptr noundef %9891) #10
  %9893 = call i32 @isatty(i32 noundef %9892) #10
  %9894 = icmp ne i32 %9893, 0
  br i1 %9894, label %9895, label %9912

9895:                                             ; preds = %9890
  %9896 = load i32, ptr %195, align 4, !tbaa !5
  %9897 = call ptr @__errno_location() #11
  store i32 %9896, ptr %9897, align 4, !tbaa !5
  %9898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9899 = load i32, ptr @test_count, align 4, !tbaa !5
  %9900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call ptr @s2n_strerror(i32 noundef %9901, ptr noundef @.str.4)
  %9903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9904 = load i32, ptr %9903, align 4, !tbaa !5
  %9905 = call ptr @s2n_strerror_debug(i32 noundef %9904, ptr noundef @.str.4)
  %9906 = call ptr @__errno_location() #11
  %9907 = load i32, ptr %9906, align 4, !tbaa !5
  %9908 = call ptr @strerror(i32 noundef %9907) #10
  %9909 = call ptr @__errno_location() #11
  %9910 = load i32, ptr %9909, align 4, !tbaa !5
  %9911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9898, ptr noundef @.str.2, i32 noundef %9899, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9902, ptr noundef %9905, ptr noundef %9908, i32 noundef %9910) #10
  br label %9929

9912:                                             ; preds = %9890, %9883
  %9913 = load i32, ptr %195, align 4, !tbaa !5
  %9914 = call ptr @__errno_location() #11
  store i32 %9913, ptr %9914, align 4, !tbaa !5
  %9915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9916 = load i32, ptr @test_count, align 4, !tbaa !5
  %9917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9918 = load i32, ptr %9917, align 4, !tbaa !5
  %9919 = call ptr @s2n_strerror(i32 noundef %9918, ptr noundef @.str.4)
  %9920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9921 = load i32, ptr %9920, align 4, !tbaa !5
  %9922 = call ptr @s2n_strerror_debug(i32 noundef %9921, ptr noundef @.str.4)
  %9923 = call ptr @__errno_location() #11
  %9924 = load i32, ptr %9923, align 4, !tbaa !5
  %9925 = call ptr @strerror(i32 noundef %9924) #10
  %9926 = call ptr @__errno_location() #11
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  %9928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9915, ptr noundef @.str.5, i32 noundef %9916, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9919, ptr noundef %9922, ptr noundef %9925, i32 noundef %9927) #10
  br label %9929

9929:                                             ; preds = %9912, %9895
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #10
  br label %9930

9930:                                             ; preds = %9929
  br label %9931

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

9932:                                             ; No predecessors!
  br label %9933

9933:                                             ; preds = %9932
  br label %9934

9934:                                             ; preds = %9933, %9870
  br label %9935

9935:                                             ; preds = %9934
  br label %9936

9936:                                             ; preds = %9935
  br label %9937

9937:                                             ; preds = %9936
  %9938 = load i32, ptr @test_count, align 4, !tbaa !5
  %9939 = add nsw i32 %9938, 1
  store i32 %9939, ptr @test_count, align 4, !tbaa !5
  %9940 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %9941 = load i8, ptr %193, align 1, !tbaa !32
  %9942 = zext i8 %9941 to i64
  %9943 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %9940, i64 0, i64 %9942
  %9944 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %9943, i32 0, i32 0
  %9945 = getelementptr inbounds %struct.s2n_blob, ptr %9944, i32 0, i32 1
  %9946 = load i32, ptr %9945, align 8, !tbaa !34
  %9947 = zext i32 %9946 to i64
  %9948 = icmp eq i64 %9947, 10
  br i1 %9948, label %10002, label %9949

9949:                                             ; preds = %9937
  br label %9950

9950:                                             ; preds = %9949
  br label %9951

9951:                                             ; preds = %9950
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #10
  %9952 = call ptr @__errno_location() #11
  %9953 = load i32, ptr %9952, align 4, !tbaa !5
  store i32 %9953, ptr %196, align 4, !tbaa !5
  %9954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9955 = call i32 @s2n_print_stacktrace(ptr noundef %9954)
  %9956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9957 = trunc i8 %9956 to i1
  br i1 %9957, label %9958, label %9980

9958:                                             ; preds = %9951
  %9959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9960 = call i32 @fileno(ptr noundef %9959) #10
  %9961 = call i32 @isatty(i32 noundef %9960) #10
  %9962 = icmp ne i32 %9961, 0
  br i1 %9962, label %9963, label %9980

9963:                                             ; preds = %9958
  %9964 = load i32, ptr %196, align 4, !tbaa !5
  %9965 = call ptr @__errno_location() #11
  store i32 %9964, ptr %9965, align 4, !tbaa !5
  %9966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9967 = load i32, ptr @test_count, align 4, !tbaa !5
  %9968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call ptr @s2n_strerror(i32 noundef %9969, ptr noundef @.str.4)
  %9971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9972 = load i32, ptr %9971, align 4, !tbaa !5
  %9973 = call ptr @s2n_strerror_debug(i32 noundef %9972, ptr noundef @.str.4)
  %9974 = call ptr @__errno_location() #11
  %9975 = load i32, ptr %9974, align 4, !tbaa !5
  %9976 = call ptr @strerror(i32 noundef %9975) #10
  %9977 = call ptr @__errno_location() #11
  %9978 = load i32, ptr %9977, align 4, !tbaa !5
  %9979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9966, ptr noundef @.str.2, i32 noundef %9967, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9970, ptr noundef %9973, ptr noundef %9976, i32 noundef %9978) #10
  br label %9997

9980:                                             ; preds = %9958, %9951
  %9981 = load i32, ptr %196, align 4, !tbaa !5
  %9982 = call ptr @__errno_location() #11
  store i32 %9981, ptr %9982, align 4, !tbaa !5
  %9983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9984 = load i32, ptr @test_count, align 4, !tbaa !5
  %9985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9986 = load i32, ptr %9985, align 4, !tbaa !5
  %9987 = call ptr @s2n_strerror(i32 noundef %9986, ptr noundef @.str.4)
  %9988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9989 = load i32, ptr %9988, align 4, !tbaa !5
  %9990 = call ptr @s2n_strerror_debug(i32 noundef %9989, ptr noundef @.str.4)
  %9991 = call ptr @__errno_location() #11
  %9992 = load i32, ptr %9991, align 4, !tbaa !5
  %9993 = call ptr @strerror(i32 noundef %9992) #10
  %9994 = call ptr @__errno_location() #11
  %9995 = load i32, ptr %9994, align 4, !tbaa !5
  %9996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9983, ptr noundef @.str.5, i32 noundef %9984, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 369, ptr noundef %9987, ptr noundef %9990, ptr noundef %9993, i32 noundef %9995) #10
  br label %9997

9997:                                             ; preds = %9980, %9963
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #10
  br label %9998

9998:                                             ; preds = %9997
  br label %9999

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

10000:                                            ; No predecessors!
  br label %10001

10001:                                            ; preds = %10000
  br label %10002

10002:                                            ; preds = %10001, %9937
  br label %10003

10003:                                            ; preds = %10002
  br label %10004

10004:                                            ; preds = %10003
  br label %10005

10005:                                            ; preds = %10004
  br label %10006

10006:                                            ; preds = %10005
  %10007 = load i32, ptr @test_count, align 4, !tbaa !5
  %10008 = add nsw i32 %10007, 1
  store i32 %10008, ptr @test_count, align 4, !tbaa !5
  %10009 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10010 = load i8, ptr %193, align 1, !tbaa !32
  %10011 = zext i8 %10010 to i64
  %10012 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10009, i64 0, i64 %10011
  %10013 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10012, i32 0, i32 0
  %10014 = getelementptr inbounds %struct.s2n_blob, ptr %10013, i32 0, i32 0
  %10015 = load ptr, ptr %10014, align 8, !tbaa !33
  %10016 = call i32 @memcmp(ptr noundef %10015, ptr noundef @test_data, i64 noundef 10) #13
  %10017 = icmp eq i32 %10016, 0
  br i1 %10017, label %10071, label %10018

10018:                                            ; preds = %10006
  br label %10019

10019:                                            ; preds = %10018
  br label %10020

10020:                                            ; preds = %10019
  call void @llvm.lifetime.start.p0(i64 4, ptr %197) #10
  %10021 = call ptr @__errno_location() #11
  %10022 = load i32, ptr %10021, align 4, !tbaa !5
  store i32 %10022, ptr %197, align 4, !tbaa !5
  %10023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10024 = call i32 @s2n_print_stacktrace(ptr noundef %10023)
  %10025 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10026 = trunc i8 %10025 to i1
  br i1 %10026, label %10027, label %10049

10027:                                            ; preds = %10020
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = call i32 @fileno(ptr noundef %10028) #10
  %10030 = call i32 @isatty(i32 noundef %10029) #10
  %10031 = icmp ne i32 %10030, 0
  br i1 %10031, label %10032, label %10049

10032:                                            ; preds = %10027
  %10033 = load i32, ptr %197, align 4, !tbaa !5
  %10034 = call ptr @__errno_location() #11
  store i32 %10033, ptr %10034, align 4, !tbaa !5
  %10035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10036 = load i32, ptr @test_count, align 4, !tbaa !5
  %10037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10038 = load i32, ptr %10037, align 4, !tbaa !5
  %10039 = call ptr @s2n_strerror(i32 noundef %10038, ptr noundef @.str.4)
  %10040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10041 = load i32, ptr %10040, align 4, !tbaa !5
  %10042 = call ptr @s2n_strerror_debug(i32 noundef %10041, ptr noundef @.str.4)
  %10043 = call ptr @__errno_location() #11
  %10044 = load i32, ptr %10043, align 4, !tbaa !5
  %10045 = call ptr @strerror(i32 noundef %10044) #10
  %10046 = call ptr @__errno_location() #11
  %10047 = load i32, ptr %10046, align 4, !tbaa !5
  %10048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10035, ptr noundef @.str.2, i32 noundef %10036, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10039, ptr noundef %10042, ptr noundef %10045, i32 noundef %10047) #10
  br label %10066

10049:                                            ; preds = %10027, %10020
  %10050 = load i32, ptr %197, align 4, !tbaa !5
  %10051 = call ptr @__errno_location() #11
  store i32 %10050, ptr %10051, align 4, !tbaa !5
  %10052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10053 = load i32, ptr @test_count, align 4, !tbaa !5
  %10054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10055 = load i32, ptr %10054, align 4, !tbaa !5
  %10056 = call ptr @s2n_strerror(i32 noundef %10055, ptr noundef @.str.4)
  %10057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10058 = load i32, ptr %10057, align 4, !tbaa !5
  %10059 = call ptr @s2n_strerror_debug(i32 noundef %10058, ptr noundef @.str.4)
  %10060 = call ptr @__errno_location() #11
  %10061 = load i32, ptr %10060, align 4, !tbaa !5
  %10062 = call ptr @strerror(i32 noundef %10061) #10
  %10063 = call ptr @__errno_location() #11
  %10064 = load i32, ptr %10063, align 4, !tbaa !5
  %10065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10052, ptr noundef @.str.5, i32 noundef %10053, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10056, ptr noundef %10059, ptr noundef %10062, i32 noundef %10064) #10
  br label %10066

10066:                                            ; preds = %10049, %10032
  call void @llvm.lifetime.end.p0(i64 4, ptr %197) #10
  br label %10067

10067:                                            ; preds = %10066
  br label %10068

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

10069:                                            ; No predecessors!
  br label %10070

10070:                                            ; preds = %10069
  br label %10071

10071:                                            ; preds = %10070, %10006
  br label %10072

10072:                                            ; preds = %10071
  br label %10073

10073:                                            ; preds = %10072
  br label %10074

10074:                                            ; preds = %10073
  br label %10075

10075:                                            ; preds = %10074
  call void @llvm.lifetime.end.p0(i64 1, ptr %193) #10
  br label %10076

10076:                                            ; preds = %10075
  br label %10077

10077:                                            ; preds = %10076
  br label %10078

10078:                                            ; preds = %10077
  call void @llvm.lifetime.start.p0(i64 1, ptr %198) #10
  br label %10079

10079:                                            ; preds = %10078
  %10080 = load i32, ptr @test_count, align 4, !tbaa !5
  %10081 = add nsw i32 %10080, 1
  store i32 %10081, ptr @test_count, align 4, !tbaa !5
  %10082 = getelementptr inbounds %struct.s2n_extension_type, ptr %181, i32 0, i32 0
  %10083 = load i16, ptr %10082, align 8, !tbaa !38
  %10084 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %10083, ptr noundef %198)
  %10085 = icmp eq i32 %10084, -1
  br i1 %10085, label %10086, label %10139

10086:                                            ; preds = %10079
  br label %10087

10087:                                            ; preds = %10086
  br label %10088

10088:                                            ; preds = %10087
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #10
  %10089 = call ptr @__errno_location() #11
  %10090 = load i32, ptr %10089, align 4, !tbaa !5
  store i32 %10090, ptr %199, align 4, !tbaa !5
  %10091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10092 = call i32 @s2n_print_stacktrace(ptr noundef %10091)
  %10093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10094 = trunc i8 %10093 to i1
  br i1 %10094, label %10095, label %10117

10095:                                            ; preds = %10088
  %10096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10097 = call i32 @fileno(ptr noundef %10096) #10
  %10098 = call i32 @isatty(i32 noundef %10097) #10
  %10099 = icmp ne i32 %10098, 0
  br i1 %10099, label %10100, label %10117

10100:                                            ; preds = %10095
  %10101 = load i32, ptr %199, align 4, !tbaa !5
  %10102 = call ptr @__errno_location() #11
  store i32 %10101, ptr %10102, align 4, !tbaa !5
  %10103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10104 = load i32, ptr @test_count, align 4, !tbaa !5
  %10105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10106 = load i32, ptr %10105, align 4, !tbaa !5
  %10107 = call ptr @s2n_strerror(i32 noundef %10106, ptr noundef @.str.4)
  %10108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10109 = load i32, ptr %10108, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror_debug(i32 noundef %10109, ptr noundef @.str.4)
  %10111 = call ptr @__errno_location() #11
  %10112 = load i32, ptr %10111, align 4, !tbaa !5
  %10113 = call ptr @strerror(i32 noundef %10112) #10
  %10114 = call ptr @__errno_location() #11
  %10115 = load i32, ptr %10114, align 4, !tbaa !5
  %10116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10103, ptr noundef @.str.2, i32 noundef %10104, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10107, ptr noundef %10110, ptr noundef %10113, i32 noundef %10115) #10
  br label %10134

10117:                                            ; preds = %10095, %10088
  %10118 = load i32, ptr %199, align 4, !tbaa !5
  %10119 = call ptr @__errno_location() #11
  store i32 %10118, ptr %10119, align 4, !tbaa !5
  %10120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10121 = load i32, ptr @test_count, align 4, !tbaa !5
  %10122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10123 = load i32, ptr %10122, align 4, !tbaa !5
  %10124 = call ptr @s2n_strerror(i32 noundef %10123, ptr noundef @.str.4)
  %10125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10126 = load i32, ptr %10125, align 4, !tbaa !5
  %10127 = call ptr @s2n_strerror_debug(i32 noundef %10126, ptr noundef @.str.4)
  %10128 = call ptr @__errno_location() #11
  %10129 = load i32, ptr %10128, align 4, !tbaa !5
  %10130 = call ptr @strerror(i32 noundef %10129) #10
  %10131 = call ptr @__errno_location() #11
  %10132 = load i32, ptr %10131, align 4, !tbaa !5
  %10133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10120, ptr noundef @.str.5, i32 noundef %10121, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10124, ptr noundef %10127, ptr noundef %10130, i32 noundef %10132) #10
  br label %10134

10134:                                            ; preds = %10117, %10100
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #10
  br label %10135

10135:                                            ; preds = %10134
  br label %10136

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

10137:                                            ; No predecessors!
  br label %10138

10138:                                            ; preds = %10137
  br label %10139

10139:                                            ; preds = %10138, %10079
  br label %10140

10140:                                            ; preds = %10139
  br label %10141

10141:                                            ; preds = %10140
  br label %10142

10142:                                            ; preds = %10141
  %10143 = load i32, ptr @test_count, align 4, !tbaa !5
  %10144 = add nsw i32 %10143, 1
  store i32 %10144, ptr @test_count, align 4, !tbaa !5
  %10145 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10146 = load i8, ptr %198, align 1, !tbaa !32
  %10147 = zext i8 %10146 to i64
  %10148 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10145, i64 0, i64 %10147
  %10149 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10148, i32 0, i32 0
  %10150 = getelementptr inbounds %struct.s2n_blob, ptr %10149, i32 0, i32 0
  %10151 = load ptr, ptr %10150, align 8, !tbaa !33
  %10152 = icmp eq ptr %10151, null
  br i1 %10152, label %10153, label %10206

10153:                                            ; preds = %10142
  br label %10154

10154:                                            ; preds = %10153
  br label %10155

10155:                                            ; preds = %10154
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #10
  %10156 = call ptr @__errno_location() #11
  %10157 = load i32, ptr %10156, align 4, !tbaa !5
  store i32 %10157, ptr %200, align 4, !tbaa !5
  %10158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10159 = call i32 @s2n_print_stacktrace(ptr noundef %10158)
  %10160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10161 = trunc i8 %10160 to i1
  br i1 %10161, label %10162, label %10184

10162:                                            ; preds = %10155
  %10163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10164 = call i32 @fileno(ptr noundef %10163) #10
  %10165 = call i32 @isatty(i32 noundef %10164) #10
  %10166 = icmp ne i32 %10165, 0
  br i1 %10166, label %10167, label %10184

10167:                                            ; preds = %10162
  %10168 = load i32, ptr %200, align 4, !tbaa !5
  %10169 = call ptr @__errno_location() #11
  store i32 %10168, ptr %10169, align 4, !tbaa !5
  %10170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10171 = load i32, ptr @test_count, align 4, !tbaa !5
  %10172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call ptr @s2n_strerror(i32 noundef %10173, ptr noundef @.str.4)
  %10175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  %10177 = call ptr @s2n_strerror_debug(i32 noundef %10176, ptr noundef @.str.4)
  %10178 = call ptr @__errno_location() #11
  %10179 = load i32, ptr %10178, align 4, !tbaa !5
  %10180 = call ptr @strerror(i32 noundef %10179) #10
  %10181 = call ptr @__errno_location() #11
  %10182 = load i32, ptr %10181, align 4, !tbaa !5
  %10183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10170, ptr noundef @.str.2, i32 noundef %10171, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10174, ptr noundef %10177, ptr noundef %10180, i32 noundef %10182) #10
  br label %10201

10184:                                            ; preds = %10162, %10155
  %10185 = load i32, ptr %200, align 4, !tbaa !5
  %10186 = call ptr @__errno_location() #11
  store i32 %10185, ptr %10186, align 4, !tbaa !5
  %10187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10188 = load i32, ptr @test_count, align 4, !tbaa !5
  %10189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10190 = load i32, ptr %10189, align 4, !tbaa !5
  %10191 = call ptr @s2n_strerror(i32 noundef %10190, ptr noundef @.str.4)
  %10192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10193 = load i32, ptr %10192, align 4, !tbaa !5
  %10194 = call ptr @s2n_strerror_debug(i32 noundef %10193, ptr noundef @.str.4)
  %10195 = call ptr @__errno_location() #11
  %10196 = load i32, ptr %10195, align 4, !tbaa !5
  %10197 = call ptr @strerror(i32 noundef %10196) #10
  %10198 = call ptr @__errno_location() #11
  %10199 = load i32, ptr %10198, align 4, !tbaa !5
  %10200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10187, ptr noundef @.str.5, i32 noundef %10188, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10191, ptr noundef %10194, ptr noundef %10197, i32 noundef %10199) #10
  br label %10201

10201:                                            ; preds = %10184, %10167
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #10
  br label %10202

10202:                                            ; preds = %10201
  br label %10203

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

10204:                                            ; No predecessors!
  br label %10205

10205:                                            ; preds = %10204
  br label %10206

10206:                                            ; preds = %10205, %10142
  br label %10207

10207:                                            ; preds = %10206
  br label %10208

10208:                                            ; preds = %10207
  br label %10209

10209:                                            ; preds = %10208
  %10210 = load i32, ptr @test_count, align 4, !tbaa !5
  %10211 = add nsw i32 %10210, 1
  store i32 %10211, ptr @test_count, align 4, !tbaa !5
  %10212 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10213 = load i8, ptr %198, align 1, !tbaa !32
  %10214 = zext i8 %10213 to i64
  %10215 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10212, i64 0, i64 %10214
  %10216 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10215, i32 0, i32 0
  %10217 = getelementptr inbounds %struct.s2n_blob, ptr %10216, i32 0, i32 1
  %10218 = load i32, ptr %10217, align 8, !tbaa !34
  %10219 = icmp eq i32 %10218, 0
  br i1 %10219, label %10273, label %10220

10220:                                            ; preds = %10209
  br label %10221

10221:                                            ; preds = %10220
  br label %10222

10222:                                            ; preds = %10221
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #10
  %10223 = call ptr @__errno_location() #11
  %10224 = load i32, ptr %10223, align 4, !tbaa !5
  store i32 %10224, ptr %201, align 4, !tbaa !5
  %10225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10226 = call i32 @s2n_print_stacktrace(ptr noundef %10225)
  %10227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10228 = trunc i8 %10227 to i1
  br i1 %10228, label %10229, label %10251

10229:                                            ; preds = %10222
  %10230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10231 = call i32 @fileno(ptr noundef %10230) #10
  %10232 = call i32 @isatty(i32 noundef %10231) #10
  %10233 = icmp ne i32 %10232, 0
  br i1 %10233, label %10234, label %10251

10234:                                            ; preds = %10229
  %10235 = load i32, ptr %201, align 4, !tbaa !5
  %10236 = call ptr @__errno_location() #11
  store i32 %10235, ptr %10236, align 4, !tbaa !5
  %10237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10238 = load i32, ptr @test_count, align 4, !tbaa !5
  %10239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10240 = load i32, ptr %10239, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror(i32 noundef %10240, ptr noundef @.str.4)
  %10242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  %10244 = call ptr @s2n_strerror_debug(i32 noundef %10243, ptr noundef @.str.4)
  %10245 = call ptr @__errno_location() #11
  %10246 = load i32, ptr %10245, align 4, !tbaa !5
  %10247 = call ptr @strerror(i32 noundef %10246) #10
  %10248 = call ptr @__errno_location() #11
  %10249 = load i32, ptr %10248, align 4, !tbaa !5
  %10250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10237, ptr noundef @.str.2, i32 noundef %10238, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10241, ptr noundef %10244, ptr noundef %10247, i32 noundef %10249) #10
  br label %10268

10251:                                            ; preds = %10229, %10222
  %10252 = load i32, ptr %201, align 4, !tbaa !5
  %10253 = call ptr @__errno_location() #11
  store i32 %10252, ptr %10253, align 4, !tbaa !5
  %10254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10255 = load i32, ptr @test_count, align 4, !tbaa !5
  %10256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10257 = load i32, ptr %10256, align 4, !tbaa !5
  %10258 = call ptr @s2n_strerror(i32 noundef %10257, ptr noundef @.str.4)
  %10259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10260 = load i32, ptr %10259, align 4, !tbaa !5
  %10261 = call ptr @s2n_strerror_debug(i32 noundef %10260, ptr noundef @.str.4)
  %10262 = call ptr @__errno_location() #11
  %10263 = load i32, ptr %10262, align 4, !tbaa !5
  %10264 = call ptr @strerror(i32 noundef %10263) #10
  %10265 = call ptr @__errno_location() #11
  %10266 = load i32, ptr %10265, align 4, !tbaa !5
  %10267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10254, ptr noundef @.str.5, i32 noundef %10255, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 370, ptr noundef %10258, ptr noundef %10261, ptr noundef %10264, i32 noundef %10266) #10
  br label %10268

10268:                                            ; preds = %10251, %10234
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #10
  br label %10269

10269:                                            ; preds = %10268
  br label %10270

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

10271:                                            ; No predecessors!
  br label %10272

10272:                                            ; preds = %10271
  br label %10273

10273:                                            ; preds = %10272, %10209
  br label %10274

10274:                                            ; preds = %10273
  br label %10275

10275:                                            ; preds = %10274
  br label %10276

10276:                                            ; preds = %10275
  br label %10277

10277:                                            ; preds = %10276
  br label %10278

10278:                                            ; preds = %10277
  call void @llvm.lifetime.end.p0(i64 1, ptr %198) #10
  br label %10279

10279:                                            ; preds = %10278
  br label %10280

10280:                                            ; preds = %10279
  br label %10281

10281:                                            ; preds = %10280
  call void @llvm.lifetime.start.p0(i64 1, ptr %202) #10
  br label %10282

10282:                                            ; preds = %10281
  %10283 = load i32, ptr @test_count, align 4, !tbaa !5
  %10284 = add nsw i32 %10283, 1
  store i32 %10284, ptr @test_count, align 4, !tbaa !5
  %10285 = getelementptr inbounds %struct.s2n_extension_type, ptr %182, i32 0, i32 0
  %10286 = load i16, ptr %10285, align 8, !tbaa !38
  %10287 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %10286, ptr noundef %202)
  %10288 = icmp eq i32 %10287, -1
  br i1 %10288, label %10289, label %10342

10289:                                            ; preds = %10282
  br label %10290

10290:                                            ; preds = %10289
  br label %10291

10291:                                            ; preds = %10290
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #10
  %10292 = call ptr @__errno_location() #11
  %10293 = load i32, ptr %10292, align 4, !tbaa !5
  store i32 %10293, ptr %203, align 4, !tbaa !5
  %10294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10295 = call i32 @s2n_print_stacktrace(ptr noundef %10294)
  %10296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10297 = trunc i8 %10296 to i1
  br i1 %10297, label %10298, label %10320

10298:                                            ; preds = %10291
  %10299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10300 = call i32 @fileno(ptr noundef %10299) #10
  %10301 = call i32 @isatty(i32 noundef %10300) #10
  %10302 = icmp ne i32 %10301, 0
  br i1 %10302, label %10303, label %10320

10303:                                            ; preds = %10298
  %10304 = load i32, ptr %203, align 4, !tbaa !5
  %10305 = call ptr @__errno_location() #11
  store i32 %10304, ptr %10305, align 4, !tbaa !5
  %10306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10307 = load i32, ptr @test_count, align 4, !tbaa !5
  %10308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @s2n_strerror(i32 noundef %10309, ptr noundef @.str.4)
  %10311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call ptr @s2n_strerror_debug(i32 noundef %10312, ptr noundef @.str.4)
  %10314 = call ptr @__errno_location() #11
  %10315 = load i32, ptr %10314, align 4, !tbaa !5
  %10316 = call ptr @strerror(i32 noundef %10315) #10
  %10317 = call ptr @__errno_location() #11
  %10318 = load i32, ptr %10317, align 4, !tbaa !5
  %10319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10306, ptr noundef @.str.2, i32 noundef %10307, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10310, ptr noundef %10313, ptr noundef %10316, i32 noundef %10318) #10
  br label %10337

10320:                                            ; preds = %10298, %10291
  %10321 = load i32, ptr %203, align 4, !tbaa !5
  %10322 = call ptr @__errno_location() #11
  store i32 %10321, ptr %10322, align 4, !tbaa !5
  %10323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10324 = load i32, ptr @test_count, align 4, !tbaa !5
  %10325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10326 = load i32, ptr %10325, align 4, !tbaa !5
  %10327 = call ptr @s2n_strerror(i32 noundef %10326, ptr noundef @.str.4)
  %10328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10329 = load i32, ptr %10328, align 4, !tbaa !5
  %10330 = call ptr @s2n_strerror_debug(i32 noundef %10329, ptr noundef @.str.4)
  %10331 = call ptr @__errno_location() #11
  %10332 = load i32, ptr %10331, align 4, !tbaa !5
  %10333 = call ptr @strerror(i32 noundef %10332) #10
  %10334 = call ptr @__errno_location() #11
  %10335 = load i32, ptr %10334, align 4, !tbaa !5
  %10336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10323, ptr noundef @.str.5, i32 noundef %10324, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10327, ptr noundef %10330, ptr noundef %10333, i32 noundef %10335) #10
  br label %10337

10337:                                            ; preds = %10320, %10303
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #10
  br label %10338

10338:                                            ; preds = %10337
  br label %10339

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

10340:                                            ; No predecessors!
  br label %10341

10341:                                            ; preds = %10340
  br label %10342

10342:                                            ; preds = %10341, %10282
  br label %10343

10343:                                            ; preds = %10342
  br label %10344

10344:                                            ; preds = %10343
  br label %10345

10345:                                            ; preds = %10344
  %10346 = load i32, ptr @test_count, align 4, !tbaa !5
  %10347 = add nsw i32 %10346, 1
  store i32 %10347, ptr @test_count, align 4, !tbaa !5
  %10348 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10349 = load i8, ptr %202, align 1, !tbaa !32
  %10350 = zext i8 %10349 to i64
  %10351 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10348, i64 0, i64 %10350
  %10352 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10351, i32 0, i32 0
  %10353 = getelementptr inbounds %struct.s2n_blob, ptr %10352, i32 0, i32 0
  %10354 = load ptr, ptr %10353, align 8, !tbaa !33
  %10355 = icmp eq ptr %10354, null
  br i1 %10355, label %10356, label %10409

10356:                                            ; preds = %10345
  br label %10357

10357:                                            ; preds = %10356
  br label %10358

10358:                                            ; preds = %10357
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #10
  %10359 = call ptr @__errno_location() #11
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  store i32 %10360, ptr %204, align 4, !tbaa !5
  %10361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10362 = call i32 @s2n_print_stacktrace(ptr noundef %10361)
  %10363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10364 = trunc i8 %10363 to i1
  br i1 %10364, label %10365, label %10387

10365:                                            ; preds = %10358
  %10366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10367 = call i32 @fileno(ptr noundef %10366) #10
  %10368 = call i32 @isatty(i32 noundef %10367) #10
  %10369 = icmp ne i32 %10368, 0
  br i1 %10369, label %10370, label %10387

10370:                                            ; preds = %10365
  %10371 = load i32, ptr %204, align 4, !tbaa !5
  %10372 = call ptr @__errno_location() #11
  store i32 %10371, ptr %10372, align 4, !tbaa !5
  %10373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10374 = load i32, ptr @test_count, align 4, !tbaa !5
  %10375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10376 = load i32, ptr %10375, align 4, !tbaa !5
  %10377 = call ptr @s2n_strerror(i32 noundef %10376, ptr noundef @.str.4)
  %10378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10379 = load i32, ptr %10378, align 4, !tbaa !5
  %10380 = call ptr @s2n_strerror_debug(i32 noundef %10379, ptr noundef @.str.4)
  %10381 = call ptr @__errno_location() #11
  %10382 = load i32, ptr %10381, align 4, !tbaa !5
  %10383 = call ptr @strerror(i32 noundef %10382) #10
  %10384 = call ptr @__errno_location() #11
  %10385 = load i32, ptr %10384, align 4, !tbaa !5
  %10386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10373, ptr noundef @.str.2, i32 noundef %10374, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10377, ptr noundef %10380, ptr noundef %10383, i32 noundef %10385) #10
  br label %10404

10387:                                            ; preds = %10365, %10358
  %10388 = load i32, ptr %204, align 4, !tbaa !5
  %10389 = call ptr @__errno_location() #11
  store i32 %10388, ptr %10389, align 4, !tbaa !5
  %10390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  %10394 = call ptr @s2n_strerror(i32 noundef %10393, ptr noundef @.str.4)
  %10395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call ptr @s2n_strerror_debug(i32 noundef %10396, ptr noundef @.str.4)
  %10398 = call ptr @__errno_location() #11
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  %10400 = call ptr @strerror(i32 noundef %10399) #10
  %10401 = call ptr @__errno_location() #11
  %10402 = load i32, ptr %10401, align 4, !tbaa !5
  %10403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10390, ptr noundef @.str.5, i32 noundef %10391, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10394, ptr noundef %10397, ptr noundef %10400, i32 noundef %10402) #10
  br label %10404

10404:                                            ; preds = %10387, %10370
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #10
  br label %10405

10405:                                            ; preds = %10404
  br label %10406

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

10407:                                            ; No predecessors!
  br label %10408

10408:                                            ; preds = %10407
  br label %10409

10409:                                            ; preds = %10408, %10345
  br label %10410

10410:                                            ; preds = %10409
  br label %10411

10411:                                            ; preds = %10410
  br label %10412

10412:                                            ; preds = %10411
  %10413 = load i32, ptr @test_count, align 4, !tbaa !5
  %10414 = add nsw i32 %10413, 1
  store i32 %10414, ptr @test_count, align 4, !tbaa !5
  %10415 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10416 = load i8, ptr %202, align 1, !tbaa !32
  %10417 = zext i8 %10416 to i64
  %10418 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10415, i64 0, i64 %10417
  %10419 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10418, i32 0, i32 0
  %10420 = getelementptr inbounds %struct.s2n_blob, ptr %10419, i32 0, i32 1
  %10421 = load i32, ptr %10420, align 8, !tbaa !34
  %10422 = zext i32 %10421 to i64
  %10423 = icmp eq i64 %10422, 20
  br i1 %10423, label %10477, label %10424

10424:                                            ; preds = %10412
  br label %10425

10425:                                            ; preds = %10424
  br label %10426

10426:                                            ; preds = %10425
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #10
  %10427 = call ptr @__errno_location() #11
  %10428 = load i32, ptr %10427, align 4, !tbaa !5
  store i32 %10428, ptr %205, align 4, !tbaa !5
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = call i32 @s2n_print_stacktrace(ptr noundef %10429)
  %10431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10432 = trunc i8 %10431 to i1
  br i1 %10432, label %10433, label %10455

10433:                                            ; preds = %10426
  %10434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10435 = call i32 @fileno(ptr noundef %10434) #10
  %10436 = call i32 @isatty(i32 noundef %10435) #10
  %10437 = icmp ne i32 %10436, 0
  br i1 %10437, label %10438, label %10455

10438:                                            ; preds = %10433
  %10439 = load i32, ptr %205, align 4, !tbaa !5
  %10440 = call ptr @__errno_location() #11
  store i32 %10439, ptr %10440, align 4, !tbaa !5
  %10441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10442 = load i32, ptr @test_count, align 4, !tbaa !5
  %10443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10444 = load i32, ptr %10443, align 4, !tbaa !5
  %10445 = call ptr @s2n_strerror(i32 noundef %10444, ptr noundef @.str.4)
  %10446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10447 = load i32, ptr %10446, align 4, !tbaa !5
  %10448 = call ptr @s2n_strerror_debug(i32 noundef %10447, ptr noundef @.str.4)
  %10449 = call ptr @__errno_location() #11
  %10450 = load i32, ptr %10449, align 4, !tbaa !5
  %10451 = call ptr @strerror(i32 noundef %10450) #10
  %10452 = call ptr @__errno_location() #11
  %10453 = load i32, ptr %10452, align 4, !tbaa !5
  %10454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10441, ptr noundef @.str.2, i32 noundef %10442, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10445, ptr noundef %10448, ptr noundef %10451, i32 noundef %10453) #10
  br label %10472

10455:                                            ; preds = %10433, %10426
  %10456 = load i32, ptr %205, align 4, !tbaa !5
  %10457 = call ptr @__errno_location() #11
  store i32 %10456, ptr %10457, align 4, !tbaa !5
  %10458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10459 = load i32, ptr @test_count, align 4, !tbaa !5
  %10460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10461 = load i32, ptr %10460, align 4, !tbaa !5
  %10462 = call ptr @s2n_strerror(i32 noundef %10461, ptr noundef @.str.4)
  %10463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10464 = load i32, ptr %10463, align 4, !tbaa !5
  %10465 = call ptr @s2n_strerror_debug(i32 noundef %10464, ptr noundef @.str.4)
  %10466 = call ptr @__errno_location() #11
  %10467 = load i32, ptr %10466, align 4, !tbaa !5
  %10468 = call ptr @strerror(i32 noundef %10467) #10
  %10469 = call ptr @__errno_location() #11
  %10470 = load i32, ptr %10469, align 4, !tbaa !5
  %10471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10458, ptr noundef @.str.5, i32 noundef %10459, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10462, ptr noundef %10465, ptr noundef %10468, i32 noundef %10470) #10
  br label %10472

10472:                                            ; preds = %10455, %10438
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #10
  br label %10473

10473:                                            ; preds = %10472
  br label %10474

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

10475:                                            ; No predecessors!
  br label %10476

10476:                                            ; preds = %10475
  br label %10477

10477:                                            ; preds = %10476, %10412
  br label %10478

10478:                                            ; preds = %10477
  br label %10479

10479:                                            ; preds = %10478
  br label %10480

10480:                                            ; preds = %10479
  br label %10481

10481:                                            ; preds = %10480
  %10482 = load i32, ptr @test_count, align 4, !tbaa !5
  %10483 = add nsw i32 %10482, 1
  store i32 %10483, ptr @test_count, align 4, !tbaa !5
  %10484 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10485 = load i8, ptr %202, align 1, !tbaa !32
  %10486 = zext i8 %10485 to i64
  %10487 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10484, i64 0, i64 %10486
  %10488 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %10487, i32 0, i32 0
  %10489 = getelementptr inbounds %struct.s2n_blob, ptr %10488, i32 0, i32 0
  %10490 = load ptr, ptr %10489, align 8, !tbaa !33
  %10491 = call i32 @memcmp(ptr noundef %10490, ptr noundef @other_test_data, i64 noundef 20) #13
  %10492 = icmp eq i32 %10491, 0
  br i1 %10492, label %10546, label %10493

10493:                                            ; preds = %10481
  br label %10494

10494:                                            ; preds = %10493
  br label %10495

10495:                                            ; preds = %10494
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #10
  %10496 = call ptr @__errno_location() #11
  %10497 = load i32, ptr %10496, align 4, !tbaa !5
  store i32 %10497, ptr %206, align 4, !tbaa !5
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @s2n_print_stacktrace(ptr noundef %10498)
  %10500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10501 = trunc i8 %10500 to i1
  br i1 %10501, label %10502, label %10524

10502:                                            ; preds = %10495
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = call i32 @fileno(ptr noundef %10503) #10
  %10505 = call i32 @isatty(i32 noundef %10504) #10
  %10506 = icmp ne i32 %10505, 0
  br i1 %10506, label %10507, label %10524

10507:                                            ; preds = %10502
  %10508 = load i32, ptr %206, align 4, !tbaa !5
  %10509 = call ptr @__errno_location() #11
  store i32 %10508, ptr %10509, align 4, !tbaa !5
  %10510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10511 = load i32, ptr @test_count, align 4, !tbaa !5
  %10512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10513 = load i32, ptr %10512, align 4, !tbaa !5
  %10514 = call ptr @s2n_strerror(i32 noundef %10513, ptr noundef @.str.4)
  %10515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  %10517 = call ptr @s2n_strerror_debug(i32 noundef %10516, ptr noundef @.str.4)
  %10518 = call ptr @__errno_location() #11
  %10519 = load i32, ptr %10518, align 4, !tbaa !5
  %10520 = call ptr @strerror(i32 noundef %10519) #10
  %10521 = call ptr @__errno_location() #11
  %10522 = load i32, ptr %10521, align 4, !tbaa !5
  %10523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10510, ptr noundef @.str.2, i32 noundef %10511, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10514, ptr noundef %10517, ptr noundef %10520, i32 noundef %10522) #10
  br label %10541

10524:                                            ; preds = %10502, %10495
  %10525 = load i32, ptr %206, align 4, !tbaa !5
  %10526 = call ptr @__errno_location() #11
  store i32 %10525, ptr %10526, align 4, !tbaa !5
  %10527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10528 = load i32, ptr @test_count, align 4, !tbaa !5
  %10529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror(i32 noundef %10530, ptr noundef @.str.4)
  %10532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @s2n_strerror_debug(i32 noundef %10533, ptr noundef @.str.4)
  %10535 = call ptr @__errno_location() #11
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call ptr @strerror(i32 noundef %10536) #10
  %10538 = call ptr @__errno_location() #11
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10527, ptr noundef @.str.5, i32 noundef %10528, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 371, ptr noundef %10531, ptr noundef %10534, ptr noundef %10537, i32 noundef %10539) #10
  br label %10541

10541:                                            ; preds = %10524, %10507
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #10
  br label %10542

10542:                                            ; preds = %10541
  br label %10543

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

10544:                                            ; No predecessors!
  br label %10545

10545:                                            ; preds = %10544
  br label %10546

10546:                                            ; preds = %10545, %10481
  br label %10547

10547:                                            ; preds = %10546
  br label %10548

10548:                                            ; preds = %10547
  br label %10549

10549:                                            ; preds = %10548
  br label %10550

10550:                                            ; preds = %10549
  call void @llvm.lifetime.end.p0(i64 1, ptr %202) #10
  br label %10551

10551:                                            ; preds = %10550
  br label %10552

10552:                                            ; preds = %10551
  br label %10553

10553:                                            ; preds = %10552
  %10554 = load i32, ptr @test_count, align 4, !tbaa !5
  %10555 = add nsw i32 %10554, 1
  store i32 %10555, ptr @test_count, align 4, !tbaa !5
  %10556 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 1
  %10557 = getelementptr inbounds %struct.s2n_blob, ptr %10556, i32 0, i32 0
  %10558 = load ptr, ptr %10557, align 8, !tbaa !24
  %10559 = getelementptr inbounds %struct.s2n_stuffer, ptr %179, i32 0, i32 0
  %10560 = getelementptr inbounds %struct.s2n_blob, ptr %10559, i32 0, i32 0
  %10561 = load ptr, ptr %10560, align 8, !tbaa !26
  %10562 = getelementptr inbounds i8, ptr %10561, i64 2
  %10563 = icmp eq ptr %10558, %10562
  br i1 %10563, label %10617, label %10564

10564:                                            ; preds = %10553
  br label %10565

10565:                                            ; preds = %10564
  br label %10566

10566:                                            ; preds = %10565
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #10
  %10567 = call ptr @__errno_location() #11
  %10568 = load i32, ptr %10567, align 4, !tbaa !5
  store i32 %10568, ptr %207, align 4, !tbaa !5
  %10569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10570 = call i32 @s2n_print_stacktrace(ptr noundef %10569)
  %10571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10572 = trunc i8 %10571 to i1
  br i1 %10572, label %10573, label %10595

10573:                                            ; preds = %10566
  %10574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10575 = call i32 @fileno(ptr noundef %10574) #10
  %10576 = call i32 @isatty(i32 noundef %10575) #10
  %10577 = icmp ne i32 %10576, 0
  br i1 %10577, label %10578, label %10595

10578:                                            ; preds = %10573
  %10579 = load i32, ptr %207, align 4, !tbaa !5
  %10580 = call ptr @__errno_location() #11
  store i32 %10579, ptr %10580, align 4, !tbaa !5
  %10581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10582 = load i32, ptr @test_count, align 4, !tbaa !5
  %10583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call ptr @s2n_strerror(i32 noundef %10584, ptr noundef @.str.4)
  %10586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10587 = load i32, ptr %10586, align 4, !tbaa !5
  %10588 = call ptr @s2n_strerror_debug(i32 noundef %10587, ptr noundef @.str.4)
  %10589 = call ptr @__errno_location() #11
  %10590 = load i32, ptr %10589, align 4, !tbaa !5
  %10591 = call ptr @strerror(i32 noundef %10590) #10
  %10592 = call ptr @__errno_location() #11
  %10593 = load i32, ptr %10592, align 4, !tbaa !5
  %10594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10581, ptr noundef @.str.2, i32 noundef %10582, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10585, ptr noundef %10588, ptr noundef %10591, i32 noundef %10593) #10
  br label %10612

10595:                                            ; preds = %10573, %10566
  %10596 = load i32, ptr %207, align 4, !tbaa !5
  %10597 = call ptr @__errno_location() #11
  store i32 %10596, ptr %10597, align 4, !tbaa !5
  %10598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10599 = load i32, ptr @test_count, align 4, !tbaa !5
  %10600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = call ptr @s2n_strerror(i32 noundef %10601, ptr noundef @.str.4)
  %10603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10604 = load i32, ptr %10603, align 4, !tbaa !5
  %10605 = call ptr @s2n_strerror_debug(i32 noundef %10604, ptr noundef @.str.4)
  %10606 = call ptr @__errno_location() #11
  %10607 = load i32, ptr %10606, align 4, !tbaa !5
  %10608 = call ptr @strerror(i32 noundef %10607) #10
  %10609 = call ptr @__errno_location() #11
  %10610 = load i32, ptr %10609, align 4, !tbaa !5
  %10611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10598, ptr noundef @.str.5, i32 noundef %10599, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10602, ptr noundef %10605, ptr noundef %10608, i32 noundef %10610) #10
  br label %10612

10612:                                            ; preds = %10595, %10578
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #10
  br label %10613

10613:                                            ; preds = %10612
  br label %10614

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

10615:                                            ; No predecessors!
  br label %10616

10616:                                            ; preds = %10615
  br label %10617

10617:                                            ; preds = %10616, %10553
  br label %10618

10618:                                            ; preds = %10617
  br label %10619

10619:                                            ; preds = %10618
  br label %10620

10620:                                            ; preds = %10619
  %10621 = load i32, ptr @test_count, align 4, !tbaa !5
  %10622 = add nsw i32 %10621, 1
  store i32 %10622, ptr @test_count, align 4, !tbaa !5
  %10623 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 1
  %10624 = getelementptr inbounds %struct.s2n_blob, ptr %10623, i32 0, i32 1
  %10625 = load i32, ptr %10624, align 8, !tbaa !27
  %10626 = zext i32 %10625 to i64
  %10627 = getelementptr inbounds %struct.s2n_stuffer, ptr %179, i32 0, i32 3
  %10628 = load i32, ptr %10627, align 8, !tbaa !29
  %10629 = zext i32 %10628 to i64
  %10630 = sub i64 %10629, 2
  %10631 = icmp eq i64 %10626, %10630
  br i1 %10631, label %10685, label %10632

10632:                                            ; preds = %10620
  br label %10633

10633:                                            ; preds = %10632
  br label %10634

10634:                                            ; preds = %10633
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #10
  %10635 = call ptr @__errno_location() #11
  %10636 = load i32, ptr %10635, align 4, !tbaa !5
  store i32 %10636, ptr %208, align 4, !tbaa !5
  %10637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10638 = call i32 @s2n_print_stacktrace(ptr noundef %10637)
  %10639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10640 = trunc i8 %10639 to i1
  br i1 %10640, label %10641, label %10663

10641:                                            ; preds = %10634
  %10642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10643 = call i32 @fileno(ptr noundef %10642) #10
  %10644 = call i32 @isatty(i32 noundef %10643) #10
  %10645 = icmp ne i32 %10644, 0
  br i1 %10645, label %10646, label %10663

10646:                                            ; preds = %10641
  %10647 = load i32, ptr %208, align 4, !tbaa !5
  %10648 = call ptr @__errno_location() #11
  store i32 %10647, ptr %10648, align 4, !tbaa !5
  %10649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10650 = load i32, ptr @test_count, align 4, !tbaa !5
  %10651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10652 = load i32, ptr %10651, align 4, !tbaa !5
  %10653 = call ptr @s2n_strerror(i32 noundef %10652, ptr noundef @.str.4)
  %10654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10655 = load i32, ptr %10654, align 4, !tbaa !5
  %10656 = call ptr @s2n_strerror_debug(i32 noundef %10655, ptr noundef @.str.4)
  %10657 = call ptr @__errno_location() #11
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  %10659 = call ptr @strerror(i32 noundef %10658) #10
  %10660 = call ptr @__errno_location() #11
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  %10662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10649, ptr noundef @.str.2, i32 noundef %10650, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10653, ptr noundef %10656, ptr noundef %10659, i32 noundef %10661) #10
  br label %10680

10663:                                            ; preds = %10641, %10634
  %10664 = load i32, ptr %208, align 4, !tbaa !5
  %10665 = call ptr @__errno_location() #11
  store i32 %10664, ptr %10665, align 4, !tbaa !5
  %10666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10667 = load i32, ptr @test_count, align 4, !tbaa !5
  %10668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10669 = load i32, ptr %10668, align 4, !tbaa !5
  %10670 = call ptr @s2n_strerror(i32 noundef %10669, ptr noundef @.str.4)
  %10671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10672 = load i32, ptr %10671, align 4, !tbaa !5
  %10673 = call ptr @s2n_strerror_debug(i32 noundef %10672, ptr noundef @.str.4)
  %10674 = call ptr @__errno_location() #11
  %10675 = load i32, ptr %10674, align 4, !tbaa !5
  %10676 = call ptr @strerror(i32 noundef %10675) #10
  %10677 = call ptr @__errno_location() #11
  %10678 = load i32, ptr %10677, align 4, !tbaa !5
  %10679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10666, ptr noundef @.str.5, i32 noundef %10667, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 372, ptr noundef %10670, ptr noundef %10673, ptr noundef %10676, i32 noundef %10678) #10
  br label %10680

10680:                                            ; preds = %10663, %10646
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #10
  br label %10681

10681:                                            ; preds = %10680
  br label %10682

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

10683:                                            ; No predecessors!
  br label %10684

10684:                                            ; preds = %10683
  br label %10685

10685:                                            ; preds = %10684, %10620
  br label %10686

10686:                                            ; preds = %10685
  br label %10687

10687:                                            ; preds = %10686
  br label %10688

10688:                                            ; preds = %10687
  %10689 = load i32, ptr @test_count, align 4, !tbaa !5
  %10690 = add nsw i32 %10689, 1
  store i32 %10690, ptr @test_count, align 4, !tbaa !5
  %10691 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 2
  %10692 = load i16, ptr %10691, align 8, !tbaa !28
  %10693 = zext i16 %10692 to i32
  %10694 = icmp eq i32 %10693, 3
  br i1 %10694, label %10748, label %10695

10695:                                            ; preds = %10688
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

10697:                                            ; preds = %10696
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #10
  %10698 = call ptr @__errno_location() #11
  %10699 = load i32, ptr %10698, align 4, !tbaa !5
  store i32 %10699, ptr %209, align 4, !tbaa !5
  %10700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10701 = call i32 @s2n_print_stacktrace(ptr noundef %10700)
  %10702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10703 = trunc i8 %10702 to i1
  br i1 %10703, label %10704, label %10726

10704:                                            ; preds = %10697
  %10705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10706 = call i32 @fileno(ptr noundef %10705) #10
  %10707 = call i32 @isatty(i32 noundef %10706) #10
  %10708 = icmp ne i32 %10707, 0
  br i1 %10708, label %10709, label %10726

10709:                                            ; preds = %10704
  %10710 = load i32, ptr %209, align 4, !tbaa !5
  %10711 = call ptr @__errno_location() #11
  store i32 %10710, ptr %10711, align 4, !tbaa !5
  %10712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10713 = load i32, ptr @test_count, align 4, !tbaa !5
  %10714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10715 = load i32, ptr %10714, align 4, !tbaa !5
  %10716 = call ptr @s2n_strerror(i32 noundef %10715, ptr noundef @.str.4)
  %10717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10718 = load i32, ptr %10717, align 4, !tbaa !5
  %10719 = call ptr @s2n_strerror_debug(i32 noundef %10718, ptr noundef @.str.4)
  %10720 = call ptr @__errno_location() #11
  %10721 = load i32, ptr %10720, align 4, !tbaa !5
  %10722 = call ptr @strerror(i32 noundef %10721) #10
  %10723 = call ptr @__errno_location() #11
  %10724 = load i32, ptr %10723, align 4, !tbaa !5
  %10725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10712, ptr noundef @.str.2, i32 noundef %10713, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10716, ptr noundef %10719, ptr noundef %10722, i32 noundef %10724) #10
  br label %10743

10726:                                            ; preds = %10704, %10697
  %10727 = load i32, ptr %209, align 4, !tbaa !5
  %10728 = call ptr @__errno_location() #11
  store i32 %10727, ptr %10728, align 4, !tbaa !5
  %10729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10730 = load i32, ptr @test_count, align 4, !tbaa !5
  %10731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10732 = load i32, ptr %10731, align 4, !tbaa !5
  %10733 = call ptr @s2n_strerror(i32 noundef %10732, ptr noundef @.str.4)
  %10734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10735 = load i32, ptr %10734, align 4, !tbaa !5
  %10736 = call ptr @s2n_strerror_debug(i32 noundef %10735, ptr noundef @.str.4)
  %10737 = call ptr @__errno_location() #11
  %10738 = load i32, ptr %10737, align 4, !tbaa !5
  %10739 = call ptr @strerror(i32 noundef %10738) #10
  %10740 = call ptr @__errno_location() #11
  %10741 = load i32, ptr %10740, align 4, !tbaa !5
  %10742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10729, ptr noundef @.str.5, i32 noundef %10730, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 373, ptr noundef %10733, ptr noundef %10736, ptr noundef %10739, i32 noundef %10741) #10
  br label %10743

10743:                                            ; preds = %10726, %10709
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #10
  br label %10744

10744:                                            ; preds = %10743
  br label %10745

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

10746:                                            ; No predecessors!
  br label %10747

10747:                                            ; preds = %10746
  br label %10748

10748:                                            ; preds = %10747, %10688
  br label %10749

10749:                                            ; preds = %10748
  br label %10750

10750:                                            ; preds = %10749
  br label %10751

10751:                                            ; preds = %10750
  call void @llvm.lifetime.start.p0(i64 1, ptr %210) #10
  br label %10752

10752:                                            ; preds = %10751
  %10753 = load i32, ptr @test_count, align 4, !tbaa !5
  %10754 = add nsw i32 %10753, 1
  store i32 %10754, ptr @test_count, align 4, !tbaa !5
  %10755 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef %210)
  %10756 = icmp eq i32 %10755, -1
  br i1 %10756, label %10757, label %10810

10757:                                            ; preds = %10752
  br label %10758

10758:                                            ; preds = %10757
  br label %10759

10759:                                            ; preds = %10758
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #10
  %10760 = call ptr @__errno_location() #11
  %10761 = load i32, ptr %10760, align 4, !tbaa !5
  store i32 %10761, ptr %211, align 4, !tbaa !5
  %10762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10763 = call i32 @s2n_print_stacktrace(ptr noundef %10762)
  %10764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10765 = trunc i8 %10764 to i1
  br i1 %10765, label %10766, label %10788

10766:                                            ; preds = %10759
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = call i32 @fileno(ptr noundef %10767) #10
  %10769 = call i32 @isatty(i32 noundef %10768) #10
  %10770 = icmp ne i32 %10769, 0
  br i1 %10770, label %10771, label %10788

10771:                                            ; preds = %10766
  %10772 = load i32, ptr %211, align 4, !tbaa !5
  %10773 = call ptr @__errno_location() #11
  store i32 %10772, ptr %10773, align 4, !tbaa !5
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = load i32, ptr @test_count, align 4, !tbaa !5
  %10776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10777 = load i32, ptr %10776, align 4, !tbaa !5
  %10778 = call ptr @s2n_strerror(i32 noundef %10777, ptr noundef @.str.4)
  %10779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10780 = load i32, ptr %10779, align 4, !tbaa !5
  %10781 = call ptr @s2n_strerror_debug(i32 noundef %10780, ptr noundef @.str.4)
  %10782 = call ptr @__errno_location() #11
  %10783 = load i32, ptr %10782, align 4, !tbaa !5
  %10784 = call ptr @strerror(i32 noundef %10783) #10
  %10785 = call ptr @__errno_location() #11
  %10786 = load i32, ptr %10785, align 4, !tbaa !5
  %10787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10774, ptr noundef @.str.2, i32 noundef %10775, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10778, ptr noundef %10781, ptr noundef %10784, i32 noundef %10786) #10
  br label %10805

10788:                                            ; preds = %10766, %10759
  %10789 = load i32, ptr %211, align 4, !tbaa !5
  %10790 = call ptr @__errno_location() #11
  store i32 %10789, ptr %10790, align 4, !tbaa !5
  %10791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10792 = load i32, ptr @test_count, align 4, !tbaa !5
  %10793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10794 = load i32, ptr %10793, align 4, !tbaa !5
  %10795 = call ptr @s2n_strerror(i32 noundef %10794, ptr noundef @.str.4)
  %10796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10797 = load i32, ptr %10796, align 4, !tbaa !5
  %10798 = call ptr @s2n_strerror_debug(i32 noundef %10797, ptr noundef @.str.4)
  %10799 = call ptr @__errno_location() #11
  %10800 = load i32, ptr %10799, align 4, !tbaa !5
  %10801 = call ptr @strerror(i32 noundef %10800) #10
  %10802 = call ptr @__errno_location() #11
  %10803 = load i32, ptr %10802, align 4, !tbaa !5
  %10804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10791, ptr noundef @.str.5, i32 noundef %10792, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 375, ptr noundef %10795, ptr noundef %10798, ptr noundef %10801, i32 noundef %10803) #10
  br label %10805

10805:                                            ; preds = %10788, %10771
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #10
  br label %10806

10806:                                            ; preds = %10805
  br label %10807

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

10808:                                            ; No predecessors!
  br label %10809

10809:                                            ; preds = %10808
  br label %10810

10810:                                            ; preds = %10809, %10752
  br label %10811

10811:                                            ; preds = %10810
  br label %10812

10812:                                            ; preds = %10811
  %10813 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10814 = load i8, ptr %210, align 1, !tbaa !32
  %10815 = zext i8 %10814 to i64
  %10816 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10813, i64 0, i64 %10815
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10816, ptr align 16 @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr %210) #10
  br label %10817

10817:                                            ; preds = %10812
  br label %10818

10818:                                            ; preds = %10817
  br label %10819

10819:                                            ; preds = %10818
  call void @llvm.lifetime.start.p0(i64 1, ptr %212) #10
  br label %10820

10820:                                            ; preds = %10819
  %10821 = load i32, ptr @test_count, align 4, !tbaa !5
  %10822 = add nsw i32 %10821, 1
  store i32 %10822, ptr @test_count, align 4, !tbaa !5
  %10823 = getelementptr inbounds %struct.s2n_extension_type, ptr %181, i32 0, i32 0
  %10824 = load i16, ptr %10823, align 8, !tbaa !38
  %10825 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %10824, ptr noundef %212)
  %10826 = icmp eq i32 %10825, -1
  br i1 %10826, label %10827, label %10880

10827:                                            ; preds = %10820
  br label %10828

10828:                                            ; preds = %10827
  br label %10829

10829:                                            ; preds = %10828
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #10
  %10830 = call ptr @__errno_location() #11
  %10831 = load i32, ptr %10830, align 4, !tbaa !5
  store i32 %10831, ptr %213, align 4, !tbaa !5
  %10832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10833 = call i32 @s2n_print_stacktrace(ptr noundef %10832)
  %10834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10835 = trunc i8 %10834 to i1
  br i1 %10835, label %10836, label %10858

10836:                                            ; preds = %10829
  %10837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10838 = call i32 @fileno(ptr noundef %10837) #10
  %10839 = call i32 @isatty(i32 noundef %10838) #10
  %10840 = icmp ne i32 %10839, 0
  br i1 %10840, label %10841, label %10858

10841:                                            ; preds = %10836
  %10842 = load i32, ptr %213, align 4, !tbaa !5
  %10843 = call ptr @__errno_location() #11
  store i32 %10842, ptr %10843, align 4, !tbaa !5
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = load i32, ptr @test_count, align 4, !tbaa !5
  %10846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10847 = load i32, ptr %10846, align 4, !tbaa !5
  %10848 = call ptr @s2n_strerror(i32 noundef %10847, ptr noundef @.str.4)
  %10849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10850 = load i32, ptr %10849, align 4, !tbaa !5
  %10851 = call ptr @s2n_strerror_debug(i32 noundef %10850, ptr noundef @.str.4)
  %10852 = call ptr @__errno_location() #11
  %10853 = load i32, ptr %10852, align 4, !tbaa !5
  %10854 = call ptr @strerror(i32 noundef %10853) #10
  %10855 = call ptr @__errno_location() #11
  %10856 = load i32, ptr %10855, align 4, !tbaa !5
  %10857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10844, ptr noundef @.str.2, i32 noundef %10845, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10848, ptr noundef %10851, ptr noundef %10854, i32 noundef %10856) #10
  br label %10875

10858:                                            ; preds = %10836, %10829
  %10859 = load i32, ptr %213, align 4, !tbaa !5
  %10860 = call ptr @__errno_location() #11
  store i32 %10859, ptr %10860, align 4, !tbaa !5
  %10861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10862 = load i32, ptr @test_count, align 4, !tbaa !5
  %10863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10864 = load i32, ptr %10863, align 4, !tbaa !5
  %10865 = call ptr @s2n_strerror(i32 noundef %10864, ptr noundef @.str.4)
  %10866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10867 = load i32, ptr %10866, align 4, !tbaa !5
  %10868 = call ptr @s2n_strerror_debug(i32 noundef %10867, ptr noundef @.str.4)
  %10869 = call ptr @__errno_location() #11
  %10870 = load i32, ptr %10869, align 4, !tbaa !5
  %10871 = call ptr @strerror(i32 noundef %10870) #10
  %10872 = call ptr @__errno_location() #11
  %10873 = load i32, ptr %10872, align 4, !tbaa !5
  %10874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10861, ptr noundef @.str.5, i32 noundef %10862, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10865, ptr noundef %10868, ptr noundef %10871, i32 noundef %10873) #10
  br label %10875

10875:                                            ; preds = %10858, %10841
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #10
  br label %10876

10876:                                            ; preds = %10875
  br label %10877

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

10878:                                            ; No predecessors!
  br label %10879

10879:                                            ; preds = %10878
  br label %10880

10880:                                            ; preds = %10879, %10820
  br label %10881

10881:                                            ; preds = %10880
  br label %10882

10882:                                            ; preds = %10881
  %10883 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10884 = load i8, ptr %212, align 1, !tbaa !32
  %10885 = zext i8 %10884 to i64
  %10886 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10883, i64 0, i64 %10885
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10886, ptr align 16 @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr %212) #10
  br label %10887

10887:                                            ; preds = %10882
  br label %10888

10888:                                            ; preds = %10887
  br label %10889

10889:                                            ; preds = %10888
  call void @llvm.lifetime.start.p0(i64 1, ptr %214) #10
  br label %10890

10890:                                            ; preds = %10889
  %10891 = load i32, ptr @test_count, align 4, !tbaa !5
  %10892 = add nsw i32 %10891, 1
  store i32 %10892, ptr @test_count, align 4, !tbaa !5
  %10893 = getelementptr inbounds %struct.s2n_extension_type, ptr %182, i32 0, i32 0
  %10894 = load i16, ptr %10893, align 8, !tbaa !38
  %10895 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %10894, ptr noundef %214)
  %10896 = icmp eq i32 %10895, -1
  br i1 %10896, label %10897, label %10950

10897:                                            ; preds = %10890
  br label %10898

10898:                                            ; preds = %10897
  br label %10899

10899:                                            ; preds = %10898
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #10
  %10900 = call ptr @__errno_location() #11
  %10901 = load i32, ptr %10900, align 4, !tbaa !5
  store i32 %10901, ptr %215, align 4, !tbaa !5
  %10902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10903 = call i32 @s2n_print_stacktrace(ptr noundef %10902)
  %10904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10905 = trunc i8 %10904 to i1
  br i1 %10905, label %10906, label %10928

10906:                                            ; preds = %10899
  %10907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10908 = call i32 @fileno(ptr noundef %10907) #10
  %10909 = call i32 @isatty(i32 noundef %10908) #10
  %10910 = icmp ne i32 %10909, 0
  br i1 %10910, label %10911, label %10928

10911:                                            ; preds = %10906
  %10912 = load i32, ptr %215, align 4, !tbaa !5
  %10913 = call ptr @__errno_location() #11
  store i32 %10912, ptr %10913, align 4, !tbaa !5
  %10914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10915 = load i32, ptr @test_count, align 4, !tbaa !5
  %10916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10917 = load i32, ptr %10916, align 4, !tbaa !5
  %10918 = call ptr @s2n_strerror(i32 noundef %10917, ptr noundef @.str.4)
  %10919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10920 = load i32, ptr %10919, align 4, !tbaa !5
  %10921 = call ptr @s2n_strerror_debug(i32 noundef %10920, ptr noundef @.str.4)
  %10922 = call ptr @__errno_location() #11
  %10923 = load i32, ptr %10922, align 4, !tbaa !5
  %10924 = call ptr @strerror(i32 noundef %10923) #10
  %10925 = call ptr @__errno_location() #11
  %10926 = load i32, ptr %10925, align 4, !tbaa !5
  %10927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10914, ptr noundef @.str.2, i32 noundef %10915, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 377, ptr noundef %10918, ptr noundef %10921, ptr noundef %10924, i32 noundef %10926) #10
  br label %10945

10928:                                            ; preds = %10906, %10899
  %10929 = load i32, ptr %215, align 4, !tbaa !5
  %10930 = call ptr @__errno_location() #11
  store i32 %10929, ptr %10930, align 4, !tbaa !5
  %10931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10932 = load i32, ptr @test_count, align 4, !tbaa !5
  %10933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10934 = load i32, ptr %10933, align 4, !tbaa !5
  %10935 = call ptr @s2n_strerror(i32 noundef %10934, ptr noundef @.str.4)
  %10936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10937 = load i32, ptr %10936, align 4, !tbaa !5
  %10938 = call ptr @s2n_strerror_debug(i32 noundef %10937, ptr noundef @.str.4)
  %10939 = call ptr @__errno_location() #11
  %10940 = load i32, ptr %10939, align 4, !tbaa !5
  %10941 = call ptr @strerror(i32 noundef %10940) #10
  %10942 = call ptr @__errno_location() #11
  %10943 = load i32, ptr %10942, align 4, !tbaa !5
  %10944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10931, ptr noundef @.str.5, i32 noundef %10932, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 377, ptr noundef %10935, ptr noundef %10938, ptr noundef %10941, i32 noundef %10943) #10
  br label %10945

10945:                                            ; preds = %10928, %10911
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #10
  br label %10946

10946:                                            ; preds = %10945
  br label %10947

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

10948:                                            ; No predecessors!
  br label %10949

10949:                                            ; preds = %10948
  br label %10950

10950:                                            ; preds = %10949, %10890
  br label %10951

10951:                                            ; preds = %10950
  br label %10952

10952:                                            ; preds = %10951
  %10953 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10954 = load i8, ptr %214, align 1, !tbaa !32
  %10955 = zext i8 %10954 to i64
  %10956 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10953, i64 0, i64 %10955
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %10956, ptr align 16 @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr %214) #10
  br label %10957

10957:                                            ; preds = %10952
  br label %10958

10958:                                            ; preds = %10957
  br label %10959

10959:                                            ; preds = %10958
  br label %10960

10960:                                            ; preds = %10959
  %10961 = load i32, ptr @test_count, align 4, !tbaa !5
  %10962 = add nsw i32 %10961, 1
  store i32 %10962, ptr @test_count, align 4, !tbaa !5
  %10963 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %178, i32 0, i32 0
  %10964 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %10963, i64 0, i64 0
  %10965 = call i32 @memcmp(ptr noundef %10964, ptr noundef @EMPTY_PARSED_EXTENSIONS, i64 noundef 672) #13
  %10966 = icmp eq i32 %10965, 0
  br i1 %10966, label %11020, label %10967

10967:                                            ; preds = %10960
  br label %10968

10968:                                            ; preds = %10967
  br label %10969

10969:                                            ; preds = %10968
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #10
  %10970 = call ptr @__errno_location() #11
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  store i32 %10971, ptr %216, align 4, !tbaa !5
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = call i32 @s2n_print_stacktrace(ptr noundef %10972)
  %10974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10975 = trunc i8 %10974 to i1
  br i1 %10975, label %10976, label %10998

10976:                                            ; preds = %10969
  %10977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10978 = call i32 @fileno(ptr noundef %10977) #10
  %10979 = call i32 @isatty(i32 noundef %10978) #10
  %10980 = icmp ne i32 %10979, 0
  br i1 %10980, label %10981, label %10998

10981:                                            ; preds = %10976
  %10982 = load i32, ptr %216, align 4, !tbaa !5
  %10983 = call ptr @__errno_location() #11
  store i32 %10982, ptr %10983, align 4, !tbaa !5
  %10984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10985 = load i32, ptr @test_count, align 4, !tbaa !5
  %10986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10987 = load i32, ptr %10986, align 4, !tbaa !5
  %10988 = call ptr @s2n_strerror(i32 noundef %10987, ptr noundef @.str.4)
  %10989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10990 = load i32, ptr %10989, align 4, !tbaa !5
  %10991 = call ptr @s2n_strerror_debug(i32 noundef %10990, ptr noundef @.str.4)
  %10992 = call ptr @__errno_location() #11
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  %10994 = call ptr @strerror(i32 noundef %10993) #10
  %10995 = call ptr @__errno_location() #11
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  %10997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10984, ptr noundef @.str.2, i32 noundef %10985, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 378, ptr noundef %10988, ptr noundef %10991, ptr noundef %10994, i32 noundef %10996) #10
  br label %11015

10998:                                            ; preds = %10976, %10969
  %10999 = load i32, ptr %216, align 4, !tbaa !5
  %11000 = call ptr @__errno_location() #11
  store i32 %10999, ptr %11000, align 4, !tbaa !5
  %11001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11002 = load i32, ptr @test_count, align 4, !tbaa !5
  %11003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11004 = load i32, ptr %11003, align 4, !tbaa !5
  %11005 = call ptr @s2n_strerror(i32 noundef %11004, ptr noundef @.str.4)
  %11006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11007 = load i32, ptr %11006, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror_debug(i32 noundef %11007, ptr noundef @.str.4)
  %11009 = call ptr @__errno_location() #11
  %11010 = load i32, ptr %11009, align 4, !tbaa !5
  %11011 = call ptr @strerror(i32 noundef %11010) #10
  %11012 = call ptr @__errno_location() #11
  %11013 = load i32, ptr %11012, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11001, ptr noundef @.str.5, i32 noundef %11002, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 378, ptr noundef %11005, ptr noundef %11008, ptr noundef %11011, i32 noundef %11013) #10
  br label %11015

11015:                                            ; preds = %10998, %10981
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #10
  br label %11016

11016:                                            ; preds = %11015
  br label %11017

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

11018:                                            ; No predecessors!
  br label %11019

11019:                                            ; preds = %11018
  br label %11020

11020:                                            ; preds = %11019, %10960
  br label %11021

11021:                                            ; preds = %11020
  br label %11022

11022:                                            ; preds = %11021
  br label %11023

11023:                                            ; preds = %11022
  br label %11024

11024:                                            ; preds = %11023
  br label %11025

11025:                                            ; preds = %11024
  %11026 = load i32, ptr @test_count, align 4, !tbaa !5
  %11027 = add nsw i32 %11026, 1
  store i32 %11027, ptr @test_count, align 4, !tbaa !5
  %11028 = call i32 @s2n_stuffer_free(ptr noundef %179)
  %11029 = icmp eq i32 %11028, -1
  br i1 %11029, label %11030, label %11083

11030:                                            ; preds = %11025
  br label %11031

11031:                                            ; preds = %11030
  br label %11032

11032:                                            ; preds = %11031
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #10
  %11033 = call ptr @__errno_location() #11
  %11034 = load i32, ptr %11033, align 4, !tbaa !5
  store i32 %11034, ptr %217, align 4, !tbaa !5
  %11035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11036 = call i32 @s2n_print_stacktrace(ptr noundef %11035)
  %11037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11038 = trunc i8 %11037 to i1
  br i1 %11038, label %11039, label %11061

11039:                                            ; preds = %11032
  %11040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11041 = call i32 @fileno(ptr noundef %11040) #10
  %11042 = call i32 @isatty(i32 noundef %11041) #10
  %11043 = icmp ne i32 %11042, 0
  br i1 %11043, label %11044, label %11061

11044:                                            ; preds = %11039
  %11045 = load i32, ptr %217, align 4, !tbaa !5
  %11046 = call ptr @__errno_location() #11
  store i32 %11045, ptr %11046, align 4, !tbaa !5
  %11047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11048 = load i32, ptr @test_count, align 4, !tbaa !5
  %11049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  %11051 = call ptr @s2n_strerror(i32 noundef %11050, ptr noundef @.str.4)
  %11052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11053 = load i32, ptr %11052, align 4, !tbaa !5
  %11054 = call ptr @s2n_strerror_debug(i32 noundef %11053, ptr noundef @.str.4)
  %11055 = call ptr @__errno_location() #11
  %11056 = load i32, ptr %11055, align 4, !tbaa !5
  %11057 = call ptr @strerror(i32 noundef %11056) #10
  %11058 = call ptr @__errno_location() #11
  %11059 = load i32, ptr %11058, align 4, !tbaa !5
  %11060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11047, ptr noundef @.str.2, i32 noundef %11048, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 380, ptr noundef %11051, ptr noundef %11054, ptr noundef %11057, i32 noundef %11059) #10
  br label %11078

11061:                                            ; preds = %11039, %11032
  %11062 = load i32, ptr %217, align 4, !tbaa !5
  %11063 = call ptr @__errno_location() #11
  store i32 %11062, ptr %11063, align 4, !tbaa !5
  %11064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11065 = load i32, ptr @test_count, align 4, !tbaa !5
  %11066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11067 = load i32, ptr %11066, align 4, !tbaa !5
  %11068 = call ptr @s2n_strerror(i32 noundef %11067, ptr noundef @.str.4)
  %11069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11070 = load i32, ptr %11069, align 4, !tbaa !5
  %11071 = call ptr @s2n_strerror_debug(i32 noundef %11070, ptr noundef @.str.4)
  %11072 = call ptr @__errno_location() #11
  %11073 = load i32, ptr %11072, align 4, !tbaa !5
  %11074 = call ptr @strerror(i32 noundef %11073) #10
  %11075 = call ptr @__errno_location() #11
  %11076 = load i32, ptr %11075, align 4, !tbaa !5
  %11077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11064, ptr noundef @.str.5, i32 noundef %11065, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 380, ptr noundef %11068, ptr noundef %11071, ptr noundef %11074, i32 noundef %11076) #10
  br label %11078

11078:                                            ; preds = %11061, %11044
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #10
  br label %11079

11079:                                            ; preds = %11078
  br label %11080

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

11081:                                            ; No predecessors!
  br label %11082

11082:                                            ; preds = %11081
  br label %11083

11083:                                            ; preds = %11082, %11025
  br label %11084

11084:                                            ; preds = %11083
  br label %11085

11085:                                            ; preds = %11084
  call void @llvm.lifetime.end.p0(i64 16, ptr %183) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %182) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %181) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %179) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %178) #10
  call void @llvm.lifetime.start.p0(i64 704, ptr %218) #10
  call void @llvm.memset.p0.i64(ptr align 8 %218, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %219) #10
  call void @llvm.memset.p0.i64(ptr align 8 %219, i8 0, i64 40, i1 false)
  br label %11086

11086:                                            ; preds = %11085
  %11087 = load i32, ptr @test_count, align 4, !tbaa !5
  %11088 = add nsw i32 %11087, 1
  store i32 %11088, ptr @test_count, align 4, !tbaa !5
  %11089 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %219, i32 noundef 0)
  %11090 = icmp eq i32 %11089, -1
  br i1 %11090, label %11091, label %11144

11091:                                            ; preds = %11086
  br label %11092

11092:                                            ; preds = %11091
  br label %11093

11093:                                            ; preds = %11092
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #10
  %11094 = call ptr @__errno_location() #11
  %11095 = load i32, ptr %11094, align 4, !tbaa !5
  store i32 %11095, ptr %220, align 4, !tbaa !5
  %11096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11097 = call i32 @s2n_print_stacktrace(ptr noundef %11096)
  %11098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11099 = trunc i8 %11098 to i1
  br i1 %11099, label %11100, label %11122

11100:                                            ; preds = %11093
  %11101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11102 = call i32 @fileno(ptr noundef %11101) #10
  %11103 = call i32 @isatty(i32 noundef %11102) #10
  %11104 = icmp ne i32 %11103, 0
  br i1 %11104, label %11105, label %11122

11105:                                            ; preds = %11100
  %11106 = load i32, ptr %220, align 4, !tbaa !5
  %11107 = call ptr @__errno_location() #11
  store i32 %11106, ptr %11107, align 4, !tbaa !5
  %11108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11109 = load i32, ptr @test_count, align 4, !tbaa !5
  %11110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11111 = load i32, ptr %11110, align 4, !tbaa !5
  %11112 = call ptr @s2n_strerror(i32 noundef %11111, ptr noundef @.str.4)
  %11113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11114 = load i32, ptr %11113, align 4, !tbaa !5
  %11115 = call ptr @s2n_strerror_debug(i32 noundef %11114, ptr noundef @.str.4)
  %11116 = call ptr @__errno_location() #11
  %11117 = load i32, ptr %11116, align 4, !tbaa !5
  %11118 = call ptr @strerror(i32 noundef %11117) #10
  %11119 = call ptr @__errno_location() #11
  %11120 = load i32, ptr %11119, align 4, !tbaa !5
  %11121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11108, ptr noundef @.str.2, i32 noundef %11109, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11112, ptr noundef %11115, ptr noundef %11118, i32 noundef %11120) #10
  br label %11139

11122:                                            ; preds = %11100, %11093
  %11123 = load i32, ptr %220, align 4, !tbaa !5
  %11124 = call ptr @__errno_location() #11
  store i32 %11123, ptr %11124, align 4, !tbaa !5
  %11125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11126 = load i32, ptr @test_count, align 4, !tbaa !5
  %11127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11128 = load i32, ptr %11127, align 4, !tbaa !5
  %11129 = call ptr @s2n_strerror(i32 noundef %11128, ptr noundef @.str.4)
  %11130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11131 = load i32, ptr %11130, align 4, !tbaa !5
  %11132 = call ptr @s2n_strerror_debug(i32 noundef %11131, ptr noundef @.str.4)
  %11133 = call ptr @__errno_location() #11
  %11134 = load i32, ptr %11133, align 4, !tbaa !5
  %11135 = call ptr @strerror(i32 noundef %11134) #10
  %11136 = call ptr @__errno_location() #11
  %11137 = load i32, ptr %11136, align 4, !tbaa !5
  %11138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11125, ptr noundef @.str.5, i32 noundef %11126, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11129, ptr noundef %11132, ptr noundef %11135, i32 noundef %11137) #10
  br label %11139

11139:                                            ; preds = %11122, %11105
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #10
  br label %11140

11140:                                            ; preds = %11139
  br label %11141

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

11142:                                            ; No predecessors!
  br label %11143

11143:                                            ; preds = %11142
  br label %11144

11144:                                            ; preds = %11143, %11086
  br label %11145

11145:                                            ; preds = %11144
  br label %11146

11146:                                            ; preds = %11145
  call void @llvm.lifetime.start.p0(i64 40, ptr %221) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %221, ptr align 8 @__const.main.test_extension_2, i64 40, i1 false)
  %11147 = getelementptr inbounds %struct.s2n_extension_type, ptr %221, i32 0, i32 0
  store i16 13, ptr %11147, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 40, ptr %222) #10
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %222, ptr align 8 @__const.main.test_extension_3.52, i64 40, i1 false)
  %11148 = getelementptr inbounds %struct.s2n_extension_type, ptr %222, i32 0, i32 0
  store i16 16, ptr %11148, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 16, ptr %223) #10
  call void @llvm.memset.p0.i64(ptr align 8 %223, i8 0, i64 16, i1 false)
  br label %11149

11149:                                            ; preds = %11146
  %11150 = load i32, ptr @test_count, align 4, !tbaa !5
  %11151 = add nsw i32 %11150, 1
  store i32 %11151, ptr @test_count, align 4, !tbaa !5
  %11152 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef %219, ptr noundef %223)
  %11153 = icmp eq i32 %11152, -1
  br i1 %11153, label %11154, label %11207

11154:                                            ; preds = %11149
  br label %11155

11155:                                            ; preds = %11154
  br label %11156

11156:                                            ; preds = %11155
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #10
  %11157 = call ptr @__errno_location() #11
  %11158 = load i32, ptr %11157, align 4, !tbaa !5
  store i32 %11158, ptr %224, align 4, !tbaa !5
  %11159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11160 = call i32 @s2n_print_stacktrace(ptr noundef %11159)
  %11161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11162 = trunc i8 %11161 to i1
  br i1 %11162, label %11163, label %11185

11163:                                            ; preds = %11156
  %11164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11165 = call i32 @fileno(ptr noundef %11164) #10
  %11166 = call i32 @isatty(i32 noundef %11165) #10
  %11167 = icmp ne i32 %11166, 0
  br i1 %11167, label %11168, label %11185

11168:                                            ; preds = %11163
  %11169 = load i32, ptr %224, align 4, !tbaa !5
  %11170 = call ptr @__errno_location() #11
  store i32 %11169, ptr %11170, align 4, !tbaa !5
  %11171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11172 = load i32, ptr @test_count, align 4, !tbaa !5
  %11173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11174 = load i32, ptr %11173, align 4, !tbaa !5
  %11175 = call ptr @s2n_strerror(i32 noundef %11174, ptr noundef @.str.4)
  %11176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11177 = load i32, ptr %11176, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror_debug(i32 noundef %11177, ptr noundef @.str.4)
  %11179 = call ptr @__errno_location() #11
  %11180 = load i32, ptr %11179, align 4, !tbaa !5
  %11181 = call ptr @strerror(i32 noundef %11180) #10
  %11182 = call ptr @__errno_location() #11
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  %11184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11171, ptr noundef @.str.2, i32 noundef %11172, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 396, ptr noundef %11175, ptr noundef %11178, ptr noundef %11181, i32 noundef %11183) #10
  br label %11202

11185:                                            ; preds = %11163, %11156
  %11186 = load i32, ptr %224, align 4, !tbaa !5
  %11187 = call ptr @__errno_location() #11
  store i32 %11186, ptr %11187, align 4, !tbaa !5
  %11188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11189 = load i32, ptr @test_count, align 4, !tbaa !5
  %11190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11191 = load i32, ptr %11190, align 4, !tbaa !5
  %11192 = call ptr @s2n_strerror(i32 noundef %11191, ptr noundef @.str.4)
  %11193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11194 = load i32, ptr %11193, align 4, !tbaa !5
  %11195 = call ptr @s2n_strerror_debug(i32 noundef %11194, ptr noundef @.str.4)
  %11196 = call ptr @__errno_location() #11
  %11197 = load i32, ptr %11196, align 4, !tbaa !5
  %11198 = call ptr @strerror(i32 noundef %11197) #10
  %11199 = call ptr @__errno_location() #11
  %11200 = load i32, ptr %11199, align 4, !tbaa !5
  %11201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11188, ptr noundef @.str.5, i32 noundef %11189, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 396, ptr noundef %11192, ptr noundef %11195, ptr noundef %11198, i32 noundef %11200) #10
  br label %11202

11202:                                            ; preds = %11185, %11168
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #10
  br label %11203

11203:                                            ; preds = %11202
  br label %11204

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

11205:                                            ; No predecessors!
  br label %11206

11206:                                            ; preds = %11205
  br label %11207

11207:                                            ; preds = %11206, %11149
  br label %11208

11208:                                            ; preds = %11207
  br label %11209

11209:                                            ; preds = %11208
  br label %11210

11210:                                            ; preds = %11209
  %11211 = load i32, ptr @test_count, align 4, !tbaa !5
  %11212 = add nsw i32 %11211, 1
  store i32 %11212, ptr @test_count, align 4, !tbaa !5
  %11213 = load ptr, ptr %7, align 8, !tbaa !9
  %11214 = call i32 @s2n_extension_send(ptr noundef @test_extension, ptr noundef %11213, ptr noundef %219)
  %11215 = icmp eq i32 %11214, -1
  br i1 %11215, label %11216, label %11269

11216:                                            ; preds = %11210
  br label %11217

11217:                                            ; preds = %11216
  br label %11218

11218:                                            ; preds = %11217
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #10
  %11219 = call ptr @__errno_location() #11
  %11220 = load i32, ptr %11219, align 4, !tbaa !5
  store i32 %11220, ptr %225, align 4, !tbaa !5
  %11221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11222 = call i32 @s2n_print_stacktrace(ptr noundef %11221)
  %11223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11224 = trunc i8 %11223 to i1
  br i1 %11224, label %11225, label %11247

11225:                                            ; preds = %11218
  %11226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11227 = call i32 @fileno(ptr noundef %11226) #10
  %11228 = call i32 @isatty(i32 noundef %11227) #10
  %11229 = icmp ne i32 %11228, 0
  br i1 %11229, label %11230, label %11247

11230:                                            ; preds = %11225
  %11231 = load i32, ptr %225, align 4, !tbaa !5
  %11232 = call ptr @__errno_location() #11
  store i32 %11231, ptr %11232, align 4, !tbaa !5
  %11233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11234 = load i32, ptr @test_count, align 4, !tbaa !5
  %11235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11236 = load i32, ptr %11235, align 4, !tbaa !5
  %11237 = call ptr @s2n_strerror(i32 noundef %11236, ptr noundef @.str.4)
  %11238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11239 = load i32, ptr %11238, align 4, !tbaa !5
  %11240 = call ptr @s2n_strerror_debug(i32 noundef %11239, ptr noundef @.str.4)
  %11241 = call ptr @__errno_location() #11
  %11242 = load i32, ptr %11241, align 4, !tbaa !5
  %11243 = call ptr @strerror(i32 noundef %11242) #10
  %11244 = call ptr @__errno_location() #11
  %11245 = load i32, ptr %11244, align 4, !tbaa !5
  %11246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11233, ptr noundef @.str.2, i32 noundef %11234, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 398, ptr noundef %11237, ptr noundef %11240, ptr noundef %11243, i32 noundef %11245) #10
  br label %11264

11247:                                            ; preds = %11225, %11218
  %11248 = load i32, ptr %225, align 4, !tbaa !5
  %11249 = call ptr @__errno_location() #11
  store i32 %11248, ptr %11249, align 4, !tbaa !5
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = load i32, ptr @test_count, align 4, !tbaa !5
  %11252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11253 = load i32, ptr %11252, align 4, !tbaa !5
  %11254 = call ptr @s2n_strerror(i32 noundef %11253, ptr noundef @.str.4)
  %11255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11256 = load i32, ptr %11255, align 4, !tbaa !5
  %11257 = call ptr @s2n_strerror_debug(i32 noundef %11256, ptr noundef @.str.4)
  %11258 = call ptr @__errno_location() #11
  %11259 = load i32, ptr %11258, align 4, !tbaa !5
  %11260 = call ptr @strerror(i32 noundef %11259) #10
  %11261 = call ptr @__errno_location() #11
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11250, ptr noundef @.str.5, i32 noundef %11251, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 398, ptr noundef %11254, ptr noundef %11257, ptr noundef %11260, i32 noundef %11262) #10
  br label %11264

11264:                                            ; preds = %11247, %11230
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #10
  br label %11265

11265:                                            ; preds = %11264
  br label %11266

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

11267:                                            ; No predecessors!
  br label %11268

11268:                                            ; preds = %11267
  br label %11269

11269:                                            ; preds = %11268, %11210
  br label %11270

11270:                                            ; preds = %11269
  br label %11271

11271:                                            ; preds = %11270
  br label %11272

11272:                                            ; preds = %11271
  %11273 = load i32, ptr @test_count, align 4, !tbaa !5
  %11274 = add nsw i32 %11273, 1
  store i32 %11274, ptr @test_count, align 4, !tbaa !5
  %11275 = load ptr, ptr %7, align 8, !tbaa !9
  %11276 = call i32 @s2n_extension_send(ptr noundef %221, ptr noundef %11275, ptr noundef %219)
  %11277 = icmp eq i32 %11276, -1
  br i1 %11277, label %11278, label %11331

11278:                                            ; preds = %11272
  br label %11279

11279:                                            ; preds = %11278
  br label %11280

11280:                                            ; preds = %11279
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #10
  %11281 = call ptr @__errno_location() #11
  %11282 = load i32, ptr %11281, align 4, !tbaa !5
  store i32 %11282, ptr %226, align 4, !tbaa !5
  %11283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11284 = call i32 @s2n_print_stacktrace(ptr noundef %11283)
  %11285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11286 = trunc i8 %11285 to i1
  br i1 %11286, label %11287, label %11309

11287:                                            ; preds = %11280
  %11288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11289 = call i32 @fileno(ptr noundef %11288) #10
  %11290 = call i32 @isatty(i32 noundef %11289) #10
  %11291 = icmp ne i32 %11290, 0
  br i1 %11291, label %11292, label %11309

11292:                                            ; preds = %11287
  %11293 = load i32, ptr %226, align 4, !tbaa !5
  %11294 = call ptr @__errno_location() #11
  store i32 %11293, ptr %11294, align 4, !tbaa !5
  %11295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11296 = load i32, ptr @test_count, align 4, !tbaa !5
  %11297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11298 = load i32, ptr %11297, align 4, !tbaa !5
  %11299 = call ptr @s2n_strerror(i32 noundef %11298, ptr noundef @.str.4)
  %11300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11301 = load i32, ptr %11300, align 4, !tbaa !5
  %11302 = call ptr @s2n_strerror_debug(i32 noundef %11301, ptr noundef @.str.4)
  %11303 = call ptr @__errno_location() #11
  %11304 = load i32, ptr %11303, align 4, !tbaa !5
  %11305 = call ptr @strerror(i32 noundef %11304) #10
  %11306 = call ptr @__errno_location() #11
  %11307 = load i32, ptr %11306, align 4, !tbaa !5
  %11308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11295, ptr noundef @.str.2, i32 noundef %11296, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 399, ptr noundef %11299, ptr noundef %11302, ptr noundef %11305, i32 noundef %11307) #10
  br label %11326

11309:                                            ; preds = %11287, %11280
  %11310 = load i32, ptr %226, align 4, !tbaa !5
  %11311 = call ptr @__errno_location() #11
  store i32 %11310, ptr %11311, align 4, !tbaa !5
  %11312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11313 = load i32, ptr @test_count, align 4, !tbaa !5
  %11314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11315 = load i32, ptr %11314, align 4, !tbaa !5
  %11316 = call ptr @s2n_strerror(i32 noundef %11315, ptr noundef @.str.4)
  %11317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11318 = load i32, ptr %11317, align 4, !tbaa !5
  %11319 = call ptr @s2n_strerror_debug(i32 noundef %11318, ptr noundef @.str.4)
  %11320 = call ptr @__errno_location() #11
  %11321 = load i32, ptr %11320, align 4, !tbaa !5
  %11322 = call ptr @strerror(i32 noundef %11321) #10
  %11323 = call ptr @__errno_location() #11
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11312, ptr noundef @.str.5, i32 noundef %11313, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 399, ptr noundef %11316, ptr noundef %11319, ptr noundef %11322, i32 noundef %11324) #10
  br label %11326

11326:                                            ; preds = %11309, %11292
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #10
  br label %11327

11327:                                            ; preds = %11326
  br label %11328

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

11329:                                            ; No predecessors!
  br label %11330

11330:                                            ; preds = %11329
  br label %11331

11331:                                            ; preds = %11330, %11272
  br label %11332

11332:                                            ; preds = %11331
  br label %11333

11333:                                            ; preds = %11332
  br label %11334

11334:                                            ; preds = %11333
  %11335 = load i32, ptr @test_count, align 4, !tbaa !5
  %11336 = add nsw i32 %11335, 1
  store i32 %11336, ptr @test_count, align 4, !tbaa !5
  %11337 = call i32 @s2n_stuffer_write_uint16(ptr noundef %219, i16 noundef zeroext -256)
  %11338 = icmp eq i32 %11337, -1
  br i1 %11338, label %11339, label %11392

11339:                                            ; preds = %11334
  br label %11340

11340:                                            ; preds = %11339
  br label %11341

11341:                                            ; preds = %11340
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #10
  %11342 = call ptr @__errno_location() #11
  %11343 = load i32, ptr %11342, align 4, !tbaa !5
  store i32 %11343, ptr %227, align 4, !tbaa !5
  %11344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11345 = call i32 @s2n_print_stacktrace(ptr noundef %11344)
  %11346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11347 = trunc i8 %11346 to i1
  br i1 %11347, label %11348, label %11370

11348:                                            ; preds = %11341
  %11349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11350 = call i32 @fileno(ptr noundef %11349) #10
  %11351 = call i32 @isatty(i32 noundef %11350) #10
  %11352 = icmp ne i32 %11351, 0
  br i1 %11352, label %11353, label %11370

11353:                                            ; preds = %11348
  %11354 = load i32, ptr %227, align 4, !tbaa !5
  %11355 = call ptr @__errno_location() #11
  store i32 %11354, ptr %11355, align 4, !tbaa !5
  %11356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11357 = load i32, ptr @test_count, align 4, !tbaa !5
  %11358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11359 = load i32, ptr %11358, align 4, !tbaa !5
  %11360 = call ptr @s2n_strerror(i32 noundef %11359, ptr noundef @.str.4)
  %11361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11362 = load i32, ptr %11361, align 4, !tbaa !5
  %11363 = call ptr @s2n_strerror_debug(i32 noundef %11362, ptr noundef @.str.4)
  %11364 = call ptr @__errno_location() #11
  %11365 = load i32, ptr %11364, align 4, !tbaa !5
  %11366 = call ptr @strerror(i32 noundef %11365) #10
  %11367 = call ptr @__errno_location() #11
  %11368 = load i32, ptr %11367, align 4, !tbaa !5
  %11369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11356, ptr noundef @.str.2, i32 noundef %11357, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 400, ptr noundef %11360, ptr noundef %11363, ptr noundef %11366, i32 noundef %11368) #10
  br label %11387

11370:                                            ; preds = %11348, %11341
  %11371 = load i32, ptr %227, align 4, !tbaa !5
  %11372 = call ptr @__errno_location() #11
  store i32 %11371, ptr %11372, align 4, !tbaa !5
  %11373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11374 = load i32, ptr @test_count, align 4, !tbaa !5
  %11375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11376 = load i32, ptr %11375, align 4, !tbaa !5
  %11377 = call ptr @s2n_strerror(i32 noundef %11376, ptr noundef @.str.4)
  %11378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11379 = load i32, ptr %11378, align 4, !tbaa !5
  %11380 = call ptr @s2n_strerror_debug(i32 noundef %11379, ptr noundef @.str.4)
  %11381 = call ptr @__errno_location() #11
  %11382 = load i32, ptr %11381, align 4, !tbaa !5
  %11383 = call ptr @strerror(i32 noundef %11382) #10
  %11384 = call ptr @__errno_location() #11
  %11385 = load i32, ptr %11384, align 4, !tbaa !5
  %11386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11373, ptr noundef @.str.5, i32 noundef %11374, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 400, ptr noundef %11377, ptr noundef %11380, ptr noundef %11383, i32 noundef %11385) #10
  br label %11387

11387:                                            ; preds = %11370, %11353
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #10
  br label %11388

11388:                                            ; preds = %11387
  br label %11389

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

11390:                                            ; No predecessors!
  br label %11391

11391:                                            ; preds = %11390
  br label %11392

11392:                                            ; preds = %11391, %11334
  br label %11393

11393:                                            ; preds = %11392
  br label %11394

11394:                                            ; preds = %11393
  br label %11395

11395:                                            ; preds = %11394
  %11396 = load i32, ptr @test_count, align 4, !tbaa !5
  %11397 = add nsw i32 %11396, 1
  store i32 %11397, ptr @test_count, align 4, !tbaa !5
  %11398 = call i32 @s2n_stuffer_write_uint16(ptr noundef %219, i16 noundef zeroext 0)
  %11399 = icmp eq i32 %11398, -1
  br i1 %11399, label %11400, label %11453

11400:                                            ; preds = %11395
  br label %11401

11401:                                            ; preds = %11400
  br label %11402

11402:                                            ; preds = %11401
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #10
  %11403 = call ptr @__errno_location() #11
  %11404 = load i32, ptr %11403, align 4, !tbaa !5
  store i32 %11404, ptr %228, align 4, !tbaa !5
  %11405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11406 = call i32 @s2n_print_stacktrace(ptr noundef %11405)
  %11407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11408 = trunc i8 %11407 to i1
  br i1 %11408, label %11409, label %11431

11409:                                            ; preds = %11402
  %11410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11411 = call i32 @fileno(ptr noundef %11410) #10
  %11412 = call i32 @isatty(i32 noundef %11411) #10
  %11413 = icmp ne i32 %11412, 0
  br i1 %11413, label %11414, label %11431

11414:                                            ; preds = %11409
  %11415 = load i32, ptr %228, align 4, !tbaa !5
  %11416 = call ptr @__errno_location() #11
  store i32 %11415, ptr %11416, align 4, !tbaa !5
  %11417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11418 = load i32, ptr @test_count, align 4, !tbaa !5
  %11419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11420 = load i32, ptr %11419, align 4, !tbaa !5
  %11421 = call ptr @s2n_strerror(i32 noundef %11420, ptr noundef @.str.4)
  %11422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11423 = load i32, ptr %11422, align 4, !tbaa !5
  %11424 = call ptr @s2n_strerror_debug(i32 noundef %11423, ptr noundef @.str.4)
  %11425 = call ptr @__errno_location() #11
  %11426 = load i32, ptr %11425, align 4, !tbaa !5
  %11427 = call ptr @strerror(i32 noundef %11426) #10
  %11428 = call ptr @__errno_location() #11
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  %11430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11417, ptr noundef @.str.2, i32 noundef %11418, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 401, ptr noundef %11421, ptr noundef %11424, ptr noundef %11427, i32 noundef %11429) #10
  br label %11448

11431:                                            ; preds = %11409, %11402
  %11432 = load i32, ptr %228, align 4, !tbaa !5
  %11433 = call ptr @__errno_location() #11
  store i32 %11432, ptr %11433, align 4, !tbaa !5
  %11434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11435 = load i32, ptr @test_count, align 4, !tbaa !5
  %11436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11437 = load i32, ptr %11436, align 4, !tbaa !5
  %11438 = call ptr @s2n_strerror(i32 noundef %11437, ptr noundef @.str.4)
  %11439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11440 = load i32, ptr %11439, align 4, !tbaa !5
  %11441 = call ptr @s2n_strerror_debug(i32 noundef %11440, ptr noundef @.str.4)
  %11442 = call ptr @__errno_location() #11
  %11443 = load i32, ptr %11442, align 4, !tbaa !5
  %11444 = call ptr @strerror(i32 noundef %11443) #10
  %11445 = call ptr @__errno_location() #11
  %11446 = load i32, ptr %11445, align 4, !tbaa !5
  %11447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11434, ptr noundef @.str.5, i32 noundef %11435, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 401, ptr noundef %11438, ptr noundef %11441, ptr noundef %11444, i32 noundef %11446) #10
  br label %11448

11448:                                            ; preds = %11431, %11414
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #10
  br label %11449

11449:                                            ; preds = %11448
  br label %11450

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

11451:                                            ; No predecessors!
  br label %11452

11452:                                            ; preds = %11451
  br label %11453

11453:                                            ; preds = %11452, %11395
  br label %11454

11454:                                            ; preds = %11453
  br label %11455

11455:                                            ; preds = %11454
  br label %11456

11456:                                            ; preds = %11455
  %11457 = load i32, ptr @test_count, align 4, !tbaa !5
  %11458 = add nsw i32 %11457, 1
  store i32 %11458, ptr @test_count, align 4, !tbaa !5
  %11459 = load ptr, ptr %7, align 8, !tbaa !9
  %11460 = call i32 @s2n_extension_send(ptr noundef %222, ptr noundef %11459, ptr noundef %219)
  %11461 = icmp eq i32 %11460, -1
  br i1 %11461, label %11462, label %11515

11462:                                            ; preds = %11456
  br label %11463

11463:                                            ; preds = %11462
  br label %11464

11464:                                            ; preds = %11463
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #10
  %11465 = call ptr @__errno_location() #11
  %11466 = load i32, ptr %11465, align 4, !tbaa !5
  store i32 %11466, ptr %229, align 4, !tbaa !5
  %11467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11468 = call i32 @s2n_print_stacktrace(ptr noundef %11467)
  %11469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11470 = trunc i8 %11469 to i1
  br i1 %11470, label %11471, label %11493

11471:                                            ; preds = %11464
  %11472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11473 = call i32 @fileno(ptr noundef %11472) #10
  %11474 = call i32 @isatty(i32 noundef %11473) #10
  %11475 = icmp ne i32 %11474, 0
  br i1 %11475, label %11476, label %11493

11476:                                            ; preds = %11471
  %11477 = load i32, ptr %229, align 4, !tbaa !5
  %11478 = call ptr @__errno_location() #11
  store i32 %11477, ptr %11478, align 4, !tbaa !5
  %11479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11480 = load i32, ptr @test_count, align 4, !tbaa !5
  %11481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11482 = load i32, ptr %11481, align 4, !tbaa !5
  %11483 = call ptr @s2n_strerror(i32 noundef %11482, ptr noundef @.str.4)
  %11484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11485 = load i32, ptr %11484, align 4, !tbaa !5
  %11486 = call ptr @s2n_strerror_debug(i32 noundef %11485, ptr noundef @.str.4)
  %11487 = call ptr @__errno_location() #11
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @strerror(i32 noundef %11488) #10
  %11490 = call ptr @__errno_location() #11
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11479, ptr noundef @.str.2, i32 noundef %11480, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 402, ptr noundef %11483, ptr noundef %11486, ptr noundef %11489, i32 noundef %11491) #10
  br label %11510

11493:                                            ; preds = %11471, %11464
  %11494 = load i32, ptr %229, align 4, !tbaa !5
  %11495 = call ptr @__errno_location() #11
  store i32 %11494, ptr %11495, align 4, !tbaa !5
  %11496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11497 = load i32, ptr @test_count, align 4, !tbaa !5
  %11498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11499 = load i32, ptr %11498, align 4, !tbaa !5
  %11500 = call ptr @s2n_strerror(i32 noundef %11499, ptr noundef @.str.4)
  %11501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11502 = load i32, ptr %11501, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror_debug(i32 noundef %11502, ptr noundef @.str.4)
  %11504 = call ptr @__errno_location() #11
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @strerror(i32 noundef %11505) #10
  %11507 = call ptr @__errno_location() #11
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11496, ptr noundef @.str.5, i32 noundef %11497, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 402, ptr noundef %11500, ptr noundef %11503, ptr noundef %11506, i32 noundef %11508) #10
  br label %11510

11510:                                            ; preds = %11493, %11476
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #10
  br label %11511

11511:                                            ; preds = %11510
  br label %11512

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

11513:                                            ; No predecessors!
  br label %11514

11514:                                            ; preds = %11513
  br label %11515

11515:                                            ; preds = %11514, %11456
  br label %11516

11516:                                            ; preds = %11515
  br label %11517

11517:                                            ; preds = %11516
  br label %11518

11518:                                            ; preds = %11517
  %11519 = load i32, ptr @test_count, align 4, !tbaa !5
  %11520 = add nsw i32 %11519, 1
  store i32 %11520, ptr @test_count, align 4, !tbaa !5
  %11521 = getelementptr inbounds %struct.s2n_stuffer, ptr %219, i32 0, i32 2
  %11522 = load i32, ptr %11521, align 4, !tbaa !21
  %11523 = getelementptr inbounds %struct.s2n_stuffer, ptr %219, i32 0, i32 1
  %11524 = load i32, ptr %11523, align 8, !tbaa !23
  %11525 = sub i32 %11522, %11524
  %11526 = getelementptr inbounds %struct.s2n_stuffer_reservation, ptr %223, i32 0, i32 2
  %11527 = load i8, ptr %11526, align 4, !tbaa !30
  %11528 = zext i8 %11527 to i32
  %11529 = icmp ugt i32 %11525, %11528
  br i1 %11529, label %11583, label %11530

11530:                                            ; preds = %11518
  br label %11531

11531:                                            ; preds = %11530
  br label %11532

11532:                                            ; preds = %11531
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #10
  %11533 = call ptr @__errno_location() #11
  %11534 = load i32, ptr %11533, align 4, !tbaa !5
  store i32 %11534, ptr %230, align 4, !tbaa !5
  %11535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11536 = call i32 @s2n_print_stacktrace(ptr noundef %11535)
  %11537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11538 = trunc i8 %11537 to i1
  br i1 %11538, label %11539, label %11561

11539:                                            ; preds = %11532
  %11540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11541 = call i32 @fileno(ptr noundef %11540) #10
  %11542 = call i32 @isatty(i32 noundef %11541) #10
  %11543 = icmp ne i32 %11542, 0
  br i1 %11543, label %11544, label %11561

11544:                                            ; preds = %11539
  %11545 = load i32, ptr %230, align 4, !tbaa !5
  %11546 = call ptr @__errno_location() #11
  store i32 %11545, ptr %11546, align 4, !tbaa !5
  %11547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11548 = load i32, ptr @test_count, align 4, !tbaa !5
  %11549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11550 = load i32, ptr %11549, align 4, !tbaa !5
  %11551 = call ptr @s2n_strerror(i32 noundef %11550, ptr noundef @.str.4)
  %11552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11553 = load i32, ptr %11552, align 4, !tbaa !5
  %11554 = call ptr @s2n_strerror_debug(i32 noundef %11553, ptr noundef @.str.4)
  %11555 = call ptr @__errno_location() #11
  %11556 = load i32, ptr %11555, align 4, !tbaa !5
  %11557 = call ptr @strerror(i32 noundef %11556) #10
  %11558 = call ptr @__errno_location() #11
  %11559 = load i32, ptr %11558, align 4, !tbaa !5
  %11560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11547, ptr noundef @.str.2, i32 noundef %11548, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11551, ptr noundef %11554, ptr noundef %11557, i32 noundef %11559) #10
  br label %11578

11561:                                            ; preds = %11539, %11532
  %11562 = load i32, ptr %230, align 4, !tbaa !5
  %11563 = call ptr @__errno_location() #11
  store i32 %11562, ptr %11563, align 4, !tbaa !5
  %11564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11565 = load i32, ptr @test_count, align 4, !tbaa !5
  %11566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11567 = load i32, ptr %11566, align 4, !tbaa !5
  %11568 = call ptr @s2n_strerror(i32 noundef %11567, ptr noundef @.str.4)
  %11569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11570 = load i32, ptr %11569, align 4, !tbaa !5
  %11571 = call ptr @s2n_strerror_debug(i32 noundef %11570, ptr noundef @.str.4)
  %11572 = call ptr @__errno_location() #11
  %11573 = load i32, ptr %11572, align 4, !tbaa !5
  %11574 = call ptr @strerror(i32 noundef %11573) #10
  %11575 = call ptr @__errno_location() #11
  %11576 = load i32, ptr %11575, align 4, !tbaa !5
  %11577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11564, ptr noundef @.str.5, i32 noundef %11565, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11568, ptr noundef %11571, ptr noundef %11574, i32 noundef %11576) #10
  br label %11578

11578:                                            ; preds = %11561, %11544
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #10
  br label %11579

11579:                                            ; preds = %11578
  br label %11580

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

11581:                                            ; No predecessors!
  br label %11582

11582:                                            ; preds = %11581
  br label %11583

11583:                                            ; preds = %11582, %11518
  br label %11584

11584:                                            ; preds = %11583
  br label %11585

11585:                                            ; preds = %11584
  br label %11586

11586:                                            ; preds = %11585
  %11587 = load i32, ptr @test_count, align 4, !tbaa !5
  %11588 = add nsw i32 %11587, 1
  store i32 %11588, ptr @test_count, align 4, !tbaa !5
  %11589 = call i32 @s2n_stuffer_write_vector_size(ptr noundef %223)
  %11590 = icmp eq i32 %11589, -1
  br i1 %11590, label %11591, label %11644

11591:                                            ; preds = %11586
  br label %11592

11592:                                            ; preds = %11591
  br label %11593

11593:                                            ; preds = %11592
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #10
  %11594 = call ptr @__errno_location() #11
  %11595 = load i32, ptr %11594, align 4, !tbaa !5
  store i32 %11595, ptr %231, align 4, !tbaa !5
  %11596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11597 = call i32 @s2n_print_stacktrace(ptr noundef %11596)
  %11598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11599 = trunc i8 %11598 to i1
  br i1 %11599, label %11600, label %11622

11600:                                            ; preds = %11593
  %11601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11602 = call i32 @fileno(ptr noundef %11601) #10
  %11603 = call i32 @isatty(i32 noundef %11602) #10
  %11604 = icmp ne i32 %11603, 0
  br i1 %11604, label %11605, label %11622

11605:                                            ; preds = %11600
  %11606 = load i32, ptr %231, align 4, !tbaa !5
  %11607 = call ptr @__errno_location() #11
  store i32 %11606, ptr %11607, align 4, !tbaa !5
  %11608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11609 = load i32, ptr @test_count, align 4, !tbaa !5
  %11610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11611 = load i32, ptr %11610, align 4, !tbaa !5
  %11612 = call ptr @s2n_strerror(i32 noundef %11611, ptr noundef @.str.4)
  %11613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11614 = load i32, ptr %11613, align 4, !tbaa !5
  %11615 = call ptr @s2n_strerror_debug(i32 noundef %11614, ptr noundef @.str.4)
  %11616 = call ptr @__errno_location() #11
  %11617 = load i32, ptr %11616, align 4, !tbaa !5
  %11618 = call ptr @strerror(i32 noundef %11617) #10
  %11619 = call ptr @__errno_location() #11
  %11620 = load i32, ptr %11619, align 4, !tbaa !5
  %11621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11608, ptr noundef @.str.2, i32 noundef %11609, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 405, ptr noundef %11612, ptr noundef %11615, ptr noundef %11618, i32 noundef %11620) #10
  br label %11639

11622:                                            ; preds = %11600, %11593
  %11623 = load i32, ptr %231, align 4, !tbaa !5
  %11624 = call ptr @__errno_location() #11
  store i32 %11623, ptr %11624, align 4, !tbaa !5
  %11625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11626 = load i32, ptr @test_count, align 4, !tbaa !5
  %11627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call ptr @s2n_strerror(i32 noundef %11628, ptr noundef @.str.4)
  %11630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11631 = load i32, ptr %11630, align 4, !tbaa !5
  %11632 = call ptr @s2n_strerror_debug(i32 noundef %11631, ptr noundef @.str.4)
  %11633 = call ptr @__errno_location() #11
  %11634 = load i32, ptr %11633, align 4, !tbaa !5
  %11635 = call ptr @strerror(i32 noundef %11634) #10
  %11636 = call ptr @__errno_location() #11
  %11637 = load i32, ptr %11636, align 4, !tbaa !5
  %11638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11625, ptr noundef @.str.5, i32 noundef %11626, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 405, ptr noundef %11629, ptr noundef %11632, ptr noundef %11635, i32 noundef %11637) #10
  br label %11639

11639:                                            ; preds = %11622, %11605
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #10
  br label %11640

11640:                                            ; preds = %11639
  br label %11641

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

11642:                                            ; No predecessors!
  br label %11643

11643:                                            ; preds = %11642
  br label %11644

11644:                                            ; preds = %11643, %11586
  br label %11645

11645:                                            ; preds = %11644
  br label %11646

11646:                                            ; preds = %11645
  br label %11647

11647:                                            ; preds = %11646
  %11648 = load i32, ptr @test_count, align 4, !tbaa !5
  %11649 = add nsw i32 %11648, 1
  store i32 %11649, ptr @test_count, align 4, !tbaa !5
  %11650 = call i32 @s2n_extension_list_parse(ptr noundef %219, ptr noundef %218)
  %11651 = icmp eq i32 %11650, -1
  br i1 %11651, label %11652, label %11705

11652:                                            ; preds = %11647
  br label %11653

11653:                                            ; preds = %11652
  br label %11654

11654:                                            ; preds = %11653
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #10
  %11655 = call ptr @__errno_location() #11
  %11656 = load i32, ptr %11655, align 4, !tbaa !5
  store i32 %11656, ptr %232, align 4, !tbaa !5
  %11657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11658 = call i32 @s2n_print_stacktrace(ptr noundef %11657)
  %11659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11660 = trunc i8 %11659 to i1
  br i1 %11660, label %11661, label %11683

11661:                                            ; preds = %11654
  %11662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11663 = call i32 @fileno(ptr noundef %11662) #10
  %11664 = call i32 @isatty(i32 noundef %11663) #10
  %11665 = icmp ne i32 %11664, 0
  br i1 %11665, label %11666, label %11683

11666:                                            ; preds = %11661
  %11667 = load i32, ptr %232, align 4, !tbaa !5
  %11668 = call ptr @__errno_location() #11
  store i32 %11667, ptr %11668, align 4, !tbaa !5
  %11669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11670 = load i32, ptr @test_count, align 4, !tbaa !5
  %11671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @s2n_strerror(i32 noundef %11672, ptr noundef @.str.4)
  %11674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call ptr @s2n_strerror_debug(i32 noundef %11675, ptr noundef @.str.4)
  %11677 = call ptr @__errno_location() #11
  %11678 = load i32, ptr %11677, align 4, !tbaa !5
  %11679 = call ptr @strerror(i32 noundef %11678) #10
  %11680 = call ptr @__errno_location() #11
  %11681 = load i32, ptr %11680, align 4, !tbaa !5
  %11682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11669, ptr noundef @.str.2, i32 noundef %11670, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 407, ptr noundef %11673, ptr noundef %11676, ptr noundef %11679, i32 noundef %11681) #10
  br label %11700

11683:                                            ; preds = %11661, %11654
  %11684 = load i32, ptr %232, align 4, !tbaa !5
  %11685 = call ptr @__errno_location() #11
  store i32 %11684, ptr %11685, align 4, !tbaa !5
  %11686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11687 = load i32, ptr @test_count, align 4, !tbaa !5
  %11688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @s2n_strerror(i32 noundef %11689, ptr noundef @.str.4)
  %11691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call ptr @s2n_strerror_debug(i32 noundef %11692, ptr noundef @.str.4)
  %11694 = call ptr @__errno_location() #11
  %11695 = load i32, ptr %11694, align 4, !tbaa !5
  %11696 = call ptr @strerror(i32 noundef %11695) #10
  %11697 = call ptr @__errno_location() #11
  %11698 = load i32, ptr %11697, align 4, !tbaa !5
  %11699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11686, ptr noundef @.str.5, i32 noundef %11687, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 407, ptr noundef %11690, ptr noundef %11693, ptr noundef %11696, i32 noundef %11698) #10
  br label %11700

11700:                                            ; preds = %11683, %11666
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #10
  br label %11701

11701:                                            ; preds = %11700
  br label %11702

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

11703:                                            ; No predecessors!
  br label %11704

11704:                                            ; preds = %11703
  br label %11705

11705:                                            ; preds = %11704, %11647
  br label %11706

11706:                                            ; preds = %11705
  br label %11707

11707:                                            ; preds = %11706
  call void @llvm.lifetime.start.p0(i64 6, ptr %233) #10
  store i16 43, ptr %233, align 2, !tbaa !36
  %11708 = getelementptr inbounds i16, ptr %233, i64 1
  %11709 = getelementptr inbounds %struct.s2n_extension_type, ptr %221, i32 0, i32 0
  %11710 = load i16, ptr %11709, align 8, !tbaa !38
  store i16 %11710, ptr %11708, align 2, !tbaa !36
  %11711 = getelementptr inbounds i16, ptr %233, i64 2
  %11712 = getelementptr inbounds %struct.s2n_extension_type, ptr %222, i32 0, i32 0
  %11713 = load i16, ptr %11712, align 8, !tbaa !38
  store i16 %11713, ptr %11711, align 2, !tbaa !36
  call void @llvm.lifetime.start.p0(i64 8, ptr %234) #10
  store i64 0, ptr %234, align 8, !tbaa !39
  br label %11714

11714:                                            ; preds = %11851, %11707
  %11715 = load i64, ptr %234, align 8, !tbaa !39
  %11716 = icmp ult i64 %11715, 3
  br i1 %11716, label %11718, label %11717

11717:                                            ; preds = %11714
  call void @llvm.lifetime.end.p0(i64 8, ptr %234) #10
  br label %11854

11718:                                            ; preds = %11714
  call void @llvm.lifetime.start.p0(i64 1, ptr %235) #10
  store i8 0, ptr %235, align 1, !tbaa !32
  br label %11719

11719:                                            ; preds = %11718
  %11720 = load i32, ptr @test_count, align 4, !tbaa !5
  %11721 = add nsw i32 %11720, 1
  store i32 %11721, ptr @test_count, align 4, !tbaa !5
  %11722 = load i64, ptr %234, align 8, !tbaa !39
  %11723 = getelementptr inbounds [3 x i16], ptr %233, i64 0, i64 %11722
  %11724 = load i16, ptr %11723, align 2, !tbaa !36
  %11725 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %11724, ptr noundef %235)
  %11726 = icmp eq i32 %11725, -1
  br i1 %11726, label %11727, label %11780

11727:                                            ; preds = %11719
  br label %11728

11728:                                            ; preds = %11727
  br label %11729

11729:                                            ; preds = %11728
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #10
  %11730 = call ptr @__errno_location() #11
  %11731 = load i32, ptr %11730, align 4, !tbaa !5
  store i32 %11731, ptr %236, align 4, !tbaa !5
  %11732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11733 = call i32 @s2n_print_stacktrace(ptr noundef %11732)
  %11734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11735 = trunc i8 %11734 to i1
  br i1 %11735, label %11736, label %11758

11736:                                            ; preds = %11729
  %11737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11738 = call i32 @fileno(ptr noundef %11737) #10
  %11739 = call i32 @isatty(i32 noundef %11738) #10
  %11740 = icmp ne i32 %11739, 0
  br i1 %11740, label %11741, label %11758

11741:                                            ; preds = %11736
  %11742 = load i32, ptr %236, align 4, !tbaa !5
  %11743 = call ptr @__errno_location() #11
  store i32 %11742, ptr %11743, align 4, !tbaa !5
  %11744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11745 = load i32, ptr @test_count, align 4, !tbaa !5
  %11746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11747 = load i32, ptr %11746, align 4, !tbaa !5
  %11748 = call ptr @s2n_strerror(i32 noundef %11747, ptr noundef @.str.4)
  %11749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11750 = load i32, ptr %11749, align 4, !tbaa !5
  %11751 = call ptr @s2n_strerror_debug(i32 noundef %11750, ptr noundef @.str.4)
  %11752 = call ptr @__errno_location() #11
  %11753 = load i32, ptr %11752, align 4, !tbaa !5
  %11754 = call ptr @strerror(i32 noundef %11753) #10
  %11755 = call ptr @__errno_location() #11
  %11756 = load i32, ptr %11755, align 4, !tbaa !5
  %11757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11744, ptr noundef @.str.2, i32 noundef %11745, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11748, ptr noundef %11751, ptr noundef %11754, i32 noundef %11756) #10
  br label %11775

11758:                                            ; preds = %11736, %11729
  %11759 = load i32, ptr %236, align 4, !tbaa !5
  %11760 = call ptr @__errno_location() #11
  store i32 %11759, ptr %11760, align 4, !tbaa !5
  %11761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11762 = load i32, ptr @test_count, align 4, !tbaa !5
  %11763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11764 = load i32, ptr %11763, align 4, !tbaa !5
  %11765 = call ptr @s2n_strerror(i32 noundef %11764, ptr noundef @.str.4)
  %11766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call ptr @s2n_strerror_debug(i32 noundef %11767, ptr noundef @.str.4)
  %11769 = call ptr @__errno_location() #11
  %11770 = load i32, ptr %11769, align 4, !tbaa !5
  %11771 = call ptr @strerror(i32 noundef %11770) #10
  %11772 = call ptr @__errno_location() #11
  %11773 = load i32, ptr %11772, align 4, !tbaa !5
  %11774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11761, ptr noundef @.str.5, i32 noundef %11762, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 412, ptr noundef %11765, ptr noundef %11768, ptr noundef %11771, i32 noundef %11773) #10
  br label %11775

11775:                                            ; preds = %11758, %11741
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #10
  br label %11776

11776:                                            ; preds = %11775
  br label %11777

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

11778:                                            ; No predecessors!
  br label %11779

11779:                                            ; preds = %11778
  br label %11780

11780:                                            ; preds = %11779, %11719
  br label %11781

11781:                                            ; preds = %11780
  br label %11782

11782:                                            ; preds = %11781
  br label %11783

11783:                                            ; preds = %11782
  %11784 = load i32, ptr @test_count, align 4, !tbaa !5
  %11785 = add nsw i32 %11784, 1
  store i32 %11785, ptr @test_count, align 4, !tbaa !5
  %11786 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %218, i32 0, i32 0
  %11787 = load i8, ptr %235, align 1, !tbaa !32
  %11788 = zext i8 %11787 to i64
  %11789 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %11786, i64 0, i64 %11788
  %11790 = getelementptr inbounds %struct.s2n_parsed_extension, ptr %11789, i32 0, i32 2
  %11791 = load i16, ptr %11790, align 2, !tbaa !41
  %11792 = zext i16 %11791 to i64
  %11793 = load i64, ptr %234, align 8, !tbaa !39
  %11794 = icmp eq i64 %11792, %11793
  br i1 %11794, label %11848, label %11795

11795:                                            ; preds = %11783
  br label %11796

11796:                                            ; preds = %11795
  br label %11797

11797:                                            ; preds = %11796
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #10
  %11798 = call ptr @__errno_location() #11
  %11799 = load i32, ptr %11798, align 4, !tbaa !5
  store i32 %11799, ptr %237, align 4, !tbaa !5
  %11800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11801 = call i32 @s2n_print_stacktrace(ptr noundef %11800)
  %11802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11803 = trunc i8 %11802 to i1
  br i1 %11803, label %11804, label %11826

11804:                                            ; preds = %11797
  %11805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11806 = call i32 @fileno(ptr noundef %11805) #10
  %11807 = call i32 @isatty(i32 noundef %11806) #10
  %11808 = icmp ne i32 %11807, 0
  br i1 %11808, label %11809, label %11826

11809:                                            ; preds = %11804
  %11810 = load i32, ptr %237, align 4, !tbaa !5
  %11811 = call ptr @__errno_location() #11
  store i32 %11810, ptr %11811, align 4, !tbaa !5
  %11812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11813 = load i32, ptr @test_count, align 4, !tbaa !5
  %11814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11815 = load i32, ptr %11814, align 4, !tbaa !5
  %11816 = call ptr @s2n_strerror(i32 noundef %11815, ptr noundef @.str.4)
  %11817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  %11819 = call ptr @s2n_strerror_debug(i32 noundef %11818, ptr noundef @.str.4)
  %11820 = call ptr @__errno_location() #11
  %11821 = load i32, ptr %11820, align 4, !tbaa !5
  %11822 = call ptr @strerror(i32 noundef %11821) #10
  %11823 = call ptr @__errno_location() #11
  %11824 = load i32, ptr %11823, align 4, !tbaa !5
  %11825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11812, ptr noundef @.str.2, i32 noundef %11813, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11816, ptr noundef %11819, ptr noundef %11822, i32 noundef %11824) #10
  br label %11843

11826:                                            ; preds = %11804, %11797
  %11827 = load i32, ptr %237, align 4, !tbaa !5
  %11828 = call ptr @__errno_location() #11
  store i32 %11827, ptr %11828, align 4, !tbaa !5
  %11829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11830 = load i32, ptr @test_count, align 4, !tbaa !5
  %11831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11832 = load i32, ptr %11831, align 4, !tbaa !5
  %11833 = call ptr @s2n_strerror(i32 noundef %11832, ptr noundef @.str.4)
  %11834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11835 = load i32, ptr %11834, align 4, !tbaa !5
  %11836 = call ptr @s2n_strerror_debug(i32 noundef %11835, ptr noundef @.str.4)
  %11837 = call ptr @__errno_location() #11
  %11838 = load i32, ptr %11837, align 4, !tbaa !5
  %11839 = call ptr @strerror(i32 noundef %11838) #10
  %11840 = call ptr @__errno_location() #11
  %11841 = load i32, ptr %11840, align 4, !tbaa !5
  %11842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11829, ptr noundef @.str.5, i32 noundef %11830, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 413, ptr noundef %11833, ptr noundef %11836, ptr noundef %11839, i32 noundef %11841) #10
  br label %11843

11843:                                            ; preds = %11826, %11809
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #10
  br label %11844

11844:                                            ; preds = %11843
  br label %11845

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

11846:                                            ; No predecessors!
  br label %11847

11847:                                            ; preds = %11846
  br label %11848

11848:                                            ; preds = %11847, %11783
  br label %11849

11849:                                            ; preds = %11848
  br label %11850

11850:                                            ; preds = %11849
  call void @llvm.lifetime.end.p0(i64 1, ptr %235) #10
  br label %11851

11851:                                            ; preds = %11850
  %11852 = load i64, ptr %234, align 8, !tbaa !39
  %11853 = add i64 %11852, 1
  store i64 %11853, ptr %234, align 8, !tbaa !39
  br label %11714, !llvm.loop !42

11854:                                            ; preds = %11717
  br label %11855

11855:                                            ; preds = %11854
  %11856 = load i32, ptr @test_count, align 4, !tbaa !5
  %11857 = add nsw i32 %11856, 1
  store i32 %11857, ptr @test_count, align 4, !tbaa !5
  %11858 = getelementptr inbounds %struct.s2n_parsed_extensions_list, ptr %218, i32 0, i32 2
  %11859 = load i16, ptr %11858, align 8, !tbaa !28
  %11860 = zext i16 %11859 to i32
  %11861 = icmp eq i32 %11860, 3
  br i1 %11861, label %11915, label %11862

11862:                                            ; preds = %11855
  br label %11863

11863:                                            ; preds = %11862
  br label %11864

11864:                                            ; preds = %11863
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #10
  %11865 = call ptr @__errno_location() #11
  %11866 = load i32, ptr %11865, align 4, !tbaa !5
  store i32 %11866, ptr %238, align 4, !tbaa !5
  %11867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11868 = call i32 @s2n_print_stacktrace(ptr noundef %11867)
  %11869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11870 = trunc i8 %11869 to i1
  br i1 %11870, label %11871, label %11893

11871:                                            ; preds = %11864
  %11872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11873 = call i32 @fileno(ptr noundef %11872) #10
  %11874 = call i32 @isatty(i32 noundef %11873) #10
  %11875 = icmp ne i32 %11874, 0
  br i1 %11875, label %11876, label %11893

11876:                                            ; preds = %11871
  %11877 = load i32, ptr %238, align 4, !tbaa !5
  %11878 = call ptr @__errno_location() #11
  store i32 %11877, ptr %11878, align 4, !tbaa !5
  %11879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11880 = load i32, ptr @test_count, align 4, !tbaa !5
  %11881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11882 = load i32, ptr %11881, align 4, !tbaa !5
  %11883 = call ptr @s2n_strerror(i32 noundef %11882, ptr noundef @.str.4)
  %11884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11885 = load i32, ptr %11884, align 4, !tbaa !5
  %11886 = call ptr @s2n_strerror_debug(i32 noundef %11885, ptr noundef @.str.4)
  %11887 = call ptr @__errno_location() #11
  %11888 = load i32, ptr %11887, align 4, !tbaa !5
  %11889 = call ptr @strerror(i32 noundef %11888) #10
  %11890 = call ptr @__errno_location() #11
  %11891 = load i32, ptr %11890, align 4, !tbaa !5
  %11892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11879, ptr noundef @.str.2, i32 noundef %11880, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 415, ptr noundef %11883, ptr noundef %11886, ptr noundef %11889, i32 noundef %11891) #10
  br label %11910

11893:                                            ; preds = %11871, %11864
  %11894 = load i32, ptr %238, align 4, !tbaa !5
  %11895 = call ptr @__errno_location() #11
  store i32 %11894, ptr %11895, align 4, !tbaa !5
  %11896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11897 = load i32, ptr @test_count, align 4, !tbaa !5
  %11898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11899 = load i32, ptr %11898, align 4, !tbaa !5
  %11900 = call ptr @s2n_strerror(i32 noundef %11899, ptr noundef @.str.4)
  %11901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11902 = load i32, ptr %11901, align 4, !tbaa !5
  %11903 = call ptr @s2n_strerror_debug(i32 noundef %11902, ptr noundef @.str.4)
  %11904 = call ptr @__errno_location() #11
  %11905 = load i32, ptr %11904, align 4, !tbaa !5
  %11906 = call ptr @strerror(i32 noundef %11905) #10
  %11907 = call ptr @__errno_location() #11
  %11908 = load i32, ptr %11907, align 4, !tbaa !5
  %11909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11896, ptr noundef @.str.5, i32 noundef %11897, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 415, ptr noundef %11900, ptr noundef %11903, ptr noundef %11906, i32 noundef %11908) #10
  br label %11910

11910:                                            ; preds = %11893, %11876
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #10
  br label %11911

11911:                                            ; preds = %11910
  br label %11912

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

11913:                                            ; No predecessors!
  br label %11914

11914:                                            ; preds = %11913
  br label %11915

11915:                                            ; preds = %11914, %11855
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916
  br label %11918

11918:                                            ; preds = %11917
  %11919 = load i32, ptr @test_count, align 4, !tbaa !5
  %11920 = add nsw i32 %11919, 1
  store i32 %11920, ptr @test_count, align 4, !tbaa !5
  %11921 = call i32 @s2n_stuffer_free(ptr noundef %219)
  %11922 = icmp eq i32 %11921, -1
  br i1 %11922, label %11923, label %11976

11923:                                            ; preds = %11918
  br label %11924

11924:                                            ; preds = %11923
  br label %11925

11925:                                            ; preds = %11924
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #10
  %11926 = call ptr @__errno_location() #11
  %11927 = load i32, ptr %11926, align 4, !tbaa !5
  store i32 %11927, ptr %239, align 4, !tbaa !5
  %11928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11929 = call i32 @s2n_print_stacktrace(ptr noundef %11928)
  %11930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11931 = trunc i8 %11930 to i1
  br i1 %11931, label %11932, label %11954

11932:                                            ; preds = %11925
  %11933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11934 = call i32 @fileno(ptr noundef %11933) #10
  %11935 = call i32 @isatty(i32 noundef %11934) #10
  %11936 = icmp ne i32 %11935, 0
  br i1 %11936, label %11937, label %11954

11937:                                            ; preds = %11932
  %11938 = load i32, ptr %239, align 4, !tbaa !5
  %11939 = call ptr @__errno_location() #11
  store i32 %11938, ptr %11939, align 4, !tbaa !5
  %11940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11941 = load i32, ptr @test_count, align 4, !tbaa !5
  %11942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11943 = load i32, ptr %11942, align 4, !tbaa !5
  %11944 = call ptr @s2n_strerror(i32 noundef %11943, ptr noundef @.str.4)
  %11945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11946 = load i32, ptr %11945, align 4, !tbaa !5
  %11947 = call ptr @s2n_strerror_debug(i32 noundef %11946, ptr noundef @.str.4)
  %11948 = call ptr @__errno_location() #11
  %11949 = load i32, ptr %11948, align 4, !tbaa !5
  %11950 = call ptr @strerror(i32 noundef %11949) #10
  %11951 = call ptr @__errno_location() #11
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11940, ptr noundef @.str.2, i32 noundef %11941, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 417, ptr noundef %11944, ptr noundef %11947, ptr noundef %11950, i32 noundef %11952) #10
  br label %11971

11954:                                            ; preds = %11932, %11925
  %11955 = load i32, ptr %239, align 4, !tbaa !5
  %11956 = call ptr @__errno_location() #11
  store i32 %11955, ptr %11956, align 4, !tbaa !5
  %11957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11958 = load i32, ptr @test_count, align 4, !tbaa !5
  %11959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11960 = load i32, ptr %11959, align 4, !tbaa !5
  %11961 = call ptr @s2n_strerror(i32 noundef %11960, ptr noundef @.str.4)
  %11962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11963 = load i32, ptr %11962, align 4, !tbaa !5
  %11964 = call ptr @s2n_strerror_debug(i32 noundef %11963, ptr noundef @.str.4)
  %11965 = call ptr @__errno_location() #11
  %11966 = load i32, ptr %11965, align 4, !tbaa !5
  %11967 = call ptr @strerror(i32 noundef %11966) #10
  %11968 = call ptr @__errno_location() #11
  %11969 = load i32, ptr %11968, align 4, !tbaa !5
  %11970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11957, ptr noundef @.str.5, i32 noundef %11958, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 417, ptr noundef %11961, ptr noundef %11964, ptr noundef %11967, i32 noundef %11969) #10
  br label %11971

11971:                                            ; preds = %11954, %11937
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #10
  br label %11972

11972:                                            ; preds = %11971
  br label %11973

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

11974:                                            ; No predecessors!
  br label %11975

11975:                                            ; preds = %11974
  br label %11976

11976:                                            ; preds = %11975, %11918
  br label %11977

11977:                                            ; preds = %11976
  br label %11978

11978:                                            ; preds = %11977
  call void @llvm.lifetime.end.p0(i64 6, ptr %233) #10
  call void @llvm.lifetime.end.p0(i64 16, ptr %223) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %222) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %221) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %219) #10
  call void @llvm.lifetime.end.p0(i64 704, ptr %218) #10
  br label %11979

11979:                                            ; preds = %11978
  %11980 = load i32, ptr @test_count, align 4, !tbaa !5
  %11981 = add nsw i32 %11980, 1
  store i32 %11981, ptr @test_count, align 4, !tbaa !5
  %11982 = load ptr, ptr %7, align 8, !tbaa !9
  %11983 = call i32 @s2n_connection_free(ptr noundef %11982)
  %11984 = icmp eq i32 %11983, -1
  br i1 %11984, label %11985, label %12038

11985:                                            ; preds = %11979
  br label %11986

11986:                                            ; preds = %11985
  br label %11987

11987:                                            ; preds = %11986
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #10
  %11988 = call ptr @__errno_location() #11
  %11989 = load i32, ptr %11988, align 4, !tbaa !5
  store i32 %11989, ptr %240, align 4, !tbaa !5
  %11990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11991 = call i32 @s2n_print_stacktrace(ptr noundef %11990)
  %11992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11993 = trunc i8 %11992 to i1
  br i1 %11993, label %11994, label %12016

11994:                                            ; preds = %11987
  %11995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11996 = call i32 @fileno(ptr noundef %11995) #10
  %11997 = call i32 @isatty(i32 noundef %11996) #10
  %11998 = icmp ne i32 %11997, 0
  br i1 %11998, label %11999, label %12016

11999:                                            ; preds = %11994
  %12000 = load i32, ptr %240, align 4, !tbaa !5
  %12001 = call ptr @__errno_location() #11
  store i32 %12000, ptr %12001, align 4, !tbaa !5
  %12002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12003 = load i32, ptr @test_count, align 4, !tbaa !5
  %12004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12005 = load i32, ptr %12004, align 4, !tbaa !5
  %12006 = call ptr @s2n_strerror(i32 noundef %12005, ptr noundef @.str.4)
  %12007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12008 = load i32, ptr %12007, align 4, !tbaa !5
  %12009 = call ptr @s2n_strerror_debug(i32 noundef %12008, ptr noundef @.str.4)
  %12010 = call ptr @__errno_location() #11
  %12011 = load i32, ptr %12010, align 4, !tbaa !5
  %12012 = call ptr @strerror(i32 noundef %12011) #10
  %12013 = call ptr @__errno_location() #11
  %12014 = load i32, ptr %12013, align 4, !tbaa !5
  %12015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12002, ptr noundef @.str.2, i32 noundef %12003, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 420, ptr noundef %12006, ptr noundef %12009, ptr noundef %12012, i32 noundef %12014) #10
  br label %12033

12016:                                            ; preds = %11994, %11987
  %12017 = load i32, ptr %240, align 4, !tbaa !5
  %12018 = call ptr @__errno_location() #11
  store i32 %12017, ptr %12018, align 4, !tbaa !5
  %12019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12020 = load i32, ptr @test_count, align 4, !tbaa !5
  %12021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12022 = load i32, ptr %12021, align 4, !tbaa !5
  %12023 = call ptr @s2n_strerror(i32 noundef %12022, ptr noundef @.str.4)
  %12024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12025 = load i32, ptr %12024, align 4, !tbaa !5
  %12026 = call ptr @s2n_strerror_debug(i32 noundef %12025, ptr noundef @.str.4)
  %12027 = call ptr @__errno_location() #11
  %12028 = load i32, ptr %12027, align 4, !tbaa !5
  %12029 = call ptr @strerror(i32 noundef %12028) #10
  %12030 = call ptr @__errno_location() #11
  %12031 = load i32, ptr %12030, align 4, !tbaa !5
  %12032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12019, ptr noundef @.str.5, i32 noundef %12020, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 420, ptr noundef %12023, ptr noundef %12026, ptr noundef %12029, i32 noundef %12031) #10
  br label %12033

12033:                                            ; preds = %12016, %11999
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #10
  br label %12034

12034:                                            ; preds = %12033
  br label %12035

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

12036:                                            ; No predecessors!
  br label %12037

12037:                                            ; preds = %12036
  br label %12038

12038:                                            ; preds = %12037, %11979
  br label %12039

12039:                                            ; preds = %12038
  br label %12040

12040:                                            ; preds = %12039
  br label %12041

12041:                                            ; preds = %12040
  br label %12042

12042:                                            ; preds = %12041
  %12043 = call i32 @s2n_cleanup()
  %12044 = icmp eq i32 %12043, -1
  br i1 %12044, label %12045, label %12098

12045:                                            ; preds = %12042
  br label %12046

12046:                                            ; preds = %12045
  br label %12047

12047:                                            ; preds = %12046
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #10
  %12048 = call ptr @__errno_location() #11
  %12049 = load i32, ptr %12048, align 4, !tbaa !5
  store i32 %12049, ptr %241, align 4, !tbaa !5
  %12050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12051 = call i32 @s2n_print_stacktrace(ptr noundef %12050)
  %12052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12053 = trunc i8 %12052 to i1
  br i1 %12053, label %12054, label %12076

12054:                                            ; preds = %12047
  %12055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12056 = call i32 @fileno(ptr noundef %12055) #10
  %12057 = call i32 @isatty(i32 noundef %12056) #10
  %12058 = icmp ne i32 %12057, 0
  br i1 %12058, label %12059, label %12076

12059:                                            ; preds = %12054
  %12060 = load i32, ptr %241, align 4, !tbaa !5
  %12061 = call ptr @__errno_location() #11
  store i32 %12060, ptr %12061, align 4, !tbaa !5
  %12062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12063 = load i32, ptr @test_count, align 4, !tbaa !5
  %12064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12065 = load i32, ptr %12064, align 4, !tbaa !5
  %12066 = call ptr @s2n_strerror(i32 noundef %12065, ptr noundef @.str.4)
  %12067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12068 = load i32, ptr %12067, align 4, !tbaa !5
  %12069 = call ptr @s2n_strerror_debug(i32 noundef %12068, ptr noundef @.str.4)
  %12070 = call ptr @__errno_location() #11
  %12071 = load i32, ptr %12070, align 4, !tbaa !5
  %12072 = call ptr @strerror(i32 noundef %12071) #10
  %12073 = call ptr @__errno_location() #11
  %12074 = load i32, ptr %12073, align 4, !tbaa !5
  %12075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12062, ptr noundef @.str.2, i32 noundef %12063, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12066, ptr noundef %12069, ptr noundef %12072, i32 noundef %12074) #10
  br label %12093

12076:                                            ; preds = %12054, %12047
  %12077 = load i32, ptr %241, align 4, !tbaa !5
  %12078 = call ptr @__errno_location() #11
  store i32 %12077, ptr %12078, align 4, !tbaa !5
  %12079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12080 = load i32, ptr @test_count, align 4, !tbaa !5
  %12081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12082 = load i32, ptr %12081, align 4, !tbaa !5
  %12083 = call ptr @s2n_strerror(i32 noundef %12082, ptr noundef @.str.4)
  %12084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12085 = load i32, ptr %12084, align 4, !tbaa !5
  %12086 = call ptr @s2n_strerror_debug(i32 noundef %12085, ptr noundef @.str.4)
  %12087 = call ptr @__errno_location() #11
  %12088 = load i32, ptr %12087, align 4, !tbaa !5
  %12089 = call ptr @strerror(i32 noundef %12088) #10
  %12090 = call ptr @__errno_location() #11
  %12091 = load i32, ptr %12090, align 4, !tbaa !5
  %12092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12079, ptr noundef @.str.5, i32 noundef %12080, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12083, ptr noundef %12086, ptr noundef %12089, i32 noundef %12091) #10
  br label %12093

12093:                                            ; preds = %12076, %12059
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #10
  br label %12094

12094:                                            ; preds = %12093
  br label %12095

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

12096:                                            ; No predecessors!
  br label %12097

12097:                                            ; preds = %12096
  br label %12098

12098:                                            ; preds = %12097, %12042
  br label %12099

12099:                                            ; preds = %12098
  br label %12100

12100:                                            ; preds = %12099
  br label %12101

12101:                                            ; preds = %12100
  br label %12102

12102:                                            ; preds = %12101
  %12103 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %12104 = icmp eq i32 %12103, -1
  br i1 %12104, label %12105, label %12158

12105:                                            ; preds = %12102
  br label %12106

12106:                                            ; preds = %12105
  br label %12107

12107:                                            ; preds = %12106
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #10
  %12108 = call ptr @__errno_location() #11
  %12109 = load i32, ptr %12108, align 4, !tbaa !5
  store i32 %12109, ptr %242, align 4, !tbaa !5
  %12110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12111 = call i32 @s2n_print_stacktrace(ptr noundef %12110)
  %12112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12113 = trunc i8 %12112 to i1
  br i1 %12113, label %12114, label %12136

12114:                                            ; preds = %12107
  %12115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12116 = call i32 @fileno(ptr noundef %12115) #10
  %12117 = call i32 @isatty(i32 noundef %12116) #10
  %12118 = icmp ne i32 %12117, 0
  br i1 %12118, label %12119, label %12136

12119:                                            ; preds = %12114
  %12120 = load i32, ptr %242, align 4, !tbaa !5
  %12121 = call ptr @__errno_location() #11
  store i32 %12120, ptr %12121, align 4, !tbaa !5
  %12122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12123 = load i32, ptr @test_count, align 4, !tbaa !5
  %12124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12125 = load i32, ptr %12124, align 4, !tbaa !5
  %12126 = call ptr @s2n_strerror(i32 noundef %12125, ptr noundef @.str.4)
  %12127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12128 = load i32, ptr %12127, align 4, !tbaa !5
  %12129 = call ptr @s2n_strerror_debug(i32 noundef %12128, ptr noundef @.str.4)
  %12130 = call ptr @__errno_location() #11
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  %12132 = call ptr @strerror(i32 noundef %12131) #10
  %12133 = call ptr @__errno_location() #11
  %12134 = load i32, ptr %12133, align 4, !tbaa !5
  %12135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12122, ptr noundef @.str.2, i32 noundef %12123, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12126, ptr noundef %12129, ptr noundef %12132, i32 noundef %12134) #10
  br label %12153

12136:                                            ; preds = %12114, %12107
  %12137 = load i32, ptr %242, align 4, !tbaa !5
  %12138 = call ptr @__errno_location() #11
  store i32 %12137, ptr %12138, align 4, !tbaa !5
  %12139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12142 = load i32, ptr %12141, align 4, !tbaa !5
  %12143 = call ptr @s2n_strerror(i32 noundef %12142, ptr noundef @.str.4)
  %12144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror_debug(i32 noundef %12145, ptr noundef @.str.4)
  %12147 = call ptr @__errno_location() #11
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call ptr @strerror(i32 noundef %12148) #10
  %12150 = call ptr @__errno_location() #11
  %12151 = load i32, ptr %12150, align 4, !tbaa !5
  %12152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12139, ptr noundef @.str.5, i32 noundef %12140, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12143, ptr noundef %12146, ptr noundef %12149, i32 noundef %12151) #10
  br label %12153

12153:                                            ; preds = %12136, %12119
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #10
  br label %12154

12154:                                            ; preds = %12153
  br label %12155

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

12156:                                            ; No predecessors!
  br label %12157

12157:                                            ; preds = %12156
  br label %12158

12158:                                            ; preds = %12157, %12102
  br label %12159

12159:                                            ; preds = %12158
  br label %12160

12160:                                            ; preds = %12159
  %12161 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12162 = trunc i8 %12161 to i1
  br i1 %12162, label %12163, label %12179

12163:                                            ; preds = %12160
  %12164 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12165 = call i32 @fileno(ptr noundef %12164) #10
  %12166 = call i32 @isatty(i32 noundef %12165) #10
  %12167 = icmp ne i32 %12166, 0
  br i1 %12167, label %12168, label %12179

12168:                                            ; preds = %12163
  %12169 = load i32, ptr @test_count, align 4, !tbaa !5
  %12170 = icmp ne i32 %12169, 0
  br i1 %12170, label %12171, label %12175

12171:                                            ; preds = %12168
  %12172 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12173 = load i32, ptr @test_count, align 4, !tbaa !5
  %12174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12172, ptr noundef @.str.58, i32 noundef %12173) #10
  br label %12178

12175:                                            ; preds = %12168
  %12176 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12176, ptr noundef @.str.59) #10
  br label %12178

12178:                                            ; preds = %12175, %12171
  br label %12190

12179:                                            ; preds = %12163, %12160
  %12180 = load i32, ptr @test_count, align 4, !tbaa !5
  %12181 = icmp ne i32 %12180, 0
  br i1 %12181, label %12182, label %12186

12182:                                            ; preds = %12179
  %12183 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12184 = load i32, ptr @test_count, align 4, !tbaa !5
  %12185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12183, ptr noundef @.str.60, i32 noundef %12184) #10
  br label %12189

12186:                                            ; preds = %12179
  %12187 = load ptr, ptr @stdout, align 8, !tbaa !9
  %12188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12187, ptr noundef @.str.61) #10
  br label %12189

12189:                                            ; preds = %12186, %12182
  br label %12190

12190:                                            ; preds = %12189, %12178
  store i32 0, ptr %1, align 4
  store i32 1, ptr %243, align 4
  br label %12195

12191:                                            ; No predecessors!
  br label %12192

12192:                                            ; preds = %12191
  br label %12193

12193:                                            ; preds = %12192
  br label %12194

12194:                                            ; preds = %12193
  store i32 0, ptr %243, align 4
  br label %12195

12195:                                            ; preds = %12194, %12190
  call void @llvm.lifetime.end.p0(i64 8, ptr %7) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr %6) #10
  %12196 = load i32, ptr %243, align 4
  switch i32 %12196, label %12199 [
    i32 0, label %12197
    i32 1, label %12197
  ]

12197:                                            ; preds = %12195, %12195
  %12198 = load i32, ptr %1, align 4
  ret i32 %12198

12199:                                            ; preds = %12195
  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: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #7

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_extension_send_no_data(ptr noundef, ptr noundef) #0

declare ptr @s2n_connection_new(i32 noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

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

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_stuffer_growable_alloc(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_free(ptr noundef) #2

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

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

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

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

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_extension_send_other_test_data(ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_free(ptr 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: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
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, !10, i64 8}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!19, !17, i64 24}
!19 = !{!"", !20, i64 0, !17, i64 24, !17, i64 26, !6, i64 28}
!20 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!21 = !{!22, !6, i64 28}
!22 = !{!"s2n_stuffer", !20, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!22, !6, i64 24}
!24 = !{!25, !10, i64 672}
!25 = !{!"", !7, i64 0, !20, i64 672, !17, i64 696}
!26 = !{!22, !10, i64 0}
!27 = !{!25, !6, i64 680}
!28 = !{!25, !17, i64 696}
!29 = !{!22, !6, i64 32}
!30 = !{!31, !7, i64 12}
!31 = !{!"s2n_stuffer_reservation", !10, i64 0, !6, i64 8, !7, i64 12}
!32 = !{!7, !7, i64 0}
!33 = !{!19, !10, i64 0}
!34 = !{!19, !6, i64 8}
!35 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !32, i64 24, i64 2, !36, i64 26, i64 2, !36, i64 28, i64 1, !32}
!36 = !{!17, !17, i64 0}
!37 = !{i64 0, i64 2, !36, i64 2, i64 1, !32, i64 4, i64 2, !36, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9}
!38 = !{!16, !17, i64 0}
!39 = !{!40, !40, i64 0}
!40 = !{!"long", !7, i64 0}
!41 = !{!19, !17, i64 26}
!42 = distinct !{!42, !43}
!43 = !{!"llvm.loop.mustprogress"}


; 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_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, 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_data = external dso_local constant [10 x i8], align 1
@other_test_data = external dso_local constant [20 x i8], align 16
@test_extension = external dso_local constant %struct.s2n_extension_type, align 8
@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 [88 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
@__const.main.empty_test_extension = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.9 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [86 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 [72 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [68 x i8], align 1
@EMPTY_PARSED_EXTENSIONS = external constant [21 x %struct.s2n_parsed_extension], align 16
@.str.15 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [136 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [127 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [58 x i8], align 1
@__const.main.test_extension_3 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.45 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [139 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [50 x i8], align 1
@__const.main.test_extension_2 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@__const.main.test_extension_3.52 = external hidden unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.53 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 {
  %1 = alloca %struct.s2n_extension_type, align 8
  %2 = alloca %struct.s2n_parsed_extensions_list, align 8
  %3 = alloca %struct.s2n_stuffer, align 8
  %4 = alloca %struct.s2n_parsed_extensions_list, align 8
  %5 = alloca %struct.s2n_stuffer, align 8
  %6 = alloca %struct.s2n_parsed_extensions_list, align 8
  %7 = alloca %struct.s2n_stuffer, align 8
  %8 = alloca %struct.s2n_parsed_extensions_list, align 8
  %9 = alloca %struct.s2n_stuffer, align 8
  %10 = alloca %struct.s2n_parsed_extensions_list, align 8
  %11 = alloca %struct.s2n_stuffer, align 8
  %12 = alloca %struct.s2n_parsed_extensions_list, align 8
  %13 = alloca %struct.s2n_stuffer, align 8
  %14 = alloca %struct.s2n_parsed_extensions_list, align 8
  %15 = alloca %struct.s2n_stuffer, align 8
  %16 = alloca %struct.s2n_stuffer_reservation, align 8
  %17 = alloca i8, align 1
  %18 = alloca i8, align 1
  %19 = alloca %struct.s2n_parsed_extensions_list, align 8
  %20 = alloca %struct.s2n_stuffer, align 8
  %21 = alloca %struct.s2n_stuffer_reservation, align 8
  %22 = alloca %struct.s2n_parsed_extensions_list, align 8
  %23 = alloca %struct.s2n_stuffer, align 8
  %24 = alloca %struct.s2n_stuffer_reservation, align 8
  %25 = alloca i8, align 1
  %26 = alloca i8, align 1
  %27 = alloca %struct.s2n_parsed_extensions_list, align 8
  %28 = alloca %struct.s2n_stuffer, align 8
  %29 = alloca %struct.s2n_stuffer_reservation, align 8
  %30 = alloca %struct.s2n_parsed_extensions_list, align 8
  %31 = alloca %struct.s2n_stuffer, align 8
  %32 = alloca %struct.s2n_stuffer_reservation, align 8
  %33 = alloca %struct.s2n_parsed_extensions_list, align 8
  %34 = alloca %struct.s2n_stuffer, align 8
  %35 = alloca %struct.s2n_stuffer_reservation, align 8
  %36 = alloca %struct.s2n_parsed_extensions_list, align 8
  %37 = alloca %struct.s2n_stuffer, align 8
  %38 = alloca %struct.s2n_extension_type, align 8
  %39 = alloca %struct.s2n_extension_type, align 8
  %40 = alloca %struct.s2n_stuffer_reservation, align 8
  %41 = alloca i8, align 1
  %42 = alloca i8, align 1
  %43 = alloca i8, align 1
  %44 = alloca i8, align 1
  %45 = alloca i8, align 1
  %46 = alloca i8, align 1
  %47 = alloca %struct.s2n_parsed_extensions_list, align 8
  %48 = alloca %struct.s2n_stuffer, align 8
  %49 = alloca %struct.s2n_extension_type, align 8
  %50 = alloca %struct.s2n_extension_type, align 8
  %51 = alloca %struct.s2n_stuffer_reservation, align 8
  %52 = alloca i8, align 1
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %53 = load ptr, ptr @stdout, align 8, !tbaa !9
  %54 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %53, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #11
  %55 = load ptr, ptr @stdout, align 8, !tbaa !9
  %56 = tail call i32 @fflush(ptr noundef %55)
  %57 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #11
  %58 = icmp eq i32 %57, -1
  br i1 %58, label %59, label %83

59:                                               ; preds = %0
  %60 = tail call ptr @__errno_location() #12
  %61 = load i32, ptr %60, align 4, !tbaa !5
  %62 = load ptr, ptr @stderr, align 8, !tbaa !9
  %63 = tail call i32 @s2n_print_stacktrace(ptr noundef %62) #11
  %64 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %65 = trunc nuw i8 %64 to i1
  br i1 %65, label %66, label %70

66:                                               ; preds = %59
  %67 = load ptr, ptr @stderr, align 8, !tbaa !9
  %68 = tail call i32 @fileno(ptr noundef %67) #11
  %69 = tail call i32 @isatty(i32 noundef %68) #11
  %.not594 = icmp eq i32 %69, 0
  br i1 %.not594, label %70, label %71

70:                                               ; preds = %66, %59
  br label %71

71:                                               ; preds = %66, %70
  %.str.5.sink = phi ptr [ @.str.5, %70 ], [ @.str.2, %66 ]
  store i32 %61, ptr %60, align 4, !tbaa !5
  %72 = load ptr, ptr @stderr, align 8, !tbaa !9
  %73 = load i32, ptr @test_count, align 4, !tbaa !5
  %74 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %75 = load i32, ptr %74, align 4, !tbaa !5
  %76 = tail call ptr @s2n_strerror(i32 noundef %75, ptr noundef nonnull @.str.4) #11
  %77 = load i32, ptr %74, align 4, !tbaa !5
  %78 = tail call ptr @s2n_strerror_debug(i32 noundef %77, ptr noundef nonnull @.str.4) #11
  %79 = load i32, ptr %60, align 4, !tbaa !5
  %80 = tail call ptr @strerror(i32 noundef %79) #11
  %81 = load i32, ptr %60, align 4, !tbaa !5
  %82 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %72, ptr noundef nonnull %.str.5.sink, i32 noundef %73, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %76, ptr noundef %78, ptr noundef %80, i32 noundef %81) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

83:                                               ; preds = %0
  %84 = load i32, ptr @test_count, align 4, !tbaa !5
  %85 = add nsw i32 %84, 1
  store i32 %85, ptr @test_count, align 4, !tbaa !5
  %86 = tail call i32 @s2n_enable_atexit() #11
  %87 = icmp eq i32 %86, -1
  br i1 %87, label %88, label %112

88:                                               ; preds = %83
  %89 = tail call ptr @__errno_location() #12
  %90 = load i32, ptr %89, align 4, !tbaa !5
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = tail call i32 @s2n_print_stacktrace(ptr noundef %91) #11
  %93 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %94 = trunc nuw i8 %93 to i1
  br i1 %94, label %95, label %99

95:                                               ; preds = %88
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = tail call i32 @fileno(ptr noundef %96) #11
  %98 = tail call i32 @isatty(i32 noundef %97) #11
  %.not593 = icmp eq i32 %98, 0
  br i1 %.not593, label %99, label %100

99:                                               ; preds = %95, %88
  br label %100

100:                                              ; preds = %95, %99
  %.str.5.sink606 = phi ptr [ @.str.5, %99 ], [ @.str.2, %95 ]
  store i32 %90, ptr %89, align 4, !tbaa !5
  %101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %102 = load i32, ptr @test_count, align 4, !tbaa !5
  %103 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %104 = load i32, ptr %103, align 4, !tbaa !5
  %105 = tail call ptr @s2n_strerror(i32 noundef %104, ptr noundef nonnull @.str.4) #11
  %106 = load i32, ptr %103, align 4, !tbaa !5
  %107 = tail call ptr @s2n_strerror_debug(i32 noundef %106, ptr noundef nonnull @.str.4) #11
  %108 = load i32, ptr %89, align 4, !tbaa !5
  %109 = tail call ptr @strerror(i32 noundef %108) #11
  %110 = load i32, ptr %89, align 4, !tbaa !5
  %111 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %101, ptr noundef nonnull %.str.5.sink606, i32 noundef %102, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %105, ptr noundef %107, ptr noundef %109, i32 noundef %110) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

112:                                              ; preds = %83
  %113 = tail call i32 @s2n_init() #11
  %114 = icmp eq i32 %113, -1
  br i1 %114, label %115, label %139

115:                                              ; preds = %112
  %116 = tail call ptr @__errno_location() #12
  %117 = load i32, ptr %116, align 4, !tbaa !5
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = tail call i32 @s2n_print_stacktrace(ptr noundef %118) #11
  %120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %121 = trunc nuw i8 %120 to i1
  br i1 %121, label %122, label %126

122:                                              ; preds = %115
  %123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %124 = tail call i32 @fileno(ptr noundef %123) #11
  %125 = tail call i32 @isatty(i32 noundef %124) #11
  %.not592 = icmp eq i32 %125, 0
  br i1 %.not592, label %126, label %127

126:                                              ; preds = %122, %115
  br label %127

127:                                              ; preds = %122, %126
  %.str.5.sink617 = phi ptr [ @.str.5, %126 ], [ @.str.2, %122 ]
  store i32 %117, ptr %116, align 4, !tbaa !5
  %128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %129 = load i32, ptr @test_count, align 4, !tbaa !5
  %130 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %131 = load i32, ptr %130, align 4, !tbaa !5
  %132 = tail call ptr @s2n_strerror(i32 noundef %131, ptr noundef nonnull @.str.4) #11
  %133 = load i32, ptr %130, align 4, !tbaa !5
  %134 = tail call ptr @s2n_strerror_debug(i32 noundef %133, ptr noundef nonnull @.str.4) #11
  %135 = load i32, ptr %116, align 4, !tbaa !5
  %136 = tail call ptr @strerror(i32 noundef %135) #11
  %137 = load i32, ptr %116, align 4, !tbaa !5
  %138 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %128, ptr noundef nonnull %.str.5.sink617, i32 noundef %129, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %132, ptr noundef %134, ptr noundef %136, i32 noundef %137) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

139:                                              ; preds = %112
  %140 = load i32, ptr @test_count, align 4, !tbaa !5
  %141 = add nsw i32 %140, 1
  store i32 %141, ptr @test_count, align 4, !tbaa !5
  %142 = tail call i32 (...) @s2n_disable_tls13_in_test() #11
  %143 = icmp eq i32 %142, -1
  br i1 %143, label %144, label %168

144:                                              ; preds = %139
  %145 = tail call ptr @__errno_location() #12
  %146 = load i32, ptr %145, align 4, !tbaa !5
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = tail call i32 @s2n_print_stacktrace(ptr noundef %147) #11
  %149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %150 = trunc nuw i8 %149 to i1
  br i1 %150, label %151, label %155

151:                                              ; preds = %144
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = tail call i32 @fileno(ptr noundef %152) #11
  %154 = tail call i32 @isatty(i32 noundef %153) #11
  %.not591 = icmp eq i32 %154, 0
  br i1 %.not591, label %155, label %156

155:                                              ; preds = %151, %144
  br label %156

156:                                              ; preds = %151, %155
  %.str.5.sink628 = phi ptr [ @.str.5, %155 ], [ @.str.2, %151 ]
  store i32 %146, ptr %145, align 4, !tbaa !5
  %157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %158 = load i32, ptr @test_count, align 4, !tbaa !5
  %159 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %160 = load i32, ptr %159, align 4, !tbaa !5
  %161 = tail call ptr @s2n_strerror(i32 noundef %160, ptr noundef nonnull @.str.4) #11
  %162 = load i32, ptr %159, align 4, !tbaa !5
  %163 = tail call ptr @s2n_strerror_debug(i32 noundef %162, ptr noundef nonnull @.str.4) #11
  %164 = load i32, ptr %145, align 4, !tbaa !5
  %165 = tail call ptr @strerror(i32 noundef %164) #11
  %166 = load i32, ptr %145, align 4, !tbaa !5
  %167 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %157, ptr noundef nonnull %.str.5.sink628, i32 noundef %158, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %161, ptr noundef %163, ptr noundef %165, i32 noundef %166) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

168:                                              ; preds = %139
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %1) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %1, ptr noundef nonnull align 8 dereferenceable(40) @__const.main.empty_test_extension, i64 40, i1 false)
  %169 = getelementptr inbounds i8, ptr %1, i64 8
  store ptr @s2n_extension_send_no_data, ptr %169, align 8, !tbaa !15
  %170 = load i32, ptr @test_count, align 4, !tbaa !5
  %171 = add nsw i32 %170, 1
  store i32 %171, ptr @test_count, align 4, !tbaa !5
  %172 = tail call ptr @s2n_connection_new(i32 noundef 0) #11
  %173 = icmp eq ptr %172, null
  br i1 %173, label %174, label %198

174:                                              ; preds = %168
  %175 = tail call ptr @__errno_location() #12
  %176 = load i32, ptr %175, align 4, !tbaa !5
  %177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %178 = tail call i32 @s2n_print_stacktrace(ptr noundef %177) #11
  %179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %180 = trunc nuw i8 %179 to i1
  br i1 %180, label %181, label %185

181:                                              ; preds = %174
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = tail call i32 @fileno(ptr noundef %182) #11
  %184 = tail call i32 @isatty(i32 noundef %183) #11
  %.not590 = icmp eq i32 %184, 0
  br i1 %.not590, label %185, label %186

185:                                              ; preds = %181, %174
  br label %186

186:                                              ; preds = %181, %185
  %.str.5.sink639 = phi ptr [ @.str.5, %185 ], [ @.str.2, %181 ]
  store i32 %176, ptr %175, align 4, !tbaa !5
  %187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %188 = load i32, ptr @test_count, align 4, !tbaa !5
  %189 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %190 = load i32, ptr %189, align 4, !tbaa !5
  %191 = tail call ptr @s2n_strerror(i32 noundef %190, ptr noundef nonnull @.str.4) #11
  %192 = load i32, ptr %189, align 4, !tbaa !5
  %193 = tail call ptr @s2n_strerror_debug(i32 noundef %192, ptr noundef nonnull @.str.4) #11
  %194 = load i32, ptr %175, align 4, !tbaa !5
  %195 = tail call ptr @strerror(i32 noundef %194) #11
  %196 = load i32, ptr %175, align 4, !tbaa !5
  %197 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %187, ptr noundef nonnull %.str.5.sink639, i32 noundef %188, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %191, ptr noundef %193, ptr noundef %195, i32 noundef %196) #13
  tail call void @exit(i32 noundef 1) #14
  unreachable

198:                                              ; preds = %168
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %2) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %2, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false)
  %199 = load i32, ptr @test_count, align 4, !tbaa !5
  %200 = add nsw i32 %199, 1
  store i32 %200, ptr @test_count, align 4, !tbaa !5
  %201 = call i32 @s2n_extension_list_parse(ptr noundef null, ptr noundef nonnull %2) #11
  %202 = icmp eq i32 %201, -1
  br i1 %202, label %227, label %203

203:                                              ; preds = %198
  %204 = tail call ptr @__errno_location() #12
  %205 = load i32, ptr %204, align 4, !tbaa !5
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = call i32 @s2n_print_stacktrace(ptr noundef %206) #11
  %208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %209 = trunc nuw i8 %208 to i1
  br i1 %209, label %210, label %214

210:                                              ; preds = %203
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = call i32 @fileno(ptr noundef %211) #11
  %213 = call i32 @isatty(i32 noundef %212) #11
  %.not = icmp eq i32 %213, 0
  br i1 %.not, label %214, label %215

214:                                              ; preds = %210, %203
  br label %215

215:                                              ; preds = %210, %214
  %.str.5.sink650 = phi ptr [ @.str.5, %214 ], [ @.str.2, %210 ]
  store i32 %205, ptr %204, align 4, !tbaa !5
  %216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %217 = load i32, ptr @test_count, align 4, !tbaa !5
  %218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = call ptr @s2n_strerror(i32 noundef %219, ptr noundef nonnull @.str.4) #11
  %221 = load i32, ptr %218, align 4, !tbaa !5
  %222 = call ptr @s2n_strerror_debug(i32 noundef %221, ptr noundef nonnull @.str.4) #11
  %223 = load i32, ptr %204, align 4, !tbaa !5
  %224 = call ptr @strerror(i32 noundef %223) #11
  %225 = load i32, ptr %204, align 4, !tbaa !5
  %226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %216, ptr noundef nonnull %.str.5.sink650, i32 noundef %217, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %220, ptr noundef %222, ptr noundef %224, i32 noundef %225) #13
  call void @exit(i32 noundef 1) #14
  unreachable

227:                                              ; preds = %198
  %228 = load i32, ptr @test_count, align 4, !tbaa !5
  %229 = add nsw i32 %228, 1
  store i32 %229, ptr @test_count, align 4, !tbaa !5
  %230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = icmp eq i32 %231, 0
  br i1 %232, label %233, label %256

233:                                              ; preds = %227
  %234 = tail call ptr @__errno_location() #12
  %235 = load i32, ptr %234, align 4, !tbaa !5
  %236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %237 = call i32 @s2n_print_stacktrace(ptr noundef %236) #11
  %238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %239 = trunc nuw i8 %238 to i1
  br i1 %239, label %240, label %244

240:                                              ; preds = %233
  %241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %242 = call i32 @fileno(ptr noundef %241) #11
  %243 = call i32 @isatty(i32 noundef %242) #11
  %.not589 = icmp eq i32 %243, 0
  br i1 %.not589, label %244, label %245

244:                                              ; preds = %240, %233
  br label %245

245:                                              ; preds = %240, %244
  %.str.5.sink661 = phi ptr [ @.str.5, %244 ], [ @.str.2, %240 ]
  store i32 %235, ptr %234, align 4, !tbaa !5
  %246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %247 = load i32, ptr @test_count, align 4, !tbaa !5
  %248 = load i32, ptr %230, align 4, !tbaa !5
  %249 = call ptr @s2n_strerror(i32 noundef %248, ptr noundef nonnull @.str.4) #11
  %250 = load i32, ptr %230, align 4, !tbaa !5
  %251 = call ptr @s2n_strerror_debug(i32 noundef %250, ptr noundef nonnull @.str.4) #11
  %252 = load i32, ptr %234, align 4, !tbaa !5
  %253 = call ptr @strerror(i32 noundef %252) #11
  %254 = load i32, ptr %234, align 4, !tbaa !5
  %255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %246, ptr noundef nonnull %.str.5.sink661, i32 noundef %247, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %249, ptr noundef %251, ptr noundef %253, i32 noundef %254) #13
  call void @exit(i32 noundef 1) #14
  unreachable

256:                                              ; preds = %227
  %257 = add nsw i32 %228, 2
  store i32 %257, ptr @test_count, align 4, !tbaa !5
  %258 = call ptr @s2n_strerror_debug(i32 noundef %231, ptr noundef nonnull @.str.4) #11
  %259 = icmp eq ptr %258, null
  br i1 %259, label %260, label %283

260:                                              ; preds = %256
  %261 = tail call ptr @__errno_location() #12
  %262 = load i32, ptr %261, align 4, !tbaa !5
  %263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %264 = call i32 @s2n_print_stacktrace(ptr noundef %263) #11
  %265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %266 = trunc nuw i8 %265 to i1
  br i1 %266, label %267, label %271

267:                                              ; preds = %260
  %268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %269 = call i32 @fileno(ptr noundef %268) #11
  %270 = call i32 @isatty(i32 noundef %269) #11
  %.not588 = icmp eq i32 %270, 0
  br i1 %.not588, label %271, label %272

271:                                              ; preds = %267, %260
  br label %272

272:                                              ; preds = %267, %271
  %.str.5.sink670 = phi ptr [ @.str.5, %271 ], [ @.str.2, %267 ]
  store i32 %262, ptr %261, align 4, !tbaa !5
  %273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %274 = load i32, ptr @test_count, align 4, !tbaa !5
  %275 = load i32, ptr %230, align 4, !tbaa !5
  %276 = call ptr @s2n_strerror(i32 noundef %275, ptr noundef nonnull @.str.4) #11
  %277 = load i32, ptr %230, align 4, !tbaa !5
  %278 = call ptr @s2n_strerror_debug(i32 noundef %277, ptr noundef nonnull @.str.4) #11
  %279 = load i32, ptr %261, align 4, !tbaa !5
  %280 = call ptr @strerror(i32 noundef %279) #11
  %281 = load i32, ptr %261, align 4, !tbaa !5
  %282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %273, ptr noundef nonnull %.str.5.sink670, i32 noundef %274, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %276, ptr noundef %278, ptr noundef %280, i32 noundef %281) #13
  call void @exit(i32 noundef 1) #14
  unreachable

283:                                              ; preds = %256
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  %284 = tail call ptr @__errno_location() #12
  store i32 0, ptr %284, align 4, !tbaa !5
  %285 = load i32, ptr @test_count, align 4, !tbaa !5
  %286 = add nsw i32 %285, 1
  store i32 %286, ptr @test_count, align 4, !tbaa !5
  %287 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %3, ptr noundef null) #11
  %288 = icmp eq i32 %287, -1
  br i1 %288, label %311, label %289

289:                                              ; preds = %283
  %290 = load i32, ptr %284, align 4, !tbaa !5
  %291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %292 = call i32 @s2n_print_stacktrace(ptr noundef %291) #11
  %293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %294 = trunc nuw i8 %293 to i1
  br i1 %294, label %295, label %299

295:                                              ; preds = %289
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = call i32 @fileno(ptr noundef %296) #11
  %298 = call i32 @isatty(i32 noundef %297) #11
  %.not392 = icmp eq i32 %298, 0
  br i1 %.not392, label %299, label %300

299:                                              ; preds = %295, %289
  br label %300

300:                                              ; preds = %295, %299
  %.str.5.sink679 = phi ptr [ @.str.5, %299 ], [ @.str.2, %295 ]
  store i32 %290, ptr %284, align 4, !tbaa !5
  %301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %302 = load i32, ptr @test_count, align 4, !tbaa !5
  %303 = load i32, ptr %230, align 4, !tbaa !5
  %304 = call ptr @s2n_strerror(i32 noundef %303, ptr noundef nonnull @.str.4) #11
  %305 = load i32, ptr %230, align 4, !tbaa !5
  %306 = call ptr @s2n_strerror_debug(i32 noundef %305, ptr noundef nonnull @.str.4) #11
  %307 = load i32, ptr %284, align 4, !tbaa !5
  %308 = call ptr @strerror(i32 noundef %307) #11
  %309 = load i32, ptr %284, align 4, !tbaa !5
  %310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %301, ptr noundef nonnull %.str.5.sink679, i32 noundef %302, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %304, ptr noundef %306, ptr noundef %308, i32 noundef %309) #13
  call void @exit(i32 noundef 1) #14
  unreachable

311:                                              ; preds = %283
  %312 = load i32, ptr @test_count, align 4, !tbaa !5
  %313 = add nsw i32 %312, 1
  store i32 %313, ptr @test_count, align 4, !tbaa !5
  %314 = load i32, ptr %230, align 4, !tbaa !5
  %315 = icmp eq i32 %314, 0
  br i1 %315, label %316, label %338

316:                                              ; preds = %311
  %317 = load i32, ptr %284, align 4, !tbaa !5
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = call i32 @s2n_print_stacktrace(ptr noundef %318) #11
  %320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %321 = trunc nuw i8 %320 to i1
  br i1 %321, label %322, label %326

322:                                              ; preds = %316
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @fileno(ptr noundef %323) #11
  %325 = call i32 @isatty(i32 noundef %324) #11
  %.not587 = icmp eq i32 %325, 0
  br i1 %.not587, label %326, label %327

326:                                              ; preds = %322, %316
  br label %327

327:                                              ; preds = %322, %326
  %.str.5.sink688 = phi ptr [ @.str.5, %326 ], [ @.str.2, %322 ]
  store i32 %317, ptr %284, align 4, !tbaa !5
  %328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = load i32, ptr %230, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror(i32 noundef %330, ptr noundef nonnull @.str.4) #11
  %332 = load i32, ptr %230, align 4, !tbaa !5
  %333 = call ptr @s2n_strerror_debug(i32 noundef %332, ptr noundef nonnull @.str.4) #11
  %334 = load i32, ptr %284, align 4, !tbaa !5
  %335 = call ptr @strerror(i32 noundef %334) #11
  %336 = load i32, ptr %284, align 4, !tbaa !5
  %337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %328, ptr noundef nonnull %.str.5.sink688, i32 noundef %329, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %331, ptr noundef %333, ptr noundef %335, i32 noundef %336) #13
  call void @exit(i32 noundef 1) #14
  unreachable

338:                                              ; preds = %311
  %339 = add nsw i32 %312, 2
  store i32 %339, ptr @test_count, align 4, !tbaa !5
  %340 = call ptr @s2n_strerror_debug(i32 noundef %314, ptr noundef nonnull @.str.4) #11
  %341 = icmp eq ptr %340, null
  br i1 %341, label %342, label %364

342:                                              ; preds = %338
  %343 = load i32, ptr %284, align 4, !tbaa !5
  %344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %345 = call i32 @s2n_print_stacktrace(ptr noundef %344) #11
  %346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %347 = trunc nuw i8 %346 to i1
  br i1 %347, label %348, label %352

348:                                              ; preds = %342
  %349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %350 = call i32 @fileno(ptr noundef %349) #11
  %351 = call i32 @isatty(i32 noundef %350) #11
  %.not586 = icmp eq i32 %351, 0
  br i1 %.not586, label %352, label %353

352:                                              ; preds = %348, %342
  br label %353

353:                                              ; preds = %348, %352
  %.str.5.sink697 = phi ptr [ @.str.5, %352 ], [ @.str.2, %348 ]
  store i32 %343, ptr %284, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = load i32, ptr %230, align 4, !tbaa !5
  %357 = call ptr @s2n_strerror(i32 noundef %356, ptr noundef nonnull @.str.4) #11
  %358 = load i32, ptr %230, align 4, !tbaa !5
  %359 = call ptr @s2n_strerror_debug(i32 noundef %358, ptr noundef nonnull @.str.4) #11
  %360 = load i32, ptr %284, align 4, !tbaa !5
  %361 = call ptr @strerror(i32 noundef %360) #11
  %362 = load i32, ptr %284, align 4, !tbaa !5
  %363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef nonnull %.str.5.sink697, i32 noundef %355, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %357, ptr noundef %359, ptr noundef %361, i32 noundef %362) #13
  call void @exit(i32 noundef 1) #14
  unreachable

364:                                              ; preds = %338
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %2) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %4) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %4, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false)
  %365 = load i32, ptr @test_count, align 4, !tbaa !5
  %366 = add nsw i32 %365, 1
  store i32 %366, ptr @test_count, align 4, !tbaa !5
  %367 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5, i32 noundef 1) #11
  %368 = icmp eq i32 %367, -1
  br i1 %368, label %369, label %391

369:                                              ; preds = %364
  %370 = load i32, ptr %284, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = call i32 @s2n_print_stacktrace(ptr noundef %371) #11
  %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) #11
  %378 = call i32 @isatty(i32 noundef %377) #11
  %.not585 = icmp eq i32 %378, 0
  br i1 %.not585, label %379, label %380

379:                                              ; preds = %375, %369
  br label %380

380:                                              ; preds = %375, %379
  %.str.5.sink706 = phi ptr [ @.str.5, %379 ], [ @.str.2, %375 ]
  store i32 %370, ptr %284, 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 %230, align 4, !tbaa !5
  %384 = call ptr @s2n_strerror(i32 noundef %383, ptr noundef nonnull @.str.4) #11
  %385 = load i32, ptr %230, align 4, !tbaa !5
  %386 = call ptr @s2n_strerror_debug(i32 noundef %385, ptr noundef nonnull @.str.4) #11
  %387 = load i32, ptr %284, align 4, !tbaa !5
  %388 = call ptr @strerror(i32 noundef %387) #11
  %389 = load i32, ptr %284, align 4, !tbaa !5
  %390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %381, ptr noundef nonnull %.str.5.sink706, i32 noundef %382, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %384, ptr noundef %386, ptr noundef %388, i32 noundef %389) #13
  call void @exit(i32 noundef 1) #14
  unreachable

391:                                              ; preds = %364
  %392 = getelementptr inbounds i8, ptr %4, i64 24
  store i16 255, ptr %392, align 8, !tbaa !18
  %393 = getelementptr inbounds i8, ptr %4, i64 664
  store i16 255, ptr %393, align 8, !tbaa !18
  %394 = load i32, ptr @test_count, align 4, !tbaa !5
  %395 = add nsw i32 %394, 1
  store i32 %395, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %4, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %396 = icmp eq i32 %bcmp, 0
  br i1 %396, label %397, label %419

397:                                              ; preds = %391
  %398 = load i32, ptr %284, align 4, !tbaa !5
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = call i32 @s2n_print_stacktrace(ptr noundef %399) #11
  %401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %402 = trunc nuw i8 %401 to i1
  br i1 %402, label %403, label %407

403:                                              ; preds = %397
  %404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %405 = call i32 @fileno(ptr noundef %404) #11
  %406 = call i32 @isatty(i32 noundef %405) #11
  %.not584 = icmp eq i32 %406, 0
  br i1 %.not584, label %407, label %408

407:                                              ; preds = %403, %397
  br label %408

408:                                              ; preds = %403, %407
  %.str.5.sink715 = phi ptr [ @.str.5, %407 ], [ @.str.2, %403 ]
  store i32 %398, ptr %284, align 4, !tbaa !5
  %409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %410 = load i32, ptr @test_count, align 4, !tbaa !5
  %411 = load i32, ptr %230, align 4, !tbaa !5
  %412 = call ptr @s2n_strerror(i32 noundef %411, ptr noundef nonnull @.str.4) #11
  %413 = load i32, ptr %230, align 4, !tbaa !5
  %414 = call ptr @s2n_strerror_debug(i32 noundef %413, ptr noundef nonnull @.str.4) #11
  %415 = load i32, ptr %284, align 4, !tbaa !5
  %416 = call ptr @strerror(i32 noundef %415) #11
  %417 = load i32, ptr %284, align 4, !tbaa !5
  %418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %409, ptr noundef nonnull %.str.5.sink715, i32 noundef %410, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %412, ptr noundef %414, ptr noundef %416, i32 noundef %417) #13
  call void @exit(i32 noundef 1) #14
  unreachable

419:                                              ; preds = %391
  %420 = add nsw i32 %394, 2
  store i32 %420, ptr @test_count, align 4, !tbaa !5
  %421 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %5, ptr noundef nonnull %4) #11
  %422 = icmp eq i32 %421, -1
  br i1 %422, label %423, label %445

423:                                              ; preds = %419
  %424 = load i32, ptr %284, align 4, !tbaa !5
  %425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %426 = call i32 @s2n_print_stacktrace(ptr noundef %425) #11
  %427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %428 = trunc nuw i8 %427 to i1
  br i1 %428, label %429, label %433

429:                                              ; preds = %423
  %430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %431 = call i32 @fileno(ptr noundef %430) #11
  %432 = call i32 @isatty(i32 noundef %431) #11
  %.not583 = icmp eq i32 %432, 0
  br i1 %.not583, label %433, label %434

433:                                              ; preds = %429, %423
  br label %434

434:                                              ; preds = %429, %433
  %.str.5.sink724 = phi ptr [ @.str.5, %433 ], [ @.str.2, %429 ]
  store i32 %424, ptr %284, align 4, !tbaa !5
  %435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %436 = load i32, ptr @test_count, align 4, !tbaa !5
  %437 = load i32, ptr %230, align 4, !tbaa !5
  %438 = call ptr @s2n_strerror(i32 noundef %437, ptr noundef nonnull @.str.4) #11
  %439 = load i32, ptr %230, align 4, !tbaa !5
  %440 = call ptr @s2n_strerror_debug(i32 noundef %439, ptr noundef nonnull @.str.4) #11
  %441 = load i32, ptr %284, align 4, !tbaa !5
  %442 = call ptr @strerror(i32 noundef %441) #11
  %443 = load i32, ptr %284, align 4, !tbaa !5
  %444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %435, ptr noundef nonnull %.str.5.sink724, i32 noundef %436, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %438, ptr noundef %440, ptr noundef %442, i32 noundef %443) #13
  call void @exit(i32 noundef 1) #14
  unreachable

445:                                              ; preds = %419
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = add nsw i32 %446, 1
  store i32 %447, ptr @test_count, align 4, !tbaa !5
  %448 = getelementptr inbounds i8, ptr %5, i64 28
  %449 = load i32, ptr %448, align 4, !tbaa !21
  %450 = getelementptr inbounds i8, ptr %5, i64 24
  %451 = load i32, ptr %450, align 8, !tbaa !23
  %452 = icmp eq i32 %449, %451
  br i1 %452, label %475, label %453

453:                                              ; preds = %445
  %454 = load i32, ptr %284, align 4, !tbaa !5
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @s2n_print_stacktrace(ptr noundef %455) #11
  %457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %458 = trunc nuw i8 %457 to i1
  br i1 %458, label %459, label %463

459:                                              ; preds = %453
  %460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %461 = call i32 @fileno(ptr noundef %460) #11
  %462 = call i32 @isatty(i32 noundef %461) #11
  %.not393 = icmp eq i32 %462, 0
  br i1 %.not393, label %463, label %464

463:                                              ; preds = %459, %453
  br label %464

464:                                              ; preds = %459, %463
  %.str.5.sink733 = phi ptr [ @.str.5, %463 ], [ @.str.2, %459 ]
  store i32 %454, ptr %284, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = load i32, ptr %230, align 4, !tbaa !5
  %468 = call ptr @s2n_strerror(i32 noundef %467, ptr noundef nonnull @.str.4) #11
  %469 = load i32, ptr %230, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror_debug(i32 noundef %469, ptr noundef nonnull @.str.4) #11
  %471 = load i32, ptr %284, align 4, !tbaa !5
  %472 = call ptr @strerror(i32 noundef %471) #11
  %473 = load i32, ptr %284, align 4, !tbaa !5
  %474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %465, ptr noundef nonnull %.str.5.sink733, i32 noundef %466, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %468, ptr noundef %470, ptr noundef %472, i32 noundef %473) #13
  call void @exit(i32 noundef 1) #14
  unreachable

475:                                              ; preds = %445
  %476 = add nsw i32 %446, 2
  store i32 %476, ptr @test_count, align 4, !tbaa !5
  %bcmp394 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %4, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %477 = icmp eq i32 %bcmp394, 0
  br i1 %477, label %500, label %478

478:                                              ; preds = %475
  %479 = load i32, ptr %284, align 4, !tbaa !5
  %480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %481 = call i32 @s2n_print_stacktrace(ptr noundef %480) #11
  %482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %483 = trunc nuw i8 %482 to i1
  br i1 %483, label %484, label %488

484:                                              ; preds = %478
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = call i32 @fileno(ptr noundef %485) #11
  %487 = call i32 @isatty(i32 noundef %486) #11
  %.not395 = icmp eq i32 %487, 0
  br i1 %.not395, label %488, label %489

488:                                              ; preds = %484, %478
  br label %489

489:                                              ; preds = %484, %488
  %.str.5.sink742 = phi ptr [ @.str.5, %488 ], [ @.str.2, %484 ]
  store i32 %479, ptr %284, align 4, !tbaa !5
  %490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %491 = load i32, ptr @test_count, align 4, !tbaa !5
  %492 = load i32, ptr %230, align 4, !tbaa !5
  %493 = call ptr @s2n_strerror(i32 noundef %492, ptr noundef nonnull @.str.4) #11
  %494 = load i32, ptr %230, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror_debug(i32 noundef %494, ptr noundef nonnull @.str.4) #11
  %496 = load i32, ptr %284, align 4, !tbaa !5
  %497 = call ptr @strerror(i32 noundef %496) #11
  %498 = load i32, ptr %284, align 4, !tbaa !5
  %499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %490, ptr noundef nonnull %.str.5.sink742, i32 noundef %491, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %493, ptr noundef %495, ptr noundef %497, i32 noundef %498) #13
  call void @exit(i32 noundef 1) #14
  unreachable

500:                                              ; preds = %475
  %501 = add nsw i32 %446, 3
  store i32 %501, ptr @test_count, align 4, !tbaa !5
  %502 = getelementptr inbounds i8, ptr %4, i64 672
  %503 = load ptr, ptr %502, align 8, !tbaa !24
  %504 = load ptr, ptr %5, align 8, !tbaa !26
  %505 = icmp eq ptr %503, %504
  br i1 %505, label %528, label %506

506:                                              ; preds = %500
  %507 = load i32, ptr %284, align 4, !tbaa !5
  %508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %509 = call i32 @s2n_print_stacktrace(ptr noundef %508) #11
  %510 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %511 = trunc nuw i8 %510 to i1
  br i1 %511, label %512, label %516

512:                                              ; preds = %506
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @fileno(ptr noundef %513) #11
  %515 = call i32 @isatty(i32 noundef %514) #11
  %.not396 = icmp eq i32 %515, 0
  br i1 %.not396, label %516, label %517

516:                                              ; preds = %512, %506
  br label %517

517:                                              ; preds = %512, %516
  %.str.5.sink751 = phi ptr [ @.str.5, %516 ], [ @.str.2, %512 ]
  store i32 %507, ptr %284, align 4, !tbaa !5
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = load i32, ptr @test_count, align 4, !tbaa !5
  %520 = load i32, ptr %230, align 4, !tbaa !5
  %521 = call ptr @s2n_strerror(i32 noundef %520, ptr noundef nonnull @.str.4) #11
  %522 = load i32, ptr %230, align 4, !tbaa !5
  %523 = call ptr @s2n_strerror_debug(i32 noundef %522, ptr noundef nonnull @.str.4) #11
  %524 = load i32, ptr %284, align 4, !tbaa !5
  %525 = call ptr @strerror(i32 noundef %524) #11
  %526 = load i32, ptr %284, align 4, !tbaa !5
  %527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %518, ptr noundef nonnull %.str.5.sink751, i32 noundef %519, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %521, ptr noundef %523, ptr noundef %525, i32 noundef %526) #13
  call void @exit(i32 noundef 1) #14
  unreachable

528:                                              ; preds = %500
  %529 = add nsw i32 %446, 4
  store i32 %529, ptr @test_count, align 4, !tbaa !5
  %530 = getelementptr inbounds i8, ptr %4, i64 680
  %531 = load i32, ptr %530, align 8, !tbaa !27
  %532 = icmp eq i32 %531, 0
  br i1 %532, label %555, label %533

533:                                              ; preds = %528
  %534 = load i32, ptr %284, align 4, !tbaa !5
  %535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %536 = call i32 @s2n_print_stacktrace(ptr noundef %535) #11
  %537 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %538 = trunc nuw i8 %537 to i1
  br i1 %538, label %539, label %543

539:                                              ; preds = %533
  %540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %541 = call i32 @fileno(ptr noundef %540) #11
  %542 = call i32 @isatty(i32 noundef %541) #11
  %.not397 = icmp eq i32 %542, 0
  br i1 %.not397, label %543, label %544

543:                                              ; preds = %539, %533
  br label %544

544:                                              ; preds = %539, %543
  %.str.5.sink760 = phi ptr [ @.str.5, %543 ], [ @.str.2, %539 ]
  store i32 %534, ptr %284, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = load i32, ptr @test_count, align 4, !tbaa !5
  %547 = load i32, ptr %230, align 4, !tbaa !5
  %548 = call ptr @s2n_strerror(i32 noundef %547, ptr noundef nonnull @.str.4) #11
  %549 = load i32, ptr %230, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror_debug(i32 noundef %549, ptr noundef nonnull @.str.4) #11
  %551 = load i32, ptr %284, align 4, !tbaa !5
  %552 = call ptr @strerror(i32 noundef %551) #11
  %553 = load i32, ptr %284, align 4, !tbaa !5
  %554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %545, ptr noundef nonnull %.str.5.sink760, i32 noundef %546, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %548, ptr noundef %550, ptr noundef %552, i32 noundef %553) #13
  call void @exit(i32 noundef 1) #14
  unreachable

555:                                              ; preds = %528
  %556 = add nsw i32 %446, 5
  store i32 %556, ptr @test_count, align 4, !tbaa !5
  %557 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5) #11
  %558 = icmp eq i32 %557, -1
  br i1 %558, label %559, label %581

559:                                              ; preds = %555
  %560 = load i32, ptr %284, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561) #11
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc nuw i8 %563 to i1
  br i1 %564, label %565, label %569

565:                                              ; preds = %559
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #11
  %568 = call i32 @isatty(i32 noundef %567) #11
  %.not582 = icmp eq i32 %568, 0
  br i1 %.not582, label %569, label %570

569:                                              ; preds = %565, %559
  br label %570

570:                                              ; preds = %565, %569
  %.str.5.sink769 = phi ptr [ @.str.5, %569 ], [ @.str.2, %565 ]
  store i32 %560, ptr %284, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = load i32, ptr @test_count, align 4, !tbaa !5
  %573 = load i32, ptr %230, align 4, !tbaa !5
  %574 = call ptr @s2n_strerror(i32 noundef %573, ptr noundef nonnull @.str.4) #11
  %575 = load i32, ptr %230, align 4, !tbaa !5
  %576 = call ptr @s2n_strerror_debug(i32 noundef %575, ptr noundef nonnull @.str.4) #11
  %577 = load i32, ptr %284, align 4, !tbaa !5
  %578 = call ptr @strerror(i32 noundef %577) #11
  %579 = load i32, ptr %284, align 4, !tbaa !5
  %580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef nonnull %.str.5.sink769, i32 noundef %572, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %574, ptr noundef %576, ptr noundef %578, i32 noundef %579) #13
  call void @exit(i32 noundef 1) #14
  unreachable

581:                                              ; preds = %555
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %4) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %6) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %6, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = add nsw i32 %582, 1
  store i32 %583, ptr @test_count, align 4, !tbaa !5
  %584 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 1) #11
  %585 = icmp eq i32 %584, -1
  br i1 %585, label %586, label %608

586:                                              ; preds = %581
  %587 = load i32, ptr %284, align 4, !tbaa !5
  %588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %589 = call i32 @s2n_print_stacktrace(ptr noundef %588) #11
  %590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %591 = trunc nuw i8 %590 to i1
  br i1 %591, label %592, label %596

592:                                              ; preds = %586
  %593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %594 = call i32 @fileno(ptr noundef %593) #11
  %595 = call i32 @isatty(i32 noundef %594) #11
  %.not581 = icmp eq i32 %595, 0
  br i1 %.not581, label %596, label %597

596:                                              ; preds = %592, %586
  br label %597

597:                                              ; preds = %592, %596
  %.str.5.sink778 = phi ptr [ @.str.5, %596 ], [ @.str.2, %592 ]
  store i32 %587, ptr %284, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = load i32, ptr @test_count, align 4, !tbaa !5
  %600 = load i32, ptr %230, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror(i32 noundef %600, ptr noundef nonnull @.str.4) #11
  %602 = load i32, ptr %230, align 4, !tbaa !5
  %603 = call ptr @s2n_strerror_debug(i32 noundef %602, ptr noundef nonnull @.str.4) #11
  %604 = load i32, ptr %284, align 4, !tbaa !5
  %605 = call ptr @strerror(i32 noundef %604) #11
  %606 = load i32, ptr %284, align 4, !tbaa !5
  %607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %598, ptr noundef nonnull %.str.5.sink778, i32 noundef %599, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %601, ptr noundef %603, ptr noundef %605, i32 noundef %606) #13
  call void @exit(i32 noundef 1) #14
  unreachable

608:                                              ; preds = %581
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = add nsw i32 %609, 1
  store i32 %610, ptr @test_count, align 4, !tbaa !5
  %611 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %7, ptr noundef nonnull %6) #11
  %612 = icmp eq i32 %611, -1
  br i1 %612, label %613, label %635

613:                                              ; preds = %608
  %614 = load i32, ptr %284, align 4, !tbaa !5
  %615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %616 = call i32 @s2n_print_stacktrace(ptr noundef %615) #11
  %617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %618 = trunc nuw i8 %617 to i1
  br i1 %618, label %619, label %623

619:                                              ; preds = %613
  %620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %621 = call i32 @fileno(ptr noundef %620) #11
  %622 = call i32 @isatty(i32 noundef %621) #11
  %.not580 = icmp eq i32 %622, 0
  br i1 %.not580, label %623, label %624

623:                                              ; preds = %619, %613
  br label %624

624:                                              ; preds = %619, %623
  %.str.5.sink787 = phi ptr [ @.str.5, %623 ], [ @.str.2, %619 ]
  store i32 %614, ptr %284, align 4, !tbaa !5
  %625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %626 = load i32, ptr @test_count, align 4, !tbaa !5
  %627 = load i32, ptr %230, align 4, !tbaa !5
  %628 = call ptr @s2n_strerror(i32 noundef %627, ptr noundef nonnull @.str.4) #11
  %629 = load i32, ptr %230, align 4, !tbaa !5
  %630 = call ptr @s2n_strerror_debug(i32 noundef %629, ptr noundef nonnull @.str.4) #11
  %631 = load i32, ptr %284, align 4, !tbaa !5
  %632 = call ptr @strerror(i32 noundef %631) #11
  %633 = load i32, ptr %284, align 4, !tbaa !5
  %634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %625, ptr noundef nonnull %.str.5.sink787, i32 noundef %626, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %628, ptr noundef %630, ptr noundef %632, i32 noundef %633) #13
  call void @exit(i32 noundef 1) #14
  unreachable

635:                                              ; preds = %608
  %636 = load i32, ptr @test_count, align 4, !tbaa !5
  %637 = add nsw i32 %636, 1
  store i32 %637, ptr @test_count, align 4, !tbaa !5
  %638 = getelementptr inbounds i8, ptr %7, i64 28
  %639 = load i32, ptr %638, align 4, !tbaa !21
  %640 = getelementptr inbounds i8, ptr %7, i64 24
  %641 = load i32, ptr %640, align 8, !tbaa !23
  %642 = icmp eq i32 %639, %641
  br i1 %642, label %665, label %643

643:                                              ; preds = %635
  %644 = load i32, ptr %284, align 4, !tbaa !5
  %645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %646 = call i32 @s2n_print_stacktrace(ptr noundef %645) #11
  %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) #11
  %652 = call i32 @isatty(i32 noundef %651) #11
  %.not398 = icmp eq i32 %652, 0
  br i1 %.not398, label %653, label %654

653:                                              ; preds = %649, %643
  br label %654

654:                                              ; preds = %649, %653
  %.str.5.sink796 = phi ptr [ @.str.5, %653 ], [ @.str.2, %649 ]
  store i32 %644, ptr %284, 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 %230, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror(i32 noundef %657, ptr noundef nonnull @.str.4) #11
  %659 = load i32, ptr %230, align 4, !tbaa !5
  %660 = call ptr @s2n_strerror_debug(i32 noundef %659, ptr noundef nonnull @.str.4) #11
  %661 = load i32, ptr %284, align 4, !tbaa !5
  %662 = call ptr @strerror(i32 noundef %661) #11
  %663 = load i32, ptr %284, align 4, !tbaa !5
  %664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %655, ptr noundef nonnull %.str.5.sink796, i32 noundef %656, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %658, ptr noundef %660, ptr noundef %662, i32 noundef %663) #13
  call void @exit(i32 noundef 1) #14
  unreachable

665:                                              ; preds = %635
  %666 = add nsw i32 %636, 2
  store i32 %666, ptr @test_count, align 4, !tbaa !5
  %bcmp399 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %6, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %667 = icmp eq i32 %bcmp399, 0
  br i1 %667, label %690, label %668

668:                                              ; preds = %665
  %669 = load i32, ptr %284, align 4, !tbaa !5
  %670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %671 = call i32 @s2n_print_stacktrace(ptr noundef %670) #11
  %672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %673 = trunc nuw i8 %672 to i1
  br i1 %673, label %674, label %678

674:                                              ; preds = %668
  %675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %676 = call i32 @fileno(ptr noundef %675) #11
  %677 = call i32 @isatty(i32 noundef %676) #11
  %.not400 = icmp eq i32 %677, 0
  br i1 %.not400, label %678, label %679

678:                                              ; preds = %674, %668
  br label %679

679:                                              ; preds = %674, %678
  %.str.5.sink805 = phi ptr [ @.str.5, %678 ], [ @.str.2, %674 ]
  store i32 %669, ptr %284, align 4, !tbaa !5
  %680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %681 = load i32, ptr @test_count, align 4, !tbaa !5
  %682 = load i32, ptr %230, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror(i32 noundef %682, ptr noundef nonnull @.str.4) #11
  %684 = load i32, ptr %230, align 4, !tbaa !5
  %685 = call ptr @s2n_strerror_debug(i32 noundef %684, ptr noundef nonnull @.str.4) #11
  %686 = load i32, ptr %284, align 4, !tbaa !5
  %687 = call ptr @strerror(i32 noundef %686) #11
  %688 = load i32, ptr %284, align 4, !tbaa !5
  %689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %680, ptr noundef nonnull %.str.5.sink805, i32 noundef %681, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 120, ptr noundef %683, ptr noundef %685, ptr noundef %687, i32 noundef %688) #13
  call void @exit(i32 noundef 1) #14
  unreachable

690:                                              ; preds = %665
  %691 = add nsw i32 %636, 3
  store i32 %691, ptr @test_count, align 4, !tbaa !5
  %692 = getelementptr inbounds i8, ptr %6, i64 672
  %693 = load ptr, ptr %692, align 8, !tbaa !24
  %694 = load ptr, ptr %7, align 8, !tbaa !26
  %695 = icmp eq ptr %693, %694
  br i1 %695, label %718, label %696

696:                                              ; preds = %690
  %697 = load i32, ptr %284, align 4, !tbaa !5
  %698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %699 = call i32 @s2n_print_stacktrace(ptr noundef %698) #11
  %700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %701 = trunc nuw i8 %700 to i1
  br i1 %701, label %702, label %706

702:                                              ; preds = %696
  %703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %704 = call i32 @fileno(ptr noundef %703) #11
  %705 = call i32 @isatty(i32 noundef %704) #11
  %.not401 = icmp eq i32 %705, 0
  br i1 %.not401, label %706, label %707

706:                                              ; preds = %702, %696
  br label %707

707:                                              ; preds = %702, %706
  %.str.5.sink814 = phi ptr [ @.str.5, %706 ], [ @.str.2, %702 ]
  store i32 %697, ptr %284, align 4, !tbaa !5
  %708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %709 = load i32, ptr @test_count, align 4, !tbaa !5
  %710 = load i32, ptr %230, align 4, !tbaa !5
  %711 = call ptr @s2n_strerror(i32 noundef %710, ptr noundef nonnull @.str.4) #11
  %712 = load i32, ptr %230, align 4, !tbaa !5
  %713 = call ptr @s2n_strerror_debug(i32 noundef %712, ptr noundef nonnull @.str.4) #11
  %714 = load i32, ptr %284, align 4, !tbaa !5
  %715 = call ptr @strerror(i32 noundef %714) #11
  %716 = load i32, ptr %284, align 4, !tbaa !5
  %717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %708, ptr noundef nonnull %.str.5.sink814, i32 noundef %709, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %711, ptr noundef %713, ptr noundef %715, i32 noundef %716) #13
  call void @exit(i32 noundef 1) #14
  unreachable

718:                                              ; preds = %690
  %719 = add nsw i32 %636, 4
  store i32 %719, ptr @test_count, align 4, !tbaa !5
  %720 = getelementptr inbounds i8, ptr %6, i64 680
  %721 = load i32, ptr %720, align 8, !tbaa !27
  %722 = icmp eq i32 %721, 0
  br i1 %722, label %745, label %723

723:                                              ; preds = %718
  %724 = load i32, ptr %284, align 4, !tbaa !5
  %725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %726 = call i32 @s2n_print_stacktrace(ptr noundef %725) #11
  %727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %728 = trunc nuw i8 %727 to i1
  br i1 %728, label %729, label %733

729:                                              ; preds = %723
  %730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %731 = call i32 @fileno(ptr noundef %730) #11
  %732 = call i32 @isatty(i32 noundef %731) #11
  %.not402 = icmp eq i32 %732, 0
  br i1 %.not402, label %733, label %734

733:                                              ; preds = %729, %723
  br label %734

734:                                              ; preds = %729, %733
  %.str.5.sink823 = phi ptr [ @.str.5, %733 ], [ @.str.2, %729 ]
  store i32 %724, ptr %284, align 4, !tbaa !5
  %735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %736 = load i32, ptr @test_count, align 4, !tbaa !5
  %737 = load i32, ptr %230, align 4, !tbaa !5
  %738 = call ptr @s2n_strerror(i32 noundef %737, ptr noundef nonnull @.str.4) #11
  %739 = load i32, ptr %230, align 4, !tbaa !5
  %740 = call ptr @s2n_strerror_debug(i32 noundef %739, ptr noundef nonnull @.str.4) #11
  %741 = load i32, ptr %284, align 4, !tbaa !5
  %742 = call ptr @strerror(i32 noundef %741) #11
  %743 = load i32, ptr %284, align 4, !tbaa !5
  %744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %735, ptr noundef nonnull %.str.5.sink823, i32 noundef %736, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %738, ptr noundef %740, ptr noundef %742, i32 noundef %743) #13
  call void @exit(i32 noundef 1) #14
  unreachable

745:                                              ; preds = %718
  %746 = add nsw i32 %636, 5
  store i32 %746, ptr @test_count, align 4, !tbaa !5
  %747 = getelementptr inbounds i8, ptr %6, i64 696
  %748 = load i16, ptr %747, align 8, !tbaa !28
  %749 = icmp eq i16 %748, 0
  br i1 %749, label %772, label %750

750:                                              ; preds = %745
  %751 = load i32, ptr %284, align 4, !tbaa !5
  %752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %753 = call i32 @s2n_print_stacktrace(ptr noundef %752) #11
  %754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %755 = trunc nuw i8 %754 to i1
  br i1 %755, label %756, label %760

756:                                              ; preds = %750
  %757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %758 = call i32 @fileno(ptr noundef %757) #11
  %759 = call i32 @isatty(i32 noundef %758) #11
  %.not403 = icmp eq i32 %759, 0
  br i1 %.not403, label %760, label %761

760:                                              ; preds = %756, %750
  br label %761

761:                                              ; preds = %756, %760
  %.str.5.sink832 = phi ptr [ @.str.5, %760 ], [ @.str.2, %756 ]
  store i32 %751, ptr %284, align 4, !tbaa !5
  %762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %763 = load i32, ptr @test_count, align 4, !tbaa !5
  %764 = load i32, ptr %230, align 4, !tbaa !5
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef nonnull @.str.4) #11
  %766 = load i32, ptr %230, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror_debug(i32 noundef %766, ptr noundef nonnull @.str.4) #11
  %768 = load i32, ptr %284, align 4, !tbaa !5
  %769 = call ptr @strerror(i32 noundef %768) #11
  %770 = load i32, ptr %284, align 4, !tbaa !5
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %762, ptr noundef nonnull %.str.5.sink832, i32 noundef %763, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 124, ptr noundef %765, ptr noundef %767, ptr noundef %769, i32 noundef %770) #13
  call void @exit(i32 noundef 1) #14
  unreachable

772:                                              ; preds = %745
  %773 = add nsw i32 %636, 6
  store i32 %773, ptr @test_count, align 4, !tbaa !5
  %774 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #11
  %775 = icmp eq i32 %774, -1
  br i1 %775, label %776, label %798

776:                                              ; preds = %772
  %777 = load i32, ptr %284, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @s2n_print_stacktrace(ptr noundef %778) #11
  %780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %781 = trunc nuw i8 %780 to i1
  br i1 %781, label %782, label %786

782:                                              ; preds = %776
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = call i32 @fileno(ptr noundef %783) #11
  %785 = call i32 @isatty(i32 noundef %784) #11
  %.not579 = icmp eq i32 %785, 0
  br i1 %.not579, label %786, label %787

786:                                              ; preds = %782, %776
  br label %787

787:                                              ; preds = %782, %786
  %.str.5.sink841 = phi ptr [ @.str.5, %786 ], [ @.str.2, %782 ]
  store i32 %777, ptr %284, align 4, !tbaa !5
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = load i32, ptr %230, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror(i32 noundef %790, ptr noundef nonnull @.str.4) #11
  %792 = load i32, ptr %230, align 4, !tbaa !5
  %793 = call ptr @s2n_strerror_debug(i32 noundef %792, ptr noundef nonnull @.str.4) #11
  %794 = load i32, ptr %284, align 4, !tbaa !5
  %795 = call ptr @strerror(i32 noundef %794) #11
  %796 = load i32, ptr %284, align 4, !tbaa !5
  %797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %788, ptr noundef nonnull %.str.5.sink841, i32 noundef %789, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %791, ptr noundef %793, ptr noundef %795, i32 noundef %796) #13
  call void @exit(i32 noundef 1) #14
  unreachable

798:                                              ; preds = %772
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %6) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %8) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %8, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, i8 0, i64 40, i1 false)
  %799 = load i32, ptr @test_count, align 4, !tbaa !5
  %800 = add nsw i32 %799, 1
  store i32 %800, ptr @test_count, align 4, !tbaa !5
  %801 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %9, i32 noundef 0) #11
  %802 = icmp eq i32 %801, -1
  br i1 %802, label %803, label %825

803:                                              ; preds = %798
  %804 = load i32, ptr %284, align 4, !tbaa !5
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @s2n_print_stacktrace(ptr noundef %805) #11
  %807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %808 = trunc nuw i8 %807 to i1
  br i1 %808, label %809, label %813

809:                                              ; preds = %803
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = call i32 @fileno(ptr noundef %810) #11
  %812 = call i32 @isatty(i32 noundef %811) #11
  %.not578 = icmp eq i32 %812, 0
  br i1 %.not578, label %813, label %814

813:                                              ; preds = %809, %803
  br label %814

814:                                              ; preds = %809, %813
  %.str.5.sink850 = phi ptr [ @.str.5, %813 ], [ @.str.2, %809 ]
  store i32 %804, ptr %284, align 4, !tbaa !5
  %815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %816 = load i32, ptr @test_count, align 4, !tbaa !5
  %817 = load i32, ptr %230, align 4, !tbaa !5
  %818 = call ptr @s2n_strerror(i32 noundef %817, ptr noundef nonnull @.str.4) #11
  %819 = load i32, ptr %230, align 4, !tbaa !5
  %820 = call ptr @s2n_strerror_debug(i32 noundef %819, ptr noundef nonnull @.str.4) #11
  %821 = load i32, ptr %284, align 4, !tbaa !5
  %822 = call ptr @strerror(i32 noundef %821) #11
  %823 = load i32, ptr %284, align 4, !tbaa !5
  %824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %815, ptr noundef nonnull %.str.5.sink850, i32 noundef %816, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %818, ptr noundef %820, ptr noundef %822, i32 noundef %823) #13
  call void @exit(i32 noundef 1) #14
  unreachable

825:                                              ; preds = %798
  %826 = load i32, ptr @test_count, align 4, !tbaa !5
  %827 = add nsw i32 %826, 1
  store i32 %827, ptr @test_count, align 4, !tbaa !5
  %828 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %9, i16 noundef zeroext 0) #11
  %829 = icmp eq i32 %828, -1
  br i1 %829, label %830, label %852

830:                                              ; preds = %825
  %831 = load i32, ptr %284, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832) #11
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc nuw i8 %834 to i1
  br i1 %835, label %836, label %840

836:                                              ; preds = %830
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #11
  %839 = call i32 @isatty(i32 noundef %838) #11
  %.not577 = icmp eq i32 %839, 0
  br i1 %.not577, label %840, label %841

840:                                              ; preds = %836, %830
  br label %841

841:                                              ; preds = %836, %840
  %.str.5.sink859 = phi ptr [ @.str.5, %840 ], [ @.str.2, %836 ]
  store i32 %831, ptr %284, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = load i32, ptr %230, align 4, !tbaa !5
  %845 = call ptr @s2n_strerror(i32 noundef %844, ptr noundef nonnull @.str.4) #11
  %846 = load i32, ptr %230, align 4, !tbaa !5
  %847 = call ptr @s2n_strerror_debug(i32 noundef %846, ptr noundef nonnull @.str.4) #11
  %848 = load i32, ptr %284, align 4, !tbaa !5
  %849 = call ptr @strerror(i32 noundef %848) #11
  %850 = load i32, ptr %284, align 4, !tbaa !5
  %851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef nonnull %.str.5.sink859, i32 noundef %843, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %845, ptr noundef %847, ptr noundef %849, i32 noundef %850) #13
  call void @exit(i32 noundef 1) #14
  unreachable

852:                                              ; preds = %825
  %853 = load i32, ptr @test_count, align 4, !tbaa !5
  %854 = add nsw i32 %853, 1
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %9, ptr noundef nonnull %8) #11
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %879

857:                                              ; preds = %852
  %858 = load i32, ptr %284, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @s2n_print_stacktrace(ptr noundef %859) #11
  %861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %862 = trunc nuw i8 %861 to i1
  br i1 %862, label %863, label %867

863:                                              ; preds = %857
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = call i32 @fileno(ptr noundef %864) #11
  %866 = call i32 @isatty(i32 noundef %865) #11
  %.not576 = icmp eq i32 %866, 0
  br i1 %.not576, label %867, label %868

867:                                              ; preds = %863, %857
  br label %868

868:                                              ; preds = %863, %867
  %.str.5.sink868 = phi ptr [ @.str.5, %867 ], [ @.str.2, %863 ]
  store i32 %858, ptr %284, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = load i32, ptr @test_count, align 4, !tbaa !5
  %871 = load i32, ptr %230, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror(i32 noundef %871, ptr noundef nonnull @.str.4) #11
  %873 = load i32, ptr %230, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror_debug(i32 noundef %873, ptr noundef nonnull @.str.4) #11
  %875 = load i32, ptr %284, align 4, !tbaa !5
  %876 = call ptr @strerror(i32 noundef %875) #11
  %877 = load i32, ptr %284, align 4, !tbaa !5
  %878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %869, ptr noundef nonnull %.str.5.sink868, i32 noundef %870, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %872, ptr noundef %874, ptr noundef %876, i32 noundef %877) #13
  call void @exit(i32 noundef 1) #14
  unreachable

879:                                              ; preds = %852
  %880 = load i32, ptr @test_count, align 4, !tbaa !5
  %881 = add nsw i32 %880, 1
  store i32 %881, ptr @test_count, align 4, !tbaa !5
  %882 = getelementptr inbounds i8, ptr %9, i64 28
  %883 = load i32, ptr %882, align 4, !tbaa !21
  %884 = getelementptr inbounds i8, ptr %9, i64 24
  %885 = load i32, ptr %884, align 8, !tbaa !23
  %886 = icmp eq i32 %883, %885
  br i1 %886, label %909, label %887

887:                                              ; preds = %879
  %888 = load i32, ptr %284, align 4, !tbaa !5
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @s2n_print_stacktrace(ptr noundef %889) #11
  %891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %892 = trunc nuw i8 %891 to i1
  br i1 %892, label %893, label %897

893:                                              ; preds = %887
  %894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %895 = call i32 @fileno(ptr noundef %894) #11
  %896 = call i32 @isatty(i32 noundef %895) #11
  %.not404 = icmp eq i32 %896, 0
  br i1 %.not404, label %897, label %898

897:                                              ; preds = %893, %887
  br label %898

898:                                              ; preds = %893, %897
  %.str.5.sink877 = phi ptr [ @.str.5, %897 ], [ @.str.2, %893 ]
  store i32 %888, ptr %284, align 4, !tbaa !5
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = load i32, ptr %230, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror(i32 noundef %901, ptr noundef nonnull @.str.4) #11
  %903 = load i32, ptr %230, align 4, !tbaa !5
  %904 = call ptr @s2n_strerror_debug(i32 noundef %903, ptr noundef nonnull @.str.4) #11
  %905 = load i32, ptr %284, align 4, !tbaa !5
  %906 = call ptr @strerror(i32 noundef %905) #11
  %907 = load i32, ptr %284, align 4, !tbaa !5
  %908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %899, ptr noundef nonnull %.str.5.sink877, i32 noundef %900, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %902, ptr noundef %904, ptr noundef %906, i32 noundef %907) #13
  call void @exit(i32 noundef 1) #14
  unreachable

909:                                              ; preds = %879
  %910 = add nsw i32 %880, 2
  store i32 %910, ptr @test_count, align 4, !tbaa !5
  %bcmp405 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %8, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %911 = icmp eq i32 %bcmp405, 0
  br i1 %911, label %934, label %912

912:                                              ; preds = %909
  %913 = load i32, ptr %284, align 4, !tbaa !5
  %914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %915 = call i32 @s2n_print_stacktrace(ptr noundef %914) #11
  %916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %917 = trunc nuw i8 %916 to i1
  br i1 %917, label %918, label %922

918:                                              ; preds = %912
  %919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %920 = call i32 @fileno(ptr noundef %919) #11
  %921 = call i32 @isatty(i32 noundef %920) #11
  %.not406 = icmp eq i32 %921, 0
  br i1 %.not406, label %922, label %923

922:                                              ; preds = %918, %912
  br label %923

923:                                              ; preds = %918, %922
  %.str.5.sink886 = phi ptr [ @.str.5, %922 ], [ @.str.2, %918 ]
  store i32 %913, ptr %284, align 4, !tbaa !5
  %924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %925 = load i32, ptr @test_count, align 4, !tbaa !5
  %926 = load i32, ptr %230, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror(i32 noundef %926, ptr noundef nonnull @.str.4) #11
  %928 = load i32, ptr %230, align 4, !tbaa !5
  %929 = call ptr @s2n_strerror_debug(i32 noundef %928, ptr noundef nonnull @.str.4) #11
  %930 = load i32, ptr %284, align 4, !tbaa !5
  %931 = call ptr @strerror(i32 noundef %930) #11
  %932 = load i32, ptr %284, align 4, !tbaa !5
  %933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %924, ptr noundef nonnull %.str.5.sink886, i32 noundef %925, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %927, ptr noundef %929, ptr noundef %931, i32 noundef %932) #13
  call void @exit(i32 noundef 1) #14
  unreachable

934:                                              ; preds = %909
  %935 = add nsw i32 %880, 3
  store i32 %935, ptr @test_count, align 4, !tbaa !5
  %936 = getelementptr inbounds i8, ptr %8, i64 672
  %937 = load ptr, ptr %936, align 8, !tbaa !24
  %938 = load ptr, ptr %9, align 8, !tbaa !26
  %939 = getelementptr inbounds i8, ptr %938, i64 2
  %940 = icmp eq ptr %937, %939
  br i1 %940, label %963, label %941

941:                                              ; preds = %934
  %942 = load i32, ptr %284, align 4, !tbaa !5
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = call i32 @s2n_print_stacktrace(ptr noundef %943) #11
  %945 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %946 = trunc nuw i8 %945 to i1
  br i1 %946, label %947, label %951

947:                                              ; preds = %941
  %948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %949 = call i32 @fileno(ptr noundef %948) #11
  %950 = call i32 @isatty(i32 noundef %949) #11
  %.not407 = icmp eq i32 %950, 0
  br i1 %.not407, label %951, label %952

951:                                              ; preds = %947, %941
  br label %952

952:                                              ; preds = %947, %951
  %.str.5.sink895 = phi ptr [ @.str.5, %951 ], [ @.str.2, %947 ]
  store i32 %942, ptr %284, align 4, !tbaa !5
  %953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %954 = load i32, ptr @test_count, align 4, !tbaa !5
  %955 = load i32, ptr %230, align 4, !tbaa !5
  %956 = call ptr @s2n_strerror(i32 noundef %955, ptr noundef nonnull @.str.4) #11
  %957 = load i32, ptr %230, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror_debug(i32 noundef %957, ptr noundef nonnull @.str.4) #11
  %959 = load i32, ptr %284, align 4, !tbaa !5
  %960 = call ptr @strerror(i32 noundef %959) #11
  %961 = load i32, ptr %284, align 4, !tbaa !5
  %962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %953, ptr noundef nonnull %.str.5.sink895, i32 noundef %954, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %956, ptr noundef %958, ptr noundef %960, i32 noundef %961) #13
  call void @exit(i32 noundef 1) #14
  unreachable

963:                                              ; preds = %934
  %964 = add nsw i32 %880, 4
  store i32 %964, ptr @test_count, align 4, !tbaa !5
  %965 = getelementptr inbounds i8, ptr %8, i64 680
  %966 = load i32, ptr %965, align 8, !tbaa !27
  %967 = zext i32 %966 to i64
  %968 = getelementptr inbounds i8, ptr %9, i64 32
  %969 = load i32, ptr %968, align 8, !tbaa !29
  %970 = zext i32 %969 to i64
  %971 = add nsw i64 %970, -2
  %972 = icmp eq i64 %971, %967
  br i1 %972, label %995, label %973

973:                                              ; preds = %963
  %974 = load i32, ptr %284, align 4, !tbaa !5
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @s2n_print_stacktrace(ptr noundef %975) #11
  %977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %978 = trunc nuw i8 %977 to i1
  br i1 %978, label %979, label %983

979:                                              ; preds = %973
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = call i32 @fileno(ptr noundef %980) #11
  %982 = call i32 @isatty(i32 noundef %981) #11
  %.not408 = icmp eq i32 %982, 0
  br i1 %.not408, label %983, label %984

983:                                              ; preds = %979, %973
  br label %984

984:                                              ; preds = %979, %983
  %.str.5.sink904 = phi ptr [ @.str.5, %983 ], [ @.str.2, %979 ]
  store i32 %974, ptr %284, align 4, !tbaa !5
  %985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = load i32, ptr %230, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef nonnull @.str.4) #11
  %989 = load i32, ptr %230, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror_debug(i32 noundef %989, ptr noundef nonnull @.str.4) #11
  %991 = load i32, ptr %284, align 4, !tbaa !5
  %992 = call ptr @strerror(i32 noundef %991) #11
  %993 = load i32, ptr %284, align 4, !tbaa !5
  %994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef nonnull %.str.5.sink904, i32 noundef %986, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %988, ptr noundef %990, ptr noundef %992, i32 noundef %993) #13
  call void @exit(i32 noundef 1) #14
  unreachable

995:                                              ; preds = %963
  %996 = add nsw i32 %880, 5
  store i32 %996, ptr @test_count, align 4, !tbaa !5
  %997 = icmp eq i32 %966, 0
  br i1 %997, label %1020, label %998

998:                                              ; preds = %995
  %999 = load i32, ptr %284, align 4, !tbaa !5
  %1000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1001 = call i32 @s2n_print_stacktrace(ptr noundef %1000) #11
  %1002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1003 = trunc nuw i8 %1002 to i1
  br i1 %1003, label %1004, label %1008

1004:                                             ; preds = %998
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @fileno(ptr noundef %1005) #11
  %1007 = call i32 @isatty(i32 noundef %1006) #11
  %.not409 = icmp eq i32 %1007, 0
  br i1 %.not409, label %1008, label %1009

1008:                                             ; preds = %1004, %998
  br label %1009

1009:                                             ; preds = %1004, %1008
  %.str.5.sink913 = phi ptr [ @.str.5, %1008 ], [ @.str.2, %1004 ]
  store i32 %999, ptr %284, align 4, !tbaa !5
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = load i32, ptr @test_count, align 4, !tbaa !5
  %1012 = load i32, ptr %230, align 4, !tbaa !5
  %1013 = call ptr @s2n_strerror(i32 noundef %1012, ptr noundef nonnull @.str.4) #11
  %1014 = load i32, ptr %230, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror_debug(i32 noundef %1014, ptr noundef nonnull @.str.4) #11
  %1016 = load i32, ptr %284, align 4, !tbaa !5
  %1017 = call ptr @strerror(i32 noundef %1016) #11
  %1018 = load i32, ptr %284, align 4, !tbaa !5
  %1019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1010, ptr noundef nonnull %.str.5.sink913, i32 noundef %1011, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1013, ptr noundef %1015, ptr noundef %1017, i32 noundef %1018) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1020:                                             ; preds = %995
  %1021 = add nsw i32 %880, 6
  store i32 %1021, ptr @test_count, align 4, !tbaa !5
  %1022 = getelementptr inbounds i8, ptr %8, i64 696
  %1023 = load i16, ptr %1022, align 8, !tbaa !28
  %1024 = icmp eq i16 %1023, 0
  br i1 %1024, label %1047, label %1025

1025:                                             ; preds = %1020
  %1026 = load i32, ptr %284, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = call i32 @s2n_print_stacktrace(ptr noundef %1027) #11
  %1029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1030 = trunc nuw i8 %1029 to i1
  br i1 %1030, label %1031, label %1035

1031:                                             ; preds = %1025
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @fileno(ptr noundef %1032) #11
  %1034 = call i32 @isatty(i32 noundef %1033) #11
  %.not410 = icmp eq i32 %1034, 0
  br i1 %.not410, label %1035, label %1036

1035:                                             ; preds = %1031, %1025
  br label %1036

1036:                                             ; preds = %1031, %1035
  %.str.5.sink922 = phi ptr [ @.str.5, %1035 ], [ @.str.2, %1031 ]
  store i32 %1026, ptr %284, align 4, !tbaa !5
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = load i32, ptr %230, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef nonnull @.str.4) #11
  %1041 = load i32, ptr %230, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror_debug(i32 noundef %1041, ptr noundef nonnull @.str.4) #11
  %1043 = load i32, ptr %284, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #11
  %1045 = load i32, ptr %284, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1037, ptr noundef nonnull %.str.5.sink922, i32 noundef %1038, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1040, ptr noundef %1042, ptr noundef %1044, i32 noundef %1045) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1047:                                             ; preds = %1020
  %1048 = add nsw i32 %880, 7
  store i32 %1048, ptr @test_count, align 4, !tbaa !5
  %1049 = call i32 @s2n_stuffer_free(ptr noundef nonnull %9) #11
  %1050 = icmp eq i32 %1049, -1
  br i1 %1050, label %1051, label %1073

1051:                                             ; preds = %1047
  %1052 = load i32, ptr %284, align 4, !tbaa !5
  %1053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1054 = call i32 @s2n_print_stacktrace(ptr noundef %1053) #11
  %1055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1056 = trunc nuw i8 %1055 to i1
  br i1 %1056, label %1057, label %1061

1057:                                             ; preds = %1051
  %1058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1059 = call i32 @fileno(ptr noundef %1058) #11
  %1060 = call i32 @isatty(i32 noundef %1059) #11
  %.not575 = icmp eq i32 %1060, 0
  br i1 %.not575, label %1061, label %1062

1061:                                             ; preds = %1057, %1051
  br label %1062

1062:                                             ; preds = %1057, %1061
  %.str.5.sink931 = phi ptr [ @.str.5, %1061 ], [ @.str.2, %1057 ]
  store i32 %1052, ptr %284, align 4, !tbaa !5
  %1063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = load i32, ptr %230, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef nonnull @.str.4) #11
  %1067 = load i32, ptr %230, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror_debug(i32 noundef %1067, ptr noundef nonnull @.str.4) #11
  %1069 = load i32, ptr %284, align 4, !tbaa !5
  %1070 = call ptr @strerror(i32 noundef %1069) #11
  %1071 = load i32, ptr %284, align 4, !tbaa !5
  %1072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1063, ptr noundef nonnull %.str.5.sink931, i32 noundef %1064, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1066, ptr noundef %1068, ptr noundef %1070, i32 noundef %1071) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1073:                                             ; preds = %1047
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %8) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %10) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %10, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %11) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %11, i8 0, i64 40, i1 false)
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %11, i32 noundef 0) #11
  %1077 = icmp eq i32 %1076, -1
  br i1 %1077, label %1078, label %1100

1078:                                             ; preds = %1073
  %1079 = load i32, ptr %284, align 4, !tbaa !5
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = call i32 @s2n_print_stacktrace(ptr noundef %1080) #11
  %1082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1083 = trunc nuw i8 %1082 to i1
  br i1 %1083, label %1084, label %1088

1084:                                             ; preds = %1078
  %1085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1086 = call i32 @fileno(ptr noundef %1085) #11
  %1087 = call i32 @isatty(i32 noundef %1086) #11
  %.not574 = icmp eq i32 %1087, 0
  br i1 %.not574, label %1088, label %1089

1088:                                             ; preds = %1084, %1078
  br label %1089

1089:                                             ; preds = %1084, %1088
  %.str.5.sink940 = phi ptr [ @.str.5, %1088 ], [ @.str.2, %1084 ]
  store i32 %1079, ptr %284, align 4, !tbaa !5
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = load i32, ptr @test_count, align 4, !tbaa !5
  %1092 = load i32, ptr %230, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror(i32 noundef %1092, ptr noundef nonnull @.str.4) #11
  %1094 = load i32, ptr %230, align 4, !tbaa !5
  %1095 = call ptr @s2n_strerror_debug(i32 noundef %1094, ptr noundef nonnull @.str.4) #11
  %1096 = load i32, ptr %284, align 4, !tbaa !5
  %1097 = call ptr @strerror(i32 noundef %1096) #11
  %1098 = load i32, ptr %284, align 4, !tbaa !5
  %1099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1090, ptr noundef nonnull %.str.5.sink940, i32 noundef %1091, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1093, ptr noundef %1095, ptr noundef %1097, i32 noundef %1098) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1100:                                             ; preds = %1073
  %1101 = load i32, ptr @test_count, align 4, !tbaa !5
  %1102 = add nsw i32 %1101, 1
  store i32 %1102, ptr @test_count, align 4, !tbaa !5
  %1103 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %11, i16 noundef zeroext 100) #11
  %1104 = icmp eq i32 %1103, -1
  br i1 %1104, label %1105, label %1127

1105:                                             ; preds = %1100
  %1106 = load i32, ptr %284, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = call i32 @s2n_print_stacktrace(ptr noundef %1107) #11
  %1109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1110 = trunc nuw i8 %1109 to i1
  br i1 %1110, label %1111, label %1115

1111:                                             ; preds = %1105
  %1112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1113 = call i32 @fileno(ptr noundef %1112) #11
  %1114 = call i32 @isatty(i32 noundef %1113) #11
  %.not573 = icmp eq i32 %1114, 0
  br i1 %.not573, label %1115, label %1116

1115:                                             ; preds = %1111, %1105
  br label %1116

1116:                                             ; preds = %1111, %1115
  %.str.5.sink949 = phi ptr [ @.str.5, %1115 ], [ @.str.2, %1111 ]
  store i32 %1106, ptr %284, align 4, !tbaa !5
  %1117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1118 = load i32, ptr @test_count, align 4, !tbaa !5
  %1119 = load i32, ptr %230, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror(i32 noundef %1119, ptr noundef nonnull @.str.4) #11
  %1121 = load i32, ptr %230, align 4, !tbaa !5
  %1122 = call ptr @s2n_strerror_debug(i32 noundef %1121, ptr noundef nonnull @.str.4) #11
  %1123 = load i32, ptr %284, align 4, !tbaa !5
  %1124 = call ptr @strerror(i32 noundef %1123) #11
  %1125 = load i32, ptr %284, align 4, !tbaa !5
  %1126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1117, ptr noundef nonnull %.str.5.sink949, i32 noundef %1118, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1120, ptr noundef %1122, ptr noundef %1124, i32 noundef %1125) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1127:                                             ; preds = %1100
  %1128 = load i32, ptr @test_count, align 4, !tbaa !5
  %1129 = add nsw i32 %1128, 1
  store i32 %1129, ptr @test_count, align 4, !tbaa !5
  %1130 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %11, ptr noundef nonnull %10) #11
  %1131 = icmp eq i32 %1130, -1
  br i1 %1131, label %1154, label %1132

1132:                                             ; preds = %1127
  %1133 = load i32, ptr %284, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = call i32 @s2n_print_stacktrace(ptr noundef %1134) #11
  %1136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1137 = trunc nuw i8 %1136 to i1
  br i1 %1137, label %1138, label %1142

1138:                                             ; preds = %1132
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = call i32 @fileno(ptr noundef %1139) #11
  %1141 = call i32 @isatty(i32 noundef %1140) #11
  %.not411 = icmp eq i32 %1141, 0
  br i1 %.not411, label %1142, label %1143

1142:                                             ; preds = %1138, %1132
  br label %1143

1143:                                             ; preds = %1138, %1142
  %.str.5.sink958 = phi ptr [ @.str.5, %1142 ], [ @.str.2, %1138 ]
  store i32 %1133, ptr %284, align 4, !tbaa !5
  %1144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1145 = load i32, ptr @test_count, align 4, !tbaa !5
  %1146 = load i32, ptr %230, align 4, !tbaa !5
  %1147 = call ptr @s2n_strerror(i32 noundef %1146, ptr noundef nonnull @.str.4) #11
  %1148 = load i32, ptr %230, align 4, !tbaa !5
  %1149 = call ptr @s2n_strerror_debug(i32 noundef %1148, ptr noundef nonnull @.str.4) #11
  %1150 = load i32, ptr %284, align 4, !tbaa !5
  %1151 = call ptr @strerror(i32 noundef %1150) #11
  %1152 = load i32, ptr %284, align 4, !tbaa !5
  %1153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1144, ptr noundef nonnull %.str.5.sink958, i32 noundef %1145, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1147, ptr noundef %1149, ptr noundef %1151, i32 noundef %1152) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1154:                                             ; preds = %1127
  %1155 = load i32, ptr @test_count, align 4, !tbaa !5
  %1156 = add nsw i32 %1155, 1
  store i32 %1156, ptr @test_count, align 4, !tbaa !5
  %1157 = load i32, ptr %230, align 4, !tbaa !5
  %1158 = icmp eq i32 %1157, 335544322
  br i1 %1158, label %1181, label %1159

1159:                                             ; preds = %1154
  %1160 = load i32, ptr %284, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = call i32 @s2n_print_stacktrace(ptr noundef %1161) #11
  %1163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1164 = trunc nuw i8 %1163 to i1
  br i1 %1164, label %1165, label %1169

1165:                                             ; preds = %1159
  %1166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1167 = call i32 @fileno(ptr noundef %1166) #11
  %1168 = call i32 @isatty(i32 noundef %1167) #11
  %.not412 = icmp eq i32 %1168, 0
  br i1 %.not412, label %1169, label %1170

1169:                                             ; preds = %1165, %1159
  br label %1170

1170:                                             ; preds = %1165, %1169
  %.str.5.sink967 = phi ptr [ @.str.5, %1169 ], [ @.str.2, %1165 ]
  store i32 %1160, ptr %284, align 4, !tbaa !5
  %1171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1172 = load i32, ptr @test_count, align 4, !tbaa !5
  %1173 = load i32, ptr %230, align 4, !tbaa !5
  %1174 = call ptr @s2n_strerror(i32 noundef %1173, ptr noundef nonnull @.str.4) #11
  %1175 = load i32, ptr %230, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef nonnull @.str.4) #11
  %1177 = load i32, ptr %284, align 4, !tbaa !5
  %1178 = call ptr @strerror(i32 noundef %1177) #11
  %1179 = load i32, ptr %284, align 4, !tbaa !5
  %1180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1171, ptr noundef nonnull %.str.5.sink967, i32 noundef %1172, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1174, ptr noundef %1176, ptr noundef %1178, i32 noundef %1179) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1181:                                             ; preds = %1154
  %1182 = add nsw i32 %1155, 2
  store i32 %1182, ptr @test_count, align 4, !tbaa !5
  %1183 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #11
  %1184 = icmp eq ptr %1183, null
  br i1 %1184, label %1185, label %1207

1185:                                             ; preds = %1181
  %1186 = load i32, ptr %284, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = call i32 @s2n_print_stacktrace(ptr noundef %1187) #11
  %1189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1190 = trunc nuw i8 %1189 to i1
  br i1 %1190, label %1191, label %1195

1191:                                             ; preds = %1185
  %1192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1193 = call i32 @fileno(ptr noundef %1192) #11
  %1194 = call i32 @isatty(i32 noundef %1193) #11
  %.not572 = icmp eq i32 %1194, 0
  br i1 %.not572, label %1195, label %1196

1195:                                             ; preds = %1191, %1185
  br label %1196

1196:                                             ; preds = %1191, %1195
  %.str.5.sink976 = phi ptr [ @.str.5, %1195 ], [ @.str.2, %1191 ]
  store i32 %1186, ptr %284, align 4, !tbaa !5
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = load i32, ptr @test_count, align 4, !tbaa !5
  %1199 = load i32, ptr %230, align 4, !tbaa !5
  %1200 = call ptr @s2n_strerror(i32 noundef %1199, ptr noundef nonnull @.str.4) #11
  %1201 = load i32, ptr %230, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror_debug(i32 noundef %1201, ptr noundef nonnull @.str.4) #11
  %1203 = load i32, ptr %284, align 4, !tbaa !5
  %1204 = call ptr @strerror(i32 noundef %1203) #11
  %1205 = load i32, ptr %284, align 4, !tbaa !5
  %1206 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1197, ptr noundef nonnull %.str.5.sink976, i32 noundef %1198, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1200, ptr noundef %1202, ptr noundef %1204, i32 noundef %1205) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1207:                                             ; preds = %1181
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  %1208 = load i32, ptr @test_count, align 4, !tbaa !5
  %1209 = add nsw i32 %1208, 1
  store i32 %1209, ptr @test_count, align 4, !tbaa !5
  %1210 = getelementptr inbounds i8, ptr %11, i64 28
  %1211 = load i32, ptr %1210, align 4, !tbaa !21
  %1212 = getelementptr inbounds i8, ptr %11, i64 24
  %1213 = load i32, ptr %1212, align 8, !tbaa !23
  %1214 = icmp eq i32 %1211, %1213
  br i1 %1214, label %1237, label %1215

1215:                                             ; preds = %1207
  %1216 = load i32, ptr %284, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = call i32 @s2n_print_stacktrace(ptr noundef %1217) #11
  %1219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1220 = trunc nuw i8 %1219 to i1
  br i1 %1220, label %1221, label %1225

1221:                                             ; preds = %1215
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = call i32 @fileno(ptr noundef %1222) #11
  %1224 = call i32 @isatty(i32 noundef %1223) #11
  %.not413 = icmp eq i32 %1224, 0
  br i1 %.not413, label %1225, label %1226

1225:                                             ; preds = %1221, %1215
  br label %1226

1226:                                             ; preds = %1221, %1225
  %.str.5.sink985 = phi ptr [ @.str.5, %1225 ], [ @.str.2, %1221 ]
  store i32 %1216, ptr %284, align 4, !tbaa !5
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = load i32, ptr @test_count, align 4, !tbaa !5
  %1229 = load i32, ptr %230, align 4, !tbaa !5
  %1230 = call ptr @s2n_strerror(i32 noundef %1229, ptr noundef nonnull @.str.4) #11
  %1231 = load i32, ptr %230, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror_debug(i32 noundef %1231, ptr noundef nonnull @.str.4) #11
  %1233 = load i32, ptr %284, align 4, !tbaa !5
  %1234 = call ptr @strerror(i32 noundef %1233) #11
  %1235 = load i32, ptr %284, align 4, !tbaa !5
  %1236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1227, ptr noundef nonnull %.str.5.sink985, i32 noundef %1228, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1230, ptr noundef %1232, ptr noundef %1234, i32 noundef %1235) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1237:                                             ; preds = %1207
  %1238 = add nsw i32 %1208, 2
  store i32 %1238, ptr @test_count, align 4, !tbaa !5
  %bcmp414 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %10, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %1239 = icmp eq i32 %bcmp414, 0
  br i1 %1239, label %1262, label %1240

1240:                                             ; preds = %1237
  %1241 = load i32, ptr %284, align 4, !tbaa !5
  %1242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1243 = call i32 @s2n_print_stacktrace(ptr noundef %1242) #11
  %1244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1245 = trunc nuw i8 %1244 to i1
  br i1 %1245, label %1246, label %1250

1246:                                             ; preds = %1240
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = call i32 @fileno(ptr noundef %1247) #11
  %1249 = call i32 @isatty(i32 noundef %1248) #11
  %.not415 = icmp eq i32 %1249, 0
  br i1 %.not415, label %1250, label %1251

1250:                                             ; preds = %1246, %1240
  br label %1251

1251:                                             ; preds = %1246, %1250
  %.str.5.sink994 = phi ptr [ @.str.5, %1250 ], [ @.str.2, %1246 ]
  store i32 %1241, ptr %284, align 4, !tbaa !5
  %1252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1253 = load i32, ptr @test_count, align 4, !tbaa !5
  %1254 = load i32, ptr %230, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror(i32 noundef %1254, ptr noundef nonnull @.str.4) #11
  %1256 = load i32, ptr %230, align 4, !tbaa !5
  %1257 = call ptr @s2n_strerror_debug(i32 noundef %1256, ptr noundef nonnull @.str.4) #11
  %1258 = load i32, ptr %284, align 4, !tbaa !5
  %1259 = call ptr @strerror(i32 noundef %1258) #11
  %1260 = load i32, ptr %284, align 4, !tbaa !5
  %1261 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1252, ptr noundef nonnull %.str.5.sink994, i32 noundef %1253, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %1255, ptr noundef %1257, ptr noundef %1259, i32 noundef %1260) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1262:                                             ; preds = %1237
  %1263 = add nsw i32 %1208, 3
  store i32 %1263, ptr @test_count, align 4, !tbaa !5
  %1264 = call i32 @s2n_stuffer_free(ptr noundef nonnull %11) #11
  %1265 = icmp eq i32 %1264, -1
  br i1 %1265, label %1266, label %1288

1266:                                             ; preds = %1262
  %1267 = load i32, ptr %284, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = call i32 @s2n_print_stacktrace(ptr noundef %1268) #11
  %1270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1271 = trunc nuw i8 %1270 to i1
  br i1 %1271, label %1272, label %1276

1272:                                             ; preds = %1266
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @fileno(ptr noundef %1273) #11
  %1275 = call i32 @isatty(i32 noundef %1274) #11
  %.not571 = icmp eq i32 %1275, 0
  br i1 %.not571, label %1276, label %1277

1276:                                             ; preds = %1272, %1266
  br label %1277

1277:                                             ; preds = %1272, %1276
  %.str.5.sink1003 = phi ptr [ @.str.5, %1276 ], [ @.str.2, %1272 ]
  store i32 %1267, ptr %284, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = load i32, ptr %230, align 4, !tbaa !5
  %1281 = call ptr @s2n_strerror(i32 noundef %1280, ptr noundef nonnull @.str.4) #11
  %1282 = load i32, ptr %230, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror_debug(i32 noundef %1282, ptr noundef nonnull @.str.4) #11
  %1284 = load i32, ptr %284, align 4, !tbaa !5
  %1285 = call ptr @strerror(i32 noundef %1284) #11
  %1286 = load i32, ptr %284, align 4, !tbaa !5
  %1287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef nonnull %.str.5.sink1003, i32 noundef %1279, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1281, ptr noundef %1283, ptr noundef %1285, i32 noundef %1286) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1288:                                             ; preds = %1262
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %11) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %10) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %12) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %12, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, i8 0, i64 40, i1 false)
  %1289 = load i32, ptr @test_count, align 4, !tbaa !5
  %1290 = add nsw i32 %1289, 1
  store i32 %1290, ptr @test_count, align 4, !tbaa !5
  %1291 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %13, i32 noundef 0) #11
  %1292 = icmp eq i32 %1291, -1
  br i1 %1292, label %1293, label %1315

1293:                                             ; preds = %1288
  %1294 = load i32, ptr %284, align 4, !tbaa !5
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = call i32 @s2n_print_stacktrace(ptr noundef %1295) #11
  %1297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1298 = trunc nuw i8 %1297 to i1
  br i1 %1298, label %1299, label %1303

1299:                                             ; preds = %1293
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = call i32 @fileno(ptr noundef %1300) #11
  %1302 = call i32 @isatty(i32 noundef %1301) #11
  %.not570 = icmp eq i32 %1302, 0
  br i1 %.not570, label %1303, label %1304

1303:                                             ; preds = %1299, %1293
  br label %1304

1304:                                             ; preds = %1299, %1303
  %.str.5.sink1012 = phi ptr [ @.str.5, %1303 ], [ @.str.2, %1299 ]
  store i32 %1294, ptr %284, align 4, !tbaa !5
  %1305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1306 = load i32, ptr @test_count, align 4, !tbaa !5
  %1307 = load i32, ptr %230, align 4, !tbaa !5
  %1308 = call ptr @s2n_strerror(i32 noundef %1307, ptr noundef nonnull @.str.4) #11
  %1309 = load i32, ptr %230, align 4, !tbaa !5
  %1310 = call ptr @s2n_strerror_debug(i32 noundef %1309, ptr noundef nonnull @.str.4) #11
  %1311 = load i32, ptr %284, align 4, !tbaa !5
  %1312 = call ptr @strerror(i32 noundef %1311) #11
  %1313 = load i32, ptr %284, align 4, !tbaa !5
  %1314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1305, ptr noundef nonnull %.str.5.sink1012, i32 noundef %1306, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1308, ptr noundef %1310, ptr noundef %1312, i32 noundef %1313) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1315:                                             ; preds = %1288
  %1316 = load i32, ptr @test_count, align 4, !tbaa !5
  %1317 = add nsw i32 %1316, 1
  store i32 %1317, ptr @test_count, align 4, !tbaa !5
  %1318 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %13, i16 noundef zeroext 1) #11
  %1319 = icmp eq i32 %1318, -1
  br i1 %1319, label %1320, label %1342

1320:                                             ; preds = %1315
  %1321 = load i32, ptr %284, align 4, !tbaa !5
  %1322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1323 = call i32 @s2n_print_stacktrace(ptr noundef %1322) #11
  %1324 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1325 = trunc nuw i8 %1324 to i1
  br i1 %1325, label %1326, label %1330

1326:                                             ; preds = %1320
  %1327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1328 = call i32 @fileno(ptr noundef %1327) #11
  %1329 = call i32 @isatty(i32 noundef %1328) #11
  %.not569 = icmp eq i32 %1329, 0
  br i1 %.not569, label %1330, label %1331

1330:                                             ; preds = %1326, %1320
  br label %1331

1331:                                             ; preds = %1326, %1330
  %.str.5.sink1021 = phi ptr [ @.str.5, %1330 ], [ @.str.2, %1326 ]
  store i32 %1321, ptr %284, align 4, !tbaa !5
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = load i32, ptr @test_count, align 4, !tbaa !5
  %1334 = load i32, ptr %230, align 4, !tbaa !5
  %1335 = call ptr @s2n_strerror(i32 noundef %1334, ptr noundef nonnull @.str.4) #11
  %1336 = load i32, ptr %230, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef nonnull @.str.4) #11
  %1338 = load i32, ptr %284, align 4, !tbaa !5
  %1339 = call ptr @strerror(i32 noundef %1338) #11
  %1340 = load i32, ptr %284, align 4, !tbaa !5
  %1341 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1332, ptr noundef nonnull %.str.5.sink1021, i32 noundef %1333, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1335, ptr noundef %1337, ptr noundef %1339, i32 noundef %1340) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1342:                                             ; preds = %1315
  %1343 = load i32, ptr @test_count, align 4, !tbaa !5
  %1344 = add nsw i32 %1343, 1
  store i32 %1344, ptr @test_count, align 4, !tbaa !5
  %1345 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %13, i32 noundef 1) #11
  %1346 = icmp eq i32 %1345, -1
  br i1 %1346, label %1347, label %1369

1347:                                             ; preds = %1342
  %1348 = load i32, ptr %284, align 4, !tbaa !5
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = call i32 @s2n_print_stacktrace(ptr noundef %1349) #11
  %1351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1352 = trunc nuw i8 %1351 to i1
  br i1 %1352, label %1353, label %1357

1353:                                             ; preds = %1347
  %1354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1355 = call i32 @fileno(ptr noundef %1354) #11
  %1356 = call i32 @isatty(i32 noundef %1355) #11
  %.not568 = icmp eq i32 %1356, 0
  br i1 %.not568, label %1357, label %1358

1357:                                             ; preds = %1353, %1347
  br label %1358

1358:                                             ; preds = %1353, %1357
  %.str.5.sink1030 = phi ptr [ @.str.5, %1357 ], [ @.str.2, %1353 ]
  store i32 %1348, ptr %284, align 4, !tbaa !5
  %1359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1360 = load i32, ptr @test_count, align 4, !tbaa !5
  %1361 = load i32, ptr %230, align 4, !tbaa !5
  %1362 = call ptr @s2n_strerror(i32 noundef %1361, ptr noundef nonnull @.str.4) #11
  %1363 = load i32, ptr %230, align 4, !tbaa !5
  %1364 = call ptr @s2n_strerror_debug(i32 noundef %1363, ptr noundef nonnull @.str.4) #11
  %1365 = load i32, ptr %284, align 4, !tbaa !5
  %1366 = call ptr @strerror(i32 noundef %1365) #11
  %1367 = load i32, ptr %284, align 4, !tbaa !5
  %1368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1359, ptr noundef nonnull %.str.5.sink1030, i32 noundef %1360, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %1362, ptr noundef %1364, ptr noundef %1366, i32 noundef %1367) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1369:                                             ; preds = %1342
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = add nsw i32 %1370, 1
  store i32 %1371, ptr @test_count, align 4, !tbaa !5
  %1372 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %13, ptr noundef nonnull %12) #11
  %1373 = icmp eq i32 %1372, -1
  br i1 %1373, label %1396, label %1374

1374:                                             ; preds = %1369
  %1375 = load i32, ptr %284, align 4, !tbaa !5
  %1376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1377 = call i32 @s2n_print_stacktrace(ptr noundef %1376) #11
  %1378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1379 = trunc nuw i8 %1378 to i1
  br i1 %1379, label %1380, label %1384

1380:                                             ; preds = %1374
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = call i32 @fileno(ptr noundef %1381) #11
  %1383 = call i32 @isatty(i32 noundef %1382) #11
  %.not416 = icmp eq i32 %1383, 0
  br i1 %.not416, label %1384, label %1385

1384:                                             ; preds = %1380, %1374
  br label %1385

1385:                                             ; preds = %1380, %1384
  %.str.5.sink1039 = phi ptr [ @.str.5, %1384 ], [ @.str.2, %1380 ]
  store i32 %1375, ptr %284, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = load i32, ptr @test_count, align 4, !tbaa !5
  %1388 = load i32, ptr %230, align 4, !tbaa !5
  %1389 = call ptr @s2n_strerror(i32 noundef %1388, ptr noundef nonnull @.str.4) #11
  %1390 = load i32, ptr %230, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror_debug(i32 noundef %1390, ptr noundef nonnull @.str.4) #11
  %1392 = load i32, ptr %284, align 4, !tbaa !5
  %1393 = call ptr @strerror(i32 noundef %1392) #11
  %1394 = load i32, ptr %284, align 4, !tbaa !5
  %1395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1386, ptr noundef nonnull %.str.5.sink1039, i32 noundef %1387, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1389, ptr noundef %1391, ptr noundef %1393, i32 noundef %1394) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1396:                                             ; preds = %1369
  %1397 = load i32, ptr @test_count, align 4, !tbaa !5
  %1398 = add nsw i32 %1397, 1
  store i32 %1398, ptr @test_count, align 4, !tbaa !5
  %1399 = load i32, ptr %230, align 4, !tbaa !5
  %1400 = icmp eq i32 %1399, 335544322
  br i1 %1400, label %1423, label %1401

1401:                                             ; preds = %1396
  %1402 = load i32, ptr %284, align 4, !tbaa !5
  %1403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1404 = call i32 @s2n_print_stacktrace(ptr noundef %1403) #11
  %1405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1406 = trunc nuw i8 %1405 to i1
  br i1 %1406, label %1407, label %1411

1407:                                             ; preds = %1401
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @fileno(ptr noundef %1408) #11
  %1410 = call i32 @isatty(i32 noundef %1409) #11
  %.not417 = icmp eq i32 %1410, 0
  br i1 %.not417, label %1411, label %1412

1411:                                             ; preds = %1407, %1401
  br label %1412

1412:                                             ; preds = %1407, %1411
  %.str.5.sink1048 = phi ptr [ @.str.5, %1411 ], [ @.str.2, %1407 ]
  store i32 %1402, ptr %284, align 4, !tbaa !5
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = load i32, ptr @test_count, align 4, !tbaa !5
  %1415 = load i32, ptr %230, align 4, !tbaa !5
  %1416 = call ptr @s2n_strerror(i32 noundef %1415, ptr noundef nonnull @.str.4) #11
  %1417 = load i32, ptr %230, align 4, !tbaa !5
  %1418 = call ptr @s2n_strerror_debug(i32 noundef %1417, ptr noundef nonnull @.str.4) #11
  %1419 = load i32, ptr %284, align 4, !tbaa !5
  %1420 = call ptr @strerror(i32 noundef %1419) #11
  %1421 = load i32, ptr %284, align 4, !tbaa !5
  %1422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1413, ptr noundef nonnull %.str.5.sink1048, i32 noundef %1414, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1416, ptr noundef %1418, ptr noundef %1420, i32 noundef %1421) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1423:                                             ; preds = %1396
  %1424 = add nsw i32 %1397, 2
  store i32 %1424, ptr @test_count, align 4, !tbaa !5
  %1425 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #11
  %1426 = icmp eq ptr %1425, null
  br i1 %1426, label %1427, label %1449

1427:                                             ; preds = %1423
  %1428 = load i32, ptr %284, align 4, !tbaa !5
  %1429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1430 = call i32 @s2n_print_stacktrace(ptr noundef %1429) #11
  %1431 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1432 = trunc nuw i8 %1431 to i1
  br i1 %1432, label %1433, label %1437

1433:                                             ; preds = %1427
  %1434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1435 = call i32 @fileno(ptr noundef %1434) #11
  %1436 = call i32 @isatty(i32 noundef %1435) #11
  %.not567 = icmp eq i32 %1436, 0
  br i1 %.not567, label %1437, label %1438

1437:                                             ; preds = %1433, %1427
  br label %1438

1438:                                             ; preds = %1433, %1437
  %.str.5.sink1057 = phi ptr [ @.str.5, %1437 ], [ @.str.2, %1433 ]
  store i32 %1428, ptr %284, align 4, !tbaa !5
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = load i32, ptr @test_count, align 4, !tbaa !5
  %1441 = load i32, ptr %230, align 4, !tbaa !5
  %1442 = call ptr @s2n_strerror(i32 noundef %1441, ptr noundef nonnull @.str.4) #11
  %1443 = load i32, ptr %230, align 4, !tbaa !5
  %1444 = call ptr @s2n_strerror_debug(i32 noundef %1443, ptr noundef nonnull @.str.4) #11
  %1445 = load i32, ptr %284, align 4, !tbaa !5
  %1446 = call ptr @strerror(i32 noundef %1445) #11
  %1447 = load i32, ptr %284, align 4, !tbaa !5
  %1448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1439, ptr noundef nonnull %.str.5.sink1057, i32 noundef %1440, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1442, ptr noundef %1444, ptr noundef %1446, i32 noundef %1447) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1449:                                             ; preds = %1423
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  %1450 = load i32, ptr @test_count, align 4, !tbaa !5
  %1451 = add nsw i32 %1450, 1
  store i32 %1451, ptr @test_count, align 4, !tbaa !5
  %1452 = getelementptr inbounds i8, ptr %13, i64 28
  %1453 = load i32, ptr %1452, align 4, !tbaa !21
  %1454 = getelementptr inbounds i8, ptr %13, i64 24
  %1455 = load i32, ptr %1454, align 8, !tbaa !23
  %1456 = icmp eq i32 %1453, %1455
  br i1 %1456, label %1479, label %1457

1457:                                             ; preds = %1449
  %1458 = load i32, ptr %284, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = call i32 @s2n_print_stacktrace(ptr noundef %1459) #11
  %1461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1462 = trunc nuw i8 %1461 to i1
  br i1 %1462, label %1463, label %1467

1463:                                             ; preds = %1457
  %1464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1465 = call i32 @fileno(ptr noundef %1464) #11
  %1466 = call i32 @isatty(i32 noundef %1465) #11
  %.not418 = icmp eq i32 %1466, 0
  br i1 %.not418, label %1467, label %1468

1467:                                             ; preds = %1463, %1457
  br label %1468

1468:                                             ; preds = %1463, %1467
  %.str.5.sink1066 = phi ptr [ @.str.5, %1467 ], [ @.str.2, %1463 ]
  store i32 %1458, ptr %284, align 4, !tbaa !5
  %1469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1470 = load i32, ptr @test_count, align 4, !tbaa !5
  %1471 = load i32, ptr %230, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror(i32 noundef %1471, ptr noundef nonnull @.str.4) #11
  %1473 = load i32, ptr %230, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror_debug(i32 noundef %1473, ptr noundef nonnull @.str.4) #11
  %1475 = load i32, ptr %284, align 4, !tbaa !5
  %1476 = call ptr @strerror(i32 noundef %1475) #11
  %1477 = load i32, ptr %284, align 4, !tbaa !5
  %1478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1469, ptr noundef nonnull %.str.5.sink1066, i32 noundef %1470, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1472, ptr noundef %1474, ptr noundef %1476, i32 noundef %1477) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1479:                                             ; preds = %1449
  %1480 = add nsw i32 %1450, 2
  store i32 %1480, ptr @test_count, align 4, !tbaa !5
  %bcmp419 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %12, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %1481 = icmp eq i32 %bcmp419, 0
  br i1 %1481, label %1504, label %1482

1482:                                             ; preds = %1479
  %1483 = load i32, ptr %284, align 4, !tbaa !5
  %1484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1485 = call i32 @s2n_print_stacktrace(ptr noundef %1484) #11
  %1486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1487 = trunc nuw i8 %1486 to i1
  br i1 %1487, label %1488, label %1492

1488:                                             ; preds = %1482
  %1489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1490 = call i32 @fileno(ptr noundef %1489) #11
  %1491 = call i32 @isatty(i32 noundef %1490) #11
  %.not420 = icmp eq i32 %1491, 0
  br i1 %.not420, label %1492, label %1493

1492:                                             ; preds = %1488, %1482
  br label %1493

1493:                                             ; preds = %1488, %1492
  %.str.5.sink1075 = phi ptr [ @.str.5, %1492 ], [ @.str.2, %1488 ]
  store i32 %1483, ptr %284, align 4, !tbaa !5
  %1494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1495 = load i32, ptr @test_count, align 4, !tbaa !5
  %1496 = load i32, ptr %230, align 4, !tbaa !5
  %1497 = call ptr @s2n_strerror(i32 noundef %1496, ptr noundef nonnull @.str.4) #11
  %1498 = load i32, ptr %230, align 4, !tbaa !5
  %1499 = call ptr @s2n_strerror_debug(i32 noundef %1498, ptr noundef nonnull @.str.4) #11
  %1500 = load i32, ptr %284, align 4, !tbaa !5
  %1501 = call ptr @strerror(i32 noundef %1500) #11
  %1502 = load i32, ptr %284, align 4, !tbaa !5
  %1503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1494, ptr noundef nonnull %.str.5.sink1075, i32 noundef %1495, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %1497, ptr noundef %1499, ptr noundef %1501, i32 noundef %1502) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1504:                                             ; preds = %1479
  %1505 = add nsw i32 %1450, 3
  store i32 %1505, ptr @test_count, align 4, !tbaa !5
  %1506 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #11
  %1507 = icmp eq i32 %1506, -1
  br i1 %1507, label %1508, label %1530

1508:                                             ; preds = %1504
  %1509 = load i32, ptr %284, align 4, !tbaa !5
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = call i32 @s2n_print_stacktrace(ptr noundef %1510) #11
  %1512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1513 = trunc nuw i8 %1512 to i1
  br i1 %1513, label %1514, label %1518

1514:                                             ; preds = %1508
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = call i32 @fileno(ptr noundef %1515) #11
  %1517 = call i32 @isatty(i32 noundef %1516) #11
  %.not566 = icmp eq i32 %1517, 0
  br i1 %.not566, label %1518, label %1519

1518:                                             ; preds = %1514, %1508
  br label %1519

1519:                                             ; preds = %1514, %1518
  %.str.5.sink1084 = phi ptr [ @.str.5, %1518 ], [ @.str.2, %1514 ]
  store i32 %1509, ptr %284, align 4, !tbaa !5
  %1520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1521 = load i32, ptr @test_count, align 4, !tbaa !5
  %1522 = load i32, ptr %230, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror(i32 noundef %1522, ptr noundef nonnull @.str.4) #11
  %1524 = load i32, ptr %230, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror_debug(i32 noundef %1524, ptr noundef nonnull @.str.4) #11
  %1526 = load i32, ptr %284, align 4, !tbaa !5
  %1527 = call ptr @strerror(i32 noundef %1526) #11
  %1528 = load i32, ptr %284, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1520, ptr noundef nonnull %.str.5.sink1084, i32 noundef %1521, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %1523, ptr noundef %1525, ptr noundef %1527, i32 noundef %1528) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1530:                                             ; preds = %1504
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %12) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %14) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %14, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %15, i8 0, i64 40, i1 false)
  %1531 = load i32, ptr @test_count, align 4, !tbaa !5
  %1532 = add nsw i32 %1531, 1
  store i32 %1532, ptr @test_count, align 4, !tbaa !5
  %1533 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %15, i32 noundef 0) #11
  %1534 = icmp eq i32 %1533, -1
  br i1 %1534, label %1535, label %1557

1535:                                             ; preds = %1530
  %1536 = load i32, ptr %284, align 4, !tbaa !5
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = call i32 @s2n_print_stacktrace(ptr noundef %1537) #11
  %1539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1540 = trunc nuw i8 %1539 to i1
  br i1 %1540, label %1541, label %1545

1541:                                             ; preds = %1535
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = call i32 @fileno(ptr noundef %1542) #11
  %1544 = call i32 @isatty(i32 noundef %1543) #11
  %.not565 = icmp eq i32 %1544, 0
  br i1 %.not565, label %1545, label %1546

1545:                                             ; preds = %1541, %1535
  br label %1546

1546:                                             ; preds = %1541, %1545
  %.str.5.sink1093 = phi ptr [ @.str.5, %1545 ], [ @.str.2, %1541 ]
  store i32 %1536, ptr %284, align 4, !tbaa !5
  %1547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1548 = load i32, ptr @test_count, align 4, !tbaa !5
  %1549 = load i32, ptr %230, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror(i32 noundef %1549, ptr noundef nonnull @.str.4) #11
  %1551 = load i32, ptr %230, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror_debug(i32 noundef %1551, ptr noundef nonnull @.str.4) #11
  %1553 = load i32, ptr %284, align 4, !tbaa !5
  %1554 = call ptr @strerror(i32 noundef %1553) #11
  %1555 = load i32, ptr %284, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1547, ptr noundef nonnull %.str.5.sink1093, i32 noundef %1548, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %1550, ptr noundef %1552, ptr noundef %1554, i32 noundef %1555) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1557:                                             ; preds = %1530
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %16) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16, i8 0, i64 16, i1 false)
  %1558 = load i32, ptr @test_count, align 4, !tbaa !5
  %1559 = add nsw i32 %1558, 1
  store i32 %1559, ptr @test_count, align 4, !tbaa !5
  %1560 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %15, ptr noundef nonnull %16) #11
  %1561 = icmp eq i32 %1560, -1
  br i1 %1561, label %1562, label %1584

1562:                                             ; preds = %1557
  %1563 = load i32, ptr %284, align 4, !tbaa !5
  %1564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1565 = call i32 @s2n_print_stacktrace(ptr noundef %1564) #11
  %1566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1567 = trunc nuw i8 %1566 to i1
  br i1 %1567, label %1568, label %1572

1568:                                             ; preds = %1562
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = call i32 @fileno(ptr noundef %1569) #11
  %1571 = call i32 @isatty(i32 noundef %1570) #11
  %.not564 = icmp eq i32 %1571, 0
  br i1 %.not564, label %1572, label %1573

1572:                                             ; preds = %1568, %1562
  br label %1573

1573:                                             ; preds = %1568, %1572
  %.str.5.sink1102 = phi ptr [ @.str.5, %1572 ], [ @.str.2, %1568 ]
  store i32 %1563, ptr %284, align 4, !tbaa !5
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = load i32, ptr @test_count, align 4, !tbaa !5
  %1576 = load i32, ptr %230, align 4, !tbaa !5
  %1577 = call ptr @s2n_strerror(i32 noundef %1576, ptr noundef nonnull @.str.4) #11
  %1578 = load i32, ptr %230, align 4, !tbaa !5
  %1579 = call ptr @s2n_strerror_debug(i32 noundef %1578, ptr noundef nonnull @.str.4) #11
  %1580 = load i32, ptr %284, align 4, !tbaa !5
  %1581 = call ptr @strerror(i32 noundef %1580) #11
  %1582 = load i32, ptr %284, align 4, !tbaa !5
  %1583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1574, ptr noundef nonnull %.str.5.sink1102, i32 noundef %1575, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1577, ptr noundef %1579, ptr noundef %1581, i32 noundef %1582) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1584:                                             ; preds = %1557
  %1585 = load i32, ptr @test_count, align 4, !tbaa !5
  %1586 = add nsw i32 %1585, 1
  store i32 %1586, ptr @test_count, align 4, !tbaa !5
  %1587 = call i32 @s2n_extension_send(ptr noundef nonnull @test_extension, ptr noundef nonnull %172, ptr noundef nonnull %15) #11
  %1588 = icmp eq i32 %1587, -1
  br i1 %1588, label %1589, label %1611

1589:                                             ; preds = %1584
  %1590 = load i32, ptr %284, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = call i32 @s2n_print_stacktrace(ptr noundef %1591) #11
  %1593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1594 = trunc nuw i8 %1593 to i1
  br i1 %1594, label %1595, label %1599

1595:                                             ; preds = %1589
  %1596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1597 = call i32 @fileno(ptr noundef %1596) #11
  %1598 = call i32 @isatty(i32 noundef %1597) #11
  %.not563 = icmp eq i32 %1598, 0
  br i1 %.not563, label %1599, label %1600

1599:                                             ; preds = %1595, %1589
  br label %1600

1600:                                             ; preds = %1595, %1599
  %.str.5.sink1111 = phi ptr [ @.str.5, %1599 ], [ @.str.2, %1595 ]
  store i32 %1590, ptr %284, align 4, !tbaa !5
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = load i32, ptr @test_count, align 4, !tbaa !5
  %1603 = load i32, ptr %230, align 4, !tbaa !5
  %1604 = call ptr @s2n_strerror(i32 noundef %1603, ptr noundef nonnull @.str.4) #11
  %1605 = load i32, ptr %230, align 4, !tbaa !5
  %1606 = call ptr @s2n_strerror_debug(i32 noundef %1605, ptr noundef nonnull @.str.4) #11
  %1607 = load i32, ptr %284, align 4, !tbaa !5
  %1608 = call ptr @strerror(i32 noundef %1607) #11
  %1609 = load i32, ptr %284, align 4, !tbaa !5
  %1610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1601, ptr noundef nonnull %.str.5.sink1111, i32 noundef %1602, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %1604, ptr noundef %1606, ptr noundef %1608, i32 noundef %1609) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1611:                                             ; preds = %1584
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = add nsw i32 %1612, 1
  store i32 %1613, ptr @test_count, align 4, !tbaa !5
  %1614 = getelementptr inbounds i8, ptr %15, i64 28
  %1615 = load i32, ptr %1614, align 4, !tbaa !21
  %1616 = getelementptr inbounds i8, ptr %15, i64 24
  %1617 = load i32, ptr %1616, align 8, !tbaa !23
  %1618 = sub i32 %1615, %1617
  %1619 = getelementptr inbounds i8, ptr %16, i64 12
  %1620 = load i8, ptr %1619, align 4, !tbaa !30
  %1621 = zext i8 %1620 to i32
  %1622 = icmp ugt i32 %1618, %1621
  br i1 %1622, label %1645, label %1623

1623:                                             ; preds = %1611
  %1624 = load i32, ptr %284, align 4, !tbaa !5
  %1625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1626 = call i32 @s2n_print_stacktrace(ptr noundef %1625) #11
  %1627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1628 = trunc nuw i8 %1627 to i1
  br i1 %1628, label %1629, label %1633

1629:                                             ; preds = %1623
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = call i32 @fileno(ptr noundef %1630) #11
  %1632 = call i32 @isatty(i32 noundef %1631) #11
  %.not421 = icmp eq i32 %1632, 0
  br i1 %.not421, label %1633, label %1634

1633:                                             ; preds = %1629, %1623
  br label %1634

1634:                                             ; preds = %1629, %1633
  %.str.5.sink1120 = phi ptr [ @.str.5, %1633 ], [ @.str.2, %1629 ]
  store i32 %1624, ptr %284, align 4, !tbaa !5
  %1635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1636 = load i32, ptr @test_count, align 4, !tbaa !5
  %1637 = load i32, ptr %230, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror(i32 noundef %1637, ptr noundef nonnull @.str.4) #11
  %1639 = load i32, ptr %230, align 4, !tbaa !5
  %1640 = call ptr @s2n_strerror_debug(i32 noundef %1639, ptr noundef nonnull @.str.4) #11
  %1641 = load i32, ptr %284, align 4, !tbaa !5
  %1642 = call ptr @strerror(i32 noundef %1641) #11
  %1643 = load i32, ptr %284, align 4, !tbaa !5
  %1644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1635, ptr noundef nonnull %.str.5.sink1120, i32 noundef %1636, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1638, ptr noundef %1640, ptr noundef %1642, i32 noundef %1643) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1645:                                             ; preds = %1611
  %1646 = add nsw i32 %1612, 2
  store i32 %1646, ptr @test_count, align 4, !tbaa !5
  %1647 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %16) #11
  %1648 = icmp eq i32 %1647, -1
  br i1 %1648, label %1649, label %1671

1649:                                             ; preds = %1645
  %1650 = load i32, ptr %284, align 4, !tbaa !5
  %1651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1652 = call i32 @s2n_print_stacktrace(ptr noundef %1651) #11
  %1653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1654 = trunc nuw i8 %1653 to i1
  br i1 %1654, label %1655, label %1659

1655:                                             ; preds = %1649
  %1656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1657 = call i32 @fileno(ptr noundef %1656) #11
  %1658 = call i32 @isatty(i32 noundef %1657) #11
  %.not562 = icmp eq i32 %1658, 0
  br i1 %.not562, label %1659, label %1660

1659:                                             ; preds = %1655, %1649
  br label %1660

1660:                                             ; preds = %1655, %1659
  %.str.5.sink1129 = phi ptr [ @.str.5, %1659 ], [ @.str.2, %1655 ]
  store i32 %1650, ptr %284, align 4, !tbaa !5
  %1661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1662 = load i32, ptr @test_count, align 4, !tbaa !5
  %1663 = load i32, ptr %230, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror(i32 noundef %1663, ptr noundef nonnull @.str.4) #11
  %1665 = load i32, ptr %230, align 4, !tbaa !5
  %1666 = call ptr @s2n_strerror_debug(i32 noundef %1665, ptr noundef nonnull @.str.4) #11
  %1667 = load i32, ptr %284, align 4, !tbaa !5
  %1668 = call ptr @strerror(i32 noundef %1667) #11
  %1669 = load i32, ptr %284, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1661, ptr noundef nonnull %.str.5.sink1129, i32 noundef %1662, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1664, ptr noundef %1666, ptr noundef %1668, i32 noundef %1669) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1671:                                             ; preds = %1645
  %1672 = load i32, ptr @test_count, align 4, !tbaa !5
  %1673 = add nsw i32 %1672, 1
  store i32 %1673, ptr @test_count, align 4, !tbaa !5
  %1674 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %15, ptr noundef nonnull %14) #11
  %1675 = icmp eq i32 %1674, -1
  br i1 %1675, label %1676, label %1698

1676:                                             ; preds = %1671
  %1677 = load i32, ptr %284, align 4, !tbaa !5
  %1678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1679 = call i32 @s2n_print_stacktrace(ptr noundef %1678) #11
  %1680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1681 = trunc nuw i8 %1680 to i1
  br i1 %1681, label %1682, label %1686

1682:                                             ; preds = %1676
  %1683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1684 = call i32 @fileno(ptr noundef %1683) #11
  %1685 = call i32 @isatty(i32 noundef %1684) #11
  %.not561 = icmp eq i32 %1685, 0
  br i1 %.not561, label %1686, label %1687

1686:                                             ; preds = %1682, %1676
  br label %1687

1687:                                             ; preds = %1682, %1686
  %.str.5.sink1138 = phi ptr [ @.str.5, %1686 ], [ @.str.2, %1682 ]
  store i32 %1677, ptr %284, align 4, !tbaa !5
  %1688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1689 = load i32, ptr @test_count, align 4, !tbaa !5
  %1690 = load i32, ptr %230, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror(i32 noundef %1690, ptr noundef nonnull @.str.4) #11
  %1692 = load i32, ptr %230, align 4, !tbaa !5
  %1693 = call ptr @s2n_strerror_debug(i32 noundef %1692, ptr noundef nonnull @.str.4) #11
  %1694 = load i32, ptr %284, align 4, !tbaa !5
  %1695 = call ptr @strerror(i32 noundef %1694) #11
  %1696 = load i32, ptr %284, align 4, !tbaa !5
  %1697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1688, ptr noundef nonnull %.str.5.sink1138, i32 noundef %1689, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 201, ptr noundef %1691, ptr noundef %1693, ptr noundef %1695, i32 noundef %1696) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1698:                                             ; preds = %1671
  %1699 = load i32, ptr @test_count, align 4, !tbaa !5
  %1700 = add nsw i32 %1699, 1
  store i32 %1700, ptr @test_count, align 4, !tbaa !5
  %1701 = load i32, ptr %1614, align 4, !tbaa !21
  %1702 = load i32, ptr %1616, align 8, !tbaa !23
  %1703 = icmp eq i32 %1701, %1702
  br i1 %1703, label %1726, label %1704

1704:                                             ; preds = %1698
  %1705 = load i32, ptr %284, align 4, !tbaa !5
  %1706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1707 = call i32 @s2n_print_stacktrace(ptr noundef %1706) #11
  %1708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1709 = trunc nuw i8 %1708 to i1
  br i1 %1709, label %1710, label %1714

1710:                                             ; preds = %1704
  %1711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1712 = call i32 @fileno(ptr noundef %1711) #11
  %1713 = call i32 @isatty(i32 noundef %1712) #11
  %.not422 = icmp eq i32 %1713, 0
  br i1 %.not422, label %1714, label %1715

1714:                                             ; preds = %1710, %1704
  br label %1715

1715:                                             ; preds = %1710, %1714
  %.str.5.sink1147 = phi ptr [ @.str.5, %1714 ], [ @.str.2, %1710 ]
  store i32 %1705, ptr %284, align 4, !tbaa !5
  %1716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1717 = load i32, ptr @test_count, align 4, !tbaa !5
  %1718 = load i32, ptr %230, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror(i32 noundef %1718, ptr noundef nonnull @.str.4) #11
  %1720 = load i32, ptr %230, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef nonnull @.str.4) #11
  %1722 = load i32, ptr %284, align 4, !tbaa !5
  %1723 = call ptr @strerror(i32 noundef %1722) #11
  %1724 = load i32, ptr %284, align 4, !tbaa !5
  %1725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1716, ptr noundef nonnull %.str.5.sink1147, i32 noundef %1717, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %1719, ptr noundef %1721, ptr noundef %1723, i32 noundef %1724) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1726:                                             ; preds = %1698
  %1727 = add nsw i32 %1699, 2
  store i32 %1727, ptr @test_count, align 4, !tbaa !5
  %bcmp423 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %14, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %1728 = icmp eq i32 %bcmp423, 0
  br i1 %1728, label %1729, label %1751

1729:                                             ; preds = %1726
  %1730 = load i32, ptr %284, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = call i32 @s2n_print_stacktrace(ptr noundef %1731) #11
  %1733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1734 = trunc nuw i8 %1733 to i1
  br i1 %1734, label %1735, label %1739

1735:                                             ; preds = %1729
  %1736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1737 = call i32 @fileno(ptr noundef %1736) #11
  %1738 = call i32 @isatty(i32 noundef %1737) #11
  %.not560 = icmp eq i32 %1738, 0
  br i1 %.not560, label %1739, label %1740

1739:                                             ; preds = %1735, %1729
  br label %1740

1740:                                             ; preds = %1735, %1739
  %.str.5.sink1156 = phi ptr [ @.str.5, %1739 ], [ @.str.2, %1735 ]
  store i32 %1730, ptr %284, align 4, !tbaa !5
  %1741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1742 = load i32, ptr @test_count, align 4, !tbaa !5
  %1743 = load i32, ptr %230, align 4, !tbaa !5
  %1744 = call ptr @s2n_strerror(i32 noundef %1743, ptr noundef nonnull @.str.4) #11
  %1745 = load i32, ptr %230, align 4, !tbaa !5
  %1746 = call ptr @s2n_strerror_debug(i32 noundef %1745, ptr noundef nonnull @.str.4) #11
  %1747 = load i32, ptr %284, align 4, !tbaa !5
  %1748 = call ptr @strerror(i32 noundef %1747) #11
  %1749 = load i32, ptr %284, align 4, !tbaa !5
  %1750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1741, ptr noundef nonnull %.str.5.sink1156, i32 noundef %1742, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %1744, ptr noundef %1746, ptr noundef %1748, i32 noundef %1749) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1751:                                             ; preds = %1726
  %1752 = add nsw i32 %1699, 3
  store i32 %1752, ptr @test_count, align 4, !tbaa !5
  %1753 = getelementptr inbounds i8, ptr %14, i64 672
  %1754 = load ptr, ptr %1753, align 8, !tbaa !24
  %1755 = load ptr, ptr %15, align 8, !tbaa !26
  %1756 = getelementptr inbounds i8, ptr %1755, i64 2
  %1757 = icmp eq ptr %1754, %1756
  br i1 %1757, label %1780, label %1758

1758:                                             ; preds = %1751
  %1759 = load i32, ptr %284, align 4, !tbaa !5
  %1760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1761 = call i32 @s2n_print_stacktrace(ptr noundef %1760) #11
  %1762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1763 = trunc nuw i8 %1762 to i1
  br i1 %1763, label %1764, label %1768

1764:                                             ; preds = %1758
  %1765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1766 = call i32 @fileno(ptr noundef %1765) #11
  %1767 = call i32 @isatty(i32 noundef %1766) #11
  %.not424 = icmp eq i32 %1767, 0
  br i1 %.not424, label %1768, label %1769

1768:                                             ; preds = %1764, %1758
  br label %1769

1769:                                             ; preds = %1764, %1768
  %.str.5.sink1165 = phi ptr [ @.str.5, %1768 ], [ @.str.2, %1764 ]
  store i32 %1759, ptr %284, align 4, !tbaa !5
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = load i32, ptr @test_count, align 4, !tbaa !5
  %1772 = load i32, ptr %230, align 4, !tbaa !5
  %1773 = call ptr @s2n_strerror(i32 noundef %1772, ptr noundef nonnull @.str.4) #11
  %1774 = load i32, ptr %230, align 4, !tbaa !5
  %1775 = call ptr @s2n_strerror_debug(i32 noundef %1774, ptr noundef nonnull @.str.4) #11
  %1776 = load i32, ptr %284, align 4, !tbaa !5
  %1777 = call ptr @strerror(i32 noundef %1776) #11
  %1778 = load i32, ptr %284, align 4, !tbaa !5
  %1779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1770, ptr noundef nonnull %.str.5.sink1165, i32 noundef %1771, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1773, ptr noundef %1775, ptr noundef %1777, i32 noundef %1778) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1780:                                             ; preds = %1751
  %1781 = add nsw i32 %1699, 4
  store i32 %1781, ptr @test_count, align 4, !tbaa !5
  %1782 = getelementptr inbounds i8, ptr %14, i64 680
  %1783 = load i32, ptr %1782, align 8, !tbaa !27
  %1784 = zext i32 %1783 to i64
  %1785 = getelementptr inbounds i8, ptr %15, i64 32
  %1786 = load i32, ptr %1785, align 8, !tbaa !29
  %1787 = zext i32 %1786 to i64
  %1788 = add nsw i64 %1787, -2
  %1789 = icmp eq i64 %1788, %1784
  br i1 %1789, label %1812, label %1790

1790:                                             ; preds = %1780
  %1791 = load i32, ptr %284, align 4, !tbaa !5
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1793 = call i32 @s2n_print_stacktrace(ptr noundef %1792) #11
  %1794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1795 = trunc nuw i8 %1794 to i1
  br i1 %1795, label %1796, label %1800

1796:                                             ; preds = %1790
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1798 = call i32 @fileno(ptr noundef %1797) #11
  %1799 = call i32 @isatty(i32 noundef %1798) #11
  %.not425 = icmp eq i32 %1799, 0
  br i1 %.not425, label %1800, label %1801

1800:                                             ; preds = %1796, %1790
  br label %1801

1801:                                             ; preds = %1796, %1800
  %.str.5.sink1174 = phi ptr [ @.str.5, %1800 ], [ @.str.2, %1796 ]
  store i32 %1791, ptr %284, align 4, !tbaa !5
  %1802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1803 = load i32, ptr @test_count, align 4, !tbaa !5
  %1804 = load i32, ptr %230, align 4, !tbaa !5
  %1805 = call ptr @s2n_strerror(i32 noundef %1804, ptr noundef nonnull @.str.4) #11
  %1806 = load i32, ptr %230, align 4, !tbaa !5
  %1807 = call ptr @s2n_strerror_debug(i32 noundef %1806, ptr noundef nonnull @.str.4) #11
  %1808 = load i32, ptr %284, align 4, !tbaa !5
  %1809 = call ptr @strerror(i32 noundef %1808) #11
  %1810 = load i32, ptr %284, align 4, !tbaa !5
  %1811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1802, ptr noundef nonnull %.str.5.sink1174, i32 noundef %1803, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1805, ptr noundef %1807, ptr noundef %1809, i32 noundef %1810) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1812:                                             ; preds = %1780
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #11
  %1813 = add nsw i32 %1699, 5
  store i32 %1813, ptr @test_count, align 4, !tbaa !5
  %1814 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %17) #11
  %1815 = icmp eq i32 %1814, -1
  br i1 %1815, label %1816, label %1838

1816:                                             ; preds = %1812
  %1817 = load i32, ptr %284, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @s2n_print_stacktrace(ptr noundef %1818) #11
  %1820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1821 = trunc nuw i8 %1820 to i1
  br i1 %1821, label %1822, label %1826

1822:                                             ; preds = %1816
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1824 = call i32 @fileno(ptr noundef %1823) #11
  %1825 = call i32 @isatty(i32 noundef %1824) #11
  %.not559 = icmp eq i32 %1825, 0
  br i1 %.not559, label %1826, label %1827

1826:                                             ; preds = %1822, %1816
  br label %1827

1827:                                             ; preds = %1822, %1826
  %.str.5.sink1183 = phi ptr [ @.str.5, %1826 ], [ @.str.2, %1822 ]
  store i32 %1817, ptr %284, align 4, !tbaa !5
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = load i32, ptr @test_count, align 4, !tbaa !5
  %1830 = load i32, ptr %230, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror(i32 noundef %1830, ptr noundef nonnull @.str.4) #11
  %1832 = load i32, ptr %230, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror_debug(i32 noundef %1832, ptr noundef nonnull @.str.4) #11
  %1834 = load i32, ptr %284, align 4, !tbaa !5
  %1835 = call ptr @strerror(i32 noundef %1834) #11
  %1836 = load i32, ptr %284, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1828, ptr noundef nonnull %.str.5.sink1183, i32 noundef %1829, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1831, ptr noundef %1833, ptr noundef %1835, i32 noundef %1836) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1838:                                             ; preds = %1812
  %1839 = load i32, ptr @test_count, align 4, !tbaa !5
  %1840 = add nsw i32 %1839, 1
  store i32 %1840, ptr @test_count, align 4, !tbaa !5
  %1841 = load i8, ptr %17, align 1, !tbaa !32
  %1842 = zext i8 %1841 to i64
  %1843 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %14, i64 0, i64 %1842
  %1844 = load ptr, ptr %1843, align 8, !tbaa !33
  %1845 = icmp eq ptr %1844, null
  br i1 %1845, label %1846, label %1868

1846:                                             ; preds = %1838
  %1847 = load i32, ptr %284, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = call i32 @s2n_print_stacktrace(ptr noundef %1848) #11
  %1850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1851 = trunc nuw i8 %1850 to i1
  br i1 %1851, label %1852, label %1856

1852:                                             ; preds = %1846
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = call i32 @fileno(ptr noundef %1853) #11
  %1855 = call i32 @isatty(i32 noundef %1854) #11
  %.not558 = icmp eq i32 %1855, 0
  br i1 %.not558, label %1856, label %1857

1856:                                             ; preds = %1852, %1846
  br label %1857

1857:                                             ; preds = %1852, %1856
  %.str.5.sink1192 = phi ptr [ @.str.5, %1856 ], [ @.str.2, %1852 ]
  store i32 %1847, ptr %284, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = load i32, ptr @test_count, align 4, !tbaa !5
  %1860 = load i32, ptr %230, align 4, !tbaa !5
  %1861 = call ptr @s2n_strerror(i32 noundef %1860, ptr noundef nonnull @.str.4) #11
  %1862 = load i32, ptr %230, align 4, !tbaa !5
  %1863 = call ptr @s2n_strerror_debug(i32 noundef %1862, ptr noundef nonnull @.str.4) #11
  %1864 = load i32, ptr %284, align 4, !tbaa !5
  %1865 = call ptr @strerror(i32 noundef %1864) #11
  %1866 = load i32, ptr %284, align 4, !tbaa !5
  %1867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1858, ptr noundef nonnull %.str.5.sink1192, i32 noundef %1859, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1861, ptr noundef %1863, ptr noundef %1865, i32 noundef %1866) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1868:                                             ; preds = %1838
  %1869 = add nsw i32 %1839, 2
  store i32 %1869, ptr @test_count, align 4, !tbaa !5
  %1870 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %14, i64 0, i64 %1842, i32 0, i32 1
  %1871 = load i32, ptr %1870, align 8, !tbaa !34
  %1872 = icmp eq i32 %1871, 10
  br i1 %1872, label %1895, label %1873

1873:                                             ; preds = %1868
  %1874 = load i32, ptr %284, align 4, !tbaa !5
  %1875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1876 = call i32 @s2n_print_stacktrace(ptr noundef %1875) #11
  %1877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1878 = trunc nuw i8 %1877 to i1
  br i1 %1878, label %1879, label %1883

1879:                                             ; preds = %1873
  %1880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1881 = call i32 @fileno(ptr noundef %1880) #11
  %1882 = call i32 @isatty(i32 noundef %1881) #11
  %.not426 = icmp eq i32 %1882, 0
  br i1 %.not426, label %1883, label %1884

1883:                                             ; preds = %1879, %1873
  br label %1884

1884:                                             ; preds = %1879, %1883
  %.str.5.sink1201 = phi ptr [ @.str.5, %1883 ], [ @.str.2, %1879 ]
  store i32 %1874, ptr %284, align 4, !tbaa !5
  %1885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = load i32, ptr %230, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror(i32 noundef %1887, ptr noundef nonnull @.str.4) #11
  %1889 = load i32, ptr %230, align 4, !tbaa !5
  %1890 = call ptr @s2n_strerror_debug(i32 noundef %1889, ptr noundef nonnull @.str.4) #11
  %1891 = load i32, ptr %284, align 4, !tbaa !5
  %1892 = call ptr @strerror(i32 noundef %1891) #11
  %1893 = load i32, ptr %284, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1885, ptr noundef nonnull %.str.5.sink1201, i32 noundef %1886, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1888, ptr noundef %1890, ptr noundef %1892, i32 noundef %1893) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1895:                                             ; preds = %1868
  %1896 = add nsw i32 %1839, 3
  store i32 %1896, ptr @test_count, align 4, !tbaa !5
  %bcmp427 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %1844, ptr noundef nonnull dereferenceable(10) @test_data, i64 10)
  %1897 = icmp eq i32 %bcmp427, 0
  br i1 %1897, label %1920, label %1898

1898:                                             ; preds = %1895
  %1899 = load i32, ptr %284, align 4, !tbaa !5
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @s2n_print_stacktrace(ptr noundef %1900) #11
  %1902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1903 = trunc nuw i8 %1902 to i1
  br i1 %1903, label %1904, label %1908

1904:                                             ; preds = %1898
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = call i32 @fileno(ptr noundef %1905) #11
  %1907 = call i32 @isatty(i32 noundef %1906) #11
  %.not428 = icmp eq i32 %1907, 0
  br i1 %.not428, label %1908, label %1909

1908:                                             ; preds = %1904, %1898
  br label %1909

1909:                                             ; preds = %1904, %1908
  %.str.5.sink1210 = phi ptr [ @.str.5, %1908 ], [ @.str.2, %1904 ]
  store i32 %1899, ptr %284, align 4, !tbaa !5
  %1910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1911 = load i32, ptr @test_count, align 4, !tbaa !5
  %1912 = load i32, ptr %230, align 4, !tbaa !5
  %1913 = call ptr @s2n_strerror(i32 noundef %1912, ptr noundef nonnull @.str.4) #11
  %1914 = load i32, ptr %230, align 4, !tbaa !5
  %1915 = call ptr @s2n_strerror_debug(i32 noundef %1914, ptr noundef nonnull @.str.4) #11
  %1916 = load i32, ptr %284, align 4, !tbaa !5
  %1917 = call ptr @strerror(i32 noundef %1916) #11
  %1918 = load i32, ptr %284, align 4, !tbaa !5
  %1919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1910, ptr noundef nonnull %.str.5.sink1210, i32 noundef %1911, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %1913, ptr noundef %1915, ptr noundef %1917, i32 noundef %1918) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1920:                                             ; preds = %1895
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #11
  %1921 = add nsw i32 %1839, 4
  store i32 %1921, ptr @test_count, align 4, !tbaa !5
  %1922 = getelementptr inbounds i8, ptr %14, i64 696
  %1923 = load i16, ptr %1922, align 8, !tbaa !28
  %1924 = icmp eq i16 %1923, 1
  br i1 %1924, label %1947, label %1925

1925:                                             ; preds = %1920
  %1926 = load i32, ptr %284, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = call i32 @s2n_print_stacktrace(ptr noundef %1927) #11
  %1929 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1930 = trunc nuw i8 %1929 to i1
  br i1 %1930, label %1931, label %1935

1931:                                             ; preds = %1925
  %1932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1933 = call i32 @fileno(ptr noundef %1932) #11
  %1934 = call i32 @isatty(i32 noundef %1933) #11
  %.not429 = icmp eq i32 %1934, 0
  br i1 %.not429, label %1935, label %1936

1935:                                             ; preds = %1931, %1925
  br label %1936

1936:                                             ; preds = %1931, %1935
  %.str.5.sink1219 = phi ptr [ @.str.5, %1935 ], [ @.str.2, %1931 ]
  store i32 %1926, ptr %284, align 4, !tbaa !5
  %1937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1938 = load i32, ptr @test_count, align 4, !tbaa !5
  %1939 = load i32, ptr %230, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror(i32 noundef %1939, ptr noundef nonnull @.str.4) #11
  %1941 = load i32, ptr %230, align 4, !tbaa !5
  %1942 = call ptr @s2n_strerror_debug(i32 noundef %1941, ptr noundef nonnull @.str.4) #11
  %1943 = load i32, ptr %284, align 4, !tbaa !5
  %1944 = call ptr @strerror(i32 noundef %1943) #11
  %1945 = load i32, ptr %284, align 4, !tbaa !5
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1937, ptr noundef nonnull %.str.5.sink1219, i32 noundef %1938, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %1940, ptr noundef %1942, ptr noundef %1944, i32 noundef %1945) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1947:                                             ; preds = %1920
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #11
  %1948 = add nsw i32 %1839, 5
  store i32 %1948, ptr @test_count, align 4, !tbaa !5
  %1949 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %18) #11
  %1950 = icmp eq i32 %1949, -1
  br i1 %1950, label %1951, label %1973

1951:                                             ; preds = %1947
  %1952 = load i32, ptr %284, align 4, !tbaa !5
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @s2n_print_stacktrace(ptr noundef %1953) #11
  %1955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1956 = trunc nuw i8 %1955 to i1
  br i1 %1956, label %1957, label %1961

1957:                                             ; preds = %1951
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = call i32 @fileno(ptr noundef %1958) #11
  %1960 = call i32 @isatty(i32 noundef %1959) #11
  %.not557 = icmp eq i32 %1960, 0
  br i1 %.not557, label %1961, label %1962

1961:                                             ; preds = %1957, %1951
  br label %1962

1962:                                             ; preds = %1957, %1961
  %.str.5.sink1228 = phi ptr [ @.str.5, %1961 ], [ @.str.2, %1957 ]
  store i32 %1952, ptr %284, align 4, !tbaa !5
  %1963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1964 = load i32, ptr @test_count, align 4, !tbaa !5
  %1965 = load i32, ptr %230, align 4, !tbaa !5
  %1966 = call ptr @s2n_strerror(i32 noundef %1965, ptr noundef nonnull @.str.4) #11
  %1967 = load i32, ptr %230, align 4, !tbaa !5
  %1968 = call ptr @s2n_strerror_debug(i32 noundef %1967, ptr noundef nonnull @.str.4) #11
  %1969 = load i32, ptr %284, align 4, !tbaa !5
  %1970 = call ptr @strerror(i32 noundef %1969) #11
  %1971 = load i32, ptr %284, align 4, !tbaa !5
  %1972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1963, ptr noundef nonnull %.str.5.sink1228, i32 noundef %1964, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %1966, ptr noundef %1968, ptr noundef %1970, i32 noundef %1971) #13
  call void @exit(i32 noundef 1) #14
  unreachable

1973:                                             ; preds = %1947
  %1974 = load i8, ptr %18, align 1, !tbaa !32
  %1975 = zext i8 %1974 to i64
  %1976 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %14, i64 0, i64 %1975
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %1976, ptr noundef nonnull align 16 dereferenceable(32) @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #11
  %1977 = load i32, ptr @test_count, align 4, !tbaa !5
  %1978 = add nsw i32 %1977, 1
  store i32 %1978, ptr @test_count, align 4, !tbaa !5
  %bcmp430 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %14, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %1979 = icmp eq i32 %bcmp430, 0
  br i1 %1979, label %2002, label %1980

1980:                                             ; preds = %1973
  %1981 = load i32, ptr %284, align 4, !tbaa !5
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = call i32 @s2n_print_stacktrace(ptr noundef %1982) #11
  %1984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1985 = trunc nuw i8 %1984 to i1
  br i1 %1985, label %1986, label %1990

1986:                                             ; preds = %1980
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = call i32 @fileno(ptr noundef %1987) #11
  %1989 = call i32 @isatty(i32 noundef %1988) #11
  %.not431 = icmp eq i32 %1989, 0
  br i1 %.not431, label %1990, label %1991

1990:                                             ; preds = %1986, %1980
  br label %1991

1991:                                             ; preds = %1986, %1990
  %.str.5.sink1237 = phi ptr [ @.str.5, %1990 ], [ @.str.2, %1986 ]
  store i32 %1981, ptr %284, align 4, !tbaa !5
  %1992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1993 = load i32, ptr @test_count, align 4, !tbaa !5
  %1994 = load i32, ptr %230, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror(i32 noundef %1994, ptr noundef nonnull @.str.4) #11
  %1996 = load i32, ptr %230, align 4, !tbaa !5
  %1997 = call ptr @s2n_strerror_debug(i32 noundef %1996, ptr noundef nonnull @.str.4) #11
  %1998 = load i32, ptr %284, align 4, !tbaa !5
  %1999 = call ptr @strerror(i32 noundef %1998) #11
  %2000 = load i32, ptr %284, align 4, !tbaa !5
  %2001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1992, ptr noundef nonnull %.str.5.sink1237, i32 noundef %1993, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %1995, ptr noundef %1997, ptr noundef %1999, i32 noundef %2000) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2002:                                             ; preds = %1973
  %2003 = add nsw i32 %1977, 2
  store i32 %2003, ptr @test_count, align 4, !tbaa !5
  %2004 = call i32 @s2n_stuffer_free(ptr noundef nonnull %15) #11
  %2005 = icmp eq i32 %2004, -1
  br i1 %2005, label %2006, label %2028

2006:                                             ; preds = %2002
  %2007 = load i32, ptr %284, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = call i32 @s2n_print_stacktrace(ptr noundef %2008) #11
  %2010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2011 = trunc nuw i8 %2010 to i1
  br i1 %2011, label %2012, label %2016

2012:                                             ; preds = %2006
  %2013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2014 = call i32 @fileno(ptr noundef %2013) #11
  %2015 = call i32 @isatty(i32 noundef %2014) #11
  %.not556 = icmp eq i32 %2015, 0
  br i1 %.not556, label %2016, label %2017

2016:                                             ; preds = %2012, %2006
  br label %2017

2017:                                             ; preds = %2012, %2016
  %.str.5.sink1246 = phi ptr [ @.str.5, %2016 ], [ @.str.2, %2012 ]
  store i32 %2007, ptr %284, align 4, !tbaa !5
  %2018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2019 = load i32, ptr @test_count, align 4, !tbaa !5
  %2020 = load i32, ptr %230, align 4, !tbaa !5
  %2021 = call ptr @s2n_strerror(i32 noundef %2020, ptr noundef nonnull @.str.4) #11
  %2022 = load i32, ptr %230, align 4, !tbaa !5
  %2023 = call ptr @s2n_strerror_debug(i32 noundef %2022, ptr noundef nonnull @.str.4) #11
  %2024 = load i32, ptr %284, align 4, !tbaa !5
  %2025 = call ptr @strerror(i32 noundef %2024) #11
  %2026 = load i32, ptr %284, align 4, !tbaa !5
  %2027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2018, ptr noundef nonnull %.str.5.sink1246, i32 noundef %2019, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2021, ptr noundef %2023, ptr noundef %2025, i32 noundef %2026) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2028:                                             ; preds = %2002
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %16) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %14) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %19) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %19, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %20) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %20, i8 0, i64 40, i1 false)
  %2029 = load i32, ptr @test_count, align 4, !tbaa !5
  %2030 = add nsw i32 %2029, 1
  store i32 %2030, ptr @test_count, align 4, !tbaa !5
  %2031 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %20, i32 noundef 0) #11
  %2032 = icmp eq i32 %2031, -1
  br i1 %2032, label %2033, label %2055

2033:                                             ; preds = %2028
  %2034 = load i32, ptr %284, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #11
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

2039:                                             ; preds = %2033
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #11
  %2042 = call i32 @isatty(i32 noundef %2041) #11
  %.not555 = icmp eq i32 %2042, 0
  br i1 %.not555, label %2043, label %2044

2043:                                             ; preds = %2039, %2033
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.5.sink1255 = phi ptr [ @.str.5, %2043 ], [ @.str.2, %2039 ]
  store i32 %2034, ptr %284, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = load i32, ptr %230, align 4, !tbaa !5
  %2048 = call ptr @s2n_strerror(i32 noundef %2047, ptr noundef nonnull @.str.4) #11
  %2049 = load i32, ptr %230, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror_debug(i32 noundef %2049, ptr noundef nonnull @.str.4) #11
  %2051 = load i32, ptr %284, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #11
  %2053 = load i32, ptr %284, align 4, !tbaa !5
  %2054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.5.sink1255, i32 noundef %2046, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %2048, ptr noundef %2050, ptr noundef %2052, i32 noundef %2053) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2055:                                             ; preds = %2028
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %21) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %21, i8 0, i64 16, i1 false)
  %2056 = load i32, ptr @test_count, align 4, !tbaa !5
  %2057 = add nsw i32 %2056, 1
  store i32 %2057, ptr @test_count, align 4, !tbaa !5
  %2058 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %20, ptr noundef nonnull %21) #11
  %2059 = icmp eq i32 %2058, -1
  br i1 %2059, label %2060, label %2082

2060:                                             ; preds = %2055
  %2061 = load i32, ptr %284, align 4, !tbaa !5
  %2062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2063 = call i32 @s2n_print_stacktrace(ptr noundef %2062) #11
  %2064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2065 = trunc nuw i8 %2064 to i1
  br i1 %2065, label %2066, label %2070

2066:                                             ; preds = %2060
  %2067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2068 = call i32 @fileno(ptr noundef %2067) #11
  %2069 = call i32 @isatty(i32 noundef %2068) #11
  %.not554 = icmp eq i32 %2069, 0
  br i1 %.not554, label %2070, label %2071

2070:                                             ; preds = %2066, %2060
  br label %2071

2071:                                             ; preds = %2066, %2070
  %.str.5.sink1264 = phi ptr [ @.str.5, %2070 ], [ @.str.2, %2066 ]
  store i32 %2061, ptr %284, align 4, !tbaa !5
  %2072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2073 = load i32, ptr @test_count, align 4, !tbaa !5
  %2074 = load i32, ptr %230, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror(i32 noundef %2074, ptr noundef nonnull @.str.4) #11
  %2076 = load i32, ptr %230, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror_debug(i32 noundef %2076, ptr noundef nonnull @.str.4) #11
  %2078 = load i32, ptr %284, align 4, !tbaa !5
  %2079 = call ptr @strerror(i32 noundef %2078) #11
  %2080 = load i32, ptr %284, align 4, !tbaa !5
  %2081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2072, ptr noundef nonnull %.str.5.sink1264, i32 noundef %2073, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %2075, ptr noundef %2077, ptr noundef %2079, i32 noundef %2080) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2082:                                             ; preds = %2055
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = add nsw i32 %2083, 1
  store i32 %2084, ptr @test_count, align 4, !tbaa !5
  %2085 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %20, i16 noundef zeroext 0) #11
  %2086 = icmp eq i32 %2085, -1
  br i1 %2086, label %2087, label %2109

2087:                                             ; preds = %2082
  %2088 = load i32, ptr %284, align 4, !tbaa !5
  %2089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2090 = call i32 @s2n_print_stacktrace(ptr noundef %2089) #11
  %2091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2092 = trunc nuw i8 %2091 to i1
  br i1 %2092, label %2093, label %2097

2093:                                             ; preds = %2087
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @fileno(ptr noundef %2094) #11
  %2096 = call i32 @isatty(i32 noundef %2095) #11
  %.not553 = icmp eq i32 %2096, 0
  br i1 %.not553, label %2097, label %2098

2097:                                             ; preds = %2093, %2087
  br label %2098

2098:                                             ; preds = %2093, %2097
  %.str.5.sink1273 = phi ptr [ @.str.5, %2097 ], [ @.str.2, %2093 ]
  store i32 %2088, ptr %284, align 4, !tbaa !5
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2100 = load i32, ptr @test_count, align 4, !tbaa !5
  %2101 = load i32, ptr %230, align 4, !tbaa !5
  %2102 = call ptr @s2n_strerror(i32 noundef %2101, ptr noundef nonnull @.str.4) #11
  %2103 = load i32, ptr %230, align 4, !tbaa !5
  %2104 = call ptr @s2n_strerror_debug(i32 noundef %2103, ptr noundef nonnull @.str.4) #11
  %2105 = load i32, ptr %284, align 4, !tbaa !5
  %2106 = call ptr @strerror(i32 noundef %2105) #11
  %2107 = load i32, ptr %284, align 4, !tbaa !5
  %2108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2099, ptr noundef nonnull %.str.5.sink1273, i32 noundef %2100, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2102, ptr noundef %2104, ptr noundef %2106, i32 noundef %2107) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2109:                                             ; preds = %2082
  %2110 = load i32, ptr @test_count, align 4, !tbaa !5
  %2111 = add nsw i32 %2110, 1
  store i32 %2111, ptr @test_count, align 4, !tbaa !5
  %2112 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %20, i16 noundef zeroext 100) #11
  %2113 = icmp eq i32 %2112, -1
  br i1 %2113, label %2114, label %2136

2114:                                             ; preds = %2109
  %2115 = load i32, ptr %284, align 4, !tbaa !5
  %2116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2117 = call i32 @s2n_print_stacktrace(ptr noundef %2116) #11
  %2118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2119 = trunc nuw i8 %2118 to i1
  br i1 %2119, label %2120, label %2124

2120:                                             ; preds = %2114
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = call i32 @fileno(ptr noundef %2121) #11
  %2123 = call i32 @isatty(i32 noundef %2122) #11
  %.not552 = icmp eq i32 %2123, 0
  br i1 %.not552, label %2124, label %2125

2124:                                             ; preds = %2120, %2114
  br label %2125

2125:                                             ; preds = %2120, %2124
  %.str.5.sink1282 = phi ptr [ @.str.5, %2124 ], [ @.str.2, %2120 ]
  store i32 %2115, ptr %284, align 4, !tbaa !5
  %2126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2127 = load i32, ptr @test_count, align 4, !tbaa !5
  %2128 = load i32, ptr %230, align 4, !tbaa !5
  %2129 = call ptr @s2n_strerror(i32 noundef %2128, ptr noundef nonnull @.str.4) #11
  %2130 = load i32, ptr %230, align 4, !tbaa !5
  %2131 = call ptr @s2n_strerror_debug(i32 noundef %2130, ptr noundef nonnull @.str.4) #11
  %2132 = load i32, ptr %284, align 4, !tbaa !5
  %2133 = call ptr @strerror(i32 noundef %2132) #11
  %2134 = load i32, ptr %284, align 4, !tbaa !5
  %2135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2126, ptr noundef nonnull %.str.5.sink1282, i32 noundef %2127, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 226, ptr noundef %2129, ptr noundef %2131, ptr noundef %2133, i32 noundef %2134) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2136:                                             ; preds = %2109
  %2137 = load i32, ptr @test_count, align 4, !tbaa !5
  %2138 = add nsw i32 %2137, 1
  store i32 %2138, ptr @test_count, align 4, !tbaa !5
  %2139 = getelementptr inbounds i8, ptr %20, i64 28
  %2140 = load i32, ptr %2139, align 4, !tbaa !21
  %2141 = getelementptr inbounds i8, ptr %20, i64 24
  %2142 = load i32, ptr %2141, align 8, !tbaa !23
  %2143 = sub i32 %2140, %2142
  %2144 = getelementptr inbounds i8, ptr %21, i64 12
  %2145 = load i8, ptr %2144, align 4, !tbaa !30
  %2146 = zext i8 %2145 to i32
  %2147 = icmp ugt i32 %2143, %2146
  br i1 %2147, label %2170, label %2148

2148:                                             ; preds = %2136
  %2149 = load i32, ptr %284, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #11
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc nuw i8 %2152 to i1
  br i1 %2153, label %2154, label %2158

2154:                                             ; preds = %2148
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #11
  %2157 = call i32 @isatty(i32 noundef %2156) #11
  %.not432 = icmp eq i32 %2157, 0
  br i1 %.not432, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.5.sink1291 = phi ptr [ @.str.5, %2158 ], [ @.str.2, %2154 ]
  store i32 %2149, ptr %284, align 4, !tbaa !5
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = load i32, ptr %230, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #11
  %2164 = load i32, ptr %230, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #11
  %2166 = load i32, ptr %284, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #11
  %2168 = load i32, ptr %284, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.5.sink1291, i32 noundef %2161, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2170:                                             ; preds = %2136
  %2171 = add nsw i32 %2137, 2
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %21) #11
  %2173 = icmp eq i32 %2172, -1
  br i1 %2173, label %2174, label %2196

2174:                                             ; preds = %2170
  %2175 = load i32, ptr %284, align 4, !tbaa !5
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @s2n_print_stacktrace(ptr noundef %2176) #11
  %2178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2179 = trunc nuw i8 %2178 to i1
  br i1 %2179, label %2180, label %2184

2180:                                             ; preds = %2174
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @fileno(ptr noundef %2181) #11
  %2183 = call i32 @isatty(i32 noundef %2182) #11
  %.not551 = icmp eq i32 %2183, 0
  br i1 %.not551, label %2184, label %2185

2184:                                             ; preds = %2180, %2174
  br label %2185

2185:                                             ; preds = %2180, %2184
  %.str.5.sink1300 = phi ptr [ @.str.5, %2184 ], [ @.str.2, %2180 ]
  store i32 %2175, ptr %284, align 4, !tbaa !5
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = load i32, ptr @test_count, align 4, !tbaa !5
  %2188 = load i32, ptr %230, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror(i32 noundef %2188, ptr noundef nonnull @.str.4) #11
  %2190 = load i32, ptr %230, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef nonnull @.str.4) #11
  %2192 = load i32, ptr %284, align 4, !tbaa !5
  %2193 = call ptr @strerror(i32 noundef %2192) #11
  %2194 = load i32, ptr %284, align 4, !tbaa !5
  %2195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2186, ptr noundef nonnull %.str.5.sink1300, i32 noundef %2187, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2189, ptr noundef %2191, ptr noundef %2193, i32 noundef %2194) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2196:                                             ; preds = %2170
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = add nsw i32 %2197, 1
  store i32 %2198, ptr @test_count, align 4, !tbaa !5
  %2199 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %20, ptr noundef nonnull %19) #11
  %2200 = icmp eq i32 %2199, -1
  br i1 %2200, label %2223, label %2201

2201:                                             ; preds = %2196
  %2202 = load i32, ptr %284, align 4, !tbaa !5
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @s2n_print_stacktrace(ptr noundef %2203) #11
  %2205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2206 = trunc nuw i8 %2205 to i1
  br i1 %2206, label %2207, label %2211

2207:                                             ; preds = %2201
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @fileno(ptr noundef %2208) #11
  %2210 = call i32 @isatty(i32 noundef %2209) #11
  %.not433 = icmp eq i32 %2210, 0
  br i1 %.not433, label %2211, label %2212

2211:                                             ; preds = %2207, %2201
  br label %2212

2212:                                             ; preds = %2207, %2211
  %.str.5.sink1309 = phi ptr [ @.str.5, %2211 ], [ @.str.2, %2207 ]
  store i32 %2202, ptr %284, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = load i32, ptr %230, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #11
  %2217 = load i32, ptr %230, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #11
  %2219 = load i32, ptr %284, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #11
  %2221 = load i32, ptr %284, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef nonnull %.str.5.sink1309, i32 noundef %2214, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2223:                                             ; preds = %2196
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = add nsw i32 %2224, 1
  store i32 %2225, ptr @test_count, align 4, !tbaa !5
  %2226 = load i32, ptr %230, align 4, !tbaa !5
  %2227 = icmp eq i32 %2226, 335544322
  br i1 %2227, label %2250, label %2228

2228:                                             ; preds = %2223
  %2229 = load i32, ptr %284, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #11
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

2234:                                             ; preds = %2228
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = call i32 @fileno(ptr noundef %2235) #11
  %2237 = call i32 @isatty(i32 noundef %2236) #11
  %.not434 = icmp eq i32 %2237, 0
  br i1 %.not434, label %2238, label %2239

2238:                                             ; preds = %2234, %2228
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.5.sink1318 = phi ptr [ @.str.5, %2238 ], [ @.str.2, %2234 ]
  store i32 %2229, ptr %284, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %230, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.4) #11
  %2244 = load i32, ptr %230, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.4) #11
  %2246 = load i32, ptr %284, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #11
  %2248 = load i32, ptr %284, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.5.sink1318, i32 noundef %2241, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2250:                                             ; preds = %2223
  %2251 = add nsw i32 %2224, 2
  store i32 %2251, ptr @test_count, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #11
  %2253 = icmp eq ptr %2252, null
  br i1 %2253, label %2254, label %2276

2254:                                             ; preds = %2250
  %2255 = load i32, ptr %284, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @s2n_print_stacktrace(ptr noundef %2256) #11
  %2258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2259 = trunc nuw i8 %2258 to i1
  br i1 %2259, label %2260, label %2264

2260:                                             ; preds = %2254
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = call i32 @fileno(ptr noundef %2261) #11
  %2263 = call i32 @isatty(i32 noundef %2262) #11
  %.not550 = icmp eq i32 %2263, 0
  br i1 %.not550, label %2264, label %2265

2264:                                             ; preds = %2260, %2254
  br label %2265

2265:                                             ; preds = %2260, %2264
  %.str.5.sink1327 = phi ptr [ @.str.5, %2264 ], [ @.str.2, %2260 ]
  store i32 %2255, ptr %284, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = load i32, ptr @test_count, align 4, !tbaa !5
  %2268 = load i32, ptr %230, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror(i32 noundef %2268, ptr noundef nonnull @.str.4) #11
  %2270 = load i32, ptr %230, align 4, !tbaa !5
  %2271 = call ptr @s2n_strerror_debug(i32 noundef %2270, ptr noundef nonnull @.str.4) #11
  %2272 = load i32, ptr %284, align 4, !tbaa !5
  %2273 = call ptr @strerror(i32 noundef %2272) #11
  %2274 = load i32, ptr %284, align 4, !tbaa !5
  %2275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2266, ptr noundef nonnull %.str.5.sink1327, i32 noundef %2267, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2269, ptr noundef %2271, ptr noundef %2273, i32 noundef %2274) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2276:                                             ; preds = %2250
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  %2277 = load i32, ptr @test_count, align 4, !tbaa !5
  %2278 = add nsw i32 %2277, 1
  store i32 %2278, ptr @test_count, align 4, !tbaa !5
  %2279 = load i32, ptr %2139, align 4, !tbaa !21
  %2280 = load i32, ptr %2141, align 8, !tbaa !23
  %2281 = icmp eq i32 %2279, %2280
  br i1 %2281, label %2304, label %2282

2282:                                             ; preds = %2276
  %2283 = load i32, ptr %284, align 4, !tbaa !5
  %2284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2285 = call i32 @s2n_print_stacktrace(ptr noundef %2284) #11
  %2286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2287 = trunc nuw i8 %2286 to i1
  br i1 %2287, label %2288, label %2292

2288:                                             ; preds = %2282
  %2289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2290 = call i32 @fileno(ptr noundef %2289) #11
  %2291 = call i32 @isatty(i32 noundef %2290) #11
  %.not435 = icmp eq i32 %2291, 0
  br i1 %.not435, label %2292, label %2293

2292:                                             ; preds = %2288, %2282
  br label %2293

2293:                                             ; preds = %2288, %2292
  %.str.5.sink1336 = phi ptr [ @.str.5, %2292 ], [ @.str.2, %2288 ]
  store i32 %2283, ptr %284, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = load i32, ptr %230, align 4, !tbaa !5
  %2297 = call ptr @s2n_strerror(i32 noundef %2296, ptr noundef nonnull @.str.4) #11
  %2298 = load i32, ptr %230, align 4, !tbaa !5
  %2299 = call ptr @s2n_strerror_debug(i32 noundef %2298, ptr noundef nonnull @.str.4) #11
  %2300 = load i32, ptr %284, align 4, !tbaa !5
  %2301 = call ptr @strerror(i32 noundef %2300) #11
  %2302 = load i32, ptr %284, align 4, !tbaa !5
  %2303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2294, ptr noundef nonnull %.str.5.sink1336, i32 noundef %2295, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2297, ptr noundef %2299, ptr noundef %2301, i32 noundef %2302) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2304:                                             ; preds = %2276
  %2305 = add nsw i32 %2277, 2
  store i32 %2305, ptr @test_count, align 4, !tbaa !5
  %bcmp436 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %19, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %2306 = icmp eq i32 %bcmp436, 0
  br i1 %2306, label %2329, label %2307

2307:                                             ; preds = %2304
  %2308 = load i32, ptr %284, align 4, !tbaa !5
  %2309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2310 = call i32 @s2n_print_stacktrace(ptr noundef %2309) #11
  %2311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2312 = trunc nuw i8 %2311 to i1
  br i1 %2312, label %2313, label %2317

2313:                                             ; preds = %2307
  %2314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2315 = call i32 @fileno(ptr noundef %2314) #11
  %2316 = call i32 @isatty(i32 noundef %2315) #11
  %.not437 = icmp eq i32 %2316, 0
  br i1 %.not437, label %2317, label %2318

2317:                                             ; preds = %2313, %2307
  br label %2318

2318:                                             ; preds = %2313, %2317
  %.str.5.sink1345 = phi ptr [ @.str.5, %2317 ], [ @.str.2, %2313 ]
  store i32 %2308, ptr %284, align 4, !tbaa !5
  %2319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2320 = load i32, ptr @test_count, align 4, !tbaa !5
  %2321 = load i32, ptr %230, align 4, !tbaa !5
  %2322 = call ptr @s2n_strerror(i32 noundef %2321, ptr noundef nonnull @.str.4) #11
  %2323 = load i32, ptr %230, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror_debug(i32 noundef %2323, ptr noundef nonnull @.str.4) #11
  %2325 = load i32, ptr %284, align 4, !tbaa !5
  %2326 = call ptr @strerror(i32 noundef %2325) #11
  %2327 = load i32, ptr %284, align 4, !tbaa !5
  %2328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2319, ptr noundef nonnull %.str.5.sink1345, i32 noundef %2320, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2322, ptr noundef %2324, ptr noundef %2326, i32 noundef %2327) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2329:                                             ; preds = %2304
  %2330 = add nsw i32 %2277, 3
  store i32 %2330, ptr @test_count, align 4, !tbaa !5
  %2331 = getelementptr inbounds i8, ptr %19, i64 672
  %2332 = load ptr, ptr %2331, align 8, !tbaa !24
  %2333 = load ptr, ptr %20, align 8, !tbaa !26
  %2334 = getelementptr inbounds i8, ptr %2333, i64 2
  %2335 = icmp eq ptr %2332, %2334
  br i1 %2335, label %2358, label %2336

2336:                                             ; preds = %2329
  %2337 = load i32, ptr %284, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = call i32 @s2n_print_stacktrace(ptr noundef %2338) #11
  %2340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2341 = trunc nuw i8 %2340 to i1
  br i1 %2341, label %2342, label %2346

2342:                                             ; preds = %2336
  %2343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2344 = call i32 @fileno(ptr noundef %2343) #11
  %2345 = call i32 @isatty(i32 noundef %2344) #11
  %.not438 = icmp eq i32 %2345, 0
  br i1 %.not438, label %2346, label %2347

2346:                                             ; preds = %2342, %2336
  br label %2347

2347:                                             ; preds = %2342, %2346
  %.str.5.sink1354 = phi ptr [ @.str.5, %2346 ], [ @.str.2, %2342 ]
  store i32 %2337, ptr %284, align 4, !tbaa !5
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = load i32, ptr @test_count, align 4, !tbaa !5
  %2350 = load i32, ptr %230, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror(i32 noundef %2350, ptr noundef nonnull @.str.4) #11
  %2352 = load i32, ptr %230, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror_debug(i32 noundef %2352, ptr noundef nonnull @.str.4) #11
  %2354 = load i32, ptr %284, align 4, !tbaa !5
  %2355 = call ptr @strerror(i32 noundef %2354) #11
  %2356 = load i32, ptr %284, align 4, !tbaa !5
  %2357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2348, ptr noundef nonnull %.str.5.sink1354, i32 noundef %2349, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2351, ptr noundef %2353, ptr noundef %2355, i32 noundef %2356) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2358:                                             ; preds = %2329
  %2359 = add nsw i32 %2277, 4
  store i32 %2359, ptr @test_count, align 4, !tbaa !5
  %2360 = getelementptr inbounds i8, ptr %19, i64 680
  %2361 = load i32, ptr %2360, align 8, !tbaa !27
  %2362 = zext i32 %2361 to i64
  %2363 = getelementptr inbounds i8, ptr %20, i64 32
  %2364 = load i32, ptr %2363, align 8, !tbaa !29
  %2365 = zext i32 %2364 to i64
  %2366 = add nsw i64 %2365, -2
  %2367 = icmp eq i64 %2366, %2362
  br i1 %2367, label %2390, label %2368

2368:                                             ; preds = %2358
  %2369 = load i32, ptr %284, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @s2n_print_stacktrace(ptr noundef %2370) #11
  %2372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2373 = trunc nuw i8 %2372 to i1
  br i1 %2373, label %2374, label %2378

2374:                                             ; preds = %2368
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = call i32 @fileno(ptr noundef %2375) #11
  %2377 = call i32 @isatty(i32 noundef %2376) #11
  %.not439 = icmp eq i32 %2377, 0
  br i1 %.not439, label %2378, label %2379

2378:                                             ; preds = %2374, %2368
  br label %2379

2379:                                             ; preds = %2374, %2378
  %.str.5.sink1363 = phi ptr [ @.str.5, %2378 ], [ @.str.2, %2374 ]
  store i32 %2369, ptr %284, align 4, !tbaa !5
  %2380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2381 = load i32, ptr @test_count, align 4, !tbaa !5
  %2382 = load i32, ptr %230, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror(i32 noundef %2382, ptr noundef nonnull @.str.4) #11
  %2384 = load i32, ptr %230, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror_debug(i32 noundef %2384, ptr noundef nonnull @.str.4) #11
  %2386 = load i32, ptr %284, align 4, !tbaa !5
  %2387 = call ptr @strerror(i32 noundef %2386) #11
  %2388 = load i32, ptr %284, align 4, !tbaa !5
  %2389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2380, ptr noundef nonnull %.str.5.sink1363, i32 noundef %2381, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 236, ptr noundef %2383, ptr noundef %2385, ptr noundef %2387, i32 noundef %2388) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2390:                                             ; preds = %2358
  %2391 = add nsw i32 %2277, 5
  store i32 %2391, ptr @test_count, align 4, !tbaa !5
  %2392 = call i32 @s2n_stuffer_free(ptr noundef nonnull %20) #11
  %2393 = icmp eq i32 %2392, -1
  br i1 %2393, label %2394, label %2416

2394:                                             ; preds = %2390
  %2395 = load i32, ptr %284, align 4, !tbaa !5
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = call i32 @s2n_print_stacktrace(ptr noundef %2396) #11
  %2398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2399 = trunc nuw i8 %2398 to i1
  br i1 %2399, label %2400, label %2404

2400:                                             ; preds = %2394
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = call i32 @fileno(ptr noundef %2401) #11
  %2403 = call i32 @isatty(i32 noundef %2402) #11
  %.not549 = icmp eq i32 %2403, 0
  br i1 %.not549, label %2404, label %2405

2404:                                             ; preds = %2400, %2394
  br label %2405

2405:                                             ; preds = %2400, %2404
  %.str.5.sink1372 = phi ptr [ @.str.5, %2404 ], [ @.str.2, %2400 ]
  store i32 %2395, ptr %284, align 4, !tbaa !5
  %2406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2407 = load i32, ptr @test_count, align 4, !tbaa !5
  %2408 = load i32, ptr %230, align 4, !tbaa !5
  %2409 = call ptr @s2n_strerror(i32 noundef %2408, ptr noundef nonnull @.str.4) #11
  %2410 = load i32, ptr %230, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror_debug(i32 noundef %2410, ptr noundef nonnull @.str.4) #11
  %2412 = load i32, ptr %284, align 4, !tbaa !5
  %2413 = call ptr @strerror(i32 noundef %2412) #11
  %2414 = load i32, ptr %284, align 4, !tbaa !5
  %2415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2406, ptr noundef nonnull %.str.5.sink1372, i32 noundef %2407, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %2409, ptr noundef %2411, ptr noundef %2413, i32 noundef %2414) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2416:                                             ; preds = %2390
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %21) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %20) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %19) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %22) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %22, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %23) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %23, i8 0, i64 40, i1 false)
  %2417 = load i32, ptr @test_count, align 4, !tbaa !5
  %2418 = add nsw i32 %2417, 1
  store i32 %2418, ptr @test_count, align 4, !tbaa !5
  %2419 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %23, i32 noundef 0) #11
  %2420 = icmp eq i32 %2419, -1
  br i1 %2420, label %2421, label %2443

2421:                                             ; preds = %2416
  %2422 = load i32, ptr %284, align 4, !tbaa !5
  %2423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2424 = call i32 @s2n_print_stacktrace(ptr noundef %2423) #11
  %2425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2426 = trunc nuw i8 %2425 to i1
  br i1 %2426, label %2427, label %2431

2427:                                             ; preds = %2421
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = call i32 @fileno(ptr noundef %2428) #11
  %2430 = call i32 @isatty(i32 noundef %2429) #11
  %.not548 = icmp eq i32 %2430, 0
  br i1 %.not548, label %2431, label %2432

2431:                                             ; preds = %2427, %2421
  br label %2432

2432:                                             ; preds = %2427, %2431
  %.str.5.sink1381 = phi ptr [ @.str.5, %2431 ], [ @.str.2, %2427 ]
  store i32 %2422, ptr %284, align 4, !tbaa !5
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = load i32, ptr @test_count, align 4, !tbaa !5
  %2435 = load i32, ptr %230, align 4, !tbaa !5
  %2436 = call ptr @s2n_strerror(i32 noundef %2435, ptr noundef nonnull @.str.4) #11
  %2437 = load i32, ptr %230, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror_debug(i32 noundef %2437, ptr noundef nonnull @.str.4) #11
  %2439 = load i32, ptr %284, align 4, !tbaa !5
  %2440 = call ptr @strerror(i32 noundef %2439) #11
  %2441 = load i32, ptr %284, align 4, !tbaa !5
  %2442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2433, ptr noundef nonnull %.str.5.sink1381, i32 noundef %2434, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %2436, ptr noundef %2438, ptr noundef %2440, i32 noundef %2441) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2443:                                             ; preds = %2416
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %24) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %24, i8 0, i64 16, i1 false)
  %2444 = load i32, ptr @test_count, align 4, !tbaa !5
  %2445 = add nsw i32 %2444, 1
  store i32 %2445, ptr @test_count, align 4, !tbaa !5
  %2446 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %23, ptr noundef nonnull %24) #11
  %2447 = icmp eq i32 %2446, -1
  br i1 %2447, label %2448, label %2470

2448:                                             ; preds = %2443
  %2449 = load i32, ptr %284, align 4, !tbaa !5
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @s2n_print_stacktrace(ptr noundef %2450) #11
  %2452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2453 = trunc nuw i8 %2452 to i1
  br i1 %2453, label %2454, label %2458

2454:                                             ; preds = %2448
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = call i32 @fileno(ptr noundef %2455) #11
  %2457 = call i32 @isatty(i32 noundef %2456) #11
  %.not547 = icmp eq i32 %2457, 0
  br i1 %.not547, label %2458, label %2459

2458:                                             ; preds = %2454, %2448
  br label %2459

2459:                                             ; preds = %2454, %2458
  %.str.5.sink1390 = phi ptr [ @.str.5, %2458 ], [ @.str.2, %2454 ]
  store i32 %2449, ptr %284, align 4, !tbaa !5
  %2460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2461 = load i32, ptr @test_count, align 4, !tbaa !5
  %2462 = load i32, ptr %230, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror(i32 noundef %2462, ptr noundef nonnull @.str.4) #11
  %2464 = load i32, ptr %230, align 4, !tbaa !5
  %2465 = call ptr @s2n_strerror_debug(i32 noundef %2464, ptr noundef nonnull @.str.4) #11
  %2466 = load i32, ptr %284, align 4, !tbaa !5
  %2467 = call ptr @strerror(i32 noundef %2466) #11
  %2468 = load i32, ptr %284, align 4, !tbaa !5
  %2469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2460, ptr noundef nonnull %.str.5.sink1390, i32 noundef %2461, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2463, ptr noundef %2465, ptr noundef %2467, i32 noundef %2468) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2470:                                             ; preds = %2443
  %2471 = load i32, ptr @test_count, align 4, !tbaa !5
  %2472 = add nsw i32 %2471, 1
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = call i32 @s2n_extension_send(ptr noundef nonnull %1, ptr noundef nonnull %172, ptr noundef nonnull %23) #11
  %2474 = icmp eq i32 %2473, -1
  br i1 %2474, label %2475, label %2497

2475:                                             ; preds = %2470
  %2476 = load i32, ptr %284, align 4, !tbaa !5
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2478 = call i32 @s2n_print_stacktrace(ptr noundef %2477) #11
  %2479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2480 = trunc nuw i8 %2479 to i1
  br i1 %2480, label %2481, label %2485

2481:                                             ; preds = %2475
  %2482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2483 = call i32 @fileno(ptr noundef %2482) #11
  %2484 = call i32 @isatty(i32 noundef %2483) #11
  %.not546 = icmp eq i32 %2484, 0
  br i1 %.not546, label %2485, label %2486

2485:                                             ; preds = %2481, %2475
  br label %2486

2486:                                             ; preds = %2481, %2485
  %.str.5.sink1399 = phi ptr [ @.str.5, %2485 ], [ @.str.2, %2481 ]
  store i32 %2476, ptr %284, align 4, !tbaa !5
  %2487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2488 = load i32, ptr @test_count, align 4, !tbaa !5
  %2489 = load i32, ptr %230, align 4, !tbaa !5
  %2490 = call ptr @s2n_strerror(i32 noundef %2489, ptr noundef nonnull @.str.4) #11
  %2491 = load i32, ptr %230, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror_debug(i32 noundef %2491, ptr noundef nonnull @.str.4) #11
  %2493 = load i32, ptr %284, align 4, !tbaa !5
  %2494 = call ptr @strerror(i32 noundef %2493) #11
  %2495 = load i32, ptr %284, align 4, !tbaa !5
  %2496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2487, ptr noundef nonnull %.str.5.sink1399, i32 noundef %2488, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2490, ptr noundef %2492, ptr noundef %2494, i32 noundef %2495) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2497:                                             ; preds = %2470
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = add nsw i32 %2498, 1
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = getelementptr inbounds i8, ptr %23, i64 28
  %2501 = load i32, ptr %2500, align 4, !tbaa !21
  %2502 = getelementptr inbounds i8, ptr %23, i64 24
  %2503 = load i32, ptr %2502, align 8, !tbaa !23
  %2504 = sub i32 %2501, %2503
  %2505 = getelementptr inbounds i8, ptr %24, i64 12
  %2506 = load i8, ptr %2505, align 4, !tbaa !30
  %2507 = zext i8 %2506 to i32
  %2508 = icmp ugt i32 %2504, %2507
  br i1 %2508, label %2531, label %2509

2509:                                             ; preds = %2497
  %2510 = load i32, ptr %284, align 4, !tbaa !5
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @s2n_print_stacktrace(ptr noundef %2511) #11
  %2513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2514 = trunc nuw i8 %2513 to i1
  br i1 %2514, label %2515, label %2519

2515:                                             ; preds = %2509
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = call i32 @fileno(ptr noundef %2516) #11
  %2518 = call i32 @isatty(i32 noundef %2517) #11
  %.not440 = icmp eq i32 %2518, 0
  br i1 %.not440, label %2519, label %2520

2519:                                             ; preds = %2515, %2509
  br label %2520

2520:                                             ; preds = %2515, %2519
  %.str.5.sink1408 = phi ptr [ @.str.5, %2519 ], [ @.str.2, %2515 ]
  store i32 %2510, ptr %284, align 4, !tbaa !5
  %2521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2522 = load i32, ptr @test_count, align 4, !tbaa !5
  %2523 = load i32, ptr %230, align 4, !tbaa !5
  %2524 = call ptr @s2n_strerror(i32 noundef %2523, ptr noundef nonnull @.str.4) #11
  %2525 = load i32, ptr %230, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror_debug(i32 noundef %2525, ptr noundef nonnull @.str.4) #11
  %2527 = load i32, ptr %284, align 4, !tbaa !5
  %2528 = call ptr @strerror(i32 noundef %2527) #11
  %2529 = load i32, ptr %284, align 4, !tbaa !5
  %2530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2521, ptr noundef nonnull %.str.5.sink1408, i32 noundef %2522, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2524, ptr noundef %2526, ptr noundef %2528, i32 noundef %2529) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2531:                                             ; preds = %2497
  %2532 = add nsw i32 %2498, 2
  store i32 %2532, ptr @test_count, align 4, !tbaa !5
  %2533 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %24) #11
  %2534 = icmp eq i32 %2533, -1
  br i1 %2534, label %2535, label %2557

2535:                                             ; preds = %2531
  %2536 = load i32, ptr %284, align 4, !tbaa !5
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @s2n_print_stacktrace(ptr noundef %2537) #11
  %2539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2540 = trunc nuw i8 %2539 to i1
  br i1 %2540, label %2541, label %2545

2541:                                             ; preds = %2535
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = call i32 @fileno(ptr noundef %2542) #11
  %2544 = call i32 @isatty(i32 noundef %2543) #11
  %.not545 = icmp eq i32 %2544, 0
  br i1 %.not545, label %2545, label %2546

2545:                                             ; preds = %2541, %2535
  br label %2546

2546:                                             ; preds = %2541, %2545
  %.str.5.sink1417 = phi ptr [ @.str.5, %2545 ], [ @.str.2, %2541 ]
  store i32 %2536, ptr %284, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = load i32, ptr %230, align 4, !tbaa !5
  %2550 = call ptr @s2n_strerror(i32 noundef %2549, ptr noundef nonnull @.str.4) #11
  %2551 = load i32, ptr %230, align 4, !tbaa !5
  %2552 = call ptr @s2n_strerror_debug(i32 noundef %2551, ptr noundef nonnull @.str.4) #11
  %2553 = load i32, ptr %284, align 4, !tbaa !5
  %2554 = call ptr @strerror(i32 noundef %2553) #11
  %2555 = load i32, ptr %284, align 4, !tbaa !5
  %2556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef nonnull %.str.5.sink1417, i32 noundef %2548, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2550, ptr noundef %2552, ptr noundef %2554, i32 noundef %2555) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2557:                                             ; preds = %2531
  %2558 = load i32, ptr @test_count, align 4, !tbaa !5
  %2559 = add nsw i32 %2558, 1
  store i32 %2559, ptr @test_count, align 4, !tbaa !5
  %2560 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %23, ptr noundef nonnull %22) #11
  %2561 = icmp eq i32 %2560, -1
  br i1 %2561, label %2562, label %2584

2562:                                             ; preds = %2557
  %2563 = load i32, ptr %284, align 4, !tbaa !5
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @s2n_print_stacktrace(ptr noundef %2564) #11
  %2566 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2567 = trunc nuw i8 %2566 to i1
  br i1 %2567, label %2568, label %2572

2568:                                             ; preds = %2562
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = call i32 @fileno(ptr noundef %2569) #11
  %2571 = call i32 @isatty(i32 noundef %2570) #11
  %.not544 = icmp eq i32 %2571, 0
  br i1 %.not544, label %2572, label %2573

2572:                                             ; preds = %2568, %2562
  br label %2573

2573:                                             ; preds = %2568, %2572
  %.str.5.sink1426 = phi ptr [ @.str.5, %2572 ], [ @.str.2, %2568 ]
  store i32 %2563, ptr %284, align 4, !tbaa !5
  %2574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2575 = load i32, ptr @test_count, align 4, !tbaa !5
  %2576 = load i32, ptr %230, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror(i32 noundef %2576, ptr noundef nonnull @.str.4) #11
  %2578 = load i32, ptr %230, align 4, !tbaa !5
  %2579 = call ptr @s2n_strerror_debug(i32 noundef %2578, ptr noundef nonnull @.str.4) #11
  %2580 = load i32, ptr %284, align 4, !tbaa !5
  %2581 = call ptr @strerror(i32 noundef %2580) #11
  %2582 = load i32, ptr %284, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2574, ptr noundef nonnull %.str.5.sink1426, i32 noundef %2575, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2577, ptr noundef %2579, ptr noundef %2581, i32 noundef %2582) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2584:                                             ; preds = %2557
  %2585 = load i32, ptr @test_count, align 4, !tbaa !5
  %2586 = add nsw i32 %2585, 1
  store i32 %2586, ptr @test_count, align 4, !tbaa !5
  %2587 = load i32, ptr %2500, align 4, !tbaa !21
  %2588 = load i32, ptr %2502, align 8, !tbaa !23
  %2589 = icmp eq i32 %2587, %2588
  br i1 %2589, label %2612, label %2590

2590:                                             ; preds = %2584
  %2591 = load i32, ptr %284, align 4, !tbaa !5
  %2592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2593 = call i32 @s2n_print_stacktrace(ptr noundef %2592) #11
  %2594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2595 = trunc nuw i8 %2594 to i1
  br i1 %2595, label %2596, label %2600

2596:                                             ; preds = %2590
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = call i32 @fileno(ptr noundef %2597) #11
  %2599 = call i32 @isatty(i32 noundef %2598) #11
  %.not441 = icmp eq i32 %2599, 0
  br i1 %.not441, label %2600, label %2601

2600:                                             ; preds = %2596, %2590
  br label %2601

2601:                                             ; preds = %2596, %2600
  %.str.5.sink1435 = phi ptr [ @.str.5, %2600 ], [ @.str.2, %2596 ]
  store i32 %2591, ptr %284, align 4, !tbaa !5
  %2602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2603 = load i32, ptr @test_count, align 4, !tbaa !5
  %2604 = load i32, ptr %230, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror(i32 noundef %2604, ptr noundef nonnull @.str.4) #11
  %2606 = load i32, ptr %230, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror_debug(i32 noundef %2606, ptr noundef nonnull @.str.4) #11
  %2608 = load i32, ptr %284, align 4, !tbaa !5
  %2609 = call ptr @strerror(i32 noundef %2608) #11
  %2610 = load i32, ptr %284, align 4, !tbaa !5
  %2611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2602, ptr noundef nonnull %.str.5.sink1435, i32 noundef %2603, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %2605, ptr noundef %2607, ptr noundef %2609, i32 noundef %2610) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2612:                                             ; preds = %2584
  %2613 = add nsw i32 %2585, 2
  store i32 %2613, ptr @test_count, align 4, !tbaa !5
  %2614 = getelementptr inbounds i8, ptr %22, i64 696
  %2615 = load i16, ptr %2614, align 8, !tbaa !28
  %2616 = icmp eq i16 %2615, 1
  br i1 %2616, label %2639, label %2617

2617:                                             ; preds = %2612
  %2618 = load i32, ptr %284, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @s2n_print_stacktrace(ptr noundef %2619) #11
  %2621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2622 = trunc nuw i8 %2621 to i1
  br i1 %2622, label %2623, label %2627

2623:                                             ; preds = %2617
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #11
  %2626 = call i32 @isatty(i32 noundef %2625) #11
  %.not442 = icmp eq i32 %2626, 0
  br i1 %.not442, label %2627, label %2628

2627:                                             ; preds = %2623, %2617
  br label %2628

2628:                                             ; preds = %2623, %2627
  %.str.5.sink1444 = phi ptr [ @.str.5, %2627 ], [ @.str.2, %2623 ]
  store i32 %2618, ptr %284, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = load i32, ptr %230, align 4, !tbaa !5
  %2632 = call ptr @s2n_strerror(i32 noundef %2631, ptr noundef nonnull @.str.4) #11
  %2633 = load i32, ptr %230, align 4, !tbaa !5
  %2634 = call ptr @s2n_strerror_debug(i32 noundef %2633, ptr noundef nonnull @.str.4) #11
  %2635 = load i32, ptr %284, align 4, !tbaa !5
  %2636 = call ptr @strerror(i32 noundef %2635) #11
  %2637 = load i32, ptr %284, align 4, !tbaa !5
  %2638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2629, ptr noundef nonnull %.str.5.sink1444, i32 noundef %2630, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %2632, ptr noundef %2634, ptr noundef %2636, i32 noundef %2637) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2639:                                             ; preds = %2612
  %2640 = add nsw i32 %2585, 3
  store i32 %2640, ptr @test_count, align 4, !tbaa !5
  %bcmp443 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %22, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %2641 = icmp eq i32 %bcmp443, 0
  br i1 %2641, label %2642, label %2664

2642:                                             ; preds = %2639
  %2643 = load i32, ptr %284, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = call i32 @s2n_print_stacktrace(ptr noundef %2644) #11
  %2646 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2647 = trunc nuw i8 %2646 to i1
  br i1 %2647, label %2648, label %2652

2648:                                             ; preds = %2642
  %2649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2650 = call i32 @fileno(ptr noundef %2649) #11
  %2651 = call i32 @isatty(i32 noundef %2650) #11
  %.not543 = icmp eq i32 %2651, 0
  br i1 %.not543, label %2652, label %2653

2652:                                             ; preds = %2648, %2642
  br label %2653

2653:                                             ; preds = %2648, %2652
  %.str.5.sink1453 = phi ptr [ @.str.5, %2652 ], [ @.str.2, %2648 ]
  store i32 %2643, ptr %284, align 4, !tbaa !5
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2655 = load i32, ptr @test_count, align 4, !tbaa !5
  %2656 = load i32, ptr %230, align 4, !tbaa !5
  %2657 = call ptr @s2n_strerror(i32 noundef %2656, ptr noundef nonnull @.str.4) #11
  %2658 = load i32, ptr %230, align 4, !tbaa !5
  %2659 = call ptr @s2n_strerror_debug(i32 noundef %2658, ptr noundef nonnull @.str.4) #11
  %2660 = load i32, ptr %284, align 4, !tbaa !5
  %2661 = call ptr @strerror(i32 noundef %2660) #11
  %2662 = load i32, ptr %284, align 4, !tbaa !5
  %2663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2654, ptr noundef nonnull %.str.5.sink1453, i32 noundef %2655, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 260, ptr noundef %2657, ptr noundef %2659, ptr noundef %2661, i32 noundef %2662) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2664:                                             ; preds = %2639
  %2665 = add nsw i32 %2585, 4
  store i32 %2665, ptr @test_count, align 4, !tbaa !5
  %2666 = getelementptr inbounds i8, ptr %22, i64 672
  %2667 = load ptr, ptr %2666, align 8, !tbaa !24
  %2668 = load ptr, ptr %23, align 8, !tbaa !26
  %2669 = getelementptr inbounds i8, ptr %2668, i64 2
  %2670 = icmp eq ptr %2667, %2669
  br i1 %2670, label %2693, label %2671

2671:                                             ; preds = %2664
  %2672 = load i32, ptr %284, align 4, !tbaa !5
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = call i32 @s2n_print_stacktrace(ptr noundef %2673) #11
  %2675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2676 = trunc nuw i8 %2675 to i1
  br i1 %2676, label %2677, label %2681

2677:                                             ; preds = %2671
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = call i32 @fileno(ptr noundef %2678) #11
  %2680 = call i32 @isatty(i32 noundef %2679) #11
  %.not444 = icmp eq i32 %2680, 0
  br i1 %.not444, label %2681, label %2682

2681:                                             ; preds = %2677, %2671
  br label %2682

2682:                                             ; preds = %2677, %2681
  %.str.5.sink1462 = phi ptr [ @.str.5, %2681 ], [ @.str.2, %2677 ]
  store i32 %2672, ptr %284, align 4, !tbaa !5
  %2683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2684 = load i32, ptr @test_count, align 4, !tbaa !5
  %2685 = load i32, ptr %230, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror(i32 noundef %2685, ptr noundef nonnull @.str.4) #11
  %2687 = load i32, ptr %230, align 4, !tbaa !5
  %2688 = call ptr @s2n_strerror_debug(i32 noundef %2687, ptr noundef nonnull @.str.4) #11
  %2689 = load i32, ptr %284, align 4, !tbaa !5
  %2690 = call ptr @strerror(i32 noundef %2689) #11
  %2691 = load i32, ptr %284, align 4, !tbaa !5
  %2692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2683, ptr noundef nonnull %.str.5.sink1462, i32 noundef %2684, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %2686, ptr noundef %2688, ptr noundef %2690, i32 noundef %2691) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2693:                                             ; preds = %2664
  %2694 = add nsw i32 %2585, 5
  store i32 %2694, ptr @test_count, align 4, !tbaa !5
  %2695 = getelementptr inbounds i8, ptr %22, i64 680
  %2696 = load i32, ptr %2695, align 8, !tbaa !27
  %2697 = zext i32 %2696 to i64
  %2698 = getelementptr inbounds i8, ptr %23, i64 32
  %2699 = load i32, ptr %2698, align 8, !tbaa !29
  %2700 = zext i32 %2699 to i64
  %2701 = add nsw i64 %2700, -2
  %2702 = icmp eq i64 %2701, %2697
  br i1 %2702, label %2725, label %2703

2703:                                             ; preds = %2693
  %2704 = load i32, ptr %284, align 4, !tbaa !5
  %2705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2706 = call i32 @s2n_print_stacktrace(ptr noundef %2705) #11
  %2707 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2708 = trunc nuw i8 %2707 to i1
  br i1 %2708, label %2709, label %2713

2709:                                             ; preds = %2703
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = call i32 @fileno(ptr noundef %2710) #11
  %2712 = call i32 @isatty(i32 noundef %2711) #11
  %.not445 = icmp eq i32 %2712, 0
  br i1 %.not445, label %2713, label %2714

2713:                                             ; preds = %2709, %2703
  br label %2714

2714:                                             ; preds = %2709, %2713
  %.str.5.sink1471 = phi ptr [ @.str.5, %2713 ], [ @.str.2, %2709 ]
  store i32 %2704, ptr %284, align 4, !tbaa !5
  %2715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2716 = load i32, ptr @test_count, align 4, !tbaa !5
  %2717 = load i32, ptr %230, align 4, !tbaa !5
  %2718 = call ptr @s2n_strerror(i32 noundef %2717, ptr noundef nonnull @.str.4) #11
  %2719 = load i32, ptr %230, align 4, !tbaa !5
  %2720 = call ptr @s2n_strerror_debug(i32 noundef %2719, ptr noundef nonnull @.str.4) #11
  %2721 = load i32, ptr %284, align 4, !tbaa !5
  %2722 = call ptr @strerror(i32 noundef %2721) #11
  %2723 = load i32, ptr %284, align 4, !tbaa !5
  %2724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2715, ptr noundef nonnull %.str.5.sink1471, i32 noundef %2716, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %2718, ptr noundef %2720, ptr noundef %2722, i32 noundef %2723) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2725:                                             ; preds = %2693
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %25) #11
  %2726 = add nsw i32 %2585, 6
  store i32 %2726, ptr @test_count, align 4, !tbaa !5
  %2727 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %25) #11
  %2728 = icmp eq i32 %2727, -1
  br i1 %2728, label %2729, label %2751

2729:                                             ; preds = %2725
  %2730 = load i32, ptr %284, align 4, !tbaa !5
  %2731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2732 = call i32 @s2n_print_stacktrace(ptr noundef %2731) #11
  %2733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2734 = trunc nuw i8 %2733 to i1
  br i1 %2734, label %2735, label %2739

2735:                                             ; preds = %2729
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = call i32 @fileno(ptr noundef %2736) #11
  %2738 = call i32 @isatty(i32 noundef %2737) #11
  %.not542 = icmp eq i32 %2738, 0
  br i1 %.not542, label %2739, label %2740

2739:                                             ; preds = %2735, %2729
  br label %2740

2740:                                             ; preds = %2735, %2739
  %.str.5.sink1480 = phi ptr [ @.str.5, %2739 ], [ @.str.2, %2735 ]
  store i32 %2730, ptr %284, align 4, !tbaa !5
  %2741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2742 = load i32, ptr @test_count, align 4, !tbaa !5
  %2743 = load i32, ptr %230, align 4, !tbaa !5
  %2744 = call ptr @s2n_strerror(i32 noundef %2743, ptr noundef nonnull @.str.4) #11
  %2745 = load i32, ptr %230, align 4, !tbaa !5
  %2746 = call ptr @s2n_strerror_debug(i32 noundef %2745, ptr noundef nonnull @.str.4) #11
  %2747 = load i32, ptr %284, align 4, !tbaa !5
  %2748 = call ptr @strerror(i32 noundef %2747) #11
  %2749 = load i32, ptr %284, align 4, !tbaa !5
  %2750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2741, ptr noundef nonnull %.str.5.sink1480, i32 noundef %2742, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2744, ptr noundef %2746, ptr noundef %2748, i32 noundef %2749) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2751:                                             ; preds = %2725
  %2752 = load i32, ptr @test_count, align 4, !tbaa !5
  %2753 = add nsw i32 %2752, 1
  store i32 %2753, ptr @test_count, align 4, !tbaa !5
  %2754 = load i8, ptr %25, align 1, !tbaa !32
  %2755 = zext i8 %2754 to i64
  %2756 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %22, i64 0, i64 %2755
  %2757 = load ptr, ptr %2756, align 8, !tbaa !33
  %2758 = icmp eq ptr %2757, null
  br i1 %2758, label %2759, label %2781

2759:                                             ; preds = %2751
  %2760 = load i32, ptr %284, align 4, !tbaa !5
  %2761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2762 = call i32 @s2n_print_stacktrace(ptr noundef %2761) #11
  %2763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2764 = trunc nuw i8 %2763 to i1
  br i1 %2764, label %2765, label %2769

2765:                                             ; preds = %2759
  %2766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2767 = call i32 @fileno(ptr noundef %2766) #11
  %2768 = call i32 @isatty(i32 noundef %2767) #11
  %.not541 = icmp eq i32 %2768, 0
  br i1 %.not541, label %2769, label %2770

2769:                                             ; preds = %2765, %2759
  br label %2770

2770:                                             ; preds = %2765, %2769
  %.str.5.sink1489 = phi ptr [ @.str.5, %2769 ], [ @.str.2, %2765 ]
  store i32 %2760, ptr %284, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = load i32, ptr %230, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror(i32 noundef %2773, ptr noundef nonnull @.str.4) #11
  %2775 = load i32, ptr %230, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror_debug(i32 noundef %2775, ptr noundef nonnull @.str.4) #11
  %2777 = load i32, ptr %284, align 4, !tbaa !5
  %2778 = call ptr @strerror(i32 noundef %2777) #11
  %2779 = load i32, ptr %284, align 4, !tbaa !5
  %2780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef nonnull %.str.5.sink1489, i32 noundef %2772, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2774, ptr noundef %2776, ptr noundef %2778, i32 noundef %2779) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2781:                                             ; preds = %2751
  %2782 = add nsw i32 %2752, 2
  store i32 %2782, ptr @test_count, align 4, !tbaa !5
  %2783 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %22, i64 0, i64 %2755, i32 0, i32 1
  %2784 = load i32, ptr %2783, align 8, !tbaa !34
  %2785 = icmp eq i32 %2784, 0
  br i1 %2785, label %2808, label %2786

2786:                                             ; preds = %2781
  %2787 = load i32, ptr %284, align 4, !tbaa !5
  %2788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2789 = call i32 @s2n_print_stacktrace(ptr noundef %2788) #11
  %2790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2791 = trunc nuw i8 %2790 to i1
  br i1 %2791, label %2792, label %2796

2792:                                             ; preds = %2786
  %2793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2794 = call i32 @fileno(ptr noundef %2793) #11
  %2795 = call i32 @isatty(i32 noundef %2794) #11
  %.not446 = icmp eq i32 %2795, 0
  br i1 %.not446, label %2796, label %2797

2796:                                             ; preds = %2792, %2786
  br label %2797

2797:                                             ; preds = %2792, %2796
  %.str.5.sink1498 = phi ptr [ @.str.5, %2796 ], [ @.str.2, %2792 ]
  store i32 %2787, ptr %284, align 4, !tbaa !5
  %2798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2799 = load i32, ptr @test_count, align 4, !tbaa !5
  %2800 = load i32, ptr %230, align 4, !tbaa !5
  %2801 = call ptr @s2n_strerror(i32 noundef %2800, ptr noundef nonnull @.str.4) #11
  %2802 = load i32, ptr %230, align 4, !tbaa !5
  %2803 = call ptr @s2n_strerror_debug(i32 noundef %2802, ptr noundef nonnull @.str.4) #11
  %2804 = load i32, ptr %284, align 4, !tbaa !5
  %2805 = call ptr @strerror(i32 noundef %2804) #11
  %2806 = load i32, ptr %284, align 4, !tbaa !5
  %2807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2798, ptr noundef nonnull %.str.5.sink1498, i32 noundef %2799, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2801, ptr noundef %2803, ptr noundef %2805, i32 noundef %2806) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2808:                                             ; preds = %2781
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %25) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %26) #11
  %2809 = add nsw i32 %2752, 3
  store i32 %2809, ptr @test_count, align 4, !tbaa !5
  %2810 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %26) #11
  %2811 = icmp eq i32 %2810, -1
  br i1 %2811, label %2812, label %2834

2812:                                             ; preds = %2808
  %2813 = load i32, ptr %284, align 4, !tbaa !5
  %2814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2815 = call i32 @s2n_print_stacktrace(ptr noundef %2814) #11
  %2816 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2817 = trunc nuw i8 %2816 to i1
  br i1 %2817, label %2818, label %2822

2818:                                             ; preds = %2812
  %2819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2820 = call i32 @fileno(ptr noundef %2819) #11
  %2821 = call i32 @isatty(i32 noundef %2820) #11
  %.not540 = icmp eq i32 %2821, 0
  br i1 %.not540, label %2822, label %2823

2822:                                             ; preds = %2818, %2812
  br label %2823

2823:                                             ; preds = %2818, %2822
  %.str.5.sink1507 = phi ptr [ @.str.5, %2822 ], [ @.str.2, %2818 ]
  store i32 %2813, ptr %284, align 4, !tbaa !5
  %2824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2825 = load i32, ptr @test_count, align 4, !tbaa !5
  %2826 = load i32, ptr %230, align 4, !tbaa !5
  %2827 = call ptr @s2n_strerror(i32 noundef %2826, ptr noundef nonnull @.str.4) #11
  %2828 = load i32, ptr %230, align 4, !tbaa !5
  %2829 = call ptr @s2n_strerror_debug(i32 noundef %2828, ptr noundef nonnull @.str.4) #11
  %2830 = load i32, ptr %284, align 4, !tbaa !5
  %2831 = call ptr @strerror(i32 noundef %2830) #11
  %2832 = load i32, ptr %284, align 4, !tbaa !5
  %2833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2824, ptr noundef nonnull %.str.5.sink1507, i32 noundef %2825, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 264, ptr noundef %2827, ptr noundef %2829, ptr noundef %2831, i32 noundef %2832) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2834:                                             ; preds = %2808
  %2835 = load i8, ptr %26, align 1, !tbaa !32
  %2836 = zext i8 %2835 to i64
  %2837 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %22, i64 0, i64 %2836
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %2837, ptr noundef nonnull align 16 dereferenceable(32) @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %26) #11
  %2838 = load i32, ptr @test_count, align 4, !tbaa !5
  %2839 = add nsw i32 %2838, 1
  store i32 %2839, ptr @test_count, align 4, !tbaa !5
  %bcmp447 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %22, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %2840 = icmp eq i32 %bcmp447, 0
  br i1 %2840, label %2863, label %2841

2841:                                             ; preds = %2834
  %2842 = load i32, ptr %284, align 4, !tbaa !5
  %2843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2844 = call i32 @s2n_print_stacktrace(ptr noundef %2843) #11
  %2845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2846 = trunc nuw i8 %2845 to i1
  br i1 %2846, label %2847, label %2851

2847:                                             ; preds = %2841
  %2848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2849 = call i32 @fileno(ptr noundef %2848) #11
  %2850 = call i32 @isatty(i32 noundef %2849) #11
  %.not448 = icmp eq i32 %2850, 0
  br i1 %.not448, label %2851, label %2852

2851:                                             ; preds = %2847, %2841
  br label %2852

2852:                                             ; preds = %2847, %2851
  %.str.5.sink1516 = phi ptr [ @.str.5, %2851 ], [ @.str.2, %2847 ]
  store i32 %2842, ptr %284, align 4, !tbaa !5
  %2853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2854 = load i32, ptr @test_count, align 4, !tbaa !5
  %2855 = load i32, ptr %230, align 4, !tbaa !5
  %2856 = call ptr @s2n_strerror(i32 noundef %2855, ptr noundef nonnull @.str.4) #11
  %2857 = load i32, ptr %230, align 4, !tbaa !5
  %2858 = call ptr @s2n_strerror_debug(i32 noundef %2857, ptr noundef nonnull @.str.4) #11
  %2859 = load i32, ptr %284, align 4, !tbaa !5
  %2860 = call ptr @strerror(i32 noundef %2859) #11
  %2861 = load i32, ptr %284, align 4, !tbaa !5
  %2862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2853, ptr noundef nonnull %.str.5.sink1516, i32 noundef %2854, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2856, ptr noundef %2858, ptr noundef %2860, i32 noundef %2861) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2863:                                             ; preds = %2834
  %2864 = add nsw i32 %2838, 2
  store i32 %2864, ptr @test_count, align 4, !tbaa !5
  %2865 = call i32 @s2n_stuffer_free(ptr noundef nonnull %23) #11
  %2866 = icmp eq i32 %2865, -1
  br i1 %2866, label %2867, label %2889

2867:                                             ; preds = %2863
  %2868 = load i32, ptr %284, align 4, !tbaa !5
  %2869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2870 = call i32 @s2n_print_stacktrace(ptr noundef %2869) #11
  %2871 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2872 = trunc nuw i8 %2871 to i1
  br i1 %2872, label %2873, label %2877

2873:                                             ; preds = %2867
  %2874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2875 = call i32 @fileno(ptr noundef %2874) #11
  %2876 = call i32 @isatty(i32 noundef %2875) #11
  %.not539 = icmp eq i32 %2876, 0
  br i1 %.not539, label %2877, label %2878

2877:                                             ; preds = %2873, %2867
  br label %2878

2878:                                             ; preds = %2873, %2877
  %.str.5.sink1525 = phi ptr [ @.str.5, %2877 ], [ @.str.2, %2873 ]
  store i32 %2868, ptr %284, align 4, !tbaa !5
  %2879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2880 = load i32, ptr @test_count, align 4, !tbaa !5
  %2881 = load i32, ptr %230, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror(i32 noundef %2881, ptr noundef nonnull @.str.4) #11
  %2883 = load i32, ptr %230, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror_debug(i32 noundef %2883, ptr noundef nonnull @.str.4) #11
  %2885 = load i32, ptr %284, align 4, !tbaa !5
  %2886 = call ptr @strerror(i32 noundef %2885) #11
  %2887 = load i32, ptr %284, align 4, !tbaa !5
  %2888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2879, ptr noundef nonnull %.str.5.sink1525, i32 noundef %2880, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2882, ptr noundef %2884, ptr noundef %2886, i32 noundef %2887) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2889:                                             ; preds = %2863
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %24) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %23) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %22) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %27) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %27, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %28) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %28, i8 0, i64 40, i1 false)
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = add nsw i32 %2890, 1
  store i32 %2891, ptr @test_count, align 4, !tbaa !5
  %2892 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %28, i32 noundef 0) #11
  %2893 = icmp eq i32 %2892, -1
  br i1 %2893, label %2894, label %2916

2894:                                             ; preds = %2889
  %2895 = load i32, ptr %284, align 4, !tbaa !5
  %2896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2897 = call i32 @s2n_print_stacktrace(ptr noundef %2896) #11
  %2898 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2899 = trunc nuw i8 %2898 to i1
  br i1 %2899, label %2900, label %2904

2900:                                             ; preds = %2894
  %2901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2902 = call i32 @fileno(ptr noundef %2901) #11
  %2903 = call i32 @isatty(i32 noundef %2902) #11
  %.not538 = icmp eq i32 %2903, 0
  br i1 %.not538, label %2904, label %2905

2904:                                             ; preds = %2900, %2894
  br label %2905

2905:                                             ; preds = %2900, %2904
  %.str.5.sink1534 = phi ptr [ @.str.5, %2904 ], [ @.str.2, %2900 ]
  store i32 %2895, ptr %284, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, ptr @test_count, align 4, !tbaa !5
  %2908 = load i32, ptr %230, align 4, !tbaa !5
  %2909 = call ptr @s2n_strerror(i32 noundef %2908, ptr noundef nonnull @.str.4) #11
  %2910 = load i32, ptr %230, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef nonnull @.str.4) #11
  %2912 = load i32, ptr %284, align 4, !tbaa !5
  %2913 = call ptr @strerror(i32 noundef %2912) #11
  %2914 = load i32, ptr %284, align 4, !tbaa !5
  %2915 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef nonnull %.str.5.sink1534, i32 noundef %2907, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2909, ptr noundef %2911, ptr noundef %2913, i32 noundef %2914) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2916:                                             ; preds = %2889
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %29) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %29, i8 0, i64 16, i1 false)
  %2917 = load i32, ptr @test_count, align 4, !tbaa !5
  %2918 = add nsw i32 %2917, 1
  store i32 %2918, ptr @test_count, align 4, !tbaa !5
  %2919 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %28, ptr noundef nonnull %29) #11
  %2920 = icmp eq i32 %2919, -1
  br i1 %2920, label %2921, label %2943

2921:                                             ; preds = %2916
  %2922 = load i32, ptr %284, align 4, !tbaa !5
  %2923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2924 = call i32 @s2n_print_stacktrace(ptr noundef %2923) #11
  %2925 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2926 = trunc nuw i8 %2925 to i1
  br i1 %2926, label %2927, label %2931

2927:                                             ; preds = %2921
  %2928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2929 = call i32 @fileno(ptr noundef %2928) #11
  %2930 = call i32 @isatty(i32 noundef %2929) #11
  %.not537 = icmp eq i32 %2930, 0
  br i1 %.not537, label %2931, label %2932

2931:                                             ; preds = %2927, %2921
  br label %2932

2932:                                             ; preds = %2927, %2931
  %.str.5.sink1543 = phi ptr [ @.str.5, %2931 ], [ @.str.2, %2927 ]
  store i32 %2922, ptr %284, align 4, !tbaa !5
  %2933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2934 = load i32, ptr @test_count, align 4, !tbaa !5
  %2935 = load i32, ptr %230, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror(i32 noundef %2935, ptr noundef nonnull @.str.4) #11
  %2937 = load i32, ptr %230, align 4, !tbaa !5
  %2938 = call ptr @s2n_strerror_debug(i32 noundef %2937, ptr noundef nonnull @.str.4) #11
  %2939 = load i32, ptr %284, align 4, !tbaa !5
  %2940 = call ptr @strerror(i32 noundef %2939) #11
  %2941 = load i32, ptr %284, align 4, !tbaa !5
  %2942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2933, ptr noundef nonnull %.str.5.sink1543, i32 noundef %2934, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %2936, ptr noundef %2938, ptr noundef %2940, i32 noundef %2941) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2943:                                             ; preds = %2916
  %2944 = load i32, ptr @test_count, align 4, !tbaa !5
  %2945 = add nsw i32 %2944, 1
  store i32 %2945, ptr @test_count, align 4, !tbaa !5
  %2946 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %28, i16 noundef zeroext -256) #11
  %2947 = icmp eq i32 %2946, -1
  br i1 %2947, label %2948, label %2970

2948:                                             ; preds = %2943
  %2949 = load i32, ptr %284, align 4, !tbaa !5
  %2950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2951 = call i32 @s2n_print_stacktrace(ptr noundef %2950) #11
  %2952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2953 = trunc nuw i8 %2952 to i1
  br i1 %2953, label %2954, label %2958

2954:                                             ; preds = %2948
  %2955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2956 = call i32 @fileno(ptr noundef %2955) #11
  %2957 = call i32 @isatty(i32 noundef %2956) #11
  %.not536 = icmp eq i32 %2957, 0
  br i1 %.not536, label %2958, label %2959

2958:                                             ; preds = %2954, %2948
  br label %2959

2959:                                             ; preds = %2954, %2958
  %.str.5.sink1552 = phi ptr [ @.str.5, %2958 ], [ @.str.2, %2954 ]
  store i32 %2949, ptr %284, align 4, !tbaa !5
  %2960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2961 = load i32, ptr @test_count, align 4, !tbaa !5
  %2962 = load i32, ptr %230, align 4, !tbaa !5
  %2963 = call ptr @s2n_strerror(i32 noundef %2962, ptr noundef nonnull @.str.4) #11
  %2964 = load i32, ptr %230, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror_debug(i32 noundef %2964, ptr noundef nonnull @.str.4) #11
  %2966 = load i32, ptr %284, align 4, !tbaa !5
  %2967 = call ptr @strerror(i32 noundef %2966) #11
  %2968 = load i32, ptr %284, align 4, !tbaa !5
  %2969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2960, ptr noundef nonnull %.str.5.sink1552, i32 noundef %2961, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %2963, ptr noundef %2965, ptr noundef %2967, i32 noundef %2968) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2970:                                             ; preds = %2943
  %2971 = load i32, ptr @test_count, align 4, !tbaa !5
  %2972 = add nsw i32 %2971, 1
  store i32 %2972, ptr @test_count, align 4, !tbaa !5
  %2973 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %28, i16 noundef zeroext 0) #11
  %2974 = icmp eq i32 %2973, -1
  br i1 %2974, label %2975, label %2997

2975:                                             ; preds = %2970
  %2976 = load i32, ptr %284, align 4, !tbaa !5
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = call i32 @s2n_print_stacktrace(ptr noundef %2977) #11
  %2979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2980 = trunc nuw i8 %2979 to i1
  br i1 %2980, label %2981, label %2985

2981:                                             ; preds = %2975
  %2982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2983 = call i32 @fileno(ptr noundef %2982) #11
  %2984 = call i32 @isatty(i32 noundef %2983) #11
  %.not535 = icmp eq i32 %2984, 0
  br i1 %.not535, label %2985, label %2986

2985:                                             ; preds = %2981, %2975
  br label %2986

2986:                                             ; preds = %2981, %2985
  %.str.5.sink1561 = phi ptr [ @.str.5, %2985 ], [ @.str.2, %2981 ]
  store i32 %2976, ptr %284, align 4, !tbaa !5
  %2987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2988 = load i32, ptr @test_count, align 4, !tbaa !5
  %2989 = load i32, ptr %230, align 4, !tbaa !5
  %2990 = call ptr @s2n_strerror(i32 noundef %2989, ptr noundef nonnull @.str.4) #11
  %2991 = load i32, ptr %230, align 4, !tbaa !5
  %2992 = call ptr @s2n_strerror_debug(i32 noundef %2991, ptr noundef nonnull @.str.4) #11
  %2993 = load i32, ptr %284, align 4, !tbaa !5
  %2994 = call ptr @strerror(i32 noundef %2993) #11
  %2995 = load i32, ptr %284, align 4, !tbaa !5
  %2996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2987, ptr noundef nonnull %.str.5.sink1561, i32 noundef %2988, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %2990, ptr noundef %2992, ptr noundef %2994, i32 noundef %2995) #13
  call void @exit(i32 noundef 1) #14
  unreachable

2997:                                             ; preds = %2970
  %2998 = load i32, ptr @test_count, align 4, !tbaa !5
  %2999 = add nsw i32 %2998, 1
  store i32 %2999, ptr @test_count, align 4, !tbaa !5
  %3000 = getelementptr inbounds i8, ptr %28, i64 28
  %3001 = load i32, ptr %3000, align 4, !tbaa !21
  %3002 = getelementptr inbounds i8, ptr %28, i64 24
  %3003 = load i32, ptr %3002, align 8, !tbaa !23
  %3004 = sub i32 %3001, %3003
  %3005 = getelementptr inbounds i8, ptr %29, i64 12
  %3006 = load i8, ptr %3005, align 4, !tbaa !30
  %3007 = zext i8 %3006 to i32
  %3008 = icmp ugt i32 %3004, %3007
  br i1 %3008, label %3031, label %3009

3009:                                             ; preds = %2997
  %3010 = load i32, ptr %284, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = call i32 @s2n_print_stacktrace(ptr noundef %3011) #11
  %3013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3014 = trunc nuw i8 %3013 to i1
  br i1 %3014, label %3015, label %3019

3015:                                             ; preds = %3009
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = call i32 @fileno(ptr noundef %3016) #11
  %3018 = call i32 @isatty(i32 noundef %3017) #11
  %.not449 = icmp eq i32 %3018, 0
  br i1 %.not449, label %3019, label %3020

3019:                                             ; preds = %3015, %3009
  br label %3020

3020:                                             ; preds = %3015, %3019
  %.str.5.sink1570 = phi ptr [ @.str.5, %3019 ], [ @.str.2, %3015 ]
  store i32 %3010, ptr %284, align 4, !tbaa !5
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = load i32, ptr @test_count, align 4, !tbaa !5
  %3023 = load i32, ptr %230, align 4, !tbaa !5
  %3024 = call ptr @s2n_strerror(i32 noundef %3023, ptr noundef nonnull @.str.4) #11
  %3025 = load i32, ptr %230, align 4, !tbaa !5
  %3026 = call ptr @s2n_strerror_debug(i32 noundef %3025, ptr noundef nonnull @.str.4) #11
  %3027 = load i32, ptr %284, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #11
  %3029 = load i32, ptr %284, align 4, !tbaa !5
  %3030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3021, ptr noundef nonnull %.str.5.sink1570, i32 noundef %3022, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %3024, ptr noundef %3026, ptr noundef %3028, i32 noundef %3029) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3031:                                             ; preds = %2997
  %3032 = add nsw i32 %2998, 2
  store i32 %3032, ptr @test_count, align 4, !tbaa !5
  %3033 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %29) #11
  %3034 = icmp eq i32 %3033, -1
  br i1 %3034, label %3035, label %3057

3035:                                             ; preds = %3031
  %3036 = load i32, ptr %284, align 4, !tbaa !5
  %3037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3038 = call i32 @s2n_print_stacktrace(ptr noundef %3037) #11
  %3039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3040 = trunc nuw i8 %3039 to i1
  br i1 %3040, label %3041, label %3045

3041:                                             ; preds = %3035
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3043 = call i32 @fileno(ptr noundef %3042) #11
  %3044 = call i32 @isatty(i32 noundef %3043) #11
  %.not534 = icmp eq i32 %3044, 0
  br i1 %.not534, label %3045, label %3046

3045:                                             ; preds = %3041, %3035
  br label %3046

3046:                                             ; preds = %3041, %3045
  %.str.5.sink1579 = phi ptr [ @.str.5, %3045 ], [ @.str.2, %3041 ]
  store i32 %3036, ptr %284, align 4, !tbaa !5
  %3047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3048 = load i32, ptr @test_count, align 4, !tbaa !5
  %3049 = load i32, ptr %230, align 4, !tbaa !5
  %3050 = call ptr @s2n_strerror(i32 noundef %3049, ptr noundef nonnull @.str.4) #11
  %3051 = load i32, ptr %230, align 4, !tbaa !5
  %3052 = call ptr @s2n_strerror_debug(i32 noundef %3051, ptr noundef nonnull @.str.4) #11
  %3053 = load i32, ptr %284, align 4, !tbaa !5
  %3054 = call ptr @strerror(i32 noundef %3053) #11
  %3055 = load i32, ptr %284, align 4, !tbaa !5
  %3056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3047, ptr noundef nonnull %.str.5.sink1579, i32 noundef %3048, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %3050, ptr noundef %3052, ptr noundef %3054, i32 noundef %3055) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3057:                                             ; preds = %3031
  %3058 = load i32, ptr @test_count, align 4, !tbaa !5
  %3059 = add nsw i32 %3058, 1
  store i32 %3059, ptr @test_count, align 4, !tbaa !5
  %3060 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %28, ptr noundef nonnull %27) #11
  %3061 = icmp eq i32 %3060, -1
  br i1 %3061, label %3062, label %3084

3062:                                             ; preds = %3057
  %3063 = load i32, ptr %284, align 4, !tbaa !5
  %3064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3065 = call i32 @s2n_print_stacktrace(ptr noundef %3064) #11
  %3066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3067 = trunc nuw i8 %3066 to i1
  br i1 %3067, label %3068, label %3072

3068:                                             ; preds = %3062
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3070 = call i32 @fileno(ptr noundef %3069) #11
  %3071 = call i32 @isatty(i32 noundef %3070) #11
  %.not533 = icmp eq i32 %3071, 0
  br i1 %.not533, label %3072, label %3073

3072:                                             ; preds = %3068, %3062
  br label %3073

3073:                                             ; preds = %3068, %3072
  %.str.5.sink1588 = phi ptr [ @.str.5, %3072 ], [ @.str.2, %3068 ]
  store i32 %3063, ptr %284, align 4, !tbaa !5
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3075 = load i32, ptr @test_count, align 4, !tbaa !5
  %3076 = load i32, ptr %230, align 4, !tbaa !5
  %3077 = call ptr @s2n_strerror(i32 noundef %3076, ptr noundef nonnull @.str.4) #11
  %3078 = load i32, ptr %230, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror_debug(i32 noundef %3078, ptr noundef nonnull @.str.4) #11
  %3080 = load i32, ptr %284, align 4, !tbaa !5
  %3081 = call ptr @strerror(i32 noundef %3080) #11
  %3082 = load i32, ptr %284, align 4, !tbaa !5
  %3083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3074, ptr noundef nonnull %.str.5.sink1588, i32 noundef %3075, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %3077, ptr noundef %3079, ptr noundef %3081, i32 noundef %3082) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3084:                                             ; preds = %3057
  %3085 = load i32, ptr @test_count, align 4, !tbaa !5
  %3086 = add nsw i32 %3085, 1
  store i32 %3086, ptr @test_count, align 4, !tbaa !5
  %3087 = load i32, ptr %3000, align 4, !tbaa !21
  %3088 = load i32, ptr %3002, align 8, !tbaa !23
  %3089 = icmp eq i32 %3087, %3088
  br i1 %3089, label %3112, label %3090

3090:                                             ; preds = %3084
  %3091 = load i32, ptr %284, align 4, !tbaa !5
  %3092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3093 = call i32 @s2n_print_stacktrace(ptr noundef %3092) #11
  %3094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3095 = trunc nuw i8 %3094 to i1
  br i1 %3095, label %3096, label %3100

3096:                                             ; preds = %3090
  %3097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3098 = call i32 @fileno(ptr noundef %3097) #11
  %3099 = call i32 @isatty(i32 noundef %3098) #11
  %.not450 = icmp eq i32 %3099, 0
  br i1 %.not450, label %3100, label %3101

3100:                                             ; preds = %3096, %3090
  br label %3101

3101:                                             ; preds = %3096, %3100
  %.str.5.sink1597 = phi ptr [ @.str.5, %3100 ], [ @.str.2, %3096 ]
  store i32 %3091, ptr %284, align 4, !tbaa !5
  %3102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3103 = load i32, ptr @test_count, align 4, !tbaa !5
  %3104 = load i32, ptr %230, align 4, !tbaa !5
  %3105 = call ptr @s2n_strerror(i32 noundef %3104, ptr noundef nonnull @.str.4) #11
  %3106 = load i32, ptr %230, align 4, !tbaa !5
  %3107 = call ptr @s2n_strerror_debug(i32 noundef %3106, ptr noundef nonnull @.str.4) #11
  %3108 = load i32, ptr %284, align 4, !tbaa !5
  %3109 = call ptr @strerror(i32 noundef %3108) #11
  %3110 = load i32, ptr %284, align 4, !tbaa !5
  %3111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3102, ptr noundef nonnull %.str.5.sink1597, i32 noundef %3103, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %3105, ptr noundef %3107, ptr noundef %3109, i32 noundef %3110) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3112:                                             ; preds = %3084
  %3113 = add nsw i32 %3085, 2
  store i32 %3113, ptr @test_count, align 4, !tbaa !5
  %3114 = getelementptr inbounds i8, ptr %27, i64 696
  %3115 = load i16, ptr %3114, align 8, !tbaa !28
  %3116 = icmp eq i16 %3115, 0
  br i1 %3116, label %3139, label %3117

3117:                                             ; preds = %3112
  %3118 = load i32, ptr %284, align 4, !tbaa !5
  %3119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3120 = call i32 @s2n_print_stacktrace(ptr noundef %3119) #11
  %3121 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3122 = trunc nuw i8 %3121 to i1
  br i1 %3122, label %3123, label %3127

3123:                                             ; preds = %3117
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = call i32 @fileno(ptr noundef %3124) #11
  %3126 = call i32 @isatty(i32 noundef %3125) #11
  %.not451 = icmp eq i32 %3126, 0
  br i1 %.not451, label %3127, label %3128

3127:                                             ; preds = %3123, %3117
  br label %3128

3128:                                             ; preds = %3123, %3127
  %.str.5.sink1606 = phi ptr [ @.str.5, %3127 ], [ @.str.2, %3123 ]
  store i32 %3118, ptr %284, align 4, !tbaa !5
  %3129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3130 = load i32, ptr @test_count, align 4, !tbaa !5
  %3131 = load i32, ptr %230, align 4, !tbaa !5
  %3132 = call ptr @s2n_strerror(i32 noundef %3131, ptr noundef nonnull @.str.4) #11
  %3133 = load i32, ptr %230, align 4, !tbaa !5
  %3134 = call ptr @s2n_strerror_debug(i32 noundef %3133, ptr noundef nonnull @.str.4) #11
  %3135 = load i32, ptr %284, align 4, !tbaa !5
  %3136 = call ptr @strerror(i32 noundef %3135) #11
  %3137 = load i32, ptr %284, align 4, !tbaa !5
  %3138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3129, ptr noundef nonnull %.str.5.sink1606, i32 noundef %3130, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %3132, ptr noundef %3134, ptr noundef %3136, i32 noundef %3137) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3139:                                             ; preds = %3112
  %3140 = add nsw i32 %3085, 3
  store i32 %3140, ptr @test_count, align 4, !tbaa !5
  %bcmp452 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %27, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %3141 = icmp eq i32 %bcmp452, 0
  br i1 %3141, label %3164, label %3142

3142:                                             ; preds = %3139
  %3143 = load i32, ptr %284, align 4, !tbaa !5
  %3144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3145 = call i32 @s2n_print_stacktrace(ptr noundef %3144) #11
  %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) #11
  %3151 = call i32 @isatty(i32 noundef %3150) #11
  %.not453 = icmp eq i32 %3151, 0
  br i1 %.not453, label %3152, label %3153

3152:                                             ; preds = %3148, %3142
  br label %3153

3153:                                             ; preds = %3148, %3152
  %.str.5.sink1615 = phi ptr [ @.str.5, %3152 ], [ @.str.2, %3148 ]
  store i32 %3143, ptr %284, 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 %230, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror(i32 noundef %3156, ptr noundef nonnull @.str.4) #11
  %3158 = load i32, ptr %230, align 4, !tbaa !5
  %3159 = call ptr @s2n_strerror_debug(i32 noundef %3158, ptr noundef nonnull @.str.4) #11
  %3160 = load i32, ptr %284, align 4, !tbaa !5
  %3161 = call ptr @strerror(i32 noundef %3160) #11
  %3162 = load i32, ptr %284, align 4, !tbaa !5
  %3163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3154, ptr noundef nonnull %.str.5.sink1615, i32 noundef %3155, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %3157, ptr noundef %3159, ptr noundef %3161, i32 noundef %3162) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3164:                                             ; preds = %3139
  %3165 = add nsw i32 %3085, 4
  store i32 %3165, ptr @test_count, align 4, !tbaa !5
  %3166 = getelementptr inbounds i8, ptr %27, i64 672
  %3167 = load ptr, ptr %3166, align 8, !tbaa !24
  %3168 = load ptr, ptr %28, align 8, !tbaa !26
  %3169 = getelementptr inbounds i8, ptr %3168, i64 2
  %3170 = icmp eq ptr %3167, %3169
  br i1 %3170, label %3193, label %3171

3171:                                             ; preds = %3164
  %3172 = load i32, ptr %284, align 4, !tbaa !5
  %3173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3174 = call i32 @s2n_print_stacktrace(ptr noundef %3173) #11
  %3175 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3176 = trunc nuw i8 %3175 to i1
  br i1 %3176, label %3177, label %3181

3177:                                             ; preds = %3171
  %3178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3179 = call i32 @fileno(ptr noundef %3178) #11
  %3180 = call i32 @isatty(i32 noundef %3179) #11
  %.not454 = icmp eq i32 %3180, 0
  br i1 %.not454, label %3181, label %3182

3181:                                             ; preds = %3177, %3171
  br label %3182

3182:                                             ; preds = %3177, %3181
  %.str.5.sink1624 = phi ptr [ @.str.5, %3181 ], [ @.str.2, %3177 ]
  store i32 %3172, ptr %284, align 4, !tbaa !5
  %3183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3184 = load i32, ptr @test_count, align 4, !tbaa !5
  %3185 = load i32, ptr %230, align 4, !tbaa !5
  %3186 = call ptr @s2n_strerror(i32 noundef %3185, ptr noundef nonnull @.str.4) #11
  %3187 = load i32, ptr %230, align 4, !tbaa !5
  %3188 = call ptr @s2n_strerror_debug(i32 noundef %3187, ptr noundef nonnull @.str.4) #11
  %3189 = load i32, ptr %284, align 4, !tbaa !5
  %3190 = call ptr @strerror(i32 noundef %3189) #11
  %3191 = load i32, ptr %284, align 4, !tbaa !5
  %3192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3183, ptr noundef nonnull %.str.5.sink1624, i32 noundef %3184, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %3186, ptr noundef %3188, ptr noundef %3190, i32 noundef %3191) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3193:                                             ; preds = %3164
  %3194 = add nsw i32 %3085, 5
  store i32 %3194, ptr @test_count, align 4, !tbaa !5
  %3195 = getelementptr inbounds i8, ptr %27, i64 680
  %3196 = load i32, ptr %3195, align 8, !tbaa !27
  %3197 = zext i32 %3196 to i64
  %3198 = getelementptr inbounds i8, ptr %28, i64 32
  %3199 = load i32, ptr %3198, align 8, !tbaa !29
  %3200 = zext i32 %3199 to i64
  %3201 = add nsw i64 %3200, -2
  %3202 = icmp eq i64 %3201, %3197
  br i1 %3202, label %3225, label %3203

3203:                                             ; preds = %3193
  %3204 = load i32, ptr %284, align 4, !tbaa !5
  %3205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3206 = call i32 @s2n_print_stacktrace(ptr noundef %3205) #11
  %3207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3208 = trunc nuw i8 %3207 to i1
  br i1 %3208, label %3209, label %3213

3209:                                             ; preds = %3203
  %3210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3211 = call i32 @fileno(ptr noundef %3210) #11
  %3212 = call i32 @isatty(i32 noundef %3211) #11
  %.not455 = icmp eq i32 %3212, 0
  br i1 %.not455, label %3213, label %3214

3213:                                             ; preds = %3209, %3203
  br label %3214

3214:                                             ; preds = %3209, %3213
  %.str.5.sink1633 = phi ptr [ @.str.5, %3213 ], [ @.str.2, %3209 ]
  store i32 %3204, ptr %284, align 4, !tbaa !5
  %3215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3216 = load i32, ptr @test_count, align 4, !tbaa !5
  %3217 = load i32, ptr %230, align 4, !tbaa !5
  %3218 = call ptr @s2n_strerror(i32 noundef %3217, ptr noundef nonnull @.str.4) #11
  %3219 = load i32, ptr %230, align 4, !tbaa !5
  %3220 = call ptr @s2n_strerror_debug(i32 noundef %3219, ptr noundef nonnull @.str.4) #11
  %3221 = load i32, ptr %284, align 4, !tbaa !5
  %3222 = call ptr @strerror(i32 noundef %3221) #11
  %3223 = load i32, ptr %284, align 4, !tbaa !5
  %3224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3215, ptr noundef nonnull %.str.5.sink1633, i32 noundef %3216, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %3218, ptr noundef %3220, ptr noundef %3222, i32 noundef %3223) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3225:                                             ; preds = %3193
  %3226 = add nsw i32 %3085, 6
  store i32 %3226, ptr @test_count, align 4, !tbaa !5
  %3227 = call i32 @s2n_stuffer_free(ptr noundef nonnull %28) #11
  %3228 = icmp eq i32 %3227, -1
  br i1 %3228, label %3229, label %3251

3229:                                             ; preds = %3225
  %3230 = load i32, ptr %284, align 4, !tbaa !5
  %3231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3232 = call i32 @s2n_print_stacktrace(ptr noundef %3231) #11
  %3233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3234 = trunc nuw i8 %3233 to i1
  br i1 %3234, label %3235, label %3239

3235:                                             ; preds = %3229
  %3236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3237 = call i32 @fileno(ptr noundef %3236) #11
  %3238 = call i32 @isatty(i32 noundef %3237) #11
  %.not532 = icmp eq i32 %3238, 0
  br i1 %.not532, label %3239, label %3240

3239:                                             ; preds = %3235, %3229
  br label %3240

3240:                                             ; preds = %3235, %3239
  %.str.5.sink1642 = phi ptr [ @.str.5, %3239 ], [ @.str.2, %3235 ]
  store i32 %3230, ptr %284, align 4, !tbaa !5
  %3241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3242 = load i32, ptr @test_count, align 4, !tbaa !5
  %3243 = load i32, ptr %230, align 4, !tbaa !5
  %3244 = call ptr @s2n_strerror(i32 noundef %3243, ptr noundef nonnull @.str.4) #11
  %3245 = load i32, ptr %230, align 4, !tbaa !5
  %3246 = call ptr @s2n_strerror_debug(i32 noundef %3245, ptr noundef nonnull @.str.4) #11
  %3247 = load i32, ptr %284, align 4, !tbaa !5
  %3248 = call ptr @strerror(i32 noundef %3247) #11
  %3249 = load i32, ptr %284, align 4, !tbaa !5
  %3250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3241, ptr noundef nonnull %.str.5.sink1642, i32 noundef %3242, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %3244, ptr noundef %3246, ptr noundef %3248, i32 noundef %3249) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3251:                                             ; preds = %3225
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %29) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %28) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %27) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %30) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %30, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %31) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %31, i8 0, i64 40, i1 false)
  %3252 = load i32, ptr @test_count, align 4, !tbaa !5
  %3253 = add nsw i32 %3252, 1
  store i32 %3253, ptr @test_count, align 4, !tbaa !5
  %3254 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %31, i32 noundef 0) #11
  %3255 = icmp eq i32 %3254, -1
  br i1 %3255, label %3256, label %3278

3256:                                             ; preds = %3251
  %3257 = load i32, ptr %284, align 4, !tbaa !5
  %3258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3259 = call i32 @s2n_print_stacktrace(ptr noundef %3258) #11
  %3260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3261 = trunc nuw i8 %3260 to i1
  br i1 %3261, label %3262, label %3266

3262:                                             ; preds = %3256
  %3263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3264 = call i32 @fileno(ptr noundef %3263) #11
  %3265 = call i32 @isatty(i32 noundef %3264) #11
  %.not531 = icmp eq i32 %3265, 0
  br i1 %.not531, label %3266, label %3267

3266:                                             ; preds = %3262, %3256
  br label %3267

3267:                                             ; preds = %3262, %3266
  %.str.5.sink1651 = phi ptr [ @.str.5, %3266 ], [ @.str.2, %3262 ]
  store i32 %3257, ptr %284, align 4, !tbaa !5
  %3268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = load i32, ptr %230, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror(i32 noundef %3270, ptr noundef nonnull @.str.4) #11
  %3272 = load i32, ptr %230, align 4, !tbaa !5
  %3273 = call ptr @s2n_strerror_debug(i32 noundef %3272, ptr noundef nonnull @.str.4) #11
  %3274 = load i32, ptr %284, align 4, !tbaa !5
  %3275 = call ptr @strerror(i32 noundef %3274) #11
  %3276 = load i32, ptr %284, align 4, !tbaa !5
  %3277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3268, ptr noundef nonnull %.str.5.sink1651, i32 noundef %3269, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 300, ptr noundef %3271, ptr noundef %3273, ptr noundef %3275, i32 noundef %3276) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3278:                                             ; preds = %3251
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %32) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %32, i8 0, i64 16, i1 false)
  %3279 = load i32, ptr @test_count, align 4, !tbaa !5
  %3280 = add nsw i32 %3279, 1
  store i32 %3280, ptr @test_count, align 4, !tbaa !5
  %3281 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %31, ptr noundef nonnull %32) #11
  %3282 = icmp eq i32 %3281, -1
  br i1 %3282, label %3283, label %3305

3283:                                             ; preds = %3278
  %3284 = load i32, ptr %284, align 4, !tbaa !5
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @s2n_print_stacktrace(ptr noundef %3285) #11
  %3287 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3288 = trunc nuw i8 %3287 to i1
  br i1 %3288, label %3289, label %3293

3289:                                             ; preds = %3283
  %3290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3291 = call i32 @fileno(ptr noundef %3290) #11
  %3292 = call i32 @isatty(i32 noundef %3291) #11
  %.not530 = icmp eq i32 %3292, 0
  br i1 %.not530, label %3293, label %3294

3293:                                             ; preds = %3289, %3283
  br label %3294

3294:                                             ; preds = %3289, %3293
  %.str.5.sink1660 = phi ptr [ @.str.5, %3293 ], [ @.str.2, %3289 ]
  store i32 %3284, ptr %284, align 4, !tbaa !5
  %3295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3296 = load i32, ptr @test_count, align 4, !tbaa !5
  %3297 = load i32, ptr %230, align 4, !tbaa !5
  %3298 = call ptr @s2n_strerror(i32 noundef %3297, ptr noundef nonnull @.str.4) #11
  %3299 = load i32, ptr %230, align 4, !tbaa !5
  %3300 = call ptr @s2n_strerror_debug(i32 noundef %3299, ptr noundef nonnull @.str.4) #11
  %3301 = load i32, ptr %284, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #11
  %3303 = load i32, ptr %284, align 4, !tbaa !5
  %3304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3295, ptr noundef nonnull %.str.5.sink1660, i32 noundef %3296, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3298, ptr noundef %3300, ptr noundef %3302, i32 noundef %3303) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3305:                                             ; preds = %3278
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = add nsw i32 %3306, 1
  store i32 %3307, ptr @test_count, align 4, !tbaa !5
  %3308 = call i32 @s2n_extension_send(ptr noundef nonnull @test_extension, ptr noundef nonnull %172, ptr noundef nonnull %31) #11
  %3309 = icmp eq i32 %3308, -1
  br i1 %3309, label %3310, label %3332

3310:                                             ; preds = %3305
  %3311 = load i32, ptr %284, align 4, !tbaa !5
  %3312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3313 = call i32 @s2n_print_stacktrace(ptr noundef %3312) #11
  %3314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3315 = trunc nuw i8 %3314 to i1
  br i1 %3315, label %3316, label %3320

3316:                                             ; preds = %3310
  %3317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3318 = call i32 @fileno(ptr noundef %3317) #11
  %3319 = call i32 @isatty(i32 noundef %3318) #11
  %.not529 = icmp eq i32 %3319, 0
  br i1 %.not529, label %3320, label %3321

3320:                                             ; preds = %3316, %3310
  br label %3321

3321:                                             ; preds = %3316, %3320
  %.str.5.sink1669 = phi ptr [ @.str.5, %3320 ], [ @.str.2, %3316 ]
  store i32 %3311, ptr %284, align 4, !tbaa !5
  %3322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3323 = load i32, ptr @test_count, align 4, !tbaa !5
  %3324 = load i32, ptr %230, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror(i32 noundef %3324, ptr noundef nonnull @.str.4) #11
  %3326 = load i32, ptr %230, align 4, !tbaa !5
  %3327 = call ptr @s2n_strerror_debug(i32 noundef %3326, ptr noundef nonnull @.str.4) #11
  %3328 = load i32, ptr %284, align 4, !tbaa !5
  %3329 = call ptr @strerror(i32 noundef %3328) #11
  %3330 = load i32, ptr %284, align 4, !tbaa !5
  %3331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3322, ptr noundef nonnull %.str.5.sink1669, i32 noundef %3323, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3325, ptr noundef %3327, ptr noundef %3329, i32 noundef %3330) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3332:                                             ; preds = %3305
  %3333 = load i32, ptr @test_count, align 4, !tbaa !5
  %3334 = add nsw i32 %3333, 1
  store i32 %3334, ptr @test_count, align 4, !tbaa !5
  %3335 = call i32 @s2n_extension_send(ptr noundef nonnull @test_extension, ptr noundef nonnull %172, ptr noundef nonnull %31) #11
  %3336 = icmp eq i32 %3335, -1
  br i1 %3336, label %3337, label %3359

3337:                                             ; preds = %3332
  %3338 = load i32, ptr %284, align 4, !tbaa !5
  %3339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3340 = call i32 @s2n_print_stacktrace(ptr noundef %3339) #11
  %3341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3342 = trunc nuw i8 %3341 to i1
  br i1 %3342, label %3343, label %3347

3343:                                             ; preds = %3337
  %3344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3345 = call i32 @fileno(ptr noundef %3344) #11
  %3346 = call i32 @isatty(i32 noundef %3345) #11
  %.not528 = icmp eq i32 %3346, 0
  br i1 %.not528, label %3347, label %3348

3347:                                             ; preds = %3343, %3337
  br label %3348

3348:                                             ; preds = %3343, %3347
  %.str.5.sink1678 = phi ptr [ @.str.5, %3347 ], [ @.str.2, %3343 ]
  store i32 %3338, ptr %284, align 4, !tbaa !5
  %3349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3350 = load i32, ptr @test_count, align 4, !tbaa !5
  %3351 = load i32, ptr %230, align 4, !tbaa !5
  %3352 = call ptr @s2n_strerror(i32 noundef %3351, ptr noundef nonnull @.str.4) #11
  %3353 = load i32, ptr %230, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror_debug(i32 noundef %3353, ptr noundef nonnull @.str.4) #11
  %3355 = load i32, ptr %284, align 4, !tbaa !5
  %3356 = call ptr @strerror(i32 noundef %3355) #11
  %3357 = load i32, ptr %284, align 4, !tbaa !5
  %3358 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3349, ptr noundef nonnull %.str.5.sink1678, i32 noundef %3350, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %3352, ptr noundef %3354, ptr noundef %3356, i32 noundef %3357) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3359:                                             ; preds = %3332
  %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 = getelementptr inbounds i8, ptr %31, i64 28
  %3363 = load i32, ptr %3362, align 4, !tbaa !21
  %3364 = getelementptr inbounds i8, ptr %31, i64 24
  %3365 = load i32, ptr %3364, align 8, !tbaa !23
  %3366 = sub i32 %3363, %3365
  %3367 = getelementptr inbounds i8, ptr %32, i64 12
  %3368 = load i8, ptr %3367, align 4, !tbaa !30
  %3369 = zext i8 %3368 to i32
  %3370 = icmp ugt i32 %3366, %3369
  br i1 %3370, label %3393, label %3371

3371:                                             ; preds = %3359
  %3372 = load i32, ptr %284, align 4, !tbaa !5
  %3373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3374 = call i32 @s2n_print_stacktrace(ptr noundef %3373) #11
  %3375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3376 = trunc nuw i8 %3375 to i1
  br i1 %3376, label %3377, label %3381

3377:                                             ; preds = %3371
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = call i32 @fileno(ptr noundef %3378) #11
  %3380 = call i32 @isatty(i32 noundef %3379) #11
  %.not456 = icmp eq i32 %3380, 0
  br i1 %.not456, label %3381, label %3382

3381:                                             ; preds = %3377, %3371
  br label %3382

3382:                                             ; preds = %3377, %3381
  %.str.5.sink1687 = phi ptr [ @.str.5, %3381 ], [ @.str.2, %3377 ]
  store i32 %3372, ptr %284, align 4, !tbaa !5
  %3383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3384 = load i32, ptr @test_count, align 4, !tbaa !5
  %3385 = load i32, ptr %230, align 4, !tbaa !5
  %3386 = call ptr @s2n_strerror(i32 noundef %3385, ptr noundef nonnull @.str.4) #11
  %3387 = load i32, ptr %230, align 4, !tbaa !5
  %3388 = call ptr @s2n_strerror_debug(i32 noundef %3387, ptr noundef nonnull @.str.4) #11
  %3389 = load i32, ptr %284, align 4, !tbaa !5
  %3390 = call ptr @strerror(i32 noundef %3389) #11
  %3391 = load i32, ptr %284, align 4, !tbaa !5
  %3392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3383, ptr noundef nonnull %.str.5.sink1687, i32 noundef %3384, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %3386, ptr noundef %3388, ptr noundef %3390, i32 noundef %3391) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3393:                                             ; preds = %3359
  %3394 = add nsw i32 %3360, 2
  store i32 %3394, ptr @test_count, align 4, !tbaa !5
  %3395 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %32) #11
  %3396 = icmp eq i32 %3395, -1
  br i1 %3396, label %3397, label %3419

3397:                                             ; preds = %3393
  %3398 = load i32, ptr %284, align 4, !tbaa !5
  %3399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3400 = call i32 @s2n_print_stacktrace(ptr noundef %3399) #11
  %3401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3402 = trunc nuw i8 %3401 to i1
  br i1 %3402, label %3403, label %3407

3403:                                             ; preds = %3397
  %3404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3405 = call i32 @fileno(ptr noundef %3404) #11
  %3406 = call i32 @isatty(i32 noundef %3405) #11
  %.not527 = icmp eq i32 %3406, 0
  br i1 %.not527, label %3407, label %3408

3407:                                             ; preds = %3403, %3397
  br label %3408

3408:                                             ; preds = %3403, %3407
  %.str.5.sink1696 = phi ptr [ @.str.5, %3407 ], [ @.str.2, %3403 ]
  store i32 %3398, ptr %284, align 4, !tbaa !5
  %3409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3410 = load i32, ptr @test_count, align 4, !tbaa !5
  %3411 = load i32, ptr %230, align 4, !tbaa !5
  %3412 = call ptr @s2n_strerror(i32 noundef %3411, ptr noundef nonnull @.str.4) #11
  %3413 = load i32, ptr %230, align 4, !tbaa !5
  %3414 = call ptr @s2n_strerror_debug(i32 noundef %3413, ptr noundef nonnull @.str.4) #11
  %3415 = load i32, ptr %284, align 4, !tbaa !5
  %3416 = call ptr @strerror(i32 noundef %3415) #11
  %3417 = load i32, ptr %284, align 4, !tbaa !5
  %3418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3409, ptr noundef nonnull %.str.5.sink1696, i32 noundef %3410, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %3412, ptr noundef %3414, ptr noundef %3416, i32 noundef %3417) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3419:                                             ; preds = %3393
  %3420 = load i32, ptr @test_count, align 4, !tbaa !5
  %3421 = add nsw i32 %3420, 1
  store i32 %3421, ptr @test_count, align 4, !tbaa !5
  %3422 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %31, ptr noundef nonnull %30) #11
  %3423 = icmp eq i32 %3422, -1
  br i1 %3423, label %3446, label %3424

3424:                                             ; preds = %3419
  %3425 = load i32, ptr %284, align 4, !tbaa !5
  %3426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3427 = call i32 @s2n_print_stacktrace(ptr noundef %3426) #11
  %3428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3429 = trunc nuw i8 %3428 to i1
  br i1 %3429, label %3430, label %3434

3430:                                             ; preds = %3424
  %3431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3432 = call i32 @fileno(ptr noundef %3431) #11
  %3433 = call i32 @isatty(i32 noundef %3432) #11
  %.not457 = icmp eq i32 %3433, 0
  br i1 %.not457, label %3434, label %3435

3434:                                             ; preds = %3430, %3424
  br label %3435

3435:                                             ; preds = %3430, %3434
  %.str.5.sink1705 = phi ptr [ @.str.5, %3434 ], [ @.str.2, %3430 ]
  store i32 %3425, ptr %284, align 4, !tbaa !5
  %3436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3437 = load i32, ptr @test_count, align 4, !tbaa !5
  %3438 = load i32, ptr %230, align 4, !tbaa !5
  %3439 = call ptr @s2n_strerror(i32 noundef %3438, ptr noundef nonnull @.str.4) #11
  %3440 = load i32, ptr %230, align 4, !tbaa !5
  %3441 = call ptr @s2n_strerror_debug(i32 noundef %3440, ptr noundef nonnull @.str.4) #11
  %3442 = load i32, ptr %284, align 4, !tbaa !5
  %3443 = call ptr @strerror(i32 noundef %3442) #11
  %3444 = load i32, ptr %284, align 4, !tbaa !5
  %3445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3436, ptr noundef nonnull %.str.5.sink1705, i32 noundef %3437, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %3439, ptr noundef %3441, ptr noundef %3443, i32 noundef %3444) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3446:                                             ; preds = %3419
  %3447 = load i32, ptr @test_count, align 4, !tbaa !5
  %3448 = add nsw i32 %3447, 1
  store i32 %3448, ptr @test_count, align 4, !tbaa !5
  %3449 = load i32, ptr %230, align 4, !tbaa !5
  %3450 = icmp eq i32 %3449, 335544395
  br i1 %3450, label %3473, label %3451

3451:                                             ; preds = %3446
  %3452 = load i32, ptr %284, align 4, !tbaa !5
  %3453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3454 = call i32 @s2n_print_stacktrace(ptr noundef %3453) #11
  %3455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3456 = trunc nuw i8 %3455 to i1
  br i1 %3456, label %3457, label %3461

3457:                                             ; preds = %3451
  %3458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3459 = call i32 @fileno(ptr noundef %3458) #11
  %3460 = call i32 @isatty(i32 noundef %3459) #11
  %.not458 = icmp eq i32 %3460, 0
  br i1 %.not458, label %3461, label %3462

3461:                                             ; preds = %3457, %3451
  br label %3462

3462:                                             ; preds = %3457, %3461
  %.str.5.sink1714 = phi ptr [ @.str.5, %3461 ], [ @.str.2, %3457 ]
  store i32 %3452, ptr %284, align 4, !tbaa !5
  %3463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3464 = load i32, ptr @test_count, align 4, !tbaa !5
  %3465 = load i32, ptr %230, align 4, !tbaa !5
  %3466 = call ptr @s2n_strerror(i32 noundef %3465, ptr noundef nonnull @.str.4) #11
  %3467 = load i32, ptr %230, align 4, !tbaa !5
  %3468 = call ptr @s2n_strerror_debug(i32 noundef %3467, ptr noundef nonnull @.str.4) #11
  %3469 = load i32, ptr %284, align 4, !tbaa !5
  %3470 = call ptr @strerror(i32 noundef %3469) #11
  %3471 = load i32, ptr %284, align 4, !tbaa !5
  %3472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3463, ptr noundef nonnull %.str.5.sink1714, i32 noundef %3464, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %3466, ptr noundef %3468, ptr noundef %3470, i32 noundef %3471) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3473:                                             ; preds = %3446
  %3474 = add nsw i32 %3447, 2
  store i32 %3474, ptr @test_count, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror_debug(i32 noundef 335544395, ptr noundef nonnull @.str.4) #11
  %3476 = icmp eq ptr %3475, null
  br i1 %3476, label %3477, label %3499

3477:                                             ; preds = %3473
  %3478 = load i32, ptr %284, align 4, !tbaa !5
  %3479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3480 = call i32 @s2n_print_stacktrace(ptr noundef %3479) #11
  %3481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3482 = trunc nuw i8 %3481 to i1
  br i1 %3482, label %3483, label %3487

3483:                                             ; preds = %3477
  %3484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3485 = call i32 @fileno(ptr noundef %3484) #11
  %3486 = call i32 @isatty(i32 noundef %3485) #11
  %.not526 = icmp eq i32 %3486, 0
  br i1 %.not526, label %3487, label %3488

3487:                                             ; preds = %3483, %3477
  br label %3488

3488:                                             ; preds = %3483, %3487
  %.str.5.sink1723 = phi ptr [ @.str.5, %3487 ], [ @.str.2, %3483 ]
  store i32 %3478, ptr %284, align 4, !tbaa !5
  %3489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3490 = load i32, ptr @test_count, align 4, !tbaa !5
  %3491 = load i32, ptr %230, align 4, !tbaa !5
  %3492 = call ptr @s2n_strerror(i32 noundef %3491, ptr noundef nonnull @.str.4) #11
  %3493 = load i32, ptr %230, align 4, !tbaa !5
  %3494 = call ptr @s2n_strerror_debug(i32 noundef %3493, ptr noundef nonnull @.str.4) #11
  %3495 = load i32, ptr %284, align 4, !tbaa !5
  %3496 = call ptr @strerror(i32 noundef %3495) #11
  %3497 = load i32, ptr %284, align 4, !tbaa !5
  %3498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3489, ptr noundef nonnull %.str.5.sink1723, i32 noundef %3490, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 313, ptr noundef %3492, ptr noundef %3494, ptr noundef %3496, i32 noundef %3497) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3499:                                             ; preds = %3473
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  %3500 = load i32, ptr @test_count, align 4, !tbaa !5
  %3501 = add nsw i32 %3500, 1
  store i32 %3501, ptr @test_count, align 4, !tbaa !5
  %3502 = getelementptr inbounds i8, ptr %30, i64 672
  %3503 = load ptr, ptr %3502, align 8, !tbaa !24
  %3504 = load ptr, ptr %31, align 8, !tbaa !26
  %3505 = getelementptr inbounds i8, ptr %3504, i64 2
  %3506 = icmp eq ptr %3503, %3505
  br i1 %3506, label %3529, label %3507

3507:                                             ; preds = %3499
  %3508 = load i32, ptr %284, align 4, !tbaa !5
  %3509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3510 = call i32 @s2n_print_stacktrace(ptr noundef %3509) #11
  %3511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3512 = trunc nuw i8 %3511 to i1
  br i1 %3512, label %3513, label %3517

3513:                                             ; preds = %3507
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = call i32 @fileno(ptr noundef %3514) #11
  %3516 = call i32 @isatty(i32 noundef %3515) #11
  %.not459 = icmp eq i32 %3516, 0
  br i1 %.not459, label %3517, label %3518

3517:                                             ; preds = %3513, %3507
  br label %3518

3518:                                             ; preds = %3513, %3517
  %.str.5.sink1732 = phi ptr [ @.str.5, %3517 ], [ @.str.2, %3513 ]
  store i32 %3508, ptr %284, align 4, !tbaa !5
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = load i32, ptr @test_count, align 4, !tbaa !5
  %3521 = load i32, ptr %230, align 4, !tbaa !5
  %3522 = call ptr @s2n_strerror(i32 noundef %3521, ptr noundef nonnull @.str.4) #11
  %3523 = load i32, ptr %230, align 4, !tbaa !5
  %3524 = call ptr @s2n_strerror_debug(i32 noundef %3523, ptr noundef nonnull @.str.4) #11
  %3525 = load i32, ptr %284, align 4, !tbaa !5
  %3526 = call ptr @strerror(i32 noundef %3525) #11
  %3527 = load i32, ptr %284, align 4, !tbaa !5
  %3528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3519, ptr noundef nonnull %.str.5.sink1732, i32 noundef %3520, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %3522, ptr noundef %3524, ptr noundef %3526, i32 noundef %3527) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3529:                                             ; preds = %3499
  %3530 = add nsw i32 %3500, 2
  store i32 %3530, ptr @test_count, align 4, !tbaa !5
  %3531 = getelementptr inbounds i8, ptr %30, i64 680
  %3532 = load i32, ptr %3531, align 8, !tbaa !27
  %3533 = zext i32 %3532 to i64
  %3534 = getelementptr inbounds i8, ptr %31, i64 32
  %3535 = load i32, ptr %3534, align 8, !tbaa !29
  %3536 = zext i32 %3535 to i64
  %3537 = add nsw i64 %3536, -2
  %3538 = icmp eq i64 %3537, %3533
  br i1 %3538, label %3561, label %3539

3539:                                             ; preds = %3529
  %3540 = load i32, ptr %284, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = call i32 @s2n_print_stacktrace(ptr noundef %3541) #11
  %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) #11
  %3548 = call i32 @isatty(i32 noundef %3547) #11
  %.not460 = icmp eq i32 %3548, 0
  br i1 %.not460, label %3549, label %3550

3549:                                             ; preds = %3545, %3539
  br label %3550

3550:                                             ; preds = %3545, %3549
  %.str.5.sink1741 = phi ptr [ @.str.5, %3549 ], [ @.str.2, %3545 ]
  store i32 %3540, ptr %284, 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 %230, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror(i32 noundef %3553, ptr noundef nonnull @.str.4) #11
  %3555 = load i32, ptr %230, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef nonnull @.str.4) #11
  %3557 = load i32, ptr %284, align 4, !tbaa !5
  %3558 = call ptr @strerror(i32 noundef %3557) #11
  %3559 = load i32, ptr %284, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3551, ptr noundef nonnull %.str.5.sink1741, i32 noundef %3552, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %3554, ptr noundef %3556, ptr noundef %3558, i32 noundef %3559) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3561:                                             ; preds = %3529
  %3562 = add nsw i32 %3500, 3
  store i32 %3562, ptr @test_count, align 4, !tbaa !5
  %3563 = call i32 @s2n_stuffer_free(ptr noundef nonnull %31) #11
  %3564 = icmp eq i32 %3563, -1
  br i1 %3564, label %3565, label %3587

3565:                                             ; preds = %3561
  %3566 = load i32, ptr %284, align 4, !tbaa !5
  %3567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3568 = call i32 @s2n_print_stacktrace(ptr noundef %3567) #11
  %3569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3570 = trunc nuw i8 %3569 to i1
  br i1 %3570, label %3571, label %3575

3571:                                             ; preds = %3565
  %3572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3573 = call i32 @fileno(ptr noundef %3572) #11
  %3574 = call i32 @isatty(i32 noundef %3573) #11
  %.not525 = icmp eq i32 %3574, 0
  br i1 %.not525, label %3575, label %3576

3575:                                             ; preds = %3571, %3565
  br label %3576

3576:                                             ; preds = %3571, %3575
  %.str.5.sink1750 = phi ptr [ @.str.5, %3575 ], [ @.str.2, %3571 ]
  store i32 %3566, ptr %284, align 4, !tbaa !5
  %3577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3578 = load i32, ptr @test_count, align 4, !tbaa !5
  %3579 = load i32, ptr %230, align 4, !tbaa !5
  %3580 = call ptr @s2n_strerror(i32 noundef %3579, ptr noundef nonnull @.str.4) #11
  %3581 = load i32, ptr %230, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror_debug(i32 noundef %3581, ptr noundef nonnull @.str.4) #11
  %3583 = load i32, ptr %284, align 4, !tbaa !5
  %3584 = call ptr @strerror(i32 noundef %3583) #11
  %3585 = load i32, ptr %284, align 4, !tbaa !5
  %3586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3577, ptr noundef nonnull %.str.5.sink1750, i32 noundef %3578, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %3580, ptr noundef %3582, ptr noundef %3584, i32 noundef %3585) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3587:                                             ; preds = %3561
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %32) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %31) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %30) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %33) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %33, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %34) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %34, i8 0, i64 40, i1 false)
  %3588 = load i32, ptr @test_count, align 4, !tbaa !5
  %3589 = add nsw i32 %3588, 1
  store i32 %3589, ptr @test_count, align 4, !tbaa !5
  %3590 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %34, i32 noundef 0) #11
  %3591 = icmp eq i32 %3590, -1
  br i1 %3591, label %3592, label %3614

3592:                                             ; preds = %3587
  %3593 = load i32, ptr %284, align 4, !tbaa !5
  %3594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3595 = call i32 @s2n_print_stacktrace(ptr noundef %3594) #11
  %3596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3597 = trunc nuw i8 %3596 to i1
  br i1 %3597, label %3598, label %3602

3598:                                             ; preds = %3592
  %3599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3600 = call i32 @fileno(ptr noundef %3599) #11
  %3601 = call i32 @isatty(i32 noundef %3600) #11
  %.not524 = icmp eq i32 %3601, 0
  br i1 %.not524, label %3602, label %3603

3602:                                             ; preds = %3598, %3592
  br label %3603

3603:                                             ; preds = %3598, %3602
  %.str.5.sink1759 = phi ptr [ @.str.5, %3602 ], [ @.str.2, %3598 ]
  store i32 %3593, ptr %284, align 4, !tbaa !5
  %3604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3605 = load i32, ptr @test_count, align 4, !tbaa !5
  %3606 = load i32, ptr %230, align 4, !tbaa !5
  %3607 = call ptr @s2n_strerror(i32 noundef %3606, ptr noundef nonnull @.str.4) #11
  %3608 = load i32, ptr %230, align 4, !tbaa !5
  %3609 = call ptr @s2n_strerror_debug(i32 noundef %3608, ptr noundef nonnull @.str.4) #11
  %3610 = load i32, ptr %284, align 4, !tbaa !5
  %3611 = call ptr @strerror(i32 noundef %3610) #11
  %3612 = load i32, ptr %284, align 4, !tbaa !5
  %3613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3604, ptr noundef nonnull %.str.5.sink1759, i32 noundef %3605, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %3607, ptr noundef %3609, ptr noundef %3611, i32 noundef %3612) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3614:                                             ; preds = %3587
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %35) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %35, i8 0, i64 16, i1 false)
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = add nsw i32 %3615, 1
  store i32 %3616, ptr @test_count, align 4, !tbaa !5
  %3617 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %34, ptr noundef nonnull %35) #11
  %3618 = icmp eq i32 %3617, -1
  br i1 %3618, label %3619, label %3641

3619:                                             ; preds = %3614
  %3620 = load i32, ptr %284, align 4, !tbaa !5
  %3621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3622 = call i32 @s2n_print_stacktrace(ptr noundef %3621) #11
  %3623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3624 = trunc nuw i8 %3623 to i1
  br i1 %3624, label %3625, label %3629

3625:                                             ; preds = %3619
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = call i32 @fileno(ptr noundef %3626) #11
  %3628 = call i32 @isatty(i32 noundef %3627) #11
  %.not523 = icmp eq i32 %3628, 0
  br i1 %.not523, label %3629, label %3630

3629:                                             ; preds = %3625, %3619
  br label %3630

3630:                                             ; preds = %3625, %3629
  %.str.5.sink1768 = phi ptr [ @.str.5, %3629 ], [ @.str.2, %3625 ]
  store i32 %3620, ptr %284, align 4, !tbaa !5
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = load i32, ptr @test_count, align 4, !tbaa !5
  %3633 = load i32, ptr %230, align 4, !tbaa !5
  %3634 = call ptr @s2n_strerror(i32 noundef %3633, ptr noundef nonnull @.str.4) #11
  %3635 = load i32, ptr %230, align 4, !tbaa !5
  %3636 = call ptr @s2n_strerror_debug(i32 noundef %3635, ptr noundef nonnull @.str.4) #11
  %3637 = load i32, ptr %284, align 4, !tbaa !5
  %3638 = call ptr @strerror(i32 noundef %3637) #11
  %3639 = load i32, ptr %284, align 4, !tbaa !5
  %3640 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3631, ptr noundef nonnull %.str.5.sink1768, i32 noundef %3632, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %3634, ptr noundef %3636, ptr noundef %3638, i32 noundef %3639) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3641:                                             ; preds = %3614
  %3642 = load i32, ptr @test_count, align 4, !tbaa !5
  %3643 = add nsw i32 %3642, 1
  store i32 %3643, ptr @test_count, align 4, !tbaa !5
  %3644 = call i32 @s2n_extension_send(ptr noundef nonnull %1, ptr noundef nonnull %172, ptr noundef nonnull %34) #11
  %3645 = icmp eq i32 %3644, -1
  br i1 %3645, label %3646, label %3668

3646:                                             ; preds = %3641
  %3647 = load i32, ptr %284, align 4, !tbaa !5
  %3648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3649 = call i32 @s2n_print_stacktrace(ptr noundef %3648) #11
  %3650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3651 = trunc nuw i8 %3650 to i1
  br i1 %3651, label %3652, label %3656

3652:                                             ; preds = %3646
  %3653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3654 = call i32 @fileno(ptr noundef %3653) #11
  %3655 = call i32 @isatty(i32 noundef %3654) #11
  %.not522 = icmp eq i32 %3655, 0
  br i1 %.not522, label %3656, label %3657

3656:                                             ; preds = %3652, %3646
  br label %3657

3657:                                             ; preds = %3652, %3656
  %.str.5.sink1777 = phi ptr [ @.str.5, %3656 ], [ @.str.2, %3652 ]
  store i32 %3647, ptr %284, align 4, !tbaa !5
  %3658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3659 = load i32, ptr @test_count, align 4, !tbaa !5
  %3660 = load i32, ptr %230, align 4, !tbaa !5
  %3661 = call ptr @s2n_strerror(i32 noundef %3660, ptr noundef nonnull @.str.4) #11
  %3662 = load i32, ptr %230, align 4, !tbaa !5
  %3663 = call ptr @s2n_strerror_debug(i32 noundef %3662, ptr noundef nonnull @.str.4) #11
  %3664 = load i32, ptr %284, align 4, !tbaa !5
  %3665 = call ptr @strerror(i32 noundef %3664) #11
  %3666 = load i32, ptr %284, align 4, !tbaa !5
  %3667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3658, ptr noundef nonnull %.str.5.sink1777, i32 noundef %3659, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %3661, ptr noundef %3663, ptr noundef %3665, i32 noundef %3666) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3668:                                             ; preds = %3641
  %3669 = load i32, ptr @test_count, align 4, !tbaa !5
  %3670 = add nsw i32 %3669, 1
  store i32 %3670, ptr @test_count, align 4, !tbaa !5
  %3671 = call i32 @s2n_extension_send(ptr noundef nonnull %1, ptr noundef nonnull %172, ptr noundef nonnull %34) #11
  %3672 = icmp eq i32 %3671, -1
  br i1 %3672, label %3673, label %3695

3673:                                             ; preds = %3668
  %3674 = load i32, ptr %284, align 4, !tbaa !5
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = call i32 @s2n_print_stacktrace(ptr noundef %3675) #11
  %3677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3678 = trunc nuw i8 %3677 to i1
  br i1 %3678, label %3679, label %3683

3679:                                             ; preds = %3673
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @fileno(ptr noundef %3680) #11
  %3682 = call i32 @isatty(i32 noundef %3681) #11
  %.not521 = icmp eq i32 %3682, 0
  br i1 %.not521, label %3683, label %3684

3683:                                             ; preds = %3679, %3673
  br label %3684

3684:                                             ; preds = %3679, %3683
  %.str.5.sink1786 = phi ptr [ @.str.5, %3683 ], [ @.str.2, %3679 ]
  store i32 %3674, ptr %284, align 4, !tbaa !5
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = load i32, ptr %230, align 4, !tbaa !5
  %3688 = call ptr @s2n_strerror(i32 noundef %3687, ptr noundef nonnull @.str.4) #11
  %3689 = load i32, ptr %230, align 4, !tbaa !5
  %3690 = call ptr @s2n_strerror_debug(i32 noundef %3689, ptr noundef nonnull @.str.4) #11
  %3691 = load i32, ptr %284, align 4, !tbaa !5
  %3692 = call ptr @strerror(i32 noundef %3691) #11
  %3693 = load i32, ptr %284, align 4, !tbaa !5
  %3694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3685, ptr noundef nonnull %.str.5.sink1786, i32 noundef %3686, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 330, ptr noundef %3688, ptr noundef %3690, ptr noundef %3692, i32 noundef %3693) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3695:                                             ; preds = %3668
  %3696 = load i32, ptr @test_count, align 4, !tbaa !5
  %3697 = add nsw i32 %3696, 1
  store i32 %3697, ptr @test_count, align 4, !tbaa !5
  %3698 = getelementptr inbounds i8, ptr %34, i64 28
  %3699 = load i32, ptr %3698, align 4, !tbaa !21
  %3700 = getelementptr inbounds i8, ptr %34, i64 24
  %3701 = load i32, ptr %3700, align 8, !tbaa !23
  %3702 = sub i32 %3699, %3701
  %3703 = getelementptr inbounds i8, ptr %35, i64 12
  %3704 = load i8, ptr %3703, align 4, !tbaa !30
  %3705 = zext i8 %3704 to i32
  %3706 = icmp ugt i32 %3702, %3705
  br i1 %3706, label %3729, label %3707

3707:                                             ; preds = %3695
  %3708 = load i32, ptr %284, align 4, !tbaa !5
  %3709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3710 = call i32 @s2n_print_stacktrace(ptr noundef %3709) #11
  %3711 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3712 = trunc nuw i8 %3711 to i1
  br i1 %3712, label %3713, label %3717

3713:                                             ; preds = %3707
  %3714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3715 = call i32 @fileno(ptr noundef %3714) #11
  %3716 = call i32 @isatty(i32 noundef %3715) #11
  %.not461 = icmp eq i32 %3716, 0
  br i1 %.not461, label %3717, label %3718

3717:                                             ; preds = %3713, %3707
  br label %3718

3718:                                             ; preds = %3713, %3717
  %.str.5.sink1795 = phi ptr [ @.str.5, %3717 ], [ @.str.2, %3713 ]
  store i32 %3708, ptr %284, align 4, !tbaa !5
  %3719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3720 = load i32, ptr @test_count, align 4, !tbaa !5
  %3721 = load i32, ptr %230, align 4, !tbaa !5
  %3722 = call ptr @s2n_strerror(i32 noundef %3721, ptr noundef nonnull @.str.4) #11
  %3723 = load i32, ptr %230, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror_debug(i32 noundef %3723, ptr noundef nonnull @.str.4) #11
  %3725 = load i32, ptr %284, align 4, !tbaa !5
  %3726 = call ptr @strerror(i32 noundef %3725) #11
  %3727 = load i32, ptr %284, align 4, !tbaa !5
  %3728 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3719, ptr noundef nonnull %.str.5.sink1795, i32 noundef %3720, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3722, ptr noundef %3724, ptr noundef %3726, i32 noundef %3727) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3729:                                             ; preds = %3695
  %3730 = add nsw i32 %3696, 2
  store i32 %3730, ptr @test_count, align 4, !tbaa !5
  %3731 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %35) #11
  %3732 = icmp eq i32 %3731, -1
  br i1 %3732, label %3733, label %3755

3733:                                             ; preds = %3729
  %3734 = load i32, ptr %284, align 4, !tbaa !5
  %3735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3736 = call i32 @s2n_print_stacktrace(ptr noundef %3735) #11
  %3737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3738 = trunc nuw i8 %3737 to i1
  br i1 %3738, label %3739, label %3743

3739:                                             ; preds = %3733
  %3740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3741 = call i32 @fileno(ptr noundef %3740) #11
  %3742 = call i32 @isatty(i32 noundef %3741) #11
  %.not520 = icmp eq i32 %3742, 0
  br i1 %.not520, label %3743, label %3744

3743:                                             ; preds = %3739, %3733
  br label %3744

3744:                                             ; preds = %3739, %3743
  %.str.5.sink1804 = phi ptr [ @.str.5, %3743 ], [ @.str.2, %3739 ]
  store i32 %3734, ptr %284, align 4, !tbaa !5
  %3745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3746 = load i32, ptr @test_count, align 4, !tbaa !5
  %3747 = load i32, ptr %230, align 4, !tbaa !5
  %3748 = call ptr @s2n_strerror(i32 noundef %3747, ptr noundef nonnull @.str.4) #11
  %3749 = load i32, ptr %230, align 4, !tbaa !5
  %3750 = call ptr @s2n_strerror_debug(i32 noundef %3749, ptr noundef nonnull @.str.4) #11
  %3751 = load i32, ptr %284, align 4, !tbaa !5
  %3752 = call ptr @strerror(i32 noundef %3751) #11
  %3753 = load i32, ptr %284, align 4, !tbaa !5
  %3754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3745, ptr noundef nonnull %.str.5.sink1804, i32 noundef %3746, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %3748, ptr noundef %3750, ptr noundef %3752, i32 noundef %3753) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3755:                                             ; preds = %3729
  %3756 = load i32, ptr @test_count, align 4, !tbaa !5
  %3757 = add nsw i32 %3756, 1
  store i32 %3757, ptr @test_count, align 4, !tbaa !5
  %3758 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %34, ptr noundef nonnull %33) #11
  %3759 = icmp eq i32 %3758, -1
  br i1 %3759, label %3782, label %3760

3760:                                             ; preds = %3755
  %3761 = load i32, ptr %284, align 4, !tbaa !5
  %3762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3763 = call i32 @s2n_print_stacktrace(ptr noundef %3762) #11
  %3764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3765 = trunc nuw i8 %3764 to i1
  br i1 %3765, label %3766, label %3770

3766:                                             ; preds = %3760
  %3767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3768 = call i32 @fileno(ptr noundef %3767) #11
  %3769 = call i32 @isatty(i32 noundef %3768) #11
  %.not462 = icmp eq i32 %3769, 0
  br i1 %.not462, label %3770, label %3771

3770:                                             ; preds = %3766, %3760
  br label %3771

3771:                                             ; preds = %3766, %3770
  %.str.5.sink1813 = phi ptr [ @.str.5, %3770 ], [ @.str.2, %3766 ]
  store i32 %3761, ptr %284, align 4, !tbaa !5
  %3772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3773 = load i32, ptr @test_count, align 4, !tbaa !5
  %3774 = load i32, ptr %230, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror(i32 noundef %3774, ptr noundef nonnull @.str.4) #11
  %3776 = load i32, ptr %230, align 4, !tbaa !5
  %3777 = call ptr @s2n_strerror_debug(i32 noundef %3776, ptr noundef nonnull @.str.4) #11
  %3778 = load i32, ptr %284, align 4, !tbaa !5
  %3779 = call ptr @strerror(i32 noundef %3778) #11
  %3780 = load i32, ptr %284, align 4, !tbaa !5
  %3781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3772, ptr noundef nonnull %.str.5.sink1813, i32 noundef %3773, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3775, ptr noundef %3777, ptr noundef %3779, i32 noundef %3780) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3782:                                             ; preds = %3755
  %3783 = load i32, ptr @test_count, align 4, !tbaa !5
  %3784 = add nsw i32 %3783, 1
  store i32 %3784, ptr @test_count, align 4, !tbaa !5
  %3785 = load i32, ptr %230, align 4, !tbaa !5
  %3786 = icmp eq i32 %3785, 335544395
  br i1 %3786, label %3809, label %3787

3787:                                             ; preds = %3782
  %3788 = load i32, ptr %284, align 4, !tbaa !5
  %3789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3790 = call i32 @s2n_print_stacktrace(ptr noundef %3789) #11
  %3791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3792 = trunc nuw i8 %3791 to i1
  br i1 %3792, label %3793, label %3797

3793:                                             ; preds = %3787
  %3794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3795 = call i32 @fileno(ptr noundef %3794) #11
  %3796 = call i32 @isatty(i32 noundef %3795) #11
  %.not463 = icmp eq i32 %3796, 0
  br i1 %.not463, label %3797, label %3798

3797:                                             ; preds = %3793, %3787
  br label %3798

3798:                                             ; preds = %3793, %3797
  %.str.5.sink1822 = phi ptr [ @.str.5, %3797 ], [ @.str.2, %3793 ]
  store i32 %3788, ptr %284, align 4, !tbaa !5
  %3799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3800 = load i32, ptr @test_count, align 4, !tbaa !5
  %3801 = load i32, ptr %230, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror(i32 noundef %3801, ptr noundef nonnull @.str.4) #11
  %3803 = load i32, ptr %230, align 4, !tbaa !5
  %3804 = call ptr @s2n_strerror_debug(i32 noundef %3803, ptr noundef nonnull @.str.4) #11
  %3805 = load i32, ptr %284, align 4, !tbaa !5
  %3806 = call ptr @strerror(i32 noundef %3805) #11
  %3807 = load i32, ptr %284, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3799, ptr noundef nonnull %.str.5.sink1822, i32 noundef %3800, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3802, ptr noundef %3804, ptr noundef %3806, i32 noundef %3807) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3809:                                             ; preds = %3782
  %3810 = add nsw i32 %3783, 2
  store i32 %3810, ptr @test_count, align 4, !tbaa !5
  %3811 = call ptr @s2n_strerror_debug(i32 noundef 335544395, ptr noundef nonnull @.str.4) #11
  %3812 = icmp eq ptr %3811, null
  br i1 %3812, label %3813, label %3835

3813:                                             ; preds = %3809
  %3814 = load i32, ptr %284, align 4, !tbaa !5
  %3815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3816 = call i32 @s2n_print_stacktrace(ptr noundef %3815) #11
  %3817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3818 = trunc nuw i8 %3817 to i1
  br i1 %3818, label %3819, label %3823

3819:                                             ; preds = %3813
  %3820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3821 = call i32 @fileno(ptr noundef %3820) #11
  %3822 = call i32 @isatty(i32 noundef %3821) #11
  %.not519 = icmp eq i32 %3822, 0
  br i1 %.not519, label %3823, label %3824

3823:                                             ; preds = %3819, %3813
  br label %3824

3824:                                             ; preds = %3819, %3823
  %.str.5.sink1831 = phi ptr [ @.str.5, %3823 ], [ @.str.2, %3819 ]
  store i32 %3814, ptr %284, align 4, !tbaa !5
  %3825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3826 = load i32, ptr @test_count, align 4, !tbaa !5
  %3827 = load i32, ptr %230, align 4, !tbaa !5
  %3828 = call ptr @s2n_strerror(i32 noundef %3827, ptr noundef nonnull @.str.4) #11
  %3829 = load i32, ptr %230, align 4, !tbaa !5
  %3830 = call ptr @s2n_strerror_debug(i32 noundef %3829, ptr noundef nonnull @.str.4) #11
  %3831 = load i32, ptr %284, align 4, !tbaa !5
  %3832 = call ptr @strerror(i32 noundef %3831) #11
  %3833 = load i32, ptr %284, align 4, !tbaa !5
  %3834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3825, ptr noundef nonnull %.str.5.sink1831, i32 noundef %3826, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3828, ptr noundef %3830, ptr noundef %3832, i32 noundef %3833) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3835:                                             ; preds = %3809
  store i32 0, ptr %230, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #11
  store i32 0, ptr %284, align 4, !tbaa !5
  %3836 = load i32, ptr @test_count, align 4, !tbaa !5
  %3837 = add nsw i32 %3836, 1
  store i32 %3837, ptr @test_count, align 4, !tbaa !5
  %3838 = getelementptr inbounds i8, ptr %33, i64 672
  %3839 = load ptr, ptr %3838, align 8, !tbaa !24
  %3840 = load ptr, ptr %34, align 8, !tbaa !26
  %3841 = getelementptr inbounds i8, ptr %3840, i64 2
  %3842 = icmp eq ptr %3839, %3841
  br i1 %3842, label %3865, label %3843

3843:                                             ; preds = %3835
  %3844 = load i32, ptr %284, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = call i32 @s2n_print_stacktrace(ptr noundef %3845) #11
  %3847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3848 = trunc nuw i8 %3847 to i1
  br i1 %3848, label %3849, label %3853

3849:                                             ; preds = %3843
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = call i32 @fileno(ptr noundef %3850) #11
  %3852 = call i32 @isatty(i32 noundef %3851) #11
  %.not464 = icmp eq i32 %3852, 0
  br i1 %.not464, label %3853, label %3854

3853:                                             ; preds = %3849, %3843
  br label %3854

3854:                                             ; preds = %3849, %3853
  %.str.5.sink1840 = phi ptr [ @.str.5, %3853 ], [ @.str.2, %3849 ]
  store i32 %3844, ptr %284, align 4, !tbaa !5
  %3855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3856 = load i32, ptr @test_count, align 4, !tbaa !5
  %3857 = load i32, ptr %230, align 4, !tbaa !5
  %3858 = call ptr @s2n_strerror(i32 noundef %3857, ptr noundef nonnull @.str.4) #11
  %3859 = load i32, ptr %230, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror_debug(i32 noundef %3859, ptr noundef nonnull @.str.4) #11
  %3861 = load i32, ptr %284, align 4, !tbaa !5
  %3862 = call ptr @strerror(i32 noundef %3861) #11
  %3863 = load i32, ptr %284, align 4, !tbaa !5
  %3864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3855, ptr noundef nonnull %.str.5.sink1840, i32 noundef %3856, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3858, ptr noundef %3860, ptr noundef %3862, i32 noundef %3863) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3865:                                             ; preds = %3835
  %3866 = add nsw i32 %3836, 2
  store i32 %3866, ptr @test_count, align 4, !tbaa !5
  %3867 = getelementptr inbounds i8, ptr %33, i64 680
  %3868 = load i32, ptr %3867, align 8, !tbaa !27
  %3869 = zext i32 %3868 to i64
  %3870 = getelementptr inbounds i8, ptr %34, i64 32
  %3871 = load i32, ptr %3870, align 8, !tbaa !29
  %3872 = zext i32 %3871 to i64
  %3873 = add nsw i64 %3872, -2
  %3874 = icmp eq i64 %3873, %3869
  br i1 %3874, label %3897, label %3875

3875:                                             ; preds = %3865
  %3876 = load i32, ptr %284, align 4, !tbaa !5
  %3877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3878 = call i32 @s2n_print_stacktrace(ptr noundef %3877) #11
  %3879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3880 = trunc nuw i8 %3879 to i1
  br i1 %3880, label %3881, label %3885

3881:                                             ; preds = %3875
  %3882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3883 = call i32 @fileno(ptr noundef %3882) #11
  %3884 = call i32 @isatty(i32 noundef %3883) #11
  %.not465 = icmp eq i32 %3884, 0
  br i1 %.not465, label %3885, label %3886

3885:                                             ; preds = %3881, %3875
  br label %3886

3886:                                             ; preds = %3881, %3885
  %.str.5.sink1849 = phi ptr [ @.str.5, %3885 ], [ @.str.2, %3881 ]
  store i32 %3876, ptr %284, align 4, !tbaa !5
  %3887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3888 = load i32, ptr @test_count, align 4, !tbaa !5
  %3889 = load i32, ptr %230, align 4, !tbaa !5
  %3890 = call ptr @s2n_strerror(i32 noundef %3889, ptr noundef nonnull @.str.4) #11
  %3891 = load i32, ptr %230, align 4, !tbaa !5
  %3892 = call ptr @s2n_strerror_debug(i32 noundef %3891, ptr noundef nonnull @.str.4) #11
  %3893 = load i32, ptr %284, align 4, !tbaa !5
  %3894 = call ptr @strerror(i32 noundef %3893) #11
  %3895 = load i32, ptr %284, align 4, !tbaa !5
  %3896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3887, ptr noundef nonnull %.str.5.sink1849, i32 noundef %3888, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3890, ptr noundef %3892, ptr noundef %3894, i32 noundef %3895) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3897:                                             ; preds = %3865
  %3898 = add nsw i32 %3836, 3
  store i32 %3898, ptr @test_count, align 4, !tbaa !5
  %3899 = call i32 @s2n_stuffer_free(ptr noundef nonnull %34) #11
  %3900 = icmp eq i32 %3899, -1
  br i1 %3900, label %3901, label %3923

3901:                                             ; preds = %3897
  %3902 = load i32, ptr %284, align 4, !tbaa !5
  %3903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3904 = call i32 @s2n_print_stacktrace(ptr noundef %3903) #11
  %3905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3906 = trunc nuw i8 %3905 to i1
  br i1 %3906, label %3907, label %3911

3907:                                             ; preds = %3901
  %3908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3909 = call i32 @fileno(ptr noundef %3908) #11
  %3910 = call i32 @isatty(i32 noundef %3909) #11
  %.not518 = icmp eq i32 %3910, 0
  br i1 %.not518, label %3911, label %3912

3911:                                             ; preds = %3907, %3901
  br label %3912

3912:                                             ; preds = %3907, %3911
  %.str.5.sink1858 = phi ptr [ @.str.5, %3911 ], [ @.str.2, %3907 ]
  store i32 %3902, ptr %284, align 4, !tbaa !5
  %3913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3914 = load i32, ptr @test_count, align 4, !tbaa !5
  %3915 = load i32, ptr %230, align 4, !tbaa !5
  %3916 = call ptr @s2n_strerror(i32 noundef %3915, ptr noundef nonnull @.str.4) #11
  %3917 = load i32, ptr %230, align 4, !tbaa !5
  %3918 = call ptr @s2n_strerror_debug(i32 noundef %3917, ptr noundef nonnull @.str.4) #11
  %3919 = load i32, ptr %284, align 4, !tbaa !5
  %3920 = call ptr @strerror(i32 noundef %3919) #11
  %3921 = load i32, ptr %284, align 4, !tbaa !5
  %3922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3913, ptr noundef nonnull %.str.5.sink1858, i32 noundef %3914, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %3916, ptr noundef %3918, ptr noundef %3920, i32 noundef %3921) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3923:                                             ; preds = %3897
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %35) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %34) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %33) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %36) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %36, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %37) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %37, i8 0, i64 40, i1 false)
  %3924 = load i32, ptr @test_count, align 4, !tbaa !5
  %3925 = add nsw i32 %3924, 1
  store i32 %3925, ptr @test_count, align 4, !tbaa !5
  %3926 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %37, i32 noundef 0) #11
  %3927 = icmp eq i32 %3926, -1
  br i1 %3927, label %3928, label %3950

3928:                                             ; preds = %3923
  %3929 = load i32, ptr %284, align 4, !tbaa !5
  %3930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3931 = call i32 @s2n_print_stacktrace(ptr noundef %3930) #11
  %3932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3933 = trunc nuw i8 %3932 to i1
  br i1 %3933, label %3934, label %3938

3934:                                             ; preds = %3928
  %3935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3936 = call i32 @fileno(ptr noundef %3935) #11
  %3937 = call i32 @isatty(i32 noundef %3936) #11
  %.not517 = icmp eq i32 %3937, 0
  br i1 %.not517, label %3938, label %3939

3938:                                             ; preds = %3934, %3928
  br label %3939

3939:                                             ; preds = %3934, %3938
  %.str.5.sink1867 = phi ptr [ @.str.5, %3938 ], [ @.str.2, %3934 ]
  store i32 %3929, ptr %284, align 4, !tbaa !5
  %3940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = load i32, ptr %230, align 4, !tbaa !5
  %3943 = call ptr @s2n_strerror(i32 noundef %3942, ptr noundef nonnull @.str.4) #11
  %3944 = load i32, ptr %230, align 4, !tbaa !5
  %3945 = call ptr @s2n_strerror_debug(i32 noundef %3944, ptr noundef nonnull @.str.4) #11
  %3946 = load i32, ptr %284, align 4, !tbaa !5
  %3947 = call ptr @strerror(i32 noundef %3946) #11
  %3948 = load i32, ptr %284, align 4, !tbaa !5
  %3949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3940, ptr noundef nonnull %.str.5.sink1867, i32 noundef %3941, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 346, ptr noundef %3943, ptr noundef %3945, ptr noundef %3947, i32 noundef %3948) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3950:                                             ; preds = %3923
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %38) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %38, ptr noundef nonnull align 8 dereferenceable(40) %1, i64 40, i1 false), !tbaa.struct !37
  store i16 13, ptr %38, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %39) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %39, ptr noundef nonnull align 8 dereferenceable(40) @__const.main.test_extension_3, i64 40, i1 false)
  store i16 16, ptr %39, align 8, !tbaa !38
  %3951 = getelementptr inbounds i8, ptr %39, i64 8
  store ptr @s2n_extension_send_other_test_data, ptr %3951, align 8, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %40) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %40, i8 0, i64 16, i1 false)
  %3952 = load i32, ptr @test_count, align 4, !tbaa !5
  %3953 = add nsw i32 %3952, 1
  store i32 %3953, ptr @test_count, align 4, !tbaa !5
  %3954 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %37, ptr noundef nonnull %40) #11
  %3955 = icmp eq i32 %3954, -1
  br i1 %3955, label %3956, label %3978

3956:                                             ; preds = %3950
  %3957 = load i32, ptr %284, align 4, !tbaa !5
  %3958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3959 = call i32 @s2n_print_stacktrace(ptr noundef %3958) #11
  %3960 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3961 = trunc nuw i8 %3960 to i1
  br i1 %3961, label %3962, label %3966

3962:                                             ; preds = %3956
  %3963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3964 = call i32 @fileno(ptr noundef %3963) #11
  %3965 = call i32 @isatty(i32 noundef %3964) #11
  %.not516 = icmp eq i32 %3965, 0
  br i1 %.not516, label %3966, label %3967

3966:                                             ; preds = %3962, %3956
  br label %3967

3967:                                             ; preds = %3962, %3966
  %.str.5.sink1876 = phi ptr [ @.str.5, %3966 ], [ @.str.2, %3962 ]
  store i32 %3957, ptr %284, align 4, !tbaa !5
  %3968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3969 = load i32, ptr @test_count, align 4, !tbaa !5
  %3970 = load i32, ptr %230, align 4, !tbaa !5
  %3971 = call ptr @s2n_strerror(i32 noundef %3970, ptr noundef nonnull @.str.4) #11
  %3972 = load i32, ptr %230, align 4, !tbaa !5
  %3973 = call ptr @s2n_strerror_debug(i32 noundef %3972, ptr noundef nonnull @.str.4) #11
  %3974 = load i32, ptr %284, align 4, !tbaa !5
  %3975 = call ptr @strerror(i32 noundef %3974) #11
  %3976 = load i32, ptr %284, align 4, !tbaa !5
  %3977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3968, ptr noundef nonnull %.str.5.sink1876, i32 noundef %3969, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 356, ptr noundef %3971, ptr noundef %3973, ptr noundef %3975, i32 noundef %3976) #13
  call void @exit(i32 noundef 1) #14
  unreachable

3978:                                             ; preds = %3950
  %3979 = load i32, ptr @test_count, align 4, !tbaa !5
  %3980 = add nsw i32 %3979, 1
  store i32 %3980, ptr @test_count, align 4, !tbaa !5
  %3981 = call i32 @s2n_extension_send(ptr noundef nonnull @test_extension, ptr noundef nonnull %172, ptr noundef nonnull %37) #11
  %3982 = icmp eq i32 %3981, -1
  br i1 %3982, label %3983, label %4005

3983:                                             ; preds = %3978
  %3984 = load i32, ptr %284, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = call i32 @s2n_print_stacktrace(ptr noundef %3985) #11
  %3987 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3988 = trunc nuw i8 %3987 to i1
  br i1 %3988, label %3989, label %3993

3989:                                             ; preds = %3983
  %3990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3991 = call i32 @fileno(ptr noundef %3990) #11
  %3992 = call i32 @isatty(i32 noundef %3991) #11
  %.not515 = icmp eq i32 %3992, 0
  br i1 %.not515, label %3993, label %3994

3993:                                             ; preds = %3989, %3983
  br label %3994

3994:                                             ; preds = %3989, %3993
  %.str.5.sink1885 = phi ptr [ @.str.5, %3993 ], [ @.str.2, %3989 ]
  store i32 %3984, ptr %284, align 4, !tbaa !5
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = load i32, ptr %230, align 4, !tbaa !5
  %3998 = call ptr @s2n_strerror(i32 noundef %3997, ptr noundef nonnull @.str.4) #11
  %3999 = load i32, ptr %230, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror_debug(i32 noundef %3999, ptr noundef nonnull @.str.4) #11
  %4001 = load i32, ptr %284, align 4, !tbaa !5
  %4002 = call ptr @strerror(i32 noundef %4001) #11
  %4003 = load i32, ptr %284, align 4, !tbaa !5
  %4004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3995, ptr noundef nonnull %.str.5.sink1885, i32 noundef %3996, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %3998, ptr noundef %4000, ptr noundef %4002, i32 noundef %4003) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4005:                                             ; preds = %3978
  %4006 = load i32, ptr @test_count, align 4, !tbaa !5
  %4007 = add nsw i32 %4006, 1
  store i32 %4007, ptr @test_count, align 4, !tbaa !5
  %4008 = call i32 @s2n_extension_send(ptr noundef nonnull %38, ptr noundef nonnull %172, ptr noundef nonnull %37) #11
  %4009 = icmp eq i32 %4008, -1
  br i1 %4009, label %4010, label %4032

4010:                                             ; preds = %4005
  %4011 = load i32, ptr %284, align 4, !tbaa !5
  %4012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4013 = call i32 @s2n_print_stacktrace(ptr noundef %4012) #11
  %4014 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4015 = trunc nuw i8 %4014 to i1
  br i1 %4015, label %4016, label %4020

4016:                                             ; preds = %4010
  %4017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4018 = call i32 @fileno(ptr noundef %4017) #11
  %4019 = call i32 @isatty(i32 noundef %4018) #11
  %.not514 = icmp eq i32 %4019, 0
  br i1 %.not514, label %4020, label %4021

4020:                                             ; preds = %4016, %4010
  br label %4021

4021:                                             ; preds = %4016, %4020
  %.str.5.sink1894 = phi ptr [ @.str.5, %4020 ], [ @.str.2, %4016 ]
  store i32 %4011, ptr %284, align 4, !tbaa !5
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4023 = load i32, ptr @test_count, align 4, !tbaa !5
  %4024 = load i32, ptr %230, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror(i32 noundef %4024, ptr noundef nonnull @.str.4) #11
  %4026 = load i32, ptr %230, align 4, !tbaa !5
  %4027 = call ptr @s2n_strerror_debug(i32 noundef %4026, ptr noundef nonnull @.str.4) #11
  %4028 = load i32, ptr %284, align 4, !tbaa !5
  %4029 = call ptr @strerror(i32 noundef %4028) #11
  %4030 = load i32, ptr %284, align 4, !tbaa !5
  %4031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4022, ptr noundef nonnull %.str.5.sink1894, i32 noundef %4023, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %4025, ptr noundef %4027, ptr noundef %4029, i32 noundef %4030) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4032:                                             ; preds = %4005
  %4033 = load i32, ptr @test_count, align 4, !tbaa !5
  %4034 = add nsw i32 %4033, 1
  store i32 %4034, ptr @test_count, align 4, !tbaa !5
  %4035 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %37, i16 noundef zeroext -256) #11
  %4036 = icmp eq i32 %4035, -1
  br i1 %4036, label %4037, label %4059

4037:                                             ; preds = %4032
  %4038 = load i32, ptr %284, align 4, !tbaa !5
  %4039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4040 = call i32 @s2n_print_stacktrace(ptr noundef %4039) #11
  %4041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4042 = trunc nuw i8 %4041 to i1
  br i1 %4042, label %4043, label %4047

4043:                                             ; preds = %4037
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = call i32 @fileno(ptr noundef %4044) #11
  %4046 = call i32 @isatty(i32 noundef %4045) #11
  %.not513 = icmp eq i32 %4046, 0
  br i1 %.not513, label %4047, label %4048

4047:                                             ; preds = %4043, %4037
  br label %4048

4048:                                             ; preds = %4043, %4047
  %.str.5.sink1903 = phi ptr [ @.str.5, %4047 ], [ @.str.2, %4043 ]
  store i32 %4038, ptr %284, align 4, !tbaa !5
  %4049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4050 = load i32, ptr @test_count, align 4, !tbaa !5
  %4051 = load i32, ptr %230, align 4, !tbaa !5
  %4052 = call ptr @s2n_strerror(i32 noundef %4051, ptr noundef nonnull @.str.4) #11
  %4053 = load i32, ptr %230, align 4, !tbaa !5
  %4054 = call ptr @s2n_strerror_debug(i32 noundef %4053, ptr noundef nonnull @.str.4) #11
  %4055 = load i32, ptr %284, align 4, !tbaa !5
  %4056 = call ptr @strerror(i32 noundef %4055) #11
  %4057 = load i32, ptr %284, align 4, !tbaa !5
  %4058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4049, ptr noundef nonnull %.str.5.sink1903, i32 noundef %4050, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %4052, ptr noundef %4054, ptr noundef %4056, i32 noundef %4057) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4059:                                             ; preds = %4032
  %4060 = load i32, ptr @test_count, align 4, !tbaa !5
  %4061 = add nsw i32 %4060, 1
  store i32 %4061, ptr @test_count, align 4, !tbaa !5
  %4062 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %37, i16 noundef zeroext 0) #11
  %4063 = icmp eq i32 %4062, -1
  br i1 %4063, label %4064, label %4086

4064:                                             ; preds = %4059
  %4065 = load i32, ptr %284, align 4, !tbaa !5
  %4066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4067 = call i32 @s2n_print_stacktrace(ptr noundef %4066) #11
  %4068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4069 = trunc nuw i8 %4068 to i1
  br i1 %4069, label %4070, label %4074

4070:                                             ; preds = %4064
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = call i32 @fileno(ptr noundef %4071) #11
  %4073 = call i32 @isatty(i32 noundef %4072) #11
  %.not512 = icmp eq i32 %4073, 0
  br i1 %.not512, label %4074, label %4075

4074:                                             ; preds = %4070, %4064
  br label %4075

4075:                                             ; preds = %4070, %4074
  %.str.5.sink1912 = phi ptr [ @.str.5, %4074 ], [ @.str.2, %4070 ]
  store i32 %4065, ptr %284, align 4, !tbaa !5
  %4076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4077 = load i32, ptr @test_count, align 4, !tbaa !5
  %4078 = load i32, ptr %230, align 4, !tbaa !5
  %4079 = call ptr @s2n_strerror(i32 noundef %4078, ptr noundef nonnull @.str.4) #11
  %4080 = load i32, ptr %230, align 4, !tbaa !5
  %4081 = call ptr @s2n_strerror_debug(i32 noundef %4080, ptr noundef nonnull @.str.4) #11
  %4082 = load i32, ptr %284, align 4, !tbaa !5
  %4083 = call ptr @strerror(i32 noundef %4082) #11
  %4084 = load i32, ptr %284, align 4, !tbaa !5
  %4085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4076, ptr noundef nonnull %.str.5.sink1912, i32 noundef %4077, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 361, ptr noundef %4079, ptr noundef %4081, ptr noundef %4083, i32 noundef %4084) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4086:                                             ; preds = %4059
  %4087 = load i32, ptr @test_count, align 4, !tbaa !5
  %4088 = add nsw i32 %4087, 1
  store i32 %4088, ptr @test_count, align 4, !tbaa !5
  %4089 = call i32 @s2n_extension_send(ptr noundef nonnull %39, ptr noundef nonnull %172, ptr noundef nonnull %37) #11
  %4090 = icmp eq i32 %4089, -1
  br i1 %4090, label %4091, label %4113

4091:                                             ; preds = %4086
  %4092 = load i32, ptr %284, align 4, !tbaa !5
  %4093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4094 = call i32 @s2n_print_stacktrace(ptr noundef %4093) #11
  %4095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4096 = trunc nuw i8 %4095 to i1
  br i1 %4096, label %4097, label %4101

4097:                                             ; preds = %4091
  %4098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4099 = call i32 @fileno(ptr noundef %4098) #11
  %4100 = call i32 @isatty(i32 noundef %4099) #11
  %.not511 = icmp eq i32 %4100, 0
  br i1 %.not511, label %4101, label %4102

4101:                                             ; preds = %4097, %4091
  br label %4102

4102:                                             ; preds = %4097, %4101
  %.str.5.sink1921 = phi ptr [ @.str.5, %4101 ], [ @.str.2, %4097 ]
  store i32 %4092, ptr %284, align 4, !tbaa !5
  %4103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4104 = load i32, ptr @test_count, align 4, !tbaa !5
  %4105 = load i32, ptr %230, align 4, !tbaa !5
  %4106 = call ptr @s2n_strerror(i32 noundef %4105, ptr noundef nonnull @.str.4) #11
  %4107 = load i32, ptr %230, align 4, !tbaa !5
  %4108 = call ptr @s2n_strerror_debug(i32 noundef %4107, ptr noundef nonnull @.str.4) #11
  %4109 = load i32, ptr %284, align 4, !tbaa !5
  %4110 = call ptr @strerror(i32 noundef %4109) #11
  %4111 = load i32, ptr %284, align 4, !tbaa !5
  %4112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4103, ptr noundef nonnull %.str.5.sink1921, i32 noundef %4104, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4106, ptr noundef %4108, ptr noundef %4110, i32 noundef %4111) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4113:                                             ; preds = %4086
  %4114 = load i32, ptr @test_count, align 4, !tbaa !5
  %4115 = add nsw i32 %4114, 1
  store i32 %4115, ptr @test_count, align 4, !tbaa !5
  %4116 = getelementptr inbounds i8, ptr %37, i64 28
  %4117 = load i32, ptr %4116, align 4, !tbaa !21
  %4118 = getelementptr inbounds i8, ptr %37, i64 24
  %4119 = load i32, ptr %4118, align 8, !tbaa !23
  %4120 = sub i32 %4117, %4119
  %4121 = getelementptr inbounds i8, ptr %40, i64 12
  %4122 = load i8, ptr %4121, align 4, !tbaa !30
  %4123 = zext i8 %4122 to i32
  %4124 = icmp ugt i32 %4120, %4123
  br i1 %4124, label %4147, label %4125

4125:                                             ; preds = %4113
  %4126 = load i32, ptr %284, align 4, !tbaa !5
  %4127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4128 = call i32 @s2n_print_stacktrace(ptr noundef %4127) #11
  %4129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4130 = trunc nuw i8 %4129 to i1
  br i1 %4130, label %4131, label %4135

4131:                                             ; preds = %4125
  %4132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4133 = call i32 @fileno(ptr noundef %4132) #11
  %4134 = call i32 @isatty(i32 noundef %4133) #11
  %.not466 = icmp eq i32 %4134, 0
  br i1 %.not466, label %4135, label %4136

4135:                                             ; preds = %4131, %4125
  br label %4136

4136:                                             ; preds = %4131, %4135
  %.str.5.sink1930 = phi ptr [ @.str.5, %4135 ], [ @.str.2, %4131 ]
  store i32 %4126, ptr %284, align 4, !tbaa !5
  %4137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4138 = load i32, ptr @test_count, align 4, !tbaa !5
  %4139 = load i32, ptr %230, align 4, !tbaa !5
  %4140 = call ptr @s2n_strerror(i32 noundef %4139, ptr noundef nonnull @.str.4) #11
  %4141 = load i32, ptr %230, align 4, !tbaa !5
  %4142 = call ptr @s2n_strerror_debug(i32 noundef %4141, ptr noundef nonnull @.str.4) #11
  %4143 = load i32, ptr %284, align 4, !tbaa !5
  %4144 = call ptr @strerror(i32 noundef %4143) #11
  %4145 = load i32, ptr %284, align 4, !tbaa !5
  %4146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4137, ptr noundef nonnull %.str.5.sink1930, i32 noundef %4138, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4140, ptr noundef %4142, ptr noundef %4144, i32 noundef %4145) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4147:                                             ; preds = %4113
  %4148 = add nsw i32 %4114, 2
  store i32 %4148, ptr @test_count, align 4, !tbaa !5
  %4149 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %40) #11
  %4150 = icmp eq i32 %4149, -1
  br i1 %4150, label %4151, label %4173

4151:                                             ; preds = %4147
  %4152 = load i32, ptr %284, align 4, !tbaa !5
  %4153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4154 = call i32 @s2n_print_stacktrace(ptr noundef %4153) #11
  %4155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4156 = trunc nuw i8 %4155 to i1
  br i1 %4156, label %4157, label %4161

4157:                                             ; preds = %4151
  %4158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4159 = call i32 @fileno(ptr noundef %4158) #11
  %4160 = call i32 @isatty(i32 noundef %4159) #11
  %.not510 = icmp eq i32 %4160, 0
  br i1 %.not510, label %4161, label %4162

4161:                                             ; preds = %4157, %4151
  br label %4162

4162:                                             ; preds = %4157, %4161
  %.str.5.sink1939 = phi ptr [ @.str.5, %4161 ], [ @.str.2, %4157 ]
  store i32 %4152, ptr %284, align 4, !tbaa !5
  %4163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4164 = load i32, ptr @test_count, align 4, !tbaa !5
  %4165 = load i32, ptr %230, align 4, !tbaa !5
  %4166 = call ptr @s2n_strerror(i32 noundef %4165, ptr noundef nonnull @.str.4) #11
  %4167 = load i32, ptr %230, align 4, !tbaa !5
  %4168 = call ptr @s2n_strerror_debug(i32 noundef %4167, ptr noundef nonnull @.str.4) #11
  %4169 = load i32, ptr %284, align 4, !tbaa !5
  %4170 = call ptr @strerror(i32 noundef %4169) #11
  %4171 = load i32, ptr %284, align 4, !tbaa !5
  %4172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4163, ptr noundef nonnull %.str.5.sink1939, i32 noundef %4164, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 365, ptr noundef %4166, ptr noundef %4168, ptr noundef %4170, i32 noundef %4171) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4173:                                             ; preds = %4147
  %4174 = load i32, ptr @test_count, align 4, !tbaa !5
  %4175 = add nsw i32 %4174, 1
  store i32 %4175, ptr @test_count, align 4, !tbaa !5
  %4176 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %37, ptr noundef nonnull %36) #11
  %4177 = icmp eq i32 %4176, -1
  br i1 %4177, label %4178, label %4200

4178:                                             ; preds = %4173
  %4179 = load i32, ptr %284, align 4, !tbaa !5
  %4180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4181 = call i32 @s2n_print_stacktrace(ptr noundef %4180) #11
  %4182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4183 = trunc nuw i8 %4182 to i1
  br i1 %4183, label %4184, label %4188

4184:                                             ; preds = %4178
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = call i32 @fileno(ptr noundef %4185) #11
  %4187 = call i32 @isatty(i32 noundef %4186) #11
  %.not509 = icmp eq i32 %4187, 0
  br i1 %.not509, label %4188, label %4189

4188:                                             ; preds = %4184, %4178
  br label %4189

4189:                                             ; preds = %4184, %4188
  %.str.5.sink1948 = phi ptr [ @.str.5, %4188 ], [ @.str.2, %4184 ]
  store i32 %4179, ptr %284, align 4, !tbaa !5
  %4190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4191 = load i32, ptr @test_count, align 4, !tbaa !5
  %4192 = load i32, ptr %230, align 4, !tbaa !5
  %4193 = call ptr @s2n_strerror(i32 noundef %4192, ptr noundef nonnull @.str.4) #11
  %4194 = load i32, ptr %230, align 4, !tbaa !5
  %4195 = call ptr @s2n_strerror_debug(i32 noundef %4194, ptr noundef nonnull @.str.4) #11
  %4196 = load i32, ptr %284, align 4, !tbaa !5
  %4197 = call ptr @strerror(i32 noundef %4196) #11
  %4198 = load i32, ptr %284, align 4, !tbaa !5
  %4199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4190, ptr noundef nonnull %.str.5.sink1948, i32 noundef %4191, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %4193, ptr noundef %4195, ptr noundef %4197, i32 noundef %4198) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4200:                                             ; preds = %4173
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %41) #11
  %4201 = load i32, ptr @test_count, align 4, !tbaa !5
  %4202 = add nsw i32 %4201, 1
  store i32 %4202, ptr @test_count, align 4, !tbaa !5
  %4203 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %41) #11
  %4204 = icmp eq i32 %4203, -1
  br i1 %4204, label %4205, label %4227

4205:                                             ; preds = %4200
  %4206 = load i32, ptr %284, align 4, !tbaa !5
  %4207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4208 = call i32 @s2n_print_stacktrace(ptr noundef %4207) #11
  %4209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4210 = trunc nuw i8 %4209 to i1
  br i1 %4210, label %4211, label %4215

4211:                                             ; preds = %4205
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @fileno(ptr noundef %4212) #11
  %4214 = call i32 @isatty(i32 noundef %4213) #11
  %.not508 = icmp eq i32 %4214, 0
  br i1 %.not508, label %4215, label %4216

4215:                                             ; preds = %4211, %4205
  br label %4216

4216:                                             ; preds = %4211, %4215
  %.str.5.sink1957 = phi ptr [ @.str.5, %4215 ], [ @.str.2, %4211 ]
  store i32 %4206, ptr %284, align 4, !tbaa !5
  %4217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4218 = load i32, ptr @test_count, align 4, !tbaa !5
  %4219 = load i32, ptr %230, align 4, !tbaa !5
  %4220 = call ptr @s2n_strerror(i32 noundef %4219, ptr noundef nonnull @.str.4) #11
  %4221 = load i32, ptr %230, align 4, !tbaa !5
  %4222 = call ptr @s2n_strerror_debug(i32 noundef %4221, ptr noundef nonnull @.str.4) #11
  %4223 = load i32, ptr %284, align 4, !tbaa !5
  %4224 = call ptr @strerror(i32 noundef %4223) #11
  %4225 = load i32, ptr %284, align 4, !tbaa !5
  %4226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4217, ptr noundef nonnull %.str.5.sink1957, i32 noundef %4218, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4220, ptr noundef %4222, ptr noundef %4224, i32 noundef %4225) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4227:                                             ; preds = %4200
  %4228 = load i32, ptr @test_count, align 4, !tbaa !5
  %4229 = add nsw i32 %4228, 1
  store i32 %4229, ptr @test_count, align 4, !tbaa !5
  %4230 = load i8, ptr %41, align 1, !tbaa !32
  %4231 = zext i8 %4230 to i64
  %4232 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4231
  %4233 = load ptr, ptr %4232, align 8, !tbaa !33
  %4234 = icmp eq ptr %4233, null
  br i1 %4234, label %4235, label %4257

4235:                                             ; preds = %4227
  %4236 = load i32, ptr %284, align 4, !tbaa !5
  %4237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4238 = call i32 @s2n_print_stacktrace(ptr noundef %4237) #11
  %4239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4240 = trunc nuw i8 %4239 to i1
  br i1 %4240, label %4241, label %4245

4241:                                             ; preds = %4235
  %4242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4243 = call i32 @fileno(ptr noundef %4242) #11
  %4244 = call i32 @isatty(i32 noundef %4243) #11
  %.not507 = icmp eq i32 %4244, 0
  br i1 %.not507, label %4245, label %4246

4245:                                             ; preds = %4241, %4235
  br label %4246

4246:                                             ; preds = %4241, %4245
  %.str.5.sink1966 = phi ptr [ @.str.5, %4245 ], [ @.str.2, %4241 ]
  store i32 %4236, ptr %284, align 4, !tbaa !5
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = load i32, ptr @test_count, align 4, !tbaa !5
  %4249 = load i32, ptr %230, align 4, !tbaa !5
  %4250 = call ptr @s2n_strerror(i32 noundef %4249, ptr noundef nonnull @.str.4) #11
  %4251 = load i32, ptr %230, align 4, !tbaa !5
  %4252 = call ptr @s2n_strerror_debug(i32 noundef %4251, ptr noundef nonnull @.str.4) #11
  %4253 = load i32, ptr %284, align 4, !tbaa !5
  %4254 = call ptr @strerror(i32 noundef %4253) #11
  %4255 = load i32, ptr %284, align 4, !tbaa !5
  %4256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4247, ptr noundef nonnull %.str.5.sink1966, i32 noundef %4248, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4250, ptr noundef %4252, ptr noundef %4254, i32 noundef %4255) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4257:                                             ; preds = %4227
  %4258 = add nsw i32 %4228, 2
  store i32 %4258, ptr @test_count, align 4, !tbaa !5
  %4259 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4231, i32 0, i32 1
  %4260 = load i32, ptr %4259, align 8, !tbaa !34
  %4261 = icmp eq i32 %4260, 10
  br i1 %4261, label %4284, label %4262

4262:                                             ; preds = %4257
  %4263 = load i32, ptr %284, align 4, !tbaa !5
  %4264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4265 = call i32 @s2n_print_stacktrace(ptr noundef %4264) #11
  %4266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4267 = trunc nuw i8 %4266 to i1
  br i1 %4267, label %4268, label %4272

4268:                                             ; preds = %4262
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = call i32 @fileno(ptr noundef %4269) #11
  %4271 = call i32 @isatty(i32 noundef %4270) #11
  %.not467 = icmp eq i32 %4271, 0
  br i1 %.not467, label %4272, label %4273

4272:                                             ; preds = %4268, %4262
  br label %4273

4273:                                             ; preds = %4268, %4272
  %.str.5.sink1975 = phi ptr [ @.str.5, %4272 ], [ @.str.2, %4268 ]
  store i32 %4263, ptr %284, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = load i32, ptr @test_count, align 4, !tbaa !5
  %4276 = load i32, ptr %230, align 4, !tbaa !5
  %4277 = call ptr @s2n_strerror(i32 noundef %4276, ptr noundef nonnull @.str.4) #11
  %4278 = load i32, ptr %230, align 4, !tbaa !5
  %4279 = call ptr @s2n_strerror_debug(i32 noundef %4278, ptr noundef nonnull @.str.4) #11
  %4280 = load i32, ptr %284, align 4, !tbaa !5
  %4281 = call ptr @strerror(i32 noundef %4280) #11
  %4282 = load i32, ptr %284, align 4, !tbaa !5
  %4283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4274, ptr noundef nonnull %.str.5.sink1975, i32 noundef %4275, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4277, ptr noundef %4279, ptr noundef %4281, i32 noundef %4282) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4284:                                             ; preds = %4257
  %4285 = add nsw i32 %4228, 3
  store i32 %4285, ptr @test_count, align 4, !tbaa !5
  %bcmp468 = call i32 @bcmp(ptr noundef nonnull dereferenceable(10) %4233, ptr noundef nonnull dereferenceable(10) @test_data, i64 10)
  %4286 = icmp eq i32 %bcmp468, 0
  br i1 %4286, label %4309, label %4287

4287:                                             ; preds = %4284
  %4288 = load i32, ptr %284, align 4, !tbaa !5
  %4289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4290 = call i32 @s2n_print_stacktrace(ptr noundef %4289) #11
  %4291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4292 = trunc nuw i8 %4291 to i1
  br i1 %4292, label %4293, label %4297

4293:                                             ; preds = %4287
  %4294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4295 = call i32 @fileno(ptr noundef %4294) #11
  %4296 = call i32 @isatty(i32 noundef %4295) #11
  %.not469 = icmp eq i32 %4296, 0
  br i1 %.not469, label %4297, label %4298

4297:                                             ; preds = %4293, %4287
  br label %4298

4298:                                             ; preds = %4293, %4297
  %.str.5.sink1984 = phi ptr [ @.str.5, %4297 ], [ @.str.2, %4293 ]
  store i32 %4288, ptr %284, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = load i32, ptr @test_count, align 4, !tbaa !5
  %4301 = load i32, ptr %230, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror(i32 noundef %4301, ptr noundef nonnull @.str.4) #11
  %4303 = load i32, ptr %230, align 4, !tbaa !5
  %4304 = call ptr @s2n_strerror_debug(i32 noundef %4303, ptr noundef nonnull @.str.4) #11
  %4305 = load i32, ptr %284, align 4, !tbaa !5
  %4306 = call ptr @strerror(i32 noundef %4305) #11
  %4307 = load i32, ptr %284, align 4, !tbaa !5
  %4308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4299, ptr noundef nonnull %.str.5.sink1984, i32 noundef %4300, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4302, ptr noundef %4304, ptr noundef %4306, i32 noundef %4307) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4309:                                             ; preds = %4284
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %41) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %42) #11
  %4310 = add nsw i32 %4228, 4
  store i32 %4310, ptr @test_count, align 4, !tbaa !5
  %4311 = load i16, ptr %38, align 8, !tbaa !38
  %4312 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %4311, ptr noundef nonnull %42) #11
  %4313 = icmp eq i32 %4312, -1
  br i1 %4313, label %4314, label %4336

4314:                                             ; preds = %4309
  %4315 = load i32, ptr %284, align 4, !tbaa !5
  %4316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4317 = call i32 @s2n_print_stacktrace(ptr noundef %4316) #11
  %4318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4319 = trunc nuw i8 %4318 to i1
  br i1 %4319, label %4320, label %4324

4320:                                             ; preds = %4314
  %4321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4322 = call i32 @fileno(ptr noundef %4321) #11
  %4323 = call i32 @isatty(i32 noundef %4322) #11
  %.not506 = icmp eq i32 %4323, 0
  br i1 %.not506, label %4324, label %4325

4324:                                             ; preds = %4320, %4314
  br label %4325

4325:                                             ; preds = %4320, %4324
  %.str.5.sink1993 = phi ptr [ @.str.5, %4324 ], [ @.str.2, %4320 ]
  store i32 %4315, ptr %284, align 4, !tbaa !5
  %4326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4327 = load i32, ptr @test_count, align 4, !tbaa !5
  %4328 = load i32, ptr %230, align 4, !tbaa !5
  %4329 = call ptr @s2n_strerror(i32 noundef %4328, ptr noundef nonnull @.str.4) #11
  %4330 = load i32, ptr %230, align 4, !tbaa !5
  %4331 = call ptr @s2n_strerror_debug(i32 noundef %4330, ptr noundef nonnull @.str.4) #11
  %4332 = load i32, ptr %284, align 4, !tbaa !5
  %4333 = call ptr @strerror(i32 noundef %4332) #11
  %4334 = load i32, ptr %284, align 4, !tbaa !5
  %4335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4326, ptr noundef nonnull %.str.5.sink1993, i32 noundef %4327, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %4329, ptr noundef %4331, ptr noundef %4333, i32 noundef %4334) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4336:                                             ; preds = %4309
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = add nsw i32 %4337, 1
  store i32 %4338, ptr @test_count, align 4, !tbaa !5
  %4339 = load i8, ptr %42, align 1, !tbaa !32
  %4340 = zext i8 %4339 to i64
  %4341 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4340
  %4342 = load ptr, ptr %4341, align 8, !tbaa !33
  %4343 = icmp eq ptr %4342, null
  br i1 %4343, label %4344, label %4366

4344:                                             ; preds = %4336
  %4345 = load i32, ptr %284, align 4, !tbaa !5
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @s2n_print_stacktrace(ptr noundef %4346) #11
  %4348 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4349 = trunc nuw i8 %4348 to i1
  br i1 %4349, label %4350, label %4354

4350:                                             ; preds = %4344
  %4351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4352 = call i32 @fileno(ptr noundef %4351) #11
  %4353 = call i32 @isatty(i32 noundef %4352) #11
  %.not505 = icmp eq i32 %4353, 0
  br i1 %.not505, label %4354, label %4355

4354:                                             ; preds = %4350, %4344
  br label %4355

4355:                                             ; preds = %4350, %4354
  %.str.5.sink2002 = phi ptr [ @.str.5, %4354 ], [ @.str.2, %4350 ]
  store i32 %4345, ptr %284, align 4, !tbaa !5
  %4356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4357 = load i32, ptr @test_count, align 4, !tbaa !5
  %4358 = load i32, ptr %230, align 4, !tbaa !5
  %4359 = call ptr @s2n_strerror(i32 noundef %4358, ptr noundef nonnull @.str.4) #11
  %4360 = load i32, ptr %230, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4360, ptr noundef nonnull @.str.4) #11
  %4362 = load i32, ptr %284, align 4, !tbaa !5
  %4363 = call ptr @strerror(i32 noundef %4362) #11
  %4364 = load i32, ptr %284, align 4, !tbaa !5
  %4365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4356, ptr noundef nonnull %.str.5.sink2002, i32 noundef %4357, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %4359, ptr noundef %4361, ptr noundef %4363, i32 noundef %4364) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4366:                                             ; preds = %4336
  %4367 = add nsw i32 %4337, 2
  store i32 %4367, ptr @test_count, align 4, !tbaa !5
  %4368 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4340, i32 0, i32 1
  %4369 = load i32, ptr %4368, align 8, !tbaa !34
  %4370 = icmp eq i32 %4369, 0
  br i1 %4370, label %4393, label %4371

4371:                                             ; preds = %4366
  %4372 = load i32, ptr %284, align 4, !tbaa !5
  %4373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4374 = call i32 @s2n_print_stacktrace(ptr noundef %4373) #11
  %4375 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4376 = trunc nuw i8 %4375 to i1
  br i1 %4376, label %4377, label %4381

4377:                                             ; preds = %4371
  %4378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4379 = call i32 @fileno(ptr noundef %4378) #11
  %4380 = call i32 @isatty(i32 noundef %4379) #11
  %.not470 = icmp eq i32 %4380, 0
  br i1 %.not470, label %4381, label %4382

4381:                                             ; preds = %4377, %4371
  br label %4382

4382:                                             ; preds = %4377, %4381
  %.str.5.sink2011 = phi ptr [ @.str.5, %4381 ], [ @.str.2, %4377 ]
  store i32 %4372, ptr %284, align 4, !tbaa !5
  %4383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4384 = load i32, ptr @test_count, align 4, !tbaa !5
  %4385 = load i32, ptr %230, align 4, !tbaa !5
  %4386 = call ptr @s2n_strerror(i32 noundef %4385, ptr noundef nonnull @.str.4) #11
  %4387 = load i32, ptr %230, align 4, !tbaa !5
  %4388 = call ptr @s2n_strerror_debug(i32 noundef %4387, ptr noundef nonnull @.str.4) #11
  %4389 = load i32, ptr %284, align 4, !tbaa !5
  %4390 = call ptr @strerror(i32 noundef %4389) #11
  %4391 = load i32, ptr %284, align 4, !tbaa !5
  %4392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4383, ptr noundef nonnull %.str.5.sink2011, i32 noundef %4384, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 370, ptr noundef %4386, ptr noundef %4388, ptr noundef %4390, i32 noundef %4391) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4393:                                             ; preds = %4366
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %42) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %43) #11
  %4394 = add nsw i32 %4337, 3
  store i32 %4394, ptr @test_count, align 4, !tbaa !5
  %4395 = load i16, ptr %39, align 8, !tbaa !38
  %4396 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %4395, ptr noundef nonnull %43) #11
  %4397 = icmp eq i32 %4396, -1
  br i1 %4397, label %4398, label %4420

4398:                                             ; preds = %4393
  %4399 = load i32, ptr %284, align 4, !tbaa !5
  %4400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4401 = call i32 @s2n_print_stacktrace(ptr noundef %4400) #11
  %4402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4403 = trunc nuw i8 %4402 to i1
  br i1 %4403, label %4404, label %4408

4404:                                             ; preds = %4398
  %4405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4406 = call i32 @fileno(ptr noundef %4405) #11
  %4407 = call i32 @isatty(i32 noundef %4406) #11
  %.not504 = icmp eq i32 %4407, 0
  br i1 %.not504, label %4408, label %4409

4408:                                             ; preds = %4404, %4398
  br label %4409

4409:                                             ; preds = %4404, %4408
  %.str.5.sink2020 = phi ptr [ @.str.5, %4408 ], [ @.str.2, %4404 ]
  store i32 %4399, ptr %284, align 4, !tbaa !5
  %4410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4411 = load i32, ptr @test_count, align 4, !tbaa !5
  %4412 = load i32, ptr %230, align 4, !tbaa !5
  %4413 = call ptr @s2n_strerror(i32 noundef %4412, ptr noundef nonnull @.str.4) #11
  %4414 = load i32, ptr %230, align 4, !tbaa !5
  %4415 = call ptr @s2n_strerror_debug(i32 noundef %4414, ptr noundef nonnull @.str.4) #11
  %4416 = load i32, ptr %284, align 4, !tbaa !5
  %4417 = call ptr @strerror(i32 noundef %4416) #11
  %4418 = load i32, ptr %284, align 4, !tbaa !5
  %4419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4410, ptr noundef nonnull %.str.5.sink2020, i32 noundef %4411, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4413, ptr noundef %4415, ptr noundef %4417, i32 noundef %4418) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4420:                                             ; preds = %4393
  %4421 = load i32, ptr @test_count, align 4, !tbaa !5
  %4422 = add nsw i32 %4421, 1
  store i32 %4422, ptr @test_count, align 4, !tbaa !5
  %4423 = load i8, ptr %43, align 1, !tbaa !32
  %4424 = zext i8 %4423 to i64
  %4425 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4424
  %4426 = load ptr, ptr %4425, align 8, !tbaa !33
  %4427 = icmp eq ptr %4426, null
  br i1 %4427, label %4428, label %4450

4428:                                             ; preds = %4420
  %4429 = load i32, ptr %284, align 4, !tbaa !5
  %4430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4431 = call i32 @s2n_print_stacktrace(ptr noundef %4430) #11
  %4432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4433 = trunc nuw i8 %4432 to i1
  br i1 %4433, label %4434, label %4438

4434:                                             ; preds = %4428
  %4435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4436 = call i32 @fileno(ptr noundef %4435) #11
  %4437 = call i32 @isatty(i32 noundef %4436) #11
  %.not503 = icmp eq i32 %4437, 0
  br i1 %.not503, label %4438, label %4439

4438:                                             ; preds = %4434, %4428
  br label %4439

4439:                                             ; preds = %4434, %4438
  %.str.5.sink2029 = phi ptr [ @.str.5, %4438 ], [ @.str.2, %4434 ]
  store i32 %4429, ptr %284, align 4, !tbaa !5
  %4440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4441 = load i32, ptr @test_count, align 4, !tbaa !5
  %4442 = load i32, ptr %230, align 4, !tbaa !5
  %4443 = call ptr @s2n_strerror(i32 noundef %4442, ptr noundef nonnull @.str.4) #11
  %4444 = load i32, ptr %230, align 4, !tbaa !5
  %4445 = call ptr @s2n_strerror_debug(i32 noundef %4444, ptr noundef nonnull @.str.4) #11
  %4446 = load i32, ptr %284, align 4, !tbaa !5
  %4447 = call ptr @strerror(i32 noundef %4446) #11
  %4448 = load i32, ptr %284, align 4, !tbaa !5
  %4449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4440, ptr noundef nonnull %.str.5.sink2029, i32 noundef %4441, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4443, ptr noundef %4445, ptr noundef %4447, i32 noundef %4448) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4450:                                             ; preds = %4420
  %4451 = add nsw i32 %4421, 2
  store i32 %4451, ptr @test_count, align 4, !tbaa !5
  %4452 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4424, i32 0, i32 1
  %4453 = load i32, ptr %4452, align 8, !tbaa !34
  %4454 = icmp eq i32 %4453, 20
  br i1 %4454, label %4477, label %4455

4455:                                             ; preds = %4450
  %4456 = load i32, ptr %284, align 4, !tbaa !5
  %4457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4458 = call i32 @s2n_print_stacktrace(ptr noundef %4457) #11
  %4459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4460 = trunc nuw i8 %4459 to i1
  br i1 %4460, label %4461, label %4465

4461:                                             ; preds = %4455
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @fileno(ptr noundef %4462) #11
  %4464 = call i32 @isatty(i32 noundef %4463) #11
  %.not471 = icmp eq i32 %4464, 0
  br i1 %.not471, label %4465, label %4466

4465:                                             ; preds = %4461, %4455
  br label %4466

4466:                                             ; preds = %4461, %4465
  %.str.5.sink2038 = phi ptr [ @.str.5, %4465 ], [ @.str.2, %4461 ]
  store i32 %4456, ptr %284, align 4, !tbaa !5
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = load i32, ptr @test_count, align 4, !tbaa !5
  %4469 = load i32, ptr %230, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror(i32 noundef %4469, ptr noundef nonnull @.str.4) #11
  %4471 = load i32, ptr %230, align 4, !tbaa !5
  %4472 = call ptr @s2n_strerror_debug(i32 noundef %4471, ptr noundef nonnull @.str.4) #11
  %4473 = load i32, ptr %284, align 4, !tbaa !5
  %4474 = call ptr @strerror(i32 noundef %4473) #11
  %4475 = load i32, ptr %284, align 4, !tbaa !5
  %4476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4467, ptr noundef nonnull %.str.5.sink2038, i32 noundef %4468, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4470, ptr noundef %4472, ptr noundef %4474, i32 noundef %4475) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4477:                                             ; preds = %4450
  %4478 = add nsw i32 %4421, 3
  store i32 %4478, ptr @test_count, align 4, !tbaa !5
  %bcmp472 = call i32 @bcmp(ptr noundef nonnull dereferenceable(20) %4426, ptr noundef nonnull dereferenceable(20) @other_test_data, i64 20)
  %4479 = icmp eq i32 %bcmp472, 0
  br i1 %4479, label %4502, label %4480

4480:                                             ; preds = %4477
  %4481 = load i32, ptr %284, align 4, !tbaa !5
  %4482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4483 = call i32 @s2n_print_stacktrace(ptr noundef %4482) #11
  %4484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4485 = trunc nuw i8 %4484 to i1
  br i1 %4485, label %4486, label %4490

4486:                                             ; preds = %4480
  %4487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4488 = call i32 @fileno(ptr noundef %4487) #11
  %4489 = call i32 @isatty(i32 noundef %4488) #11
  %.not473 = icmp eq i32 %4489, 0
  br i1 %.not473, label %4490, label %4491

4490:                                             ; preds = %4486, %4480
  br label %4491

4491:                                             ; preds = %4486, %4490
  %.str.5.sink2047 = phi ptr [ @.str.5, %4490 ], [ @.str.2, %4486 ]
  store i32 %4481, ptr %284, align 4, !tbaa !5
  %4492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4493 = load i32, ptr @test_count, align 4, !tbaa !5
  %4494 = load i32, ptr %230, align 4, !tbaa !5
  %4495 = call ptr @s2n_strerror(i32 noundef %4494, ptr noundef nonnull @.str.4) #11
  %4496 = load i32, ptr %230, align 4, !tbaa !5
  %4497 = call ptr @s2n_strerror_debug(i32 noundef %4496, ptr noundef nonnull @.str.4) #11
  %4498 = load i32, ptr %284, align 4, !tbaa !5
  %4499 = call ptr @strerror(i32 noundef %4498) #11
  %4500 = load i32, ptr %284, align 4, !tbaa !5
  %4501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4492, ptr noundef nonnull %.str.5.sink2047, i32 noundef %4493, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 371, ptr noundef %4495, ptr noundef %4497, ptr noundef %4499, i32 noundef %4500) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4502:                                             ; preds = %4477
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %43) #11
  %4503 = add nsw i32 %4421, 4
  store i32 %4503, ptr @test_count, align 4, !tbaa !5
  %4504 = getelementptr inbounds i8, ptr %36, i64 672
  %4505 = load ptr, ptr %4504, align 8, !tbaa !24
  %4506 = load ptr, ptr %37, align 8, !tbaa !26
  %4507 = getelementptr inbounds i8, ptr %4506, i64 2
  %4508 = icmp eq ptr %4505, %4507
  br i1 %4508, label %4531, label %4509

4509:                                             ; preds = %4502
  %4510 = load i32, ptr %284, align 4, !tbaa !5
  %4511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4512 = call i32 @s2n_print_stacktrace(ptr noundef %4511) #11
  %4513 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4514 = trunc nuw i8 %4513 to i1
  br i1 %4514, label %4515, label %4519

4515:                                             ; preds = %4509
  %4516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4517 = call i32 @fileno(ptr noundef %4516) #11
  %4518 = call i32 @isatty(i32 noundef %4517) #11
  %.not474 = icmp eq i32 %4518, 0
  br i1 %.not474, label %4519, label %4520

4519:                                             ; preds = %4515, %4509
  br label %4520

4520:                                             ; preds = %4515, %4519
  %.str.5.sink2056 = phi ptr [ @.str.5, %4519 ], [ @.str.2, %4515 ]
  store i32 %4510, ptr %284, align 4, !tbaa !5
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = load i32, ptr @test_count, align 4, !tbaa !5
  %4523 = load i32, ptr %230, align 4, !tbaa !5
  %4524 = call ptr @s2n_strerror(i32 noundef %4523, ptr noundef nonnull @.str.4) #11
  %4525 = load i32, ptr %230, align 4, !tbaa !5
  %4526 = call ptr @s2n_strerror_debug(i32 noundef %4525, ptr noundef nonnull @.str.4) #11
  %4527 = load i32, ptr %284, align 4, !tbaa !5
  %4528 = call ptr @strerror(i32 noundef %4527) #11
  %4529 = load i32, ptr %284, align 4, !tbaa !5
  %4530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4521, ptr noundef nonnull %.str.5.sink2056, i32 noundef %4522, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %4524, ptr noundef %4526, ptr noundef %4528, i32 noundef %4529) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4531:                                             ; preds = %4502
  %4532 = add nsw i32 %4421, 5
  store i32 %4532, ptr @test_count, align 4, !tbaa !5
  %4533 = getelementptr inbounds i8, ptr %36, i64 680
  %4534 = load i32, ptr %4533, align 8, !tbaa !27
  %4535 = zext i32 %4534 to i64
  %4536 = getelementptr inbounds i8, ptr %37, i64 32
  %4537 = load i32, ptr %4536, align 8, !tbaa !29
  %4538 = zext i32 %4537 to i64
  %4539 = add nsw i64 %4538, -2
  %4540 = icmp eq i64 %4539, %4535
  br i1 %4540, label %4563, label %4541

4541:                                             ; preds = %4531
  %4542 = load i32, ptr %284, align 4, !tbaa !5
  %4543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4544 = call i32 @s2n_print_stacktrace(ptr noundef %4543) #11
  %4545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4546 = trunc nuw i8 %4545 to i1
  br i1 %4546, label %4547, label %4551

4547:                                             ; preds = %4541
  %4548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4549 = call i32 @fileno(ptr noundef %4548) #11
  %4550 = call i32 @isatty(i32 noundef %4549) #11
  %.not475 = icmp eq i32 %4550, 0
  br i1 %.not475, label %4551, label %4552

4551:                                             ; preds = %4547, %4541
  br label %4552

4552:                                             ; preds = %4547, %4551
  %.str.5.sink2065 = phi ptr [ @.str.5, %4551 ], [ @.str.2, %4547 ]
  store i32 %4542, ptr %284, align 4, !tbaa !5
  %4553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4554 = load i32, ptr @test_count, align 4, !tbaa !5
  %4555 = load i32, ptr %230, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror(i32 noundef %4555, ptr noundef nonnull @.str.4) #11
  %4557 = load i32, ptr %230, align 4, !tbaa !5
  %4558 = call ptr @s2n_strerror_debug(i32 noundef %4557, ptr noundef nonnull @.str.4) #11
  %4559 = load i32, ptr %284, align 4, !tbaa !5
  %4560 = call ptr @strerror(i32 noundef %4559) #11
  %4561 = load i32, ptr %284, align 4, !tbaa !5
  %4562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4553, ptr noundef nonnull %.str.5.sink2065, i32 noundef %4554, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 372, ptr noundef %4556, ptr noundef %4558, ptr noundef %4560, i32 noundef %4561) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4563:                                             ; preds = %4531
  %4564 = add nsw i32 %4421, 6
  store i32 %4564, ptr @test_count, align 4, !tbaa !5
  %4565 = getelementptr inbounds i8, ptr %36, i64 696
  %4566 = load i16, ptr %4565, align 8, !tbaa !28
  %4567 = icmp eq i16 %4566, 3
  br i1 %4567, label %4590, label %4568

4568:                                             ; preds = %4563
  %4569 = load i32, ptr %284, align 4, !tbaa !5
  %4570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4571 = call i32 @s2n_print_stacktrace(ptr noundef %4570) #11
  %4572 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4573 = trunc nuw i8 %4572 to i1
  br i1 %4573, label %4574, label %4578

4574:                                             ; preds = %4568
  %4575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4576 = call i32 @fileno(ptr noundef %4575) #11
  %4577 = call i32 @isatty(i32 noundef %4576) #11
  %.not476 = icmp eq i32 %4577, 0
  br i1 %.not476, label %4578, label %4579

4578:                                             ; preds = %4574, %4568
  br label %4579

4579:                                             ; preds = %4574, %4578
  %.str.5.sink2074 = phi ptr [ @.str.5, %4578 ], [ @.str.2, %4574 ]
  store i32 %4569, ptr %284, align 4, !tbaa !5
  %4580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4581 = load i32, ptr @test_count, align 4, !tbaa !5
  %4582 = load i32, ptr %230, align 4, !tbaa !5
  %4583 = call ptr @s2n_strerror(i32 noundef %4582, ptr noundef nonnull @.str.4) #11
  %4584 = load i32, ptr %230, align 4, !tbaa !5
  %4585 = call ptr @s2n_strerror_debug(i32 noundef %4584, ptr noundef nonnull @.str.4) #11
  %4586 = load i32, ptr %284, align 4, !tbaa !5
  %4587 = call ptr @strerror(i32 noundef %4586) #11
  %4588 = load i32, ptr %284, align 4, !tbaa !5
  %4589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4580, ptr noundef nonnull %.str.5.sink2074, i32 noundef %4581, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 373, ptr noundef %4583, ptr noundef %4585, ptr noundef %4587, i32 noundef %4588) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4590:                                             ; preds = %4563
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %44) #11
  %4591 = add nsw i32 %4421, 7
  store i32 %4591, ptr @test_count, align 4, !tbaa !5
  %4592 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %44) #11
  %4593 = icmp eq i32 %4592, -1
  br i1 %4593, label %4594, label %4616

4594:                                             ; preds = %4590
  %4595 = load i32, ptr %284, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = call i32 @s2n_print_stacktrace(ptr noundef %4596) #11
  %4598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4599 = trunc nuw i8 %4598 to i1
  br i1 %4599, label %4600, label %4604

4600:                                             ; preds = %4594
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = call i32 @fileno(ptr noundef %4601) #11
  %4603 = call i32 @isatty(i32 noundef %4602) #11
  %.not502 = icmp eq i32 %4603, 0
  br i1 %.not502, label %4604, label %4605

4604:                                             ; preds = %4600, %4594
  br label %4605

4605:                                             ; preds = %4600, %4604
  %.str.5.sink2083 = phi ptr [ @.str.5, %4604 ], [ @.str.2, %4600 ]
  store i32 %4595, ptr %284, align 4, !tbaa !5
  %4606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4607 = load i32, ptr @test_count, align 4, !tbaa !5
  %4608 = load i32, ptr %230, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror(i32 noundef %4608, ptr noundef nonnull @.str.4) #11
  %4610 = load i32, ptr %230, align 4, !tbaa !5
  %4611 = call ptr @s2n_strerror_debug(i32 noundef %4610, ptr noundef nonnull @.str.4) #11
  %4612 = load i32, ptr %284, align 4, !tbaa !5
  %4613 = call ptr @strerror(i32 noundef %4612) #11
  %4614 = load i32, ptr %284, align 4, !tbaa !5
  %4615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4606, ptr noundef nonnull %.str.5.sink2083, i32 noundef %4607, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 375, ptr noundef %4609, ptr noundef %4611, ptr noundef %4613, i32 noundef %4614) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4616:                                             ; preds = %4590
  %4617 = load i8, ptr %44, align 1, !tbaa !32
  %4618 = zext i8 %4617 to i64
  %4619 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4618
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4619, ptr noundef nonnull align 16 dereferenceable(32) @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %44) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %45) #11
  %4620 = load i32, ptr @test_count, align 4, !tbaa !5
  %4621 = add nsw i32 %4620, 1
  store i32 %4621, ptr @test_count, align 4, !tbaa !5
  %4622 = load i16, ptr %38, align 8, !tbaa !38
  %4623 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %4622, ptr noundef nonnull %45) #11
  %4624 = icmp eq i32 %4623, -1
  br i1 %4624, label %4625, label %4647

4625:                                             ; preds = %4616
  %4626 = load i32, ptr %284, align 4, !tbaa !5
  %4627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4628 = call i32 @s2n_print_stacktrace(ptr noundef %4627) #11
  %4629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4630 = trunc nuw i8 %4629 to i1
  br i1 %4630, label %4631, label %4635

4631:                                             ; preds = %4625
  %4632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4633 = call i32 @fileno(ptr noundef %4632) #11
  %4634 = call i32 @isatty(i32 noundef %4633) #11
  %.not501 = icmp eq i32 %4634, 0
  br i1 %.not501, label %4635, label %4636

4635:                                             ; preds = %4631, %4625
  br label %4636

4636:                                             ; preds = %4631, %4635
  %.str.5.sink2092 = phi ptr [ @.str.5, %4635 ], [ @.str.2, %4631 ]
  store i32 %4626, ptr %284, align 4, !tbaa !5
  %4637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4638 = load i32, ptr @test_count, align 4, !tbaa !5
  %4639 = load i32, ptr %230, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror(i32 noundef %4639, ptr noundef nonnull @.str.4) #11
  %4641 = load i32, ptr %230, align 4, !tbaa !5
  %4642 = call ptr @s2n_strerror_debug(i32 noundef %4641, ptr noundef nonnull @.str.4) #11
  %4643 = load i32, ptr %284, align 4, !tbaa !5
  %4644 = call ptr @strerror(i32 noundef %4643) #11
  %4645 = load i32, ptr %284, align 4, !tbaa !5
  %4646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4637, ptr noundef nonnull %.str.5.sink2092, i32 noundef %4638, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4640, ptr noundef %4642, ptr noundef %4644, i32 noundef %4645) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4647:                                             ; preds = %4616
  %4648 = load i8, ptr %45, align 1, !tbaa !32
  %4649 = zext i8 %4648 to i64
  %4650 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4649
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4650, ptr noundef nonnull align 16 dereferenceable(32) @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %45) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %46) #11
  %4651 = load i32, ptr @test_count, align 4, !tbaa !5
  %4652 = add nsw i32 %4651, 1
  store i32 %4652, ptr @test_count, align 4, !tbaa !5
  %4653 = load i16, ptr %39, align 8, !tbaa !38
  %4654 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %4653, ptr noundef nonnull %46) #11
  %4655 = icmp eq i32 %4654, -1
  br i1 %4655, label %4656, label %4678

4656:                                             ; preds = %4647
  %4657 = load i32, ptr %284, align 4, !tbaa !5
  %4658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4659 = call i32 @s2n_print_stacktrace(ptr noundef %4658) #11
  %4660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4661 = trunc nuw i8 %4660 to i1
  br i1 %4661, label %4662, label %4666

4662:                                             ; preds = %4656
  %4663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4664 = call i32 @fileno(ptr noundef %4663) #11
  %4665 = call i32 @isatty(i32 noundef %4664) #11
  %.not500 = icmp eq i32 %4665, 0
  br i1 %.not500, label %4666, label %4667

4666:                                             ; preds = %4662, %4656
  br label %4667

4667:                                             ; preds = %4662, %4666
  %.str.5.sink2101 = phi ptr [ @.str.5, %4666 ], [ @.str.2, %4662 ]
  store i32 %4657, ptr %284, align 4, !tbaa !5
  %4668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4669 = load i32, ptr @test_count, align 4, !tbaa !5
  %4670 = load i32, ptr %230, align 4, !tbaa !5
  %4671 = call ptr @s2n_strerror(i32 noundef %4670, ptr noundef nonnull @.str.4) #11
  %4672 = load i32, ptr %230, align 4, !tbaa !5
  %4673 = call ptr @s2n_strerror_debug(i32 noundef %4672, ptr noundef nonnull @.str.4) #11
  %4674 = load i32, ptr %284, align 4, !tbaa !5
  %4675 = call ptr @strerror(i32 noundef %4674) #11
  %4676 = load i32, ptr %284, align 4, !tbaa !5
  %4677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4668, ptr noundef nonnull %.str.5.sink2101, i32 noundef %4669, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 377, ptr noundef %4671, ptr noundef %4673, ptr noundef %4675, i32 noundef %4676) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4678:                                             ; preds = %4647
  %4679 = load i8, ptr %46, align 1, !tbaa !32
  %4680 = zext i8 %4679 to i64
  %4681 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %36, i64 0, i64 %4680
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(32) %4681, ptr noundef nonnull align 16 dereferenceable(32) @EMPTY_PARSED_EXTENSIONS, i64 32, i1 false), !tbaa.struct !35
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %46) #11
  %4682 = load i32, ptr @test_count, align 4, !tbaa !5
  %4683 = add nsw i32 %4682, 1
  store i32 %4683, ptr @test_count, align 4, !tbaa !5
  %bcmp477 = call i32 @bcmp(ptr noundef nonnull dereferenceable(672) %36, ptr noundef nonnull dereferenceable(672) @EMPTY_PARSED_EXTENSIONS, i64 672)
  %4684 = icmp eq i32 %bcmp477, 0
  br i1 %4684, label %4707, label %4685

4685:                                             ; preds = %4678
  %4686 = load i32, ptr %284, align 4, !tbaa !5
  %4687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4688 = call i32 @s2n_print_stacktrace(ptr noundef %4687) #11
  %4689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4690 = trunc nuw i8 %4689 to i1
  br i1 %4690, label %4691, label %4695

4691:                                             ; preds = %4685
  %4692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4693 = call i32 @fileno(ptr noundef %4692) #11
  %4694 = call i32 @isatty(i32 noundef %4693) #11
  %.not478 = icmp eq i32 %4694, 0
  br i1 %.not478, label %4695, label %4696

4695:                                             ; preds = %4691, %4685
  br label %4696

4696:                                             ; preds = %4691, %4695
  %.str.5.sink2110 = phi ptr [ @.str.5, %4695 ], [ @.str.2, %4691 ]
  store i32 %4686, ptr %284, align 4, !tbaa !5
  %4697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4698 = load i32, ptr @test_count, align 4, !tbaa !5
  %4699 = load i32, ptr %230, align 4, !tbaa !5
  %4700 = call ptr @s2n_strerror(i32 noundef %4699, ptr noundef nonnull @.str.4) #11
  %4701 = load i32, ptr %230, align 4, !tbaa !5
  %4702 = call ptr @s2n_strerror_debug(i32 noundef %4701, ptr noundef nonnull @.str.4) #11
  %4703 = load i32, ptr %284, align 4, !tbaa !5
  %4704 = call ptr @strerror(i32 noundef %4703) #11
  %4705 = load i32, ptr %284, align 4, !tbaa !5
  %4706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4697, ptr noundef nonnull %.str.5.sink2110, i32 noundef %4698, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 378, ptr noundef %4700, ptr noundef %4702, ptr noundef %4704, i32 noundef %4705) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4707:                                             ; preds = %4678
  %4708 = add nsw i32 %4682, 2
  store i32 %4708, ptr @test_count, align 4, !tbaa !5
  %4709 = call i32 @s2n_stuffer_free(ptr noundef nonnull %37) #11
  %4710 = icmp eq i32 %4709, -1
  br i1 %4710, label %4711, label %4733

4711:                                             ; preds = %4707
  %4712 = load i32, ptr %284, align 4, !tbaa !5
  %4713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4714 = call i32 @s2n_print_stacktrace(ptr noundef %4713) #11
  %4715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4716 = trunc nuw i8 %4715 to i1
  br i1 %4716, label %4717, label %4721

4717:                                             ; preds = %4711
  %4718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4719 = call i32 @fileno(ptr noundef %4718) #11
  %4720 = call i32 @isatty(i32 noundef %4719) #11
  %.not499 = icmp eq i32 %4720, 0
  br i1 %.not499, label %4721, label %4722

4721:                                             ; preds = %4717, %4711
  br label %4722

4722:                                             ; preds = %4717, %4721
  %.str.5.sink2119 = phi ptr [ @.str.5, %4721 ], [ @.str.2, %4717 ]
  store i32 %4712, ptr %284, align 4, !tbaa !5
  %4723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4724 = load i32, ptr @test_count, align 4, !tbaa !5
  %4725 = load i32, ptr %230, align 4, !tbaa !5
  %4726 = call ptr @s2n_strerror(i32 noundef %4725, ptr noundef nonnull @.str.4) #11
  %4727 = load i32, ptr %230, align 4, !tbaa !5
  %4728 = call ptr @s2n_strerror_debug(i32 noundef %4727, ptr noundef nonnull @.str.4) #11
  %4729 = load i32, ptr %284, align 4, !tbaa !5
  %4730 = call ptr @strerror(i32 noundef %4729) #11
  %4731 = load i32, ptr %284, align 4, !tbaa !5
  %4732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4723, ptr noundef nonnull %.str.5.sink2119, i32 noundef %4724, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 380, ptr noundef %4726, ptr noundef %4728, ptr noundef %4730, i32 noundef %4731) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4733:                                             ; preds = %4707
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %40) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %39) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %38) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %37) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %36) #11
  call void @llvm.lifetime.start.p0(i64 704, ptr nonnull %47) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(704) %47, i8 0, i64 704, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %48) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %48, i8 0, i64 40, i1 false)
  %4734 = load i32, ptr @test_count, align 4, !tbaa !5
  %4735 = add nsw i32 %4734, 1
  store i32 %4735, ptr @test_count, align 4, !tbaa !5
  %4736 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %48, i32 noundef 0) #11
  %4737 = icmp eq i32 %4736, -1
  br i1 %4737, label %4738, label %4760

4738:                                             ; preds = %4733
  %4739 = load i32, ptr %284, align 4, !tbaa !5
  %4740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4741 = call i32 @s2n_print_stacktrace(ptr noundef %4740) #11
  %4742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4743 = trunc nuw i8 %4742 to i1
  br i1 %4743, label %4744, label %4748

4744:                                             ; preds = %4738
  %4745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4746 = call i32 @fileno(ptr noundef %4745) #11
  %4747 = call i32 @isatty(i32 noundef %4746) #11
  %.not498 = icmp eq i32 %4747, 0
  br i1 %.not498, label %4748, label %4749

4748:                                             ; preds = %4744, %4738
  br label %4749

4749:                                             ; preds = %4744, %4748
  %.str.5.sink2128 = phi ptr [ @.str.5, %4748 ], [ @.str.2, %4744 ]
  store i32 %4739, ptr %284, align 4, !tbaa !5
  %4750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4751 = load i32, ptr @test_count, align 4, !tbaa !5
  %4752 = load i32, ptr %230, align 4, !tbaa !5
  %4753 = call ptr @s2n_strerror(i32 noundef %4752, ptr noundef nonnull @.str.4) #11
  %4754 = load i32, ptr %230, align 4, !tbaa !5
  %4755 = call ptr @s2n_strerror_debug(i32 noundef %4754, ptr noundef nonnull @.str.4) #11
  %4756 = load i32, ptr %284, align 4, !tbaa !5
  %4757 = call ptr @strerror(i32 noundef %4756) #11
  %4758 = load i32, ptr %284, align 4, !tbaa !5
  %4759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4750, ptr noundef nonnull %.str.5.sink2128, i32 noundef %4751, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %4753, ptr noundef %4755, ptr noundef %4757, i32 noundef %4758) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4760:                                             ; preds = %4733
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %49) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %49, ptr noundef nonnull align 8 dereferenceable(40) @__const.main.test_extension_2, i64 40, i1 false)
  store i16 13, ptr %49, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %50) #11
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %50, ptr noundef nonnull align 8 dereferenceable(40) @__const.main.test_extension_3.52, i64 40, i1 false)
  store i16 16, ptr %50, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 16, ptr nonnull %51) #11
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %51, i8 0, i64 16, i1 false)
  %4761 = load i32, ptr @test_count, align 4, !tbaa !5
  %4762 = add nsw i32 %4761, 1
  store i32 %4762, ptr @test_count, align 4, !tbaa !5
  %4763 = call i32 @s2n_stuffer_reserve_uint16(ptr noundef nonnull %48, ptr noundef nonnull %51) #11
  %4764 = icmp eq i32 %4763, -1
  br i1 %4764, label %4765, label %4787

4765:                                             ; preds = %4760
  %4766 = load i32, ptr %284, align 4, !tbaa !5
  %4767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4768 = call i32 @s2n_print_stacktrace(ptr noundef %4767) #11
  %4769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4770 = trunc nuw i8 %4769 to i1
  br i1 %4770, label %4771, label %4775

4771:                                             ; preds = %4765
  %4772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4773 = call i32 @fileno(ptr noundef %4772) #11
  %4774 = call i32 @isatty(i32 noundef %4773) #11
  %.not497 = icmp eq i32 %4774, 0
  br i1 %.not497, label %4775, label %4776

4775:                                             ; preds = %4771, %4765
  br label %4776

4776:                                             ; preds = %4771, %4775
  %.str.5.sink2137 = phi ptr [ @.str.5, %4775 ], [ @.str.2, %4771 ]
  store i32 %4766, ptr %284, align 4, !tbaa !5
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = load i32, ptr @test_count, align 4, !tbaa !5
  %4779 = load i32, ptr %230, align 4, !tbaa !5
  %4780 = call ptr @s2n_strerror(i32 noundef %4779, ptr noundef nonnull @.str.4) #11
  %4781 = load i32, ptr %230, align 4, !tbaa !5
  %4782 = call ptr @s2n_strerror_debug(i32 noundef %4781, ptr noundef nonnull @.str.4) #11
  %4783 = load i32, ptr %284, align 4, !tbaa !5
  %4784 = call ptr @strerror(i32 noundef %4783) #11
  %4785 = load i32, ptr %284, align 4, !tbaa !5
  %4786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4777, ptr noundef nonnull %.str.5.sink2137, i32 noundef %4778, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 396, ptr noundef %4780, ptr noundef %4782, ptr noundef %4784, i32 noundef %4785) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4787:                                             ; preds = %4760
  %4788 = load i32, ptr @test_count, align 4, !tbaa !5
  %4789 = add nsw i32 %4788, 1
  store i32 %4789, ptr @test_count, align 4, !tbaa !5
  %4790 = call i32 @s2n_extension_send(ptr noundef nonnull @test_extension, ptr noundef nonnull %172, ptr noundef nonnull %48) #11
  %4791 = icmp eq i32 %4790, -1
  br i1 %4791, label %4792, label %4814

4792:                                             ; preds = %4787
  %4793 = load i32, ptr %284, align 4, !tbaa !5
  %4794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4795 = call i32 @s2n_print_stacktrace(ptr noundef %4794) #11
  %4796 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4797 = trunc nuw i8 %4796 to i1
  br i1 %4797, label %4798, label %4802

4798:                                             ; preds = %4792
  %4799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4800 = call i32 @fileno(ptr noundef %4799) #11
  %4801 = call i32 @isatty(i32 noundef %4800) #11
  %.not496 = icmp eq i32 %4801, 0
  br i1 %.not496, label %4802, label %4803

4802:                                             ; preds = %4798, %4792
  br label %4803

4803:                                             ; preds = %4798, %4802
  %.str.5.sink2146 = phi ptr [ @.str.5, %4802 ], [ @.str.2, %4798 ]
  store i32 %4793, ptr %284, align 4, !tbaa !5
  %4804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4805 = load i32, ptr @test_count, align 4, !tbaa !5
  %4806 = load i32, ptr %230, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror(i32 noundef %4806, ptr noundef nonnull @.str.4) #11
  %4808 = load i32, ptr %230, align 4, !tbaa !5
  %4809 = call ptr @s2n_strerror_debug(i32 noundef %4808, ptr noundef nonnull @.str.4) #11
  %4810 = load i32, ptr %284, align 4, !tbaa !5
  %4811 = call ptr @strerror(i32 noundef %4810) #11
  %4812 = load i32, ptr %284, align 4, !tbaa !5
  %4813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4804, ptr noundef nonnull %.str.5.sink2146, i32 noundef %4805, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 398, ptr noundef %4807, ptr noundef %4809, ptr noundef %4811, i32 noundef %4812) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4814:                                             ; preds = %4787
  %4815 = load i32, ptr @test_count, align 4, !tbaa !5
  %4816 = add nsw i32 %4815, 1
  store i32 %4816, ptr @test_count, align 4, !tbaa !5
  %4817 = call i32 @s2n_extension_send(ptr noundef nonnull %49, ptr noundef nonnull %172, ptr noundef nonnull %48) #11
  %4818 = icmp eq i32 %4817, -1
  br i1 %4818, label %4819, label %4841

4819:                                             ; preds = %4814
  %4820 = load i32, ptr %284, align 4, !tbaa !5
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = call i32 @s2n_print_stacktrace(ptr noundef %4821) #11
  %4823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4824 = trunc nuw i8 %4823 to i1
  br i1 %4824, label %4825, label %4829

4825:                                             ; preds = %4819
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = call i32 @fileno(ptr noundef %4826) #11
  %4828 = call i32 @isatty(i32 noundef %4827) #11
  %.not495 = icmp eq i32 %4828, 0
  br i1 %.not495, label %4829, label %4830

4829:                                             ; preds = %4825, %4819
  br label %4830

4830:                                             ; preds = %4825, %4829
  %.str.5.sink2155 = phi ptr [ @.str.5, %4829 ], [ @.str.2, %4825 ]
  store i32 %4820, ptr %284, align 4, !tbaa !5
  %4831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4832 = load i32, ptr @test_count, align 4, !tbaa !5
  %4833 = load i32, ptr %230, align 4, !tbaa !5
  %4834 = call ptr @s2n_strerror(i32 noundef %4833, ptr noundef nonnull @.str.4) #11
  %4835 = load i32, ptr %230, align 4, !tbaa !5
  %4836 = call ptr @s2n_strerror_debug(i32 noundef %4835, ptr noundef nonnull @.str.4) #11
  %4837 = load i32, ptr %284, align 4, !tbaa !5
  %4838 = call ptr @strerror(i32 noundef %4837) #11
  %4839 = load i32, ptr %284, align 4, !tbaa !5
  %4840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4831, ptr noundef nonnull %.str.5.sink2155, i32 noundef %4832, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 399, ptr noundef %4834, ptr noundef %4836, ptr noundef %4838, i32 noundef %4839) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4841:                                             ; preds = %4814
  %4842 = load i32, ptr @test_count, align 4, !tbaa !5
  %4843 = add nsw i32 %4842, 1
  store i32 %4843, ptr @test_count, align 4, !tbaa !5
  %4844 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %48, i16 noundef zeroext -256) #11
  %4845 = icmp eq i32 %4844, -1
  br i1 %4845, label %4846, label %4868

4846:                                             ; preds = %4841
  %4847 = load i32, ptr %284, align 4, !tbaa !5
  %4848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4849 = call i32 @s2n_print_stacktrace(ptr noundef %4848) #11
  %4850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4851 = trunc nuw i8 %4850 to i1
  br i1 %4851, label %4852, label %4856

4852:                                             ; preds = %4846
  %4853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4854 = call i32 @fileno(ptr noundef %4853) #11
  %4855 = call i32 @isatty(i32 noundef %4854) #11
  %.not494 = icmp eq i32 %4855, 0
  br i1 %.not494, label %4856, label %4857

4856:                                             ; preds = %4852, %4846
  br label %4857

4857:                                             ; preds = %4852, %4856
  %.str.5.sink2164 = phi ptr [ @.str.5, %4856 ], [ @.str.2, %4852 ]
  store i32 %4847, ptr %284, align 4, !tbaa !5
  %4858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4859 = load i32, ptr @test_count, align 4, !tbaa !5
  %4860 = load i32, ptr %230, align 4, !tbaa !5
  %4861 = call ptr @s2n_strerror(i32 noundef %4860, ptr noundef nonnull @.str.4) #11
  %4862 = load i32, ptr %230, align 4, !tbaa !5
  %4863 = call ptr @s2n_strerror_debug(i32 noundef %4862, ptr noundef nonnull @.str.4) #11
  %4864 = load i32, ptr %284, align 4, !tbaa !5
  %4865 = call ptr @strerror(i32 noundef %4864) #11
  %4866 = load i32, ptr %284, align 4, !tbaa !5
  %4867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4858, ptr noundef nonnull %.str.5.sink2164, i32 noundef %4859, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 400, ptr noundef %4861, ptr noundef %4863, ptr noundef %4865, i32 noundef %4866) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4868:                                             ; preds = %4841
  %4869 = load i32, ptr @test_count, align 4, !tbaa !5
  %4870 = add nsw i32 %4869, 1
  store i32 %4870, ptr @test_count, align 4, !tbaa !5
  %4871 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %48, i16 noundef zeroext 0) #11
  %4872 = icmp eq i32 %4871, -1
  br i1 %4872, label %4873, label %4895

4873:                                             ; preds = %4868
  %4874 = load i32, ptr %284, align 4, !tbaa !5
  %4875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4876 = call i32 @s2n_print_stacktrace(ptr noundef %4875) #11
  %4877 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4878 = trunc nuw i8 %4877 to i1
  br i1 %4878, label %4879, label %4883

4879:                                             ; preds = %4873
  %4880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4881 = call i32 @fileno(ptr noundef %4880) #11
  %4882 = call i32 @isatty(i32 noundef %4881) #11
  %.not493 = icmp eq i32 %4882, 0
  br i1 %.not493, label %4883, label %4884

4883:                                             ; preds = %4879, %4873
  br label %4884

4884:                                             ; preds = %4879, %4883
  %.str.5.sink2173 = phi ptr [ @.str.5, %4883 ], [ @.str.2, %4879 ]
  store i32 %4874, ptr %284, align 4, !tbaa !5
  %4885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4886 = load i32, ptr @test_count, align 4, !tbaa !5
  %4887 = load i32, ptr %230, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror(i32 noundef %4887, ptr noundef nonnull @.str.4) #11
  %4889 = load i32, ptr %230, align 4, !tbaa !5
  %4890 = call ptr @s2n_strerror_debug(i32 noundef %4889, ptr noundef nonnull @.str.4) #11
  %4891 = load i32, ptr %284, align 4, !tbaa !5
  %4892 = call ptr @strerror(i32 noundef %4891) #11
  %4893 = load i32, ptr %284, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4885, ptr noundef nonnull %.str.5.sink2173, i32 noundef %4886, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %4888, ptr noundef %4890, ptr noundef %4892, i32 noundef %4893) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4895:                                             ; preds = %4868
  %4896 = load i32, ptr @test_count, align 4, !tbaa !5
  %4897 = add nsw i32 %4896, 1
  store i32 %4897, ptr @test_count, align 4, !tbaa !5
  %4898 = call i32 @s2n_extension_send(ptr noundef nonnull %50, ptr noundef nonnull %172, ptr noundef nonnull %48) #11
  %4899 = icmp eq i32 %4898, -1
  br i1 %4899, label %4900, label %4922

4900:                                             ; preds = %4895
  %4901 = load i32, ptr %284, align 4, !tbaa !5
  %4902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4903 = call i32 @s2n_print_stacktrace(ptr noundef %4902) #11
  %4904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4905 = trunc nuw i8 %4904 to i1
  br i1 %4905, label %4906, label %4910

4906:                                             ; preds = %4900
  %4907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4908 = call i32 @fileno(ptr noundef %4907) #11
  %4909 = call i32 @isatty(i32 noundef %4908) #11
  %.not492 = icmp eq i32 %4909, 0
  br i1 %.not492, label %4910, label %4911

4910:                                             ; preds = %4906, %4900
  br label %4911

4911:                                             ; preds = %4906, %4910
  %.str.5.sink2182 = phi ptr [ @.str.5, %4910 ], [ @.str.2, %4906 ]
  store i32 %4901, ptr %284, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = load i32, ptr %230, align 4, !tbaa !5
  %4915 = call ptr @s2n_strerror(i32 noundef %4914, ptr noundef nonnull @.str.4) #11
  %4916 = load i32, ptr %230, align 4, !tbaa !5
  %4917 = call ptr @s2n_strerror_debug(i32 noundef %4916, ptr noundef nonnull @.str.4) #11
  %4918 = load i32, ptr %284, align 4, !tbaa !5
  %4919 = call ptr @strerror(i32 noundef %4918) #11
  %4920 = load i32, ptr %284, align 4, !tbaa !5
  %4921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4912, ptr noundef nonnull %.str.5.sink2182, i32 noundef %4913, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 402, ptr noundef %4915, ptr noundef %4917, ptr noundef %4919, i32 noundef %4920) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4922:                                             ; preds = %4895
  %4923 = load i32, ptr @test_count, align 4, !tbaa !5
  %4924 = add nsw i32 %4923, 1
  store i32 %4924, ptr @test_count, align 4, !tbaa !5
  %4925 = getelementptr inbounds i8, ptr %48, i64 28
  %4926 = load i32, ptr %4925, align 4, !tbaa !21
  %4927 = getelementptr inbounds i8, ptr %48, i64 24
  %4928 = load i32, ptr %4927, align 8, !tbaa !23
  %4929 = sub i32 %4926, %4928
  %4930 = getelementptr inbounds i8, ptr %51, i64 12
  %4931 = load i8, ptr %4930, align 4, !tbaa !30
  %4932 = zext i8 %4931 to i32
  %4933 = icmp ugt i32 %4929, %4932
  br i1 %4933, label %4956, label %4934

4934:                                             ; preds = %4922
  %4935 = load i32, ptr %284, align 4, !tbaa !5
  %4936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4937 = call i32 @s2n_print_stacktrace(ptr noundef %4936) #11
  %4938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4939 = trunc nuw i8 %4938 to i1
  br i1 %4939, label %4940, label %4944

4940:                                             ; preds = %4934
  %4941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4942 = call i32 @fileno(ptr noundef %4941) #11
  %4943 = call i32 @isatty(i32 noundef %4942) #11
  %.not479 = icmp eq i32 %4943, 0
  br i1 %.not479, label %4944, label %4945

4944:                                             ; preds = %4940, %4934
  br label %4945

4945:                                             ; preds = %4940, %4944
  %.str.5.sink2191 = phi ptr [ @.str.5, %4944 ], [ @.str.2, %4940 ]
  store i32 %4935, ptr %284, align 4, !tbaa !5
  %4946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4947 = load i32, ptr @test_count, align 4, !tbaa !5
  %4948 = load i32, ptr %230, align 4, !tbaa !5
  %4949 = call ptr @s2n_strerror(i32 noundef %4948, ptr noundef nonnull @.str.4) #11
  %4950 = load i32, ptr %230, align 4, !tbaa !5
  %4951 = call ptr @s2n_strerror_debug(i32 noundef %4950, ptr noundef nonnull @.str.4) #11
  %4952 = load i32, ptr %284, align 4, !tbaa !5
  %4953 = call ptr @strerror(i32 noundef %4952) #11
  %4954 = load i32, ptr %284, align 4, !tbaa !5
  %4955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4946, ptr noundef nonnull %.str.5.sink2191, i32 noundef %4947, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %4949, ptr noundef %4951, ptr noundef %4953, i32 noundef %4954) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4956:                                             ; preds = %4922
  %4957 = add nsw i32 %4923, 2
  store i32 %4957, ptr @test_count, align 4, !tbaa !5
  %4958 = call i32 @s2n_stuffer_write_vector_size(ptr noundef nonnull %51) #11
  %4959 = icmp eq i32 %4958, -1
  br i1 %4959, label %4960, label %4982

4960:                                             ; preds = %4956
  %4961 = load i32, ptr %284, align 4, !tbaa !5
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @s2n_print_stacktrace(ptr noundef %4962) #11
  %4964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4965 = trunc nuw i8 %4964 to i1
  br i1 %4965, label %4966, label %4970

4966:                                             ; preds = %4960
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @fileno(ptr noundef %4967) #11
  %4969 = call i32 @isatty(i32 noundef %4968) #11
  %.not491 = icmp eq i32 %4969, 0
  br i1 %.not491, label %4970, label %4971

4970:                                             ; preds = %4966, %4960
  br label %4971

4971:                                             ; preds = %4966, %4970
  %.str.5.sink2200 = phi ptr [ @.str.5, %4970 ], [ @.str.2, %4966 ]
  store i32 %4961, ptr %284, align 4, !tbaa !5
  %4972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4973 = load i32, ptr @test_count, align 4, !tbaa !5
  %4974 = load i32, ptr %230, align 4, !tbaa !5
  %4975 = call ptr @s2n_strerror(i32 noundef %4974, ptr noundef nonnull @.str.4) #11
  %4976 = load i32, ptr %230, align 4, !tbaa !5
  %4977 = call ptr @s2n_strerror_debug(i32 noundef %4976, ptr noundef nonnull @.str.4) #11
  %4978 = load i32, ptr %284, align 4, !tbaa !5
  %4979 = call ptr @strerror(i32 noundef %4978) #11
  %4980 = load i32, ptr %284, align 4, !tbaa !5
  %4981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4972, ptr noundef nonnull %.str.5.sink2200, i32 noundef %4973, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 405, ptr noundef %4975, ptr noundef %4977, ptr noundef %4979, i32 noundef %4980) #13
  call void @exit(i32 noundef 1) #14
  unreachable

4982:                                             ; preds = %4956
  %4983 = load i32, ptr @test_count, align 4, !tbaa !5
  %4984 = add nsw i32 %4983, 1
  store i32 %4984, ptr @test_count, align 4, !tbaa !5
  %4985 = call i32 @s2n_extension_list_parse(ptr noundef nonnull %48, ptr noundef nonnull %47) #11
  %4986 = icmp eq i32 %4985, -1
  br i1 %4986, label %4987, label %5009

4987:                                             ; preds = %4982
  %4988 = load i32, ptr %284, align 4, !tbaa !5
  %4989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4990 = call i32 @s2n_print_stacktrace(ptr noundef %4989) #11
  %4991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4992 = trunc nuw i8 %4991 to i1
  br i1 %4992, label %4993, label %4997

4993:                                             ; preds = %4987
  %4994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4995 = call i32 @fileno(ptr noundef %4994) #11
  %4996 = call i32 @isatty(i32 noundef %4995) #11
  %.not490 = icmp eq i32 %4996, 0
  br i1 %.not490, label %4997, label %4998

4997:                                             ; preds = %4993, %4987
  br label %4998

4998:                                             ; preds = %4993, %4997
  %.str.5.sink2209 = phi ptr [ @.str.5, %4997 ], [ @.str.2, %4993 ]
  store i32 %4988, ptr %284, align 4, !tbaa !5
  %4999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5000 = load i32, ptr @test_count, align 4, !tbaa !5
  %5001 = load i32, ptr %230, align 4, !tbaa !5
  %5002 = call ptr @s2n_strerror(i32 noundef %5001, ptr noundef nonnull @.str.4) #11
  %5003 = load i32, ptr %230, align 4, !tbaa !5
  %5004 = call ptr @s2n_strerror_debug(i32 noundef %5003, ptr noundef nonnull @.str.4) #11
  %5005 = load i32, ptr %284, align 4, !tbaa !5
  %5006 = call ptr @strerror(i32 noundef %5005) #11
  %5007 = load i32, ptr %284, align 4, !tbaa !5
  %5008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4999, ptr noundef nonnull %.str.5.sink2209, i32 noundef %5000, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 407, ptr noundef %5002, ptr noundef %5004, ptr noundef %5006, i32 noundef %5007) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5009:                                             ; preds = %4982
  %5010 = load i16, ptr %49, align 8, !tbaa !38
  %5011 = load i16, ptr %50, align 8, !tbaa !38
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #11
  store i8 0, ptr %52, align 1, !tbaa !32
  %5012 = load i32, ptr @test_count, align 4, !tbaa !5
  %5013 = add nsw i32 %5012, 1
  store i32 %5013, ptr @test_count, align 4, !tbaa !5
  %5014 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 43, ptr noundef nonnull %52) #11
  %5015 = icmp eq i32 %5014, -1
  br i1 %5015, label %5016, label %5038

5016:                                             ; preds = %5080, %5068, %5009
  %5017 = load i32, ptr %284, align 4, !tbaa !5
  %5018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5019 = call i32 @s2n_print_stacktrace(ptr noundef %5018) #11
  %5020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5021 = trunc nuw i8 %5020 to i1
  br i1 %5021, label %5022, label %5026

5022:                                             ; preds = %5016
  %5023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5024 = call i32 @fileno(ptr noundef %5023) #11
  %5025 = call i32 @isatty(i32 noundef %5024) #11
  %.not489 = icmp eq i32 %5025, 0
  br i1 %.not489, label %5026, label %5027

5026:                                             ; preds = %5022, %5016
  br label %5027

5027:                                             ; preds = %5022, %5026
  %.str.5.sink2218 = phi ptr [ @.str.5, %5026 ], [ @.str.2, %5022 ]
  store i32 %5017, ptr %284, align 4, !tbaa !5
  %5028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5029 = load i32, ptr @test_count, align 4, !tbaa !5
  %5030 = load i32, ptr %230, align 4, !tbaa !5
  %5031 = call ptr @s2n_strerror(i32 noundef %5030, ptr noundef nonnull @.str.4) #11
  %5032 = load i32, ptr %230, align 4, !tbaa !5
  %5033 = call ptr @s2n_strerror_debug(i32 noundef %5032, ptr noundef nonnull @.str.4) #11
  %5034 = load i32, ptr %284, align 4, !tbaa !5
  %5035 = call ptr @strerror(i32 noundef %5034) #11
  %5036 = load i32, ptr %284, align 4, !tbaa !5
  %5037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5028, ptr noundef nonnull %.str.5.sink2218, i32 noundef %5029, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %5031, ptr noundef %5033, ptr noundef %5035, i32 noundef %5036) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5038:                                             ; preds = %5009
  %5039 = load i32, ptr @test_count, align 4, !tbaa !5
  %5040 = add nsw i32 %5039, 1
  store i32 %5040, ptr @test_count, align 4, !tbaa !5
  %5041 = load i8, ptr %52, align 1, !tbaa !32
  %5042 = zext i8 %5041 to i64
  %5043 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %47, i64 0, i64 %5042, i32 2
  %5044 = load i16, ptr %5043, align 2, !tbaa !39
  %5045 = icmp eq i16 %5044, 0
  br i1 %5045, label %5068, label %5046

5046:                                             ; preds = %5084, %5072, %5038
  %5047 = load i32, ptr %284, align 4, !tbaa !5
  %5048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5049 = call i32 @s2n_print_stacktrace(ptr noundef %5048) #11
  %5050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5051 = trunc nuw i8 %5050 to i1
  br i1 %5051, label %5052, label %5056

5052:                                             ; preds = %5046
  %5053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5054 = call i32 @fileno(ptr noundef %5053) #11
  %5055 = call i32 @isatty(i32 noundef %5054) #11
  %.not488 = icmp eq i32 %5055, 0
  br i1 %.not488, label %5056, label %5057

5056:                                             ; preds = %5052, %5046
  br label %5057

5057:                                             ; preds = %5052, %5056
  %.str.5.sink2227 = phi ptr [ @.str.5, %5056 ], [ @.str.2, %5052 ]
  store i32 %5047, ptr %284, align 4, !tbaa !5
  %5058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5059 = load i32, ptr @test_count, align 4, !tbaa !5
  %5060 = load i32, ptr %230, align 4, !tbaa !5
  %5061 = call ptr @s2n_strerror(i32 noundef %5060, ptr noundef nonnull @.str.4) #11
  %5062 = load i32, ptr %230, align 4, !tbaa !5
  %5063 = call ptr @s2n_strerror_debug(i32 noundef %5062, ptr noundef nonnull @.str.4) #11
  %5064 = load i32, ptr %284, align 4, !tbaa !5
  %5065 = call ptr @strerror(i32 noundef %5064) #11
  %5066 = load i32, ptr %284, align 4, !tbaa !5
  %5067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5058, ptr noundef nonnull %.str.5.sink2227, i32 noundef %5059, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 413, ptr noundef %5061, ptr noundef %5063, ptr noundef %5065, i32 noundef %5066) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5068:                                             ; preds = %5038
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #11
  store i8 0, ptr %52, align 1, !tbaa !32
  %5069 = add nsw i32 %5039, 2
  store i32 %5069, ptr @test_count, align 4, !tbaa !5
  %5070 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %5010, ptr noundef nonnull %52) #11
  %5071 = icmp eq i32 %5070, -1
  br i1 %5071, label %5016, label %5072

5072:                                             ; preds = %5068
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = add nsw i32 %5073, 1
  store i32 %5074, ptr @test_count, align 4, !tbaa !5
  %5075 = load i8, ptr %52, align 1, !tbaa !32
  %5076 = zext i8 %5075 to i64
  %5077 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %47, i64 0, i64 %5076, i32 2
  %5078 = load i16, ptr %5077, align 2, !tbaa !39
  %5079 = icmp eq i16 %5078, 1
  br i1 %5079, label %5080, label %5046

5080:                                             ; preds = %5072
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %52) #11
  store i8 0, ptr %52, align 1, !tbaa !32
  %5081 = add nsw i32 %5073, 2
  store i32 %5081, ptr @test_count, align 4, !tbaa !5
  %5082 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext %5011, ptr noundef nonnull %52) #11
  %5083 = icmp eq i32 %5082, -1
  br i1 %5083, label %5016, label %5084

5084:                                             ; preds = %5080
  %5085 = load i32, ptr @test_count, align 4, !tbaa !5
  %5086 = add nsw i32 %5085, 1
  store i32 %5086, ptr @test_count, align 4, !tbaa !5
  %5087 = load i8, ptr %52, align 1, !tbaa !32
  %5088 = zext i8 %5087 to i64
  %5089 = getelementptr inbounds [21 x %struct.s2n_parsed_extension], ptr %47, i64 0, i64 %5088, i32 2
  %5090 = load i16, ptr %5089, align 2, !tbaa !39
  %5091 = icmp eq i16 %5090, 2
  br i1 %5091, label %5092, label %5046

5092:                                             ; preds = %5084
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %52) #11
  %5093 = add nsw i32 %5085, 2
  store i32 %5093, ptr @test_count, align 4, !tbaa !5
  %5094 = getelementptr inbounds i8, ptr %47, i64 696
  %5095 = load i16, ptr %5094, align 8, !tbaa !28
  %5096 = icmp eq i16 %5095, 3
  br i1 %5096, label %5119, label %5097

5097:                                             ; preds = %5092
  %5098 = load i32, ptr %284, align 4, !tbaa !5
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = call i32 @s2n_print_stacktrace(ptr noundef %5099) #11
  %5101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5102 = trunc nuw i8 %5101 to i1
  br i1 %5102, label %5103, label %5107

5103:                                             ; preds = %5097
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5105 = call i32 @fileno(ptr noundef %5104) #11
  %5106 = call i32 @isatty(i32 noundef %5105) #11
  %.not480 = icmp eq i32 %5106, 0
  br i1 %.not480, label %5107, label %5108

5107:                                             ; preds = %5103, %5097
  br label %5108

5108:                                             ; preds = %5103, %5107
  %.str.5.sink2236 = phi ptr [ @.str.5, %5107 ], [ @.str.2, %5103 ]
  store i32 %5098, ptr %284, align 4, !tbaa !5
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5110 = load i32, ptr @test_count, align 4, !tbaa !5
  %5111 = load i32, ptr %230, align 4, !tbaa !5
  %5112 = call ptr @s2n_strerror(i32 noundef %5111, ptr noundef nonnull @.str.4) #11
  %5113 = load i32, ptr %230, align 4, !tbaa !5
  %5114 = call ptr @s2n_strerror_debug(i32 noundef %5113, ptr noundef nonnull @.str.4) #11
  %5115 = load i32, ptr %284, align 4, !tbaa !5
  %5116 = call ptr @strerror(i32 noundef %5115) #11
  %5117 = load i32, ptr %284, align 4, !tbaa !5
  %5118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5109, ptr noundef nonnull %.str.5.sink2236, i32 noundef %5110, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %5112, ptr noundef %5114, ptr noundef %5116, i32 noundef %5117) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5119:                                             ; preds = %5092
  %5120 = add nsw i32 %5085, 3
  store i32 %5120, ptr @test_count, align 4, !tbaa !5
  %5121 = call i32 @s2n_stuffer_free(ptr noundef nonnull %48) #11
  %5122 = icmp eq i32 %5121, -1
  br i1 %5122, label %5123, label %5145

5123:                                             ; preds = %5119
  %5124 = load i32, ptr %284, align 4, !tbaa !5
  %5125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5126 = call i32 @s2n_print_stacktrace(ptr noundef %5125) #11
  %5127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5128 = trunc nuw i8 %5127 to i1
  br i1 %5128, label %5129, label %5133

5129:                                             ; preds = %5123
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5131 = call i32 @fileno(ptr noundef %5130) #11
  %5132 = call i32 @isatty(i32 noundef %5131) #11
  %.not487 = icmp eq i32 %5132, 0
  br i1 %.not487, label %5133, label %5134

5133:                                             ; preds = %5129, %5123
  br label %5134

5134:                                             ; preds = %5129, %5133
  %.str.5.sink2245 = phi ptr [ @.str.5, %5133 ], [ @.str.2, %5129 ]
  store i32 %5124, ptr %284, align 4, !tbaa !5
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = load i32, ptr @test_count, align 4, !tbaa !5
  %5137 = load i32, ptr %230, align 4, !tbaa !5
  %5138 = call ptr @s2n_strerror(i32 noundef %5137, ptr noundef nonnull @.str.4) #11
  %5139 = load i32, ptr %230, align 4, !tbaa !5
  %5140 = call ptr @s2n_strerror_debug(i32 noundef %5139, ptr noundef nonnull @.str.4) #11
  %5141 = load i32, ptr %284, align 4, !tbaa !5
  %5142 = call ptr @strerror(i32 noundef %5141) #11
  %5143 = load i32, ptr %284, align 4, !tbaa !5
  %5144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5135, ptr noundef nonnull %.str.5.sink2245, i32 noundef %5136, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %5138, ptr noundef %5140, ptr noundef %5142, i32 noundef %5143) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5145:                                             ; preds = %5119
  call void @llvm.lifetime.end.p0(i64 16, ptr nonnull %51) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %50) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %49) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %48) #11
  call void @llvm.lifetime.end.p0(i64 704, ptr nonnull %47) #11
  %5146 = load i32, ptr @test_count, align 4, !tbaa !5
  %5147 = add nsw i32 %5146, 1
  store i32 %5147, ptr @test_count, align 4, !tbaa !5
  %5148 = call i32 @s2n_connection_free(ptr noundef nonnull %172) #11
  %5149 = icmp eq i32 %5148, -1
  br i1 %5149, label %5150, label %5172

5150:                                             ; preds = %5145
  %5151 = load i32, ptr %284, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = call i32 @s2n_print_stacktrace(ptr noundef %5152) #11
  %5154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5155 = trunc nuw i8 %5154 to i1
  br i1 %5155, label %5156, label %5160

5156:                                             ; preds = %5150
  %5157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5158 = call i32 @fileno(ptr noundef %5157) #11
  %5159 = call i32 @isatty(i32 noundef %5158) #11
  %.not486 = icmp eq i32 %5159, 0
  br i1 %.not486, label %5160, label %5161

5160:                                             ; preds = %5156, %5150
  br label %5161

5161:                                             ; preds = %5156, %5160
  %.str.5.sink2254 = phi ptr [ @.str.5, %5160 ], [ @.str.2, %5156 ]
  store i32 %5151, ptr %284, align 4, !tbaa !5
  %5162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5163 = load i32, ptr @test_count, align 4, !tbaa !5
  %5164 = load i32, ptr %230, align 4, !tbaa !5
  %5165 = call ptr @s2n_strerror(i32 noundef %5164, ptr noundef nonnull @.str.4) #11
  %5166 = load i32, ptr %230, align 4, !tbaa !5
  %5167 = call ptr @s2n_strerror_debug(i32 noundef %5166, ptr noundef nonnull @.str.4) #11
  %5168 = load i32, ptr %284, align 4, !tbaa !5
  %5169 = call ptr @strerror(i32 noundef %5168) #11
  %5170 = load i32, ptr %284, align 4, !tbaa !5
  %5171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5162, ptr noundef nonnull %.str.5.sink2254, i32 noundef %5163, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 420, ptr noundef %5165, ptr noundef %5167, ptr noundef %5169, i32 noundef %5170) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5172:                                             ; preds = %5145
  %5173 = call i32 @s2n_cleanup() #11
  %5174 = icmp eq i32 %5173, -1
  br i1 %5174, label %5175, label %5197

5175:                                             ; preds = %5172
  %5176 = load i32, ptr %284, align 4, !tbaa !5
  %5177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5178 = call i32 @s2n_print_stacktrace(ptr noundef %5177) #11
  %5179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5180 = trunc nuw i8 %5179 to i1
  br i1 %5180, label %5181, label %5185

5181:                                             ; preds = %5175
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = call i32 @fileno(ptr noundef %5182) #11
  %5184 = call i32 @isatty(i32 noundef %5183) #11
  %.not485 = icmp eq i32 %5184, 0
  br i1 %.not485, label %5185, label %5186

5185:                                             ; preds = %5181, %5175
  br label %5186

5186:                                             ; preds = %5181, %5185
  %.str.5.sink2263 = phi ptr [ @.str.5, %5185 ], [ @.str.2, %5181 ]
  store i32 %5176, ptr %284, align 4, !tbaa !5
  %5187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5188 = load i32, ptr @test_count, align 4, !tbaa !5
  %5189 = load i32, ptr %230, align 4, !tbaa !5
  %5190 = call ptr @s2n_strerror(i32 noundef %5189, ptr noundef nonnull @.str.4) #11
  %5191 = load i32, ptr %230, align 4, !tbaa !5
  %5192 = call ptr @s2n_strerror_debug(i32 noundef %5191, ptr noundef nonnull @.str.4) #11
  %5193 = load i32, ptr %284, align 4, !tbaa !5
  %5194 = call ptr @strerror(i32 noundef %5193) #11
  %5195 = load i32, ptr %284, align 4, !tbaa !5
  %5196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5187, ptr noundef nonnull %.str.5.sink2263, i32 noundef %5188, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %5190, ptr noundef %5192, ptr noundef %5194, i32 noundef %5195) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5197:                                             ; preds = %5172
  %5198 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #11
  %5199 = icmp eq i32 %5198, -1
  br i1 %5199, label %5200, label %5222

5200:                                             ; preds = %5197
  %5201 = load i32, ptr %284, align 4, !tbaa !5
  %5202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5203 = call i32 @s2n_print_stacktrace(ptr noundef %5202) #11
  %5204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5205 = trunc nuw i8 %5204 to i1
  br i1 %5205, label %5206, label %5210

5206:                                             ; preds = %5200
  %5207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5208 = call i32 @fileno(ptr noundef %5207) #11
  %5209 = call i32 @isatty(i32 noundef %5208) #11
  %.not484 = icmp eq i32 %5209, 0
  br i1 %.not484, label %5210, label %5211

5210:                                             ; preds = %5206, %5200
  br label %5211

5211:                                             ; preds = %5206, %5210
  %.str.5.sink2272 = phi ptr [ @.str.5, %5210 ], [ @.str.2, %5206 ]
  store i32 %5201, ptr %284, align 4, !tbaa !5
  %5212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5213 = load i32, ptr @test_count, align 4, !tbaa !5
  %5214 = load i32, ptr %230, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror(i32 noundef %5214, ptr noundef nonnull @.str.4) #11
  %5216 = load i32, ptr %230, align 4, !tbaa !5
  %5217 = call ptr @s2n_strerror_debug(i32 noundef %5216, ptr noundef nonnull @.str.4) #11
  %5218 = load i32, ptr %284, align 4, !tbaa !5
  %5219 = call ptr @strerror(i32 noundef %5218) #11
  %5220 = load i32, ptr %284, align 4, !tbaa !5
  %5221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5212, ptr noundef nonnull %.str.5.sink2272, i32 noundef %5213, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %5215, ptr noundef %5217, ptr noundef %5219, i32 noundef %5220) #13
  call void @exit(i32 noundef 1) #14
  unreachable

5222:                                             ; preds = %5197
  %5223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5224 = trunc nuw i8 %5223 to i1
  br i1 %5224, label %5225, label %5236

5225:                                             ; preds = %5222
  %5226 = load ptr, ptr @stdout, align 8, !tbaa !9
  %5227 = call i32 @fileno(ptr noundef %5226) #11
  %5228 = call i32 @isatty(i32 noundef %5227) #11
  %.not481 = icmp eq i32 %5228, 0
  br i1 %.not481, label %5236, label %5229

5229:                                             ; preds = %5225
  %5230 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not483 = icmp eq i32 %5230, 0
  %5231 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not483, label %5234, label %5232

5232:                                             ; preds = %5229
  %5233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5231, ptr noundef nonnull @.str.58, i32 noundef %5230) #11
  br label %5243

5234:                                             ; preds = %5229
  %5235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5231, ptr noundef nonnull @.str.59) #11
  br label %5243

5236:                                             ; preds = %5225, %5222
  %5237 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not482 = icmp eq i32 %5237, 0
  %5238 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not482, label %5241, label %5239

5239:                                             ; preds = %5236
  %5240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef nonnull @.str.60, i32 noundef %5237) #11
  br label %5243

5241:                                             ; preds = %5236
  %5242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5238, ptr noundef nonnull @.str.61) #11
  br label %5243

5243:                                             ; preds = %5239, %5241, %5232, %5234
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %1) #11
  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: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_extension_send_no_data(ptr noundef, ptr noundef) #0

declare ptr @s2n_connection_new(i32 noundef) 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) #9

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

declare void @s2n_debug_info_reset() local_unnamed_addr #2

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

declare i32 @s2n_stuffer_free(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_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_stuffer_write_vector_size(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
declare hidden i32 @s2n_extension_send_other_test_data(ptr noundef, ptr noundef) #0

declare i32 @s2n_connection_free(ptr 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 #10

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: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { nofree nounwind willreturn memory(argmem: read) }
attributes #11 = { nounwind }
attributes #12 = { nounwind willreturn memory(none) }
attributes #13 = { cold nounwind }
attributes #14 = { 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, !10, i64 8}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!19, !17, i64 24}
!19 = !{!"", !20, i64 0, !17, i64 24, !17, i64 26, !6, i64 28}
!20 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!21 = !{!22, !6, i64 28}
!22 = !{!"s2n_stuffer", !20, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!23 = !{!22, !6, i64 24}
!24 = !{!25, !10, i64 672}
!25 = !{!"", !7, i64 0, !20, i64 672, !17, i64 696}
!26 = !{!22, !10, i64 0}
!27 = !{!25, !6, i64 680}
!28 = !{!25, !17, i64 696}
!29 = !{!22, !6, i64 32}
!30 = !{!31, !7, i64 12}
!31 = !{!"s2n_stuffer_reservation", !10, i64 0, !6, i64 8, !7, i64 12}
!32 = !{!7, !7, i64 0}
!33 = !{!19, !10, i64 0}
!34 = !{!19, !6, i64 8}
!35 = !{i64 0, i64 8, !9, i64 8, i64 4, !5, i64 12, i64 4, !5, i64 16, i64 1, !32, i64 24, i64 2, !36, i64 26, i64 2, !36, i64 28, i64 1, !32}
!36 = !{!17, !17, i64 0}
!37 = !{i64 0, i64 2, !36, i64 2, i64 1, !32, i64 4, i64 2, !36, i64 8, i64 8, !9, i64 16, i64 8, !9, i64 24, i64 8, !9, i64 32, i64 8, !9}
!38 = !{!16, !17, i64 0}
!39 = !{!19, !17, i64 26}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass