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

; Unoptimized IR (clang -disable-llvm-passes):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [91 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i8, align 1
  %11 = alloca i16, align 2
  %12 = alloca %struct.s2n_stuffer, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %struct.s2n_stuffer, align 8
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i16, align 2
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca %struct.s2n_stuffer, align 8
  %33 = alloca i32, align 4
  %34 = alloca %struct.s2n_blob, align 8
  %35 = alloca %struct.s2n_result, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca %struct.s2n_blob, align 8
  %41 = alloca %struct.s2n_result, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca %struct.s2n_blob, align 8
  %47 = alloca %struct.s2n_result, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca %struct.s2n_blob, align 8
  %53 = alloca %struct.s2n_result, 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_blob, align 8
  %60 = alloca %struct.s2n_result, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i8, align 1
  %72 = alloca i8, align 1
  %73 = alloca %struct.s2n_stuffer, 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 %struct.s2n_stuffer, align 8
  %83 = alloca i32, align 4
  %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 i32, align 4
  %90 = alloca i64, align 8
  %91 = alloca %struct.s2n_stuffer, align 8
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca %struct.s2n_stuffer, align 8
  %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 %struct.s2n_stuffer, align 8
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca i32, align 4
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca i32, align 4
  %118 = alloca i32, align 4
  %119 = alloca %struct.s2n_stuffer, align 8
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %130

130:                                              ; preds = %2
  br label %131

131:                                              ; preds = %130
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %132 = load ptr, ptr @stdout, align 8, !tbaa !9
  %133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %132, ptr noundef @.str, ptr noundef @.str.1) #9
  %134 = load ptr, ptr @stdout, align 8, !tbaa !9
  %135 = call i32 @fflush(ptr noundef %134)
  br label %136

136:                                              ; preds = %131
  %137 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %190

139:                                              ; preds = %136
  br label %140

140:                                              ; preds = %139
  br label %141

141:                                              ; preds = %140
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  %142 = call ptr @__errno_location() #10
  %143 = load i32, ptr %142, align 4, !tbaa !5
  store i32 %143, ptr %6, align 4, !tbaa !5
  %144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %145 = call i32 @s2n_print_stacktrace(ptr noundef %144)
  %146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %147 = trunc i8 %146 to i1
  br i1 %147, label %148, label %170

148:                                              ; preds = %141
  %149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %150 = call i32 @fileno(ptr noundef %149) #9
  %151 = call i32 @isatty(i32 noundef %150) #9
  %152 = icmp ne i32 %151, 0
  br i1 %152, label %153, label %170

153:                                              ; preds = %148
  %154 = load i32, ptr %6, align 4, !tbaa !5
  %155 = call ptr @__errno_location() #10
  store i32 %154, ptr %155, align 4, !tbaa !5
  %156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %157 = load i32, ptr @test_count, align 4, !tbaa !5
  %158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %159 = load i32, ptr %158, align 4, !tbaa !5
  %160 = call ptr @s2n_strerror(i32 noundef %159, ptr noundef @.str.4)
  %161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %162 = load i32, ptr %161, align 4, !tbaa !5
  %163 = call ptr @s2n_strerror_debug(i32 noundef %162, ptr noundef @.str.4)
  %164 = call ptr @__errno_location() #10
  %165 = load i32, ptr %164, align 4, !tbaa !5
  %166 = call ptr @strerror(i32 noundef %165) #9
  %167 = call ptr @__errno_location() #10
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %156, ptr noundef @.str.2, i32 noundef %157, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 27, ptr noundef %160, ptr noundef %163, ptr noundef %166, i32 noundef %168) #9
  br label %187

170:                                              ; preds = %148, %141
  %171 = load i32, ptr %6, align 4, !tbaa !5
  %172 = call ptr @__errno_location() #10
  store i32 %171, ptr %172, align 4, !tbaa !5
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = load i32, ptr @test_count, align 4, !tbaa !5
  %175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %176 = load i32, ptr %175, align 4, !tbaa !5
  %177 = call ptr @s2n_strerror(i32 noundef %176, ptr noundef @.str.4)
  %178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %179 = load i32, ptr %178, align 4, !tbaa !5
  %180 = call ptr @s2n_strerror_debug(i32 noundef %179, ptr noundef @.str.4)
  %181 = call ptr @__errno_location() #10
  %182 = load i32, ptr %181, align 4, !tbaa !5
  %183 = call ptr @strerror(i32 noundef %182) #9
  %184 = call ptr @__errno_location() #10
  %185 = load i32, ptr %184, align 4, !tbaa !5
  %186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %173, ptr noundef @.str.5, i32 noundef %174, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 27, ptr noundef %177, ptr noundef %180, ptr noundef %183, i32 noundef %185) #9
  br label %187

187:                                              ; preds = %170, %153
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %188

188:                                              ; preds = %187
  call void @exit(i32 noundef 1) #11
  unreachable

189:                                              ; No predecessors!
  br label %190

190:                                              ; preds = %189, %136
  br label %191

191:                                              ; preds = %190
  br label %192

192:                                              ; preds = %191
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr @test_count, align 4, !tbaa !5
  %195 = call i32 @s2n_enable_atexit()
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %248

197:                                              ; preds = %192
  br label %198

198:                                              ; preds = %197
  br label %199

199:                                              ; preds = %198
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  %200 = call ptr @__errno_location() #10
  %201 = load i32, ptr %200, align 4, !tbaa !5
  store i32 %201, ptr %7, align 4, !tbaa !5
  %202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %203 = call i32 @s2n_print_stacktrace(ptr noundef %202)
  %204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %205 = trunc i8 %204 to i1
  br i1 %205, label %206, label %228

206:                                              ; preds = %199
  %207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %208 = call i32 @fileno(ptr noundef %207) #9
  %209 = call i32 @isatty(i32 noundef %208) #9
  %210 = icmp ne i32 %209, 0
  br i1 %210, label %211, label %228

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

228:                                              ; preds = %206, %199
  %229 = load i32, ptr %7, align 4, !tbaa !5
  %230 = call ptr @__errno_location() #10
  store i32 %229, ptr %230, align 4, !tbaa !5
  %231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %232 = load i32, ptr @test_count, align 4, !tbaa !5
  %233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = call ptr @s2n_strerror(i32 noundef %234, ptr noundef @.str.4)
  %236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %237 = load i32, ptr %236, align 4, !tbaa !5
  %238 = call ptr @s2n_strerror_debug(i32 noundef %237, ptr noundef @.str.4)
  %239 = call ptr @__errno_location() #10
  %240 = load i32, ptr %239, align 4, !tbaa !5
  %241 = call ptr @strerror(i32 noundef %240) #9
  %242 = call ptr @__errno_location() #10
  %243 = load i32, ptr %242, align 4, !tbaa !5
  %244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %231, ptr noundef @.str.5, i32 noundef %232, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 27, ptr noundef %235, ptr noundef %238, ptr noundef %241, i32 noundef %243) #9
  br label %245

245:                                              ; preds = %228, %211
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %246

246:                                              ; preds = %245
  call void @exit(i32 noundef 1) #11
  unreachable

247:                                              ; No predecessors!
  br label %248

248:                                              ; preds = %247, %192
  br label %249

249:                                              ; preds = %248
  br label %250

250:                                              ; preds = %249
  br label %251

251:                                              ; preds = %250
  %252 = call i32 @s2n_init()
  %253 = icmp eq i32 %252, -1
  br i1 %253, label %254, label %305

254:                                              ; preds = %251
  br label %255

255:                                              ; preds = %254
  br label %256

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

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

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

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

302:                                              ; preds = %285, %268
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %303

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

304:                                              ; No predecessors!
  br label %305

305:                                              ; preds = %304, %251
  br label %306

306:                                              ; preds = %305
  br label %307

307:                                              ; preds = %306
  br label %308

308:                                              ; preds = %307
  %309 = load i32, ptr @test_count, align 4, !tbaa !5
  %310 = add nsw i32 %309, 1
  store i32 %310, ptr @test_count, align 4, !tbaa !5
  %311 = call i32 (...) @s2n_disable_tls13_in_test()
  %312 = icmp eq i32 %311, -1
  br i1 %312, label %313, label %364

313:                                              ; preds = %308
  br label %314

314:                                              ; preds = %313
  br label %315

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

322:                                              ; preds = %315
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @fileno(ptr noundef %323) #9
  %325 = call i32 @isatty(i32 noundef %324) #9
  %326 = icmp ne i32 %325, 0
  br i1 %326, label %327, label %344

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

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

361:                                              ; preds = %344, %327
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %362

362:                                              ; preds = %361
  call void @exit(i32 noundef 1) #11
  unreachable

363:                                              ; No predecessors!
  br label %364

364:                                              ; preds = %363, %308
  br label %365

365:                                              ; preds = %364
  call void @llvm.lifetime.start.p0(i64 1, ptr %10) #9
  store i8 0, ptr %10, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 2, ptr %11) #9
  store i16 -9485, ptr %11, align 2, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 40, ptr %12) #9
  call void @llvm.memset.p0.i64(ptr align 8 %12, i8 0, i64 40, i1 false)
  br label %366

366:                                              ; preds = %365
  %367 = load i32, ptr @test_count, align 4, !tbaa !5
  %368 = add nsw i32 %367, 1
  store i32 %368, ptr @test_count, align 4, !tbaa !5
  %369 = call i32 @s2n_stuffer_alloc(ptr noundef %12, i32 noundef 2)
  %370 = icmp eq i32 %369, -1
  br i1 %370, label %371, label %424

371:                                              ; preds = %366
  br label %372

372:                                              ; preds = %371
  br label %373

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

380:                                              ; preds = %373
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = call i32 @fileno(ptr noundef %381) #9
  %383 = call i32 @isatty(i32 noundef %382) #9
  %384 = icmp ne i32 %383, 0
  br i1 %384, label %385, label %402

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

402:                                              ; preds = %380, %373
  %403 = load i32, ptr %13, align 4, !tbaa !5
  %404 = call ptr @__errno_location() #10
  store i32 %403, ptr %404, align 4, !tbaa !5
  %405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %406 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %408, ptr noundef @.str.4)
  %410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %411 = load i32, ptr %410, align 4, !tbaa !5
  %412 = call ptr @s2n_strerror_debug(i32 noundef %411, ptr noundef @.str.4)
  %413 = call ptr @__errno_location() #10
  %414 = load i32, ptr %413, align 4, !tbaa !5
  %415 = call ptr @strerror(i32 noundef %414) #9
  %416 = call ptr @__errno_location() #10
  %417 = load i32, ptr %416, align 4, !tbaa !5
  %418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %405, ptr noundef @.str.5, i32 noundef %406, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 40, ptr noundef %409, ptr noundef %412, ptr noundef %415, i32 noundef %417) #9
  br label %419

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

420:                                              ; preds = %419
  br label %421

421:                                              ; preds = %420
  call void @exit(i32 noundef 1) #11
  unreachable

422:                                              ; No predecessors!
  br label %423

423:                                              ; preds = %422
  br label %424

424:                                              ; preds = %423, %366
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  br label %427

427:                                              ; preds = %426
  %428 = load i32, ptr @test_count, align 4, !tbaa !5
  %429 = add nsw i32 %428, 1
  store i32 %429, ptr @test_count, align 4, !tbaa !5
  %430 = load i16, ptr %11, align 2, !tbaa !16
  %431 = call i32 @s2n_stuffer_write_uint16(ptr noundef %12, i16 noundef zeroext %430)
  %432 = icmp eq i32 %431, -1
  br i1 %432, label %433, label %486

433:                                              ; preds = %427
  br label %434

434:                                              ; preds = %433
  br label %435

435:                                              ; preds = %434
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %436 = call ptr @__errno_location() #10
  %437 = load i32, ptr %436, align 4, !tbaa !5
  store i32 %437, ptr %14, align 4, !tbaa !5
  %438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %439 = call i32 @s2n_print_stacktrace(ptr noundef %438)
  %440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %441 = trunc i8 %440 to i1
  br i1 %441, label %442, label %464

442:                                              ; preds = %435
  %443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %444 = call i32 @fileno(ptr noundef %443) #9
  %445 = call i32 @isatty(i32 noundef %444) #9
  %446 = icmp ne i32 %445, 0
  br i1 %446, label %447, label %464

447:                                              ; preds = %442
  %448 = load i32, ptr %14, align 4, !tbaa !5
  %449 = call ptr @__errno_location() #10
  store i32 %448, ptr %449, align 4, !tbaa !5
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = load i32, ptr @test_count, align 4, !tbaa !5
  %452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = call ptr @s2n_strerror(i32 noundef %453, ptr noundef @.str.4)
  %455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %456 = load i32, ptr %455, align 4, !tbaa !5
  %457 = call ptr @s2n_strerror_debug(i32 noundef %456, ptr noundef @.str.4)
  %458 = call ptr @__errno_location() #10
  %459 = load i32, ptr %458, align 4, !tbaa !5
  %460 = call ptr @strerror(i32 noundef %459) #9
  %461 = call ptr @__errno_location() #10
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %450, ptr noundef @.str.2, i32 noundef %451, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 41, ptr noundef %454, ptr noundef %457, ptr noundef %460, i32 noundef %462) #9
  br label %481

464:                                              ; preds = %442, %435
  %465 = load i32, ptr %14, align 4, !tbaa !5
  %466 = call ptr @__errno_location() #10
  store i32 %465, ptr %466, align 4, !tbaa !5
  %467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %468 = load i32, ptr @test_count, align 4, !tbaa !5
  %469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %470 = load i32, ptr %469, align 4, !tbaa !5
  %471 = call ptr @s2n_strerror(i32 noundef %470, ptr noundef @.str.4)
  %472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %473 = load i32, ptr %472, align 4, !tbaa !5
  %474 = call ptr @s2n_strerror_debug(i32 noundef %473, ptr noundef @.str.4)
  %475 = call ptr @__errno_location() #10
  %476 = load i32, ptr %475, align 4, !tbaa !5
  %477 = call ptr @strerror(i32 noundef %476) #9
  %478 = call ptr @__errno_location() #10
  %479 = load i32, ptr %478, align 4, !tbaa !5
  %480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %467, ptr noundef @.str.5, i32 noundef %468, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 41, ptr noundef %471, ptr noundef %474, ptr noundef %477, i32 noundef %479) #9
  br label %481

481:                                              ; preds = %464, %447
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %482

482:                                              ; preds = %481
  br label %483

483:                                              ; preds = %482
  call void @exit(i32 noundef 1) #11
  unreachable

484:                                              ; No predecessors!
  br label %485

485:                                              ; preds = %484
  br label %486

486:                                              ; preds = %485, %427
  br label %487

487:                                              ; preds = %486
  br label %488

488:                                              ; preds = %487
  br label %489

489:                                              ; preds = %488
  %490 = load i32, ptr @test_count, align 4, !tbaa !5
  %491 = add nsw i32 %490, 1
  store i32 %491, ptr @test_count, align 4, !tbaa !5
  %492 = call i32 @s2n_tls13_parse_record_type(ptr noundef %12, ptr noundef %10)
  %493 = icmp eq i32 %492, -1
  br i1 %493, label %494, label %547

494:                                              ; preds = %489
  br label %495

495:                                              ; preds = %494
  br label %496

496:                                              ; preds = %495
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %497 = call ptr @__errno_location() #10
  %498 = load i32, ptr %497, align 4, !tbaa !5
  store i32 %498, ptr %15, align 4, !tbaa !5
  %499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %500 = call i32 @s2n_print_stacktrace(ptr noundef %499)
  %501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %502 = trunc i8 %501 to i1
  br i1 %502, label %503, label %525

503:                                              ; preds = %496
  %504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %505 = call i32 @fileno(ptr noundef %504) #9
  %506 = call i32 @isatty(i32 noundef %505) #9
  %507 = icmp ne i32 %506, 0
  br i1 %507, label %508, label %525

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

525:                                              ; preds = %503, %496
  %526 = load i32, ptr %15, align 4, !tbaa !5
  %527 = call ptr @__errno_location() #10
  store i32 %526, ptr %527, align 4, !tbaa !5
  %528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %529 = load i32, ptr @test_count, align 4, !tbaa !5
  %530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %531 = load i32, ptr %530, align 4, !tbaa !5
  %532 = call ptr @s2n_strerror(i32 noundef %531, ptr noundef @.str.4)
  %533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %534 = load i32, ptr %533, align 4, !tbaa !5
  %535 = call ptr @s2n_strerror_debug(i32 noundef %534, ptr noundef @.str.4)
  %536 = call ptr @__errno_location() #10
  %537 = load i32, ptr %536, align 4, !tbaa !5
  %538 = call ptr @strerror(i32 noundef %537) #9
  %539 = call ptr @__errno_location() #10
  %540 = load i32, ptr %539, align 4, !tbaa !5
  %541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %528, ptr noundef @.str.5, i32 noundef %529, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 42, ptr noundef %532, ptr noundef %535, ptr noundef %538, i32 noundef %540) #9
  br label %542

542:                                              ; preds = %525, %508
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %543

543:                                              ; preds = %542
  br label %544

544:                                              ; preds = %543
  call void @exit(i32 noundef 1) #11
  unreachable

545:                                              ; No predecessors!
  br label %546

546:                                              ; preds = %545
  br label %547

547:                                              ; preds = %546, %489
  br label %548

548:                                              ; preds = %547
  br label %549

549:                                              ; preds = %548
  br label %550

550:                                              ; preds = %549
  %551 = load i32, ptr @test_count, align 4, !tbaa !5
  %552 = add nsw i32 %551, 1
  store i32 %552, ptr @test_count, align 4, !tbaa !5
  %553 = load i8, ptr %10, align 1, !tbaa !15
  %554 = zext i8 %553 to i32
  %555 = icmp eq i32 %554, 243
  br i1 %555, label %609, label %556

556:                                              ; preds = %550
  br label %557

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %559 = call ptr @__errno_location() #10
  %560 = load i32, ptr %559, align 4, !tbaa !5
  store i32 %560, ptr %16, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561)
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc i8 %563 to i1
  br i1 %564, label %565, label %587

565:                                              ; preds = %558
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #9
  %568 = call i32 @isatty(i32 noundef %567) #9
  %569 = icmp ne i32 %568, 0
  br i1 %569, label %570, label %587

570:                                              ; preds = %565
  %571 = load i32, ptr %16, align 4, !tbaa !5
  %572 = call ptr @__errno_location() #10
  store i32 %571, ptr %572, align 4, !tbaa !5
  %573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %576 = load i32, ptr %575, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror(i32 noundef %576, ptr noundef @.str.4)
  %578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %579 = load i32, ptr %578, align 4, !tbaa !5
  %580 = call ptr @s2n_strerror_debug(i32 noundef %579, ptr noundef @.str.4)
  %581 = call ptr @__errno_location() #10
  %582 = load i32, ptr %581, align 4, !tbaa !5
  %583 = call ptr @strerror(i32 noundef %582) #9
  %584 = call ptr @__errno_location() #10
  %585 = load i32, ptr %584, align 4, !tbaa !5
  %586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %573, ptr noundef @.str.2, i32 noundef %574, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 43, ptr noundef %577, ptr noundef %580, ptr noundef %583, i32 noundef %585) #9
  br label %604

587:                                              ; preds = %565, %558
  %588 = load i32, ptr %16, align 4, !tbaa !5
  %589 = call ptr @__errno_location() #10
  store i32 %588, ptr %589, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %593 = load i32, ptr %592, align 4, !tbaa !5
  %594 = call ptr @s2n_strerror(i32 noundef %593, ptr noundef @.str.4)
  %595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %596 = load i32, ptr %595, align 4, !tbaa !5
  %597 = call ptr @s2n_strerror_debug(i32 noundef %596, ptr noundef @.str.4)
  %598 = call ptr @__errno_location() #10
  %599 = load i32, ptr %598, align 4, !tbaa !5
  %600 = call ptr @strerror(i32 noundef %599) #9
  %601 = call ptr @__errno_location() #10
  %602 = load i32, ptr %601, align 4, !tbaa !5
  %603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef @.str.5, i32 noundef %591, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 43, ptr noundef %594, ptr noundef %597, ptr noundef %600, i32 noundef %602) #9
  br label %604

604:                                              ; preds = %587, %570
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %605

605:                                              ; preds = %604
  br label %606

606:                                              ; preds = %605
  call void @exit(i32 noundef 1) #11
  unreachable

607:                                              ; No predecessors!
  br label %608

608:                                              ; preds = %607
  br label %609

609:                                              ; preds = %608, %550
  br label %610

610:                                              ; preds = %609
  br label %611

611:                                              ; preds = %610
  br label %612

612:                                              ; preds = %611
  %613 = load i32, ptr @test_count, align 4, !tbaa !5
  %614 = add nsw i32 %613, 1
  store i32 %614, ptr @test_count, align 4, !tbaa !5
  %615 = getelementptr inbounds %struct.s2n_stuffer, ptr %12, i32 0, i32 2
  %616 = load i32, ptr %615, align 4, !tbaa !18
  %617 = getelementptr inbounds %struct.s2n_stuffer, ptr %12, i32 0, i32 1
  %618 = load i32, ptr %617, align 8, !tbaa !21
  %619 = sub i32 %616, %618
  %620 = icmp eq i32 %619, 1
  br i1 %620, label %674, label %621

621:                                              ; preds = %612
  br label %622

622:                                              ; preds = %621
  br label %623

623:                                              ; preds = %622
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %624 = call ptr @__errno_location() #10
  %625 = load i32, ptr %624, align 4, !tbaa !5
  store i32 %625, ptr %17, align 4, !tbaa !5
  %626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %627 = call i32 @s2n_print_stacktrace(ptr noundef %626)
  %628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %629 = trunc i8 %628 to i1
  br i1 %629, label %630, label %652

630:                                              ; preds = %623
  %631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %632 = call i32 @fileno(ptr noundef %631) #9
  %633 = call i32 @isatty(i32 noundef %632) #9
  %634 = icmp ne i32 %633, 0
  br i1 %634, label %635, label %652

635:                                              ; preds = %630
  %636 = load i32, ptr %17, align 4, !tbaa !5
  %637 = call ptr @__errno_location() #10
  store i32 %636, ptr %637, align 4, !tbaa !5
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror(i32 noundef %641, ptr noundef @.str.4)
  %643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %644 = load i32, ptr %643, align 4, !tbaa !5
  %645 = call ptr @s2n_strerror_debug(i32 noundef %644, ptr noundef @.str.4)
  %646 = call ptr @__errno_location() #10
  %647 = load i32, ptr %646, align 4, !tbaa !5
  %648 = call ptr @strerror(i32 noundef %647) #9
  %649 = call ptr @__errno_location() #10
  %650 = load i32, ptr %649, align 4, !tbaa !5
  %651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %638, ptr noundef @.str.2, i32 noundef %639, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 44, ptr noundef %642, ptr noundef %645, ptr noundef %648, i32 noundef %650) #9
  br label %669

652:                                              ; preds = %630, %623
  %653 = load i32, ptr %17, align 4, !tbaa !5
  %654 = call ptr @__errno_location() #10
  store i32 %653, ptr %654, align 4, !tbaa !5
  %655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %656 = load i32, ptr @test_count, align 4, !tbaa !5
  %657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %658 = load i32, ptr %657, align 4, !tbaa !5
  %659 = call ptr @s2n_strerror(i32 noundef %658, ptr noundef @.str.4)
  %660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %661 = load i32, ptr %660, align 4, !tbaa !5
  %662 = call ptr @s2n_strerror_debug(i32 noundef %661, ptr noundef @.str.4)
  %663 = call ptr @__errno_location() #10
  %664 = load i32, ptr %663, align 4, !tbaa !5
  %665 = call ptr @strerror(i32 noundef %664) #9
  %666 = call ptr @__errno_location() #10
  %667 = load i32, ptr %666, align 4, !tbaa !5
  %668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %655, ptr noundef @.str.5, i32 noundef %656, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 44, ptr noundef %659, ptr noundef %662, ptr noundef %665, i32 noundef %667) #9
  br label %669

669:                                              ; preds = %652, %635
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %670

670:                                              ; preds = %669
  br label %671

671:                                              ; preds = %670
  call void @exit(i32 noundef 1) #11
  unreachable

672:                                              ; No predecessors!
  br label %673

673:                                              ; preds = %672
  br label %674

674:                                              ; preds = %673, %612
  br label %675

675:                                              ; preds = %674
  br label %676

676:                                              ; preds = %675
  br label %677

677:                                              ; preds = %676
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = add nsw i32 %678, 1
  store i32 %679, ptr @test_count, align 4, !tbaa !5
  %680 = call i32 @s2n_stuffer_free(ptr noundef %12)
  %681 = icmp eq i32 %680, -1
  br i1 %681, label %682, label %735

682:                                              ; preds = %677
  br label %683

683:                                              ; preds = %682
  br label %684

684:                                              ; preds = %683
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  %685 = call ptr @__errno_location() #10
  %686 = load i32, ptr %685, align 4, !tbaa !5
  store i32 %686, ptr %18, align 4, !tbaa !5
  %687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %688 = call i32 @s2n_print_stacktrace(ptr noundef %687)
  %689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %690 = trunc i8 %689 to i1
  br i1 %690, label %691, label %713

691:                                              ; preds = %684
  %692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %693 = call i32 @fileno(ptr noundef %692) #9
  %694 = call i32 @isatty(i32 noundef %693) #9
  %695 = icmp ne i32 %694, 0
  br i1 %695, label %696, label %713

696:                                              ; preds = %691
  %697 = load i32, ptr %18, align 4, !tbaa !5
  %698 = call ptr @__errno_location() #10
  store i32 %697, ptr %698, align 4, !tbaa !5
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %702 = load i32, ptr %701, align 4, !tbaa !5
  %703 = call ptr @s2n_strerror(i32 noundef %702, ptr noundef @.str.4)
  %704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %705 = load i32, ptr %704, align 4, !tbaa !5
  %706 = call ptr @s2n_strerror_debug(i32 noundef %705, ptr noundef @.str.4)
  %707 = call ptr @__errno_location() #10
  %708 = load i32, ptr %707, align 4, !tbaa !5
  %709 = call ptr @strerror(i32 noundef %708) #9
  %710 = call ptr @__errno_location() #10
  %711 = load i32, ptr %710, align 4, !tbaa !5
  %712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %699, ptr noundef @.str.2, i32 noundef %700, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 47, ptr noundef %703, ptr noundef %706, ptr noundef %709, i32 noundef %711) #9
  br label %730

713:                                              ; preds = %691, %684
  %714 = load i32, ptr %18, align 4, !tbaa !5
  %715 = call ptr @__errno_location() #10
  store i32 %714, ptr %715, align 4, !tbaa !5
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = load i32, ptr @test_count, align 4, !tbaa !5
  %718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %719 = load i32, ptr %718, align 4, !tbaa !5
  %720 = call ptr @s2n_strerror(i32 noundef %719, ptr noundef @.str.4)
  %721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %722 = load i32, ptr %721, align 4, !tbaa !5
  %723 = call ptr @s2n_strerror_debug(i32 noundef %722, ptr noundef @.str.4)
  %724 = call ptr @__errno_location() #10
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @strerror(i32 noundef %725) #9
  %727 = call ptr @__errno_location() #10
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %716, ptr noundef @.str.5, i32 noundef %717, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 47, ptr noundef %720, ptr noundef %723, ptr noundef %726, i32 noundef %728) #9
  br label %730

730:                                              ; preds = %713, %696
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %731

731:                                              ; preds = %730
  br label %732

732:                                              ; preds = %731
  call void @exit(i32 noundef 1) #11
  unreachable

733:                                              ; No predecessors!
  br label %734

734:                                              ; preds = %733
  br label %735

735:                                              ; preds = %734, %677
  br label %736

736:                                              ; preds = %735
  br label %737

737:                                              ; preds = %736
  call void @llvm.lifetime.end.p0(i64 40, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %11) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %19) #9
  call void @llvm.memset.p0.i64(ptr align 8 %19, i8 0, i64 40, i1 false)
  br label %738

738:                                              ; preds = %737
  %739 = load i32, ptr @test_count, align 4, !tbaa !5
  %740 = add nsw i32 %739, 1
  store i32 %740, ptr @test_count, align 4, !tbaa !5
  %741 = call i32 @s2n_stuffer_alloc(ptr noundef %19, i32 noundef 0)
  %742 = icmp eq i32 %741, -1
  br i1 %742, label %743, label %796

743:                                              ; preds = %738
  br label %744

744:                                              ; preds = %743
  br label %745

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

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

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

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

791:                                              ; preds = %774, %757
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %792

792:                                              ; preds = %791
  br label %793

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

794:                                              ; No predecessors!
  br label %795

795:                                              ; preds = %794
  br label %796

796:                                              ; preds = %795, %738
  br label %797

797:                                              ; preds = %796
  br label %798

798:                                              ; preds = %797
  br label %799

799:                                              ; preds = %798
  br label %800

800:                                              ; preds = %799
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = call i32 @s2n_tls13_parse_record_type(ptr noundef %19, ptr noundef %10)
  %804 = icmp eq i32 %803, -1
  br i1 %804, label %858, label %805

805:                                              ; preds = %800
  br label %806

806:                                              ; preds = %805
  br label %807

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

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

819:                                              ; preds = %814
  %820 = load i32, ptr %21, align 4, !tbaa !5
  %821 = call ptr @__errno_location() #10
  store i32 %820, ptr %821, align 4, !tbaa !5
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = load i32, ptr @test_count, align 4, !tbaa !5
  %824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %825 = load i32, ptr %824, align 4, !tbaa !5
  %826 = call ptr @s2n_strerror(i32 noundef %825, ptr noundef @.str.4)
  %827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %828 = load i32, ptr %827, align 4, !tbaa !5
  %829 = call ptr @s2n_strerror_debug(i32 noundef %828, ptr noundef @.str.4)
  %830 = call ptr @__errno_location() #10
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = call ptr @strerror(i32 noundef %831) #9
  %833 = call ptr @__errno_location() #10
  %834 = load i32, ptr %833, align 4, !tbaa !5
  %835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %822, ptr noundef @.str.2, i32 noundef %823, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 55, ptr noundef %826, ptr noundef %829, ptr noundef %832, i32 noundef %834) #9
  br label %853

836:                                              ; preds = %814, %807
  %837 = load i32, ptr %21, align 4, !tbaa !5
  %838 = call ptr @__errno_location() #10
  store i32 %837, ptr %838, align 4, !tbaa !5
  %839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %840 = load i32, ptr @test_count, align 4, !tbaa !5
  %841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %842 = load i32, ptr %841, align 4, !tbaa !5
  %843 = call ptr @s2n_strerror(i32 noundef %842, ptr noundef @.str.4)
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror_debug(i32 noundef %845, ptr noundef @.str.4)
  %847 = call ptr @__errno_location() #10
  %848 = load i32, ptr %847, align 4, !tbaa !5
  %849 = call ptr @strerror(i32 noundef %848) #9
  %850 = call ptr @__errno_location() #10
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %839, ptr noundef @.str.5, i32 noundef %840, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 55, ptr noundef %843, ptr noundef %846, ptr noundef %849, i32 noundef %851) #9
  br label %853

853:                                              ; preds = %836, %819
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %854

854:                                              ; preds = %853
  br label %855

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

856:                                              ; No predecessors!
  br label %857

857:                                              ; preds = %856
  br label %858

858:                                              ; preds = %857, %800
  br label %859

859:                                              ; preds = %858
  br label %860

860:                                              ; preds = %859
  br label %861

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

867:                                              ; preds = %861
  br label %868

868:                                              ; preds = %867
  br label %869

869:                                              ; preds = %868
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %870 = call ptr @__errno_location() #10
  %871 = load i32, ptr %870, align 4, !tbaa !5
  store i32 %871, ptr %22, 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) #9
  %879 = call i32 @isatty(i32 noundef %878) #9
  %880 = icmp ne i32 %879, 0
  br i1 %880, label %881, label %898

881:                                              ; preds = %876
  %882 = load i32, ptr %22, align 4, !tbaa !5
  %883 = call ptr @__errno_location() #10
  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() #10
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call ptr @strerror(i32 noundef %893) #9
  %895 = call ptr @__errno_location() #10
  %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.17, ptr noundef @.str.1, i32 noundef 55, ptr noundef %888, ptr noundef %891, ptr noundef %894, i32 noundef %896) #9
  br label %915

898:                                              ; preds = %876, %869
  %899 = load i32, ptr %22, align 4, !tbaa !5
  %900 = call ptr @__errno_location() #10
  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() #10
  %910 = load i32, ptr %909, align 4, !tbaa !5
  %911 = call ptr @strerror(i32 noundef %910) #9
  %912 = call ptr @__errno_location() #10
  %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.17, ptr noundef @.str.1, i32 noundef 55, ptr noundef %905, ptr noundef %908, ptr noundef %911, i32 noundef %913) #9
  br label %915

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

916:                                              ; preds = %915
  br label %917

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

918:                                              ; No predecessors!
  br label %919

919:                                              ; preds = %918
  br label %920

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

921:                                              ; preds = %920
  br label %922

922:                                              ; preds = %921
  br label %923

923:                                              ; preds = %922
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = add nsw i32 %924, 1
  store i32 %925, ptr @test_count, align 4, !tbaa !5
  %926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %927 = load i32, ptr %926, align 4, !tbaa !5
  %928 = call ptr @s2n_strerror_debug(i32 noundef %927, ptr noundef @.str.4)
  %929 = icmp eq ptr %928, null
  br i1 %929, label %930, label %983

930:                                              ; preds = %923
  br label %931

931:                                              ; preds = %930
  br label %932

932:                                              ; preds = %931
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  %933 = call ptr @__errno_location() #10
  %934 = load i32, ptr %933, align 4, !tbaa !5
  store i32 %934, ptr %23, align 4, !tbaa !5
  %935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %936 = call i32 @s2n_print_stacktrace(ptr noundef %935)
  %937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %938 = trunc i8 %937 to i1
  br i1 %938, label %939, label %961

939:                                              ; preds = %932
  %940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %941 = call i32 @fileno(ptr noundef %940) #9
  %942 = call i32 @isatty(i32 noundef %941) #9
  %943 = icmp ne i32 %942, 0
  br i1 %943, label %944, label %961

944:                                              ; preds = %939
  %945 = load i32, ptr %23, align 4, !tbaa !5
  %946 = call ptr @__errno_location() #10
  store i32 %945, ptr %946, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = load i32, ptr @test_count, align 4, !tbaa !5
  %949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror(i32 noundef %950, ptr noundef @.str.4)
  %952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror_debug(i32 noundef %953, ptr noundef @.str.4)
  %955 = call ptr @__errno_location() #10
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call ptr @strerror(i32 noundef %956) #9
  %958 = call ptr @__errno_location() #10
  %959 = load i32, ptr %958, align 4, !tbaa !5
  %960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %947, ptr noundef @.str.2, i32 noundef %948, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 55, ptr noundef %951, ptr noundef %954, ptr noundef %957, i32 noundef %959) #9
  br label %978

961:                                              ; preds = %939, %932
  %962 = load i32, ptr %23, align 4, !tbaa !5
  %963 = call ptr @__errno_location() #10
  store i32 %962, ptr %963, align 4, !tbaa !5
  %964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %965 = load i32, ptr @test_count, align 4, !tbaa !5
  %966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %967 = load i32, ptr %966, align 4, !tbaa !5
  %968 = call ptr @s2n_strerror(i32 noundef %967, ptr noundef @.str.4)
  %969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %970 = load i32, ptr %969, align 4, !tbaa !5
  %971 = call ptr @s2n_strerror_debug(i32 noundef %970, ptr noundef @.str.4)
  %972 = call ptr @__errno_location() #10
  %973 = load i32, ptr %972, align 4, !tbaa !5
  %974 = call ptr @strerror(i32 noundef %973) #9
  %975 = call ptr @__errno_location() #10
  %976 = load i32, ptr %975, align 4, !tbaa !5
  %977 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %964, ptr noundef @.str.5, i32 noundef %965, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 55, ptr noundef %968, ptr noundef %971, ptr noundef %974, i32 noundef %976) #9
  br label %978

978:                                              ; preds = %961, %944
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %979

979:                                              ; preds = %978
  br label %980

980:                                              ; preds = %979
  call void @exit(i32 noundef 1) #11
  unreachable

981:                                              ; No predecessors!
  br label %982

982:                                              ; preds = %981
  br label %983

983:                                              ; preds = %982, %923
  br label %984

984:                                              ; preds = %983
  br label %985

985:                                              ; preds = %984
  br label %986

986:                                              ; preds = %985
  %987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %987, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %988 = call ptr @__errno_location() #10
  store i32 0, ptr %988, align 4, !tbaa !5
  br label %989

989:                                              ; preds = %986
  br label %990

990:                                              ; preds = %989
  br label %991

991:                                              ; preds = %990
  br label %992

992:                                              ; preds = %991
  call void @llvm.lifetime.end.p0(i64 40, ptr %19) #9
  call void @llvm.lifetime.start.p0(i64 2, ptr %24) #9
  store i16 243, ptr %24, align 2, !tbaa !16
  call void @llvm.lifetime.start.p0(i64 40, ptr %25) #9
  call void @llvm.memset.p0.i64(ptr align 8 %25, i8 0, i64 40, i1 false)
  br label %993

993:                                              ; preds = %992
  %994 = load i32, ptr @test_count, align 4, !tbaa !5
  %995 = add nsw i32 %994, 1
  store i32 %995, ptr @test_count, align 4, !tbaa !5
  %996 = call i32 @s2n_stuffer_alloc(ptr noundef %25, i32 noundef 2)
  %997 = icmp eq i32 %996, -1
  br i1 %997, label %998, label %1051

998:                                              ; preds = %993
  br label %999

999:                                              ; preds = %998
  br label %1000

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

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

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

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

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

1047:                                             ; preds = %1046
  br label %1048

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

1049:                                             ; No predecessors!
  br label %1050

1050:                                             ; preds = %1049
  br label %1051

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

1052:                                             ; preds = %1051
  br label %1053

1053:                                             ; preds = %1052
  br label %1054

1054:                                             ; preds = %1053
  %1055 = load i32, ptr @test_count, align 4, !tbaa !5
  %1056 = add nsw i32 %1055, 1
  store i32 %1056, ptr @test_count, align 4, !tbaa !5
  %1057 = load i16, ptr %24, align 2, !tbaa !16
  %1058 = call i32 @s2n_stuffer_write_uint16(ptr noundef %25, i16 noundef zeroext %1057)
  %1059 = icmp eq i32 %1058, -1
  br i1 %1059, label %1060, label %1113

1060:                                             ; preds = %1054
  br label %1061

1061:                                             ; preds = %1060
  br label %1062

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

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

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

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

1108:                                             ; preds = %1091, %1074
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

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

1111:                                             ; No predecessors!
  br label %1112

1112:                                             ; preds = %1111
  br label %1113

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

1114:                                             ; preds = %1113
  br label %1115

1115:                                             ; preds = %1114
  br label %1116

1116:                                             ; preds = %1115
  %1117 = load i32, ptr @test_count, align 4, !tbaa !5
  %1118 = add nsw i32 %1117, 1
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = call i32 @s2n_tls13_parse_record_type(ptr noundef %25, ptr noundef %10)
  %1120 = icmp eq i32 %1119, -1
  br i1 %1120, label %1121, label %1174

1121:                                             ; preds = %1116
  br label %1122

1122:                                             ; preds = %1121
  br label %1123

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

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

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

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

1169:                                             ; preds = %1152, %1135
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1170

1170:                                             ; preds = %1169
  br label %1171

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

1172:                                             ; No predecessors!
  br label %1173

1173:                                             ; preds = %1172
  br label %1174

1174:                                             ; preds = %1173, %1116
  br label %1175

1175:                                             ; preds = %1174
  br label %1176

1176:                                             ; preds = %1175
  br label %1177

1177:                                             ; preds = %1176
  %1178 = load i32, ptr @test_count, align 4, !tbaa !5
  %1179 = add nsw i32 %1178, 1
  store i32 %1179, ptr @test_count, align 4, !tbaa !5
  %1180 = load i8, ptr %10, align 1, !tbaa !15
  %1181 = zext i8 %1180 to i32
  %1182 = icmp eq i32 %1181, 243
  br i1 %1182, label %1236, label %1183

1183:                                             ; preds = %1177
  br label %1184

1184:                                             ; preds = %1183
  br label %1185

1185:                                             ; preds = %1184
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  %1186 = call ptr @__errno_location() #10
  %1187 = load i32, ptr %1186, align 4, !tbaa !5
  store i32 %1187, ptr %29, align 4, !tbaa !5
  %1188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1189 = call i32 @s2n_print_stacktrace(ptr noundef %1188)
  %1190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1191 = trunc i8 %1190 to i1
  br i1 %1191, label %1192, label %1214

1192:                                             ; preds = %1185
  %1193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1194 = call i32 @fileno(ptr noundef %1193) #9
  %1195 = call i32 @isatty(i32 noundef %1194) #9
  %1196 = icmp ne i32 %1195, 0
  br i1 %1196, label %1197, label %1214

1197:                                             ; preds = %1192
  %1198 = load i32, ptr %29, align 4, !tbaa !5
  %1199 = call ptr @__errno_location() #10
  store i32 %1198, ptr %1199, align 4, !tbaa !5
  %1200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1201 = load i32, ptr @test_count, align 4, !tbaa !5
  %1202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror(i32 noundef %1203, ptr noundef @.str.4)
  %1205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @s2n_strerror_debug(i32 noundef %1206, ptr noundef @.str.4)
  %1208 = call ptr @__errno_location() #10
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @strerror(i32 noundef %1209) #9
  %1211 = call ptr @__errno_location() #10
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1200, ptr noundef @.str.2, i32 noundef %1201, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1204, ptr noundef %1207, ptr noundef %1210, i32 noundef %1212) #9
  br label %1231

1214:                                             ; preds = %1192, %1185
  %1215 = load i32, ptr %29, align 4, !tbaa !5
  %1216 = call ptr @__errno_location() #10
  store i32 %1215, ptr %1216, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1220 = load i32, ptr %1219, align 4, !tbaa !5
  %1221 = call ptr @s2n_strerror(i32 noundef %1220, ptr noundef @.str.4)
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror_debug(i32 noundef %1223, ptr noundef @.str.4)
  %1225 = call ptr @__errno_location() #10
  %1226 = load i32, ptr %1225, align 4, !tbaa !5
  %1227 = call ptr @strerror(i32 noundef %1226) #9
  %1228 = call ptr @__errno_location() #10
  %1229 = load i32, ptr %1228, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef @.str.5, i32 noundef %1218, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1221, ptr noundef %1224, ptr noundef %1227, i32 noundef %1229) #9
  br label %1231

1231:                                             ; preds = %1214, %1197
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1232

1232:                                             ; preds = %1231
  br label %1233

1233:                                             ; preds = %1232
  call void @exit(i32 noundef 1) #11
  unreachable

1234:                                             ; No predecessors!
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235, %1177
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

1238:                                             ; preds = %1237
  br label %1239

1239:                                             ; preds = %1238
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = add nsw i32 %1240, 1
  store i32 %1241, ptr @test_count, align 4, !tbaa !5
  %1242 = getelementptr inbounds %struct.s2n_stuffer, ptr %25, i32 0, i32 2
  %1243 = load i32, ptr %1242, align 4, !tbaa !18
  %1244 = getelementptr inbounds %struct.s2n_stuffer, ptr %25, i32 0, i32 1
  %1245 = load i32, ptr %1244, align 8, !tbaa !21
  %1246 = sub i32 %1243, %1245
  %1247 = icmp eq i32 %1246, 1
  br i1 %1247, label %1301, label %1248

1248:                                             ; preds = %1239
  br label %1249

1249:                                             ; preds = %1248
  br label %1250

1250:                                             ; preds = %1249
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  %1251 = call ptr @__errno_location() #10
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  store i32 %1252, ptr %30, align 4, !tbaa !5
  %1253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1254 = call i32 @s2n_print_stacktrace(ptr noundef %1253)
  %1255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1256 = trunc i8 %1255 to i1
  br i1 %1256, label %1257, label %1279

1257:                                             ; preds = %1250
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @fileno(ptr noundef %1258) #9
  %1260 = call i32 @isatty(i32 noundef %1259) #9
  %1261 = icmp ne i32 %1260, 0
  br i1 %1261, label %1262, label %1279

1262:                                             ; preds = %1257
  %1263 = load i32, ptr %30, align 4, !tbaa !5
  %1264 = call ptr @__errno_location() #10
  store i32 %1263, ptr %1264, align 4, !tbaa !5
  %1265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1266 = load i32, ptr @test_count, align 4, !tbaa !5
  %1267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1268 = load i32, ptr %1267, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror(i32 noundef %1268, ptr noundef @.str.4)
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = call ptr @s2n_strerror_debug(i32 noundef %1271, ptr noundef @.str.4)
  %1273 = call ptr @__errno_location() #10
  %1274 = load i32, ptr %1273, align 4, !tbaa !5
  %1275 = call ptr @strerror(i32 noundef %1274) #9
  %1276 = call ptr @__errno_location() #10
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  %1278 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1265, ptr noundef @.str.2, i32 noundef %1266, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1269, ptr noundef %1272, ptr noundef %1275, i32 noundef %1277) #9
  br label %1296

1279:                                             ; preds = %1257, %1250
  %1280 = load i32, ptr %30, align 4, !tbaa !5
  %1281 = call ptr @__errno_location() #10
  store i32 %1280, ptr %1281, align 4, !tbaa !5
  %1282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1283 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1285, ptr noundef @.str.4)
  %1287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1288 = load i32, ptr %1287, align 4, !tbaa !5
  %1289 = call ptr @s2n_strerror_debug(i32 noundef %1288, ptr noundef @.str.4)
  %1290 = call ptr @__errno_location() #10
  %1291 = load i32, ptr %1290, align 4, !tbaa !5
  %1292 = call ptr @strerror(i32 noundef %1291) #9
  %1293 = call ptr @__errno_location() #10
  %1294 = load i32, ptr %1293, align 4, !tbaa !5
  %1295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1282, ptr noundef @.str.5, i32 noundef %1283, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1286, ptr noundef %1289, ptr noundef %1292, i32 noundef %1294) #9
  br label %1296

1296:                                             ; preds = %1279, %1262
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1297

1297:                                             ; preds = %1296
  br label %1298

1298:                                             ; preds = %1297
  call void @exit(i32 noundef 1) #11
  unreachable

1299:                                             ; No predecessors!
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

1301:                                             ; preds = %1300, %1239
  br label %1302

1302:                                             ; preds = %1301
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

1304:                                             ; preds = %1303
  %1305 = load i32, ptr @test_count, align 4, !tbaa !5
  %1306 = add nsw i32 %1305, 1
  store i32 %1306, ptr @test_count, align 4, !tbaa !5
  %1307 = call i32 @s2n_stuffer_free(ptr noundef %25)
  %1308 = icmp eq i32 %1307, -1
  br i1 %1308, label %1309, label %1362

1309:                                             ; preds = %1304
  br label %1310

1310:                                             ; preds = %1309
  br label %1311

1311:                                             ; preds = %1310
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %1312 = call ptr @__errno_location() #10
  %1313 = load i32, ptr %1312, align 4, !tbaa !5
  store i32 %1313, ptr %31, align 4, !tbaa !5
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 @s2n_print_stacktrace(ptr noundef %1314)
  %1316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1317 = trunc i8 %1316 to i1
  br i1 %1317, label %1318, label %1340

1318:                                             ; preds = %1311
  %1319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1320 = call i32 @fileno(ptr noundef %1319) #9
  %1321 = call i32 @isatty(i32 noundef %1320) #9
  %1322 = icmp ne i32 %1321, 0
  br i1 %1322, label %1323, label %1340

1323:                                             ; preds = %1318
  %1324 = load i32, ptr %31, align 4, !tbaa !5
  %1325 = call ptr @__errno_location() #10
  store i32 %1324, ptr %1325, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = load i32, ptr @test_count, align 4, !tbaa !5
  %1328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call ptr @s2n_strerror(i32 noundef %1329, ptr noundef @.str.4)
  %1331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1332 = load i32, ptr %1331, align 4, !tbaa !5
  %1333 = call ptr @s2n_strerror_debug(i32 noundef %1332, ptr noundef @.str.4)
  %1334 = call ptr @__errno_location() #10
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @strerror(i32 noundef %1335) #9
  %1337 = call ptr @__errno_location() #10
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1326, ptr noundef @.str.2, i32 noundef %1327, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1330, ptr noundef %1333, ptr noundef %1336, i32 noundef %1338) #9
  br label %1357

1340:                                             ; preds = %1318, %1311
  %1341 = load i32, ptr %31, align 4, !tbaa !5
  %1342 = call ptr @__errno_location() #10
  store i32 %1341, ptr %1342, align 4, !tbaa !5
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = load i32, ptr @test_count, align 4, !tbaa !5
  %1345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1346 = load i32, ptr %1345, align 4, !tbaa !5
  %1347 = call ptr @s2n_strerror(i32 noundef %1346, ptr noundef @.str.4)
  %1348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1349 = load i32, ptr %1348, align 4, !tbaa !5
  %1350 = call ptr @s2n_strerror_debug(i32 noundef %1349, ptr noundef @.str.4)
  %1351 = call ptr @__errno_location() #10
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call ptr @strerror(i32 noundef %1352) #9
  %1354 = call ptr @__errno_location() #10
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1343, ptr noundef @.str.5, i32 noundef %1344, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1347, ptr noundef %1350, ptr noundef %1353, i32 noundef %1355) #9
  br label %1357

1357:                                             ; preds = %1340, %1323
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1358

1358:                                             ; preds = %1357
  br label %1359

1359:                                             ; preds = %1358
  call void @exit(i32 noundef 1) #11
  unreachable

1360:                                             ; No predecessors!
  br label %1361

1361:                                             ; preds = %1360
  br label %1362

1362:                                             ; preds = %1361, %1304
  br label %1363

1363:                                             ; preds = %1362
  br label %1364

1364:                                             ; preds = %1363
  call void @llvm.lifetime.end.p0(i64 40, ptr %25) #9
  call void @llvm.lifetime.end.p0(i64 2, ptr %24) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %32) #9
  call void @llvm.memset.p0.i64(ptr align 8 %32, i8 0, i64 40, i1 false)
  br label %1365

1365:                                             ; preds = %1364
  %1366 = load i32, ptr @test_count, align 4, !tbaa !5
  %1367 = add nsw i32 %1366, 1
  store i32 %1367, ptr @test_count, align 4, !tbaa !5
  %1368 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %32, i32 noundef 1024)
  %1369 = icmp eq i32 %1368, -1
  br i1 %1369, label %1370, label %1423

1370:                                             ; preds = %1365
  br label %1371

1371:                                             ; preds = %1370
  br label %1372

1372:                                             ; preds = %1371
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  %1373 = call ptr @__errno_location() #10
  %1374 = load i32, ptr %1373, align 4, !tbaa !5
  store i32 %1374, ptr %33, align 4, !tbaa !5
  %1375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1376 = call i32 @s2n_print_stacktrace(ptr noundef %1375)
  %1377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1378 = trunc i8 %1377 to i1
  br i1 %1378, label %1379, label %1401

1379:                                             ; preds = %1372
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = call i32 @fileno(ptr noundef %1380) #9
  %1382 = call i32 @isatty(i32 noundef %1381) #9
  %1383 = icmp ne i32 %1382, 0
  br i1 %1383, label %1384, label %1401

1384:                                             ; preds = %1379
  %1385 = load i32, ptr %33, align 4, !tbaa !5
  %1386 = call ptr @__errno_location() #10
  store i32 %1385, ptr %1386, align 4, !tbaa !5
  %1387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1388 = load i32, ptr @test_count, align 4, !tbaa !5
  %1389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1390 = load i32, ptr %1389, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror(i32 noundef %1390, ptr noundef @.str.4)
  %1392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1393 = load i32, ptr %1392, align 4, !tbaa !5
  %1394 = call ptr @s2n_strerror_debug(i32 noundef %1393, ptr noundef @.str.4)
  %1395 = call ptr @__errno_location() #10
  %1396 = load i32, ptr %1395, align 4, !tbaa !5
  %1397 = call ptr @strerror(i32 noundef %1396) #9
  %1398 = call ptr @__errno_location() #10
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1387, ptr noundef @.str.2, i32 noundef %1388, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1391, ptr noundef %1394, ptr noundef %1397, i32 noundef %1399) #9
  br label %1418

1401:                                             ; preds = %1379, %1372
  %1402 = load i32, ptr %33, align 4, !tbaa !5
  %1403 = call ptr @__errno_location() #10
  store i32 %1402, ptr %1403, align 4, !tbaa !5
  %1404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1405 = load i32, ptr @test_count, align 4, !tbaa !5
  %1406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call ptr @s2n_strerror(i32 noundef %1407, ptr noundef @.str.4)
  %1409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call ptr @s2n_strerror_debug(i32 noundef %1410, ptr noundef @.str.4)
  %1412 = call ptr @__errno_location() #10
  %1413 = load i32, ptr %1412, align 4, !tbaa !5
  %1414 = call ptr @strerror(i32 noundef %1413) #9
  %1415 = call ptr @__errno_location() #10
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1404, ptr noundef @.str.5, i32 noundef %1405, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1408, ptr noundef %1411, ptr noundef %1414, i32 noundef %1416) #9
  br label %1418

1418:                                             ; preds = %1401, %1384
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1419

1419:                                             ; preds = %1418
  br label %1420

1420:                                             ; preds = %1419
  call void @exit(i32 noundef 1) #11
  unreachable

1421:                                             ; No predecessors!
  br label %1422

1422:                                             ; preds = %1421
  br label %1423

1423:                                             ; preds = %1422, %1365
  br label %1424

1424:                                             ; preds = %1423
  br label %1425

1425:                                             ; preds = %1424
  call void @llvm.lifetime.start.p0(i64 24, ptr %34) #9
  call void @llvm.memset.p0.i64(ptr align 8 %34, i8 0, i64 24, i1 false)
  br label %1426

1426:                                             ; preds = %1425
  %1427 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %34, ptr noundef @.str.20)
  %1428 = getelementptr inbounds %struct.s2n_result, ptr %35, i32 0, i32 0
  store i32 %1427, ptr %1428, align 4
  %1429 = getelementptr inbounds %struct.s2n_result, ptr %35, i32 0, i32 0
  %1430 = load i32, ptr %1429, align 4
  %1431 = call zeroext i1 @s2n_result_is_ok(i32 %1430)
  br i1 %1431, label %1433, label %1432

1432:                                             ; preds = %1426
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %3106

1433:                                             ; preds = %1426
  br label %1434

1434:                                             ; preds = %1433
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435
  %1437 = load i32, ptr @test_count, align 4, !tbaa !5
  %1438 = add nsw i32 %1437, 1
  store i32 %1438, ptr @test_count, align 4, !tbaa !5
  %1439 = call i32 @s2n_stuffer_write(ptr noundef %32, ptr noundef %34)
  %1440 = icmp eq i32 %1439, -1
  br i1 %1440, label %1441, label %1494

1441:                                             ; preds = %1436
  br label %1442

1442:                                             ; preds = %1441
  br label %1443

1443:                                             ; preds = %1442
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  %1444 = call ptr @__errno_location() #10
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  store i32 %1445, ptr %37, align 4, !tbaa !5
  %1446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1447 = call i32 @s2n_print_stacktrace(ptr noundef %1446)
  %1448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1449 = trunc i8 %1448 to i1
  br i1 %1449, label %1450, label %1472

1450:                                             ; preds = %1443
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = call i32 @fileno(ptr noundef %1451) #9
  %1453 = call i32 @isatty(i32 noundef %1452) #9
  %1454 = icmp ne i32 %1453, 0
  br i1 %1454, label %1455, label %1472

1455:                                             ; preds = %1450
  %1456 = load i32, ptr %37, align 4, !tbaa !5
  %1457 = call ptr @__errno_location() #10
  store i32 %1456, ptr %1457, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = load i32, ptr @test_count, align 4, !tbaa !5
  %1460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1461 = load i32, ptr %1460, align 4, !tbaa !5
  %1462 = call ptr @s2n_strerror(i32 noundef %1461, ptr noundef @.str.4)
  %1463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1464 = load i32, ptr %1463, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef @.str.4)
  %1466 = call ptr @__errno_location() #10
  %1467 = load i32, ptr %1466, align 4, !tbaa !5
  %1468 = call ptr @strerror(i32 noundef %1467) #9
  %1469 = call ptr @__errno_location() #10
  %1470 = load i32, ptr %1469, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1458, ptr noundef @.str.2, i32 noundef %1459, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 80, ptr noundef %1462, ptr noundef %1465, ptr noundef %1468, i32 noundef %1470) #9
  br label %1489

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

1489:                                             ; preds = %1472, %1455
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1490

1490:                                             ; preds = %1489
  br label %1491

1491:                                             ; preds = %1490
  call void @exit(i32 noundef 1) #11
  unreachable

1492:                                             ; No predecessors!
  br label %1493

1493:                                             ; preds = %1492
  br label %1494

1494:                                             ; preds = %1493, %1436
  br label %1495

1495:                                             ; preds = %1494
  br label %1496

1496:                                             ; preds = %1495
  br label %1497

1497:                                             ; preds = %1496
  %1498 = load i32, ptr @test_count, align 4, !tbaa !5
  %1499 = add nsw i32 %1498, 1
  store i32 %1499, ptr @test_count, align 4, !tbaa !5
  %1500 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %1501 = icmp eq i32 %1500, -1
  br i1 %1501, label %1502, label %1555

1502:                                             ; preds = %1497
  br label %1503

1503:                                             ; preds = %1502
  br label %1504

1504:                                             ; preds = %1503
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1505 = call ptr @__errno_location() #10
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  store i32 %1506, ptr %38, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = call i32 @s2n_print_stacktrace(ptr noundef %1507)
  %1509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1510 = trunc i8 %1509 to i1
  br i1 %1510, label %1511, label %1533

1511:                                             ; preds = %1504
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = call i32 @fileno(ptr noundef %1512) #9
  %1514 = call i32 @isatty(i32 noundef %1513) #9
  %1515 = icmp ne i32 %1514, 0
  br i1 %1515, label %1516, label %1533

1516:                                             ; preds = %1511
  %1517 = load i32, ptr %38, align 4, !tbaa !5
  %1518 = call ptr @__errno_location() #10
  store i32 %1517, ptr %1518, align 4, !tbaa !5
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1520 = load i32, ptr @test_count, align 4, !tbaa !5
  %1521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror(i32 noundef %1522, ptr noundef @.str.4)
  %1524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call ptr @s2n_strerror_debug(i32 noundef %1525, ptr noundef @.str.4)
  %1527 = call ptr @__errno_location() #10
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call ptr @strerror(i32 noundef %1528) #9
  %1530 = call ptr @__errno_location() #10
  %1531 = load i32, ptr %1530, align 4, !tbaa !5
  %1532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1519, ptr noundef @.str.2, i32 noundef %1520, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1523, ptr noundef %1526, ptr noundef %1529, i32 noundef %1531) #9
  br label %1550

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

1550:                                             ; preds = %1533, %1516
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1551

1551:                                             ; preds = %1550
  br label %1552

1552:                                             ; preds = %1551
  call void @exit(i32 noundef 1) #11
  unreachable

1553:                                             ; No predecessors!
  br label %1554

1554:                                             ; preds = %1553
  br label %1555

1555:                                             ; preds = %1554, %1497
  br label %1556

1556:                                             ; preds = %1555
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

1558:                                             ; preds = %1557
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = add nsw i32 %1559, 1
  store i32 %1560, ptr @test_count, align 4, !tbaa !5
  %1561 = load i8, ptr %10, align 1, !tbaa !15
  %1562 = zext i8 %1561 to i32
  %1563 = icmp eq i32 %1562, 22
  br i1 %1563, label %1617, label %1564

1564:                                             ; preds = %1558
  br label %1565

1565:                                             ; preds = %1564
  br label %1566

1566:                                             ; preds = %1565
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %1567 = call ptr @__errno_location() #10
  %1568 = load i32, ptr %1567, align 4, !tbaa !5
  store i32 %1568, ptr %39, align 4, !tbaa !5
  %1569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1570 = call i32 @s2n_print_stacktrace(ptr noundef %1569)
  %1571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1572 = trunc i8 %1571 to i1
  br i1 %1572, label %1573, label %1595

1573:                                             ; preds = %1566
  %1574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1575 = call i32 @fileno(ptr noundef %1574) #9
  %1576 = call i32 @isatty(i32 noundef %1575) #9
  %1577 = icmp ne i32 %1576, 0
  br i1 %1577, label %1578, label %1595

1578:                                             ; preds = %1573
  %1579 = load i32, ptr %39, align 4, !tbaa !5
  %1580 = call ptr @__errno_location() #10
  store i32 %1579, ptr %1580, align 4, !tbaa !5
  %1581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1582 = load i32, ptr @test_count, align 4, !tbaa !5
  %1583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @s2n_strerror(i32 noundef %1584, ptr noundef @.str.4)
  %1586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call ptr @s2n_strerror_debug(i32 noundef %1587, ptr noundef @.str.4)
  %1589 = call ptr @__errno_location() #10
  %1590 = load i32, ptr %1589, align 4, !tbaa !5
  %1591 = call ptr @strerror(i32 noundef %1590) #9
  %1592 = call ptr @__errno_location() #10
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1581, ptr noundef @.str.2, i32 noundef %1582, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1585, ptr noundef %1588, ptr noundef %1591, i32 noundef %1593) #9
  br label %1612

1595:                                             ; preds = %1573, %1566
  %1596 = load i32, ptr %39, align 4, !tbaa !5
  %1597 = call ptr @__errno_location() #10
  store i32 %1596, ptr %1597, align 4, !tbaa !5
  %1598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1599 = load i32, ptr @test_count, align 4, !tbaa !5
  %1600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call ptr @s2n_strerror(i32 noundef %1601, ptr noundef @.str.4)
  %1603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  %1605 = call ptr @s2n_strerror_debug(i32 noundef %1604, ptr noundef @.str.4)
  %1606 = call ptr @__errno_location() #10
  %1607 = load i32, ptr %1606, align 4, !tbaa !5
  %1608 = call ptr @strerror(i32 noundef %1607) #9
  %1609 = call ptr @__errno_location() #10
  %1610 = load i32, ptr %1609, align 4, !tbaa !5
  %1611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1598, ptr noundef @.str.5, i32 noundef %1599, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1602, ptr noundef %1605, ptr noundef %1608, i32 noundef %1610) #9
  br label %1612

1612:                                             ; preds = %1595, %1578
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1613

1613:                                             ; preds = %1612
  br label %1614

1614:                                             ; preds = %1613
  call void @exit(i32 noundef 1) #11
  unreachable

1615:                                             ; No predecessors!
  br label %1616

1616:                                             ; preds = %1615
  br label %1617

1617:                                             ; preds = %1616, %1558
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618
  call void @llvm.lifetime.start.p0(i64 24, ptr %40) #9
  call void @llvm.memset.p0.i64(ptr align 8 %40, i8 0, i64 24, i1 false)
  br label %1620

1620:                                             ; preds = %1619
  %1621 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %40, ptr noundef @.str.24)
  %1622 = getelementptr inbounds %struct.s2n_result, ptr %41, i32 0, i32 0
  store i32 %1621, ptr %1622, align 4
  %1623 = getelementptr inbounds %struct.s2n_result, ptr %41, i32 0, i32 0
  %1624 = load i32, ptr %1623, align 4
  %1625 = call zeroext i1 @s2n_result_is_ok(i32 %1624)
  br i1 %1625, label %1627, label %1626

1626:                                             ; preds = %1620
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %3104

1627:                                             ; preds = %1620
  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 = call i32 @s2n_stuffer_wipe(ptr noundef %32)
  %1634 = icmp eq i32 %1633, -1
  br i1 %1634, label %1635, label %1688

1635:                                             ; preds = %1630
  br label %1636

1636:                                             ; preds = %1635
  br label %1637

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

1644:                                             ; preds = %1637
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @fileno(ptr noundef %1645) #9
  %1647 = call i32 @isatty(i32 noundef %1646) #9
  %1648 = icmp ne i32 %1647, 0
  br i1 %1648, label %1649, label %1666

1649:                                             ; preds = %1644
  %1650 = load i32, ptr %42, align 4, !tbaa !5
  %1651 = call ptr @__errno_location() #10
  store i32 %1650, ptr %1651, align 4, !tbaa !5
  %1652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1655 = load i32, ptr %1654, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror(i32 noundef %1655, ptr noundef @.str.4)
  %1657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1658 = load i32, ptr %1657, align 4, !tbaa !5
  %1659 = call ptr @s2n_strerror_debug(i32 noundef %1658, ptr noundef @.str.4)
  %1660 = call ptr @__errno_location() #10
  %1661 = load i32, ptr %1660, align 4, !tbaa !5
  %1662 = call ptr @strerror(i32 noundef %1661) #9
  %1663 = call ptr @__errno_location() #10
  %1664 = load i32, ptr %1663, align 4, !tbaa !5
  %1665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1652, ptr noundef @.str.2, i32 noundef %1653, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1656, ptr noundef %1659, ptr noundef %1662, i32 noundef %1664) #9
  br label %1683

1666:                                             ; preds = %1644, %1637
  %1667 = load i32, ptr %42, align 4, !tbaa !5
  %1668 = call ptr @__errno_location() #10
  store i32 %1667, ptr %1668, align 4, !tbaa !5
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1672 = load i32, ptr %1671, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef %1672, ptr noundef @.str.4)
  %1674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1675 = load i32, ptr %1674, align 4, !tbaa !5
  %1676 = call ptr @s2n_strerror_debug(i32 noundef %1675, ptr noundef @.str.4)
  %1677 = call ptr @__errno_location() #10
  %1678 = load i32, ptr %1677, align 4, !tbaa !5
  %1679 = call ptr @strerror(i32 noundef %1678) #9
  %1680 = call ptr @__errno_location() #10
  %1681 = load i32, ptr %1680, align 4, !tbaa !5
  %1682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1669, ptr noundef @.str.5, i32 noundef %1670, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1673, ptr noundef %1676, ptr noundef %1679, i32 noundef %1681) #9
  br label %1683

1683:                                             ; preds = %1666, %1649
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %1684

1684:                                             ; preds = %1683
  br label %1685

1685:                                             ; preds = %1684
  call void @exit(i32 noundef 1) #11
  unreachable

1686:                                             ; No predecessors!
  br label %1687

1687:                                             ; preds = %1686
  br label %1688

1688:                                             ; preds = %1687, %1630
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  br label %1691

1691:                                             ; preds = %1690
  %1692 = load i32, ptr @test_count, align 4, !tbaa !5
  %1693 = add nsw i32 %1692, 1
  store i32 %1693, ptr @test_count, align 4, !tbaa !5
  %1694 = call i32 @s2n_stuffer_write(ptr noundef %32, ptr noundef %40)
  %1695 = icmp eq i32 %1694, -1
  br i1 %1695, label %1696, label %1749

1696:                                             ; preds = %1691
  br label %1697

1697:                                             ; preds = %1696
  br label %1698

1698:                                             ; preds = %1697
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  %1699 = call ptr @__errno_location() #10
  %1700 = load i32, ptr %1699, align 4, !tbaa !5
  store i32 %1700, ptr %43, align 4, !tbaa !5
  %1701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1702 = call i32 @s2n_print_stacktrace(ptr noundef %1701)
  %1703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1704 = trunc i8 %1703 to i1
  br i1 %1704, label %1705, label %1727

1705:                                             ; preds = %1698
  %1706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1707 = call i32 @fileno(ptr noundef %1706) #9
  %1708 = call i32 @isatty(i32 noundef %1707) #9
  %1709 = icmp ne i32 %1708, 0
  br i1 %1709, label %1710, label %1727

1710:                                             ; preds = %1705
  %1711 = load i32, ptr %43, align 4, !tbaa !5
  %1712 = call ptr @__errno_location() #10
  store i32 %1711, ptr %1712, align 4, !tbaa !5
  %1713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1714 = load i32, ptr @test_count, align 4, !tbaa !5
  %1715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror(i32 noundef %1716, ptr noundef @.str.4)
  %1718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call ptr @s2n_strerror_debug(i32 noundef %1719, ptr noundef @.str.4)
  %1721 = call ptr @__errno_location() #10
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call ptr @strerror(i32 noundef %1722) #9
  %1724 = call ptr @__errno_location() #10
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1713, ptr noundef @.str.2, i32 noundef %1714, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 87, ptr noundef %1717, ptr noundef %1720, ptr noundef %1723, i32 noundef %1725) #9
  br label %1744

1727:                                             ; preds = %1705, %1698
  %1728 = load i32, ptr %43, align 4, !tbaa !5
  %1729 = call ptr @__errno_location() #10
  store i32 %1728, ptr %1729, align 4, !tbaa !5
  %1730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1731 = load i32, ptr @test_count, align 4, !tbaa !5
  %1732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1733 = load i32, ptr %1732, align 4, !tbaa !5
  %1734 = call ptr @s2n_strerror(i32 noundef %1733, ptr noundef @.str.4)
  %1735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1736 = load i32, ptr %1735, align 4, !tbaa !5
  %1737 = call ptr @s2n_strerror_debug(i32 noundef %1736, ptr noundef @.str.4)
  %1738 = call ptr @__errno_location() #10
  %1739 = load i32, ptr %1738, align 4, !tbaa !5
  %1740 = call ptr @strerror(i32 noundef %1739) #9
  %1741 = call ptr @__errno_location() #10
  %1742 = load i32, ptr %1741, align 4, !tbaa !5
  %1743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1730, ptr noundef @.str.5, i32 noundef %1731, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 87, ptr noundef %1734, ptr noundef %1737, ptr noundef %1740, i32 noundef %1742) #9
  br label %1744

1744:                                             ; preds = %1727, %1710
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %1745

1745:                                             ; preds = %1744
  br label %1746

1746:                                             ; preds = %1745
  call void @exit(i32 noundef 1) #11
  unreachable

1747:                                             ; No predecessors!
  br label %1748

1748:                                             ; preds = %1747
  br label %1749

1749:                                             ; preds = %1748, %1691
  br label %1750

1750:                                             ; preds = %1749
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

1752:                                             ; preds = %1751
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = add nsw i32 %1753, 1
  store i32 %1754, ptr @test_count, align 4, !tbaa !5
  %1755 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %1756 = icmp eq i32 %1755, -1
  br i1 %1756, label %1757, label %1810

1757:                                             ; preds = %1752
  br label %1758

1758:                                             ; preds = %1757
  br label %1759

1759:                                             ; preds = %1758
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  %1760 = call ptr @__errno_location() #10
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  store i32 %1761, ptr %44, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @s2n_print_stacktrace(ptr noundef %1762)
  %1764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1765 = trunc i8 %1764 to i1
  br i1 %1765, label %1766, label %1788

1766:                                             ; preds = %1759
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = call i32 @fileno(ptr noundef %1767) #9
  %1769 = call i32 @isatty(i32 noundef %1768) #9
  %1770 = icmp ne i32 %1769, 0
  br i1 %1770, label %1771, label %1788

1771:                                             ; preds = %1766
  %1772 = load i32, ptr %44, align 4, !tbaa !5
  %1773 = call ptr @__errno_location() #10
  store i32 %1772, ptr %1773, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = load i32, ptr @test_count, align 4, !tbaa !5
  %1776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1777 = load i32, ptr %1776, align 4, !tbaa !5
  %1778 = call ptr @s2n_strerror(i32 noundef %1777, ptr noundef @.str.4)
  %1779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1780 = load i32, ptr %1779, align 4, !tbaa !5
  %1781 = call ptr @s2n_strerror_debug(i32 noundef %1780, ptr noundef @.str.4)
  %1782 = call ptr @__errno_location() #10
  %1783 = load i32, ptr %1782, align 4, !tbaa !5
  %1784 = call ptr @strerror(i32 noundef %1783) #9
  %1785 = call ptr @__errno_location() #10
  %1786 = load i32, ptr %1785, align 4, !tbaa !5
  %1787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1774, ptr noundef @.str.2, i32 noundef %1775, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1778, ptr noundef %1781, ptr noundef %1784, i32 noundef %1786) #9
  br label %1805

1788:                                             ; preds = %1766, %1759
  %1789 = load i32, ptr %44, align 4, !tbaa !5
  %1790 = call ptr @__errno_location() #10
  store i32 %1789, ptr %1790, align 4, !tbaa !5
  %1791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1792 = load i32, ptr @test_count, align 4, !tbaa !5
  %1793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  %1795 = call ptr @s2n_strerror(i32 noundef %1794, ptr noundef @.str.4)
  %1796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1797 = load i32, ptr %1796, align 4, !tbaa !5
  %1798 = call ptr @s2n_strerror_debug(i32 noundef %1797, ptr noundef @.str.4)
  %1799 = call ptr @__errno_location() #10
  %1800 = load i32, ptr %1799, align 4, !tbaa !5
  %1801 = call ptr @strerror(i32 noundef %1800) #9
  %1802 = call ptr @__errno_location() #10
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1791, ptr noundef @.str.5, i32 noundef %1792, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 88, ptr noundef %1795, ptr noundef %1798, ptr noundef %1801, i32 noundef %1803) #9
  br label %1805

1805:                                             ; preds = %1788, %1771
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %1806

1806:                                             ; preds = %1805
  br label %1807

1807:                                             ; preds = %1806
  call void @exit(i32 noundef 1) #11
  unreachable

1808:                                             ; No predecessors!
  br label %1809

1809:                                             ; preds = %1808
  br label %1810

1810:                                             ; preds = %1809, %1752
  br label %1811

1811:                                             ; preds = %1810
  br label %1812

1812:                                             ; preds = %1811
  br label %1813

1813:                                             ; preds = %1812
  %1814 = load i32, ptr @test_count, align 4, !tbaa !5
  %1815 = add nsw i32 %1814, 1
  store i32 %1815, ptr @test_count, align 4, !tbaa !5
  %1816 = load i8, ptr %10, align 1, !tbaa !15
  %1817 = zext i8 %1816 to i32
  %1818 = icmp eq i32 %1817, 22
  br i1 %1818, label %1872, label %1819

1819:                                             ; preds = %1813
  br label %1820

1820:                                             ; preds = %1819
  br label %1821

1821:                                             ; preds = %1820
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  %1822 = call ptr @__errno_location() #10
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  store i32 %1823, ptr %45, align 4, !tbaa !5
  %1824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1825 = call i32 @s2n_print_stacktrace(ptr noundef %1824)
  %1826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1827 = trunc i8 %1826 to i1
  br i1 %1827, label %1828, label %1850

1828:                                             ; preds = %1821
  %1829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1830 = call i32 @fileno(ptr noundef %1829) #9
  %1831 = call i32 @isatty(i32 noundef %1830) #9
  %1832 = icmp ne i32 %1831, 0
  br i1 %1832, label %1833, label %1850

1833:                                             ; preds = %1828
  %1834 = load i32, ptr %45, align 4, !tbaa !5
  %1835 = call ptr @__errno_location() #10
  store i32 %1834, ptr %1835, align 4, !tbaa !5
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = load i32, ptr @test_count, align 4, !tbaa !5
  %1838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1839 = load i32, ptr %1838, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror(i32 noundef %1839, ptr noundef @.str.4)
  %1841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1842 = load i32, ptr %1841, align 4, !tbaa !5
  %1843 = call ptr @s2n_strerror_debug(i32 noundef %1842, ptr noundef @.str.4)
  %1844 = call ptr @__errno_location() #10
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = call ptr @strerror(i32 noundef %1845) #9
  %1847 = call ptr @__errno_location() #10
  %1848 = load i32, ptr %1847, align 4, !tbaa !5
  %1849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1836, ptr noundef @.str.2, i32 noundef %1837, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1840, ptr noundef %1843, ptr noundef %1846, i32 noundef %1848) #9
  br label %1867

1850:                                             ; preds = %1828, %1821
  %1851 = load i32, ptr %45, align 4, !tbaa !5
  %1852 = call ptr @__errno_location() #10
  store i32 %1851, ptr %1852, align 4, !tbaa !5
  %1853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1854 = load i32, ptr @test_count, align 4, !tbaa !5
  %1855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1856 = load i32, ptr %1855, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror(i32 noundef %1856, ptr noundef @.str.4)
  %1858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1859 = load i32, ptr %1858, align 4, !tbaa !5
  %1860 = call ptr @s2n_strerror_debug(i32 noundef %1859, ptr noundef @.str.4)
  %1861 = call ptr @__errno_location() #10
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = call ptr @strerror(i32 noundef %1862) #9
  %1864 = call ptr @__errno_location() #10
  %1865 = load i32, ptr %1864, align 4, !tbaa !5
  %1866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1853, ptr noundef @.str.5, i32 noundef %1854, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1857, ptr noundef %1860, ptr noundef %1863, i32 noundef %1865) #9
  br label %1867

1867:                                             ; preds = %1850, %1833
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %1868

1868:                                             ; preds = %1867
  br label %1869

1869:                                             ; preds = %1868
  call void @exit(i32 noundef 1) #11
  unreachable

1870:                                             ; No predecessors!
  br label %1871

1871:                                             ; preds = %1870
  br label %1872

1872:                                             ; preds = %1871, %1813
  br label %1873

1873:                                             ; preds = %1872
  br label %1874

1874:                                             ; preds = %1873
  call void @llvm.lifetime.start.p0(i64 24, ptr %46) #9
  call void @llvm.memset.p0.i64(ptr align 8 %46, i8 0, i64 24, i1 false)
  br label %1875

1875:                                             ; preds = %1874
  %1876 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %46, ptr noundef @.str.27)
  %1877 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  store i32 %1876, ptr %1877, align 4
  %1878 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  %1879 = load i32, ptr %1878, align 4
  %1880 = call zeroext i1 @s2n_result_is_ok(i32 %1879)
  br i1 %1880, label %1882, label %1881

1881:                                             ; preds = %1875
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %3102

1882:                                             ; preds = %1875
  br label %1883

1883:                                             ; preds = %1882
  br label %1884

1884:                                             ; preds = %1883
  br label %1885

1885:                                             ; preds = %1884
  %1886 = load i32, ptr @test_count, align 4, !tbaa !5
  %1887 = add nsw i32 %1886, 1
  store i32 %1887, ptr @test_count, align 4, !tbaa !5
  %1888 = call i32 @s2n_stuffer_wipe(ptr noundef %32)
  %1889 = icmp eq i32 %1888, -1
  br i1 %1889, label %1890, label %1943

1890:                                             ; preds = %1885
  br label %1891

1891:                                             ; preds = %1890
  br label %1892

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

1899:                                             ; preds = %1892
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @fileno(ptr noundef %1900) #9
  %1902 = call i32 @isatty(i32 noundef %1901) #9
  %1903 = icmp ne i32 %1902, 0
  br i1 %1903, label %1904, label %1921

1904:                                             ; preds = %1899
  %1905 = load i32, ptr %48, align 4, !tbaa !5
  %1906 = call ptr @__errno_location() #10
  store i32 %1905, ptr %1906, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = load i32, ptr @test_count, align 4, !tbaa !5
  %1909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1910 = load i32, ptr %1909, align 4, !tbaa !5
  %1911 = call ptr @s2n_strerror(i32 noundef %1910, ptr noundef @.str.4)
  %1912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1913 = load i32, ptr %1912, align 4, !tbaa !5
  %1914 = call ptr @s2n_strerror_debug(i32 noundef %1913, ptr noundef @.str.4)
  %1915 = call ptr @__errno_location() #10
  %1916 = load i32, ptr %1915, align 4, !tbaa !5
  %1917 = call ptr @strerror(i32 noundef %1916) #9
  %1918 = call ptr @__errno_location() #10
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1907, ptr noundef @.str.2, i32 noundef %1908, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 93, ptr noundef %1911, ptr noundef %1914, ptr noundef %1917, i32 noundef %1919) #9
  br label %1938

1921:                                             ; preds = %1899, %1892
  %1922 = load i32, ptr %48, align 4, !tbaa !5
  %1923 = call ptr @__errno_location() #10
  store i32 %1922, ptr %1923, align 4, !tbaa !5
  %1924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1925 = load i32, ptr @test_count, align 4, !tbaa !5
  %1926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1927 = load i32, ptr %1926, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror(i32 noundef %1927, ptr noundef @.str.4)
  %1929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1930 = load i32, ptr %1929, align 4, !tbaa !5
  %1931 = call ptr @s2n_strerror_debug(i32 noundef %1930, ptr noundef @.str.4)
  %1932 = call ptr @__errno_location() #10
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @strerror(i32 noundef %1933) #9
  %1935 = call ptr @__errno_location() #10
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1924, ptr noundef @.str.5, i32 noundef %1925, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 93, ptr noundef %1928, ptr noundef %1931, ptr noundef %1934, i32 noundef %1936) #9
  br label %1938

1938:                                             ; preds = %1921, %1904
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %1939

1939:                                             ; preds = %1938
  br label %1940

1940:                                             ; preds = %1939
  call void @exit(i32 noundef 1) #11
  unreachable

1941:                                             ; No predecessors!
  br label %1942

1942:                                             ; preds = %1941
  br label %1943

1943:                                             ; preds = %1942, %1885
  br label %1944

1944:                                             ; preds = %1943
  br label %1945

1945:                                             ; preds = %1944
  br label %1946

1946:                                             ; preds = %1945
  %1947 = load i32, ptr @test_count, align 4, !tbaa !5
  %1948 = add nsw i32 %1947, 1
  store i32 %1948, ptr @test_count, align 4, !tbaa !5
  %1949 = call i32 @s2n_stuffer_write(ptr noundef %32, ptr noundef %46)
  %1950 = icmp eq i32 %1949, -1
  br i1 %1950, label %1951, label %2004

1951:                                             ; preds = %1946
  br label %1952

1952:                                             ; preds = %1951
  br label %1953

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

1960:                                             ; preds = %1953
  %1961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1962 = call i32 @fileno(ptr noundef %1961) #9
  %1963 = call i32 @isatty(i32 noundef %1962) #9
  %1964 = icmp ne i32 %1963, 0
  br i1 %1964, label %1965, label %1982

1965:                                             ; preds = %1960
  %1966 = load i32, ptr %49, align 4, !tbaa !5
  %1967 = call ptr @__errno_location() #10
  store i32 %1966, ptr %1967, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1971 = load i32, ptr %1970, align 4, !tbaa !5
  %1972 = call ptr @s2n_strerror(i32 noundef %1971, ptr noundef @.str.4)
  %1973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1974 = load i32, ptr %1973, align 4, !tbaa !5
  %1975 = call ptr @s2n_strerror_debug(i32 noundef %1974, ptr noundef @.str.4)
  %1976 = call ptr @__errno_location() #10
  %1977 = load i32, ptr %1976, align 4, !tbaa !5
  %1978 = call ptr @strerror(i32 noundef %1977) #9
  %1979 = call ptr @__errno_location() #10
  %1980 = load i32, ptr %1979, align 4, !tbaa !5
  %1981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1968, ptr noundef @.str.2, i32 noundef %1969, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1972, ptr noundef %1975, ptr noundef %1978, i32 noundef %1980) #9
  br label %1999

1982:                                             ; preds = %1960, %1953
  %1983 = load i32, ptr %49, align 4, !tbaa !5
  %1984 = call ptr @__errno_location() #10
  store i32 %1983, ptr %1984, align 4, !tbaa !5
  %1985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1986 = load i32, ptr @test_count, align 4, !tbaa !5
  %1987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1988 = load i32, ptr %1987, align 4, !tbaa !5
  %1989 = call ptr @s2n_strerror(i32 noundef %1988, ptr noundef @.str.4)
  %1990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror_debug(i32 noundef %1991, ptr noundef @.str.4)
  %1993 = call ptr @__errno_location() #10
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call ptr @strerror(i32 noundef %1994) #9
  %1996 = call ptr @__errno_location() #10
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1985, ptr noundef @.str.5, i32 noundef %1986, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1989, ptr noundef %1992, ptr noundef %1995, i32 noundef %1997) #9
  br label %1999

1999:                                             ; preds = %1982, %1965
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2000

2000:                                             ; preds = %1999
  br label %2001

2001:                                             ; preds = %2000
  call void @exit(i32 noundef 1) #11
  unreachable

2002:                                             ; No predecessors!
  br label %2003

2003:                                             ; preds = %2002
  br label %2004

2004:                                             ; preds = %2003, %1946
  br label %2005

2005:                                             ; preds = %2004
  br label %2006

2006:                                             ; preds = %2005
  br label %2007

2007:                                             ; preds = %2006
  %2008 = load i32, ptr @test_count, align 4, !tbaa !5
  %2009 = add nsw i32 %2008, 1
  store i32 %2009, ptr @test_count, align 4, !tbaa !5
  %2010 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %2011 = icmp eq i32 %2010, -1
  br i1 %2011, label %2012, label %2065

2012:                                             ; preds = %2007
  br label %2013

2013:                                             ; preds = %2012
  br label %2014

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

2021:                                             ; preds = %2014
  %2022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2023 = call i32 @fileno(ptr noundef %2022) #9
  %2024 = call i32 @isatty(i32 noundef %2023) #9
  %2025 = icmp ne i32 %2024, 0
  br i1 %2025, label %2026, label %2043

2026:                                             ; preds = %2021
  %2027 = load i32, ptr %50, align 4, !tbaa !5
  %2028 = call ptr @__errno_location() #10
  store i32 %2027, ptr %2028, align 4, !tbaa !5
  %2029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2030 = load i32, ptr @test_count, align 4, !tbaa !5
  %2031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2032 = load i32, ptr %2031, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror(i32 noundef %2032, ptr noundef @.str.4)
  %2034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2035 = load i32, ptr %2034, align 4, !tbaa !5
  %2036 = call ptr @s2n_strerror_debug(i32 noundef %2035, ptr noundef @.str.4)
  %2037 = call ptr @__errno_location() #10
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  %2039 = call ptr @strerror(i32 noundef %2038) #9
  %2040 = call ptr @__errno_location() #10
  %2041 = load i32, ptr %2040, align 4, !tbaa !5
  %2042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2029, ptr noundef @.str.2, i32 noundef %2030, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2033, ptr noundef %2036, ptr noundef %2039, i32 noundef %2041) #9
  br label %2060

2043:                                             ; preds = %2021, %2014
  %2044 = load i32, ptr %50, align 4, !tbaa !5
  %2045 = call ptr @__errno_location() #10
  store i32 %2044, ptr %2045, align 4, !tbaa !5
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2047 = load i32, ptr @test_count, align 4, !tbaa !5
  %2048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2049 = load i32, ptr %2048, align 4, !tbaa !5
  %2050 = call ptr @s2n_strerror(i32 noundef %2049, ptr noundef @.str.4)
  %2051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2052 = load i32, ptr %2051, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror_debug(i32 noundef %2052, ptr noundef @.str.4)
  %2054 = call ptr @__errno_location() #10
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  %2056 = call ptr @strerror(i32 noundef %2055) #9
  %2057 = call ptr @__errno_location() #10
  %2058 = load i32, ptr %2057, align 4, !tbaa !5
  %2059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2046, ptr noundef @.str.5, i32 noundef %2047, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2050, ptr noundef %2053, ptr noundef %2056, i32 noundef %2058) #9
  br label %2060

2060:                                             ; preds = %2043, %2026
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %2061

2061:                                             ; preds = %2060
  br label %2062

2062:                                             ; preds = %2061
  call void @exit(i32 noundef 1) #11
  unreachable

2063:                                             ; No predecessors!
  br label %2064

2064:                                             ; preds = %2063
  br label %2065

2065:                                             ; preds = %2064, %2007
  br label %2066

2066:                                             ; preds = %2065
  br label %2067

2067:                                             ; preds = %2066
  br label %2068

2068:                                             ; preds = %2067
  %2069 = load i32, ptr @test_count, align 4, !tbaa !5
  %2070 = add nsw i32 %2069, 1
  store i32 %2070, ptr @test_count, align 4, !tbaa !5
  %2071 = load i8, ptr %10, align 1, !tbaa !15
  %2072 = zext i8 %2071 to i32
  %2073 = icmp eq i32 %2072, 22
  br i1 %2073, label %2127, label %2074

2074:                                             ; preds = %2068
  br label %2075

2075:                                             ; preds = %2074
  br label %2076

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

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

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

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

2122:                                             ; preds = %2105, %2088
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2123

2123:                                             ; preds = %2122
  br label %2124

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

2125:                                             ; No predecessors!
  br label %2126

2126:                                             ; preds = %2125
  br label %2127

2127:                                             ; preds = %2126, %2068
  br label %2128

2128:                                             ; preds = %2127
  br label %2129

2129:                                             ; preds = %2128
  call void @llvm.lifetime.start.p0(i64 24, ptr %52) #9
  call void @llvm.memset.p0.i64(ptr align 8 %52, i8 0, i64 24, i1 false)
  br label %2130

2130:                                             ; preds = %2129
  %2131 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %52, ptr noundef @.str.29)
  %2132 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  store i32 %2131, ptr %2132, align 4
  %2133 = getelementptr inbounds %struct.s2n_result, ptr %53, i32 0, i32 0
  %2134 = load i32, ptr %2133, align 4
  %2135 = call zeroext i1 @s2n_result_is_ok(i32 %2134)
  br i1 %2135, label %2137, label %2136

2136:                                             ; preds = %2130
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %3100

2137:                                             ; preds = %2130
  br label %2138

2138:                                             ; preds = %2137
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

2140:                                             ; preds = %2139
  %2141 = load i32, ptr @test_count, align 4, !tbaa !5
  %2142 = add nsw i32 %2141, 1
  store i32 %2142, ptr @test_count, align 4, !tbaa !5
  %2143 = call i32 @s2n_stuffer_wipe(ptr noundef %32)
  %2144 = icmp eq i32 %2143, -1
  br i1 %2144, label %2145, label %2198

2145:                                             ; preds = %2140
  br label %2146

2146:                                             ; preds = %2145
  br label %2147

2147:                                             ; preds = %2146
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2148 = call ptr @__errno_location() #10
  %2149 = load i32, ptr %2148, align 4, !tbaa !5
  store i32 %2149, ptr %54, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150)
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc i8 %2152 to i1
  br i1 %2153, label %2154, label %2176

2154:                                             ; preds = %2147
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #9
  %2157 = call i32 @isatty(i32 noundef %2156) #9
  %2158 = icmp ne i32 %2157, 0
  br i1 %2158, label %2159, label %2176

2159:                                             ; preds = %2154
  %2160 = load i32, ptr %54, align 4, !tbaa !5
  %2161 = call ptr @__errno_location() #10
  store i32 %2160, ptr %2161, align 4, !tbaa !5
  %2162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2163 = load i32, ptr @test_count, align 4, !tbaa !5
  %2164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2165 = load i32, ptr %2164, align 4, !tbaa !5
  %2166 = call ptr @s2n_strerror(i32 noundef %2165, ptr noundef @.str.4)
  %2167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror_debug(i32 noundef %2168, ptr noundef @.str.4)
  %2170 = call ptr @__errno_location() #10
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @strerror(i32 noundef %2171) #9
  %2173 = call ptr @__errno_location() #10
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2162, ptr noundef @.str.2, i32 noundef %2163, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2166, ptr noundef %2169, ptr noundef %2172, i32 noundef %2174) #9
  br label %2193

2176:                                             ; preds = %2154, %2147
  %2177 = load i32, ptr %54, align 4, !tbaa !5
  %2178 = call ptr @__errno_location() #10
  store i32 %2177, ptr %2178, align 4, !tbaa !5
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2180 = load i32, ptr @test_count, align 4, !tbaa !5
  %2181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call ptr @s2n_strerror(i32 noundef %2182, ptr noundef @.str.4)
  %2184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror_debug(i32 noundef %2185, ptr noundef @.str.4)
  %2187 = call ptr @__errno_location() #10
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @strerror(i32 noundef %2188) #9
  %2190 = call ptr @__errno_location() #10
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2179, ptr noundef @.str.5, i32 noundef %2180, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2183, ptr noundef %2186, ptr noundef %2189, i32 noundef %2191) #9
  br label %2193

2193:                                             ; preds = %2176, %2159
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2194

2194:                                             ; preds = %2193
  br label %2195

2195:                                             ; preds = %2194
  call void @exit(i32 noundef 1) #11
  unreachable

2196:                                             ; No predecessors!
  br label %2197

2197:                                             ; preds = %2196
  br label %2198

2198:                                             ; preds = %2197, %2140
  br label %2199

2199:                                             ; preds = %2198
  br label %2200

2200:                                             ; preds = %2199
  br label %2201

2201:                                             ; preds = %2200
  %2202 = load i32, ptr @test_count, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %2204 = call i32 @s2n_stuffer_write(ptr noundef %32, ptr noundef %52)
  %2205 = icmp eq i32 %2204, -1
  br i1 %2205, label %2206, label %2259

2206:                                             ; preds = %2201
  br label %2207

2207:                                             ; preds = %2206
  br label %2208

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

2215:                                             ; preds = %2208
  %2216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2217 = call i32 @fileno(ptr noundef %2216) #9
  %2218 = call i32 @isatty(i32 noundef %2217) #9
  %2219 = icmp ne i32 %2218, 0
  br i1 %2219, label %2220, label %2237

2220:                                             ; preds = %2215
  %2221 = load i32, ptr %55, align 4, !tbaa !5
  %2222 = call ptr @__errno_location() #10
  store i32 %2221, ptr %2222, align 4, !tbaa !5
  %2223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  %2227 = call ptr @s2n_strerror(i32 noundef %2226, ptr noundef @.str.4)
  %2228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2229 = load i32, ptr %2228, align 4, !tbaa !5
  %2230 = call ptr @s2n_strerror_debug(i32 noundef %2229, ptr noundef @.str.4)
  %2231 = call ptr @__errno_location() #10
  %2232 = load i32, ptr %2231, align 4, !tbaa !5
  %2233 = call ptr @strerror(i32 noundef %2232) #9
  %2234 = call ptr @__errno_location() #10
  %2235 = load i32, ptr %2234, align 4, !tbaa !5
  %2236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2223, ptr noundef @.str.2, i32 noundef %2224, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2227, ptr noundef %2230, ptr noundef %2233, i32 noundef %2235) #9
  br label %2254

2237:                                             ; preds = %2215, %2208
  %2238 = load i32, ptr %55, align 4, !tbaa !5
  %2239 = call ptr @__errno_location() #10
  store i32 %2238, ptr %2239, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call ptr @s2n_strerror(i32 noundef %2243, ptr noundef @.str.4)
  %2245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2246 = load i32, ptr %2245, align 4, !tbaa !5
  %2247 = call ptr @s2n_strerror_debug(i32 noundef %2246, ptr noundef @.str.4)
  %2248 = call ptr @__errno_location() #10
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call ptr @strerror(i32 noundef %2249) #9
  %2251 = call ptr @__errno_location() #10
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef @.str.5, i32 noundef %2241, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2244, ptr noundef %2247, ptr noundef %2250, i32 noundef %2252) #9
  br label %2254

2254:                                             ; preds = %2237, %2220
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %2255

2255:                                             ; preds = %2254
  br label %2256

2256:                                             ; preds = %2255
  call void @exit(i32 noundef 1) #11
  unreachable

2257:                                             ; No predecessors!
  br label %2258

2258:                                             ; preds = %2257
  br label %2259

2259:                                             ; preds = %2258, %2201
  br label %2260

2260:                                             ; preds = %2259
  br label %2261

2261:                                             ; preds = %2260
  br label %2262

2262:                                             ; preds = %2261
  br label %2263

2263:                                             ; preds = %2262
  %2264 = load i32, ptr @test_count, align 4, !tbaa !5
  %2265 = add nsw i32 %2264, 1
  store i32 %2265, ptr @test_count, align 4, !tbaa !5
  %2266 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %2267 = icmp eq i32 %2266, -1
  br i1 %2267, label %2321, label %2268

2268:                                             ; preds = %2263
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2271 = call ptr @__errno_location() #10
  %2272 = load i32, ptr %2271, align 4, !tbaa !5
  store i32 %2272, ptr %56, align 4, !tbaa !5
  %2273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2274 = call i32 @s2n_print_stacktrace(ptr noundef %2273)
  %2275 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2276 = trunc i8 %2275 to i1
  br i1 %2276, label %2277, label %2299

2277:                                             ; preds = %2270
  %2278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2279 = call i32 @fileno(ptr noundef %2278) #9
  %2280 = call i32 @isatty(i32 noundef %2279) #9
  %2281 = icmp ne i32 %2280, 0
  br i1 %2281, label %2282, label %2299

2282:                                             ; preds = %2277
  %2283 = load i32, ptr %56, align 4, !tbaa !5
  %2284 = call ptr @__errno_location() #10
  store i32 %2283, ptr %2284, align 4, !tbaa !5
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2286 = load i32, ptr @test_count, align 4, !tbaa !5
  %2287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2288 = load i32, ptr %2287, align 4, !tbaa !5
  %2289 = call ptr @s2n_strerror(i32 noundef %2288, ptr noundef @.str.4)
  %2290 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2291 = load i32, ptr %2290, align 4, !tbaa !5
  %2292 = call ptr @s2n_strerror_debug(i32 noundef %2291, ptr noundef @.str.4)
  %2293 = call ptr @__errno_location() #10
  %2294 = load i32, ptr %2293, align 4, !tbaa !5
  %2295 = call ptr @strerror(i32 noundef %2294) #9
  %2296 = call ptr @__errno_location() #10
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2285, ptr noundef @.str.2, i32 noundef %2286, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2289, ptr noundef %2292, ptr noundef %2295, i32 noundef %2297) #9
  br label %2316

2299:                                             ; preds = %2277, %2270
  %2300 = load i32, ptr %56, align 4, !tbaa !5
  %2301 = call ptr @__errno_location() #10
  store i32 %2300, ptr %2301, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2305 = load i32, ptr %2304, align 4, !tbaa !5
  %2306 = call ptr @s2n_strerror(i32 noundef %2305, ptr noundef @.str.4)
  %2307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2308 = load i32, ptr %2307, align 4, !tbaa !5
  %2309 = call ptr @s2n_strerror_debug(i32 noundef %2308, ptr noundef @.str.4)
  %2310 = call ptr @__errno_location() #10
  %2311 = load i32, ptr %2310, align 4, !tbaa !5
  %2312 = call ptr @strerror(i32 noundef %2311) #9
  %2313 = call ptr @__errno_location() #10
  %2314 = load i32, ptr %2313, align 4, !tbaa !5
  %2315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef @.str.5, i32 noundef %2303, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2306, ptr noundef %2309, ptr noundef %2312, i32 noundef %2314) #9
  br label %2316

2316:                                             ; preds = %2299, %2282
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2317

2317:                                             ; preds = %2316
  br label %2318

2318:                                             ; preds = %2317
  call void @exit(i32 noundef 1) #11
  unreachable

2319:                                             ; No predecessors!
  br label %2320

2320:                                             ; preds = %2319
  br label %2321

2321:                                             ; preds = %2320, %2263
  br label %2322

2322:                                             ; preds = %2321
  br label %2323

2323:                                             ; preds = %2322
  br label %2324

2324:                                             ; preds = %2323
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = add nsw i32 %2325, 1
  store i32 %2326, ptr @test_count, align 4, !tbaa !5
  %2327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2328 = load i32, ptr %2327, align 4, !tbaa !5
  %2329 = icmp eq i32 %2328, 0
  br i1 %2329, label %2330, label %2383

2330:                                             ; preds = %2324
  br label %2331

2331:                                             ; preds = %2330
  br label %2332

2332:                                             ; preds = %2331
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2333 = call ptr @__errno_location() #10
  %2334 = load i32, ptr %2333, align 4, !tbaa !5
  store i32 %2334, ptr %57, align 4, !tbaa !5
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = call i32 @s2n_print_stacktrace(ptr noundef %2335)
  %2337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2338 = trunc i8 %2337 to i1
  br i1 %2338, label %2339, label %2361

2339:                                             ; preds = %2332
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @fileno(ptr noundef %2340) #9
  %2342 = call i32 @isatty(i32 noundef %2341) #9
  %2343 = icmp ne i32 %2342, 0
  br i1 %2343, label %2344, label %2361

2344:                                             ; preds = %2339
  %2345 = load i32, ptr %57, align 4, !tbaa !5
  %2346 = call ptr @__errno_location() #10
  store i32 %2345, ptr %2346, align 4, !tbaa !5
  %2347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2348 = load i32, ptr @test_count, align 4, !tbaa !5
  %2349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror(i32 noundef %2350, ptr noundef @.str.4)
  %2352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call ptr @s2n_strerror_debug(i32 noundef %2353, ptr noundef @.str.4)
  %2355 = call ptr @__errno_location() #10
  %2356 = load i32, ptr %2355, align 4, !tbaa !5
  %2357 = call ptr @strerror(i32 noundef %2356) #9
  %2358 = call ptr @__errno_location() #10
  %2359 = load i32, ptr %2358, align 4, !tbaa !5
  %2360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2347, ptr noundef @.str.2, i32 noundef %2348, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2351, ptr noundef %2354, ptr noundef %2357, i32 noundef %2359) #9
  br label %2378

2361:                                             ; preds = %2339, %2332
  %2362 = load i32, ptr %57, align 4, !tbaa !5
  %2363 = call ptr @__errno_location() #10
  store i32 %2362, ptr %2363, align 4, !tbaa !5
  %2364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2365 = load i32, ptr @test_count, align 4, !tbaa !5
  %2366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call ptr @s2n_strerror(i32 noundef %2367, ptr noundef @.str.4)
  %2369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2370 = load i32, ptr %2369, align 4, !tbaa !5
  %2371 = call ptr @s2n_strerror_debug(i32 noundef %2370, ptr noundef @.str.4)
  %2372 = call ptr @__errno_location() #10
  %2373 = load i32, ptr %2372, align 4, !tbaa !5
  %2374 = call ptr @strerror(i32 noundef %2373) #9
  %2375 = call ptr @__errno_location() #10
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2364, ptr noundef @.str.5, i32 noundef %2365, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2368, ptr noundef %2371, ptr noundef %2374, i32 noundef %2376) #9
  br label %2378

2378:                                             ; preds = %2361, %2344
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2379

2379:                                             ; preds = %2378
  br label %2380

2380:                                             ; preds = %2379
  call void @exit(i32 noundef 1) #11
  unreachable

2381:                                             ; No predecessors!
  br label %2382

2382:                                             ; preds = %2381
  br label %2383

2383:                                             ; preds = %2382, %2324
  br label %2384

2384:                                             ; preds = %2383
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

2386:                                             ; preds = %2385
  %2387 = load i32, ptr @test_count, align 4, !tbaa !5
  %2388 = add nsw i32 %2387, 1
  store i32 %2388, ptr @test_count, align 4, !tbaa !5
  %2389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2390 = load i32, ptr %2389, align 4, !tbaa !5
  %2391 = call ptr @s2n_strerror_debug(i32 noundef %2390, ptr noundef @.str.4)
  %2392 = icmp eq ptr %2391, null
  br i1 %2392, label %2393, label %2446

2393:                                             ; preds = %2386
  br label %2394

2394:                                             ; preds = %2393
  br label %2395

2395:                                             ; preds = %2394
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %2396 = call ptr @__errno_location() #10
  %2397 = load i32, ptr %2396, align 4, !tbaa !5
  store i32 %2397, ptr %58, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = call i32 @s2n_print_stacktrace(ptr noundef %2398)
  %2400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2401 = trunc i8 %2400 to i1
  br i1 %2401, label %2402, label %2424

2402:                                             ; preds = %2395
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @fileno(ptr noundef %2403) #9
  %2405 = call i32 @isatty(i32 noundef %2404) #9
  %2406 = icmp ne i32 %2405, 0
  br i1 %2406, label %2407, label %2424

2407:                                             ; preds = %2402
  %2408 = load i32, ptr %58, align 4, !tbaa !5
  %2409 = call ptr @__errno_location() #10
  store i32 %2408, ptr %2409, align 4, !tbaa !5
  %2410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2411 = load i32, ptr @test_count, align 4, !tbaa !5
  %2412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2413 = load i32, ptr %2412, align 4, !tbaa !5
  %2414 = call ptr @s2n_strerror(i32 noundef %2413, ptr noundef @.str.4)
  %2415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2416 = load i32, ptr %2415, align 4, !tbaa !5
  %2417 = call ptr @s2n_strerror_debug(i32 noundef %2416, ptr noundef @.str.4)
  %2418 = call ptr @__errno_location() #10
  %2419 = load i32, ptr %2418, align 4, !tbaa !5
  %2420 = call ptr @strerror(i32 noundef %2419) #9
  %2421 = call ptr @__errno_location() #10
  %2422 = load i32, ptr %2421, align 4, !tbaa !5
  %2423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2410, ptr noundef @.str.2, i32 noundef %2411, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2414, ptr noundef %2417, ptr noundef %2420, i32 noundef %2422) #9
  br label %2441

2424:                                             ; preds = %2402, %2395
  %2425 = load i32, ptr %58, align 4, !tbaa !5
  %2426 = call ptr @__errno_location() #10
  store i32 %2425, ptr %2426, align 4, !tbaa !5
  %2427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2428 = load i32, ptr @test_count, align 4, !tbaa !5
  %2429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror(i32 noundef %2430, ptr noundef @.str.4)
  %2432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2433 = load i32, ptr %2432, align 4, !tbaa !5
  %2434 = call ptr @s2n_strerror_debug(i32 noundef %2433, ptr noundef @.str.4)
  %2435 = call ptr @__errno_location() #10
  %2436 = load i32, ptr %2435, align 4, !tbaa !5
  %2437 = call ptr @strerror(i32 noundef %2436) #9
  %2438 = call ptr @__errno_location() #10
  %2439 = load i32, ptr %2438, align 4, !tbaa !5
  %2440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2427, ptr noundef @.str.5, i32 noundef %2428, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 109, ptr noundef %2431, ptr noundef %2434, ptr noundef %2437, i32 noundef %2439) #9
  br label %2441

2441:                                             ; preds = %2424, %2407
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %2442

2442:                                             ; preds = %2441
  br label %2443

2443:                                             ; preds = %2442
  call void @exit(i32 noundef 1) #11
  unreachable

2444:                                             ; No predecessors!
  br label %2445

2445:                                             ; preds = %2444
  br label %2446

2446:                                             ; preds = %2445, %2386
  br label %2447

2447:                                             ; preds = %2446
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  %2450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2450, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2451 = call ptr @__errno_location() #10
  store i32 0, ptr %2451, align 4, !tbaa !5
  br label %2452

2452:                                             ; preds = %2449
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

2454:                                             ; preds = %2453
  br label %2455

2455:                                             ; preds = %2454
  call void @llvm.lifetime.start.p0(i64 24, ptr %59) #9
  call void @llvm.memset.p0.i64(ptr align 8 %59, i8 0, i64 24, i1 false)
  br label %2456

2456:                                             ; preds = %2455
  %2457 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %59, ptr noundef @.str.32)
  %2458 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %2457, ptr %2458, align 4
  %2459 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  %2460 = load i32, ptr %2459, align 4
  %2461 = call zeroext i1 @s2n_result_is_ok(i32 %2460)
  br i1 %2461, label %2463, label %2462

2462:                                             ; preds = %2456
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %3098

2463:                                             ; preds = %2456
  br label %2464

2464:                                             ; preds = %2463
  br label %2465

2465:                                             ; preds = %2464
  br label %2466

2466:                                             ; preds = %2465
  %2467 = load i32, ptr @test_count, align 4, !tbaa !5
  %2468 = add nsw i32 %2467, 1
  store i32 %2468, ptr @test_count, align 4, !tbaa !5
  %2469 = call i32 @s2n_stuffer_wipe(ptr noundef %32)
  %2470 = icmp eq i32 %2469, -1
  br i1 %2470, label %2471, label %2524

2471:                                             ; preds = %2466
  br label %2472

2472:                                             ; preds = %2471
  br label %2473

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

2480:                                             ; preds = %2473
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @fileno(ptr noundef %2481) #9
  %2483 = call i32 @isatty(i32 noundef %2482) #9
  %2484 = icmp ne i32 %2483, 0
  br i1 %2484, label %2485, label %2502

2485:                                             ; preds = %2480
  %2486 = load i32, ptr %61, align 4, !tbaa !5
  %2487 = call ptr @__errno_location() #10
  store i32 %2486, ptr %2487, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2491 = load i32, ptr %2490, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror(i32 noundef %2491, ptr noundef @.str.4)
  %2493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  %2495 = call ptr @s2n_strerror_debug(i32 noundef %2494, ptr noundef @.str.4)
  %2496 = call ptr @__errno_location() #10
  %2497 = load i32, ptr %2496, align 4, !tbaa !5
  %2498 = call ptr @strerror(i32 noundef %2497) #9
  %2499 = call ptr @__errno_location() #10
  %2500 = load i32, ptr %2499, align 4, !tbaa !5
  %2501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2488, ptr noundef @.str.2, i32 noundef %2489, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2492, ptr noundef %2495, ptr noundef %2498, i32 noundef %2500) #9
  br label %2519

2502:                                             ; preds = %2480, %2473
  %2503 = load i32, ptr %61, align 4, !tbaa !5
  %2504 = call ptr @__errno_location() #10
  store i32 %2503, ptr %2504, align 4, !tbaa !5
  %2505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2506 = load i32, ptr @test_count, align 4, !tbaa !5
  %2507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2508 = load i32, ptr %2507, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror(i32 noundef %2508, ptr noundef @.str.4)
  %2510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2511 = load i32, ptr %2510, align 4, !tbaa !5
  %2512 = call ptr @s2n_strerror_debug(i32 noundef %2511, ptr noundef @.str.4)
  %2513 = call ptr @__errno_location() #10
  %2514 = load i32, ptr %2513, align 4, !tbaa !5
  %2515 = call ptr @strerror(i32 noundef %2514) #9
  %2516 = call ptr @__errno_location() #10
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  %2518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2505, ptr noundef @.str.5, i32 noundef %2506, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2509, ptr noundef %2512, ptr noundef %2515, i32 noundef %2517) #9
  br label %2519

2519:                                             ; preds = %2502, %2485
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %2520

2520:                                             ; preds = %2519
  br label %2521

2521:                                             ; preds = %2520
  call void @exit(i32 noundef 1) #11
  unreachable

2522:                                             ; No predecessors!
  br label %2523

2523:                                             ; preds = %2522
  br label %2524

2524:                                             ; preds = %2523, %2466
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

2526:                                             ; preds = %2525
  br label %2527

2527:                                             ; preds = %2526
  %2528 = load i32, ptr @test_count, align 4, !tbaa !5
  %2529 = add nsw i32 %2528, 1
  store i32 %2529, ptr @test_count, align 4, !tbaa !5
  %2530 = call i32 @s2n_stuffer_write(ptr noundef %32, ptr noundef %59)
  %2531 = icmp eq i32 %2530, -1
  br i1 %2531, label %2532, label %2585

2532:                                             ; preds = %2527
  br label %2533

2533:                                             ; preds = %2532
  br label %2534

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

2541:                                             ; preds = %2534
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = call i32 @fileno(ptr noundef %2542) #9
  %2544 = call i32 @isatty(i32 noundef %2543) #9
  %2545 = icmp ne i32 %2544, 0
  br i1 %2545, label %2546, label %2563

2546:                                             ; preds = %2541
  %2547 = load i32, ptr %62, align 4, !tbaa !5
  %2548 = call ptr @__errno_location() #10
  store i32 %2547, ptr %2548, align 4, !tbaa !5
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = load i32, ptr @test_count, align 4, !tbaa !5
  %2551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2552 = load i32, ptr %2551, align 4, !tbaa !5
  %2553 = call ptr @s2n_strerror(i32 noundef %2552, ptr noundef @.str.4)
  %2554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2555 = load i32, ptr %2554, align 4, !tbaa !5
  %2556 = call ptr @s2n_strerror_debug(i32 noundef %2555, ptr noundef @.str.4)
  %2557 = call ptr @__errno_location() #10
  %2558 = load i32, ptr %2557, align 4, !tbaa !5
  %2559 = call ptr @strerror(i32 noundef %2558) #9
  %2560 = call ptr @__errno_location() #10
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2549, ptr noundef @.str.2, i32 noundef %2550, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2553, ptr noundef %2556, ptr noundef %2559, i32 noundef %2561) #9
  br label %2580

2563:                                             ; preds = %2541, %2534
  %2564 = load i32, ptr %62, align 4, !tbaa !5
  %2565 = call ptr @__errno_location() #10
  store i32 %2564, ptr %2565, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror(i32 noundef %2569, ptr noundef @.str.4)
  %2571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call ptr @s2n_strerror_debug(i32 noundef %2572, ptr noundef @.str.4)
  %2574 = call ptr @__errno_location() #10
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #9
  %2577 = call ptr @__errno_location() #10
  %2578 = load i32, ptr %2577, align 4, !tbaa !5
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2566, ptr noundef @.str.5, i32 noundef %2567, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2570, ptr noundef %2573, ptr noundef %2576, i32 noundef %2578) #9
  br label %2580

2580:                                             ; preds = %2563, %2546
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %2581

2581:                                             ; preds = %2580
  br label %2582

2582:                                             ; preds = %2581
  call void @exit(i32 noundef 1) #11
  unreachable

2583:                                             ; No predecessors!
  br label %2584

2584:                                             ; preds = %2583
  br label %2585

2585:                                             ; preds = %2584, %2527
  br label %2586

2586:                                             ; preds = %2585
  br label %2587

2587:                                             ; preds = %2586
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

2589:                                             ; preds = %2588
  %2590 = load i32, ptr @test_count, align 4, !tbaa !5
  %2591 = add nsw i32 %2590, 1
  store i32 %2591, ptr @test_count, align 4, !tbaa !5
  %2592 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %2593 = icmp eq i32 %2592, -1
  br i1 %2593, label %2647, label %2594

2594:                                             ; preds = %2589
  br label %2595

2595:                                             ; preds = %2594
  br label %2596

2596:                                             ; preds = %2595
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %2597 = call ptr @__errno_location() #10
  %2598 = load i32, ptr %2597, align 4, !tbaa !5
  store i32 %2598, ptr %63, align 4, !tbaa !5
  %2599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2600 = call i32 @s2n_print_stacktrace(ptr noundef %2599)
  %2601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2602 = trunc i8 %2601 to i1
  br i1 %2602, label %2603, label %2625

2603:                                             ; preds = %2596
  %2604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2605 = call i32 @fileno(ptr noundef %2604) #9
  %2606 = call i32 @isatty(i32 noundef %2605) #9
  %2607 = icmp ne i32 %2606, 0
  br i1 %2607, label %2608, label %2625

2608:                                             ; preds = %2603
  %2609 = load i32, ptr %63, align 4, !tbaa !5
  %2610 = call ptr @__errno_location() #10
  store i32 %2609, ptr %2610, align 4, !tbaa !5
  %2611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2612 = load i32, ptr @test_count, align 4, !tbaa !5
  %2613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2614 = load i32, ptr %2613, align 4, !tbaa !5
  %2615 = call ptr @s2n_strerror(i32 noundef %2614, ptr noundef @.str.4)
  %2616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2617 = load i32, ptr %2616, align 4, !tbaa !5
  %2618 = call ptr @s2n_strerror_debug(i32 noundef %2617, ptr noundef @.str.4)
  %2619 = call ptr @__errno_location() #10
  %2620 = load i32, ptr %2619, align 4, !tbaa !5
  %2621 = call ptr @strerror(i32 noundef %2620) #9
  %2622 = call ptr @__errno_location() #10
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2611, ptr noundef @.str.2, i32 noundef %2612, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2615, ptr noundef %2618, ptr noundef %2621, i32 noundef %2623) #9
  br label %2642

2625:                                             ; preds = %2603, %2596
  %2626 = load i32, ptr %63, align 4, !tbaa !5
  %2627 = call ptr @__errno_location() #10
  store i32 %2626, ptr %2627, align 4, !tbaa !5
  %2628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2629 = load i32, ptr @test_count, align 4, !tbaa !5
  %2630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2631 = load i32, ptr %2630, align 4, !tbaa !5
  %2632 = call ptr @s2n_strerror(i32 noundef %2631, ptr noundef @.str.4)
  %2633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2634 = load i32, ptr %2633, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror_debug(i32 noundef %2634, ptr noundef @.str.4)
  %2636 = call ptr @__errno_location() #10
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @strerror(i32 noundef %2637) #9
  %2639 = call ptr @__errno_location() #10
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2628, ptr noundef @.str.5, i32 noundef %2629, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2632, ptr noundef %2635, ptr noundef %2638, i32 noundef %2640) #9
  br label %2642

2642:                                             ; preds = %2625, %2608
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %2643

2643:                                             ; preds = %2642
  br label %2644

2644:                                             ; preds = %2643
  call void @exit(i32 noundef 1) #11
  unreachable

2645:                                             ; No predecessors!
  br label %2646

2646:                                             ; preds = %2645
  br label %2647

2647:                                             ; preds = %2646, %2589
  br label %2648

2648:                                             ; preds = %2647
  br label %2649

2649:                                             ; preds = %2648
  br label %2650

2650:                                             ; preds = %2649
  %2651 = load i32, ptr @test_count, align 4, !tbaa !5
  %2652 = add nsw i32 %2651, 1
  store i32 %2652, ptr @test_count, align 4, !tbaa !5
  %2653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = icmp eq i32 %2654, 0
  br i1 %2655, label %2656, label %2709

2656:                                             ; preds = %2650
  br label %2657

2657:                                             ; preds = %2656
  br label %2658

2658:                                             ; preds = %2657
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #9
  %2659 = call ptr @__errno_location() #10
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  store i32 %2660, ptr %64, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = call i32 @s2n_print_stacktrace(ptr noundef %2661)
  %2663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2664 = trunc i8 %2663 to i1
  br i1 %2664, label %2665, label %2687

2665:                                             ; preds = %2658
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @fileno(ptr noundef %2666) #9
  %2668 = call i32 @isatty(i32 noundef %2667) #9
  %2669 = icmp ne i32 %2668, 0
  br i1 %2669, label %2670, label %2687

2670:                                             ; preds = %2665
  %2671 = load i32, ptr %64, align 4, !tbaa !5
  %2672 = call ptr @__errno_location() #10
  store i32 %2671, ptr %2672, align 4, !tbaa !5
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = load i32, ptr @test_count, align 4, !tbaa !5
  %2675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2676 = load i32, ptr %2675, align 4, !tbaa !5
  %2677 = call ptr @s2n_strerror(i32 noundef %2676, ptr noundef @.str.4)
  %2678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2679 = load i32, ptr %2678, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror_debug(i32 noundef %2679, ptr noundef @.str.4)
  %2681 = call ptr @__errno_location() #10
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @strerror(i32 noundef %2682) #9
  %2684 = call ptr @__errno_location() #10
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2673, ptr noundef @.str.2, i32 noundef %2674, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2677, ptr noundef %2680, ptr noundef %2683, i32 noundef %2685) #9
  br label %2704

2687:                                             ; preds = %2665, %2658
  %2688 = load i32, ptr %64, align 4, !tbaa !5
  %2689 = call ptr @__errno_location() #10
  store i32 %2688, ptr %2689, align 4, !tbaa !5
  %2690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2691 = load i32, ptr @test_count, align 4, !tbaa !5
  %2692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2693 = load i32, ptr %2692, align 4, !tbaa !5
  %2694 = call ptr @s2n_strerror(i32 noundef %2693, ptr noundef @.str.4)
  %2695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call ptr @s2n_strerror_debug(i32 noundef %2696, ptr noundef @.str.4)
  %2698 = call ptr @__errno_location() #10
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  %2700 = call ptr @strerror(i32 noundef %2699) #9
  %2701 = call ptr @__errno_location() #10
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  %2703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2690, ptr noundef @.str.5, i32 noundef %2691, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2694, ptr noundef %2697, ptr noundef %2700, i32 noundef %2702) #9
  br label %2704

2704:                                             ; preds = %2687, %2670
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  br label %2705

2705:                                             ; preds = %2704
  br label %2706

2706:                                             ; preds = %2705
  call void @exit(i32 noundef 1) #11
  unreachable

2707:                                             ; No predecessors!
  br label %2708

2708:                                             ; preds = %2707
  br label %2709

2709:                                             ; preds = %2708, %2650
  br label %2710

2710:                                             ; preds = %2709
  br label %2711

2711:                                             ; preds = %2710
  br label %2712

2712:                                             ; preds = %2711
  %2713 = load i32, ptr @test_count, align 4, !tbaa !5
  %2714 = add nsw i32 %2713, 1
  store i32 %2714, ptr @test_count, align 4, !tbaa !5
  %2715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2716 = load i32, ptr %2715, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror_debug(i32 noundef %2716, ptr noundef @.str.4)
  %2718 = icmp eq ptr %2717, null
  br i1 %2718, label %2719, label %2772

2719:                                             ; preds = %2712
  br label %2720

2720:                                             ; preds = %2719
  br label %2721

2721:                                             ; preds = %2720
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #9
  %2722 = call ptr @__errno_location() #10
  %2723 = load i32, ptr %2722, align 4, !tbaa !5
  store i32 %2723, ptr %65, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @s2n_print_stacktrace(ptr noundef %2724)
  %2726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2727 = trunc i8 %2726 to i1
  br i1 %2727, label %2728, label %2750

2728:                                             ; preds = %2721
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #9
  %2731 = call i32 @isatty(i32 noundef %2730) #9
  %2732 = icmp ne i32 %2731, 0
  br i1 %2732, label %2733, label %2750

2733:                                             ; preds = %2728
  %2734 = load i32, ptr %65, align 4, !tbaa !5
  %2735 = call ptr @__errno_location() #10
  store i32 %2734, ptr %2735, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = load i32, ptr @test_count, align 4, !tbaa !5
  %2738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2739 = load i32, ptr %2738, align 4, !tbaa !5
  %2740 = call ptr @s2n_strerror(i32 noundef %2739, ptr noundef @.str.4)
  %2741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2742 = load i32, ptr %2741, align 4, !tbaa !5
  %2743 = call ptr @s2n_strerror_debug(i32 noundef %2742, ptr noundef @.str.4)
  %2744 = call ptr @__errno_location() #10
  %2745 = load i32, ptr %2744, align 4, !tbaa !5
  %2746 = call ptr @strerror(i32 noundef %2745) #9
  %2747 = call ptr @__errno_location() #10
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2736, ptr noundef @.str.2, i32 noundef %2737, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2740, ptr noundef %2743, ptr noundef %2746, i32 noundef %2748) #9
  br label %2767

2750:                                             ; preds = %2728, %2721
  %2751 = load i32, ptr %65, align 4, !tbaa !5
  %2752 = call ptr @__errno_location() #10
  store i32 %2751, ptr %2752, align 4, !tbaa !5
  %2753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2754 = load i32, ptr @test_count, align 4, !tbaa !5
  %2755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  %2757 = call ptr @s2n_strerror(i32 noundef %2756, ptr noundef @.str.4)
  %2758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2759 = load i32, ptr %2758, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror_debug(i32 noundef %2759, ptr noundef @.str.4)
  %2761 = call ptr @__errno_location() #10
  %2762 = load i32, ptr %2761, align 4, !tbaa !5
  %2763 = call ptr @strerror(i32 noundef %2762) #9
  %2764 = call ptr @__errno_location() #10
  %2765 = load i32, ptr %2764, align 4, !tbaa !5
  %2766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2753, ptr noundef @.str.5, i32 noundef %2754, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2757, ptr noundef %2760, ptr noundef %2763, i32 noundef %2765) #9
  br label %2767

2767:                                             ; preds = %2750, %2733
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %2768

2768:                                             ; preds = %2767
  br label %2769

2769:                                             ; preds = %2768
  call void @exit(i32 noundef 1) #11
  unreachable

2770:                                             ; No predecessors!
  br label %2771

2771:                                             ; preds = %2770
  br label %2772

2772:                                             ; preds = %2771, %2712
  br label %2773

2773:                                             ; preds = %2772
  br label %2774

2774:                                             ; preds = %2773
  br label %2775

2775:                                             ; preds = %2774
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2776, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2777 = call ptr @__errno_location() #10
  store i32 0, ptr %2777, align 4, !tbaa !5
  br label %2778

2778:                                             ; preds = %2775
  br label %2779

2779:                                             ; preds = %2778
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

2781:                                             ; preds = %2780
  br label %2782

2782:                                             ; preds = %2781
  %2783 = load i32, ptr @test_count, align 4, !tbaa !5
  %2784 = add nsw i32 %2783, 1
  store i32 %2784, ptr @test_count, align 4, !tbaa !5
  %2785 = call i32 @s2n_stuffer_wipe(ptr noundef %32)
  %2786 = icmp eq i32 %2785, -1
  br i1 %2786, label %2787, label %2840

2787:                                             ; preds = %2782
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  %2790 = call ptr @__errno_location() #10
  %2791 = load i32, ptr %2790, align 4, !tbaa !5
  store i32 %2791, ptr %66, align 4, !tbaa !5
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2793 = call i32 @s2n_print_stacktrace(ptr noundef %2792)
  %2794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2795 = trunc i8 %2794 to i1
  br i1 %2795, label %2796, label %2818

2796:                                             ; preds = %2789
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2798 = call i32 @fileno(ptr noundef %2797) #9
  %2799 = call i32 @isatty(i32 noundef %2798) #9
  %2800 = icmp ne i32 %2799, 0
  br i1 %2800, label %2801, label %2818

2801:                                             ; preds = %2796
  %2802 = load i32, ptr %66, align 4, !tbaa !5
  %2803 = call ptr @__errno_location() #10
  store i32 %2802, ptr %2803, align 4, !tbaa !5
  %2804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2805 = load i32, ptr @test_count, align 4, !tbaa !5
  %2806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2807 = load i32, ptr %2806, align 4, !tbaa !5
  %2808 = call ptr @s2n_strerror(i32 noundef %2807, ptr noundef @.str.4)
  %2809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2810 = load i32, ptr %2809, align 4, !tbaa !5
  %2811 = call ptr @s2n_strerror_debug(i32 noundef %2810, ptr noundef @.str.4)
  %2812 = call ptr @__errno_location() #10
  %2813 = load i32, ptr %2812, align 4, !tbaa !5
  %2814 = call ptr @strerror(i32 noundef %2813) #9
  %2815 = call ptr @__errno_location() #10
  %2816 = load i32, ptr %2815, align 4, !tbaa !5
  %2817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2804, ptr noundef @.str.2, i32 noundef %2805, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2808, ptr noundef %2811, ptr noundef %2814, i32 noundef %2816) #9
  br label %2835

2818:                                             ; preds = %2796, %2789
  %2819 = load i32, ptr %66, align 4, !tbaa !5
  %2820 = call ptr @__errno_location() #10
  store i32 %2819, ptr %2820, align 4, !tbaa !5
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = load i32, ptr @test_count, align 4, !tbaa !5
  %2823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2824 = load i32, ptr %2823, align 4, !tbaa !5
  %2825 = call ptr @s2n_strerror(i32 noundef %2824, ptr noundef @.str.4)
  %2826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2827 = load i32, ptr %2826, align 4, !tbaa !5
  %2828 = call ptr @s2n_strerror_debug(i32 noundef %2827, ptr noundef @.str.4)
  %2829 = call ptr @__errno_location() #10
  %2830 = load i32, ptr %2829, align 4, !tbaa !5
  %2831 = call ptr @strerror(i32 noundef %2830) #9
  %2832 = call ptr @__errno_location() #10
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2821, ptr noundef @.str.5, i32 noundef %2822, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2825, ptr noundef %2828, ptr noundef %2831, i32 noundef %2833) #9
  br label %2835

2835:                                             ; preds = %2818, %2801
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %2836

2836:                                             ; preds = %2835
  br label %2837

2837:                                             ; preds = %2836
  call void @exit(i32 noundef 1) #11
  unreachable

2838:                                             ; No predecessors!
  br label %2839

2839:                                             ; preds = %2838
  br label %2840

2840:                                             ; preds = %2839, %2782
  br label %2841

2841:                                             ; preds = %2840
  br label %2842

2842:                                             ; preds = %2841
  br label %2843

2843:                                             ; preds = %2842
  br label %2844

2844:                                             ; preds = %2843
  %2845 = load i32, ptr @test_count, align 4, !tbaa !5
  %2846 = add nsw i32 %2845, 1
  store i32 %2846, ptr @test_count, align 4, !tbaa !5
  %2847 = call i32 @s2n_tls13_parse_record_type(ptr noundef %32, ptr noundef %10)
  %2848 = icmp eq i32 %2847, -1
  br i1 %2848, label %2902, label %2849

2849:                                             ; preds = %2844
  br label %2850

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %2852 = call ptr @__errno_location() #10
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  store i32 %2853, ptr %67, align 4, !tbaa !5
  %2854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2855 = call i32 @s2n_print_stacktrace(ptr noundef %2854)
  %2856 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2857 = trunc i8 %2856 to i1
  br i1 %2857, label %2858, label %2880

2858:                                             ; preds = %2851
  %2859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2860 = call i32 @fileno(ptr noundef %2859) #9
  %2861 = call i32 @isatty(i32 noundef %2860) #9
  %2862 = icmp ne i32 %2861, 0
  br i1 %2862, label %2863, label %2880

2863:                                             ; preds = %2858
  %2864 = load i32, ptr %67, align 4, !tbaa !5
  %2865 = call ptr @__errno_location() #10
  store i32 %2864, ptr %2865, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = load i32, ptr @test_count, align 4, !tbaa !5
  %2868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2869 = load i32, ptr %2868, align 4, !tbaa !5
  %2870 = call ptr @s2n_strerror(i32 noundef %2869, ptr noundef @.str.4)
  %2871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2872 = load i32, ptr %2871, align 4, !tbaa !5
  %2873 = call ptr @s2n_strerror_debug(i32 noundef %2872, ptr noundef @.str.4)
  %2874 = call ptr @__errno_location() #10
  %2875 = load i32, ptr %2874, align 4, !tbaa !5
  %2876 = call ptr @strerror(i32 noundef %2875) #9
  %2877 = call ptr @__errno_location() #10
  %2878 = load i32, ptr %2877, align 4, !tbaa !5
  %2879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2866, ptr noundef @.str.2, i32 noundef %2867, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2870, ptr noundef %2873, ptr noundef %2876, i32 noundef %2878) #9
  br label %2897

2880:                                             ; preds = %2858, %2851
  %2881 = load i32, ptr %67, align 4, !tbaa !5
  %2882 = call ptr @__errno_location() #10
  store i32 %2881, ptr %2882, align 4, !tbaa !5
  %2883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2884 = load i32, ptr @test_count, align 4, !tbaa !5
  %2885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2886 = load i32, ptr %2885, align 4, !tbaa !5
  %2887 = call ptr @s2n_strerror(i32 noundef %2886, ptr noundef @.str.4)
  %2888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2889 = load i32, ptr %2888, align 4, !tbaa !5
  %2890 = call ptr @s2n_strerror_debug(i32 noundef %2889, ptr noundef @.str.4)
  %2891 = call ptr @__errno_location() #10
  %2892 = load i32, ptr %2891, align 4, !tbaa !5
  %2893 = call ptr @strerror(i32 noundef %2892) #9
  %2894 = call ptr @__errno_location() #10
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2883, ptr noundef @.str.5, i32 noundef %2884, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2887, ptr noundef %2890, ptr noundef %2893, i32 noundef %2895) #9
  br label %2897

2897:                                             ; preds = %2880, %2863
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %2898

2898:                                             ; preds = %2897
  br label %2899

2899:                                             ; preds = %2898
  call void @exit(i32 noundef 1) #11
  unreachable

2900:                                             ; No predecessors!
  br label %2901

2901:                                             ; preds = %2900
  br label %2902

2902:                                             ; preds = %2901, %2844
  br label %2903

2903:                                             ; preds = %2902
  br label %2904

2904:                                             ; preds = %2903
  br label %2905

2905:                                             ; preds = %2904
  %2906 = load i32, ptr @test_count, align 4, !tbaa !5
  %2907 = add nsw i32 %2906, 1
  store i32 %2907, ptr @test_count, align 4, !tbaa !5
  %2908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2909 = load i32, ptr %2908, align 4, !tbaa !5
  %2910 = icmp eq i32 %2909, 0
  br i1 %2910, label %2911, label %2964

2911:                                             ; preds = %2905
  br label %2912

2912:                                             ; preds = %2911
  br label %2913

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

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

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

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

2959:                                             ; preds = %2942, %2925
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %2960

2960:                                             ; preds = %2959
  br label %2961

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

2962:                                             ; No predecessors!
  br label %2963

2963:                                             ; preds = %2962
  br label %2964

2964:                                             ; preds = %2963, %2905
  br label %2965

2965:                                             ; preds = %2964
  br label %2966

2966:                                             ; preds = %2965
  br label %2967

2967:                                             ; preds = %2966
  %2968 = load i32, ptr @test_count, align 4, !tbaa !5
  %2969 = add nsw i32 %2968, 1
  store i32 %2969, ptr @test_count, align 4, !tbaa !5
  %2970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2971 = load i32, ptr %2970, align 4, !tbaa !5
  %2972 = call ptr @s2n_strerror_debug(i32 noundef %2971, ptr noundef @.str.4)
  %2973 = icmp eq ptr %2972, null
  br i1 %2973, label %2974, label %3027

2974:                                             ; preds = %2967
  br label %2975

2975:                                             ; preds = %2974
  br label %2976

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

2983:                                             ; preds = %2976
  %2984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2985 = call i32 @fileno(ptr noundef %2984) #9
  %2986 = call i32 @isatty(i32 noundef %2985) #9
  %2987 = icmp ne i32 %2986, 0
  br i1 %2987, label %2988, label %3005

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

3005:                                             ; preds = %2983, %2976
  %3006 = load i32, ptr %69, align 4, !tbaa !5
  %3007 = call ptr @__errno_location() #10
  store i32 %3006, ptr %3007, align 4, !tbaa !5
  %3008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3009 = load i32, ptr @test_count, align 4, !tbaa !5
  %3010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3011 = load i32, ptr %3010, align 4, !tbaa !5
  %3012 = call ptr @s2n_strerror(i32 noundef %3011, ptr noundef @.str.4)
  %3013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3014 = load i32, ptr %3013, align 4, !tbaa !5
  %3015 = call ptr @s2n_strerror_debug(i32 noundef %3014, ptr noundef @.str.4)
  %3016 = call ptr @__errno_location() #10
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @strerror(i32 noundef %3017) #9
  %3019 = call ptr @__errno_location() #10
  %3020 = load i32, ptr %3019, align 4, !tbaa !5
  %3021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3008, ptr noundef @.str.5, i32 noundef %3009, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 119, ptr noundef %3012, ptr noundef %3015, ptr noundef %3018, i32 noundef %3020) #9
  br label %3022

3022:                                             ; preds = %3005, %2988
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %3023

3023:                                             ; preds = %3022
  br label %3024

3024:                                             ; preds = %3023
  call void @exit(i32 noundef 1) #11
  unreachable

3025:                                             ; No predecessors!
  br label %3026

3026:                                             ; preds = %3025
  br label %3027

3027:                                             ; preds = %3026, %2967
  br label %3028

3028:                                             ; preds = %3027
  br label %3029

3029:                                             ; preds = %3028
  br label %3030

3030:                                             ; preds = %3029
  %3031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3031, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3032 = call ptr @__errno_location() #10
  store i32 0, ptr %3032, align 4, !tbaa !5
  br label %3033

3033:                                             ; preds = %3030
  br label %3034

3034:                                             ; preds = %3033
  br label %3035

3035:                                             ; preds = %3034
  br label %3036

3036:                                             ; preds = %3035
  br label %3037

3037:                                             ; preds = %3036
  %3038 = load i32, ptr @test_count, align 4, !tbaa !5
  %3039 = add nsw i32 %3038, 1
  store i32 %3039, ptr @test_count, align 4, !tbaa !5
  %3040 = call i32 @s2n_stuffer_free(ptr noundef %32)
  %3041 = icmp eq i32 %3040, -1
  br i1 %3041, label %3042, label %3095

3042:                                             ; preds = %3037
  br label %3043

3043:                                             ; preds = %3042
  br label %3044

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

3051:                                             ; preds = %3044
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3053 = call i32 @fileno(ptr noundef %3052) #9
  %3054 = call i32 @isatty(i32 noundef %3053) #9
  %3055 = icmp ne i32 %3054, 0
  br i1 %3055, label %3056, label %3073

3056:                                             ; preds = %3051
  %3057 = load i32, ptr %70, align 4, !tbaa !5
  %3058 = call ptr @__errno_location() #10
  store i32 %3057, ptr %3058, align 4, !tbaa !5
  %3059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3060 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3062, ptr noundef @.str.4)
  %3064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3065 = load i32, ptr %3064, align 4, !tbaa !5
  %3066 = call ptr @s2n_strerror_debug(i32 noundef %3065, ptr noundef @.str.4)
  %3067 = call ptr @__errno_location() #10
  %3068 = load i32, ptr %3067, align 4, !tbaa !5
  %3069 = call ptr @strerror(i32 noundef %3068) #9
  %3070 = call ptr @__errno_location() #10
  %3071 = load i32, ptr %3070, align 4, !tbaa !5
  %3072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3059, ptr noundef @.str.2, i32 noundef %3060, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3063, ptr noundef %3066, ptr noundef %3069, i32 noundef %3071) #9
  br label %3090

3073:                                             ; preds = %3051, %3044
  %3074 = load i32, ptr %70, align 4, !tbaa !5
  %3075 = call ptr @__errno_location() #10
  store i32 %3074, ptr %3075, align 4, !tbaa !5
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3079, ptr noundef @.str.4)
  %3081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3082 = load i32, ptr %3081, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror_debug(i32 noundef %3082, ptr noundef @.str.4)
  %3084 = call ptr @__errno_location() #10
  %3085 = load i32, ptr %3084, align 4, !tbaa !5
  %3086 = call ptr @strerror(i32 noundef %3085) #9
  %3087 = call ptr @__errno_location() #10
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  %3089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3076, ptr noundef @.str.5, i32 noundef %3077, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3080, ptr noundef %3083, ptr noundef %3086, i32 noundef %3088) #9
  br label %3090

3090:                                             ; preds = %3073, %3056
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %3091

3091:                                             ; preds = %3090
  br label %3092

3092:                                             ; preds = %3091
  call void @exit(i32 noundef 1) #11
  unreachable

3093:                                             ; No predecessors!
  br label %3094

3094:                                             ; preds = %3093
  br label %3095

3095:                                             ; preds = %3094, %3037
  br label %3096

3096:                                             ; preds = %3095
  br label %3097

3097:                                             ; preds = %3096
  store i32 0, ptr %36, align 4
  br label %3098

3098:                                             ; preds = %3097, %2462
  %3099 = call i32 @s2n_free(ptr noundef %59)
  call void @llvm.lifetime.end.p0(i64 24, ptr %59) #9
  br label %3100

3100:                                             ; preds = %3098, %2136
  %3101 = call i32 @s2n_free(ptr noundef %52)
  call void @llvm.lifetime.end.p0(i64 24, ptr %52) #9
  br label %3102

3102:                                             ; preds = %3100, %1881
  %3103 = call i32 @s2n_free(ptr noundef %46)
  call void @llvm.lifetime.end.p0(i64 24, ptr %46) #9
  br label %3104

3104:                                             ; preds = %3102, %1626
  %3105 = call i32 @s2n_free(ptr noundef %40)
  call void @llvm.lifetime.end.p0(i64 24, ptr %40) #9
  br label %3106

3106:                                             ; preds = %3104, %1432
  %3107 = call i32 @s2n_free(ptr noundef %34)
  call void @llvm.lifetime.end.p0(i64 24, ptr %34) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %32) #9
  %3108 = load i32, ptr %36, align 4
  switch i32 %3108, label %6350 [
    i32 0, label %3109
  ]

3109:                                             ; preds = %3106
  call void @llvm.lifetime.start.p0(i64 1, ptr %71) #9
  store i8 0, ptr %71, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 1, ptr %72) #9
  store i8 22, ptr %72, align 1, !tbaa !15
  br label %3110

3110:                                             ; preds = %3109
  %3111 = load i32, ptr @test_count, align 4, !tbaa !5
  %3112 = add nsw i32 %3111, 1
  store i32 %3112, ptr @test_count, align 4, !tbaa !5
  br label %3113

3113:                                             ; preds = %3110
  br label %3114

3114:                                             ; preds = %3113
  call void @llvm.lifetime.start.p0(i64 40, ptr %73) #9
  call void @llvm.memset.p0.i64(ptr align 8 %73, i8 0, i64 40, i1 false)
  br label %3115

3115:                                             ; preds = %3114
  %3116 = load i32, ptr @test_count, align 4, !tbaa !5
  %3117 = add nsw i32 %3116, 1
  store i32 %3117, ptr @test_count, align 4, !tbaa !5
  %3118 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %73, i32 noundef 1024)
  %3119 = icmp eq i32 %3118, -1
  br i1 %3119, label %3120, label %3173

3120:                                             ; preds = %3115
  br label %3121

3121:                                             ; preds = %3120
  br label %3122

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

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

3134:                                             ; preds = %3129
  %3135 = load i32, ptr %74, align 4, !tbaa !5
  %3136 = call ptr @__errno_location() #10
  store i32 %3135, ptr %3136, align 4, !tbaa !5
  %3137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3138 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3140, ptr noundef @.str.4)
  %3142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call ptr @s2n_strerror_debug(i32 noundef %3143, ptr noundef @.str.4)
  %3145 = call ptr @__errno_location() #10
  %3146 = load i32, ptr %3145, align 4, !tbaa !5
  %3147 = call ptr @strerror(i32 noundef %3146) #9
  %3148 = call ptr @__errno_location() #10
  %3149 = load i32, ptr %3148, align 4, !tbaa !5
  %3150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3137, ptr noundef @.str.2, i32 noundef %3138, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 133, ptr noundef %3141, ptr noundef %3144, ptr noundef %3147, i32 noundef %3149) #9
  br label %3168

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

3168:                                             ; preds = %3151, %3134
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %3169

3169:                                             ; preds = %3168
  br label %3170

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

3171:                                             ; No predecessors!
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

3173:                                             ; preds = %3172, %3115
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

3175:                                             ; preds = %3174
  br label %3176

3176:                                             ; preds = %3175
  %3177 = load i32, ptr @test_count, align 4, !tbaa !5
  %3178 = add nsw i32 %3177, 1
  store i32 %3178, ptr @test_count, align 4, !tbaa !5
  %3179 = call i32 @s2n_stuffer_write_uint8(ptr noundef %73, i8 noundef zeroext 22)
  %3180 = icmp eq i32 %3179, -1
  br i1 %3180, label %3181, label %3234

3181:                                             ; preds = %3176
  br label %3182

3182:                                             ; preds = %3181
  br label %3183

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

3190:                                             ; preds = %3183
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @fileno(ptr noundef %3191) #9
  %3193 = call i32 @isatty(i32 noundef %3192) #9
  %3194 = icmp ne i32 %3193, 0
  br i1 %3194, label %3195, label %3212

3195:                                             ; preds = %3190
  %3196 = load i32, ptr %75, align 4, !tbaa !5
  %3197 = call ptr @__errno_location() #10
  store i32 %3196, ptr %3197, align 4, !tbaa !5
  %3198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3199 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3201, ptr noundef @.str.4)
  %3203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3204 = load i32, ptr %3203, align 4, !tbaa !5
  %3205 = call ptr @s2n_strerror_debug(i32 noundef %3204, ptr noundef @.str.4)
  %3206 = call ptr @__errno_location() #10
  %3207 = load i32, ptr %3206, align 4, !tbaa !5
  %3208 = call ptr @strerror(i32 noundef %3207) #9
  %3209 = call ptr @__errno_location() #10
  %3210 = load i32, ptr %3209, align 4, !tbaa !5
  %3211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3198, ptr noundef @.str.2, i32 noundef %3199, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 135, ptr noundef %3202, ptr noundef %3205, ptr noundef %3208, i32 noundef %3210) #9
  br label %3229

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

3229:                                             ; preds = %3212, %3195
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %3230

3230:                                             ; preds = %3229
  br label %3231

3231:                                             ; preds = %3230
  call void @exit(i32 noundef 1) #11
  unreachable

3232:                                             ; No predecessors!
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

3234:                                             ; preds = %3233, %3176
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

3236:                                             ; preds = %3235
  br label %3237

3237:                                             ; preds = %3305, %3236
  %3238 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3239 = load i32, ptr %3238, align 4, !tbaa !18
  %3240 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3241 = load i32, ptr %3240, align 8, !tbaa !21
  %3242 = sub i32 %3239, %3241
  %3243 = icmp ult i32 %3242, 16385
  br i1 %3243, label %3244, label %3306

3244:                                             ; preds = %3237
  br label %3245

3245:                                             ; preds = %3244
  %3246 = load i32, ptr @test_count, align 4, !tbaa !5
  %3247 = add nsw i32 %3246, 1
  store i32 %3247, ptr @test_count, align 4, !tbaa !5
  %3248 = call i32 @s2n_stuffer_write_uint8(ptr noundef %73, i8 noundef zeroext 0)
  %3249 = icmp eq i32 %3248, -1
  br i1 %3249, label %3250, label %3303

3250:                                             ; preds = %3245
  br label %3251

3251:                                             ; preds = %3250
  br label %3252

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

3259:                                             ; preds = %3252
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3261 = call i32 @fileno(ptr noundef %3260) #9
  %3262 = call i32 @isatty(i32 noundef %3261) #9
  %3263 = icmp ne i32 %3262, 0
  br i1 %3263, label %3264, label %3281

3264:                                             ; preds = %3259
  %3265 = load i32, ptr %76, align 4, !tbaa !5
  %3266 = call ptr @__errno_location() #10
  store i32 %3265, ptr %3266, align 4, !tbaa !5
  %3267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3268 = load i32, ptr @test_count, align 4, !tbaa !5
  %3269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3270 = load i32, ptr %3269, align 4, !tbaa !5
  %3271 = call ptr @s2n_strerror(i32 noundef %3270, ptr noundef @.str.4)
  %3272 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3273 = load i32, ptr %3272, align 4, !tbaa !5
  %3274 = call ptr @s2n_strerror_debug(i32 noundef %3273, ptr noundef @.str.4)
  %3275 = call ptr @__errno_location() #10
  %3276 = load i32, ptr %3275, align 4, !tbaa !5
  %3277 = call ptr @strerror(i32 noundef %3276) #9
  %3278 = call ptr @__errno_location() #10
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  %3280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3267, ptr noundef @.str.2, i32 noundef %3268, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3271, ptr noundef %3274, ptr noundef %3277, i32 noundef %3279) #9
  br label %3298

3281:                                             ; preds = %3259, %3252
  %3282 = load i32, ptr %76, align 4, !tbaa !5
  %3283 = call ptr @__errno_location() #10
  store i32 %3282, ptr %3283, align 4, !tbaa !5
  %3284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3285 = load i32, ptr @test_count, align 4, !tbaa !5
  %3286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3287 = load i32, ptr %3286, align 4, !tbaa !5
  %3288 = call ptr @s2n_strerror(i32 noundef %3287, ptr noundef @.str.4)
  %3289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3290 = load i32, ptr %3289, align 4, !tbaa !5
  %3291 = call ptr @s2n_strerror_debug(i32 noundef %3290, ptr noundef @.str.4)
  %3292 = call ptr @__errno_location() #10
  %3293 = load i32, ptr %3292, align 4, !tbaa !5
  %3294 = call ptr @strerror(i32 noundef %3293) #9
  %3295 = call ptr @__errno_location() #10
  %3296 = load i32, ptr %3295, align 4, !tbaa !5
  %3297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3284, ptr noundef @.str.5, i32 noundef %3285, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 139, ptr noundef %3288, ptr noundef %3291, ptr noundef %3294, i32 noundef %3296) #9
  br label %3298

3298:                                             ; preds = %3281, %3264
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299
  call void @exit(i32 noundef 1) #11
  unreachable

3301:                                             ; No predecessors!
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

3303:                                             ; preds = %3302, %3245
  br label %3304

3304:                                             ; preds = %3303
  br label %3305

3305:                                             ; preds = %3304
  br label %3237, !llvm.loop !22

3306:                                             ; preds = %3237
  br label %3307

3307:                                             ; preds = %3306
  %3308 = load i32, ptr @test_count, align 4, !tbaa !5
  %3309 = add nsw i32 %3308, 1
  store i32 %3309, ptr @test_count, align 4, !tbaa !5
  %3310 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3311 = load i32, ptr %3310, align 4, !tbaa !18
  %3312 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3313 = load i32, ptr %3312, align 8, !tbaa !21
  %3314 = sub i32 %3311, %3313
  %3315 = icmp eq i32 %3314, 16385
  br i1 %3315, label %3369, label %3316

3316:                                             ; preds = %3307
  br label %3317

3317:                                             ; preds = %3316
  br label %3318

3318:                                             ; preds = %3317
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #9
  %3319 = call ptr @__errno_location() #10
  %3320 = load i32, ptr %3319, align 4, !tbaa !5
  store i32 %3320, ptr %77, align 4, !tbaa !5
  %3321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3322 = call i32 @s2n_print_stacktrace(ptr noundef %3321)
  %3323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3324 = trunc i8 %3323 to i1
  br i1 %3324, label %3325, label %3347

3325:                                             ; preds = %3318
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = call i32 @fileno(ptr noundef %3326) #9
  %3328 = call i32 @isatty(i32 noundef %3327) #9
  %3329 = icmp ne i32 %3328, 0
  br i1 %3329, label %3330, label %3347

3330:                                             ; preds = %3325
  %3331 = load i32, ptr %77, align 4, !tbaa !5
  %3332 = call ptr @__errno_location() #10
  store i32 %3331, ptr %3332, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3336 = load i32, ptr %3335, align 4, !tbaa !5
  %3337 = call ptr @s2n_strerror(i32 noundef %3336, ptr noundef @.str.4)
  %3338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3339 = load i32, ptr %3338, align 4, !tbaa !5
  %3340 = call ptr @s2n_strerror_debug(i32 noundef %3339, ptr noundef @.str.4)
  %3341 = call ptr @__errno_location() #10
  %3342 = load i32, ptr %3341, align 4, !tbaa !5
  %3343 = call ptr @strerror(i32 noundef %3342) #9
  %3344 = call ptr @__errno_location() #10
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef @.str.2, i32 noundef %3334, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3337, ptr noundef %3340, ptr noundef %3343, i32 noundef %3345) #9
  br label %3364

3347:                                             ; preds = %3325, %3318
  %3348 = load i32, ptr %77, align 4, !tbaa !5
  %3349 = call ptr @__errno_location() #10
  store i32 %3348, ptr %3349, align 4, !tbaa !5
  %3350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3351 = load i32, ptr @test_count, align 4, !tbaa !5
  %3352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3353 = load i32, ptr %3352, align 4, !tbaa !5
  %3354 = call ptr @s2n_strerror(i32 noundef %3353, ptr noundef @.str.4)
  %3355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3356 = load i32, ptr %3355, align 4, !tbaa !5
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3356, ptr noundef @.str.4)
  %3358 = call ptr @__errno_location() #10
  %3359 = load i32, ptr %3358, align 4, !tbaa !5
  %3360 = call ptr @strerror(i32 noundef %3359) #9
  %3361 = call ptr @__errno_location() #10
  %3362 = load i32, ptr %3361, align 4, !tbaa !5
  %3363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3350, ptr noundef @.str.5, i32 noundef %3351, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 141, ptr noundef %3354, ptr noundef %3357, ptr noundef %3360, i32 noundef %3362) #9
  br label %3364

3364:                                             ; preds = %3347, %3330
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %3365

3365:                                             ; preds = %3364
  br label %3366

3366:                                             ; preds = %3365
  call void @exit(i32 noundef 1) #11
  unreachable

3367:                                             ; No predecessors!
  br label %3368

3368:                                             ; preds = %3367
  br label %3369

3369:                                             ; preds = %3368, %3307
  br label %3370

3370:                                             ; preds = %3369
  br label %3371

3371:                                             ; preds = %3370
  br label %3372

3372:                                             ; preds = %3371
  %3373 = load i32, ptr @test_count, align 4, !tbaa !5
  %3374 = add nsw i32 %3373, 1
  store i32 %3374, ptr @test_count, align 4, !tbaa !5
  %3375 = call i32 @s2n_tls13_parse_record_type(ptr noundef %73, ptr noundef %10)
  %3376 = icmp eq i32 %3375, -1
  br i1 %3376, label %3377, label %3430

3377:                                             ; preds = %3372
  br label %3378

3378:                                             ; preds = %3377
  br label %3379

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

3386:                                             ; preds = %3379
  %3387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3388 = call i32 @fileno(ptr noundef %3387) #9
  %3389 = call i32 @isatty(i32 noundef %3388) #9
  %3390 = icmp ne i32 %3389, 0
  br i1 %3390, label %3391, label %3408

3391:                                             ; preds = %3386
  %3392 = load i32, ptr %78, align 4, !tbaa !5
  %3393 = call ptr @__errno_location() #10
  store i32 %3392, ptr %3393, align 4, !tbaa !5
  %3394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3395 = load i32, ptr @test_count, align 4, !tbaa !5
  %3396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3397 = load i32, ptr %3396, align 4, !tbaa !5
  %3398 = call ptr @s2n_strerror(i32 noundef %3397, ptr noundef @.str.4)
  %3399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3400 = load i32, ptr %3399, align 4, !tbaa !5
  %3401 = call ptr @s2n_strerror_debug(i32 noundef %3400, ptr noundef @.str.4)
  %3402 = call ptr @__errno_location() #10
  %3403 = load i32, ptr %3402, align 4, !tbaa !5
  %3404 = call ptr @strerror(i32 noundef %3403) #9
  %3405 = call ptr @__errno_location() #10
  %3406 = load i32, ptr %3405, align 4, !tbaa !5
  %3407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3394, ptr noundef @.str.2, i32 noundef %3395, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3398, ptr noundef %3401, ptr noundef %3404, i32 noundef %3406) #9
  br label %3425

3408:                                             ; preds = %3386, %3379
  %3409 = load i32, ptr %78, align 4, !tbaa !5
  %3410 = call ptr @__errno_location() #10
  store i32 %3409, ptr %3410, align 4, !tbaa !5
  %3411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3412 = load i32, ptr @test_count, align 4, !tbaa !5
  %3413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3414 = load i32, ptr %3413, align 4, !tbaa !5
  %3415 = call ptr @s2n_strerror(i32 noundef %3414, ptr noundef @.str.4)
  %3416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3417 = load i32, ptr %3416, align 4, !tbaa !5
  %3418 = call ptr @s2n_strerror_debug(i32 noundef %3417, ptr noundef @.str.4)
  %3419 = call ptr @__errno_location() #10
  %3420 = load i32, ptr %3419, align 4, !tbaa !5
  %3421 = call ptr @strerror(i32 noundef %3420) #9
  %3422 = call ptr @__errno_location() #10
  %3423 = load i32, ptr %3422, align 4, !tbaa !5
  %3424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3411, ptr noundef @.str.5, i32 noundef %3412, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3415, ptr noundef %3418, ptr noundef %3421, i32 noundef %3423) #9
  br label %3425

3425:                                             ; preds = %3408, %3391
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

3427:                                             ; preds = %3426
  call void @exit(i32 noundef 1) #11
  unreachable

3428:                                             ; No predecessors!
  br label %3429

3429:                                             ; preds = %3428
  br label %3430

3430:                                             ; preds = %3429, %3372
  br label %3431

3431:                                             ; preds = %3430
  br label %3432

3432:                                             ; preds = %3431
  br label %3433

3433:                                             ; preds = %3432
  %3434 = load i32, ptr @test_count, align 4, !tbaa !5
  %3435 = add nsw i32 %3434, 1
  store i32 %3435, ptr @test_count, align 4, !tbaa !5
  %3436 = load i8, ptr %10, align 1, !tbaa !15
  %3437 = zext i8 %3436 to i32
  %3438 = icmp eq i32 %3437, 22
  br i1 %3438, label %3492, label %3439

3439:                                             ; preds = %3433
  br label %3440

3440:                                             ; preds = %3439
  br label %3441

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

3448:                                             ; preds = %3441
  %3449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3450 = call i32 @fileno(ptr noundef %3449) #9
  %3451 = call i32 @isatty(i32 noundef %3450) #9
  %3452 = icmp ne i32 %3451, 0
  br i1 %3452, label %3453, label %3470

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

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

3487:                                             ; preds = %3470, %3453
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %3488

3488:                                             ; preds = %3487
  br label %3489

3489:                                             ; preds = %3488
  call void @exit(i32 noundef 1) #11
  unreachable

3490:                                             ; No predecessors!
  br label %3491

3491:                                             ; preds = %3490
  br label %3492

3492:                                             ; preds = %3491, %3433
  br label %3493

3493:                                             ; preds = %3492
  br label %3494

3494:                                             ; preds = %3493
  br label %3495

3495:                                             ; preds = %3494
  %3496 = load i32, ptr @test_count, align 4, !tbaa !5
  %3497 = add nsw i32 %3496, 1
  store i32 %3497, ptr @test_count, align 4, !tbaa !5
  %3498 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3499 = load i32, ptr %3498, align 4, !tbaa !18
  %3500 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3501 = load i32, ptr %3500, align 8, !tbaa !21
  %3502 = sub i32 %3499, %3501
  %3503 = icmp eq i32 %3502, 0
  br i1 %3503, label %3557, label %3504

3504:                                             ; preds = %3495
  br label %3505

3505:                                             ; preds = %3504
  br label %3506

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

3513:                                             ; preds = %3506
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = call i32 @fileno(ptr noundef %3514) #9
  %3516 = call i32 @isatty(i32 noundef %3515) #9
  %3517 = icmp ne i32 %3516, 0
  br i1 %3517, label %3518, label %3535

3518:                                             ; preds = %3513
  %3519 = load i32, ptr %80, align 4, !tbaa !5
  %3520 = call ptr @__errno_location() #10
  store i32 %3519, ptr %3520, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3524, ptr noundef @.str.4)
  %3526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror_debug(i32 noundef %3527, ptr noundef @.str.4)
  %3529 = call ptr @__errno_location() #10
  %3530 = load i32, ptr %3529, align 4, !tbaa !5
  %3531 = call ptr @strerror(i32 noundef %3530) #9
  %3532 = call ptr @__errno_location() #10
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3521, ptr noundef @.str.2, i32 noundef %3522, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3525, ptr noundef %3528, ptr noundef %3531, i32 noundef %3533) #9
  br label %3552

3535:                                             ; preds = %3513, %3506
  %3536 = load i32, ptr %80, align 4, !tbaa !5
  %3537 = call ptr @__errno_location() #10
  store i32 %3536, ptr %3537, align 4, !tbaa !5
  %3538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3539 = load i32, ptr @test_count, align 4, !tbaa !5
  %3540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3541 = load i32, ptr %3540, align 4, !tbaa !5
  %3542 = call ptr @s2n_strerror(i32 noundef %3541, ptr noundef @.str.4)
  %3543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3544 = load i32, ptr %3543, align 4, !tbaa !5
  %3545 = call ptr @s2n_strerror_debug(i32 noundef %3544, ptr noundef @.str.4)
  %3546 = call ptr @__errno_location() #10
  %3547 = load i32, ptr %3546, align 4, !tbaa !5
  %3548 = call ptr @strerror(i32 noundef %3547) #9
  %3549 = call ptr @__errno_location() #10
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  %3551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3538, ptr noundef @.str.5, i32 noundef %3539, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3542, ptr noundef %3545, ptr noundef %3548, i32 noundef %3550) #9
  br label %3552

3552:                                             ; preds = %3535, %3518
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %3553

3553:                                             ; preds = %3552
  br label %3554

3554:                                             ; preds = %3553
  call void @exit(i32 noundef 1) #11
  unreachable

3555:                                             ; No predecessors!
  br label %3556

3556:                                             ; preds = %3555
  br label %3557

3557:                                             ; preds = %3556, %3495
  br label %3558

3558:                                             ; preds = %3557
  br label %3559

3559:                                             ; preds = %3558
  br label %3560

3560:                                             ; preds = %3559
  %3561 = load i32, ptr @test_count, align 4, !tbaa !5
  %3562 = add nsw i32 %3561, 1
  store i32 %3562, ptr @test_count, align 4, !tbaa !5
  %3563 = call i32 @s2n_stuffer_free(ptr noundef %73)
  %3564 = icmp eq i32 %3563, -1
  br i1 %3564, label %3565, label %3618

3565:                                             ; preds = %3560
  br label %3566

3566:                                             ; preds = %3565
  br label %3567

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

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

3579:                                             ; preds = %3574
  %3580 = load i32, ptr %81, align 4, !tbaa !5
  %3581 = call ptr @__errno_location() #10
  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() #10
  %3591 = load i32, ptr %3590, align 4, !tbaa !5
  %3592 = call ptr @strerror(i32 noundef %3591) #9
  %3593 = call ptr @__errno_location() #10
  %3594 = load i32, ptr %3593, align 4, !tbaa !5
  %3595 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3582, ptr noundef @.str.2, i32 noundef %3583, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 148, ptr noundef %3586, ptr noundef %3589, ptr noundef %3592, i32 noundef %3594) #9
  br label %3613

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

3613:                                             ; preds = %3596, %3579
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %3614

3614:                                             ; preds = %3613
  br label %3615

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

3616:                                             ; No predecessors!
  br label %3617

3617:                                             ; preds = %3616
  br label %3618

3618:                                             ; preds = %3617, %3560
  br label %3619

3619:                                             ; preds = %3618
  br label %3620

3620:                                             ; preds = %3619
  call void @llvm.lifetime.end.p0(i64 40, ptr %73) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %82) #9
  call void @llvm.memset.p0.i64(ptr align 8 %82, i8 0, i64 40, i1 false)
  br label %3621

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

3626:                                             ; preds = %3621
  br label %3627

3627:                                             ; preds = %3626
  br label %3628

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

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

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

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

3674:                                             ; preds = %3657, %3640
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %3675

3675:                                             ; preds = %3674
  br label %3676

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

3677:                                             ; No predecessors!
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

3679:                                             ; preds = %3678, %3621
  br label %3680

3680:                                             ; preds = %3679
  br label %3681

3681:                                             ; preds = %3680
  br label %3682

3682:                                             ; preds = %3750, %3681
  %3683 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 2
  %3684 = load i32, ptr %3683, align 4, !tbaa !18
  %3685 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 1
  %3686 = load i32, ptr %3685, align 8, !tbaa !21
  %3687 = sub i32 %3684, %3686
  %3688 = icmp ult i32 %3687, 16385
  br i1 %3688, label %3689, label %3751

3689:                                             ; preds = %3682
  br label %3690

3690:                                             ; preds = %3689
  %3691 = load i32, ptr @test_count, align 4, !tbaa !5
  %3692 = add nsw i32 %3691, 1
  store i32 %3692, ptr @test_count, align 4, !tbaa !5
  %3693 = call i32 @s2n_stuffer_write_uint8(ptr noundef %82, i8 noundef zeroext 22)
  %3694 = icmp eq i32 %3693, -1
  br i1 %3694, label %3695, label %3748

3695:                                             ; preds = %3690
  br label %3696

3696:                                             ; preds = %3695
  br label %3697

3697:                                             ; preds = %3696
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #9
  %3698 = call ptr @__errno_location() #10
  %3699 = load i32, ptr %3698, align 4, !tbaa !5
  store i32 %3699, ptr %84, align 4, !tbaa !5
  %3700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3701 = call i32 @s2n_print_stacktrace(ptr noundef %3700)
  %3702 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3703 = trunc i8 %3702 to i1
  br i1 %3703, label %3704, label %3726

3704:                                             ; preds = %3697
  %3705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3706 = call i32 @fileno(ptr noundef %3705) #9
  %3707 = call i32 @isatty(i32 noundef %3706) #9
  %3708 = icmp ne i32 %3707, 0
  br i1 %3708, label %3709, label %3726

3709:                                             ; preds = %3704
  %3710 = load i32, ptr %84, align 4, !tbaa !5
  %3711 = call ptr @__errno_location() #10
  store i32 %3710, ptr %3711, align 4, !tbaa !5
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror(i32 noundef %3715, ptr noundef @.str.4)
  %3717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call ptr @s2n_strerror_debug(i32 noundef %3718, ptr noundef @.str.4)
  %3720 = call ptr @__errno_location() #10
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call ptr @strerror(i32 noundef %3721) #9
  %3723 = call ptr @__errno_location() #10
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3712, ptr noundef @.str.2, i32 noundef %3713, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 158, ptr noundef %3716, ptr noundef %3719, ptr noundef %3722, i32 noundef %3724) #9
  br label %3743

3726:                                             ; preds = %3704, %3697
  %3727 = load i32, ptr %84, align 4, !tbaa !5
  %3728 = call ptr @__errno_location() #10
  store i32 %3727, ptr %3728, align 4, !tbaa !5
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = load i32, ptr @test_count, align 4, !tbaa !5
  %3731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror(i32 noundef %3732, ptr noundef @.str.4)
  %3734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @s2n_strerror_debug(i32 noundef %3735, ptr noundef @.str.4)
  %3737 = call ptr @__errno_location() #10
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call ptr @strerror(i32 noundef %3738) #9
  %3740 = call ptr @__errno_location() #10
  %3741 = load i32, ptr %3740, align 4, !tbaa !5
  %3742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3729, ptr noundef @.str.5, i32 noundef %3730, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 158, ptr noundef %3733, ptr noundef %3736, ptr noundef %3739, i32 noundef %3741) #9
  br label %3743

3743:                                             ; preds = %3726, %3709
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %3744

3744:                                             ; preds = %3743
  br label %3745

3745:                                             ; preds = %3744
  call void @exit(i32 noundef 1) #11
  unreachable

3746:                                             ; No predecessors!
  br label %3747

3747:                                             ; preds = %3746
  br label %3748

3748:                                             ; preds = %3747, %3690
  br label %3749

3749:                                             ; preds = %3748
  br label %3750

3750:                                             ; preds = %3749
  br label %3682, !llvm.loop !24

3751:                                             ; preds = %3682
  br label %3752

3752:                                             ; preds = %3751
  %3753 = load i32, ptr @test_count, align 4, !tbaa !5
  %3754 = add nsw i32 %3753, 1
  store i32 %3754, ptr @test_count, align 4, !tbaa !5
  %3755 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 2
  %3756 = load i32, ptr %3755, align 4, !tbaa !18
  %3757 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 1
  %3758 = load i32, ptr %3757, align 8, !tbaa !21
  %3759 = sub i32 %3756, %3758
  %3760 = icmp eq i32 %3759, 16385
  br i1 %3760, label %3814, label %3761

3761:                                             ; preds = %3752
  br label %3762

3762:                                             ; preds = %3761
  br label %3763

3763:                                             ; preds = %3762
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %3764 = call ptr @__errno_location() #10
  %3765 = load i32, ptr %3764, align 4, !tbaa !5
  store i32 %3765, ptr %85, align 4, !tbaa !5
  %3766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3767 = call i32 @s2n_print_stacktrace(ptr noundef %3766)
  %3768 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3769 = trunc i8 %3768 to i1
  br i1 %3769, label %3770, label %3792

3770:                                             ; preds = %3763
  %3771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3772 = call i32 @fileno(ptr noundef %3771) #9
  %3773 = call i32 @isatty(i32 noundef %3772) #9
  %3774 = icmp ne i32 %3773, 0
  br i1 %3774, label %3775, label %3792

3775:                                             ; preds = %3770
  %3776 = load i32, ptr %85, align 4, !tbaa !5
  %3777 = call ptr @__errno_location() #10
  store i32 %3776, ptr %3777, align 4, !tbaa !5
  %3778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3779 = load i32, ptr @test_count, align 4, !tbaa !5
  %3780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3781 = load i32, ptr %3780, align 4, !tbaa !5
  %3782 = call ptr @s2n_strerror(i32 noundef %3781, ptr noundef @.str.4)
  %3783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3784 = load i32, ptr %3783, align 4, !tbaa !5
  %3785 = call ptr @s2n_strerror_debug(i32 noundef %3784, ptr noundef @.str.4)
  %3786 = call ptr @__errno_location() #10
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call ptr @strerror(i32 noundef %3787) #9
  %3789 = call ptr @__errno_location() #10
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3778, ptr noundef @.str.2, i32 noundef %3779, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3782, ptr noundef %3785, ptr noundef %3788, i32 noundef %3790) #9
  br label %3809

3792:                                             ; preds = %3770, %3763
  %3793 = load i32, ptr %85, align 4, !tbaa !5
  %3794 = call ptr @__errno_location() #10
  store i32 %3793, ptr %3794, align 4, !tbaa !5
  %3795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3796 = load i32, ptr @test_count, align 4, !tbaa !5
  %3797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3798 = load i32, ptr %3797, align 4, !tbaa !5
  %3799 = call ptr @s2n_strerror(i32 noundef %3798, ptr noundef @.str.4)
  %3800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3801 = load i32, ptr %3800, align 4, !tbaa !5
  %3802 = call ptr @s2n_strerror_debug(i32 noundef %3801, ptr noundef @.str.4)
  %3803 = call ptr @__errno_location() #10
  %3804 = load i32, ptr %3803, align 4, !tbaa !5
  %3805 = call ptr @strerror(i32 noundef %3804) #9
  %3806 = call ptr @__errno_location() #10
  %3807 = load i32, ptr %3806, align 4, !tbaa !5
  %3808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3795, ptr noundef @.str.5, i32 noundef %3796, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3799, ptr noundef %3802, ptr noundef %3805, i32 noundef %3807) #9
  br label %3809

3809:                                             ; preds = %3792, %3775
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %3810

3810:                                             ; preds = %3809
  br label %3811

3811:                                             ; preds = %3810
  call void @exit(i32 noundef 1) #11
  unreachable

3812:                                             ; No predecessors!
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813, %3752
  br label %3815

3815:                                             ; preds = %3814
  br label %3816

3816:                                             ; preds = %3815
  br label %3817

3817:                                             ; preds = %3816
  %3818 = load i32, ptr @test_count, align 4, !tbaa !5
  %3819 = add nsw i32 %3818, 1
  store i32 %3819, ptr @test_count, align 4, !tbaa !5
  %3820 = call i32 @s2n_tls13_parse_record_type(ptr noundef %82, ptr noundef %10)
  %3821 = icmp eq i32 %3820, -1
  br i1 %3821, label %3822, label %3875

3822:                                             ; preds = %3817
  br label %3823

3823:                                             ; preds = %3822
  br label %3824

3824:                                             ; preds = %3823
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %3825 = call ptr @__errno_location() #10
  %3826 = load i32, ptr %3825, align 4, !tbaa !5
  store i32 %3826, ptr %86, align 4, !tbaa !5
  %3827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3828 = call i32 @s2n_print_stacktrace(ptr noundef %3827)
  %3829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3830 = trunc i8 %3829 to i1
  br i1 %3830, label %3831, label %3853

3831:                                             ; preds = %3824
  %3832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3833 = call i32 @fileno(ptr noundef %3832) #9
  %3834 = call i32 @isatty(i32 noundef %3833) #9
  %3835 = icmp ne i32 %3834, 0
  br i1 %3835, label %3836, label %3853

3836:                                             ; preds = %3831
  %3837 = load i32, ptr %86, align 4, !tbaa !5
  %3838 = call ptr @__errno_location() #10
  store i32 %3837, ptr %3838, align 4, !tbaa !5
  %3839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3840 = load i32, ptr @test_count, align 4, !tbaa !5
  %3841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3842 = load i32, ptr %3841, align 4, !tbaa !5
  %3843 = call ptr @s2n_strerror(i32 noundef %3842, ptr noundef @.str.4)
  %3844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3845 = load i32, ptr %3844, align 4, !tbaa !5
  %3846 = call ptr @s2n_strerror_debug(i32 noundef %3845, ptr noundef @.str.4)
  %3847 = call ptr @__errno_location() #10
  %3848 = load i32, ptr %3847, align 4, !tbaa !5
  %3849 = call ptr @strerror(i32 noundef %3848) #9
  %3850 = call ptr @__errno_location() #10
  %3851 = load i32, ptr %3850, align 4, !tbaa !5
  %3852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3839, ptr noundef @.str.2, i32 noundef %3840, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3843, ptr noundef %3846, ptr noundef %3849, i32 noundef %3851) #9
  br label %3870

3853:                                             ; preds = %3831, %3824
  %3854 = load i32, ptr %86, align 4, !tbaa !5
  %3855 = call ptr @__errno_location() #10
  store i32 %3854, ptr %3855, align 4, !tbaa !5
  %3856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3857 = load i32, ptr @test_count, align 4, !tbaa !5
  %3858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3859 = load i32, ptr %3858, align 4, !tbaa !5
  %3860 = call ptr @s2n_strerror(i32 noundef %3859, ptr noundef @.str.4)
  %3861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3862 = load i32, ptr %3861, align 4, !tbaa !5
  %3863 = call ptr @s2n_strerror_debug(i32 noundef %3862, ptr noundef @.str.4)
  %3864 = call ptr @__errno_location() #10
  %3865 = load i32, ptr %3864, align 4, !tbaa !5
  %3866 = call ptr @strerror(i32 noundef %3865) #9
  %3867 = call ptr @__errno_location() #10
  %3868 = load i32, ptr %3867, align 4, !tbaa !5
  %3869 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3856, ptr noundef @.str.5, i32 noundef %3857, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 162, ptr noundef %3860, ptr noundef %3863, ptr noundef %3866, i32 noundef %3868) #9
  br label %3870

3870:                                             ; preds = %3853, %3836
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %3871

3871:                                             ; preds = %3870
  br label %3872

3872:                                             ; preds = %3871
  call void @exit(i32 noundef 1) #11
  unreachable

3873:                                             ; No predecessors!
  br label %3874

3874:                                             ; preds = %3873
  br label %3875

3875:                                             ; preds = %3874, %3817
  br label %3876

3876:                                             ; preds = %3875
  br label %3877

3877:                                             ; preds = %3876
  br label %3878

3878:                                             ; preds = %3877
  %3879 = load i32, ptr @test_count, align 4, !tbaa !5
  %3880 = add nsw i32 %3879, 1
  store i32 %3880, ptr @test_count, align 4, !tbaa !5
  %3881 = load i8, ptr %10, align 1, !tbaa !15
  %3882 = zext i8 %3881 to i32
  %3883 = icmp eq i32 %3882, 22
  br i1 %3883, label %3937, label %3884

3884:                                             ; preds = %3878
  br label %3885

3885:                                             ; preds = %3884
  br label %3886

3886:                                             ; preds = %3885
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  %3887 = call ptr @__errno_location() #10
  %3888 = load i32, ptr %3887, align 4, !tbaa !5
  store i32 %3888, ptr %87, align 4, !tbaa !5
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3890 = call i32 @s2n_print_stacktrace(ptr noundef %3889)
  %3891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3892 = trunc i8 %3891 to i1
  br i1 %3892, label %3893, label %3915

3893:                                             ; preds = %3886
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3895 = call i32 @fileno(ptr noundef %3894) #9
  %3896 = call i32 @isatty(i32 noundef %3895) #9
  %3897 = icmp ne i32 %3896, 0
  br i1 %3897, label %3898, label %3915

3898:                                             ; preds = %3893
  %3899 = load i32, ptr %87, align 4, !tbaa !5
  %3900 = call ptr @__errno_location() #10
  store i32 %3899, ptr %3900, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3904 = load i32, ptr %3903, align 4, !tbaa !5
  %3905 = call ptr @s2n_strerror(i32 noundef %3904, ptr noundef @.str.4)
  %3906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3907 = load i32, ptr %3906, align 4, !tbaa !5
  %3908 = call ptr @s2n_strerror_debug(i32 noundef %3907, ptr noundef @.str.4)
  %3909 = call ptr @__errno_location() #10
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @strerror(i32 noundef %3910) #9
  %3912 = call ptr @__errno_location() #10
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef @.str.2, i32 noundef %3902, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3905, ptr noundef %3908, ptr noundef %3911, i32 noundef %3913) #9
  br label %3932

3915:                                             ; preds = %3893, %3886
  %3916 = load i32, ptr %87, align 4, !tbaa !5
  %3917 = call ptr @__errno_location() #10
  store i32 %3916, ptr %3917, align 4, !tbaa !5
  %3918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3919 = load i32, ptr @test_count, align 4, !tbaa !5
  %3920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3921 = load i32, ptr %3920, align 4, !tbaa !5
  %3922 = call ptr @s2n_strerror(i32 noundef %3921, ptr noundef @.str.4)
  %3923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call ptr @s2n_strerror_debug(i32 noundef %3924, ptr noundef @.str.4)
  %3926 = call ptr @__errno_location() #10
  %3927 = load i32, ptr %3926, align 4, !tbaa !5
  %3928 = call ptr @strerror(i32 noundef %3927) #9
  %3929 = call ptr @__errno_location() #10
  %3930 = load i32, ptr %3929, align 4, !tbaa !5
  %3931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3918, ptr noundef @.str.5, i32 noundef %3919, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 163, ptr noundef %3922, ptr noundef %3925, ptr noundef %3928, i32 noundef %3930) #9
  br label %3932

3932:                                             ; preds = %3915, %3898
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

3934:                                             ; preds = %3933
  call void @exit(i32 noundef 1) #11
  unreachable

3935:                                             ; No predecessors!
  br label %3936

3936:                                             ; preds = %3935
  br label %3937

3937:                                             ; preds = %3936, %3878
  br label %3938

3938:                                             ; preds = %3937
  br label %3939

3939:                                             ; preds = %3938
  br label %3940

3940:                                             ; preds = %3939
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = add nsw i32 %3941, 1
  store i32 %3942, ptr @test_count, align 4, !tbaa !5
  %3943 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 2
  %3944 = load i32, ptr %3943, align 4, !tbaa !18
  %3945 = getelementptr inbounds %struct.s2n_stuffer, ptr %82, i32 0, i32 1
  %3946 = load i32, ptr %3945, align 8, !tbaa !21
  %3947 = sub i32 %3944, %3946
  %3948 = icmp eq i32 %3947, 16384
  br i1 %3948, label %4002, label %3949

3949:                                             ; preds = %3940
  br label %3950

3950:                                             ; preds = %3949
  br label %3951

3951:                                             ; preds = %3950
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %3952 = call ptr @__errno_location() #10
  %3953 = load i32, ptr %3952, align 4, !tbaa !5
  store i32 %3953, ptr %88, align 4, !tbaa !5
  %3954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3955 = call i32 @s2n_print_stacktrace(ptr noundef %3954)
  %3956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3957 = trunc i8 %3956 to i1
  br i1 %3957, label %3958, label %3980

3958:                                             ; preds = %3951
  %3959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3960 = call i32 @fileno(ptr noundef %3959) #9
  %3961 = call i32 @isatty(i32 noundef %3960) #9
  %3962 = icmp ne i32 %3961, 0
  br i1 %3962, label %3963, label %3980

3963:                                             ; preds = %3958
  %3964 = load i32, ptr %88, align 4, !tbaa !5
  %3965 = call ptr @__errno_location() #10
  store i32 %3964, ptr %3965, align 4, !tbaa !5
  %3966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3967 = load i32, ptr @test_count, align 4, !tbaa !5
  %3968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3969 = load i32, ptr %3968, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror(i32 noundef %3969, ptr noundef @.str.4)
  %3971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  %3973 = call ptr @s2n_strerror_debug(i32 noundef %3972, ptr noundef @.str.4)
  %3974 = call ptr @__errno_location() #10
  %3975 = load i32, ptr %3974, align 4, !tbaa !5
  %3976 = call ptr @strerror(i32 noundef %3975) #9
  %3977 = call ptr @__errno_location() #10
  %3978 = load i32, ptr %3977, align 4, !tbaa !5
  %3979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3966, ptr noundef @.str.2, i32 noundef %3967, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3970, ptr noundef %3973, ptr noundef %3976, i32 noundef %3978) #9
  br label %3997

3980:                                             ; preds = %3958, %3951
  %3981 = load i32, ptr %88, align 4, !tbaa !5
  %3982 = call ptr @__errno_location() #10
  store i32 %3981, ptr %3982, align 4, !tbaa !5
  %3983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3984 = load i32, ptr @test_count, align 4, !tbaa !5
  %3985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3986 = load i32, ptr %3985, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror(i32 noundef %3986, ptr noundef @.str.4)
  %3988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  %3990 = call ptr @s2n_strerror_debug(i32 noundef %3989, ptr noundef @.str.4)
  %3991 = call ptr @__errno_location() #10
  %3992 = load i32, ptr %3991, align 4, !tbaa !5
  %3993 = call ptr @strerror(i32 noundef %3992) #9
  %3994 = call ptr @__errno_location() #10
  %3995 = load i32, ptr %3994, align 4, !tbaa !5
  %3996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3983, ptr noundef @.str.5, i32 noundef %3984, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3987, ptr noundef %3990, ptr noundef %3993, i32 noundef %3995) #9
  br label %3997

3997:                                             ; preds = %3980, %3963
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %3998

3998:                                             ; preds = %3997
  br label %3999

3999:                                             ; preds = %3998
  call void @exit(i32 noundef 1) #11
  unreachable

4000:                                             ; No predecessors!
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

4002:                                             ; preds = %4001, %3940
  br label %4003

4003:                                             ; preds = %4002
  br label %4004

4004:                                             ; preds = %4003
  br label %4005

4005:                                             ; preds = %4004
  %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_stuffer_free(ptr noundef %82)
  %4009 = icmp eq i32 %4008, -1
  br i1 %4009, label %4010, label %4063

4010:                                             ; preds = %4005
  br label %4011

4011:                                             ; preds = %4010
  br label %4012

4012:                                             ; preds = %4011
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %4013 = call ptr @__errno_location() #10
  %4014 = load i32, ptr %4013, align 4, !tbaa !5
  store i32 %4014, ptr %89, align 4, !tbaa !5
  %4015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4016 = call i32 @s2n_print_stacktrace(ptr noundef %4015)
  %4017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4018 = trunc i8 %4017 to i1
  br i1 %4018, label %4019, label %4041

4019:                                             ; preds = %4012
  %4020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4021 = call i32 @fileno(ptr noundef %4020) #9
  %4022 = call i32 @isatty(i32 noundef %4021) #9
  %4023 = icmp ne i32 %4022, 0
  br i1 %4023, label %4024, label %4041

4024:                                             ; preds = %4019
  %4025 = load i32, ptr %89, align 4, !tbaa !5
  %4026 = call ptr @__errno_location() #10
  store i32 %4025, ptr %4026, align 4, !tbaa !5
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4028 = load i32, ptr @test_count, align 4, !tbaa !5
  %4029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call ptr @s2n_strerror(i32 noundef %4030, ptr noundef @.str.4)
  %4032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4033 = load i32, ptr %4032, align 4, !tbaa !5
  %4034 = call ptr @s2n_strerror_debug(i32 noundef %4033, ptr noundef @.str.4)
  %4035 = call ptr @__errno_location() #10
  %4036 = load i32, ptr %4035, align 4, !tbaa !5
  %4037 = call ptr @strerror(i32 noundef %4036) #9
  %4038 = call ptr @__errno_location() #10
  %4039 = load i32, ptr %4038, align 4, !tbaa !5
  %4040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4027, ptr noundef @.str.2, i32 noundef %4028, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4031, ptr noundef %4034, ptr noundef %4037, i32 noundef %4039) #9
  br label %4058

4041:                                             ; preds = %4019, %4012
  %4042 = load i32, ptr %89, align 4, !tbaa !5
  %4043 = call ptr @__errno_location() #10
  store i32 %4042, ptr %4043, align 4, !tbaa !5
  %4044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4045 = load i32, ptr @test_count, align 4, !tbaa !5
  %4046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4047 = load i32, ptr %4046, align 4, !tbaa !5
  %4048 = call ptr @s2n_strerror(i32 noundef %4047, ptr noundef @.str.4)
  %4049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4050 = load i32, ptr %4049, align 4, !tbaa !5
  %4051 = call ptr @s2n_strerror_debug(i32 noundef %4050, ptr noundef @.str.4)
  %4052 = call ptr @__errno_location() #10
  %4053 = load i32, ptr %4052, align 4, !tbaa !5
  %4054 = call ptr @strerror(i32 noundef %4053) #9
  %4055 = call ptr @__errno_location() #10
  %4056 = load i32, ptr %4055, align 4, !tbaa !5
  %4057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4044, ptr noundef @.str.5, i32 noundef %4045, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 167, ptr noundef %4048, ptr noundef %4051, ptr noundef %4054, i32 noundef %4056) #9
  br label %4058

4058:                                             ; preds = %4041, %4024
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %4059

4059:                                             ; preds = %4058
  br label %4060

4060:                                             ; preds = %4059
  call void @exit(i32 noundef 1) #11
  unreachable

4061:                                             ; No predecessors!
  br label %4062

4062:                                             ; preds = %4061
  br label %4063

4063:                                             ; preds = %4062, %4005
  br label %4064

4064:                                             ; preds = %4063
  br label %4065

4065:                                             ; preds = %4064
  call void @llvm.lifetime.end.p0(i64 40, ptr %82) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %90) #9
  store i64 16, ptr %90, align 8, !tbaa !25
  call void @llvm.lifetime.start.p0(i64 40, ptr %91) #9
  call void @llvm.memset.p0.i64(ptr align 8 %91, i8 0, i64 40, i1 false)
  br label %4066

4066:                                             ; preds = %4065
  %4067 = load i32, ptr @test_count, align 4, !tbaa !5
  %4068 = add nsw i32 %4067, 1
  store i32 %4068, ptr @test_count, align 4, !tbaa !5
  %4069 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %91, i32 noundef 1024)
  %4070 = icmp eq i32 %4069, -1
  br i1 %4070, label %4071, label %4124

4071:                                             ; preds = %4066
  br label %4072

4072:                                             ; preds = %4071
  br label %4073

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

4080:                                             ; preds = %4073
  %4081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4082 = call i32 @fileno(ptr noundef %4081) #9
  %4083 = call i32 @isatty(i32 noundef %4082) #9
  %4084 = icmp ne i32 %4083, 0
  br i1 %4084, label %4085, label %4102

4085:                                             ; preds = %4080
  %4086 = load i32, ptr %92, align 4, !tbaa !5
  %4087 = call ptr @__errno_location() #10
  store i32 %4086, ptr %4087, align 4, !tbaa !5
  %4088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4089 = load i32, ptr @test_count, align 4, !tbaa !5
  %4090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  %4092 = call ptr @s2n_strerror(i32 noundef %4091, ptr noundef @.str.4)
  %4093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4094 = load i32, ptr %4093, align 4, !tbaa !5
  %4095 = call ptr @s2n_strerror_debug(i32 noundef %4094, ptr noundef @.str.4)
  %4096 = call ptr @__errno_location() #10
  %4097 = load i32, ptr %4096, align 4, !tbaa !5
  %4098 = call ptr @strerror(i32 noundef %4097) #9
  %4099 = call ptr @__errno_location() #10
  %4100 = load i32, ptr %4099, align 4, !tbaa !5
  %4101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4088, ptr noundef @.str.2, i32 noundef %4089, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4092, ptr noundef %4095, ptr noundef %4098, i32 noundef %4100) #9
  br label %4119

4102:                                             ; preds = %4080, %4073
  %4103 = load i32, ptr %92, align 4, !tbaa !5
  %4104 = call ptr @__errno_location() #10
  store i32 %4103, ptr %4104, align 4, !tbaa !5
  %4105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4106 = load i32, ptr @test_count, align 4, !tbaa !5
  %4107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4108 = load i32, ptr %4107, align 4, !tbaa !5
  %4109 = call ptr @s2n_strerror(i32 noundef %4108, ptr noundef @.str.4)
  %4110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4111 = load i32, ptr %4110, align 4, !tbaa !5
  %4112 = call ptr @s2n_strerror_debug(i32 noundef %4111, ptr noundef @.str.4)
  %4113 = call ptr @__errno_location() #10
  %4114 = load i32, ptr %4113, align 4, !tbaa !5
  %4115 = call ptr @strerror(i32 noundef %4114) #9
  %4116 = call ptr @__errno_location() #10
  %4117 = load i32, ptr %4116, align 4, !tbaa !5
  %4118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4105, ptr noundef @.str.5, i32 noundef %4106, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 180, ptr noundef %4109, ptr noundef %4112, ptr noundef %4115, i32 noundef %4117) #9
  br label %4119

4119:                                             ; preds = %4102, %4085
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4120

4120:                                             ; preds = %4119
  br label %4121

4121:                                             ; preds = %4120
  call void @exit(i32 noundef 1) #11
  unreachable

4122:                                             ; No predecessors!
  br label %4123

4123:                                             ; preds = %4122
  br label %4124

4124:                                             ; preds = %4123, %4066
  br label %4125

4125:                                             ; preds = %4124
  br label %4126

4126:                                             ; preds = %4125
  br label %4127

4127:                                             ; preds = %4126
  %4128 = load i32, ptr @test_count, align 4, !tbaa !5
  %4129 = add nsw i32 %4128, 1
  store i32 %4129, ptr @test_count, align 4, !tbaa !5
  %4130 = call i32 @s2n_stuffer_write_uint8(ptr noundef %91, i8 noundef zeroext 22)
  %4131 = icmp eq i32 %4130, -1
  br i1 %4131, label %4132, label %4185

4132:                                             ; preds = %4127
  br label %4133

4133:                                             ; preds = %4132
  br label %4134

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

4141:                                             ; preds = %4134
  %4142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4143 = call i32 @fileno(ptr noundef %4142) #9
  %4144 = call i32 @isatty(i32 noundef %4143) #9
  %4145 = icmp ne i32 %4144, 0
  br i1 %4145, label %4146, label %4163

4146:                                             ; preds = %4141
  %4147 = load i32, ptr %93, align 4, !tbaa !5
  %4148 = call ptr @__errno_location() #10
  store i32 %4147, ptr %4148, align 4, !tbaa !5
  %4149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4150 = load i32, ptr @test_count, align 4, !tbaa !5
  %4151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4152 = load i32, ptr %4151, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror(i32 noundef %4152, ptr noundef @.str.4)
  %4154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4155 = load i32, ptr %4154, align 4, !tbaa !5
  %4156 = call ptr @s2n_strerror_debug(i32 noundef %4155, ptr noundef @.str.4)
  %4157 = call ptr @__errno_location() #10
  %4158 = load i32, ptr %4157, align 4, !tbaa !5
  %4159 = call ptr @strerror(i32 noundef %4158) #9
  %4160 = call ptr @__errno_location() #10
  %4161 = load i32, ptr %4160, align 4, !tbaa !5
  %4162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4149, ptr noundef @.str.2, i32 noundef %4150, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 182, ptr noundef %4153, ptr noundef %4156, ptr noundef %4159, i32 noundef %4161) #9
  br label %4180

4163:                                             ; preds = %4141, %4134
  %4164 = load i32, ptr %93, align 4, !tbaa !5
  %4165 = call ptr @__errno_location() #10
  store i32 %4164, ptr %4165, align 4, !tbaa !5
  %4166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4167 = load i32, ptr @test_count, align 4, !tbaa !5
  %4168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4169 = load i32, ptr %4168, align 4, !tbaa !5
  %4170 = call ptr @s2n_strerror(i32 noundef %4169, ptr noundef @.str.4)
  %4171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  %4173 = call ptr @s2n_strerror_debug(i32 noundef %4172, ptr noundef @.str.4)
  %4174 = call ptr @__errno_location() #10
  %4175 = load i32, ptr %4174, align 4, !tbaa !5
  %4176 = call ptr @strerror(i32 noundef %4175) #9
  %4177 = call ptr @__errno_location() #10
  %4178 = load i32, ptr %4177, align 4, !tbaa !5
  %4179 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4166, ptr noundef @.str.5, i32 noundef %4167, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 182, ptr noundef %4170, ptr noundef %4173, ptr noundef %4176, i32 noundef %4178) #9
  br label %4180

4180:                                             ; preds = %4163, %4146
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %4181

4181:                                             ; preds = %4180
  br label %4182

4182:                                             ; preds = %4181
  call void @exit(i32 noundef 1) #11
  unreachable

4183:                                             ; No predecessors!
  br label %4184

4184:                                             ; preds = %4183
  br label %4185

4185:                                             ; preds = %4184, %4127
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

4188:                                             ; preds = %4257, %4187
  %4189 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 2
  %4190 = load i32, ptr %4189, align 4, !tbaa !18
  %4191 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 1
  %4192 = load i32, ptr %4191, align 8, !tbaa !21
  %4193 = sub i32 %4190, %4192
  %4194 = zext i32 %4193 to i64
  %4195 = icmp ult i64 %4194, 16401
  br i1 %4195, label %4196, label %4258

4196:                                             ; preds = %4188
  br label %4197

4197:                                             ; preds = %4196
  %4198 = load i32, ptr @test_count, align 4, !tbaa !5
  %4199 = add nsw i32 %4198, 1
  store i32 %4199, ptr @test_count, align 4, !tbaa !5
  %4200 = call i32 @s2n_stuffer_write_uint8(ptr noundef %91, i8 noundef zeroext 0)
  %4201 = icmp eq i32 %4200, -1
  br i1 %4201, label %4202, label %4255

4202:                                             ; preds = %4197
  br label %4203

4203:                                             ; preds = %4202
  br label %4204

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

4211:                                             ; preds = %4204
  %4212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4213 = call i32 @fileno(ptr noundef %4212) #9
  %4214 = call i32 @isatty(i32 noundef %4213) #9
  %4215 = icmp ne i32 %4214, 0
  br i1 %4215, label %4216, label %4233

4216:                                             ; preds = %4211
  %4217 = load i32, ptr %94, align 4, !tbaa !5
  %4218 = call ptr @__errno_location() #10
  store i32 %4217, ptr %4218, align 4, !tbaa !5
  %4219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4220 = load i32, ptr @test_count, align 4, !tbaa !5
  %4221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4222 = load i32, ptr %4221, align 4, !tbaa !5
  %4223 = call ptr @s2n_strerror(i32 noundef %4222, ptr noundef @.str.4)
  %4224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4225 = load i32, ptr %4224, align 4, !tbaa !5
  %4226 = call ptr @s2n_strerror_debug(i32 noundef %4225, ptr noundef @.str.4)
  %4227 = call ptr @__errno_location() #10
  %4228 = load i32, ptr %4227, align 4, !tbaa !5
  %4229 = call ptr @strerror(i32 noundef %4228) #9
  %4230 = call ptr @__errno_location() #10
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4219, ptr noundef @.str.2, i32 noundef %4220, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4223, ptr noundef %4226, ptr noundef %4229, i32 noundef %4231) #9
  br label %4250

4233:                                             ; preds = %4211, %4204
  %4234 = load i32, ptr %94, align 4, !tbaa !5
  %4235 = call ptr @__errno_location() #10
  store i32 %4234, ptr %4235, align 4, !tbaa !5
  %4236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4237 = load i32, ptr @test_count, align 4, !tbaa !5
  %4238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  %4240 = call ptr @s2n_strerror(i32 noundef %4239, ptr noundef @.str.4)
  %4241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4242 = load i32, ptr %4241, align 4, !tbaa !5
  %4243 = call ptr @s2n_strerror_debug(i32 noundef %4242, ptr noundef @.str.4)
  %4244 = call ptr @__errno_location() #10
  %4245 = load i32, ptr %4244, align 4, !tbaa !5
  %4246 = call ptr @strerror(i32 noundef %4245) #9
  %4247 = call ptr @__errno_location() #10
  %4248 = load i32, ptr %4247, align 4, !tbaa !5
  %4249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4236, ptr noundef @.str.5, i32 noundef %4237, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4240, ptr noundef %4243, ptr noundef %4246, i32 noundef %4248) #9
  br label %4250

4250:                                             ; preds = %4233, %4216
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  call void @exit(i32 noundef 1) #11
  unreachable

4253:                                             ; No predecessors!
  br label %4254

4254:                                             ; preds = %4253
  br label %4255

4255:                                             ; preds = %4254, %4197
  br label %4256

4256:                                             ; preds = %4255
  br label %4257

4257:                                             ; preds = %4256
  br label %4188, !llvm.loop !27

4258:                                             ; preds = %4188
  br label %4259

4259:                                             ; preds = %4258
  %4260 = load i32, ptr @test_count, align 4, !tbaa !5
  %4261 = add nsw i32 %4260, 1
  store i32 %4261, ptr @test_count, align 4, !tbaa !5
  %4262 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 2
  %4263 = load i32, ptr %4262, align 4, !tbaa !18
  %4264 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 1
  %4265 = load i32, ptr %4264, align 8, !tbaa !21
  %4266 = sub i32 %4263, %4265
  %4267 = zext i32 %4266 to i64
  %4268 = icmp eq i64 %4267, 16401
  br i1 %4268, label %4322, label %4269

4269:                                             ; preds = %4259
  br label %4270

4270:                                             ; preds = %4269
  br label %4271

4271:                                             ; preds = %4270
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %4272 = call ptr @__errno_location() #10
  %4273 = load i32, ptr %4272, align 4, !tbaa !5
  store i32 %4273, ptr %95, align 4, !tbaa !5
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = call i32 @s2n_print_stacktrace(ptr noundef %4274)
  %4276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4277 = trunc i8 %4276 to i1
  br i1 %4277, label %4278, label %4300

4278:                                             ; preds = %4271
  %4279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4280 = call i32 @fileno(ptr noundef %4279) #9
  %4281 = call i32 @isatty(i32 noundef %4280) #9
  %4282 = icmp ne i32 %4281, 0
  br i1 %4282, label %4283, label %4300

4283:                                             ; preds = %4278
  %4284 = load i32, ptr %95, align 4, !tbaa !5
  %4285 = call ptr @__errno_location() #10
  store i32 %4284, ptr %4285, align 4, !tbaa !5
  %4286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4287 = load i32, ptr @test_count, align 4, !tbaa !5
  %4288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4289 = load i32, ptr %4288, align 4, !tbaa !5
  %4290 = call ptr @s2n_strerror(i32 noundef %4289, ptr noundef @.str.4)
  %4291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4292 = load i32, ptr %4291, align 4, !tbaa !5
  %4293 = call ptr @s2n_strerror_debug(i32 noundef %4292, ptr noundef @.str.4)
  %4294 = call ptr @__errno_location() #10
  %4295 = load i32, ptr %4294, align 4, !tbaa !5
  %4296 = call ptr @strerror(i32 noundef %4295) #9
  %4297 = call ptr @__errno_location() #10
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4286, ptr noundef @.str.2, i32 noundef %4287, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4290, ptr noundef %4293, ptr noundef %4296, i32 noundef %4298) #9
  br label %4317

4300:                                             ; preds = %4278, %4271
  %4301 = load i32, ptr %95, align 4, !tbaa !5
  %4302 = call ptr @__errno_location() #10
  store i32 %4301, ptr %4302, align 4, !tbaa !5
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4304 = load i32, ptr @test_count, align 4, !tbaa !5
  %4305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4306 = load i32, ptr %4305, align 4, !tbaa !5
  %4307 = call ptr @s2n_strerror(i32 noundef %4306, ptr noundef @.str.4)
  %4308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4309 = load i32, ptr %4308, align 4, !tbaa !5
  %4310 = call ptr @s2n_strerror_debug(i32 noundef %4309, ptr noundef @.str.4)
  %4311 = call ptr @__errno_location() #10
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call ptr @strerror(i32 noundef %4312) #9
  %4314 = call ptr @__errno_location() #10
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4303, ptr noundef @.str.5, i32 noundef %4304, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 187, ptr noundef %4307, ptr noundef %4310, ptr noundef %4313, i32 noundef %4315) #9
  br label %4317

4317:                                             ; preds = %4300, %4283
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

4319:                                             ; preds = %4318
  call void @exit(i32 noundef 1) #11
  unreachable

4320:                                             ; No predecessors!
  br label %4321

4321:                                             ; preds = %4320
  br label %4322

4322:                                             ; preds = %4321, %4259
  br label %4323

4323:                                             ; preds = %4322
  br label %4324

4324:                                             ; preds = %4323
  br label %4325

4325:                                             ; preds = %4324
  %4326 = load i32, ptr @test_count, align 4, !tbaa !5
  %4327 = add nsw i32 %4326, 1
  store i32 %4327, ptr @test_count, align 4, !tbaa !5
  %4328 = call i32 @s2n_tls13_parse_record_type(ptr noundef %91, ptr noundef %10)
  %4329 = icmp eq i32 %4328, -1
  br i1 %4329, label %4330, label %4383

4330:                                             ; preds = %4325
  br label %4331

4331:                                             ; preds = %4330
  br label %4332

4332:                                             ; preds = %4331
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  %4333 = call ptr @__errno_location() #10
  %4334 = load i32, ptr %4333, align 4, !tbaa !5
  store i32 %4334, ptr %96, align 4, !tbaa !5
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = call i32 @s2n_print_stacktrace(ptr noundef %4335)
  %4337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4338 = trunc i8 %4337 to i1
  br i1 %4338, label %4339, label %4361

4339:                                             ; preds = %4332
  %4340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4341 = call i32 @fileno(ptr noundef %4340) #9
  %4342 = call i32 @isatty(i32 noundef %4341) #9
  %4343 = icmp ne i32 %4342, 0
  br i1 %4343, label %4344, label %4361

4344:                                             ; preds = %4339
  %4345 = load i32, ptr %96, align 4, !tbaa !5
  %4346 = call ptr @__errno_location() #10
  store i32 %4345, ptr %4346, align 4, !tbaa !5
  %4347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4348 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4350, ptr noundef @.str.4)
  %4352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4353 = load i32, ptr %4352, align 4, !tbaa !5
  %4354 = call ptr @s2n_strerror_debug(i32 noundef %4353, ptr noundef @.str.4)
  %4355 = call ptr @__errno_location() #10
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call ptr @strerror(i32 noundef %4356) #9
  %4358 = call ptr @__errno_location() #10
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4347, ptr noundef @.str.2, i32 noundef %4348, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 188, ptr noundef %4351, ptr noundef %4354, ptr noundef %4357, i32 noundef %4359) #9
  br label %4378

4361:                                             ; preds = %4339, %4332
  %4362 = load i32, ptr %96, align 4, !tbaa !5
  %4363 = call ptr @__errno_location() #10
  store i32 %4362, ptr %4363, align 4, !tbaa !5
  %4364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4365 = load i32, ptr @test_count, align 4, !tbaa !5
  %4366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4367 = load i32, ptr %4366, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror(i32 noundef %4367, ptr noundef @.str.4)
  %4369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4370 = load i32, ptr %4369, align 4, !tbaa !5
  %4371 = call ptr @s2n_strerror_debug(i32 noundef %4370, ptr noundef @.str.4)
  %4372 = call ptr @__errno_location() #10
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call ptr @strerror(i32 noundef %4373) #9
  %4375 = call ptr @__errno_location() #10
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4364, ptr noundef @.str.5, i32 noundef %4365, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 188, ptr noundef %4368, ptr noundef %4371, ptr noundef %4374, i32 noundef %4376) #9
  br label %4378

4378:                                             ; preds = %4361, %4344
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %4379

4379:                                             ; preds = %4378
  br label %4380

4380:                                             ; preds = %4379
  call void @exit(i32 noundef 1) #11
  unreachable

4381:                                             ; No predecessors!
  br label %4382

4382:                                             ; preds = %4381
  br label %4383

4383:                                             ; preds = %4382, %4325
  br label %4384

4384:                                             ; preds = %4383
  br label %4385

4385:                                             ; preds = %4384
  br label %4386

4386:                                             ; preds = %4385
  %4387 = load i32, ptr @test_count, align 4, !tbaa !5
  %4388 = add nsw i32 %4387, 1
  store i32 %4388, ptr @test_count, align 4, !tbaa !5
  %4389 = load i8, ptr %10, align 1, !tbaa !15
  %4390 = zext i8 %4389 to i32
  %4391 = icmp eq i32 %4390, 22
  br i1 %4391, label %4445, label %4392

4392:                                             ; preds = %4386
  br label %4393

4393:                                             ; preds = %4392
  br label %4394

4394:                                             ; preds = %4393
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  %4395 = call ptr @__errno_location() #10
  %4396 = load i32, ptr %4395, align 4, !tbaa !5
  store i32 %4396, ptr %97, align 4, !tbaa !5
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @s2n_print_stacktrace(ptr noundef %4397)
  %4399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4400 = trunc i8 %4399 to i1
  br i1 %4400, label %4401, label %4423

4401:                                             ; preds = %4394
  %4402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4403 = call i32 @fileno(ptr noundef %4402) #9
  %4404 = call i32 @isatty(i32 noundef %4403) #9
  %4405 = icmp ne i32 %4404, 0
  br i1 %4405, label %4406, label %4423

4406:                                             ; preds = %4401
  %4407 = load i32, ptr %97, align 4, !tbaa !5
  %4408 = call ptr @__errno_location() #10
  store i32 %4407, ptr %4408, align 4, !tbaa !5
  %4409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4410 = load i32, ptr @test_count, align 4, !tbaa !5
  %4411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4412 = load i32, ptr %4411, align 4, !tbaa !5
  %4413 = call ptr @s2n_strerror(i32 noundef %4412, ptr noundef @.str.4)
  %4414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4415 = load i32, ptr %4414, align 4, !tbaa !5
  %4416 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef @.str.4)
  %4417 = call ptr @__errno_location() #10
  %4418 = load i32, ptr %4417, align 4, !tbaa !5
  %4419 = call ptr @strerror(i32 noundef %4418) #9
  %4420 = call ptr @__errno_location() #10
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  %4422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4409, ptr noundef @.str.2, i32 noundef %4410, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4413, ptr noundef %4416, ptr noundef %4419, i32 noundef %4421) #9
  br label %4440

4423:                                             ; preds = %4401, %4394
  %4424 = load i32, ptr %97, align 4, !tbaa !5
  %4425 = call ptr @__errno_location() #10
  store i32 %4424, ptr %4425, align 4, !tbaa !5
  %4426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4427 = load i32, ptr @test_count, align 4, !tbaa !5
  %4428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4429 = load i32, ptr %4428, align 4, !tbaa !5
  %4430 = call ptr @s2n_strerror(i32 noundef %4429, ptr noundef @.str.4)
  %4431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4432 = load i32, ptr %4431, align 4, !tbaa !5
  %4433 = call ptr @s2n_strerror_debug(i32 noundef %4432, ptr noundef @.str.4)
  %4434 = call ptr @__errno_location() #10
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  %4436 = call ptr @strerror(i32 noundef %4435) #9
  %4437 = call ptr @__errno_location() #10
  %4438 = load i32, ptr %4437, align 4, !tbaa !5
  %4439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4426, ptr noundef @.str.5, i32 noundef %4427, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 189, ptr noundef %4430, ptr noundef %4433, ptr noundef %4436, i32 noundef %4438) #9
  br label %4440

4440:                                             ; preds = %4423, %4406
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4441

4441:                                             ; preds = %4440
  br label %4442

4442:                                             ; preds = %4441
  call void @exit(i32 noundef 1) #11
  unreachable

4443:                                             ; No predecessors!
  br label %4444

4444:                                             ; preds = %4443
  br label %4445

4445:                                             ; preds = %4444, %4386
  br label %4446

4446:                                             ; preds = %4445
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

4448:                                             ; preds = %4447
  %4449 = load i32, ptr @test_count, align 4, !tbaa !5
  %4450 = add nsw i32 %4449, 1
  store i32 %4450, ptr @test_count, align 4, !tbaa !5
  %4451 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 2
  %4452 = load i32, ptr %4451, align 4, !tbaa !18
  %4453 = getelementptr inbounds %struct.s2n_stuffer, ptr %91, i32 0, i32 1
  %4454 = load i32, ptr %4453, align 8, !tbaa !21
  %4455 = sub i32 %4452, %4454
  %4456 = icmp eq i32 %4455, 0
  br i1 %4456, label %4510, label %4457

4457:                                             ; preds = %4448
  br label %4458

4458:                                             ; preds = %4457
  br label %4459

4459:                                             ; preds = %4458
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #9
  %4460 = call ptr @__errno_location() #10
  %4461 = load i32, ptr %4460, align 4, !tbaa !5
  store i32 %4461, ptr %98, align 4, !tbaa !5
  %4462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4463 = call i32 @s2n_print_stacktrace(ptr noundef %4462)
  %4464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4465 = trunc i8 %4464 to i1
  br i1 %4465, label %4466, label %4488

4466:                                             ; preds = %4459
  %4467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4468 = call i32 @fileno(ptr noundef %4467) #9
  %4469 = call i32 @isatty(i32 noundef %4468) #9
  %4470 = icmp ne i32 %4469, 0
  br i1 %4470, label %4471, label %4488

4471:                                             ; preds = %4466
  %4472 = load i32, ptr %98, align 4, !tbaa !5
  %4473 = call ptr @__errno_location() #10
  store i32 %4472, ptr %4473, align 4, !tbaa !5
  %4474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4475 = load i32, ptr @test_count, align 4, !tbaa !5
  %4476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4477 = load i32, ptr %4476, align 4, !tbaa !5
  %4478 = call ptr @s2n_strerror(i32 noundef %4477, ptr noundef @.str.4)
  %4479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror_debug(i32 noundef %4480, ptr noundef @.str.4)
  %4482 = call ptr @__errno_location() #10
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @strerror(i32 noundef %4483) #9
  %4485 = call ptr @__errno_location() #10
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4474, ptr noundef @.str.2, i32 noundef %4475, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 191, ptr noundef %4478, ptr noundef %4481, ptr noundef %4484, i32 noundef %4486) #9
  br label %4505

4488:                                             ; preds = %4466, %4459
  %4489 = load i32, ptr %98, align 4, !tbaa !5
  %4490 = call ptr @__errno_location() #10
  store i32 %4489, ptr %4490, align 4, !tbaa !5
  %4491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4492 = load i32, ptr @test_count, align 4, !tbaa !5
  %4493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4494 = load i32, ptr %4493, align 4, !tbaa !5
  %4495 = call ptr @s2n_strerror(i32 noundef %4494, ptr noundef @.str.4)
  %4496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4497 = load i32, ptr %4496, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror_debug(i32 noundef %4497, ptr noundef @.str.4)
  %4499 = call ptr @__errno_location() #10
  %4500 = load i32, ptr %4499, align 4, !tbaa !5
  %4501 = call ptr @strerror(i32 noundef %4500) #9
  %4502 = call ptr @__errno_location() #10
  %4503 = load i32, ptr %4502, align 4, !tbaa !5
  %4504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4491, ptr noundef @.str.5, i32 noundef %4492, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 191, ptr noundef %4495, ptr noundef %4498, ptr noundef %4501, i32 noundef %4503) #9
  br label %4505

4505:                                             ; preds = %4488, %4471
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %4506

4506:                                             ; preds = %4505
  br label %4507

4507:                                             ; preds = %4506
  call void @exit(i32 noundef 1) #11
  unreachable

4508:                                             ; No predecessors!
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

4510:                                             ; preds = %4509, %4448
  br label %4511

4511:                                             ; preds = %4510
  br label %4512

4512:                                             ; preds = %4511
  br label %4513

4513:                                             ; preds = %4512
  %4514 = load i32, ptr @test_count, align 4, !tbaa !5
  %4515 = add nsw i32 %4514, 1
  store i32 %4515, ptr @test_count, align 4, !tbaa !5
  %4516 = call i32 @s2n_stuffer_free(ptr noundef %91)
  %4517 = icmp eq i32 %4516, -1
  br i1 %4517, label %4518, label %4571

4518:                                             ; preds = %4513
  br label %4519

4519:                                             ; preds = %4518
  br label %4520

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

4527:                                             ; preds = %4520
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = call i32 @fileno(ptr noundef %4528) #9
  %4530 = call i32 @isatty(i32 noundef %4529) #9
  %4531 = icmp ne i32 %4530, 0
  br i1 %4531, label %4532, label %4549

4532:                                             ; preds = %4527
  %4533 = load i32, ptr %99, align 4, !tbaa !5
  %4534 = call ptr @__errno_location() #10
  store i32 %4533, ptr %4534, align 4, !tbaa !5
  %4535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4536 = load i32, ptr @test_count, align 4, !tbaa !5
  %4537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4538 = load i32, ptr %4537, align 4, !tbaa !5
  %4539 = call ptr @s2n_strerror(i32 noundef %4538, ptr noundef @.str.4)
  %4540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4541 = load i32, ptr %4540, align 4, !tbaa !5
  %4542 = call ptr @s2n_strerror_debug(i32 noundef %4541, ptr noundef @.str.4)
  %4543 = call ptr @__errno_location() #10
  %4544 = load i32, ptr %4543, align 4, !tbaa !5
  %4545 = call ptr @strerror(i32 noundef %4544) #9
  %4546 = call ptr @__errno_location() #10
  %4547 = load i32, ptr %4546, align 4, !tbaa !5
  %4548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4535, ptr noundef @.str.2, i32 noundef %4536, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 193, ptr noundef %4539, ptr noundef %4542, ptr noundef %4545, i32 noundef %4547) #9
  br label %4566

4549:                                             ; preds = %4527, %4520
  %4550 = load i32, ptr %99, align 4, !tbaa !5
  %4551 = call ptr @__errno_location() #10
  store i32 %4550, ptr %4551, align 4, !tbaa !5
  %4552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4553 = load i32, ptr @test_count, align 4, !tbaa !5
  %4554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4555 = load i32, ptr %4554, align 4, !tbaa !5
  %4556 = call ptr @s2n_strerror(i32 noundef %4555, ptr noundef @.str.4)
  %4557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4558 = load i32, ptr %4557, align 4, !tbaa !5
  %4559 = call ptr @s2n_strerror_debug(i32 noundef %4558, ptr noundef @.str.4)
  %4560 = call ptr @__errno_location() #10
  %4561 = load i32, ptr %4560, align 4, !tbaa !5
  %4562 = call ptr @strerror(i32 noundef %4561) #9
  %4563 = call ptr @__errno_location() #10
  %4564 = load i32, ptr %4563, align 4, !tbaa !5
  %4565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4552, ptr noundef @.str.5, i32 noundef %4553, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 193, ptr noundef %4556, ptr noundef %4559, ptr noundef %4562, i32 noundef %4564) #9
  br label %4566

4566:                                             ; preds = %4549, %4532
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %4567

4567:                                             ; preds = %4566
  br label %4568

4568:                                             ; preds = %4567
  call void @exit(i32 noundef 1) #11
  unreachable

4569:                                             ; No predecessors!
  br label %4570

4570:                                             ; preds = %4569
  br label %4571

4571:                                             ; preds = %4570, %4513
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  call void @llvm.lifetime.end.p0(i64 40, ptr %91) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %100) #9
  call void @llvm.memset.p0.i64(ptr align 8 %100, i8 0, i64 40, i1 false)
  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 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %100, i32 noundef 1024)
  %4578 = icmp eq i32 %4577, -1
  br i1 %4578, label %4579, label %4632

4579:                                             ; preds = %4574
  br label %4580

4580:                                             ; preds = %4579
  br label %4581

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

4588:                                             ; preds = %4581
  %4589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4590 = call i32 @fileno(ptr noundef %4589) #9
  %4591 = call i32 @isatty(i32 noundef %4590) #9
  %4592 = icmp ne i32 %4591, 0
  br i1 %4592, label %4593, label %4610

4593:                                             ; preds = %4588
  %4594 = load i32, ptr %101, align 4, !tbaa !5
  %4595 = call ptr @__errno_location() #10
  store i32 %4594, ptr %4595, align 4, !tbaa !5
  %4596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4597 = load i32, ptr @test_count, align 4, !tbaa !5
  %4598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4599 = load i32, ptr %4598, align 4, !tbaa !5
  %4600 = call ptr @s2n_strerror(i32 noundef %4599, ptr noundef @.str.4)
  %4601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4602 = load i32, ptr %4601, align 4, !tbaa !5
  %4603 = call ptr @s2n_strerror_debug(i32 noundef %4602, ptr noundef @.str.4)
  %4604 = call ptr @__errno_location() #10
  %4605 = load i32, ptr %4604, align 4, !tbaa !5
  %4606 = call ptr @strerror(i32 noundef %4605) #9
  %4607 = call ptr @__errno_location() #10
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4596, ptr noundef @.str.2, i32 noundef %4597, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4600, ptr noundef %4603, ptr noundef %4606, i32 noundef %4608) #9
  br label %4627

4610:                                             ; preds = %4588, %4581
  %4611 = load i32, ptr %101, align 4, !tbaa !5
  %4612 = call ptr @__errno_location() #10
  store i32 %4611, ptr %4612, align 4, !tbaa !5
  %4613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4614 = load i32, ptr @test_count, align 4, !tbaa !5
  %4615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4616 = load i32, ptr %4615, align 4, !tbaa !5
  %4617 = call ptr @s2n_strerror(i32 noundef %4616, ptr noundef @.str.4)
  %4618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4619 = load i32, ptr %4618, align 4, !tbaa !5
  %4620 = call ptr @s2n_strerror_debug(i32 noundef %4619, ptr noundef @.str.4)
  %4621 = call ptr @__errno_location() #10
  %4622 = load i32, ptr %4621, align 4, !tbaa !5
  %4623 = call ptr @strerror(i32 noundef %4622) #9
  %4624 = call ptr @__errno_location() #10
  %4625 = load i32, ptr %4624, align 4, !tbaa !5
  %4626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4613, ptr noundef @.str.5, i32 noundef %4614, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 199, ptr noundef %4617, ptr noundef %4620, ptr noundef %4623, i32 noundef %4625) #9
  br label %4627

4627:                                             ; preds = %4610, %4593
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #9
  br label %4628

4628:                                             ; preds = %4627
  br label %4629

4629:                                             ; preds = %4628
  call void @exit(i32 noundef 1) #11
  unreachable

4630:                                             ; No predecessors!
  br label %4631

4631:                                             ; preds = %4630
  br label %4632

4632:                                             ; preds = %4631, %4574
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

4634:                                             ; preds = %4633
  br label %4635

4635:                                             ; preds = %4703, %4634
  %4636 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 2
  %4637 = load i32, ptr %4636, align 4, !tbaa !18
  %4638 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 1
  %4639 = load i32, ptr %4638, align 8, !tbaa !21
  %4640 = sub i32 %4637, %4639
  %4641 = icmp ult i32 %4640, 16385
  br i1 %4641, label %4642, label %4704

4642:                                             ; preds = %4635
  br label %4643

4643:                                             ; preds = %4642
  %4644 = load i32, ptr @test_count, align 4, !tbaa !5
  %4645 = add nsw i32 %4644, 1
  store i32 %4645, ptr @test_count, align 4, !tbaa !5
  %4646 = call i32 @s2n_stuffer_write_uint8(ptr noundef %100, i8 noundef zeroext 22)
  %4647 = icmp eq i32 %4646, -1
  br i1 %4647, label %4648, label %4701

4648:                                             ; preds = %4643
  br label %4649

4649:                                             ; preds = %4648
  br label %4650

4650:                                             ; preds = %4649
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #9
  %4651 = call ptr @__errno_location() #10
  %4652 = load i32, ptr %4651, align 4, !tbaa !5
  store i32 %4652, ptr %102, align 4, !tbaa !5
  %4653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4654 = call i32 @s2n_print_stacktrace(ptr noundef %4653)
  %4655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4656 = trunc i8 %4655 to i1
  br i1 %4656, label %4657, label %4679

4657:                                             ; preds = %4650
  %4658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4659 = call i32 @fileno(ptr noundef %4658) #9
  %4660 = call i32 @isatty(i32 noundef %4659) #9
  %4661 = icmp ne i32 %4660, 0
  br i1 %4661, label %4662, label %4679

4662:                                             ; preds = %4657
  %4663 = load i32, ptr %102, align 4, !tbaa !5
  %4664 = call ptr @__errno_location() #10
  store i32 %4663, ptr %4664, align 4, !tbaa !5
  %4665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4666 = load i32, ptr @test_count, align 4, !tbaa !5
  %4667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4668 = load i32, ptr %4667, align 4, !tbaa !5
  %4669 = call ptr @s2n_strerror(i32 noundef %4668, ptr noundef @.str.4)
  %4670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4671 = load i32, ptr %4670, align 4, !tbaa !5
  %4672 = call ptr @s2n_strerror_debug(i32 noundef %4671, ptr noundef @.str.4)
  %4673 = call ptr @__errno_location() #10
  %4674 = load i32, ptr %4673, align 4, !tbaa !5
  %4675 = call ptr @strerror(i32 noundef %4674) #9
  %4676 = call ptr @__errno_location() #10
  %4677 = load i32, ptr %4676, align 4, !tbaa !5
  %4678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4665, ptr noundef @.str.2, i32 noundef %4666, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4669, ptr noundef %4672, ptr noundef %4675, i32 noundef %4677) #9
  br label %4696

4679:                                             ; preds = %4657, %4650
  %4680 = load i32, ptr %102, align 4, !tbaa !5
  %4681 = call ptr @__errno_location() #10
  store i32 %4680, ptr %4681, align 4, !tbaa !5
  %4682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4683 = load i32, ptr @test_count, align 4, !tbaa !5
  %4684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4685 = load i32, ptr %4684, align 4, !tbaa !5
  %4686 = call ptr @s2n_strerror(i32 noundef %4685, ptr noundef @.str.4)
  %4687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4688 = load i32, ptr %4687, align 4, !tbaa !5
  %4689 = call ptr @s2n_strerror_debug(i32 noundef %4688, ptr noundef @.str.4)
  %4690 = call ptr @__errno_location() #10
  %4691 = load i32, ptr %4690, align 4, !tbaa !5
  %4692 = call ptr @strerror(i32 noundef %4691) #9
  %4693 = call ptr @__errno_location() #10
  %4694 = load i32, ptr %4693, align 4, !tbaa !5
  %4695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4682, ptr noundef @.str.5, i32 noundef %4683, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 203, ptr noundef %4686, ptr noundef %4689, ptr noundef %4692, i32 noundef %4694) #9
  br label %4696

4696:                                             ; preds = %4679, %4662
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %4697

4697:                                             ; preds = %4696
  br label %4698

4698:                                             ; preds = %4697
  call void @exit(i32 noundef 1) #11
  unreachable

4699:                                             ; No predecessors!
  br label %4700

4700:                                             ; preds = %4699
  br label %4701

4701:                                             ; preds = %4700, %4643
  br label %4702

4702:                                             ; preds = %4701
  br label %4703

4703:                                             ; preds = %4702
  br label %4635, !llvm.loop !28

4704:                                             ; preds = %4635
  br label %4705

4705:                                             ; preds = %4774, %4704
  %4706 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 2
  %4707 = load i32, ptr %4706, align 4, !tbaa !18
  %4708 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 1
  %4709 = load i32, ptr %4708, align 8, !tbaa !21
  %4710 = sub i32 %4707, %4709
  %4711 = zext i32 %4710 to i64
  %4712 = icmp ult i64 %4711, 16401
  br i1 %4712, label %4713, label %4775

4713:                                             ; preds = %4705
  br label %4714

4714:                                             ; preds = %4713
  %4715 = load i32, ptr @test_count, align 4, !tbaa !5
  %4716 = add nsw i32 %4715, 1
  store i32 %4716, ptr @test_count, align 4, !tbaa !5
  %4717 = call i32 @s2n_stuffer_write_uint8(ptr noundef %100, i8 noundef zeroext 0)
  %4718 = icmp eq i32 %4717, -1
  br i1 %4718, label %4719, label %4772

4719:                                             ; preds = %4714
  br label %4720

4720:                                             ; preds = %4719
  br label %4721

4721:                                             ; preds = %4720
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #9
  %4722 = call ptr @__errno_location() #10
  %4723 = load i32, ptr %4722, align 4, !tbaa !5
  store i32 %4723, ptr %103, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = call i32 @s2n_print_stacktrace(ptr noundef %4724)
  %4726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4727 = trunc i8 %4726 to i1
  br i1 %4727, label %4728, label %4750

4728:                                             ; preds = %4721
  %4729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4730 = call i32 @fileno(ptr noundef %4729) #9
  %4731 = call i32 @isatty(i32 noundef %4730) #9
  %4732 = icmp ne i32 %4731, 0
  br i1 %4732, label %4733, label %4750

4733:                                             ; preds = %4728
  %4734 = load i32, ptr %103, align 4, !tbaa !5
  %4735 = call ptr @__errno_location() #10
  store i32 %4734, ptr %4735, align 4, !tbaa !5
  %4736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4737 = load i32, ptr @test_count, align 4, !tbaa !5
  %4738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4739 = load i32, ptr %4738, align 4, !tbaa !5
  %4740 = call ptr @s2n_strerror(i32 noundef %4739, ptr noundef @.str.4)
  %4741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4742 = load i32, ptr %4741, align 4, !tbaa !5
  %4743 = call ptr @s2n_strerror_debug(i32 noundef %4742, ptr noundef @.str.4)
  %4744 = call ptr @__errno_location() #10
  %4745 = load i32, ptr %4744, align 4, !tbaa !5
  %4746 = call ptr @strerror(i32 noundef %4745) #9
  %4747 = call ptr @__errno_location() #10
  %4748 = load i32, ptr %4747, align 4, !tbaa !5
  %4749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4736, ptr noundef @.str.2, i32 noundef %4737, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4740, ptr noundef %4743, ptr noundef %4746, i32 noundef %4748) #9
  br label %4767

4750:                                             ; preds = %4728, %4721
  %4751 = load i32, ptr %103, align 4, !tbaa !5
  %4752 = call ptr @__errno_location() #10
  store i32 %4751, ptr %4752, align 4, !tbaa !5
  %4753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4754 = load i32, ptr @test_count, align 4, !tbaa !5
  %4755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4756 = load i32, ptr %4755, align 4, !tbaa !5
  %4757 = call ptr @s2n_strerror(i32 noundef %4756, ptr noundef @.str.4)
  %4758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4759 = load i32, ptr %4758, align 4, !tbaa !5
  %4760 = call ptr @s2n_strerror_debug(i32 noundef %4759, ptr noundef @.str.4)
  %4761 = call ptr @__errno_location() #10
  %4762 = load i32, ptr %4761, align 4, !tbaa !5
  %4763 = call ptr @strerror(i32 noundef %4762) #9
  %4764 = call ptr @__errno_location() #10
  %4765 = load i32, ptr %4764, align 4, !tbaa !5
  %4766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4753, ptr noundef @.str.5, i32 noundef %4754, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 207, ptr noundef %4757, ptr noundef %4760, ptr noundef %4763, i32 noundef %4765) #9
  br label %4767

4767:                                             ; preds = %4750, %4733
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %4768

4768:                                             ; preds = %4767
  br label %4769

4769:                                             ; preds = %4768
  call void @exit(i32 noundef 1) #11
  unreachable

4770:                                             ; No predecessors!
  br label %4771

4771:                                             ; preds = %4770
  br label %4772

4772:                                             ; preds = %4771, %4714
  br label %4773

4773:                                             ; preds = %4772
  br label %4774

4774:                                             ; preds = %4773
  br label %4705, !llvm.loop !29

4775:                                             ; preds = %4705
  br label %4776

4776:                                             ; preds = %4775
  %4777 = load i32, ptr @test_count, align 4, !tbaa !5
  %4778 = add nsw i32 %4777, 1
  store i32 %4778, ptr @test_count, align 4, !tbaa !5
  %4779 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 2
  %4780 = load i32, ptr %4779, align 4, !tbaa !18
  %4781 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 1
  %4782 = load i32, ptr %4781, align 8, !tbaa !21
  %4783 = sub i32 %4780, %4782
  %4784 = zext i32 %4783 to i64
  %4785 = icmp eq i64 %4784, 16401
  br i1 %4785, label %4839, label %4786

4786:                                             ; preds = %4776
  br label %4787

4787:                                             ; preds = %4786
  br label %4788

4788:                                             ; preds = %4787
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #9
  %4789 = call ptr @__errno_location() #10
  %4790 = load i32, ptr %4789, align 4, !tbaa !5
  store i32 %4790, ptr %104, align 4, !tbaa !5
  %4791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4792 = call i32 @s2n_print_stacktrace(ptr noundef %4791)
  %4793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4794 = trunc i8 %4793 to i1
  br i1 %4794, label %4795, label %4817

4795:                                             ; preds = %4788
  %4796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4797 = call i32 @fileno(ptr noundef %4796) #9
  %4798 = call i32 @isatty(i32 noundef %4797) #9
  %4799 = icmp ne i32 %4798, 0
  br i1 %4799, label %4800, label %4817

4800:                                             ; preds = %4795
  %4801 = load i32, ptr %104, align 4, !tbaa !5
  %4802 = call ptr @__errno_location() #10
  store i32 %4801, ptr %4802, align 4, !tbaa !5
  %4803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4804 = load i32, ptr @test_count, align 4, !tbaa !5
  %4805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4806 = load i32, ptr %4805, align 4, !tbaa !5
  %4807 = call ptr @s2n_strerror(i32 noundef %4806, ptr noundef @.str.4)
  %4808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4809 = load i32, ptr %4808, align 4, !tbaa !5
  %4810 = call ptr @s2n_strerror_debug(i32 noundef %4809, ptr noundef @.str.4)
  %4811 = call ptr @__errno_location() #10
  %4812 = load i32, ptr %4811, align 4, !tbaa !5
  %4813 = call ptr @strerror(i32 noundef %4812) #9
  %4814 = call ptr @__errno_location() #10
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4803, ptr noundef @.str.2, i32 noundef %4804, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4807, ptr noundef %4810, ptr noundef %4813, i32 noundef %4815) #9
  br label %4834

4817:                                             ; preds = %4795, %4788
  %4818 = load i32, ptr %104, align 4, !tbaa !5
  %4819 = call ptr @__errno_location() #10
  store i32 %4818, ptr %4819, align 4, !tbaa !5
  %4820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4821 = load i32, ptr @test_count, align 4, !tbaa !5
  %4822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4823 = load i32, ptr %4822, align 4, !tbaa !5
  %4824 = call ptr @s2n_strerror(i32 noundef %4823, ptr noundef @.str.4)
  %4825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4826 = load i32, ptr %4825, align 4, !tbaa !5
  %4827 = call ptr @s2n_strerror_debug(i32 noundef %4826, ptr noundef @.str.4)
  %4828 = call ptr @__errno_location() #10
  %4829 = load i32, ptr %4828, align 4, !tbaa !5
  %4830 = call ptr @strerror(i32 noundef %4829) #9
  %4831 = call ptr @__errno_location() #10
  %4832 = load i32, ptr %4831, align 4, !tbaa !5
  %4833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4820, ptr noundef @.str.5, i32 noundef %4821, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4824, ptr noundef %4827, ptr noundef %4830, i32 noundef %4832) #9
  br label %4834

4834:                                             ; preds = %4817, %4800
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #9
  br label %4835

4835:                                             ; preds = %4834
  br label %4836

4836:                                             ; preds = %4835
  call void @exit(i32 noundef 1) #11
  unreachable

4837:                                             ; No predecessors!
  br label %4838

4838:                                             ; preds = %4837
  br label %4839

4839:                                             ; preds = %4838, %4776
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  %4843 = load i32, ptr @test_count, align 4, !tbaa !5
  %4844 = add nsw i32 %4843, 1
  store i32 %4844, ptr @test_count, align 4, !tbaa !5
  %4845 = call i32 @s2n_tls13_parse_record_type(ptr noundef %100, ptr noundef %10)
  %4846 = icmp eq i32 %4845, -1
  br i1 %4846, label %4847, label %4900

4847:                                             ; preds = %4842
  br label %4848

4848:                                             ; preds = %4847
  br label %4849

4849:                                             ; preds = %4848
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #9
  %4850 = call ptr @__errno_location() #10
  %4851 = load i32, ptr %4850, align 4, !tbaa !5
  store i32 %4851, ptr %105, align 4, !tbaa !5
  %4852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4853 = call i32 @s2n_print_stacktrace(ptr noundef %4852)
  %4854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4855 = trunc i8 %4854 to i1
  br i1 %4855, label %4856, label %4878

4856:                                             ; preds = %4849
  %4857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4858 = call i32 @fileno(ptr noundef %4857) #9
  %4859 = call i32 @isatty(i32 noundef %4858) #9
  %4860 = icmp ne i32 %4859, 0
  br i1 %4860, label %4861, label %4878

4861:                                             ; preds = %4856
  %4862 = load i32, ptr %105, align 4, !tbaa !5
  %4863 = call ptr @__errno_location() #10
  store i32 %4862, ptr %4863, align 4, !tbaa !5
  %4864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4865 = load i32, ptr @test_count, align 4, !tbaa !5
  %4866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4867 = load i32, ptr %4866, align 4, !tbaa !5
  %4868 = call ptr @s2n_strerror(i32 noundef %4867, ptr noundef @.str.4)
  %4869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4870 = load i32, ptr %4869, align 4, !tbaa !5
  %4871 = call ptr @s2n_strerror_debug(i32 noundef %4870, ptr noundef @.str.4)
  %4872 = call ptr @__errno_location() #10
  %4873 = load i32, ptr %4872, align 4, !tbaa !5
  %4874 = call ptr @strerror(i32 noundef %4873) #9
  %4875 = call ptr @__errno_location() #10
  %4876 = load i32, ptr %4875, align 4, !tbaa !5
  %4877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4864, ptr noundef @.str.2, i32 noundef %4865, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4868, ptr noundef %4871, ptr noundef %4874, i32 noundef %4876) #9
  br label %4895

4878:                                             ; preds = %4856, %4849
  %4879 = load i32, ptr %105, align 4, !tbaa !5
  %4880 = call ptr @__errno_location() #10
  store i32 %4879, ptr %4880, align 4, !tbaa !5
  %4881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4882 = load i32, ptr @test_count, align 4, !tbaa !5
  %4883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4884 = load i32, ptr %4883, align 4, !tbaa !5
  %4885 = call ptr @s2n_strerror(i32 noundef %4884, ptr noundef @.str.4)
  %4886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4887 = load i32, ptr %4886, align 4, !tbaa !5
  %4888 = call ptr @s2n_strerror_debug(i32 noundef %4887, ptr noundef @.str.4)
  %4889 = call ptr @__errno_location() #10
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  %4891 = call ptr @strerror(i32 noundef %4890) #9
  %4892 = call ptr @__errno_location() #10
  %4893 = load i32, ptr %4892, align 4, !tbaa !5
  %4894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4881, ptr noundef @.str.5, i32 noundef %4882, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4885, ptr noundef %4888, ptr noundef %4891, i32 noundef %4893) #9
  br label %4895

4895:                                             ; preds = %4878, %4861
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

4897:                                             ; preds = %4896
  call void @exit(i32 noundef 1) #11
  unreachable

4898:                                             ; No predecessors!
  br label %4899

4899:                                             ; preds = %4898
  br label %4900

4900:                                             ; preds = %4899, %4842
  br label %4901

4901:                                             ; preds = %4900
  br label %4902

4902:                                             ; preds = %4901
  br label %4903

4903:                                             ; preds = %4902
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = add nsw i32 %4904, 1
  store i32 %4905, ptr @test_count, align 4, !tbaa !5
  %4906 = load i8, ptr %10, align 1, !tbaa !15
  %4907 = zext i8 %4906 to i32
  %4908 = icmp eq i32 %4907, 22
  br i1 %4908, label %4962, label %4909

4909:                                             ; preds = %4903
  br label %4910

4910:                                             ; preds = %4909
  br label %4911

4911:                                             ; preds = %4910
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %4912 = call ptr @__errno_location() #10
  %4913 = load i32, ptr %4912, align 4, !tbaa !5
  store i32 %4913, ptr %106, align 4, !tbaa !5
  %4914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4915 = call i32 @s2n_print_stacktrace(ptr noundef %4914)
  %4916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4917 = trunc i8 %4916 to i1
  br i1 %4917, label %4918, label %4940

4918:                                             ; preds = %4911
  %4919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4920 = call i32 @fileno(ptr noundef %4919) #9
  %4921 = call i32 @isatty(i32 noundef %4920) #9
  %4922 = icmp ne i32 %4921, 0
  br i1 %4922, label %4923, label %4940

4923:                                             ; preds = %4918
  %4924 = load i32, ptr %106, align 4, !tbaa !5
  %4925 = call ptr @__errno_location() #10
  store i32 %4924, ptr %4925, align 4, !tbaa !5
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4927 = load i32, ptr @test_count, align 4, !tbaa !5
  %4928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call ptr @s2n_strerror(i32 noundef %4929, ptr noundef @.str.4)
  %4931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror_debug(i32 noundef %4932, ptr noundef @.str.4)
  %4934 = call ptr @__errno_location() #10
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @strerror(i32 noundef %4935) #9
  %4937 = call ptr @__errno_location() #10
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4926, ptr noundef @.str.2, i32 noundef %4927, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4930, ptr noundef %4933, ptr noundef %4936, i32 noundef %4938) #9
  br label %4957

4940:                                             ; preds = %4918, %4911
  %4941 = load i32, ptr %106, align 4, !tbaa !5
  %4942 = call ptr @__errno_location() #10
  store i32 %4941, ptr %4942, align 4, !tbaa !5
  %4943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4944 = load i32, ptr @test_count, align 4, !tbaa !5
  %4945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4946 = load i32, ptr %4945, align 4, !tbaa !5
  %4947 = call ptr @s2n_strerror(i32 noundef %4946, ptr noundef @.str.4)
  %4948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4949 = load i32, ptr %4948, align 4, !tbaa !5
  %4950 = call ptr @s2n_strerror_debug(i32 noundef %4949, ptr noundef @.str.4)
  %4951 = call ptr @__errno_location() #10
  %4952 = load i32, ptr %4951, align 4, !tbaa !5
  %4953 = call ptr @strerror(i32 noundef %4952) #9
  %4954 = call ptr @__errno_location() #10
  %4955 = load i32, ptr %4954, align 4, !tbaa !5
  %4956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4943, ptr noundef @.str.5, i32 noundef %4944, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4947, ptr noundef %4950, ptr noundef %4953, i32 noundef %4955) #9
  br label %4957

4957:                                             ; preds = %4940, %4923
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %4958

4958:                                             ; preds = %4957
  br label %4959

4959:                                             ; preds = %4958
  call void @exit(i32 noundef 1) #11
  unreachable

4960:                                             ; No predecessors!
  br label %4961

4961:                                             ; preds = %4960
  br label %4962

4962:                                             ; preds = %4961, %4903
  br label %4963

4963:                                             ; preds = %4962
  br label %4964

4964:                                             ; preds = %4963
  br label %4965

4965:                                             ; preds = %4964
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = add nsw i32 %4966, 1
  store i32 %4967, ptr @test_count, align 4, !tbaa !5
  %4968 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 2
  %4969 = load i32, ptr %4968, align 4, !tbaa !18
  %4970 = getelementptr inbounds %struct.s2n_stuffer, ptr %100, i32 0, i32 1
  %4971 = load i32, ptr %4970, align 8, !tbaa !21
  %4972 = sub i32 %4969, %4971
  %4973 = icmp eq i32 %4972, 16384
  br i1 %4973, label %5027, label %4974

4974:                                             ; preds = %4965
  br label %4975

4975:                                             ; preds = %4974
  br label %4976

4976:                                             ; preds = %4975
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #9
  %4977 = call ptr @__errno_location() #10
  %4978 = load i32, ptr %4977, align 4, !tbaa !5
  store i32 %4978, ptr %107, align 4, !tbaa !5
  %4979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4980 = call i32 @s2n_print_stacktrace(ptr noundef %4979)
  %4981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4982 = trunc i8 %4981 to i1
  br i1 %4982, label %4983, label %5005

4983:                                             ; preds = %4976
  %4984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4985 = call i32 @fileno(ptr noundef %4984) #9
  %4986 = call i32 @isatty(i32 noundef %4985) #9
  %4987 = icmp ne i32 %4986, 0
  br i1 %4987, label %4988, label %5005

4988:                                             ; preds = %4983
  %4989 = load i32, ptr %107, align 4, !tbaa !5
  %4990 = call ptr @__errno_location() #10
  store i32 %4989, ptr %4990, align 4, !tbaa !5
  %4991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4992 = load i32, ptr @test_count, align 4, !tbaa !5
  %4993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4994 = load i32, ptr %4993, align 4, !tbaa !5
  %4995 = call ptr @s2n_strerror(i32 noundef %4994, ptr noundef @.str.4)
  %4996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4997 = load i32, ptr %4996, align 4, !tbaa !5
  %4998 = call ptr @s2n_strerror_debug(i32 noundef %4997, ptr noundef @.str.4)
  %4999 = call ptr @__errno_location() #10
  %5000 = load i32, ptr %4999, align 4, !tbaa !5
  %5001 = call ptr @strerror(i32 noundef %5000) #9
  %5002 = call ptr @__errno_location() #10
  %5003 = load i32, ptr %5002, align 4, !tbaa !5
  %5004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4991, ptr noundef @.str.2, i32 noundef %4992, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 214, ptr noundef %4995, ptr noundef %4998, ptr noundef %5001, i32 noundef %5003) #9
  br label %5022

5005:                                             ; preds = %4983, %4976
  %5006 = load i32, ptr %107, align 4, !tbaa !5
  %5007 = call ptr @__errno_location() #10
  store i32 %5006, ptr %5007, align 4, !tbaa !5
  %5008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5009 = load i32, ptr @test_count, align 4, !tbaa !5
  %5010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5011 = load i32, ptr %5010, align 4, !tbaa !5
  %5012 = call ptr @s2n_strerror(i32 noundef %5011, ptr noundef @.str.4)
  %5013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5014 = load i32, ptr %5013, align 4, !tbaa !5
  %5015 = call ptr @s2n_strerror_debug(i32 noundef %5014, ptr noundef @.str.4)
  %5016 = call ptr @__errno_location() #10
  %5017 = load i32, ptr %5016, align 4, !tbaa !5
  %5018 = call ptr @strerror(i32 noundef %5017) #9
  %5019 = call ptr @__errno_location() #10
  %5020 = load i32, ptr %5019, align 4, !tbaa !5
  %5021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5008, ptr noundef @.str.5, i32 noundef %5009, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 214, ptr noundef %5012, ptr noundef %5015, ptr noundef %5018, i32 noundef %5020) #9
  br label %5022

5022:                                             ; preds = %5005, %4988
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #9
  br label %5023

5023:                                             ; preds = %5022
  br label %5024

5024:                                             ; preds = %5023
  call void @exit(i32 noundef 1) #11
  unreachable

5025:                                             ; No predecessors!
  br label %5026

5026:                                             ; preds = %5025
  br label %5027

5027:                                             ; preds = %5026, %4965
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028
  br label %5030

5030:                                             ; preds = %5029
  %5031 = load i32, ptr @test_count, align 4, !tbaa !5
  %5032 = add nsw i32 %5031, 1
  store i32 %5032, ptr @test_count, align 4, !tbaa !5
  %5033 = call i32 @s2n_stuffer_free(ptr noundef %100)
  %5034 = icmp eq i32 %5033, -1
  br i1 %5034, label %5035, label %5088

5035:                                             ; preds = %5030
  br label %5036

5036:                                             ; preds = %5035
  br label %5037

5037:                                             ; preds = %5036
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #9
  %5038 = call ptr @__errno_location() #10
  %5039 = load i32, ptr %5038, align 4, !tbaa !5
  store i32 %5039, ptr %108, align 4, !tbaa !5
  %5040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5041 = call i32 @s2n_print_stacktrace(ptr noundef %5040)
  %5042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5043 = trunc i8 %5042 to i1
  br i1 %5043, label %5044, label %5066

5044:                                             ; preds = %5037
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = call i32 @fileno(ptr noundef %5045) #9
  %5047 = call i32 @isatty(i32 noundef %5046) #9
  %5048 = icmp ne i32 %5047, 0
  br i1 %5048, label %5049, label %5066

5049:                                             ; preds = %5044
  %5050 = load i32, ptr %108, align 4, !tbaa !5
  %5051 = call ptr @__errno_location() #10
  store i32 %5050, ptr %5051, align 4, !tbaa !5
  %5052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5053 = load i32, ptr @test_count, align 4, !tbaa !5
  %5054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5055 = load i32, ptr %5054, align 4, !tbaa !5
  %5056 = call ptr @s2n_strerror(i32 noundef %5055, ptr noundef @.str.4)
  %5057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5058 = load i32, ptr %5057, align 4, !tbaa !5
  %5059 = call ptr @s2n_strerror_debug(i32 noundef %5058, ptr noundef @.str.4)
  %5060 = call ptr @__errno_location() #10
  %5061 = load i32, ptr %5060, align 4, !tbaa !5
  %5062 = call ptr @strerror(i32 noundef %5061) #9
  %5063 = call ptr @__errno_location() #10
  %5064 = load i32, ptr %5063, align 4, !tbaa !5
  %5065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5052, ptr noundef @.str.2, i32 noundef %5053, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 216, ptr noundef %5056, ptr noundef %5059, ptr noundef %5062, i32 noundef %5064) #9
  br label %5083

5066:                                             ; preds = %5044, %5037
  %5067 = load i32, ptr %108, align 4, !tbaa !5
  %5068 = call ptr @__errno_location() #10
  store i32 %5067, ptr %5068, align 4, !tbaa !5
  %5069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5070 = load i32, ptr @test_count, align 4, !tbaa !5
  %5071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5072 = load i32, ptr %5071, align 4, !tbaa !5
  %5073 = call ptr @s2n_strerror(i32 noundef %5072, ptr noundef @.str.4)
  %5074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5075 = load i32, ptr %5074, align 4, !tbaa !5
  %5076 = call ptr @s2n_strerror_debug(i32 noundef %5075, ptr noundef @.str.4)
  %5077 = call ptr @__errno_location() #10
  %5078 = load i32, ptr %5077, align 4, !tbaa !5
  %5079 = call ptr @strerror(i32 noundef %5078) #9
  %5080 = call ptr @__errno_location() #10
  %5081 = load i32, ptr %5080, align 4, !tbaa !5
  %5082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5069, ptr noundef @.str.5, i32 noundef %5070, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 216, ptr noundef %5073, ptr noundef %5076, ptr noundef %5079, i32 noundef %5081) #9
  br label %5083

5083:                                             ; preds = %5066, %5049
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #9
  br label %5084

5084:                                             ; preds = %5083
  br label %5085

5085:                                             ; preds = %5084
  call void @exit(i32 noundef 1) #11
  unreachable

5086:                                             ; No predecessors!
  br label %5087

5087:                                             ; preds = %5086
  br label %5088

5088:                                             ; preds = %5087, %5030
  br label %5089

5089:                                             ; preds = %5088
  br label %5090

5090:                                             ; preds = %5089
  call void @llvm.lifetime.end.p0(i64 40, ptr %100) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %109) #9
  call void @llvm.memset.p0.i64(ptr align 8 %109, i8 0, i64 40, i1 false)
  br label %5091

5091:                                             ; preds = %5090
  %5092 = load i32, ptr @test_count, align 4, !tbaa !5
  %5093 = add nsw i32 %5092, 1
  store i32 %5093, ptr @test_count, align 4, !tbaa !5
  %5094 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %109, i32 noundef 1024)
  %5095 = icmp eq i32 %5094, -1
  br i1 %5095, label %5096, label %5149

5096:                                             ; preds = %5091
  br label %5097

5097:                                             ; preds = %5096
  br label %5098

5098:                                             ; preds = %5097
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #9
  %5099 = call ptr @__errno_location() #10
  %5100 = load i32, ptr %5099, align 4, !tbaa !5
  store i32 %5100, ptr %110, align 4, !tbaa !5
  %5101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5102 = call i32 @s2n_print_stacktrace(ptr noundef %5101)
  %5103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5104 = trunc i8 %5103 to i1
  br i1 %5104, label %5105, label %5127

5105:                                             ; preds = %5098
  %5106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5107 = call i32 @fileno(ptr noundef %5106) #9
  %5108 = call i32 @isatty(i32 noundef %5107) #9
  %5109 = icmp ne i32 %5108, 0
  br i1 %5109, label %5110, label %5127

5110:                                             ; preds = %5105
  %5111 = load i32, ptr %110, align 4, !tbaa !5
  %5112 = call ptr @__errno_location() #10
  store i32 %5111, ptr %5112, align 4, !tbaa !5
  %5113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5114 = load i32, ptr @test_count, align 4, !tbaa !5
  %5115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5116 = load i32, ptr %5115, align 4, !tbaa !5
  %5117 = call ptr @s2n_strerror(i32 noundef %5116, ptr noundef @.str.4)
  %5118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5119 = load i32, ptr %5118, align 4, !tbaa !5
  %5120 = call ptr @s2n_strerror_debug(i32 noundef %5119, ptr noundef @.str.4)
  %5121 = call ptr @__errno_location() #10
  %5122 = load i32, ptr %5121, align 4, !tbaa !5
  %5123 = call ptr @strerror(i32 noundef %5122) #9
  %5124 = call ptr @__errno_location() #10
  %5125 = load i32, ptr %5124, align 4, !tbaa !5
  %5126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5113, ptr noundef @.str.2, i32 noundef %5114, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 222, ptr noundef %5117, ptr noundef %5120, ptr noundef %5123, i32 noundef %5125) #9
  br label %5144

5127:                                             ; preds = %5105, %5098
  %5128 = load i32, ptr %110, align 4, !tbaa !5
  %5129 = call ptr @__errno_location() #10
  store i32 %5128, ptr %5129, align 4, !tbaa !5
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5131 = load i32, ptr @test_count, align 4, !tbaa !5
  %5132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5133 = load i32, ptr %5132, align 4, !tbaa !5
  %5134 = call ptr @s2n_strerror(i32 noundef %5133, ptr noundef @.str.4)
  %5135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5136 = load i32, ptr %5135, align 4, !tbaa !5
  %5137 = call ptr @s2n_strerror_debug(i32 noundef %5136, ptr noundef @.str.4)
  %5138 = call ptr @__errno_location() #10
  %5139 = load i32, ptr %5138, align 4, !tbaa !5
  %5140 = call ptr @strerror(i32 noundef %5139) #9
  %5141 = call ptr @__errno_location() #10
  %5142 = load i32, ptr %5141, align 4, !tbaa !5
  %5143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5130, ptr noundef @.str.5, i32 noundef %5131, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 222, ptr noundef %5134, ptr noundef %5137, ptr noundef %5140, i32 noundef %5142) #9
  br label %5144

5144:                                             ; preds = %5127, %5110
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

5146:                                             ; preds = %5145
  call void @exit(i32 noundef 1) #11
  unreachable

5147:                                             ; No predecessors!
  br label %5148

5148:                                             ; preds = %5147
  br label %5149

5149:                                             ; preds = %5148, %5091
  br label %5150

5150:                                             ; preds = %5149
  br label %5151

5151:                                             ; preds = %5150
  br label %5152

5152:                                             ; preds = %5220, %5151
  %5153 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 2
  %5154 = load i32, ptr %5153, align 4, !tbaa !18
  %5155 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 1
  %5156 = load i32, ptr %5155, align 8, !tbaa !21
  %5157 = sub i32 %5154, %5156
  %5158 = icmp ult i32 %5157, 16385
  br i1 %5158, label %5159, label %5221

5159:                                             ; preds = %5152
  br label %5160

5160:                                             ; preds = %5159
  %5161 = load i32, ptr @test_count, align 4, !tbaa !5
  %5162 = add nsw i32 %5161, 1
  store i32 %5162, ptr @test_count, align 4, !tbaa !5
  %5163 = call i32 @s2n_stuffer_write_uint8(ptr noundef %109, i8 noundef zeroext 0)
  %5164 = icmp eq i32 %5163, -1
  br i1 %5164, label %5165, label %5218

5165:                                             ; preds = %5160
  br label %5166

5166:                                             ; preds = %5165
  br label %5167

5167:                                             ; preds = %5166
  call void @llvm.lifetime.start.p0(i64 4, ptr %111) #9
  %5168 = call ptr @__errno_location() #10
  %5169 = load i32, ptr %5168, align 4, !tbaa !5
  store i32 %5169, ptr %111, align 4, !tbaa !5
  %5170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5171 = call i32 @s2n_print_stacktrace(ptr noundef %5170)
  %5172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5173 = trunc i8 %5172 to i1
  br i1 %5173, label %5174, label %5196

5174:                                             ; preds = %5167
  %5175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5176 = call i32 @fileno(ptr noundef %5175) #9
  %5177 = call i32 @isatty(i32 noundef %5176) #9
  %5178 = icmp ne i32 %5177, 0
  br i1 %5178, label %5179, label %5196

5179:                                             ; preds = %5174
  %5180 = load i32, ptr %111, align 4, !tbaa !5
  %5181 = call ptr @__errno_location() #10
  store i32 %5180, ptr %5181, align 4, !tbaa !5
  %5182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5183 = load i32, ptr @test_count, align 4, !tbaa !5
  %5184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5185 = load i32, ptr %5184, align 4, !tbaa !5
  %5186 = call ptr @s2n_strerror(i32 noundef %5185, ptr noundef @.str.4)
  %5187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5188 = load i32, ptr %5187, align 4, !tbaa !5
  %5189 = call ptr @s2n_strerror_debug(i32 noundef %5188, ptr noundef @.str.4)
  %5190 = call ptr @__errno_location() #10
  %5191 = load i32, ptr %5190, align 4, !tbaa !5
  %5192 = call ptr @strerror(i32 noundef %5191) #9
  %5193 = call ptr @__errno_location() #10
  %5194 = load i32, ptr %5193, align 4, !tbaa !5
  %5195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5182, ptr noundef @.str.2, i32 noundef %5183, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5186, ptr noundef %5189, ptr noundef %5192, i32 noundef %5194) #9
  br label %5213

5196:                                             ; preds = %5174, %5167
  %5197 = load i32, ptr %111, align 4, !tbaa !5
  %5198 = call ptr @__errno_location() #10
  store i32 %5197, ptr %5198, align 4, !tbaa !5
  %5199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5200 = load i32, ptr @test_count, align 4, !tbaa !5
  %5201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5202 = load i32, ptr %5201, align 4, !tbaa !5
  %5203 = call ptr @s2n_strerror(i32 noundef %5202, ptr noundef @.str.4)
  %5204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5205 = load i32, ptr %5204, align 4, !tbaa !5
  %5206 = call ptr @s2n_strerror_debug(i32 noundef %5205, ptr noundef @.str.4)
  %5207 = call ptr @__errno_location() #10
  %5208 = load i32, ptr %5207, align 4, !tbaa !5
  %5209 = call ptr @strerror(i32 noundef %5208) #9
  %5210 = call ptr @__errno_location() #10
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  %5212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5199, ptr noundef @.str.5, i32 noundef %5200, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 227, ptr noundef %5203, ptr noundef %5206, ptr noundef %5209, i32 noundef %5211) #9
  br label %5213

5213:                                             ; preds = %5196, %5179
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #9
  br label %5214

5214:                                             ; preds = %5213
  br label %5215

5215:                                             ; preds = %5214
  call void @exit(i32 noundef 1) #11
  unreachable

5216:                                             ; No predecessors!
  br label %5217

5217:                                             ; preds = %5216
  br label %5218

5218:                                             ; preds = %5217, %5160
  br label %5219

5219:                                             ; preds = %5218
  br label %5220

5220:                                             ; preds = %5219
  br label %5152, !llvm.loop !30

5221:                                             ; preds = %5152
  br label %5222

5222:                                             ; preds = %5221
  %5223 = load i32, ptr @test_count, align 4, !tbaa !5
  %5224 = add nsw i32 %5223, 1
  store i32 %5224, ptr @test_count, align 4, !tbaa !5
  %5225 = call i32 @s2n_stuffer_write_uint8(ptr noundef %109, i8 noundef zeroext 22)
  %5226 = icmp eq i32 %5225, -1
  br i1 %5226, label %5227, label %5280

5227:                                             ; preds = %5222
  br label %5228

5228:                                             ; preds = %5227
  br label %5229

5229:                                             ; preds = %5228
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #9
  %5230 = call ptr @__errno_location() #10
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  store i32 %5231, ptr %112, align 4, !tbaa !5
  %5232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5233 = call i32 @s2n_print_stacktrace(ptr noundef %5232)
  %5234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5235 = trunc i8 %5234 to i1
  br i1 %5235, label %5236, label %5258

5236:                                             ; preds = %5229
  %5237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5238 = call i32 @fileno(ptr noundef %5237) #9
  %5239 = call i32 @isatty(i32 noundef %5238) #9
  %5240 = icmp ne i32 %5239, 0
  br i1 %5240, label %5241, label %5258

5241:                                             ; preds = %5236
  %5242 = load i32, ptr %112, align 4, !tbaa !5
  %5243 = call ptr @__errno_location() #10
  store i32 %5242, ptr %5243, align 4, !tbaa !5
  %5244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5245 = load i32, ptr @test_count, align 4, !tbaa !5
  %5246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5247 = load i32, ptr %5246, align 4, !tbaa !5
  %5248 = call ptr @s2n_strerror(i32 noundef %5247, ptr noundef @.str.4)
  %5249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5250 = load i32, ptr %5249, align 4, !tbaa !5
  %5251 = call ptr @s2n_strerror_debug(i32 noundef %5250, ptr noundef @.str.4)
  %5252 = call ptr @__errno_location() #10
  %5253 = load i32, ptr %5252, align 4, !tbaa !5
  %5254 = call ptr @strerror(i32 noundef %5253) #9
  %5255 = call ptr @__errno_location() #10
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  %5257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5244, ptr noundef @.str.2, i32 noundef %5245, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5248, ptr noundef %5251, ptr noundef %5254, i32 noundef %5256) #9
  br label %5275

5258:                                             ; preds = %5236, %5229
  %5259 = load i32, ptr %112, align 4, !tbaa !5
  %5260 = call ptr @__errno_location() #10
  store i32 %5259, ptr %5260, align 4, !tbaa !5
  %5261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5262 = load i32, ptr @test_count, align 4, !tbaa !5
  %5263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5264 = load i32, ptr %5263, align 4, !tbaa !5
  %5265 = call ptr @s2n_strerror(i32 noundef %5264, ptr noundef @.str.4)
  %5266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5267 = load i32, ptr %5266, align 4, !tbaa !5
  %5268 = call ptr @s2n_strerror_debug(i32 noundef %5267, ptr noundef @.str.4)
  %5269 = call ptr @__errno_location() #10
  %5270 = load i32, ptr %5269, align 4, !tbaa !5
  %5271 = call ptr @strerror(i32 noundef %5270) #9
  %5272 = call ptr @__errno_location() #10
  %5273 = load i32, ptr %5272, align 4, !tbaa !5
  %5274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5261, ptr noundef @.str.5, i32 noundef %5262, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5265, ptr noundef %5268, ptr noundef %5271, i32 noundef %5273) #9
  br label %5275

5275:                                             ; preds = %5258, %5241
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276
  call void @exit(i32 noundef 1) #11
  unreachable

5278:                                             ; No predecessors!
  br label %5279

5279:                                             ; preds = %5278
  br label %5280

5280:                                             ; preds = %5279, %5222
  br label %5281

5281:                                             ; preds = %5280
  br label %5282

5282:                                             ; preds = %5281
  br label %5283

5283:                                             ; preds = %5352, %5282
  %5284 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 2
  %5285 = load i32, ptr %5284, align 4, !tbaa !18
  %5286 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 1
  %5287 = load i32, ptr %5286, align 8, !tbaa !21
  %5288 = sub i32 %5285, %5287
  %5289 = zext i32 %5288 to i64
  %5290 = icmp ult i64 %5289, 16401
  br i1 %5290, label %5291, label %5353

5291:                                             ; preds = %5283
  br label %5292

5292:                                             ; preds = %5291
  %5293 = load i32, ptr @test_count, align 4, !tbaa !5
  %5294 = add nsw i32 %5293, 1
  store i32 %5294, ptr @test_count, align 4, !tbaa !5
  %5295 = call i32 @s2n_stuffer_write_uint8(ptr noundef %109, i8 noundef zeroext 0)
  %5296 = icmp eq i32 %5295, -1
  br i1 %5296, label %5297, label %5350

5297:                                             ; preds = %5292
  br label %5298

5298:                                             ; preds = %5297
  br label %5299

5299:                                             ; preds = %5298
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #9
  %5300 = call ptr @__errno_location() #10
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  store i32 %5301, ptr %113, align 4, !tbaa !5
  %5302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5303 = call i32 @s2n_print_stacktrace(ptr noundef %5302)
  %5304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5305 = trunc i8 %5304 to i1
  br i1 %5305, label %5306, label %5328

5306:                                             ; preds = %5299
  %5307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5308 = call i32 @fileno(ptr noundef %5307) #9
  %5309 = call i32 @isatty(i32 noundef %5308) #9
  %5310 = icmp ne i32 %5309, 0
  br i1 %5310, label %5311, label %5328

5311:                                             ; preds = %5306
  %5312 = load i32, ptr %113, align 4, !tbaa !5
  %5313 = call ptr @__errno_location() #10
  store i32 %5312, ptr %5313, align 4, !tbaa !5
  %5314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5315 = load i32, ptr @test_count, align 4, !tbaa !5
  %5316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  %5318 = call ptr @s2n_strerror(i32 noundef %5317, ptr noundef @.str.4)
  %5319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5320 = load i32, ptr %5319, align 4, !tbaa !5
  %5321 = call ptr @s2n_strerror_debug(i32 noundef %5320, ptr noundef @.str.4)
  %5322 = call ptr @__errno_location() #10
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @strerror(i32 noundef %5323) #9
  %5325 = call ptr @__errno_location() #10
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5314, ptr noundef @.str.2, i32 noundef %5315, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5318, ptr noundef %5321, ptr noundef %5324, i32 noundef %5326) #9
  br label %5345

5328:                                             ; preds = %5306, %5299
  %5329 = load i32, ptr %113, align 4, !tbaa !5
  %5330 = call ptr @__errno_location() #10
  store i32 %5329, ptr %5330, align 4, !tbaa !5
  %5331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5332 = load i32, 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(i32 noundef %5334, ptr noundef @.str.4)
  %5336 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5337 = load i32, ptr %5336, align 4, !tbaa !5
  %5338 = call ptr @s2n_strerror_debug(i32 noundef %5337, ptr noundef @.str.4)
  %5339 = call ptr @__errno_location() #10
  %5340 = load i32, ptr %5339, align 4, !tbaa !5
  %5341 = call ptr @strerror(i32 noundef %5340) #9
  %5342 = call ptr @__errno_location() #10
  %5343 = load i32, ptr %5342, align 4, !tbaa !5
  %5344 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5331, ptr noundef @.str.5, i32 noundef %5332, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 232, ptr noundef %5335, ptr noundef %5338, ptr noundef %5341, i32 noundef %5343) #9
  br label %5345

5345:                                             ; preds = %5328, %5311
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %5346

5346:                                             ; preds = %5345
  br label %5347

5347:                                             ; preds = %5346
  call void @exit(i32 noundef 1) #11
  unreachable

5348:                                             ; No predecessors!
  br label %5349

5349:                                             ; preds = %5348
  br label %5350

5350:                                             ; preds = %5349, %5292
  br label %5351

5351:                                             ; preds = %5350
  br label %5352

5352:                                             ; preds = %5351
  br label %5283, !llvm.loop !31

5353:                                             ; preds = %5283
  br label %5354

5354:                                             ; preds = %5353
  %5355 = load i32, ptr @test_count, align 4, !tbaa !5
  %5356 = add nsw i32 %5355, 1
  store i32 %5356, ptr @test_count, align 4, !tbaa !5
  %5357 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 2
  %5358 = load i32, ptr %5357, align 4, !tbaa !18
  %5359 = getelementptr inbounds %struct.s2n_stuffer, ptr %109, i32 0, i32 1
  %5360 = load i32, ptr %5359, align 8, !tbaa !21
  %5361 = sub i32 %5358, %5360
  %5362 = zext i32 %5361 to i64
  %5363 = icmp eq i64 %5362, 16401
  br i1 %5363, label %5417, label %5364

5364:                                             ; preds = %5354
  br label %5365

5365:                                             ; preds = %5364
  br label %5366

5366:                                             ; preds = %5365
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #9
  %5367 = call ptr @__errno_location() #10
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  store i32 %5368, ptr %114, align 4, !tbaa !5
  %5369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5370 = call i32 @s2n_print_stacktrace(ptr noundef %5369)
  %5371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5372 = trunc i8 %5371 to i1
  br i1 %5372, label %5373, label %5395

5373:                                             ; preds = %5366
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5375 = call i32 @fileno(ptr noundef %5374) #9
  %5376 = call i32 @isatty(i32 noundef %5375) #9
  %5377 = icmp ne i32 %5376, 0
  br i1 %5377, label %5378, label %5395

5378:                                             ; preds = %5373
  %5379 = load i32, ptr %114, align 4, !tbaa !5
  %5380 = call ptr @__errno_location() #10
  store i32 %5379, ptr %5380, align 4, !tbaa !5
  %5381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5382 = load i32, ptr @test_count, align 4, !tbaa !5
  %5383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5384 = load i32, ptr %5383, align 4, !tbaa !5
  %5385 = call ptr @s2n_strerror(i32 noundef %5384, ptr noundef @.str.4)
  %5386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5387 = load i32, ptr %5386, align 4, !tbaa !5
  %5388 = call ptr @s2n_strerror_debug(i32 noundef %5387, ptr noundef @.str.4)
  %5389 = call ptr @__errno_location() #10
  %5390 = load i32, ptr %5389, align 4, !tbaa !5
  %5391 = call ptr @strerror(i32 noundef %5390) #9
  %5392 = call ptr @__errno_location() #10
  %5393 = load i32, ptr %5392, align 4, !tbaa !5
  %5394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5381, ptr noundef @.str.2, i32 noundef %5382, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5385, ptr noundef %5388, ptr noundef %5391, i32 noundef %5393) #9
  br label %5412

5395:                                             ; preds = %5373, %5366
  %5396 = load i32, ptr %114, align 4, !tbaa !5
  %5397 = call ptr @__errno_location() #10
  store i32 %5396, ptr %5397, align 4, !tbaa !5
  %5398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5399 = load i32, ptr @test_count, align 4, !tbaa !5
  %5400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5401 = load i32, ptr %5400, align 4, !tbaa !5
  %5402 = call ptr @s2n_strerror(i32 noundef %5401, ptr noundef @.str.4)
  %5403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5404 = load i32, ptr %5403, align 4, !tbaa !5
  %5405 = call ptr @s2n_strerror_debug(i32 noundef %5404, ptr noundef @.str.4)
  %5406 = call ptr @__errno_location() #10
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  %5408 = call ptr @strerror(i32 noundef %5407) #9
  %5409 = call ptr @__errno_location() #10
  %5410 = load i32, ptr %5409, align 4, !tbaa !5
  %5411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5398, ptr noundef @.str.5, i32 noundef %5399, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 234, ptr noundef %5402, ptr noundef %5405, ptr noundef %5408, i32 noundef %5410) #9
  br label %5412

5412:                                             ; preds = %5395, %5378
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #9
  br label %5413

5413:                                             ; preds = %5412
  br label %5414

5414:                                             ; preds = %5413
  call void @exit(i32 noundef 1) #11
  unreachable

5415:                                             ; No predecessors!
  br label %5416

5416:                                             ; preds = %5415
  br label %5417

5417:                                             ; preds = %5416, %5354
  br label %5418

5418:                                             ; preds = %5417
  br label %5419

5419:                                             ; preds = %5418
  br label %5420

5420:                                             ; preds = %5419
  br label %5421

5421:                                             ; preds = %5420
  br label %5422

5422:                                             ; preds = %5421
  %5423 = load i32, ptr @test_count, align 4, !tbaa !5
  %5424 = add nsw i32 %5423, 1
  store i32 %5424, ptr @test_count, align 4, !tbaa !5
  %5425 = call i32 @s2n_tls13_parse_record_type(ptr noundef %109, ptr noundef %10)
  %5426 = icmp eq i32 %5425, -1
  br i1 %5426, label %5480, label %5427

5427:                                             ; preds = %5422
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

5429:                                             ; preds = %5428
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  %5430 = call ptr @__errno_location() #10
  %5431 = load i32, ptr %5430, align 4, !tbaa !5
  store i32 %5431, ptr %115, align 4, !tbaa !5
  %5432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5433 = call i32 @s2n_print_stacktrace(ptr noundef %5432)
  %5434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5435 = trunc i8 %5434 to i1
  br i1 %5435, label %5436, label %5458

5436:                                             ; preds = %5429
  %5437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5438 = call i32 @fileno(ptr noundef %5437) #9
  %5439 = call i32 @isatty(i32 noundef %5438) #9
  %5440 = icmp ne i32 %5439, 0
  br i1 %5440, label %5441, label %5458

5441:                                             ; preds = %5436
  %5442 = load i32, ptr %115, align 4, !tbaa !5
  %5443 = call ptr @__errno_location() #10
  store i32 %5442, ptr %5443, align 4, !tbaa !5
  %5444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5445 = load i32, ptr @test_count, align 4, !tbaa !5
  %5446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5447 = load i32, ptr %5446, align 4, !tbaa !5
  %5448 = call ptr @s2n_strerror(i32 noundef %5447, ptr noundef @.str.4)
  %5449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5450 = load i32, ptr %5449, align 4, !tbaa !5
  %5451 = call ptr @s2n_strerror_debug(i32 noundef %5450, ptr noundef @.str.4)
  %5452 = call ptr @__errno_location() #10
  %5453 = load i32, ptr %5452, align 4, !tbaa !5
  %5454 = call ptr @strerror(i32 noundef %5453) #9
  %5455 = call ptr @__errno_location() #10
  %5456 = load i32, ptr %5455, align 4, !tbaa !5
  %5457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5444, ptr noundef @.str.2, i32 noundef %5445, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5448, ptr noundef %5451, ptr noundef %5454, i32 noundef %5456) #9
  br label %5475

5458:                                             ; preds = %5436, %5429
  %5459 = load i32, ptr %115, align 4, !tbaa !5
  %5460 = call ptr @__errno_location() #10
  store i32 %5459, ptr %5460, align 4, !tbaa !5
  %5461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5462 = load i32, ptr @test_count, align 4, !tbaa !5
  %5463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call ptr @s2n_strerror(i32 noundef %5464, ptr noundef @.str.4)
  %5466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5467 = load i32, ptr %5466, align 4, !tbaa !5
  %5468 = call ptr @s2n_strerror_debug(i32 noundef %5467, ptr noundef @.str.4)
  %5469 = call ptr @__errno_location() #10
  %5470 = load i32, ptr %5469, align 4, !tbaa !5
  %5471 = call ptr @strerror(i32 noundef %5470) #9
  %5472 = call ptr @__errno_location() #10
  %5473 = load i32, ptr %5472, align 4, !tbaa !5
  %5474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5461, ptr noundef @.str.5, i32 noundef %5462, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5465, ptr noundef %5468, ptr noundef %5471, i32 noundef %5473) #9
  br label %5475

5475:                                             ; preds = %5458, %5441
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #9
  br label %5476

5476:                                             ; preds = %5475
  br label %5477

5477:                                             ; preds = %5476
  call void @exit(i32 noundef 1) #11
  unreachable

5478:                                             ; No predecessors!
  br label %5479

5479:                                             ; preds = %5478
  br label %5480

5480:                                             ; preds = %5479, %5422
  br label %5481

5481:                                             ; preds = %5480
  br label %5482

5482:                                             ; preds = %5481
  br label %5483

5483:                                             ; preds = %5482
  %5484 = load i32, ptr @test_count, align 4, !tbaa !5
  %5485 = add nsw i32 %5484, 1
  store i32 %5485, ptr @test_count, align 4, !tbaa !5
  %5486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5487 = load i32, ptr %5486, align 4, !tbaa !5
  %5488 = icmp eq i32 %5487, 335544388
  br i1 %5488, label %5542, label %5489

5489:                                             ; preds = %5483
  br label %5490

5490:                                             ; preds = %5489
  br label %5491

5491:                                             ; preds = %5490
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %5492 = call ptr @__errno_location() #10
  %5493 = load i32, ptr %5492, align 4, !tbaa !5
  store i32 %5493, ptr %116, align 4, !tbaa !5
  %5494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5495 = call i32 @s2n_print_stacktrace(ptr noundef %5494)
  %5496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5497 = trunc i8 %5496 to i1
  br i1 %5497, label %5498, label %5520

5498:                                             ; preds = %5491
  %5499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5500 = call i32 @fileno(ptr noundef %5499) #9
  %5501 = call i32 @isatty(i32 noundef %5500) #9
  %5502 = icmp ne i32 %5501, 0
  br i1 %5502, label %5503, label %5520

5503:                                             ; preds = %5498
  %5504 = load i32, ptr %116, align 4, !tbaa !5
  %5505 = call ptr @__errno_location() #10
  store i32 %5504, ptr %5505, align 4, !tbaa !5
  %5506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5507 = load i32, ptr @test_count, align 4, !tbaa !5
  %5508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5509 = load i32, ptr %5508, align 4, !tbaa !5
  %5510 = call ptr @s2n_strerror(i32 noundef %5509, ptr noundef @.str.4)
  %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_debug(i32 noundef %5512, ptr noundef @.str.4)
  %5514 = call ptr @__errno_location() #10
  %5515 = load i32, ptr %5514, align 4, !tbaa !5
  %5516 = call ptr @strerror(i32 noundef %5515) #9
  %5517 = call ptr @__errno_location() #10
  %5518 = load i32, ptr %5517, align 4, !tbaa !5
  %5519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5506, ptr noundef @.str.2, i32 noundef %5507, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5510, ptr noundef %5513, ptr noundef %5516, i32 noundef %5518) #9
  br label %5537

5520:                                             ; preds = %5498, %5491
  %5521 = load i32, ptr %116, align 4, !tbaa !5
  %5522 = call ptr @__errno_location() #10
  store i32 %5521, ptr %5522, align 4, !tbaa !5
  %5523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5524 = load i32, ptr @test_count, align 4, !tbaa !5
  %5525 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5526 = load i32, ptr %5525, align 4, !tbaa !5
  %5527 = call ptr @s2n_strerror(i32 noundef %5526, ptr noundef @.str.4)
  %5528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5529 = load i32, ptr %5528, align 4, !tbaa !5
  %5530 = call ptr @s2n_strerror_debug(i32 noundef %5529, ptr noundef @.str.4)
  %5531 = call ptr @__errno_location() #10
  %5532 = load i32, ptr %5531, align 4, !tbaa !5
  %5533 = call ptr @strerror(i32 noundef %5532) #9
  %5534 = call ptr @__errno_location() #10
  %5535 = load i32, ptr %5534, align 4, !tbaa !5
  %5536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5523, ptr noundef @.str.5, i32 noundef %5524, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5527, ptr noundef %5530, ptr noundef %5533, i32 noundef %5535) #9
  br label %5537

5537:                                             ; preds = %5520, %5503
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %5538

5538:                                             ; preds = %5537
  br label %5539

5539:                                             ; preds = %5538
  call void @exit(i32 noundef 1) #11
  unreachable

5540:                                             ; No predecessors!
  br label %5541

5541:                                             ; preds = %5540
  br label %5542

5542:                                             ; preds = %5541, %5483
  br label %5543

5543:                                             ; preds = %5542
  br label %5544

5544:                                             ; preds = %5543
  br label %5545

5545:                                             ; preds = %5544
  %5546 = load i32, ptr @test_count, align 4, !tbaa !5
  %5547 = add nsw i32 %5546, 1
  store i32 %5547, ptr @test_count, align 4, !tbaa !5
  %5548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5549 = load i32, ptr %5548, align 4, !tbaa !5
  %5550 = call ptr @s2n_strerror_debug(i32 noundef %5549, ptr noundef @.str.4)
  %5551 = icmp eq ptr %5550, null
  br i1 %5551, label %5552, label %5605

5552:                                             ; preds = %5545
  br label %5553

5553:                                             ; preds = %5552
  br label %5554

5554:                                             ; preds = %5553
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #9
  %5555 = call ptr @__errno_location() #10
  %5556 = load i32, ptr %5555, align 4, !tbaa !5
  store i32 %5556, ptr %117, align 4, !tbaa !5
  %5557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5558 = call i32 @s2n_print_stacktrace(ptr noundef %5557)
  %5559 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5560 = trunc i8 %5559 to i1
  br i1 %5560, label %5561, label %5583

5561:                                             ; preds = %5554
  %5562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5563 = call i32 @fileno(ptr noundef %5562) #9
  %5564 = call i32 @isatty(i32 noundef %5563) #9
  %5565 = icmp ne i32 %5564, 0
  br i1 %5565, label %5566, label %5583

5566:                                             ; preds = %5561
  %5567 = load i32, ptr %117, align 4, !tbaa !5
  %5568 = call ptr @__errno_location() #10
  store i32 %5567, ptr %5568, align 4, !tbaa !5
  %5569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5570 = load i32, ptr @test_count, align 4, !tbaa !5
  %5571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @s2n_strerror(i32 noundef %5572, ptr noundef @.str.4)
  %5574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call ptr @s2n_strerror_debug(i32 noundef %5575, ptr noundef @.str.4)
  %5577 = call ptr @__errno_location() #10
  %5578 = load i32, ptr %5577, align 4, !tbaa !5
  %5579 = call ptr @strerror(i32 noundef %5578) #9
  %5580 = call ptr @__errno_location() #10
  %5581 = load i32, ptr %5580, align 4, !tbaa !5
  %5582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5569, ptr noundef @.str.2, i32 noundef %5570, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5573, ptr noundef %5576, ptr noundef %5579, i32 noundef %5581) #9
  br label %5600

5583:                                             ; preds = %5561, %5554
  %5584 = load i32, ptr %117, align 4, !tbaa !5
  %5585 = call ptr @__errno_location() #10
  store i32 %5584, ptr %5585, align 4, !tbaa !5
  %5586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5587 = load i32, ptr @test_count, align 4, !tbaa !5
  %5588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call ptr @s2n_strerror(i32 noundef %5589, ptr noundef @.str.4)
  %5591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5592 = load i32, ptr %5591, align 4, !tbaa !5
  %5593 = call ptr @s2n_strerror_debug(i32 noundef %5592, ptr noundef @.str.4)
  %5594 = call ptr @__errno_location() #10
  %5595 = load i32, ptr %5594, align 4, !tbaa !5
  %5596 = call ptr @strerror(i32 noundef %5595) #9
  %5597 = call ptr @__errno_location() #10
  %5598 = load i32, ptr %5597, align 4, !tbaa !5
  %5599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5586, ptr noundef @.str.5, i32 noundef %5587, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 235, ptr noundef %5590, ptr noundef %5593, ptr noundef %5596, i32 noundef %5598) #9
  br label %5600

5600:                                             ; preds = %5583, %5566
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #9
  br label %5601

5601:                                             ; preds = %5600
  br label %5602

5602:                                             ; preds = %5601
  call void @exit(i32 noundef 1) #11
  unreachable

5603:                                             ; No predecessors!
  br label %5604

5604:                                             ; preds = %5603
  br label %5605

5605:                                             ; preds = %5604, %5545
  br label %5606

5606:                                             ; preds = %5605
  br label %5607

5607:                                             ; preds = %5606
  br label %5608

5608:                                             ; preds = %5607
  br label %5609

5609:                                             ; preds = %5608
  br label %5610

5610:                                             ; preds = %5609
  %5611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5611, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5612 = call ptr @__errno_location() #10
  store i32 0, ptr %5612, align 4, !tbaa !5
  br label %5613

5613:                                             ; preds = %5610
  br label %5614

5614:                                             ; preds = %5613
  br label %5615

5615:                                             ; preds = %5614
  br label %5616

5616:                                             ; preds = %5615
  br label %5617

5617:                                             ; preds = %5616
  %5618 = load i32, ptr @test_count, align 4, !tbaa !5
  %5619 = add nsw i32 %5618, 1
  store i32 %5619, ptr @test_count, align 4, !tbaa !5
  %5620 = call i32 @s2n_stuffer_free(ptr noundef %109)
  %5621 = icmp eq i32 %5620, -1
  br i1 %5621, label %5622, label %5675

5622:                                             ; preds = %5617
  br label %5623

5623:                                             ; preds = %5622
  br label %5624

5624:                                             ; preds = %5623
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #9
  %5625 = call ptr @__errno_location() #10
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  store i32 %5626, ptr %118, align 4, !tbaa !5
  %5627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5628 = call i32 @s2n_print_stacktrace(ptr noundef %5627)
  %5629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5630 = trunc i8 %5629 to i1
  br i1 %5630, label %5631, label %5653

5631:                                             ; preds = %5624
  %5632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5633 = call i32 @fileno(ptr noundef %5632) #9
  %5634 = call i32 @isatty(i32 noundef %5633) #9
  %5635 = icmp ne i32 %5634, 0
  br i1 %5635, label %5636, label %5653

5636:                                             ; preds = %5631
  %5637 = load i32, ptr %118, align 4, !tbaa !5
  %5638 = call ptr @__errno_location() #10
  store i32 %5637, ptr %5638, align 4, !tbaa !5
  %5639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5640 = load i32, ptr @test_count, align 4, !tbaa !5
  %5641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5642 = load i32, ptr %5641, align 4, !tbaa !5
  %5643 = call ptr @s2n_strerror(i32 noundef %5642, ptr noundef @.str.4)
  %5644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5645 = load i32, ptr %5644, align 4, !tbaa !5
  %5646 = call ptr @s2n_strerror_debug(i32 noundef %5645, ptr noundef @.str.4)
  %5647 = call ptr @__errno_location() #10
  %5648 = load i32, ptr %5647, align 4, !tbaa !5
  %5649 = call ptr @strerror(i32 noundef %5648) #9
  %5650 = call ptr @__errno_location() #10
  %5651 = load i32, ptr %5650, align 4, !tbaa !5
  %5652 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5639, ptr noundef @.str.2, i32 noundef %5640, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5643, ptr noundef %5646, ptr noundef %5649, i32 noundef %5651) #9
  br label %5670

5653:                                             ; preds = %5631, %5624
  %5654 = load i32, ptr %118, align 4, !tbaa !5
  %5655 = call ptr @__errno_location() #10
  store i32 %5654, ptr %5655, align 4, !tbaa !5
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = load i32, ptr @test_count, align 4, !tbaa !5
  %5658 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5659 = load i32, ptr %5658, align 4, !tbaa !5
  %5660 = call ptr @s2n_strerror(i32 noundef %5659, ptr noundef @.str.4)
  %5661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5662 = load i32, ptr %5661, align 4, !tbaa !5
  %5663 = call ptr @s2n_strerror_debug(i32 noundef %5662, ptr noundef @.str.4)
  %5664 = call ptr @__errno_location() #10
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #9
  %5667 = call ptr @__errno_location() #10
  %5668 = load i32, ptr %5667, align 4, !tbaa !5
  %5669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5656, ptr noundef @.str.5, i32 noundef %5657, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5660, ptr noundef %5663, ptr noundef %5666, i32 noundef %5668) #9
  br label %5670

5670:                                             ; preds = %5653, %5636
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %5671

5671:                                             ; preds = %5670
  br label %5672

5672:                                             ; preds = %5671
  call void @exit(i32 noundef 1) #11
  unreachable

5673:                                             ; No predecessors!
  br label %5674

5674:                                             ; preds = %5673
  br label %5675

5675:                                             ; preds = %5674, %5617
  br label %5676

5676:                                             ; preds = %5675
  br label %5677

5677:                                             ; preds = %5676
  call void @llvm.lifetime.end.p0(i64 40, ptr %109) #9
  call void @llvm.lifetime.start.p0(i64 40, ptr %119) #9
  call void @llvm.memset.p0.i64(ptr align 8 %119, i8 0, i64 40, i1 false)
  br label %5678

5678:                                             ; preds = %5677
  %5679 = load i32, ptr @test_count, align 4, !tbaa !5
  %5680 = add nsw i32 %5679, 1
  store i32 %5680, ptr @test_count, align 4, !tbaa !5
  %5681 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %119, i32 noundef 1024)
  %5682 = icmp eq i32 %5681, -1
  br i1 %5682, label %5683, label %5736

5683:                                             ; preds = %5678
  br label %5684

5684:                                             ; preds = %5683
  br label %5685

5685:                                             ; preds = %5684
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  %5686 = call ptr @__errno_location() #10
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  store i32 %5687, ptr %120, align 4, !tbaa !5
  %5688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5689 = call i32 @s2n_print_stacktrace(ptr noundef %5688)
  %5690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5691 = trunc i8 %5690 to i1
  br i1 %5691, label %5692, label %5714

5692:                                             ; preds = %5685
  %5693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5694 = call i32 @fileno(ptr noundef %5693) #9
  %5695 = call i32 @isatty(i32 noundef %5694) #9
  %5696 = icmp ne i32 %5695, 0
  br i1 %5696, label %5697, label %5714

5697:                                             ; preds = %5692
  %5698 = load i32, ptr %120, align 4, !tbaa !5
  %5699 = call ptr @__errno_location() #10
  store i32 %5698, ptr %5699, align 4, !tbaa !5
  %5700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5701 = load i32, ptr @test_count, align 4, !tbaa !5
  %5702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5703 = load i32, ptr %5702, align 4, !tbaa !5
  %5704 = call ptr @s2n_strerror(i32 noundef %5703, ptr noundef @.str.4)
  %5705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5706 = load i32, ptr %5705, align 4, !tbaa !5
  %5707 = call ptr @s2n_strerror_debug(i32 noundef %5706, ptr noundef @.str.4)
  %5708 = call ptr @__errno_location() #10
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call ptr @strerror(i32 noundef %5709) #9
  %5711 = call ptr @__errno_location() #10
  %5712 = load i32, ptr %5711, align 4, !tbaa !5
  %5713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5700, ptr noundef @.str.2, i32 noundef %5701, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5704, ptr noundef %5707, ptr noundef %5710, i32 noundef %5712) #9
  br label %5731

5714:                                             ; preds = %5692, %5685
  %5715 = load i32, ptr %120, align 4, !tbaa !5
  %5716 = call ptr @__errno_location() #10
  store i32 %5715, ptr %5716, align 4, !tbaa !5
  %5717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5718 = load i32, ptr @test_count, align 4, !tbaa !5
  %5719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5720 = load i32, ptr %5719, align 4, !tbaa !5
  %5721 = call ptr @s2n_strerror(i32 noundef %5720, ptr noundef @.str.4)
  %5722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5723 = load i32, ptr %5722, align 4, !tbaa !5
  %5724 = call ptr @s2n_strerror_debug(i32 noundef %5723, ptr noundef @.str.4)
  %5725 = call ptr @__errno_location() #10
  %5726 = load i32, ptr %5725, align 4, !tbaa !5
  %5727 = call ptr @strerror(i32 noundef %5726) #9
  %5728 = call ptr @__errno_location() #10
  %5729 = load i32, ptr %5728, align 4, !tbaa !5
  %5730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5717, ptr noundef @.str.5, i32 noundef %5718, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5721, ptr noundef %5724, ptr noundef %5727, i32 noundef %5729) #9
  br label %5731

5731:                                             ; preds = %5714, %5697
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %5732

5732:                                             ; preds = %5731
  br label %5733

5733:                                             ; preds = %5732
  call void @exit(i32 noundef 1) #11
  unreachable

5734:                                             ; No predecessors!
  br label %5735

5735:                                             ; preds = %5734
  br label %5736

5736:                                             ; preds = %5735, %5678
  br label %5737

5737:                                             ; preds = %5736
  br label %5738

5738:                                             ; preds = %5737
  br label %5739

5739:                                             ; preds = %5738
  %5740 = load i32, ptr @test_count, align 4, !tbaa !5
  %5741 = add nsw i32 %5740, 1
  store i32 %5741, ptr @test_count, align 4, !tbaa !5
  %5742 = call i32 @s2n_stuffer_write_uint8(ptr noundef %119, i8 noundef zeroext 22)
  %5743 = icmp eq i32 %5742, -1
  br i1 %5743, label %5744, label %5797

5744:                                             ; preds = %5739
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

5746:                                             ; preds = %5745
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  %5747 = call ptr @__errno_location() #10
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  store i32 %5748, ptr %121, align 4, !tbaa !5
  %5749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5750 = call i32 @s2n_print_stacktrace(ptr noundef %5749)
  %5751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5752 = trunc i8 %5751 to i1
  br i1 %5752, label %5753, label %5775

5753:                                             ; preds = %5746
  %5754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5755 = call i32 @fileno(ptr noundef %5754) #9
  %5756 = call i32 @isatty(i32 noundef %5755) #9
  %5757 = icmp ne i32 %5756, 0
  br i1 %5757, label %5758, label %5775

5758:                                             ; preds = %5753
  %5759 = load i32, ptr %121, align 4, !tbaa !5
  %5760 = call ptr @__errno_location() #10
  store i32 %5759, ptr %5760, align 4, !tbaa !5
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5762 = load i32, ptr @test_count, align 4, !tbaa !5
  %5763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5764 = load i32, ptr %5763, align 4, !tbaa !5
  %5765 = call ptr @s2n_strerror(i32 noundef %5764, ptr noundef @.str.4)
  %5766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5767 = load i32, ptr %5766, align 4, !tbaa !5
  %5768 = call ptr @s2n_strerror_debug(i32 noundef %5767, ptr noundef @.str.4)
  %5769 = call ptr @__errno_location() #10
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @strerror(i32 noundef %5770) #9
  %5772 = call ptr @__errno_location() #10
  %5773 = load i32, ptr %5772, align 4, !tbaa !5
  %5774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5761, ptr noundef @.str.2, i32 noundef %5762, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5765, ptr noundef %5768, ptr noundef %5771, i32 noundef %5773) #9
  br label %5792

5775:                                             ; preds = %5753, %5746
  %5776 = load i32, ptr %121, align 4, !tbaa !5
  %5777 = call ptr @__errno_location() #10
  store i32 %5776, ptr %5777, align 4, !tbaa !5
  %5778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5779 = load i32, ptr @test_count, align 4, !tbaa !5
  %5780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5781 = load i32, ptr %5780, align 4, !tbaa !5
  %5782 = call ptr @s2n_strerror(i32 noundef %5781, ptr noundef @.str.4)
  %5783 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5784 = load i32, ptr %5783, align 4, !tbaa !5
  %5785 = call ptr @s2n_strerror_debug(i32 noundef %5784, ptr noundef @.str.4)
  %5786 = call ptr @__errno_location() #10
  %5787 = load i32, ptr %5786, align 4, !tbaa !5
  %5788 = call ptr @strerror(i32 noundef %5787) #9
  %5789 = call ptr @__errno_location() #10
  %5790 = load i32, ptr %5789, align 4, !tbaa !5
  %5791 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5778, ptr noundef @.str.5, i32 noundef %5779, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 245, ptr noundef %5782, ptr noundef %5785, ptr noundef %5788, i32 noundef %5790) #9
  br label %5792

5792:                                             ; preds = %5775, %5758
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %5793

5793:                                             ; preds = %5792
  br label %5794

5794:                                             ; preds = %5793
  call void @exit(i32 noundef 1) #11
  unreachable

5795:                                             ; No predecessors!
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

5797:                                             ; preds = %5796, %5739
  br label %5798

5798:                                             ; preds = %5797
  br label %5799

5799:                                             ; preds = %5798
  br label %5800

5800:                                             ; preds = %5869, %5799
  %5801 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 2
  %5802 = load i32, ptr %5801, align 4, !tbaa !18
  %5803 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 1
  %5804 = load i32, ptr %5803, align 8, !tbaa !21
  %5805 = sub i32 %5802, %5804
  %5806 = zext i32 %5805 to i64
  %5807 = icmp ult i64 %5806, 16402
  br i1 %5807, label %5808, label %5870

5808:                                             ; preds = %5800
  br label %5809

5809:                                             ; preds = %5808
  %5810 = load i32, ptr @test_count, align 4, !tbaa !5
  %5811 = add nsw i32 %5810, 1
  store i32 %5811, ptr @test_count, align 4, !tbaa !5
  %5812 = call i32 @s2n_stuffer_write_uint8(ptr noundef %119, i8 noundef zeroext 0)
  %5813 = icmp eq i32 %5812, -1
  br i1 %5813, label %5814, label %5867

5814:                                             ; preds = %5809
  br label %5815

5815:                                             ; preds = %5814
  br label %5816

5816:                                             ; preds = %5815
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  %5817 = call ptr @__errno_location() #10
  %5818 = load i32, ptr %5817, align 4, !tbaa !5
  store i32 %5818, ptr %122, align 4, !tbaa !5
  %5819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5820 = call i32 @s2n_print_stacktrace(ptr noundef %5819)
  %5821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5822 = trunc i8 %5821 to i1
  br i1 %5822, label %5823, label %5845

5823:                                             ; preds = %5816
  %5824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5825 = call i32 @fileno(ptr noundef %5824) #9
  %5826 = call i32 @isatty(i32 noundef %5825) #9
  %5827 = icmp ne i32 %5826, 0
  br i1 %5827, label %5828, label %5845

5828:                                             ; preds = %5823
  %5829 = load i32, ptr %122, align 4, !tbaa !5
  %5830 = call ptr @__errno_location() #10
  store i32 %5829, ptr %5830, align 4, !tbaa !5
  %5831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5832 = load i32, ptr @test_count, align 4, !tbaa !5
  %5833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5834 = load i32, ptr %5833, align 4, !tbaa !5
  %5835 = call ptr @s2n_strerror(i32 noundef %5834, ptr noundef @.str.4)
  %5836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5837 = load i32, ptr %5836, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror_debug(i32 noundef %5837, ptr noundef @.str.4)
  %5839 = call ptr @__errno_location() #10
  %5840 = load i32, ptr %5839, align 4, !tbaa !5
  %5841 = call ptr @strerror(i32 noundef %5840) #9
  %5842 = call ptr @__errno_location() #10
  %5843 = load i32, ptr %5842, align 4, !tbaa !5
  %5844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5831, ptr noundef @.str.2, i32 noundef %5832, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5835, ptr noundef %5838, ptr noundef %5841, i32 noundef %5843) #9
  br label %5862

5845:                                             ; preds = %5823, %5816
  %5846 = load i32, ptr %122, align 4, !tbaa !5
  %5847 = call ptr @__errno_location() #10
  store i32 %5846, ptr %5847, align 4, !tbaa !5
  %5848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5849 = load i32, ptr @test_count, align 4, !tbaa !5
  %5850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5851 = load i32, ptr %5850, align 4, !tbaa !5
  %5852 = call ptr @s2n_strerror(i32 noundef %5851, ptr noundef @.str.4)
  %5853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5854 = load i32, ptr %5853, align 4, !tbaa !5
  %5855 = call ptr @s2n_strerror_debug(i32 noundef %5854, ptr noundef @.str.4)
  %5856 = call ptr @__errno_location() #10
  %5857 = load i32, ptr %5856, align 4, !tbaa !5
  %5858 = call ptr @strerror(i32 noundef %5857) #9
  %5859 = call ptr @__errno_location() #10
  %5860 = load i32, ptr %5859, align 4, !tbaa !5
  %5861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5848, ptr noundef @.str.5, i32 noundef %5849, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5852, ptr noundef %5855, ptr noundef %5858, i32 noundef %5860) #9
  br label %5862

5862:                                             ; preds = %5845, %5828
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %5863

5863:                                             ; preds = %5862
  br label %5864

5864:                                             ; preds = %5863
  call void @exit(i32 noundef 1) #11
  unreachable

5865:                                             ; No predecessors!
  br label %5866

5866:                                             ; preds = %5865
  br label %5867

5867:                                             ; preds = %5866, %5809
  br label %5868

5868:                                             ; preds = %5867
  br label %5869

5869:                                             ; preds = %5868
  br label %5800, !llvm.loop !32

5870:                                             ; preds = %5800
  br label %5871

5871:                                             ; preds = %5870
  %5872 = load i32, ptr @test_count, align 4, !tbaa !5
  %5873 = add nsw i32 %5872, 1
  store i32 %5873, ptr @test_count, align 4, !tbaa !5
  %5874 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 2
  %5875 = load i32, ptr %5874, align 4, !tbaa !18
  %5876 = getelementptr inbounds %struct.s2n_stuffer, ptr %119, i32 0, i32 1
  %5877 = load i32, ptr %5876, align 8, !tbaa !21
  %5878 = sub i32 %5875, %5877
  %5879 = zext i32 %5878 to i64
  %5880 = icmp eq i64 %5879, 16402
  br i1 %5880, label %5934, label %5881

5881:                                             ; preds = %5871
  br label %5882

5882:                                             ; preds = %5881
  br label %5883

5883:                                             ; preds = %5882
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  %5884 = call ptr @__errno_location() #10
  %5885 = load i32, ptr %5884, align 4, !tbaa !5
  store i32 %5885, ptr %123, align 4, !tbaa !5
  %5886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5887 = call i32 @s2n_print_stacktrace(ptr noundef %5886)
  %5888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5889 = trunc i8 %5888 to i1
  br i1 %5889, label %5890, label %5912

5890:                                             ; preds = %5883
  %5891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5892 = call i32 @fileno(ptr noundef %5891) #9
  %5893 = call i32 @isatty(i32 noundef %5892) #9
  %5894 = icmp ne i32 %5893, 0
  br i1 %5894, label %5895, label %5912

5895:                                             ; preds = %5890
  %5896 = load i32, ptr %123, align 4, !tbaa !5
  %5897 = call ptr @__errno_location() #10
  store i32 %5896, ptr %5897, align 4, !tbaa !5
  %5898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5899 = load i32, ptr @test_count, align 4, !tbaa !5
  %5900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror(i32 noundef %5901, ptr noundef @.str.4)
  %5903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call ptr @s2n_strerror_debug(i32 noundef %5904, ptr noundef @.str.4)
  %5906 = call ptr @__errno_location() #10
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call ptr @strerror(i32 noundef %5907) #9
  %5909 = call ptr @__errno_location() #10
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5898, ptr noundef @.str.2, i32 noundef %5899, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5902, ptr noundef %5905, ptr noundef %5908, i32 noundef %5910) #9
  br label %5929

5912:                                             ; preds = %5890, %5883
  %5913 = load i32, ptr %123, align 4, !tbaa !5
  %5914 = call ptr @__errno_location() #10
  store i32 %5913, ptr %5914, align 4, !tbaa !5
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5916 = load i32, ptr @test_count, align 4, !tbaa !5
  %5917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5918 = load i32, ptr %5917, align 4, !tbaa !5
  %5919 = call ptr @s2n_strerror(i32 noundef %5918, ptr noundef @.str.4)
  %5920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5921 = load i32, ptr %5920, align 4, !tbaa !5
  %5922 = call ptr @s2n_strerror_debug(i32 noundef %5921, ptr noundef @.str.4)
  %5923 = call ptr @__errno_location() #10
  %5924 = load i32, ptr %5923, align 4, !tbaa !5
  %5925 = call ptr @strerror(i32 noundef %5924) #9
  %5926 = call ptr @__errno_location() #10
  %5927 = load i32, ptr %5926, align 4, !tbaa !5
  %5928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5915, ptr noundef @.str.5, i32 noundef %5916, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5919, ptr noundef %5922, ptr noundef %5925, i32 noundef %5927) #9
  br label %5929

5929:                                             ; preds = %5912, %5895
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  br label %5930

5930:                                             ; preds = %5929
  br label %5931

5931:                                             ; preds = %5930
  call void @exit(i32 noundef 1) #11
  unreachable

5932:                                             ; No predecessors!
  br label %5933

5933:                                             ; preds = %5932
  br label %5934

5934:                                             ; preds = %5933, %5871
  br label %5935

5935:                                             ; preds = %5934
  br label %5936

5936:                                             ; preds = %5935
  br label %5937

5937:                                             ; preds = %5936
  br label %5938

5938:                                             ; preds = %5937
  br label %5939

5939:                                             ; preds = %5938
  %5940 = load i32, ptr @test_count, align 4, !tbaa !5
  %5941 = add nsw i32 %5940, 1
  store i32 %5941, ptr @test_count, align 4, !tbaa !5
  %5942 = call i32 @s2n_tls13_parse_record_type(ptr noundef %119, ptr noundef %10)
  %5943 = icmp eq i32 %5942, -1
  br i1 %5943, label %5997, label %5944

5944:                                             ; preds = %5939
  br label %5945

5945:                                             ; preds = %5944
  br label %5946

5946:                                             ; preds = %5945
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #9
  %5947 = call ptr @__errno_location() #10
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  store i32 %5948, ptr %124, align 4, !tbaa !5
  %5949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5950 = call i32 @s2n_print_stacktrace(ptr noundef %5949)
  %5951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5952 = trunc i8 %5951 to i1
  br i1 %5952, label %5953, label %5975

5953:                                             ; preds = %5946
  %5954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5955 = call i32 @fileno(ptr noundef %5954) #9
  %5956 = call i32 @isatty(i32 noundef %5955) #9
  %5957 = icmp ne i32 %5956, 0
  br i1 %5957, label %5958, label %5975

5958:                                             ; preds = %5953
  %5959 = load i32, ptr %124, align 4, !tbaa !5
  %5960 = call ptr @__errno_location() #10
  store i32 %5959, ptr %5960, align 4, !tbaa !5
  %5961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5962 = load i32, ptr @test_count, align 4, !tbaa !5
  %5963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5964 = load i32, ptr %5963, align 4, !tbaa !5
  %5965 = call ptr @s2n_strerror(i32 noundef %5964, ptr noundef @.str.4)
  %5966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5967 = load i32, ptr %5966, align 4, !tbaa !5
  %5968 = call ptr @s2n_strerror_debug(i32 noundef %5967, ptr noundef @.str.4)
  %5969 = call ptr @__errno_location() #10
  %5970 = load i32, ptr %5969, align 4, !tbaa !5
  %5971 = call ptr @strerror(i32 noundef %5970) #9
  %5972 = call ptr @__errno_location() #10
  %5973 = load i32, ptr %5972, align 4, !tbaa !5
  %5974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5961, ptr noundef @.str.2, i32 noundef %5962, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5965, ptr noundef %5968, ptr noundef %5971, i32 noundef %5973) #9
  br label %5992

5975:                                             ; preds = %5953, %5946
  %5976 = load i32, ptr %124, align 4, !tbaa !5
  %5977 = call ptr @__errno_location() #10
  store i32 %5976, ptr %5977, align 4, !tbaa !5
  %5978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5979 = load i32, ptr @test_count, align 4, !tbaa !5
  %5980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5981 = load i32, ptr %5980, align 4, !tbaa !5
  %5982 = call ptr @s2n_strerror(i32 noundef %5981, ptr noundef @.str.4)
  %5983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5984 = load i32, ptr %5983, align 4, !tbaa !5
  %5985 = call ptr @s2n_strerror_debug(i32 noundef %5984, ptr noundef @.str.4)
  %5986 = call ptr @__errno_location() #10
  %5987 = load i32, ptr %5986, align 4, !tbaa !5
  %5988 = call ptr @strerror(i32 noundef %5987) #9
  %5989 = call ptr @__errno_location() #10
  %5990 = load i32, ptr %5989, align 4, !tbaa !5
  %5991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5978, ptr noundef @.str.5, i32 noundef %5979, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5982, ptr noundef %5985, ptr noundef %5988, i32 noundef %5990) #9
  br label %5992

5992:                                             ; preds = %5975, %5958
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  br label %5993

5993:                                             ; preds = %5992
  br label %5994

5994:                                             ; preds = %5993
  call void @exit(i32 noundef 1) #11
  unreachable

5995:                                             ; No predecessors!
  br label %5996

5996:                                             ; preds = %5995
  br label %5997

5997:                                             ; preds = %5996, %5939
  br label %5998

5998:                                             ; preds = %5997
  br label %5999

5999:                                             ; preds = %5998
  br label %6000

6000:                                             ; preds = %5999
  %6001 = load i32, ptr @test_count, align 4, !tbaa !5
  %6002 = add nsw i32 %6001, 1
  store i32 %6002, ptr @test_count, align 4, !tbaa !5
  %6003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6004 = load i32, ptr %6003, align 4, !tbaa !5
  %6005 = icmp eq i32 %6004, 335544388
  br i1 %6005, label %6059, label %6006

6006:                                             ; preds = %6000
  br label %6007

6007:                                             ; preds = %6006
  br label %6008

6008:                                             ; preds = %6007
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %6009 = call ptr @__errno_location() #10
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  store i32 %6010, ptr %125, align 4, !tbaa !5
  %6011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6012 = call i32 @s2n_print_stacktrace(ptr noundef %6011)
  %6013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6014 = trunc i8 %6013 to i1
  br i1 %6014, label %6015, label %6037

6015:                                             ; preds = %6008
  %6016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6017 = call i32 @fileno(ptr noundef %6016) #9
  %6018 = call i32 @isatty(i32 noundef %6017) #9
  %6019 = icmp ne i32 %6018, 0
  br i1 %6019, label %6020, label %6037

6020:                                             ; preds = %6015
  %6021 = load i32, ptr %125, align 4, !tbaa !5
  %6022 = call ptr @__errno_location() #10
  store i32 %6021, ptr %6022, align 4, !tbaa !5
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6026, ptr noundef @.str.4)
  %6028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6029 = load i32, ptr %6028, align 4, !tbaa !5
  %6030 = call ptr @s2n_strerror_debug(i32 noundef %6029, ptr noundef @.str.4)
  %6031 = call ptr @__errno_location() #10
  %6032 = load i32, ptr %6031, align 4, !tbaa !5
  %6033 = call ptr @strerror(i32 noundef %6032) #9
  %6034 = call ptr @__errno_location() #10
  %6035 = load i32, ptr %6034, align 4, !tbaa !5
  %6036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6023, ptr noundef @.str.2, i32 noundef %6024, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6027, ptr noundef %6030, ptr noundef %6033, i32 noundef %6035) #9
  br label %6054

6037:                                             ; preds = %6015, %6008
  %6038 = load i32, ptr %125, align 4, !tbaa !5
  %6039 = call ptr @__errno_location() #10
  store i32 %6038, ptr %6039, align 4, !tbaa !5
  %6040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6041 = load i32, ptr @test_count, align 4, !tbaa !5
  %6042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6043 = load i32, ptr %6042, align 4, !tbaa !5
  %6044 = call ptr @s2n_strerror(i32 noundef %6043, ptr noundef @.str.4)
  %6045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6046 = load i32, ptr %6045, align 4, !tbaa !5
  %6047 = call ptr @s2n_strerror_debug(i32 noundef %6046, ptr noundef @.str.4)
  %6048 = call ptr @__errno_location() #10
  %6049 = load i32, ptr %6048, align 4, !tbaa !5
  %6050 = call ptr @strerror(i32 noundef %6049) #9
  %6051 = call ptr @__errno_location() #10
  %6052 = load i32, ptr %6051, align 4, !tbaa !5
  %6053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6040, ptr noundef @.str.5, i32 noundef %6041, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6044, ptr noundef %6047, ptr noundef %6050, i32 noundef %6052) #9
  br label %6054

6054:                                             ; preds = %6037, %6020
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  call void @exit(i32 noundef 1) #11
  unreachable

6057:                                             ; No predecessors!
  br label %6058

6058:                                             ; preds = %6057
  br label %6059

6059:                                             ; preds = %6058, %6000
  br label %6060

6060:                                             ; preds = %6059
  br label %6061

6061:                                             ; preds = %6060
  br label %6062

6062:                                             ; preds = %6061
  %6063 = load i32, ptr @test_count, align 4, !tbaa !5
  %6064 = add nsw i32 %6063, 1
  store i32 %6064, ptr @test_count, align 4, !tbaa !5
  %6065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror_debug(i32 noundef %6066, ptr noundef @.str.4)
  %6068 = icmp eq ptr %6067, null
  br i1 %6068, label %6069, label %6122

6069:                                             ; preds = %6062
  br label %6070

6070:                                             ; preds = %6069
  br label %6071

6071:                                             ; preds = %6070
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  %6072 = call ptr @__errno_location() #10
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  store i32 %6073, ptr %126, align 4, !tbaa !5
  %6074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6075 = call i32 @s2n_print_stacktrace(ptr noundef %6074)
  %6076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6077 = trunc i8 %6076 to i1
  br i1 %6077, label %6078, label %6100

6078:                                             ; preds = %6071
  %6079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6080 = call i32 @fileno(ptr noundef %6079) #9
  %6081 = call i32 @isatty(i32 noundef %6080) #9
  %6082 = icmp ne i32 %6081, 0
  br i1 %6082, label %6083, label %6100

6083:                                             ; preds = %6078
  %6084 = load i32, ptr %126, align 4, !tbaa !5
  %6085 = call ptr @__errno_location() #10
  store i32 %6084, ptr %6085, align 4, !tbaa !5
  %6086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6087 = load i32, ptr @test_count, align 4, !tbaa !5
  %6088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6089 = load i32, ptr %6088, align 4, !tbaa !5
  %6090 = call ptr @s2n_strerror(i32 noundef %6089, ptr noundef @.str.4)
  %6091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6092 = load i32, ptr %6091, align 4, !tbaa !5
  %6093 = call ptr @s2n_strerror_debug(i32 noundef %6092, ptr noundef @.str.4)
  %6094 = call ptr @__errno_location() #10
  %6095 = load i32, ptr %6094, align 4, !tbaa !5
  %6096 = call ptr @strerror(i32 noundef %6095) #9
  %6097 = call ptr @__errno_location() #10
  %6098 = load i32, ptr %6097, align 4, !tbaa !5
  %6099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6086, ptr noundef @.str.2, i32 noundef %6087, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6090, ptr noundef %6093, ptr noundef %6096, i32 noundef %6098) #9
  br label %6117

6100:                                             ; preds = %6078, %6071
  %6101 = load i32, ptr %126, align 4, !tbaa !5
  %6102 = call ptr @__errno_location() #10
  store i32 %6101, ptr %6102, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6106 = load i32, ptr %6105, align 4, !tbaa !5
  %6107 = call ptr @s2n_strerror(i32 noundef %6106, ptr noundef @.str.4)
  %6108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6109 = load i32, ptr %6108, align 4, !tbaa !5
  %6110 = call ptr @s2n_strerror_debug(i32 noundef %6109, ptr noundef @.str.4)
  %6111 = call ptr @__errno_location() #10
  %6112 = load i32, ptr %6111, align 4, !tbaa !5
  %6113 = call ptr @strerror(i32 noundef %6112) #9
  %6114 = call ptr @__errno_location() #10
  %6115 = load i32, ptr %6114, align 4, !tbaa !5
  %6116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6103, ptr noundef @.str.5, i32 noundef %6104, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 251, ptr noundef %6107, ptr noundef %6110, ptr noundef %6113, i32 noundef %6115) #9
  br label %6117

6117:                                             ; preds = %6100, %6083
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %6118

6118:                                             ; preds = %6117
  br label %6119

6119:                                             ; preds = %6118
  call void @exit(i32 noundef 1) #11
  unreachable

6120:                                             ; No predecessors!
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

6122:                                             ; preds = %6121, %6062
  br label %6123

6123:                                             ; preds = %6122
  br label %6124

6124:                                             ; preds = %6123
  br label %6125

6125:                                             ; preds = %6124
  br label %6126

6126:                                             ; preds = %6125
  br label %6127

6127:                                             ; preds = %6126
  %6128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6128, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6129 = call ptr @__errno_location() #10
  store i32 0, ptr %6129, align 4, !tbaa !5
  br label %6130

6130:                                             ; preds = %6127
  br label %6131

6131:                                             ; preds = %6130
  br label %6132

6132:                                             ; preds = %6131
  br label %6133

6133:                                             ; preds = %6132
  br label %6134

6134:                                             ; preds = %6133
  %6135 = load i32, ptr @test_count, align 4, !tbaa !5
  %6136 = add nsw i32 %6135, 1
  store i32 %6136, ptr @test_count, align 4, !tbaa !5
  %6137 = call i32 @s2n_stuffer_free(ptr noundef %119)
  %6138 = icmp eq i32 %6137, -1
  br i1 %6138, label %6139, label %6192

6139:                                             ; preds = %6134
  br label %6140

6140:                                             ; preds = %6139
  br label %6141

6141:                                             ; preds = %6140
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %6142 = call ptr @__errno_location() #10
  %6143 = load i32, ptr %6142, align 4, !tbaa !5
  store i32 %6143, ptr %127, align 4, !tbaa !5
  %6144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6145 = call i32 @s2n_print_stacktrace(ptr noundef %6144)
  %6146 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6147 = trunc i8 %6146 to i1
  br i1 %6147, label %6148, label %6170

6148:                                             ; preds = %6141
  %6149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6150 = call i32 @fileno(ptr noundef %6149) #9
  %6151 = call i32 @isatty(i32 noundef %6150) #9
  %6152 = icmp ne i32 %6151, 0
  br i1 %6152, label %6153, label %6170

6153:                                             ; preds = %6148
  %6154 = load i32, ptr %127, align 4, !tbaa !5
  %6155 = call ptr @__errno_location() #10
  store i32 %6154, ptr %6155, align 4, !tbaa !5
  %6156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6157 = load i32, ptr @test_count, align 4, !tbaa !5
  %6158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6159 = load i32, ptr %6158, align 4, !tbaa !5
  %6160 = call ptr @s2n_strerror(i32 noundef %6159, ptr noundef @.str.4)
  %6161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6162 = load i32, ptr %6161, align 4, !tbaa !5
  %6163 = call ptr @s2n_strerror_debug(i32 noundef %6162, ptr noundef @.str.4)
  %6164 = call ptr @__errno_location() #10
  %6165 = load i32, ptr %6164, align 4, !tbaa !5
  %6166 = call ptr @strerror(i32 noundef %6165) #9
  %6167 = call ptr @__errno_location() #10
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6156, ptr noundef @.str.2, i32 noundef %6157, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6160, ptr noundef %6163, ptr noundef %6166, i32 noundef %6168) #9
  br label %6187

6170:                                             ; preds = %6148, %6141
  %6171 = load i32, ptr %127, align 4, !tbaa !5
  %6172 = call ptr @__errno_location() #10
  store i32 %6171, ptr %6172, align 4, !tbaa !5
  %6173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6174 = load i32, ptr @test_count, align 4, !tbaa !5
  %6175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6176 = load i32, ptr %6175, align 4, !tbaa !5
  %6177 = call ptr @s2n_strerror(i32 noundef %6176, ptr noundef @.str.4)
  %6178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6179 = load i32, ptr %6178, align 4, !tbaa !5
  %6180 = call ptr @s2n_strerror_debug(i32 noundef %6179, ptr noundef @.str.4)
  %6181 = call ptr @__errno_location() #10
  %6182 = load i32, ptr %6181, align 4, !tbaa !5
  %6183 = call ptr @strerror(i32 noundef %6182) #9
  %6184 = call ptr @__errno_location() #10
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6173, ptr noundef @.str.5, i32 noundef %6174, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 252, ptr noundef %6177, ptr noundef %6180, ptr noundef %6183, i32 noundef %6185) #9
  br label %6187

6187:                                             ; preds = %6170, %6153
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %6188

6188:                                             ; preds = %6187
  br label %6189

6189:                                             ; preds = %6188
  call void @exit(i32 noundef 1) #11
  unreachable

6190:                                             ; No predecessors!
  br label %6191

6191:                                             ; preds = %6190
  br label %6192

6192:                                             ; preds = %6191, %6134
  br label %6193

6193:                                             ; preds = %6192
  br label %6194

6194:                                             ; preds = %6193
  call void @llvm.lifetime.end.p0(i64 40, ptr %119) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %90) #9
  br label %6195

6195:                                             ; preds = %6194
  br label %6196

6196:                                             ; preds = %6195
  %6197 = call i32 @s2n_cleanup()
  %6198 = icmp eq i32 %6197, -1
  br i1 %6198, label %6199, label %6252

6199:                                             ; preds = %6196
  br label %6200

6200:                                             ; preds = %6199
  br label %6201

6201:                                             ; preds = %6200
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %6202 = call ptr @__errno_location() #10
  %6203 = load i32, ptr %6202, align 4, !tbaa !5
  store i32 %6203, ptr %128, align 4, !tbaa !5
  %6204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6205 = call i32 @s2n_print_stacktrace(ptr noundef %6204)
  %6206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6207 = trunc i8 %6206 to i1
  br i1 %6207, label %6208, label %6230

6208:                                             ; preds = %6201
  %6209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6210 = call i32 @fileno(ptr noundef %6209) #9
  %6211 = call i32 @isatty(i32 noundef %6210) #9
  %6212 = icmp ne i32 %6211, 0
  br i1 %6212, label %6213, label %6230

6213:                                             ; preds = %6208
  %6214 = load i32, ptr %128, align 4, !tbaa !5
  %6215 = call ptr @__errno_location() #10
  store i32 %6214, ptr %6215, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror(i32 noundef %6219, ptr noundef @.str.4)
  %6221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call ptr @s2n_strerror_debug(i32 noundef %6222, ptr noundef @.str.4)
  %6224 = call ptr @__errno_location() #10
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call ptr @strerror(i32 noundef %6225) #9
  %6227 = call ptr @__errno_location() #10
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6216, ptr noundef @.str.2, i32 noundef %6217, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6220, ptr noundef %6223, ptr noundef %6226, i32 noundef %6228) #9
  br label %6247

6230:                                             ; preds = %6208, %6201
  %6231 = load i32, ptr %128, align 4, !tbaa !5
  %6232 = call ptr @__errno_location() #10
  store i32 %6231, ptr %6232, align 4, !tbaa !5
  %6233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6234 = load i32, ptr @test_count, align 4, !tbaa !5
  %6235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6236 = load i32, ptr %6235, align 4, !tbaa !5
  %6237 = call ptr @s2n_strerror(i32 noundef %6236, ptr noundef @.str.4)
  %6238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6239 = load i32, ptr %6238, align 4, !tbaa !5
  %6240 = call ptr @s2n_strerror_debug(i32 noundef %6239, ptr noundef @.str.4)
  %6241 = call ptr @__errno_location() #10
  %6242 = load i32, ptr %6241, align 4, !tbaa !5
  %6243 = call ptr @strerror(i32 noundef %6242) #9
  %6244 = call ptr @__errno_location() #10
  %6245 = load i32, ptr %6244, align 4, !tbaa !5
  %6246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6233, ptr noundef @.str.5, i32 noundef %6234, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6237, ptr noundef %6240, ptr noundef %6243, i32 noundef %6245) #9
  br label %6247

6247:                                             ; preds = %6230, %6213
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

6249:                                             ; preds = %6248
  call void @exit(i32 noundef 1) #11
  unreachable

6250:                                             ; No predecessors!
  br label %6251

6251:                                             ; preds = %6250
  br label %6252

6252:                                             ; preds = %6251, %6196
  br label %6253

6253:                                             ; preds = %6252
  br label %6254

6254:                                             ; preds = %6253
  br label %6255

6255:                                             ; preds = %6254
  br label %6256

6256:                                             ; preds = %6255
  %6257 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %6258 = icmp eq i32 %6257, -1
  br i1 %6258, label %6259, label %6312

6259:                                             ; preds = %6256
  br label %6260

6260:                                             ; preds = %6259
  br label %6261

6261:                                             ; preds = %6260
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #9
  %6262 = call ptr @__errno_location() #10
  %6263 = load i32, ptr %6262, align 4, !tbaa !5
  store i32 %6263, ptr %129, align 4, !tbaa !5
  %6264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6265 = call i32 @s2n_print_stacktrace(ptr noundef %6264)
  %6266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6267 = trunc i8 %6266 to i1
  br i1 %6267, label %6268, label %6290

6268:                                             ; preds = %6261
  %6269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6270 = call i32 @fileno(ptr noundef %6269) #9
  %6271 = call i32 @isatty(i32 noundef %6270) #9
  %6272 = icmp ne i32 %6271, 0
  br i1 %6272, label %6273, label %6290

6273:                                             ; preds = %6268
  %6274 = load i32, ptr %129, align 4, !tbaa !5
  %6275 = call ptr @__errno_location() #10
  store i32 %6274, ptr %6275, align 4, !tbaa !5
  %6276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6277 = load i32, ptr @test_count, align 4, !tbaa !5
  %6278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6279 = load i32, ptr %6278, align 4, !tbaa !5
  %6280 = call ptr @s2n_strerror(i32 noundef %6279, ptr noundef @.str.4)
  %6281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6282 = load i32, ptr %6281, align 4, !tbaa !5
  %6283 = call ptr @s2n_strerror_debug(i32 noundef %6282, ptr noundef @.str.4)
  %6284 = call ptr @__errno_location() #10
  %6285 = load i32, ptr %6284, align 4, !tbaa !5
  %6286 = call ptr @strerror(i32 noundef %6285) #9
  %6287 = call ptr @__errno_location() #10
  %6288 = load i32, ptr %6287, align 4, !tbaa !5
  %6289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6276, ptr noundef @.str.2, i32 noundef %6277, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6280, ptr noundef %6283, ptr noundef %6286, i32 noundef %6288) #9
  br label %6307

6290:                                             ; preds = %6268, %6261
  %6291 = load i32, ptr %129, align 4, !tbaa !5
  %6292 = call ptr @__errno_location() #10
  store i32 %6291, ptr %6292, align 4, !tbaa !5
  %6293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6294 = load i32, ptr @test_count, align 4, !tbaa !5
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror(i32 noundef %6296, ptr noundef @.str.4)
  %6298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @s2n_strerror_debug(i32 noundef %6299, ptr noundef @.str.4)
  %6301 = call ptr @__errno_location() #10
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call ptr @strerror(i32 noundef %6302) #9
  %6304 = call ptr @__errno_location() #10
  %6305 = load i32, ptr %6304, align 4, !tbaa !5
  %6306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6293, ptr noundef @.str.5, i32 noundef %6294, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 255, ptr noundef %6297, ptr noundef %6300, ptr noundef %6303, i32 noundef %6305) #9
  br label %6307

6307:                                             ; preds = %6290, %6273
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #9
  br label %6308

6308:                                             ; preds = %6307
  br label %6309

6309:                                             ; preds = %6308
  call void @exit(i32 noundef 1) #11
  unreachable

6310:                                             ; No predecessors!
  br label %6311

6311:                                             ; preds = %6310
  br label %6312

6312:                                             ; preds = %6311, %6256
  br label %6313

6313:                                             ; preds = %6312
  br label %6314

6314:                                             ; preds = %6313
  %6315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6316 = trunc i8 %6315 to i1
  br i1 %6316, label %6317, label %6333

6317:                                             ; preds = %6314
  %6318 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6319 = call i32 @fileno(ptr noundef %6318) #9
  %6320 = call i32 @isatty(i32 noundef %6319) #9
  %6321 = icmp ne i32 %6320, 0
  br i1 %6321, label %6322, label %6333

6322:                                             ; preds = %6317
  %6323 = load i32, ptr @test_count, align 4, !tbaa !5
  %6324 = icmp ne i32 %6323, 0
  br i1 %6324, label %6325, label %6329

6325:                                             ; preds = %6322
  %6326 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6327 = load i32, ptr @test_count, align 4, !tbaa !5
  %6328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6326, ptr noundef @.str.46, i32 noundef %6327) #9
  br label %6332

6329:                                             ; preds = %6322
  %6330 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6330, ptr noundef @.str.47) #9
  br label %6332

6332:                                             ; preds = %6329, %6325
  br label %6344

6333:                                             ; preds = %6317, %6314
  %6334 = load i32, ptr @test_count, align 4, !tbaa !5
  %6335 = icmp ne i32 %6334, 0
  br i1 %6335, label %6336, label %6340

6336:                                             ; preds = %6333
  %6337 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6338 = load i32, ptr @test_count, align 4, !tbaa !5
  %6339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6337, ptr noundef @.str.48, i32 noundef %6338) #9
  br label %6343

6340:                                             ; preds = %6333
  %6341 = load ptr, ptr @stdout, align 8, !tbaa !9
  %6342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6341, ptr noundef @.str.49) #9
  br label %6343

6343:                                             ; preds = %6340, %6336
  br label %6344

6344:                                             ; preds = %6343, %6332
  store i32 0, ptr %3, align 4
  store i32 1, ptr %36, align 4
  br label %6349

6345:                                             ; No predecessors!
  br label %6346

6346:                                             ; preds = %6345
  br label %6347

6347:                                             ; preds = %6346
  br label %6348

6348:                                             ; preds = %6347
  store i32 0, ptr %36, align 4
  br label %6349

6349:                                             ; preds = %6348, %6344
  call void @llvm.lifetime.end.p0(i64 1, ptr %72) #9
  call void @llvm.lifetime.end.p0(i64 1, ptr %71) #9
  br label %6350

6350:                                             ; preds = %6349, %3106
  call void @llvm.lifetime.end.p0(i64 1, ptr %10) #9
  %6351 = load i32, ptr %36, align 4
  switch i32 %6351, label %6354 [
    i32 0, label %6352
    i32 1, label %6352
  ]

6352:                                             ; preds = %6350, %6350
  %6353 = load i32, ptr %3, align 4
  ret i32 %6353

6354:                                             ; preds = %6350
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

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

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #5

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #7

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) #2

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

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

declare i32 @s2n_free(ptr noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #8

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

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

declare i32 @s2n_stuffer_wipe(ptr noundef) #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { 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 = !{!7, !7, i64 0}
!16 = !{!17, !17, i64 0}
!17 = !{!"short", !7, i64 0}
!18 = !{!19, !6, i64 28}
!19 = !{!"s2n_stuffer", !20, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!20 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!21 = !{!19, !6, i64 24}
!22 = distinct !{!22, !23}
!23 = !{!"llvm.loop.mustprogress"}
!24 = distinct !{!24, !23}
!25 = !{!26, !26, i64 0}
!26 = !{!"long", !7, i64 0}
!27 = distinct !{!27, !23}
!28 = distinct !{!28, !23}
!29 = distinct !{!29, !23}
!30 = distinct !{!30, !23}
!31 = distinct !{!31, !23}
!32 = distinct !{!32, !23}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [91 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [5 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [118 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca i8, align 1
  %4 = alloca %struct.s2n_stuffer, align 8
  %5 = alloca %struct.s2n_stuffer, align 8
  %6 = alloca %struct.s2n_stuffer, align 8
  %7 = alloca %struct.s2n_stuffer, align 8
  %8 = alloca %struct.s2n_blob, align 8
  %9 = alloca %struct.s2n_blob, align 8
  %10 = alloca %struct.s2n_blob, align 8
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca %struct.s2n_blob, align 8
  %13 = alloca %struct.s2n_stuffer, align 8
  %14 = alloca %struct.s2n_stuffer, align 8
  %15 = alloca %struct.s2n_stuffer, align 8
  %16 = alloca %struct.s2n_stuffer, align 8
  %17 = alloca %struct.s2n_stuffer, align 8
  %18 = alloca %struct.s2n_stuffer, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %19 = load ptr, ptr @stdout, align 8, !tbaa !9
  %20 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #10
  %21 = load ptr, ptr @stdout, align 8, !tbaa !9
  %22 = tail call i32 @fflush(ptr noundef %21)
  %23 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #10
  %24 = icmp eq i32 %23, -1
  br i1 %24, label %25, label %49

25:                                               ; preds = %2
  %26 = tail call ptr @__errno_location() #11
  %27 = load i32, ptr %26, align 4, !tbaa !5
  %28 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29 = tail call i32 @s2n_print_stacktrace(ptr noundef %28) #10
  %30 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31 = trunc nuw i8 %30 to i1
  br i1 %31, label %32, label %36

32:                                               ; preds = %25
  %33 = load ptr, ptr @stderr, align 8, !tbaa !9
  %34 = tail call i32 @fileno(ptr noundef %33) #10
  %35 = tail call i32 @isatty(i32 noundef %34) #10
  %.not307 = icmp eq i32 %35, 0
  br i1 %.not307, label %36, label %37

36:                                               ; preds = %32, %25
  br label %37

37:                                               ; preds = %32, %36
  %.str.5.sink = phi ptr [ @.str.5, %36 ], [ @.str.2, %32 ]
  store i32 %27, ptr %26, align 4, !tbaa !5
  %38 = load ptr, ptr @stderr, align 8, !tbaa !9
  %39 = load i32, ptr @test_count, align 4, !tbaa !5
  %40 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %41 = load i32, ptr %40, align 4, !tbaa !5
  %42 = tail call ptr @s2n_strerror(i32 noundef %41, ptr noundef nonnull @.str.4) #10
  %43 = load i32, ptr %40, align 4, !tbaa !5
  %44 = tail call ptr @s2n_strerror_debug(i32 noundef %43, ptr noundef nonnull @.str.4) #10
  %45 = load i32, ptr %26, align 4, !tbaa !5
  %46 = tail call ptr @strerror(i32 noundef %45) #10
  %47 = load i32, ptr %26, align 4, !tbaa !5
  %48 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %38, ptr noundef nonnull %.str.5.sink, i32 noundef %39, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %42, ptr noundef %44, ptr noundef %46, i32 noundef %47) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

49:                                               ; preds = %2
  %50 = load i32, ptr @test_count, align 4, !tbaa !5
  %51 = add nsw i32 %50, 1
  store i32 %51, ptr @test_count, align 4, !tbaa !5
  %52 = tail call i32 @s2n_enable_atexit() #10
  %53 = icmp eq i32 %52, -1
  br i1 %53, label %54, label %78

54:                                               ; preds = %49
  %55 = tail call ptr @__errno_location() #11
  %56 = load i32, ptr %55, align 4, !tbaa !5
  %57 = load ptr, ptr @stderr, align 8, !tbaa !9
  %58 = tail call i32 @s2n_print_stacktrace(ptr noundef %57) #10
  %59 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %60 = trunc nuw i8 %59 to i1
  br i1 %60, label %61, label %65

61:                                               ; preds = %54
  %62 = load ptr, ptr @stderr, align 8, !tbaa !9
  %63 = tail call i32 @fileno(ptr noundef %62) #10
  %64 = tail call i32 @isatty(i32 noundef %63) #10
  %.not306 = icmp eq i32 %64, 0
  br i1 %.not306, label %65, label %66

65:                                               ; preds = %61, %54
  br label %66

66:                                               ; preds = %61, %65
  %.str.5.sink362 = phi ptr [ @.str.5, %65 ], [ @.str.2, %61 ]
  store i32 %56, ptr %55, align 4, !tbaa !5
  %67 = load ptr, ptr @stderr, align 8, !tbaa !9
  %68 = load i32, ptr @test_count, align 4, !tbaa !5
  %69 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %70 = load i32, ptr %69, align 4, !tbaa !5
  %71 = tail call ptr @s2n_strerror(i32 noundef %70, ptr noundef nonnull @.str.4) #10
  %72 = load i32, ptr %69, align 4, !tbaa !5
  %73 = tail call ptr @s2n_strerror_debug(i32 noundef %72, ptr noundef nonnull @.str.4) #10
  %74 = load i32, ptr %55, align 4, !tbaa !5
  %75 = tail call ptr @strerror(i32 noundef %74) #10
  %76 = load i32, ptr %55, align 4, !tbaa !5
  %77 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %67, ptr noundef nonnull %.str.5.sink362, i32 noundef %68, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %71, ptr noundef %73, ptr noundef %75, i32 noundef %76) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

78:                                               ; preds = %49
  %79 = tail call i32 @s2n_init() #10
  %80 = icmp eq i32 %79, -1
  br i1 %80, label %81, label %105

81:                                               ; preds = %78
  %82 = tail call ptr @__errno_location() #11
  %83 = load i32, ptr %82, align 4, !tbaa !5
  %84 = load ptr, ptr @stderr, align 8, !tbaa !9
  %85 = tail call i32 @s2n_print_stacktrace(ptr noundef %84) #10
  %86 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %87 = trunc nuw i8 %86 to i1
  br i1 %87, label %88, label %92

88:                                               ; preds = %81
  %89 = load ptr, ptr @stderr, align 8, !tbaa !9
  %90 = tail call i32 @fileno(ptr noundef %89) #10
  %91 = tail call i32 @isatty(i32 noundef %90) #10
  %.not305 = icmp eq i32 %91, 0
  br i1 %.not305, label %92, label %93

92:                                               ; preds = %88, %81
  br label %93

93:                                               ; preds = %88, %92
  %.str.5.sink373 = phi ptr [ @.str.5, %92 ], [ @.str.2, %88 ]
  store i32 %83, ptr %82, align 4, !tbaa !5
  %94 = load ptr, ptr @stderr, align 8, !tbaa !9
  %95 = load i32, ptr @test_count, align 4, !tbaa !5
  %96 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %97 = load i32, ptr %96, align 4, !tbaa !5
  %98 = tail call ptr @s2n_strerror(i32 noundef %97, ptr noundef nonnull @.str.4) #10
  %99 = load i32, ptr %96, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror_debug(i32 noundef %99, ptr noundef nonnull @.str.4) #10
  %101 = load i32, ptr %82, align 4, !tbaa !5
  %102 = tail call ptr @strerror(i32 noundef %101) #10
  %103 = load i32, ptr %82, align 4, !tbaa !5
  %104 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %94, ptr noundef nonnull %.str.5.sink373, i32 noundef %95, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %98, ptr noundef %100, ptr noundef %102, i32 noundef %103) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

105:                                              ; preds = %78
  %106 = load i32, ptr @test_count, align 4, !tbaa !5
  %107 = add nsw i32 %106, 1
  store i32 %107, ptr @test_count, align 4, !tbaa !5
  %108 = tail call i32 (...) @s2n_disable_tls13_in_test() #10
  %109 = icmp eq i32 %108, -1
  br i1 %109, label %110, label %134

110:                                              ; preds = %105
  %111 = tail call ptr @__errno_location() #11
  %112 = load i32, ptr %111, align 4, !tbaa !5
  %113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %114 = tail call i32 @s2n_print_stacktrace(ptr noundef %113) #10
  %115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %116 = trunc nuw i8 %115 to i1
  br i1 %116, label %117, label %121

117:                                              ; preds = %110
  %118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %119 = tail call i32 @fileno(ptr noundef %118) #10
  %120 = tail call i32 @isatty(i32 noundef %119) #10
  %.not304 = icmp eq i32 %120, 0
  br i1 %.not304, label %121, label %122

121:                                              ; preds = %117, %110
  br label %122

122:                                              ; preds = %117, %121
  %.str.5.sink384 = phi ptr [ @.str.5, %121 ], [ @.str.2, %117 ]
  store i32 %112, ptr %111, align 4, !tbaa !5
  %123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %124 = load i32, ptr @test_count, align 4, !tbaa !5
  %125 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %126 = load i32, ptr %125, align 4, !tbaa !5
  %127 = tail call ptr @s2n_strerror(i32 noundef %126, ptr noundef nonnull @.str.4) #10
  %128 = load i32, ptr %125, align 4, !tbaa !5
  %129 = tail call ptr @s2n_strerror_debug(i32 noundef %128, ptr noundef nonnull @.str.4) #10
  %130 = load i32, ptr %111, align 4, !tbaa !5
  %131 = tail call ptr @strerror(i32 noundef %130) #10
  %132 = load i32, ptr %111, align 4, !tbaa !5
  %133 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %123, ptr noundef nonnull %.str.5.sink384, i32 noundef %124, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %127, ptr noundef %129, ptr noundef %131, i32 noundef %132) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

134:                                              ; preds = %105
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %3) #10
  store i8 0, ptr %3, align 1, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %4, i8 0, i64 40, i1 false)
  %135 = load i32, ptr @test_count, align 4, !tbaa !5
  %136 = add nsw i32 %135, 1
  store i32 %136, ptr @test_count, align 4, !tbaa !5
  %137 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %4, i32 noundef 2) #10
  %138 = icmp eq i32 %137, -1
  br i1 %138, label %139, label %163

139:                                              ; preds = %134
  %140 = tail call ptr @__errno_location() #11
  %141 = load i32, ptr %140, align 4, !tbaa !5
  %142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %143 = call i32 @s2n_print_stacktrace(ptr noundef %142) #10
  %144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %145 = trunc nuw i8 %144 to i1
  br i1 %145, label %146, label %150

146:                                              ; preds = %139
  %147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %148 = call i32 @fileno(ptr noundef %147) #10
  %149 = call i32 @isatty(i32 noundef %148) #10
  %.not303 = icmp eq i32 %149, 0
  br i1 %.not303, label %150, label %151

150:                                              ; preds = %146, %139
  br label %151

151:                                              ; preds = %146, %150
  %.str.5.sink395 = phi ptr [ @.str.5, %150 ], [ @.str.2, %146 ]
  store i32 %141, ptr %140, align 4, !tbaa !5
  %152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %153 = load i32, ptr @test_count, align 4, !tbaa !5
  %154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = call ptr @s2n_strerror(i32 noundef %155, ptr noundef nonnull @.str.4) #10
  %157 = load i32, ptr %154, align 4, !tbaa !5
  %158 = call ptr @s2n_strerror_debug(i32 noundef %157, ptr noundef nonnull @.str.4) #10
  %159 = load i32, ptr %140, align 4, !tbaa !5
  %160 = call ptr @strerror(i32 noundef %159) #10
  %161 = load i32, ptr %140, align 4, !tbaa !5
  %162 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %152, ptr noundef nonnull %.str.5.sink395, i32 noundef %153, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 40, ptr noundef %156, ptr noundef %158, ptr noundef %160, i32 noundef %161) #12
  call void @exit(i32 noundef 1) #13
  unreachable

163:                                              ; preds = %134
  %164 = load i32, ptr @test_count, align 4, !tbaa !5
  %165 = add nsw i32 %164, 1
  store i32 %165, ptr @test_count, align 4, !tbaa !5
  %166 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %4, i16 noundef zeroext -9485) #10
  %167 = icmp eq i32 %166, -1
  br i1 %167, label %168, label %192

168:                                              ; preds = %163
  %169 = tail call ptr @__errno_location() #11
  %170 = load i32, ptr %169, align 4, !tbaa !5
  %171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %172 = call i32 @s2n_print_stacktrace(ptr noundef %171) #10
  %173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %174 = trunc nuw i8 %173 to i1
  br i1 %174, label %175, label %179

175:                                              ; preds = %168
  %176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %177 = call i32 @fileno(ptr noundef %176) #10
  %178 = call i32 @isatty(i32 noundef %177) #10
  %.not302 = icmp eq i32 %178, 0
  br i1 %.not302, label %179, label %180

179:                                              ; preds = %175, %168
  br label %180

180:                                              ; preds = %175, %179
  %.str.5.sink406 = phi ptr [ @.str.5, %179 ], [ @.str.2, %175 ]
  store i32 %170, ptr %169, align 4, !tbaa !5
  %181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %182 = load i32, ptr @test_count, align 4, !tbaa !5
  %183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %184 = load i32, ptr %183, align 4, !tbaa !5
  %185 = call ptr @s2n_strerror(i32 noundef %184, ptr noundef nonnull @.str.4) #10
  %186 = load i32, ptr %183, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef nonnull @.str.4) #10
  %188 = load i32, ptr %169, align 4, !tbaa !5
  %189 = call ptr @strerror(i32 noundef %188) #10
  %190 = load i32, ptr %169, align 4, !tbaa !5
  %191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %181, ptr noundef nonnull %.str.5.sink406, i32 noundef %182, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %185, ptr noundef %187, ptr noundef %189, i32 noundef %190) #12
  call void @exit(i32 noundef 1) #13
  unreachable

192:                                              ; preds = %163
  %193 = load i32, ptr @test_count, align 4, !tbaa !5
  %194 = add nsw i32 %193, 1
  store i32 %194, ptr @test_count, align 4, !tbaa !5
  %195 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %4, ptr noundef nonnull %3) #10
  %196 = icmp eq i32 %195, -1
  br i1 %196, label %197, label %221

197:                                              ; preds = %192
  %198 = tail call ptr @__errno_location() #11
  %199 = load i32, ptr %198, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = call i32 @s2n_print_stacktrace(ptr noundef %200) #10
  %202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %203 = trunc nuw i8 %202 to i1
  br i1 %203, label %204, label %208

204:                                              ; preds = %197
  %205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %206 = call i32 @fileno(ptr noundef %205) #10
  %207 = call i32 @isatty(i32 noundef %206) #10
  %.not301 = icmp eq i32 %207, 0
  br i1 %.not301, label %208, label %209

208:                                              ; preds = %204, %197
  br label %209

209:                                              ; preds = %204, %208
  %.str.5.sink417 = phi ptr [ @.str.5, %208 ], [ @.str.2, %204 ]
  store i32 %199, ptr %198, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = load i32, ptr @test_count, align 4, !tbaa !5
  %212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = call ptr @s2n_strerror(i32 noundef %213, ptr noundef nonnull @.str.4) #10
  %215 = load i32, ptr %212, align 4, !tbaa !5
  %216 = call ptr @s2n_strerror_debug(i32 noundef %215, ptr noundef nonnull @.str.4) #10
  %217 = load i32, ptr %198, align 4, !tbaa !5
  %218 = call ptr @strerror(i32 noundef %217) #10
  %219 = load i32, ptr %198, align 4, !tbaa !5
  %220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %210, ptr noundef nonnull %.str.5.sink417, i32 noundef %211, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %214, ptr noundef %216, ptr noundef %218, i32 noundef %219) #12
  call void @exit(i32 noundef 1) #13
  unreachable

221:                                              ; preds = %192
  %222 = load i32, ptr @test_count, align 4, !tbaa !5
  %223 = add nsw i32 %222, 1
  store i32 %223, ptr @test_count, align 4, !tbaa !5
  %224 = load i8, ptr %3, align 1, !tbaa !15
  %225 = icmp eq i8 %224, -13
  br i1 %225, label %250, label %226

226:                                              ; preds = %221
  %227 = tail call ptr @__errno_location() #11
  %228 = load i32, ptr %227, align 4, !tbaa !5
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = call i32 @s2n_print_stacktrace(ptr noundef %229) #10
  %231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %232 = trunc nuw i8 %231 to i1
  br i1 %232, label %233, label %237

233:                                              ; preds = %226
  %234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %235 = call i32 @fileno(ptr noundef %234) #10
  %236 = call i32 @isatty(i32 noundef %235) #10
  %.not = icmp eq i32 %236, 0
  br i1 %.not, label %237, label %238

237:                                              ; preds = %233, %226
  br label %238

238:                                              ; preds = %233, %237
  %.str.5.sink428 = phi ptr [ @.str.5, %237 ], [ @.str.2, %233 ]
  store i32 %228, ptr %227, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror(i32 noundef %242, ptr noundef nonnull @.str.4) #10
  %244 = load i32, ptr %241, align 4, !tbaa !5
  %245 = call ptr @s2n_strerror_debug(i32 noundef %244, ptr noundef nonnull @.str.4) #10
  %246 = load i32, ptr %227, align 4, !tbaa !5
  %247 = call ptr @strerror(i32 noundef %246) #10
  %248 = load i32, ptr %227, align 4, !tbaa !5
  %249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef nonnull %.str.5.sink428, i32 noundef %240, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 43, ptr noundef %243, ptr noundef %245, ptr noundef %247, i32 noundef %248) #12
  call void @exit(i32 noundef 1) #13
  unreachable

250:                                              ; preds = %221
  %251 = add nsw i32 %222, 2
  store i32 %251, ptr @test_count, align 4, !tbaa !5
  %252 = getelementptr inbounds i8, ptr %4, i64 28
  %253 = load i32, ptr %252, align 4, !tbaa !16
  %254 = getelementptr inbounds i8, ptr %4, i64 24
  %255 = load i32, ptr %254, align 8, !tbaa !19
  %256 = sub i32 %253, %255
  %257 = icmp eq i32 %256, 1
  br i1 %257, label %282, label %258

258:                                              ; preds = %250
  %259 = tail call ptr @__errno_location() #11
  %260 = load i32, ptr %259, align 4, !tbaa !5
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = call i32 @s2n_print_stacktrace(ptr noundef %261) #10
  %263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %264 = trunc nuw i8 %263 to i1
  br i1 %264, label %265, label %269

265:                                              ; preds = %258
  %266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %267 = call i32 @fileno(ptr noundef %266) #10
  %268 = call i32 @isatty(i32 noundef %267) #10
  %.not209 = icmp eq i32 %268, 0
  br i1 %.not209, label %269, label %270

269:                                              ; preds = %265, %258
  br label %270

270:                                              ; preds = %265, %269
  %.str.5.sink439 = phi ptr [ @.str.5, %269 ], [ @.str.2, %265 ]
  store i32 %260, ptr %259, align 4, !tbaa !5
  %271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %272 = load i32, ptr @test_count, align 4, !tbaa !5
  %273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %274 = load i32, ptr %273, align 4, !tbaa !5
  %275 = call ptr @s2n_strerror(i32 noundef %274, ptr noundef nonnull @.str.4) #10
  %276 = load i32, ptr %273, align 4, !tbaa !5
  %277 = call ptr @s2n_strerror_debug(i32 noundef %276, ptr noundef nonnull @.str.4) #10
  %278 = load i32, ptr %259, align 4, !tbaa !5
  %279 = call ptr @strerror(i32 noundef %278) #10
  %280 = load i32, ptr %259, align 4, !tbaa !5
  %281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %271, ptr noundef nonnull %.str.5.sink439, i32 noundef %272, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 44, ptr noundef %275, ptr noundef %277, ptr noundef %279, i32 noundef %280) #12
  call void @exit(i32 noundef 1) #13
  unreachable

282:                                              ; preds = %250
  %283 = add nsw i32 %222, 3
  store i32 %283, ptr @test_count, align 4, !tbaa !5
  %284 = call i32 @s2n_stuffer_free(ptr noundef nonnull %4) #10
  %285 = icmp eq i32 %284, -1
  br i1 %285, label %286, label %310

286:                                              ; preds = %282
  %287 = tail call ptr @__errno_location() #11
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = call i32 @s2n_print_stacktrace(ptr noundef %289) #10
  %291 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %292 = trunc nuw i8 %291 to i1
  br i1 %292, label %293, label %297

293:                                              ; preds = %286
  %294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %295 = call i32 @fileno(ptr noundef %294) #10
  %296 = call i32 @isatty(i32 noundef %295) #10
  %.not300 = icmp eq i32 %296, 0
  br i1 %.not300, label %297, label %298

297:                                              ; preds = %293, %286
  br label %298

298:                                              ; preds = %293, %297
  %.str.5.sink450 = phi ptr [ @.str.5, %297 ], [ @.str.2, %293 ]
  store i32 %288, ptr %287, align 4, !tbaa !5
  %299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %300 = load i32, ptr @test_count, align 4, !tbaa !5
  %301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %302 = load i32, ptr %301, align 4, !tbaa !5
  %303 = call ptr @s2n_strerror(i32 noundef %302, ptr noundef nonnull @.str.4) #10
  %304 = load i32, ptr %301, align 4, !tbaa !5
  %305 = call ptr @s2n_strerror_debug(i32 noundef %304, ptr noundef nonnull @.str.4) #10
  %306 = load i32, ptr %287, align 4, !tbaa !5
  %307 = call ptr @strerror(i32 noundef %306) #10
  %308 = load i32, ptr %287, align 4, !tbaa !5
  %309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %299, ptr noundef nonnull %.str.5.sink450, i32 noundef %300, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 47, ptr noundef %303, ptr noundef %305, ptr noundef %307, i32 noundef %308) #12
  call void @exit(i32 noundef 1) #13
  unreachable

310:                                              ; preds = %282
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %4) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false)
  %311 = load i32, ptr @test_count, align 4, !tbaa !5
  %312 = add nsw i32 %311, 1
  store i32 %312, ptr @test_count, align 4, !tbaa !5
  %313 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %5, i32 noundef 0) #10
  %314 = icmp eq i32 %313, -1
  br i1 %314, label %315, label %339

315:                                              ; preds = %310
  %316 = tail call ptr @__errno_location() #11
  %317 = load i32, ptr %316, align 4, !tbaa !5
  %318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %319 = call i32 @s2n_print_stacktrace(ptr noundef %318) #10
  %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 = %315
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @fileno(ptr noundef %323) #10
  %325 = call i32 @isatty(i32 noundef %324) #10
  %.not299 = icmp eq i32 %325, 0
  br i1 %.not299, label %326, label %327

326:                                              ; preds = %322, %315
  br label %327

327:                                              ; preds = %322, %326
  %.str.5.sink461 = phi ptr [ @.str.5, %326 ], [ @.str.2, %322 ]
  store i32 %317, ptr %316, 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 nonnull @.str.4) #10
  %333 = load i32, ptr %330, align 4, !tbaa !5
  %334 = call ptr @s2n_strerror_debug(i32 noundef %333, ptr noundef nonnull @.str.4) #10
  %335 = load i32, ptr %316, align 4, !tbaa !5
  %336 = call ptr @strerror(i32 noundef %335) #10
  %337 = load i32, ptr %316, align 4, !tbaa !5
  %338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %328, ptr noundef nonnull %.str.5.sink461, i32 noundef %329, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %332, ptr noundef %334, ptr noundef %336, i32 noundef %337) #12
  call void @exit(i32 noundef 1) #13
  unreachable

339:                                              ; preds = %310
  %340 = load i32, ptr @test_count, align 4, !tbaa !5
  %341 = add nsw i32 %340, 1
  store i32 %341, ptr @test_count, align 4, !tbaa !5
  %342 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %5, ptr noundef nonnull %3) #10
  %343 = icmp eq i32 %342, -1
  br i1 %343, label %368, label %344

344:                                              ; preds = %339
  %345 = tail call ptr @__errno_location() #11
  %346 = load i32, ptr %345, align 4, !tbaa !5
  %347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %348 = call i32 @s2n_print_stacktrace(ptr noundef %347) #10
  %349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %350 = trunc nuw i8 %349 to i1
  br i1 %350, label %351, label %355

351:                                              ; preds = %344
  %352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %353 = call i32 @fileno(ptr noundef %352) #10
  %354 = call i32 @isatty(i32 noundef %353) #10
  %.not210 = icmp eq i32 %354, 0
  br i1 %.not210, label %355, label %356

355:                                              ; preds = %351, %344
  br label %356

356:                                              ; preds = %351, %355
  %.str.5.sink472 = phi ptr [ @.str.5, %355 ], [ @.str.2, %351 ]
  store i32 %346, ptr %345, align 4, !tbaa !5
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = load i32, ptr @test_count, align 4, !tbaa !5
  %359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror(i32 noundef %360, ptr noundef nonnull @.str.4) #10
  %362 = load i32, ptr %359, align 4, !tbaa !5
  %363 = call ptr @s2n_strerror_debug(i32 noundef %362, ptr noundef nonnull @.str.4) #10
  %364 = load i32, ptr %345, align 4, !tbaa !5
  %365 = call ptr @strerror(i32 noundef %364) #10
  %366 = load i32, ptr %345, align 4, !tbaa !5
  %367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %357, ptr noundef nonnull %.str.5.sink472, i32 noundef %358, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 55, ptr noundef %361, ptr noundef %363, ptr noundef %365, i32 noundef %366) #12
  call void @exit(i32 noundef 1) #13
  unreachable

368:                                              ; preds = %339
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = add nsw i32 %369, 1
  store i32 %370, ptr @test_count, align 4, !tbaa !5
  %371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %372 = load i32, ptr %371, align 4, !tbaa !5
  %373 = icmp eq i32 %372, 0
  br i1 %373, label %374, label %397

374:                                              ; preds = %368
  %375 = tail call ptr @__errno_location() #11
  %376 = load i32, ptr %375, align 4, !tbaa !5
  %377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %378 = call i32 @s2n_print_stacktrace(ptr noundef %377) #10
  %379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %380 = trunc nuw i8 %379 to i1
  br i1 %380, label %381, label %385

381:                                              ; preds = %374
  %382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %383 = call i32 @fileno(ptr noundef %382) #10
  %384 = call i32 @isatty(i32 noundef %383) #10
  %.not298 = icmp eq i32 %384, 0
  br i1 %.not298, label %385, label %386

385:                                              ; preds = %381, %374
  br label %386

386:                                              ; preds = %381, %385
  %.str.5.sink483 = phi ptr [ @.str.5, %385 ], [ @.str.2, %381 ]
  store i32 %376, ptr %375, align 4, !tbaa !5
  %387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %388 = load i32, ptr @test_count, align 4, !tbaa !5
  %389 = load i32, ptr %371, align 4, !tbaa !5
  %390 = call ptr @s2n_strerror(i32 noundef %389, ptr noundef nonnull @.str.4) #10
  %391 = load i32, ptr %371, align 4, !tbaa !5
  %392 = call ptr @s2n_strerror_debug(i32 noundef %391, ptr noundef nonnull @.str.4) #10
  %393 = load i32, ptr %375, align 4, !tbaa !5
  %394 = call ptr @strerror(i32 noundef %393) #10
  %395 = load i32, ptr %375, align 4, !tbaa !5
  %396 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %387, ptr noundef nonnull %.str.5.sink483, i32 noundef %388, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 55, ptr noundef %390, ptr noundef %392, ptr noundef %394, i32 noundef %395) #12
  call void @exit(i32 noundef 1) #13
  unreachable

397:                                              ; preds = %368
  %398 = add nsw i32 %369, 2
  store i32 %398, ptr @test_count, align 4, !tbaa !5
  %399 = call ptr @s2n_strerror_debug(i32 noundef %372, ptr noundef nonnull @.str.4) #10
  %400 = icmp eq ptr %399, null
  br i1 %400, label %401, label %424

401:                                              ; preds = %397
  %402 = tail call ptr @__errno_location() #11
  %403 = load i32, ptr %402, align 4, !tbaa !5
  %404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %405 = call i32 @s2n_print_stacktrace(ptr noundef %404) #10
  %406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %407 = trunc nuw i8 %406 to i1
  br i1 %407, label %408, label %412

408:                                              ; preds = %401
  %409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %410 = call i32 @fileno(ptr noundef %409) #10
  %411 = call i32 @isatty(i32 noundef %410) #10
  %.not297 = icmp eq i32 %411, 0
  br i1 %.not297, label %412, label %413

412:                                              ; preds = %408, %401
  br label %413

413:                                              ; preds = %408, %412
  %.str.5.sink492 = phi ptr [ @.str.5, %412 ], [ @.str.2, %408 ]
  store i32 %403, ptr %402, align 4, !tbaa !5
  %414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %415 = load i32, ptr @test_count, align 4, !tbaa !5
  %416 = load i32, ptr %371, align 4, !tbaa !5
  %417 = call ptr @s2n_strerror(i32 noundef %416, ptr noundef nonnull @.str.4) #10
  %418 = load i32, ptr %371, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror_debug(i32 noundef %418, ptr noundef nonnull @.str.4) #10
  %420 = load i32, ptr %402, align 4, !tbaa !5
  %421 = call ptr @strerror(i32 noundef %420) #10
  %422 = load i32, ptr %402, align 4, !tbaa !5
  %423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %414, ptr noundef nonnull %.str.5.sink492, i32 noundef %415, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 55, ptr noundef %417, ptr noundef %419, ptr noundef %421, i32 noundef %422) #12
  call void @exit(i32 noundef 1) #13
  unreachable

424:                                              ; preds = %397
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %425 = tail call ptr @__errno_location() #11
  store i32 0, ptr %425, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, i8 0, i64 40, i1 false)
  %426 = load i32, ptr @test_count, align 4, !tbaa !5
  %427 = add nsw i32 %426, 1
  store i32 %427, ptr @test_count, align 4, !tbaa !5
  %428 = call i32 @s2n_stuffer_alloc(ptr noundef nonnull %6, i32 noundef 2) #10
  %429 = icmp eq i32 %428, -1
  br i1 %429, label %430, label %452

430:                                              ; preds = %424
  %431 = load i32, ptr %425, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432) #10
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %435 = trunc nuw i8 %434 to i1
  br i1 %435, label %436, label %440

436:                                              ; preds = %430
  %437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %438 = call i32 @fileno(ptr noundef %437) #10
  %439 = call i32 @isatty(i32 noundef %438) #10
  %.not296 = icmp eq i32 %439, 0
  br i1 %.not296, label %440, label %441

440:                                              ; preds = %436, %430
  br label %441

441:                                              ; preds = %436, %440
  %.str.5.sink501 = phi ptr [ @.str.5, %440 ], [ @.str.2, %436 ]
  store i32 %431, ptr %425, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = load i32, ptr @test_count, align 4, !tbaa !5
  %444 = load i32, ptr %371, align 4, !tbaa !5
  %445 = call ptr @s2n_strerror(i32 noundef %444, ptr noundef nonnull @.str.4) #10
  %446 = load i32, ptr %371, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror_debug(i32 noundef %446, ptr noundef nonnull @.str.4) #10
  %448 = load i32, ptr %425, align 4, !tbaa !5
  %449 = call ptr @strerror(i32 noundef %448) #10
  %450 = load i32, ptr %425, align 4, !tbaa !5
  %451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef nonnull %.str.5.sink501, i32 noundef %443, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %445, ptr noundef %447, ptr noundef %449, i32 noundef %450) #12
  call void @exit(i32 noundef 1) #13
  unreachable

452:                                              ; preds = %424
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = add nsw i32 %453, 1
  store i32 %454, ptr @test_count, align 4, !tbaa !5
  %455 = call i32 @s2n_stuffer_write_uint16(ptr noundef nonnull %6, i16 noundef zeroext 243) #10
  %456 = icmp eq i32 %455, -1
  br i1 %456, label %457, label %479

457:                                              ; preds = %452
  %458 = load i32, ptr %425, align 4, !tbaa !5
  %459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %460 = call i32 @s2n_print_stacktrace(ptr noundef %459) #10
  %461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %462 = trunc nuw i8 %461 to i1
  br i1 %462, label %463, label %467

463:                                              ; preds = %457
  %464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %465 = call i32 @fileno(ptr noundef %464) #10
  %466 = call i32 @isatty(i32 noundef %465) #10
  %.not295 = icmp eq i32 %466, 0
  br i1 %.not295, label %467, label %468

467:                                              ; preds = %463, %457
  br label %468

468:                                              ; preds = %463, %467
  %.str.5.sink510 = phi ptr [ @.str.5, %467 ], [ @.str.2, %463 ]
  store i32 %458, ptr %425, align 4, !tbaa !5
  %469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %470 = load i32, ptr @test_count, align 4, !tbaa !5
  %471 = load i32, ptr %371, align 4, !tbaa !5
  %472 = call ptr @s2n_strerror(i32 noundef %471, ptr noundef nonnull @.str.4) #10
  %473 = load i32, ptr %371, align 4, !tbaa !5
  %474 = call ptr @s2n_strerror_debug(i32 noundef %473, ptr noundef nonnull @.str.4) #10
  %475 = load i32, ptr %425, align 4, !tbaa !5
  %476 = call ptr @strerror(i32 noundef %475) #10
  %477 = load i32, ptr %425, align 4, !tbaa !5
  %478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %469, ptr noundef nonnull %.str.5.sink510, i32 noundef %470, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %472, ptr noundef %474, ptr noundef %476, i32 noundef %477) #12
  call void @exit(i32 noundef 1) #13
  unreachable

479:                                              ; preds = %452
  %480 = load i32, ptr @test_count, align 4, !tbaa !5
  %481 = add nsw i32 %480, 1
  store i32 %481, ptr @test_count, align 4, !tbaa !5
  %482 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %6, ptr noundef nonnull %3) #10
  %483 = icmp eq i32 %482, -1
  br i1 %483, label %484, label %506

484:                                              ; preds = %479
  %485 = load i32, ptr %425, align 4, !tbaa !5
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = call i32 @s2n_print_stacktrace(ptr noundef %486) #10
  %488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %489 = trunc nuw i8 %488 to i1
  br i1 %489, label %490, label %494

490:                                              ; preds = %484
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = call i32 @fileno(ptr noundef %491) #10
  %493 = call i32 @isatty(i32 noundef %492) #10
  %.not294 = icmp eq i32 %493, 0
  br i1 %.not294, label %494, label %495

494:                                              ; preds = %490, %484
  br label %495

495:                                              ; preds = %490, %494
  %.str.5.sink519 = phi ptr [ @.str.5, %494 ], [ @.str.2, %490 ]
  store i32 %485, ptr %425, align 4, !tbaa !5
  %496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %497 = load i32, ptr @test_count, align 4, !tbaa !5
  %498 = load i32, ptr %371, align 4, !tbaa !5
  %499 = call ptr @s2n_strerror(i32 noundef %498, ptr noundef nonnull @.str.4) #10
  %500 = load i32, ptr %371, align 4, !tbaa !5
  %501 = call ptr @s2n_strerror_debug(i32 noundef %500, ptr noundef nonnull @.str.4) #10
  %502 = load i32, ptr %425, align 4, !tbaa !5
  %503 = call ptr @strerror(i32 noundef %502) #10
  %504 = load i32, ptr %425, align 4, !tbaa !5
  %505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %496, ptr noundef nonnull %.str.5.sink519, i32 noundef %497, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %499, ptr noundef %501, ptr noundef %503, i32 noundef %504) #12
  call void @exit(i32 noundef 1) #13
  unreachable

506:                                              ; preds = %479
  %507 = load i32, ptr @test_count, align 4, !tbaa !5
  %508 = add nsw i32 %507, 1
  store i32 %508, ptr @test_count, align 4, !tbaa !5
  %509 = load i8, ptr %3, align 1, !tbaa !15
  %510 = icmp eq i8 %509, -13
  br i1 %510, label %533, label %511

511:                                              ; preds = %506
  %512 = load i32, ptr %425, align 4, !tbaa !5
  %513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %514 = call i32 @s2n_print_stacktrace(ptr noundef %513) #10
  %515 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %516 = trunc nuw i8 %515 to i1
  br i1 %516, label %517, label %521

517:                                              ; preds = %511
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = call i32 @fileno(ptr noundef %518) #10
  %520 = call i32 @isatty(i32 noundef %519) #10
  %.not211 = icmp eq i32 %520, 0
  br i1 %.not211, label %521, label %522

521:                                              ; preds = %517, %511
  br label %522

522:                                              ; preds = %517, %521
  %.str.5.sink528 = phi ptr [ @.str.5, %521 ], [ @.str.2, %517 ]
  store i32 %512, ptr %425, align 4, !tbaa !5
  %523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %524 = load i32, ptr @test_count, align 4, !tbaa !5
  %525 = load i32, ptr %371, align 4, !tbaa !5
  %526 = call ptr @s2n_strerror(i32 noundef %525, ptr noundef nonnull @.str.4) #10
  %527 = load i32, ptr %371, align 4, !tbaa !5
  %528 = call ptr @s2n_strerror_debug(i32 noundef %527, ptr noundef nonnull @.str.4) #10
  %529 = load i32, ptr %425, align 4, !tbaa !5
  %530 = call ptr @strerror(i32 noundef %529) #10
  %531 = load i32, ptr %425, align 4, !tbaa !5
  %532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %523, ptr noundef nonnull %.str.5.sink528, i32 noundef %524, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %526, ptr noundef %528, ptr noundef %530, i32 noundef %531) #12
  call void @exit(i32 noundef 1) #13
  unreachable

533:                                              ; preds = %506
  %534 = add nsw i32 %507, 2
  store i32 %534, ptr @test_count, align 4, !tbaa !5
  %535 = getelementptr inbounds i8, ptr %6, i64 28
  %536 = load i32, ptr %535, align 4, !tbaa !16
  %537 = getelementptr inbounds i8, ptr %6, i64 24
  %538 = load i32, ptr %537, align 8, !tbaa !19
  %539 = sub i32 %536, %538
  %540 = icmp eq i32 %539, 1
  br i1 %540, label %563, label %541

541:                                              ; preds = %533
  %542 = load i32, ptr %425, align 4, !tbaa !5
  %543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %544 = call i32 @s2n_print_stacktrace(ptr noundef %543) #10
  %545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %546 = trunc nuw i8 %545 to i1
  br i1 %546, label %547, label %551

547:                                              ; preds = %541
  %548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %549 = call i32 @fileno(ptr noundef %548) #10
  %550 = call i32 @isatty(i32 noundef %549) #10
  %.not212 = icmp eq i32 %550, 0
  br i1 %.not212, label %551, label %552

551:                                              ; preds = %547, %541
  br label %552

552:                                              ; preds = %547, %551
  %.str.5.sink537 = phi ptr [ @.str.5, %551 ], [ @.str.2, %547 ]
  store i32 %542, ptr %425, align 4, !tbaa !5
  %553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %554 = load i32, ptr @test_count, align 4, !tbaa !5
  %555 = load i32, ptr %371, align 4, !tbaa !5
  %556 = call ptr @s2n_strerror(i32 noundef %555, ptr noundef nonnull @.str.4) #10
  %557 = load i32, ptr %371, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror_debug(i32 noundef %557, ptr noundef nonnull @.str.4) #10
  %559 = load i32, ptr %425, align 4, !tbaa !5
  %560 = call ptr @strerror(i32 noundef %559) #10
  %561 = load i32, ptr %425, align 4, !tbaa !5
  %562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %553, ptr noundef nonnull %.str.5.sink537, i32 noundef %554, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %556, ptr noundef %558, ptr noundef %560, i32 noundef %561) #12
  call void @exit(i32 noundef 1) #13
  unreachable

563:                                              ; preds = %533
  %564 = add nsw i32 %507, 3
  store i32 %564, ptr @test_count, align 4, !tbaa !5
  %565 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #10
  %566 = icmp eq i32 %565, -1
  br i1 %566, label %567, label %589

567:                                              ; preds = %563
  %568 = load i32, ptr %425, align 4, !tbaa !5
  %569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %570 = call i32 @s2n_print_stacktrace(ptr noundef %569) #10
  %571 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %572 = trunc nuw i8 %571 to i1
  br i1 %572, label %573, label %577

573:                                              ; preds = %567
  %574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %575 = call i32 @fileno(ptr noundef %574) #10
  %576 = call i32 @isatty(i32 noundef %575) #10
  %.not293 = icmp eq i32 %576, 0
  br i1 %.not293, label %577, label %578

577:                                              ; preds = %573, %567
  br label %578

578:                                              ; preds = %573, %577
  %.str.5.sink546 = phi ptr [ @.str.5, %577 ], [ @.str.2, %573 ]
  store i32 %568, ptr %425, align 4, !tbaa !5
  %579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %580 = load i32, ptr @test_count, align 4, !tbaa !5
  %581 = load i32, ptr %371, align 4, !tbaa !5
  %582 = call ptr @s2n_strerror(i32 noundef %581, ptr noundef nonnull @.str.4) #10
  %583 = load i32, ptr %371, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror_debug(i32 noundef %583, ptr noundef nonnull @.str.4) #10
  %585 = load i32, ptr %425, align 4, !tbaa !5
  %586 = call ptr @strerror(i32 noundef %585) #10
  %587 = load i32, ptr %425, align 4, !tbaa !5
  %588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %579, ptr noundef nonnull %.str.5.sink546, i32 noundef %580, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %582, ptr noundef %584, ptr noundef %586, i32 noundef %587) #12
  call void @exit(i32 noundef 1) #13
  unreachable

589:                                              ; preds = %563
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %590 = load i32, ptr @test_count, align 4, !tbaa !5
  %591 = add nsw i32 %590, 1
  store i32 %591, ptr @test_count, align 4, !tbaa !5
  %592 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 1024) #10
  %593 = icmp eq i32 %592, -1
  br i1 %593, label %594, label %616

594:                                              ; preds = %589
  %595 = load i32, ptr %425, align 4, !tbaa !5
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = call i32 @s2n_print_stacktrace(ptr noundef %596) #10
  %598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %599 = trunc nuw i8 %598 to i1
  br i1 %599, label %600, label %604

600:                                              ; preds = %594
  %601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %602 = call i32 @fileno(ptr noundef %601) #10
  %603 = call i32 @isatty(i32 noundef %602) #10
  %.not292 = icmp eq i32 %603, 0
  br i1 %.not292, label %604, label %605

604:                                              ; preds = %600, %594
  br label %605

605:                                              ; preds = %600, %604
  %.str.5.sink555 = phi ptr [ @.str.5, %604 ], [ @.str.2, %600 ]
  store i32 %595, ptr %425, align 4, !tbaa !5
  %606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %607 = load i32, ptr @test_count, align 4, !tbaa !5
  %608 = load i32, ptr %371, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror(i32 noundef %608, ptr noundef nonnull @.str.4) #10
  %610 = load i32, ptr %371, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror_debug(i32 noundef %610, ptr noundef nonnull @.str.4) #10
  %612 = load i32, ptr %425, align 4, !tbaa !5
  %613 = call ptr @strerror(i32 noundef %612) #10
  %614 = load i32, ptr %425, align 4, !tbaa !5
  %615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %606, ptr noundef nonnull %.str.5.sink555, i32 noundef %607, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %609, ptr noundef %611, ptr noundef %613, i32 noundef %614) #12
  call void @exit(i32 noundef 1) #13
  unreachable

616:                                              ; preds = %589
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false)
  %617 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %8, ptr noundef nonnull @.str.20) #10
  %618 = call zeroext i1 @s2n_result_is_ok(i32 %617)
  br i1 %618, label %620, label %.thread

.thread:                                          ; preds = %616
  %619 = call i32 @s2n_free(ptr noundef nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #10
  br label %2727

620:                                              ; preds = %616
  %621 = load i32, ptr @test_count, align 4, !tbaa !5
  %622 = add nsw i32 %621, 1
  store i32 %622, ptr @test_count, align 4, !tbaa !5
  %623 = call i32 @s2n_stuffer_write(ptr noundef nonnull %7, ptr noundef nonnull %8) #10
  %624 = icmp eq i32 %623, -1
  br i1 %624, label %625, label %647

625:                                              ; preds = %620
  %626 = load i32, ptr %425, align 4, !tbaa !5
  %627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %628 = call i32 @s2n_print_stacktrace(ptr noundef %627) #10
  %629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %630 = trunc nuw i8 %629 to i1
  br i1 %630, label %631, label %635

631:                                              ; preds = %625
  %632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %633 = call i32 @fileno(ptr noundef %632) #10
  %634 = call i32 @isatty(i32 noundef %633) #10
  %.not291 = icmp eq i32 %634, 0
  br i1 %.not291, label %635, label %636

635:                                              ; preds = %631, %625
  br label %636

636:                                              ; preds = %631, %635
  %.str.5.sink564 = phi ptr [ @.str.5, %635 ], [ @.str.2, %631 ]
  store i32 %626, ptr %425, align 4, !tbaa !5
  %637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %638 = load i32, ptr @test_count, align 4, !tbaa !5
  %639 = load i32, ptr %371, align 4, !tbaa !5
  %640 = call ptr @s2n_strerror(i32 noundef %639, ptr noundef nonnull @.str.4) #10
  %641 = load i32, ptr %371, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror_debug(i32 noundef %641, ptr noundef nonnull @.str.4) #10
  %643 = load i32, ptr %425, align 4, !tbaa !5
  %644 = call ptr @strerror(i32 noundef %643) #10
  %645 = load i32, ptr %425, align 4, !tbaa !5
  %646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %637, ptr noundef nonnull %.str.5.sink564, i32 noundef %638, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %640, ptr noundef %642, ptr noundef %644, i32 noundef %645) #12
  call void @exit(i32 noundef 1) #13
  unreachable

647:                                              ; preds = %620
  %648 = load i32, ptr @test_count, align 4, !tbaa !5
  %649 = add nsw i32 %648, 1
  store i32 %649, ptr @test_count, align 4, !tbaa !5
  %650 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %651 = icmp eq i32 %650, -1
  br i1 %651, label %652, label %674

652:                                              ; preds = %647
  %653 = load i32, ptr %425, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = call i32 @s2n_print_stacktrace(ptr noundef %654) #10
  %656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %657 = trunc nuw i8 %656 to i1
  br i1 %657, label %658, label %662

658:                                              ; preds = %652
  %659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %660 = call i32 @fileno(ptr noundef %659) #10
  %661 = call i32 @isatty(i32 noundef %660) #10
  %.not290 = icmp eq i32 %661, 0
  br i1 %.not290, label %662, label %663

662:                                              ; preds = %658, %652
  br label %663

663:                                              ; preds = %658, %662
  %.str.5.sink573 = phi ptr [ @.str.5, %662 ], [ @.str.2, %658 ]
  store i32 %653, ptr %425, align 4, !tbaa !5
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = load i32, ptr @test_count, align 4, !tbaa !5
  %666 = load i32, ptr %371, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror(i32 noundef %666, ptr noundef nonnull @.str.4) #10
  %668 = load i32, ptr %371, align 4, !tbaa !5
  %669 = call ptr @s2n_strerror_debug(i32 noundef %668, ptr noundef nonnull @.str.4) #10
  %670 = load i32, ptr %425, align 4, !tbaa !5
  %671 = call ptr @strerror(i32 noundef %670) #10
  %672 = load i32, ptr %425, align 4, !tbaa !5
  %673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %664, ptr noundef nonnull %.str.5.sink573, i32 noundef %665, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %667, ptr noundef %669, ptr noundef %671, i32 noundef %672) #12
  call void @exit(i32 noundef 1) #13
  unreachable

674:                                              ; preds = %647
  %675 = load i32, ptr @test_count, align 4, !tbaa !5
  %676 = add nsw i32 %675, 1
  store i32 %676, ptr @test_count, align 4, !tbaa !5
  %677 = load i8, ptr %3, align 1, !tbaa !15
  %678 = icmp eq i8 %677, 22
  br i1 %678, label %701, label %679

679:                                              ; preds = %674
  %680 = load i32, ptr %425, align 4, !tbaa !5
  %681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %682 = call i32 @s2n_print_stacktrace(ptr noundef %681) #10
  %683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %684 = trunc nuw i8 %683 to i1
  br i1 %684, label %685, label %689

685:                                              ; preds = %679
  %686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %687 = call i32 @fileno(ptr noundef %686) #10
  %688 = call i32 @isatty(i32 noundef %687) #10
  %.not213 = icmp eq i32 %688, 0
  br i1 %.not213, label %689, label %690

689:                                              ; preds = %685, %679
  br label %690

690:                                              ; preds = %685, %689
  %.str.5.sink582 = phi ptr [ @.str.5, %689 ], [ @.str.2, %685 ]
  store i32 %680, ptr %425, align 4, !tbaa !5
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = load i32, ptr @test_count, align 4, !tbaa !5
  %693 = load i32, ptr %371, align 4, !tbaa !5
  %694 = call ptr @s2n_strerror(i32 noundef %693, ptr noundef nonnull @.str.4) #10
  %695 = load i32, ptr %371, align 4, !tbaa !5
  %696 = call ptr @s2n_strerror_debug(i32 noundef %695, ptr noundef nonnull @.str.4) #10
  %697 = load i32, ptr %425, align 4, !tbaa !5
  %698 = call ptr @strerror(i32 noundef %697) #10
  %699 = load i32, ptr %425, align 4, !tbaa !5
  %700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %691, ptr noundef nonnull %.str.5.sink582, i32 noundef %692, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %694, ptr noundef %696, ptr noundef %698, i32 noundef %699) #12
  call void @exit(i32 noundef 1) #13
  unreachable

701:                                              ; preds = %674
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, i8 0, i64 24, i1 false)
  %702 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %9, ptr noundef nonnull @.str.24) #10
  %703 = call zeroext i1 @s2n_result_is_ok(i32 %702)
  br i1 %703, label %704, label %1337

704:                                              ; preds = %701
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = add nsw i32 %705, 1
  store i32 %706, ptr @test_count, align 4, !tbaa !5
  %707 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %7) #10
  %708 = icmp eq i32 %707, -1
  br i1 %708, label %709, label %731

709:                                              ; preds = %704
  %710 = load i32, ptr %425, align 4, !tbaa !5
  %711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %712 = call i32 @s2n_print_stacktrace(ptr noundef %711) #10
  %713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %714 = trunc nuw i8 %713 to i1
  br i1 %714, label %715, label %719

715:                                              ; preds = %709
  %716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %717 = call i32 @fileno(ptr noundef %716) #10
  %718 = call i32 @isatty(i32 noundef %717) #10
  %.not289 = icmp eq i32 %718, 0
  br i1 %.not289, label %719, label %720

719:                                              ; preds = %715, %709
  br label %720

720:                                              ; preds = %715, %719
  %.str.5.sink591 = phi ptr [ @.str.5, %719 ], [ @.str.2, %715 ]
  store i32 %710, ptr %425, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = load i32, ptr @test_count, align 4, !tbaa !5
  %723 = load i32, ptr %371, align 4, !tbaa !5
  %724 = call ptr @s2n_strerror(i32 noundef %723, ptr noundef nonnull @.str.4) #10
  %725 = load i32, ptr %371, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror_debug(i32 noundef %725, ptr noundef nonnull @.str.4) #10
  %727 = load i32, ptr %425, align 4, !tbaa !5
  %728 = call ptr @strerror(i32 noundef %727) #10
  %729 = load i32, ptr %425, align 4, !tbaa !5
  %730 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %721, ptr noundef nonnull %.str.5.sink591, i32 noundef %722, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %724, ptr noundef %726, ptr noundef %728, i32 noundef %729) #12
  call void @exit(i32 noundef 1) #13
  unreachable

731:                                              ; preds = %704
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @test_count, align 4, !tbaa !5
  %734 = call i32 @s2n_stuffer_write(ptr noundef nonnull %7, ptr noundef nonnull %9) #10
  %735 = icmp eq i32 %734, -1
  br i1 %735, label %736, label %758

736:                                              ; preds = %731
  %737 = load i32, ptr %425, align 4, !tbaa !5
  %738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %739 = call i32 @s2n_print_stacktrace(ptr noundef %738) #10
  %740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %741 = trunc nuw i8 %740 to i1
  br i1 %741, label %742, label %746

742:                                              ; preds = %736
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = call i32 @fileno(ptr noundef %743) #10
  %745 = call i32 @isatty(i32 noundef %744) #10
  %.not288 = icmp eq i32 %745, 0
  br i1 %.not288, label %746, label %747

746:                                              ; preds = %742, %736
  br label %747

747:                                              ; preds = %742, %746
  %.str.5.sink600 = phi ptr [ @.str.5, %746 ], [ @.str.2, %742 ]
  store i32 %737, ptr %425, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = load i32, ptr @test_count, align 4, !tbaa !5
  %750 = load i32, ptr %371, align 4, !tbaa !5
  %751 = call ptr @s2n_strerror(i32 noundef %750, ptr noundef nonnull @.str.4) #10
  %752 = load i32, ptr %371, align 4, !tbaa !5
  %753 = call ptr @s2n_strerror_debug(i32 noundef %752, ptr noundef nonnull @.str.4) #10
  %754 = load i32, ptr %425, align 4, !tbaa !5
  %755 = call ptr @strerror(i32 noundef %754) #10
  %756 = load i32, ptr %425, align 4, !tbaa !5
  %757 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %748, ptr noundef nonnull %.str.5.sink600, i32 noundef %749, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %751, ptr noundef %753, ptr noundef %755, i32 noundef %756) #12
  call void @exit(i32 noundef 1) #13
  unreachable

758:                                              ; preds = %731
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = add nsw i32 %759, 1
  store i32 %760, ptr @test_count, align 4, !tbaa !5
  %761 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %762 = icmp eq i32 %761, -1
  br i1 %762, label %763, label %785

763:                                              ; preds = %758
  %764 = load i32, ptr %425, align 4, !tbaa !5
  %765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %766 = call i32 @s2n_print_stacktrace(ptr noundef %765) #10
  %767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %768 = trunc nuw i8 %767 to i1
  br i1 %768, label %769, label %773

769:                                              ; preds = %763
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = call i32 @fileno(ptr noundef %770) #10
  %772 = call i32 @isatty(i32 noundef %771) #10
  %.not287 = icmp eq i32 %772, 0
  br i1 %.not287, label %773, label %774

773:                                              ; preds = %769, %763
  br label %774

774:                                              ; preds = %769, %773
  %.str.5.sink609 = phi ptr [ @.str.5, %773 ], [ @.str.2, %769 ]
  store i32 %764, ptr %425, align 4, !tbaa !5
  %775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %776 = load i32, ptr @test_count, align 4, !tbaa !5
  %777 = load i32, ptr %371, align 4, !tbaa !5
  %778 = call ptr @s2n_strerror(i32 noundef %777, ptr noundef nonnull @.str.4) #10
  %779 = load i32, ptr %371, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror_debug(i32 noundef %779, ptr noundef nonnull @.str.4) #10
  %781 = load i32, ptr %425, align 4, !tbaa !5
  %782 = call ptr @strerror(i32 noundef %781) #10
  %783 = load i32, ptr %425, align 4, !tbaa !5
  %784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %775, ptr noundef nonnull %.str.5.sink609, i32 noundef %776, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %778, ptr noundef %780, ptr noundef %782, i32 noundef %783) #12
  call void @exit(i32 noundef 1) #13
  unreachable

785:                                              ; preds = %758
  %786 = load i32, ptr @test_count, align 4, !tbaa !5
  %787 = add nsw i32 %786, 1
  store i32 %787, ptr @test_count, align 4, !tbaa !5
  %788 = load i8, ptr %3, align 1, !tbaa !15
  %789 = icmp eq i8 %788, 22
  br i1 %789, label %812, label %790

790:                                              ; preds = %785
  %791 = load i32, ptr %425, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = call i32 @s2n_print_stacktrace(ptr noundef %792) #10
  %794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %795 = trunc nuw i8 %794 to i1
  br i1 %795, label %796, label %800

796:                                              ; preds = %790
  %797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %798 = call i32 @fileno(ptr noundef %797) #10
  %799 = call i32 @isatty(i32 noundef %798) #10
  %.not214 = icmp eq i32 %799, 0
  br i1 %.not214, label %800, label %801

800:                                              ; preds = %796, %790
  br label %801

801:                                              ; preds = %796, %800
  %.str.5.sink618 = phi ptr [ @.str.5, %800 ], [ @.str.2, %796 ]
  store i32 %791, ptr %425, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = load i32, ptr %371, align 4, !tbaa !5
  %805 = call ptr @s2n_strerror(i32 noundef %804, ptr noundef nonnull @.str.4) #10
  %806 = load i32, ptr %371, align 4, !tbaa !5
  %807 = call ptr @s2n_strerror_debug(i32 noundef %806, ptr noundef nonnull @.str.4) #10
  %808 = load i32, ptr %425, align 4, !tbaa !5
  %809 = call ptr @strerror(i32 noundef %808) #10
  %810 = load i32, ptr %425, align 4, !tbaa !5
  %811 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef nonnull %.str.5.sink618, i32 noundef %803, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %805, ptr noundef %807, ptr noundef %809, i32 noundef %810) #12
  call void @exit(i32 noundef 1) #13
  unreachable

812:                                              ; preds = %785
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, i8 0, i64 24, i1 false)
  %813 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %10, ptr noundef nonnull @.str.27) #10
  %814 = call zeroext i1 @s2n_result_is_ok(i32 %813)
  br i1 %814, label %815, label %1335

815:                                              ; preds = %812
  %816 = load i32, ptr @test_count, align 4, !tbaa !5
  %817 = add nsw i32 %816, 1
  store i32 %817, ptr @test_count, align 4, !tbaa !5
  %818 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %7) #10
  %819 = icmp eq i32 %818, -1
  br i1 %819, label %820, label %842

820:                                              ; preds = %815
  %821 = load i32, ptr %425, align 4, !tbaa !5
  %822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %823 = call i32 @s2n_print_stacktrace(ptr noundef %822) #10
  %824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %825 = trunc nuw i8 %824 to i1
  br i1 %825, label %826, label %830

826:                                              ; preds = %820
  %827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %828 = call i32 @fileno(ptr noundef %827) #10
  %829 = call i32 @isatty(i32 noundef %828) #10
  %.not286 = icmp eq i32 %829, 0
  br i1 %.not286, label %830, label %831

830:                                              ; preds = %826, %820
  br label %831

831:                                              ; preds = %826, %830
  %.str.5.sink627 = phi ptr [ @.str.5, %830 ], [ @.str.2, %826 ]
  store i32 %821, ptr %425, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = load i32, ptr @test_count, align 4, !tbaa !5
  %834 = load i32, ptr %371, align 4, !tbaa !5
  %835 = call ptr @s2n_strerror(i32 noundef %834, ptr noundef nonnull @.str.4) #10
  %836 = load i32, ptr %371, align 4, !tbaa !5
  %837 = call ptr @s2n_strerror_debug(i32 noundef %836, ptr noundef nonnull @.str.4) #10
  %838 = load i32, ptr %425, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #10
  %840 = load i32, ptr %425, align 4, !tbaa !5
  %841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %832, ptr noundef nonnull %.str.5.sink627, i32 noundef %833, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 93, ptr noundef %835, ptr noundef %837, ptr noundef %839, i32 noundef %840) #12
  call void @exit(i32 noundef 1) #13
  unreachable

842:                                              ; preds = %815
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = add nsw i32 %843, 1
  store i32 %844, ptr @test_count, align 4, !tbaa !5
  %845 = call i32 @s2n_stuffer_write(ptr noundef nonnull %7, ptr noundef nonnull %10) #10
  %846 = icmp eq i32 %845, -1
  br i1 %846, label %847, label %869

847:                                              ; preds = %842
  %848 = load i32, ptr %425, align 4, !tbaa !5
  %849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %850 = call i32 @s2n_print_stacktrace(ptr noundef %849) #10
  %851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %852 = trunc nuw i8 %851 to i1
  br i1 %852, label %853, label %857

853:                                              ; preds = %847
  %854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %855 = call i32 @fileno(ptr noundef %854) #10
  %856 = call i32 @isatty(i32 noundef %855) #10
  %.not285 = icmp eq i32 %856, 0
  br i1 %.not285, label %857, label %858

857:                                              ; preds = %853, %847
  br label %858

858:                                              ; preds = %853, %857
  %.str.5.sink636 = phi ptr [ @.str.5, %857 ], [ @.str.2, %853 ]
  store i32 %848, ptr %425, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = load i32, ptr @test_count, align 4, !tbaa !5
  %861 = load i32, ptr %371, align 4, !tbaa !5
  %862 = call ptr @s2n_strerror(i32 noundef %861, ptr noundef nonnull @.str.4) #10
  %863 = load i32, ptr %371, align 4, !tbaa !5
  %864 = call ptr @s2n_strerror_debug(i32 noundef %863, ptr noundef nonnull @.str.4) #10
  %865 = load i32, ptr %425, align 4, !tbaa !5
  %866 = call ptr @strerror(i32 noundef %865) #10
  %867 = load i32, ptr %425, align 4, !tbaa !5
  %868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %859, ptr noundef nonnull %.str.5.sink636, i32 noundef %860, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %862, ptr noundef %864, ptr noundef %866, i32 noundef %867) #12
  call void @exit(i32 noundef 1) #13
  unreachable

869:                                              ; preds = %842
  %870 = load i32, ptr @test_count, align 4, !tbaa !5
  %871 = add nsw i32 %870, 1
  store i32 %871, ptr @test_count, align 4, !tbaa !5
  %872 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %873 = icmp eq i32 %872, -1
  br i1 %873, label %874, label %896

874:                                              ; preds = %869
  %875 = load i32, ptr %425, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = call i32 @s2n_print_stacktrace(ptr noundef %876) #10
  %878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %879 = trunc nuw i8 %878 to i1
  br i1 %879, label %880, label %884

880:                                              ; preds = %874
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = call i32 @fileno(ptr noundef %881) #10
  %883 = call i32 @isatty(i32 noundef %882) #10
  %.not284 = icmp eq i32 %883, 0
  br i1 %.not284, label %884, label %885

884:                                              ; preds = %880, %874
  br label %885

885:                                              ; preds = %880, %884
  %.str.5.sink645 = phi ptr [ @.str.5, %884 ], [ @.str.2, %880 ]
  store i32 %875, ptr %425, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = load i32, ptr @test_count, align 4, !tbaa !5
  %888 = load i32, ptr %371, align 4, !tbaa !5
  %889 = call ptr @s2n_strerror(i32 noundef %888, ptr noundef nonnull @.str.4) #10
  %890 = load i32, ptr %371, align 4, !tbaa !5
  %891 = call ptr @s2n_strerror_debug(i32 noundef %890, ptr noundef nonnull @.str.4) #10
  %892 = load i32, ptr %425, align 4, !tbaa !5
  %893 = call ptr @strerror(i32 noundef %892) #10
  %894 = load i32, ptr %425, align 4, !tbaa !5
  %895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %886, ptr noundef nonnull %.str.5.sink645, i32 noundef %887, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %889, ptr noundef %891, ptr noundef %893, i32 noundef %894) #12
  call void @exit(i32 noundef 1) #13
  unreachable

896:                                              ; preds = %869
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = add nsw i32 %897, 1
  store i32 %898, ptr @test_count, align 4, !tbaa !5
  %899 = load i8, ptr %3, align 1, !tbaa !15
  %900 = icmp eq i8 %899, 22
  br i1 %900, label %923, label %901

901:                                              ; preds = %896
  %902 = load i32, ptr %425, align 4, !tbaa !5
  %903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %904 = call i32 @s2n_print_stacktrace(ptr noundef %903) #10
  %905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %906 = trunc nuw i8 %905 to i1
  br i1 %906, label %907, label %911

907:                                              ; preds = %901
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = call i32 @fileno(ptr noundef %908) #10
  %910 = call i32 @isatty(i32 noundef %909) #10
  %.not215 = icmp eq i32 %910, 0
  br i1 %.not215, label %911, label %912

911:                                              ; preds = %907, %901
  br label %912

912:                                              ; preds = %907, %911
  %.str.5.sink654 = phi ptr [ @.str.5, %911 ], [ @.str.2, %907 ]
  store i32 %902, ptr %425, align 4, !tbaa !5
  %913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %914 = load i32, ptr @test_count, align 4, !tbaa !5
  %915 = load i32, ptr %371, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror(i32 noundef %915, ptr noundef nonnull @.str.4) #10
  %917 = load i32, ptr %371, align 4, !tbaa !5
  %918 = call ptr @s2n_strerror_debug(i32 noundef %917, ptr noundef nonnull @.str.4) #10
  %919 = load i32, ptr %425, align 4, !tbaa !5
  %920 = call ptr @strerror(i32 noundef %919) #10
  %921 = load i32, ptr %425, align 4, !tbaa !5
  %922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %913, ptr noundef nonnull %.str.5.sink654, i32 noundef %914, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %916, ptr noundef %918, ptr noundef %920, i32 noundef %921) #12
  call void @exit(i32 noundef 1) #13
  unreachable

923:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, i8 0, i64 24, i1 false)
  %924 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %11, ptr noundef nonnull @.str.29) #10
  %925 = call zeroext i1 @s2n_result_is_ok(i32 %924)
  br i1 %925, label %926, label %1333

926:                                              ; preds = %923
  %927 = load i32, ptr @test_count, align 4, !tbaa !5
  %928 = add nsw i32 %927, 1
  store i32 %928, ptr @test_count, align 4, !tbaa !5
  %929 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %7) #10
  %930 = icmp eq i32 %929, -1
  br i1 %930, label %931, label %953

931:                                              ; preds = %926
  %932 = load i32, ptr %425, align 4, !tbaa !5
  %933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %934 = call i32 @s2n_print_stacktrace(ptr noundef %933) #10
  %935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %936 = trunc nuw i8 %935 to i1
  br i1 %936, label %937, label %941

937:                                              ; preds = %931
  %938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %939 = call i32 @fileno(ptr noundef %938) #10
  %940 = call i32 @isatty(i32 noundef %939) #10
  %.not283 = icmp eq i32 %940, 0
  br i1 %.not283, label %941, label %942

941:                                              ; preds = %937, %931
  br label %942

942:                                              ; preds = %937, %941
  %.str.5.sink663 = phi ptr [ @.str.5, %941 ], [ @.str.2, %937 ]
  store i32 %932, ptr %425, align 4, !tbaa !5
  %943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %944 = load i32, ptr @test_count, align 4, !tbaa !5
  %945 = load i32, ptr %371, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror(i32 noundef %945, ptr noundef nonnull @.str.4) #10
  %947 = load i32, ptr %371, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror_debug(i32 noundef %947, ptr noundef nonnull @.str.4) #10
  %949 = load i32, ptr %425, align 4, !tbaa !5
  %950 = call ptr @strerror(i32 noundef %949) #10
  %951 = load i32, ptr %425, align 4, !tbaa !5
  %952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %943, ptr noundef nonnull %.str.5.sink663, i32 noundef %944, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %946, ptr noundef %948, ptr noundef %950, i32 noundef %951) #12
  call void @exit(i32 noundef 1) #13
  unreachable

953:                                              ; preds = %926
  %954 = load i32, ptr @test_count, align 4, !tbaa !5
  %955 = add nsw i32 %954, 1
  store i32 %955, ptr @test_count, align 4, !tbaa !5
  %956 = call i32 @s2n_stuffer_write(ptr noundef nonnull %7, ptr noundef nonnull %11) #10
  %957 = icmp eq i32 %956, -1
  br i1 %957, label %958, label %980

958:                                              ; preds = %953
  %959 = load i32, ptr %425, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = call i32 @s2n_print_stacktrace(ptr noundef %960) #10
  %962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %963 = trunc nuw i8 %962 to i1
  br i1 %963, label %964, label %968

964:                                              ; preds = %958
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @fileno(ptr noundef %965) #10
  %967 = call i32 @isatty(i32 noundef %966) #10
  %.not282 = icmp eq i32 %967, 0
  br i1 %.not282, label %968, label %969

968:                                              ; preds = %964, %958
  br label %969

969:                                              ; preds = %964, %968
  %.str.5.sink672 = phi ptr [ @.str.5, %968 ], [ @.str.2, %964 ]
  store i32 %959, ptr %425, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = load i32, ptr %371, align 4, !tbaa !5
  %973 = call ptr @s2n_strerror(i32 noundef %972, ptr noundef nonnull @.str.4) #10
  %974 = load i32, ptr %371, align 4, !tbaa !5
  %975 = call ptr @s2n_strerror_debug(i32 noundef %974, ptr noundef nonnull @.str.4) #10
  %976 = load i32, ptr %425, align 4, !tbaa !5
  %977 = call ptr @strerror(i32 noundef %976) #10
  %978 = load i32, ptr %425, align 4, !tbaa !5
  %979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %970, ptr noundef nonnull %.str.5.sink672, i32 noundef %971, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %973, ptr noundef %975, ptr noundef %977, i32 noundef %978) #12
  call void @exit(i32 noundef 1) #13
  unreachable

980:                                              ; preds = %953
  %981 = load i32, ptr @test_count, align 4, !tbaa !5
  %982 = add nsw i32 %981, 1
  store i32 %982, ptr @test_count, align 4, !tbaa !5
  %983 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %984 = icmp eq i32 %983, -1
  br i1 %984, label %1007, label %985

985:                                              ; preds = %980
  %986 = load i32, ptr %425, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987) #10
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc nuw i8 %989 to i1
  br i1 %990, label %991, label %995

991:                                              ; preds = %985
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #10
  %994 = call i32 @isatty(i32 noundef %993) #10
  %.not216 = icmp eq i32 %994, 0
  br i1 %.not216, label %995, label %996

995:                                              ; preds = %991, %985
  br label %996

996:                                              ; preds = %991, %995
  %.str.5.sink681 = phi ptr [ @.str.5, %995 ], [ @.str.2, %991 ]
  store i32 %986, ptr %425, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = load i32, ptr %371, align 4, !tbaa !5
  %1000 = call ptr @s2n_strerror(i32 noundef %999, ptr noundef nonnull @.str.4) #10
  %1001 = load i32, ptr %371, align 4, !tbaa !5
  %1002 = call ptr @s2n_strerror_debug(i32 noundef %1001, ptr noundef nonnull @.str.4) #10
  %1003 = load i32, ptr %425, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #10
  %1005 = load i32, ptr %425, align 4, !tbaa !5
  %1006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %997, ptr noundef nonnull %.str.5.sink681, i32 noundef %998, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1000, ptr noundef %1002, ptr noundef %1004, i32 noundef %1005) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1007:                                             ; preds = %980
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = add nsw i32 %1008, 1
  store i32 %1009, ptr @test_count, align 4, !tbaa !5
  %1010 = load i32, ptr %371, align 4, !tbaa !5
  %1011 = icmp eq i32 %1010, 0
  br i1 %1011, label %1012, label %1034

1012:                                             ; preds = %1007
  %1013 = load i32, ptr %425, align 4, !tbaa !5
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @s2n_print_stacktrace(ptr noundef %1014) #10
  %1016 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1017 = trunc nuw i8 %1016 to i1
  br i1 %1017, label %1018, label %1022

1018:                                             ; preds = %1012
  %1019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1020 = call i32 @fileno(ptr noundef %1019) #10
  %1021 = call i32 @isatty(i32 noundef %1020) #10
  %.not281 = icmp eq i32 %1021, 0
  br i1 %.not281, label %1022, label %1023

1022:                                             ; preds = %1018, %1012
  br label %1023

1023:                                             ; preds = %1018, %1022
  %.str.5.sink690 = phi ptr [ @.str.5, %1022 ], [ @.str.2, %1018 ]
  store i32 %1013, ptr %425, align 4, !tbaa !5
  %1024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1025 = load i32, ptr @test_count, align 4, !tbaa !5
  %1026 = load i32, ptr %371, align 4, !tbaa !5
  %1027 = call ptr @s2n_strerror(i32 noundef %1026, ptr noundef nonnull @.str.4) #10
  %1028 = load i32, ptr %371, align 4, !tbaa !5
  %1029 = call ptr @s2n_strerror_debug(i32 noundef %1028, ptr noundef nonnull @.str.4) #10
  %1030 = load i32, ptr %425, align 4, !tbaa !5
  %1031 = call ptr @strerror(i32 noundef %1030) #10
  %1032 = load i32, ptr %425, align 4, !tbaa !5
  %1033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1024, ptr noundef nonnull %.str.5.sink690, i32 noundef %1025, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1027, ptr noundef %1029, ptr noundef %1031, i32 noundef %1032) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1034:                                             ; preds = %1007
  %1035 = add nsw i32 %1008, 2
  store i32 %1035, ptr @test_count, align 4, !tbaa !5
  %1036 = call ptr @s2n_strerror_debug(i32 noundef %1010, ptr noundef nonnull @.str.4) #10
  %1037 = icmp eq ptr %1036, null
  br i1 %1037, label %1038, label %1060

1038:                                             ; preds = %1034
  %1039 = load i32, ptr %425, align 4, !tbaa !5
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 @s2n_print_stacktrace(ptr noundef %1040) #10
  %1042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1043 = trunc nuw i8 %1042 to i1
  br i1 %1043, label %1044, label %1048

1044:                                             ; preds = %1038
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = call i32 @fileno(ptr noundef %1045) #10
  %1047 = call i32 @isatty(i32 noundef %1046) #10
  %.not280 = icmp eq i32 %1047, 0
  br i1 %.not280, label %1048, label %1049

1048:                                             ; preds = %1044, %1038
  br label %1049

1049:                                             ; preds = %1044, %1048
  %.str.5.sink699 = phi ptr [ @.str.5, %1048 ], [ @.str.2, %1044 ]
  store i32 %1039, ptr %425, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = load i32, ptr @test_count, align 4, !tbaa !5
  %1052 = load i32, ptr %371, align 4, !tbaa !5
  %1053 = call ptr @s2n_strerror(i32 noundef %1052, ptr noundef nonnull @.str.4) #10
  %1054 = load i32, ptr %371, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror_debug(i32 noundef %1054, ptr noundef nonnull @.str.4) #10
  %1056 = load i32, ptr %425, align 4, !tbaa !5
  %1057 = call ptr @strerror(i32 noundef %1056) #10
  %1058 = load i32, ptr %425, align 4, !tbaa !5
  %1059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1050, ptr noundef nonnull %.str.5.sink699, i32 noundef %1051, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1053, ptr noundef %1055, ptr noundef %1057, i32 noundef %1058) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1060:                                             ; preds = %1034
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %425, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %12) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %12, i8 0, i64 24, i1 false)
  %1061 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %12, ptr noundef nonnull @.str.32) #10
  %1062 = call zeroext i1 @s2n_result_is_ok(i32 %1061)
  br i1 %1062, label %1063, label %1331

1063:                                             ; preds = %1060
  %1064 = load i32, ptr @test_count, align 4, !tbaa !5
  %1065 = add nsw i32 %1064, 1
  store i32 %1065, ptr @test_count, align 4, !tbaa !5
  %1066 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %7) #10
  %1067 = icmp eq i32 %1066, -1
  br i1 %1067, label %1068, label %1090

1068:                                             ; preds = %1063
  %1069 = load i32, ptr %425, align 4, !tbaa !5
  %1070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1071 = call i32 @s2n_print_stacktrace(ptr noundef %1070) #10
  %1072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1073 = trunc nuw i8 %1072 to i1
  br i1 %1073, label %1074, label %1078

1074:                                             ; preds = %1068
  %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
  %.not279 = icmp eq i32 %1077, 0
  br i1 %.not279, label %1078, label %1079

1078:                                             ; preds = %1074, %1068
  br label %1079

1079:                                             ; preds = %1074, %1078
  %.str.5.sink708 = phi ptr [ @.str.5, %1078 ], [ @.str.2, %1074 ]
  store i32 %1069, ptr %425, align 4, !tbaa !5
  %1080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1081 = load i32, ptr @test_count, align 4, !tbaa !5
  %1082 = load i32, ptr %371, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef nonnull @.str.4) #10
  %1084 = load i32, ptr %371, align 4, !tbaa !5
  %1085 = call ptr @s2n_strerror_debug(i32 noundef %1084, ptr noundef nonnull @.str.4) #10
  %1086 = load i32, ptr %425, align 4, !tbaa !5
  %1087 = call ptr @strerror(i32 noundef %1086) #10
  %1088 = load i32, ptr %425, align 4, !tbaa !5
  %1089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1080, ptr noundef nonnull %.str.5.sink708, i32 noundef %1081, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1083, ptr noundef %1085, ptr noundef %1087, i32 noundef %1088) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1090:                                             ; preds = %1063
  %1091 = load i32, ptr @test_count, align 4, !tbaa !5
  %1092 = add nsw i32 %1091, 1
  store i32 %1092, ptr @test_count, align 4, !tbaa !5
  %1093 = call i32 @s2n_stuffer_write(ptr noundef nonnull %7, ptr noundef nonnull %12) #10
  %1094 = icmp eq i32 %1093, -1
  br i1 %1094, label %1095, label %1117

1095:                                             ; preds = %1090
  %1096 = load i32, ptr %425, align 4, !tbaa !5
  %1097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1098 = call i32 @s2n_print_stacktrace(ptr noundef %1097) #10
  %1099 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1100 = trunc nuw i8 %1099 to i1
  br i1 %1100, label %1101, label %1105

1101:                                             ; preds = %1095
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = call i32 @fileno(ptr noundef %1102) #10
  %1104 = call i32 @isatty(i32 noundef %1103) #10
  %.not278 = icmp eq i32 %1104, 0
  br i1 %.not278, label %1105, label %1106

1105:                                             ; preds = %1101, %1095
  br label %1106

1106:                                             ; preds = %1101, %1105
  %.str.5.sink717 = phi ptr [ @.str.5, %1105 ], [ @.str.2, %1101 ]
  store i32 %1096, ptr %425, align 4, !tbaa !5
  %1107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1108 = load i32, ptr @test_count, align 4, !tbaa !5
  %1109 = load i32, ptr %371, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef nonnull @.str.4) #10
  %1111 = load i32, ptr %371, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror_debug(i32 noundef %1111, ptr noundef nonnull @.str.4) #10
  %1113 = load i32, ptr %425, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #10
  %1115 = load i32, ptr %425, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1107, ptr noundef nonnull %.str.5.sink717, i32 noundef %1108, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1110, ptr noundef %1112, ptr noundef %1114, i32 noundef %1115) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1117:                                             ; preds = %1090
  %1118 = load i32, ptr @test_count, align 4, !tbaa !5
  %1119 = add nsw i32 %1118, 1
  store i32 %1119, ptr @test_count, align 4, !tbaa !5
  %1120 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %1121 = icmp eq i32 %1120, -1
  br i1 %1121, label %1144, label %1122

1122:                                             ; preds = %1117
  %1123 = load i32, ptr %425, align 4, !tbaa !5
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = call i32 @s2n_print_stacktrace(ptr noundef %1124) #10
  %1126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1127 = trunc nuw i8 %1126 to i1
  br i1 %1127, label %1128, label %1132

1128:                                             ; preds = %1122
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = call i32 @fileno(ptr noundef %1129) #10
  %1131 = call i32 @isatty(i32 noundef %1130) #10
  %.not217 = icmp eq i32 %1131, 0
  br i1 %.not217, label %1132, label %1133

1132:                                             ; preds = %1128, %1122
  br label %1133

1133:                                             ; preds = %1128, %1132
  %.str.5.sink726 = phi ptr [ @.str.5, %1132 ], [ @.str.2, %1128 ]
  store i32 %1123, ptr %425, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = load i32, ptr %371, align 4, !tbaa !5
  %1137 = call ptr @s2n_strerror(i32 noundef %1136, ptr noundef nonnull @.str.4) #10
  %1138 = load i32, ptr %371, align 4, !tbaa !5
  %1139 = call ptr @s2n_strerror_debug(i32 noundef %1138, ptr noundef nonnull @.str.4) #10
  %1140 = load i32, ptr %425, align 4, !tbaa !5
  %1141 = call ptr @strerror(i32 noundef %1140) #10
  %1142 = load i32, ptr %425, align 4, !tbaa !5
  %1143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1134, ptr noundef nonnull %.str.5.sink726, i32 noundef %1135, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1137, ptr noundef %1139, ptr noundef %1141, i32 noundef %1142) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1144:                                             ; preds = %1117
  %1145 = load i32, ptr @test_count, align 4, !tbaa !5
  %1146 = add nsw i32 %1145, 1
  store i32 %1146, ptr @test_count, align 4, !tbaa !5
  %1147 = load i32, ptr %371, align 4, !tbaa !5
  %1148 = icmp eq i32 %1147, 0
  br i1 %1148, label %1149, label %1171

1149:                                             ; preds = %1144
  %1150 = load i32, ptr %425, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = call i32 @s2n_print_stacktrace(ptr noundef %1151) #10
  %1153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1154 = trunc nuw i8 %1153 to i1
  br i1 %1154, label %1155, label %1159

1155:                                             ; preds = %1149
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = call i32 @fileno(ptr noundef %1156) #10
  %1158 = call i32 @isatty(i32 noundef %1157) #10
  %.not277 = icmp eq i32 %1158, 0
  br i1 %.not277, label %1159, label %1160

1159:                                             ; preds = %1155, %1149
  br label %1160

1160:                                             ; preds = %1155, %1159
  %.str.5.sink735 = phi ptr [ @.str.5, %1159 ], [ @.str.2, %1155 ]
  store i32 %1150, ptr %425, align 4, !tbaa !5
  %1161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1162 = load i32, ptr @test_count, align 4, !tbaa !5
  %1163 = load i32, ptr %371, align 4, !tbaa !5
  %1164 = call ptr @s2n_strerror(i32 noundef %1163, ptr noundef nonnull @.str.4) #10
  %1165 = load i32, ptr %371, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror_debug(i32 noundef %1165, ptr noundef nonnull @.str.4) #10
  %1167 = load i32, ptr %425, align 4, !tbaa !5
  %1168 = call ptr @strerror(i32 noundef %1167) #10
  %1169 = load i32, ptr %425, align 4, !tbaa !5
  %1170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1161, ptr noundef nonnull %.str.5.sink735, i32 noundef %1162, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1164, ptr noundef %1166, ptr noundef %1168, i32 noundef %1169) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1171:                                             ; preds = %1144
  %1172 = add nsw i32 %1145, 2
  store i32 %1172, ptr @test_count, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror_debug(i32 noundef %1147, ptr noundef nonnull @.str.4) #10
  %1174 = icmp eq ptr %1173, null
  br i1 %1174, label %1175, label %1197

1175:                                             ; preds = %1171
  %1176 = load i32, ptr %425, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = call i32 @s2n_print_stacktrace(ptr noundef %1177) #10
  %1179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc nuw i8 %1179 to i1
  br i1 %1180, label %1181, label %1185

1181:                                             ; preds = %1175
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = call i32 @fileno(ptr noundef %1182) #10
  %1184 = call i32 @isatty(i32 noundef %1183) #10
  %.not276 = icmp eq i32 %1184, 0
  br i1 %.not276, label %1185, label %1186

1185:                                             ; preds = %1181, %1175
  br label %1186

1186:                                             ; preds = %1181, %1185
  %.str.5.sink744 = phi ptr [ @.str.5, %1185 ], [ @.str.2, %1181 ]
  store i32 %1176, ptr %425, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = load i32, ptr %371, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef nonnull @.str.4) #10
  %1191 = load i32, ptr %371, align 4, !tbaa !5
  %1192 = call ptr @s2n_strerror_debug(i32 noundef %1191, ptr noundef nonnull @.str.4) #10
  %1193 = load i32, ptr %425, align 4, !tbaa !5
  %1194 = call ptr @strerror(i32 noundef %1193) #10
  %1195 = load i32, ptr %425, align 4, !tbaa !5
  %1196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef nonnull %.str.5.sink744, i32 noundef %1188, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1190, ptr noundef %1192, ptr noundef %1194, i32 noundef %1195) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1197:                                             ; preds = %1171
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %425, align 4, !tbaa !5
  %1198 = load i32, ptr @test_count, align 4, !tbaa !5
  %1199 = add nsw i32 %1198, 1
  store i32 %1199, ptr @test_count, align 4, !tbaa !5
  %1200 = call i32 @s2n_stuffer_wipe(ptr noundef nonnull %7) #10
  %1201 = icmp eq i32 %1200, -1
  br i1 %1201, label %1202, label %1224

1202:                                             ; preds = %1197
  %1203 = load i32, ptr %425, align 4, !tbaa !5
  %1204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1205 = call i32 @s2n_print_stacktrace(ptr noundef %1204) #10
  %1206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1207 = trunc nuw i8 %1206 to i1
  br i1 %1207, label %1208, label %1212

1208:                                             ; preds = %1202
  %1209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1210 = call i32 @fileno(ptr noundef %1209) #10
  %1211 = call i32 @isatty(i32 noundef %1210) #10
  %.not275 = icmp eq i32 %1211, 0
  br i1 %.not275, label %1212, label %1213

1212:                                             ; preds = %1208, %1202
  br label %1213

1213:                                             ; preds = %1208, %1212
  %.str.5.sink753 = phi ptr [ @.str.5, %1212 ], [ @.str.2, %1208 ]
  store i32 %1203, ptr %425, align 4, !tbaa !5
  %1214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1215 = load i32, ptr @test_count, align 4, !tbaa !5
  %1216 = load i32, ptr %371, align 4, !tbaa !5
  %1217 = call ptr @s2n_strerror(i32 noundef %1216, ptr noundef nonnull @.str.4) #10
  %1218 = load i32, ptr %371, align 4, !tbaa !5
  %1219 = call ptr @s2n_strerror_debug(i32 noundef %1218, ptr noundef nonnull @.str.4) #10
  %1220 = load i32, ptr %425, align 4, !tbaa !5
  %1221 = call ptr @strerror(i32 noundef %1220) #10
  %1222 = load i32, ptr %425, align 4, !tbaa !5
  %1223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1214, ptr noundef nonnull %.str.5.sink753, i32 noundef %1215, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1217, ptr noundef %1219, ptr noundef %1221, i32 noundef %1222) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1224:                                             ; preds = %1197
  %1225 = load i32, ptr @test_count, align 4, !tbaa !5
  %1226 = add nsw i32 %1225, 1
  store i32 %1226, ptr @test_count, align 4, !tbaa !5
  %1227 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %7, ptr noundef nonnull %3) #10
  %1228 = icmp eq i32 %1227, -1
  br i1 %1228, label %1251, label %1229

1229:                                             ; preds = %1224
  %1230 = load i32, ptr %425, align 4, !tbaa !5
  %1231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1232 = call i32 @s2n_print_stacktrace(ptr noundef %1231) #10
  %1233 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1234 = trunc nuw i8 %1233 to i1
  br i1 %1234, label %1235, label %1239

1235:                                             ; preds = %1229
  %1236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1237 = call i32 @fileno(ptr noundef %1236) #10
  %1238 = call i32 @isatty(i32 noundef %1237) #10
  %.not218 = icmp eq i32 %1238, 0
  br i1 %.not218, label %1239, label %1240

1239:                                             ; preds = %1235, %1229
  br label %1240

1240:                                             ; preds = %1235, %1239
  %.str.5.sink762 = phi ptr [ @.str.5, %1239 ], [ @.str.2, %1235 ]
  store i32 %1230, ptr %425, align 4, !tbaa !5
  %1241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1242 = load i32, ptr @test_count, align 4, !tbaa !5
  %1243 = load i32, ptr %371, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror(i32 noundef %1243, ptr noundef nonnull @.str.4) #10
  %1245 = load i32, ptr %371, align 4, !tbaa !5
  %1246 = call ptr @s2n_strerror_debug(i32 noundef %1245, ptr noundef nonnull @.str.4) #10
  %1247 = load i32, ptr %425, align 4, !tbaa !5
  %1248 = call ptr @strerror(i32 noundef %1247) #10
  %1249 = load i32, ptr %425, align 4, !tbaa !5
  %1250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1241, ptr noundef nonnull %.str.5.sink762, i32 noundef %1242, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1244, ptr noundef %1246, ptr noundef %1248, i32 noundef %1249) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1251:                                             ; preds = %1224
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = add nsw i32 %1252, 1
  store i32 %1253, ptr @test_count, align 4, !tbaa !5
  %1254 = load i32, ptr %371, align 4, !tbaa !5
  %1255 = icmp eq i32 %1254, 0
  br i1 %1255, label %1256, label %1278

1256:                                             ; preds = %1251
  %1257 = load i32, ptr %425, align 4, !tbaa !5
  %1258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1259 = call i32 @s2n_print_stacktrace(ptr noundef %1258) #10
  %1260 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1261 = trunc nuw i8 %1260 to i1
  br i1 %1261, label %1262, label %1266

1262:                                             ; preds = %1256
  %1263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1264 = call i32 @fileno(ptr noundef %1263) #10
  %1265 = call i32 @isatty(i32 noundef %1264) #10
  %.not274 = icmp eq i32 %1265, 0
  br i1 %.not274, label %1266, label %1267

1266:                                             ; preds = %1262, %1256
  br label %1267

1267:                                             ; preds = %1262, %1266
  %.str.5.sink771 = phi ptr [ @.str.5, %1266 ], [ @.str.2, %1262 ]
  store i32 %1257, ptr %425, align 4, !tbaa !5
  %1268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1269 = load i32, ptr @test_count, align 4, !tbaa !5
  %1270 = load i32, ptr %371, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror(i32 noundef %1270, ptr noundef nonnull @.str.4) #10
  %1272 = load i32, ptr %371, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror_debug(i32 noundef %1272, ptr noundef nonnull @.str.4) #10
  %1274 = load i32, ptr %425, align 4, !tbaa !5
  %1275 = call ptr @strerror(i32 noundef %1274) #10
  %1276 = load i32, ptr %425, align 4, !tbaa !5
  %1277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1268, ptr noundef nonnull %.str.5.sink771, i32 noundef %1269, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1271, ptr noundef %1273, ptr noundef %1275, i32 noundef %1276) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1278:                                             ; preds = %1251
  %1279 = add nsw i32 %1252, 2
  store i32 %1279, ptr @test_count, align 4, !tbaa !5
  %1280 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef nonnull @.str.4) #10
  %1281 = icmp eq ptr %1280, null
  br i1 %1281, label %1282, label %1304

1282:                                             ; preds = %1278
  %1283 = load i32, ptr %425, align 4, !tbaa !5
  %1284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1285 = call i32 @s2n_print_stacktrace(ptr noundef %1284) #10
  %1286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1287 = trunc nuw i8 %1286 to i1
  br i1 %1287, label %1288, label %1292

1288:                                             ; preds = %1282
  %1289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1290 = call i32 @fileno(ptr noundef %1289) #10
  %1291 = call i32 @isatty(i32 noundef %1290) #10
  %.not273 = icmp eq i32 %1291, 0
  br i1 %.not273, label %1292, label %1293

1292:                                             ; preds = %1288, %1282
  br label %1293

1293:                                             ; preds = %1288, %1292
  %.str.5.sink780 = phi ptr [ @.str.5, %1292 ], [ @.str.2, %1288 ]
  store i32 %1283, ptr %425, align 4, !tbaa !5
  %1294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1295 = load i32, ptr @test_count, align 4, !tbaa !5
  %1296 = load i32, ptr %371, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror(i32 noundef %1296, ptr noundef nonnull @.str.4) #10
  %1298 = load i32, ptr %371, align 4, !tbaa !5
  %1299 = call ptr @s2n_strerror_debug(i32 noundef %1298, ptr noundef nonnull @.str.4) #10
  %1300 = load i32, ptr %425, align 4, !tbaa !5
  %1301 = call ptr @strerror(i32 noundef %1300) #10
  %1302 = load i32, ptr %425, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1294, ptr noundef nonnull %.str.5.sink780, i32 noundef %1295, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1297, ptr noundef %1299, ptr noundef %1301, i32 noundef %1302) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1304:                                             ; preds = %1278
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %425, align 4, !tbaa !5
  %1305 = load i32, ptr @test_count, align 4, !tbaa !5
  %1306 = add nsw i32 %1305, 1
  store i32 %1306, ptr @test_count, align 4, !tbaa !5
  %1307 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #10
  %1308 = icmp eq i32 %1307, -1
  br i1 %1308, label %1309, label %1331

1309:                                             ; preds = %1304
  %1310 = load i32, ptr %425, align 4, !tbaa !5
  %1311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1312 = call i32 @s2n_print_stacktrace(ptr noundef %1311) #10
  %1313 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1314 = trunc nuw i8 %1313 to i1
  br i1 %1314, label %1315, label %1319

1315:                                             ; preds = %1309
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @fileno(ptr noundef %1316) #10
  %1318 = call i32 @isatty(i32 noundef %1317) #10
  %.not272 = icmp eq i32 %1318, 0
  br i1 %.not272, label %1319, label %1320

1319:                                             ; preds = %1315, %1309
  br label %1320

1320:                                             ; preds = %1315, %1319
  %.str.5.sink789 = phi ptr [ @.str.5, %1319 ], [ @.str.2, %1315 ]
  store i32 %1310, ptr %425, align 4, !tbaa !5
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = load i32, ptr @test_count, align 4, !tbaa !5
  %1323 = load i32, ptr %371, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror(i32 noundef %1323, ptr noundef nonnull @.str.4) #10
  %1325 = load i32, ptr %371, align 4, !tbaa !5
  %1326 = call ptr @s2n_strerror_debug(i32 noundef %1325, ptr noundef nonnull @.str.4) #10
  %1327 = load i32, ptr %425, align 4, !tbaa !5
  %1328 = call ptr @strerror(i32 noundef %1327) #10
  %1329 = load i32, ptr %425, align 4, !tbaa !5
  %1330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1321, ptr noundef nonnull %.str.5.sink789, i32 noundef %1322, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1324, ptr noundef %1326, ptr noundef %1328, i32 noundef %1329) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1331:                                             ; preds = %1304, %1060
  %.0202 = phi i32 [ 1, %1060 ], [ 0, %1304 ]
  %.0 = phi i32 [ -1, %1060 ], [ 0, %1304 ]
  %1332 = call i32 @s2n_free(ptr noundef nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %12) #10
  br label %1333

1333:                                             ; preds = %923, %1331
  %.1203 = phi i32 [ %.0202, %1331 ], [ 1, %923 ]
  %.1 = phi i32 [ %.0, %1331 ], [ -1, %923 ]
  %1334 = call i32 @s2n_free(ptr noundef nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #10
  br label %1335

1335:                                             ; preds = %812, %1333
  %.2204 = phi i32 [ %.1203, %1333 ], [ 1, %812 ]
  %.2 = phi i32 [ %.1, %1333 ], [ -1, %812 ]
  %1336 = call i32 @s2n_free(ptr noundef nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #10
  br label %1337

1337:                                             ; preds = %1335, %701
  %.3205 = phi i32 [ %.2204, %1335 ], [ 1, %701 ]
  %.3 = phi i32 [ %.2, %1335 ], [ -1, %701 ]
  %1338 = call i32 @s2n_free(ptr noundef nonnull %9) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #10
  %1339 = call i32 @s2n_free(ptr noundef nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #10
  %cond = icmp eq i32 %.3205, 0
  br i1 %cond, label %1340, label %2727

1340:                                             ; preds = %1337
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, i8 0, i64 40, i1 false)
  %1342 = add nsw i32 %1341, 2
  store i32 %1342, ptr @test_count, align 4, !tbaa !5
  %1343 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %13, i32 noundef 1024) #10
  %1344 = icmp eq i32 %1343, -1
  br i1 %1344, label %1345, label %1367

1345:                                             ; preds = %1340
  %1346 = load i32, ptr %425, align 4, !tbaa !5
  %1347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1348 = call i32 @s2n_print_stacktrace(ptr noundef %1347) #10
  %1349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1350 = trunc nuw i8 %1349 to i1
  br i1 %1350, label %1351, label %1355

1351:                                             ; preds = %1345
  %1352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1353 = call i32 @fileno(ptr noundef %1352) #10
  %1354 = call i32 @isatty(i32 noundef %1353) #10
  %.not271 = icmp eq i32 %1354, 0
  br i1 %.not271, label %1355, label %1356

1355:                                             ; preds = %1351, %1345
  br label %1356

1356:                                             ; preds = %1351, %1355
  %.str.5.sink798 = phi ptr [ @.str.5, %1355 ], [ @.str.2, %1351 ]
  store i32 %1346, ptr %425, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = load i32, ptr @test_count, align 4, !tbaa !5
  %1359 = load i32, ptr %371, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror(i32 noundef %1359, ptr noundef nonnull @.str.4) #10
  %1361 = load i32, ptr %371, align 4, !tbaa !5
  %1362 = call ptr @s2n_strerror_debug(i32 noundef %1361, ptr noundef nonnull @.str.4) #10
  %1363 = load i32, ptr %425, align 4, !tbaa !5
  %1364 = call ptr @strerror(i32 noundef %1363) #10
  %1365 = load i32, ptr %425, align 4, !tbaa !5
  %1366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1357, ptr noundef nonnull %.str.5.sink798, i32 noundef %1358, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1360, ptr noundef %1362, ptr noundef %1364, i32 noundef %1365) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1367:                                             ; preds = %1340
  %1368 = load i32, ptr @test_count, align 4, !tbaa !5
  %1369 = add nsw i32 %1368, 1
  store i32 %1369, ptr @test_count, align 4, !tbaa !5
  %1370 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %13, i8 noundef zeroext 22) #10
  %1371 = icmp eq i32 %1370, -1
  br i1 %1371, label %1374, label %.preheader317

.preheader317:                                    ; preds = %1367
  %1372 = getelementptr inbounds i8, ptr %13, i64 28
  %1373 = getelementptr inbounds i8, ptr %13, i64 24
  br label %1396

1374:                                             ; preds = %1367
  %1375 = load i32, ptr %425, align 4, !tbaa !5
  %1376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1377 = call i32 @s2n_print_stacktrace(ptr noundef %1376) #10
  %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) #10
  %1383 = call i32 @isatty(i32 noundef %1382) #10
  %.not270 = icmp eq i32 %1383, 0
  br i1 %.not270, label %1384, label %1385

1384:                                             ; preds = %1380, %1374
  br label %1385

1385:                                             ; preds = %1380, %1384
  %.str.5.sink807 = phi ptr [ @.str.5, %1384 ], [ @.str.2, %1380 ]
  store i32 %1375, ptr %425, 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 %371, align 4, !tbaa !5
  %1389 = call ptr @s2n_strerror(i32 noundef %1388, ptr noundef nonnull @.str.4) #10
  %1390 = load i32, ptr %371, align 4, !tbaa !5
  %1391 = call ptr @s2n_strerror_debug(i32 noundef %1390, ptr noundef nonnull @.str.4) #10
  %1392 = load i32, ptr %425, align 4, !tbaa !5
  %1393 = call ptr @strerror(i32 noundef %1392) #10
  %1394 = load i32, ptr %425, align 4, !tbaa !5
  %1395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1386, ptr noundef nonnull %.str.5.sink807, i32 noundef %1387, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1389, ptr noundef %1391, ptr noundef %1393, i32 noundef %1394) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1396:                                             ; preds = %.preheader317, %1403
  %1397 = load i32, ptr %1372, align 4, !tbaa !16
  %1398 = load i32, ptr %1373, align 8, !tbaa !19
  %1399 = sub i32 %1397, %1398
  %1400 = icmp ult i32 %1399, 16385
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = add nsw i32 %1401, 1
  store i32 %1402, ptr @test_count, align 4, !tbaa !5
  br i1 %1400, label %1403, label %1428

1403:                                             ; preds = %1396
  %1404 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %13, i8 noundef zeroext 0) #10
  %1405 = icmp eq i32 %1404, -1
  br i1 %1405, label %1406, label %1396, !llvm.loop !20

1406:                                             ; preds = %1403
  %1407 = load i32, ptr %425, align 4, !tbaa !5
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1409 = call i32 @s2n_print_stacktrace(ptr noundef %1408) #10
  %1410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1411 = trunc nuw i8 %1410 to i1
  br i1 %1411, label %1412, label %1416

1412:                                             ; preds = %1406
  %1413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1414 = call i32 @fileno(ptr noundef %1413) #10
  %1415 = call i32 @isatty(i32 noundef %1414) #10
  %.not269 = icmp eq i32 %1415, 0
  br i1 %.not269, label %1416, label %1417

1416:                                             ; preds = %1412, %1406
  br label %1417

1417:                                             ; preds = %1412, %1416
  %.str.5.sink816 = phi ptr [ @.str.5, %1416 ], [ @.str.2, %1412 ]
  store i32 %1407, ptr %425, align 4, !tbaa !5
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1419 = load i32, ptr @test_count, align 4, !tbaa !5
  %1420 = load i32, ptr %371, align 4, !tbaa !5
  %1421 = call ptr @s2n_strerror(i32 noundef %1420, ptr noundef nonnull @.str.4) #10
  %1422 = load i32, ptr %371, align 4, !tbaa !5
  %1423 = call ptr @s2n_strerror_debug(i32 noundef %1422, ptr noundef nonnull @.str.4) #10
  %1424 = load i32, ptr %425, align 4, !tbaa !5
  %1425 = call ptr @strerror(i32 noundef %1424) #10
  %1426 = load i32, ptr %425, align 4, !tbaa !5
  %1427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1418, ptr noundef nonnull %.str.5.sink816, i32 noundef %1419, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1421, ptr noundef %1423, ptr noundef %1425, i32 noundef %1426) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1428:                                             ; preds = %1396
  %1429 = icmp eq i32 %1399, 16385
  br i1 %1429, label %1452, label %1430

1430:                                             ; preds = %1428
  %1431 = load i32, ptr %425, align 4, !tbaa !5
  %1432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1433 = call i32 @s2n_print_stacktrace(ptr noundef %1432) #10
  %1434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1435 = trunc nuw i8 %1434 to i1
  br i1 %1435, label %1436, label %1440

1436:                                             ; preds = %1430
  %1437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1438 = call i32 @fileno(ptr noundef %1437) #10
  %1439 = call i32 @isatty(i32 noundef %1438) #10
  %.not219 = icmp eq i32 %1439, 0
  br i1 %.not219, label %1440, label %1441

1440:                                             ; preds = %1436, %1430
  br label %1441

1441:                                             ; preds = %1436, %1440
  %.str.5.sink825 = phi ptr [ @.str.5, %1440 ], [ @.str.2, %1436 ]
  store i32 %1431, ptr %425, align 4, !tbaa !5
  %1442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = load i32, ptr %371, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror(i32 noundef %1444, ptr noundef nonnull @.str.4) #10
  %1446 = load i32, ptr %371, align 4, !tbaa !5
  %1447 = call ptr @s2n_strerror_debug(i32 noundef %1446, ptr noundef nonnull @.str.4) #10
  %1448 = load i32, ptr %425, align 4, !tbaa !5
  %1449 = call ptr @strerror(i32 noundef %1448) #10
  %1450 = load i32, ptr %425, align 4, !tbaa !5
  %1451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1442, ptr noundef nonnull %.str.5.sink825, i32 noundef %1443, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1445, ptr noundef %1447, ptr noundef %1449, i32 noundef %1450) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1452:                                             ; preds = %1428
  %1453 = add nsw i32 %1401, 2
  store i32 %1453, ptr @test_count, align 4, !tbaa !5
  %1454 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %13, ptr noundef nonnull %3) #10
  %1455 = icmp eq i32 %1454, -1
  br i1 %1455, label %1456, label %1478

1456:                                             ; preds = %1452
  %1457 = load i32, ptr %425, align 4, !tbaa !5
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = call i32 @s2n_print_stacktrace(ptr noundef %1458) #10
  %1460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1461 = trunc nuw i8 %1460 to i1
  br i1 %1461, label %1462, label %1466

1462:                                             ; preds = %1456
  %1463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1464 = call i32 @fileno(ptr noundef %1463) #10
  %1465 = call i32 @isatty(i32 noundef %1464) #10
  %.not268 = icmp eq i32 %1465, 0
  br i1 %.not268, label %1466, label %1467

1466:                                             ; preds = %1462, %1456
  br label %1467

1467:                                             ; preds = %1462, %1466
  %.str.5.sink834 = phi ptr [ @.str.5, %1466 ], [ @.str.2, %1462 ]
  store i32 %1457, ptr %425, align 4, !tbaa !5
  %1468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1469 = load i32, ptr @test_count, align 4, !tbaa !5
  %1470 = load i32, ptr %371, align 4, !tbaa !5
  %1471 = call ptr @s2n_strerror(i32 noundef %1470, ptr noundef nonnull @.str.4) #10
  %1472 = load i32, ptr %371, align 4, !tbaa !5
  %1473 = call ptr @s2n_strerror_debug(i32 noundef %1472, ptr noundef nonnull @.str.4) #10
  %1474 = load i32, ptr %425, align 4, !tbaa !5
  %1475 = call ptr @strerror(i32 noundef %1474) #10
  %1476 = load i32, ptr %425, align 4, !tbaa !5
  %1477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1468, ptr noundef nonnull %.str.5.sink834, i32 noundef %1469, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1471, ptr noundef %1473, ptr noundef %1475, i32 noundef %1476) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1478:                                             ; preds = %1452
  %1479 = load i32, ptr @test_count, align 4, !tbaa !5
  %1480 = add nsw i32 %1479, 1
  store i32 %1480, ptr @test_count, align 4, !tbaa !5
  %1481 = load i8, ptr %3, align 1, !tbaa !15
  %1482 = icmp eq i8 %1481, 22
  br i1 %1482, label %1505, label %1483

1483:                                             ; preds = %1478
  %1484 = load i32, ptr %425, align 4, !tbaa !5
  %1485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1486 = call i32 @s2n_print_stacktrace(ptr noundef %1485) #10
  %1487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1488 = trunc nuw i8 %1487 to i1
  br i1 %1488, label %1489, label %1493

1489:                                             ; preds = %1483
  %1490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1491 = call i32 @fileno(ptr noundef %1490) #10
  %1492 = call i32 @isatty(i32 noundef %1491) #10
  %.not220 = icmp eq i32 %1492, 0
  br i1 %.not220, label %1493, label %1494

1493:                                             ; preds = %1489, %1483
  br label %1494

1494:                                             ; preds = %1489, %1493
  %.str.5.sink843 = phi ptr [ @.str.5, %1493 ], [ @.str.2, %1489 ]
  store i32 %1484, ptr %425, align 4, !tbaa !5
  %1495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1496 = load i32, ptr @test_count, align 4, !tbaa !5
  %1497 = load i32, ptr %371, align 4, !tbaa !5
  %1498 = call ptr @s2n_strerror(i32 noundef %1497, ptr noundef nonnull @.str.4) #10
  %1499 = load i32, ptr %371, align 4, !tbaa !5
  %1500 = call ptr @s2n_strerror_debug(i32 noundef %1499, ptr noundef nonnull @.str.4) #10
  %1501 = load i32, ptr %425, align 4, !tbaa !5
  %1502 = call ptr @strerror(i32 noundef %1501) #10
  %1503 = load i32, ptr %425, align 4, !tbaa !5
  %1504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1495, ptr noundef nonnull %.str.5.sink843, i32 noundef %1496, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1498, ptr noundef %1500, ptr noundef %1502, i32 noundef %1503) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1505:                                             ; preds = %1478
  %1506 = add nsw i32 %1479, 2
  store i32 %1506, ptr @test_count, align 4, !tbaa !5
  %1507 = load i32, ptr %1372, align 4, !tbaa !16
  %1508 = load i32, ptr %1373, align 8, !tbaa !19
  %1509 = icmp eq i32 %1507, %1508
  br i1 %1509, label %1532, label %1510

1510:                                             ; preds = %1505
  %1511 = load i32, ptr %425, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = call i32 @s2n_print_stacktrace(ptr noundef %1512) #10
  %1514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1515 = trunc nuw i8 %1514 to i1
  br i1 %1515, label %1516, label %1520

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

1520:                                             ; preds = %1516, %1510
  br label %1521

1521:                                             ; preds = %1516, %1520
  %.str.5.sink852 = phi ptr [ @.str.5, %1520 ], [ @.str.2, %1516 ]
  store i32 %1511, ptr %425, align 4, !tbaa !5
  %1522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1523 = load i32, ptr @test_count, align 4, !tbaa !5
  %1524 = load i32, ptr %371, align 4, !tbaa !5
  %1525 = call ptr @s2n_strerror(i32 noundef %1524, ptr noundef nonnull @.str.4) #10
  %1526 = load i32, ptr %371, align 4, !tbaa !5
  %1527 = call ptr @s2n_strerror_debug(i32 noundef %1526, ptr noundef nonnull @.str.4) #10
  %1528 = load i32, ptr %425, align 4, !tbaa !5
  %1529 = call ptr @strerror(i32 noundef %1528) #10
  %1530 = load i32, ptr %425, align 4, !tbaa !5
  %1531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1522, ptr noundef nonnull %.str.5.sink852, i32 noundef %1523, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1525, ptr noundef %1527, ptr noundef %1529, i32 noundef %1530) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1532:                                             ; preds = %1505
  %1533 = add nsw i32 %1479, 3
  store i32 %1533, ptr @test_count, align 4, !tbaa !5
  %1534 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #10
  %1535 = icmp eq i32 %1534, -1
  br i1 %1535, label %1536, label %1558

1536:                                             ; preds = %1532
  %1537 = load i32, ptr %425, align 4, !tbaa !5
  %1538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1539 = call i32 @s2n_print_stacktrace(ptr noundef %1538) #10
  %1540 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1541 = trunc nuw i8 %1540 to i1
  br i1 %1541, label %1542, label %1546

1542:                                             ; preds = %1536
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = call i32 @fileno(ptr noundef %1543) #10
  %1545 = call i32 @isatty(i32 noundef %1544) #10
  %.not267 = icmp eq i32 %1545, 0
  br i1 %.not267, label %1546, label %1547

1546:                                             ; preds = %1542, %1536
  br label %1547

1547:                                             ; preds = %1542, %1546
  %.str.5.sink861 = phi ptr [ @.str.5, %1546 ], [ @.str.2, %1542 ]
  store i32 %1537, ptr %425, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = load i32, ptr %371, align 4, !tbaa !5
  %1551 = call ptr @s2n_strerror(i32 noundef %1550, ptr noundef nonnull @.str.4) #10
  %1552 = load i32, ptr %371, align 4, !tbaa !5
  %1553 = call ptr @s2n_strerror_debug(i32 noundef %1552, ptr noundef nonnull @.str.4) #10
  %1554 = load i32, ptr %425, align 4, !tbaa !5
  %1555 = call ptr @strerror(i32 noundef %1554) #10
  %1556 = load i32, ptr %425, align 4, !tbaa !5
  %1557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1548, ptr noundef nonnull %.str.5.sink861, i32 noundef %1549, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %1551, ptr noundef %1553, ptr noundef %1555, i32 noundef %1556) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1558:                                             ; preds = %1532
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %14) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %14, i8 0, i64 40, i1 false)
  %1559 = load i32, ptr @test_count, align 4, !tbaa !5
  %1560 = add nsw i32 %1559, 1
  store i32 %1560, ptr @test_count, align 4, !tbaa !5
  %1561 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %14, i32 noundef 1024) #10
  %1562 = icmp eq i32 %1561, -1
  br i1 %1562, label %1565, label %.preheader316

.preheader316:                                    ; preds = %1558
  %1563 = getelementptr inbounds i8, ptr %14, i64 28
  %1564 = getelementptr inbounds i8, ptr %14, i64 24
  br label %1587

1565:                                             ; preds = %1558
  %1566 = load i32, ptr %425, align 4, !tbaa !5
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1568 = call i32 @s2n_print_stacktrace(ptr noundef %1567) #10
  %1569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1570 = trunc nuw i8 %1569 to i1
  br i1 %1570, label %1571, label %1575

1571:                                             ; preds = %1565
  %1572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1573 = call i32 @fileno(ptr noundef %1572) #10
  %1574 = call i32 @isatty(i32 noundef %1573) #10
  %.not266 = icmp eq i32 %1574, 0
  br i1 %.not266, label %1575, label %1576

1575:                                             ; preds = %1571, %1565
  br label %1576

1576:                                             ; preds = %1571, %1575
  %.str.5.sink870 = phi ptr [ @.str.5, %1575 ], [ @.str.2, %1571 ]
  store i32 %1566, ptr %425, align 4, !tbaa !5
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1578 = load i32, ptr @test_count, align 4, !tbaa !5
  %1579 = load i32, ptr %371, align 4, !tbaa !5
  %1580 = call ptr @s2n_strerror(i32 noundef %1579, ptr noundef nonnull @.str.4) #10
  %1581 = load i32, ptr %371, align 4, !tbaa !5
  %1582 = call ptr @s2n_strerror_debug(i32 noundef %1581, ptr noundef nonnull @.str.4) #10
  %1583 = load i32, ptr %425, align 4, !tbaa !5
  %1584 = call ptr @strerror(i32 noundef %1583) #10
  %1585 = load i32, ptr %425, align 4, !tbaa !5
  %1586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1577, ptr noundef nonnull %.str.5.sink870, i32 noundef %1578, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1580, ptr noundef %1582, ptr noundef %1584, i32 noundef %1585) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1587:                                             ; preds = %.preheader316, %1594
  %1588 = load i32, ptr %1563, align 4, !tbaa !16
  %1589 = load i32, ptr %1564, align 8, !tbaa !19
  %1590 = sub i32 %1588, %1589
  %1591 = icmp ult i32 %1590, 16385
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = add nsw i32 %1592, 1
  store i32 %1593, ptr @test_count, align 4, !tbaa !5
  br i1 %1591, label %1594, label %1619

1594:                                             ; preds = %1587
  %1595 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %14, i8 noundef zeroext 22) #10
  %1596 = icmp eq i32 %1595, -1
  br i1 %1596, label %1597, label %1587, !llvm.loop !22

1597:                                             ; preds = %1594
  %1598 = load i32, ptr %425, align 4, !tbaa !5
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1600 = call i32 @s2n_print_stacktrace(ptr noundef %1599) #10
  %1601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1602 = trunc nuw i8 %1601 to i1
  br i1 %1602, label %1603, label %1607

1603:                                             ; preds = %1597
  %1604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1605 = call i32 @fileno(ptr noundef %1604) #10
  %1606 = call i32 @isatty(i32 noundef %1605) #10
  %.not265 = icmp eq i32 %1606, 0
  br i1 %.not265, label %1607, label %1608

1607:                                             ; preds = %1603, %1597
  br label %1608

1608:                                             ; preds = %1603, %1607
  %.str.5.sink879 = phi ptr [ @.str.5, %1607 ], [ @.str.2, %1603 ]
  store i32 %1598, ptr %425, align 4, !tbaa !5
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1610 = load i32, ptr @test_count, align 4, !tbaa !5
  %1611 = load i32, ptr %371, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror(i32 noundef %1611, ptr noundef nonnull @.str.4) #10
  %1613 = load i32, ptr %371, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef nonnull @.str.4) #10
  %1615 = load i32, ptr %425, align 4, !tbaa !5
  %1616 = call ptr @strerror(i32 noundef %1615) #10
  %1617 = load i32, ptr %425, align 4, !tbaa !5
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1609, ptr noundef nonnull %.str.5.sink879, i32 noundef %1610, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1612, ptr noundef %1614, ptr noundef %1616, i32 noundef %1617) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1619:                                             ; preds = %1587
  %1620 = icmp eq i32 %1590, 16385
  br i1 %1620, label %1643, label %1621

1621:                                             ; preds = %1619
  %1622 = load i32, ptr %425, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = call i32 @s2n_print_stacktrace(ptr noundef %1623) #10
  %1625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1626 = trunc nuw i8 %1625 to i1
  br i1 %1626, label %1627, label %1631

1627:                                             ; preds = %1621
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @fileno(ptr noundef %1628) #10
  %1630 = call i32 @isatty(i32 noundef %1629) #10
  %.not222 = icmp eq i32 %1630, 0
  br i1 %.not222, label %1631, label %1632

1631:                                             ; preds = %1627, %1621
  br label %1632

1632:                                             ; preds = %1627, %1631
  %.str.5.sink888 = phi ptr [ @.str.5, %1631 ], [ @.str.2, %1627 ]
  store i32 %1622, ptr %425, align 4, !tbaa !5
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = load i32, ptr @test_count, align 4, !tbaa !5
  %1635 = load i32, ptr %371, align 4, !tbaa !5
  %1636 = call ptr @s2n_strerror(i32 noundef %1635, ptr noundef nonnull @.str.4) #10
  %1637 = load i32, ptr %371, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror_debug(i32 noundef %1637, ptr noundef nonnull @.str.4) #10
  %1639 = load i32, ptr %425, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #10
  %1641 = load i32, ptr %425, align 4, !tbaa !5
  %1642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1633, ptr noundef nonnull %.str.5.sink888, i32 noundef %1634, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1636, ptr noundef %1638, ptr noundef %1640, i32 noundef %1641) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1643:                                             ; preds = %1619
  %1644 = add nsw i32 %1592, 2
  store i32 %1644, ptr @test_count, align 4, !tbaa !5
  %1645 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %14, ptr noundef nonnull %3) #10
  %1646 = icmp eq i32 %1645, -1
  br i1 %1646, label %1647, label %1669

1647:                                             ; preds = %1643
  %1648 = load i32, ptr %425, align 4, !tbaa !5
  %1649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1650 = call i32 @s2n_print_stacktrace(ptr noundef %1649) #10
  %1651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1652 = trunc nuw i8 %1651 to i1
  br i1 %1652, label %1653, label %1657

1653:                                             ; preds = %1647
  %1654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1655 = call i32 @fileno(ptr noundef %1654) #10
  %1656 = call i32 @isatty(i32 noundef %1655) #10
  %.not264 = icmp eq i32 %1656, 0
  br i1 %.not264, label %1657, label %1658

1657:                                             ; preds = %1653, %1647
  br label %1658

1658:                                             ; preds = %1653, %1657
  %.str.5.sink897 = phi ptr [ @.str.5, %1657 ], [ @.str.2, %1653 ]
  store i32 %1648, ptr %425, align 4, !tbaa !5
  %1659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1660 = load i32, ptr @test_count, align 4, !tbaa !5
  %1661 = load i32, ptr %371, align 4, !tbaa !5
  %1662 = call ptr @s2n_strerror(i32 noundef %1661, ptr noundef nonnull @.str.4) #10
  %1663 = load i32, ptr %371, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef nonnull @.str.4) #10
  %1665 = load i32, ptr %425, align 4, !tbaa !5
  %1666 = call ptr @strerror(i32 noundef %1665) #10
  %1667 = load i32, ptr %425, align 4, !tbaa !5
  %1668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1659, ptr noundef nonnull %.str.5.sink897, i32 noundef %1660, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %1662, ptr noundef %1664, ptr noundef %1666, i32 noundef %1667) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1669:                                             ; preds = %1643
  %1670 = load i32, ptr @test_count, align 4, !tbaa !5
  %1671 = add nsw i32 %1670, 1
  store i32 %1671, ptr @test_count, align 4, !tbaa !5
  %1672 = load i8, ptr %3, align 1, !tbaa !15
  %1673 = icmp eq i8 %1672, 22
  br i1 %1673, label %1696, label %1674

1674:                                             ; preds = %1669
  %1675 = load i32, ptr %425, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @s2n_print_stacktrace(ptr noundef %1676) #10
  %1678 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1679 = trunc nuw i8 %1678 to i1
  br i1 %1679, label %1680, label %1684

1680:                                             ; preds = %1674
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @fileno(ptr noundef %1681) #10
  %1683 = call i32 @isatty(i32 noundef %1682) #10
  %.not223 = icmp eq i32 %1683, 0
  br i1 %.not223, label %1684, label %1685

1684:                                             ; preds = %1680, %1674
  br label %1685

1685:                                             ; preds = %1680, %1684
  %.str.5.sink906 = phi ptr [ @.str.5, %1684 ], [ @.str.2, %1680 ]
  store i32 %1675, ptr %425, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = load i32, ptr @test_count, align 4, !tbaa !5
  %1688 = load i32, ptr %371, align 4, !tbaa !5
  %1689 = call ptr @s2n_strerror(i32 noundef %1688, ptr noundef nonnull @.str.4) #10
  %1690 = load i32, ptr %371, align 4, !tbaa !5
  %1691 = call ptr @s2n_strerror_debug(i32 noundef %1690, ptr noundef nonnull @.str.4) #10
  %1692 = load i32, ptr %425, align 4, !tbaa !5
  %1693 = call ptr @strerror(i32 noundef %1692) #10
  %1694 = load i32, ptr %425, align 4, !tbaa !5
  %1695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1686, ptr noundef nonnull %.str.5.sink906, i32 noundef %1687, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %1689, ptr noundef %1691, ptr noundef %1693, i32 noundef %1694) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1696:                                             ; preds = %1669
  %1697 = add nsw i32 %1670, 2
  store i32 %1697, ptr @test_count, align 4, !tbaa !5
  %1698 = load i32, ptr %1563, align 4, !tbaa !16
  %1699 = load i32, ptr %1564, align 8, !tbaa !19
  %1700 = sub i32 %1698, %1699
  %1701 = icmp eq i32 %1700, 16384
  br i1 %1701, label %1724, label %1702

1702:                                             ; preds = %1696
  %1703 = load i32, ptr %425, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = call i32 @s2n_print_stacktrace(ptr noundef %1704) #10
  %1706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1707 = trunc nuw i8 %1706 to i1
  br i1 %1707, label %1708, label %1712

1708:                                             ; preds = %1702
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = call i32 @fileno(ptr noundef %1709) #10
  %1711 = call i32 @isatty(i32 noundef %1710) #10
  %.not224 = icmp eq i32 %1711, 0
  br i1 %.not224, label %1712, label %1713

1712:                                             ; preds = %1708, %1702
  br label %1713

1713:                                             ; preds = %1708, %1712
  %.str.5.sink915 = phi ptr [ @.str.5, %1712 ], [ @.str.2, %1708 ]
  store i32 %1703, ptr %425, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = load i32, ptr %371, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror(i32 noundef %1716, ptr noundef nonnull @.str.4) #10
  %1718 = load i32, ptr %371, align 4, !tbaa !5
  %1719 = call ptr @s2n_strerror_debug(i32 noundef %1718, ptr noundef nonnull @.str.4) #10
  %1720 = load i32, ptr %425, align 4, !tbaa !5
  %1721 = call ptr @strerror(i32 noundef %1720) #10
  %1722 = load i32, ptr %425, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef nonnull %.str.5.sink915, i32 noundef %1715, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1717, ptr noundef %1719, ptr noundef %1721, i32 noundef %1722) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1724:                                             ; preds = %1696
  %1725 = add nsw i32 %1670, 3
  store i32 %1725, ptr @test_count, align 4, !tbaa !5
  %1726 = call i32 @s2n_stuffer_free(ptr noundef nonnull %14) #10
  %1727 = icmp eq i32 %1726, -1
  br i1 %1727, label %1728, label %1750

1728:                                             ; preds = %1724
  %1729 = load i32, ptr %425, align 4, !tbaa !5
  %1730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1731 = call i32 @s2n_print_stacktrace(ptr noundef %1730) #10
  %1732 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1733 = trunc nuw i8 %1732 to i1
  br i1 %1733, label %1734, label %1738

1734:                                             ; preds = %1728
  %1735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1736 = call i32 @fileno(ptr noundef %1735) #10
  %1737 = call i32 @isatty(i32 noundef %1736) #10
  %.not263 = icmp eq i32 %1737, 0
  br i1 %.not263, label %1738, label %1739

1738:                                             ; preds = %1734, %1728
  br label %1739

1739:                                             ; preds = %1734, %1738
  %.str.5.sink924 = phi ptr [ @.str.5, %1738 ], [ @.str.2, %1734 ]
  store i32 %1729, ptr %425, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = load i32, ptr @test_count, align 4, !tbaa !5
  %1742 = load i32, ptr %371, align 4, !tbaa !5
  %1743 = call ptr @s2n_strerror(i32 noundef %1742, ptr noundef nonnull @.str.4) #10
  %1744 = load i32, ptr %371, align 4, !tbaa !5
  %1745 = call ptr @s2n_strerror_debug(i32 noundef %1744, ptr noundef nonnull @.str.4) #10
  %1746 = load i32, ptr %425, align 4, !tbaa !5
  %1747 = call ptr @strerror(i32 noundef %1746) #10
  %1748 = load i32, ptr %425, align 4, !tbaa !5
  %1749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1740, ptr noundef nonnull %.str.5.sink924, i32 noundef %1741, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1743, ptr noundef %1745, ptr noundef %1747, i32 noundef %1748) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1750:                                             ; preds = %1724
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %14) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %15) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %15, i8 0, i64 40, i1 false)
  %1751 = load i32, ptr @test_count, align 4, !tbaa !5
  %1752 = add nsw i32 %1751, 1
  store i32 %1752, ptr @test_count, align 4, !tbaa !5
  %1753 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %15, i32 noundef 1024) #10
  %1754 = icmp eq i32 %1753, -1
  br i1 %1754, label %1755, label %1777

1755:                                             ; preds = %1750
  %1756 = load i32, ptr %425, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @s2n_print_stacktrace(ptr noundef %1757) #10
  %1759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1760 = trunc nuw i8 %1759 to i1
  br i1 %1760, label %1761, label %1765

1761:                                             ; preds = %1755
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = call i32 @fileno(ptr noundef %1762) #10
  %1764 = call i32 @isatty(i32 noundef %1763) #10
  %.not262 = icmp eq i32 %1764, 0
  br i1 %.not262, label %1765, label %1766

1765:                                             ; preds = %1761, %1755
  br label %1766

1766:                                             ; preds = %1761, %1765
  %.str.5.sink933 = phi ptr [ @.str.5, %1765 ], [ @.str.2, %1761 ]
  store i32 %1756, ptr %425, align 4, !tbaa !5
  %1767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = load i32, ptr %371, align 4, !tbaa !5
  %1770 = call ptr @s2n_strerror(i32 noundef %1769, ptr noundef nonnull @.str.4) #10
  %1771 = load i32, ptr %371, align 4, !tbaa !5
  %1772 = call ptr @s2n_strerror_debug(i32 noundef %1771, ptr noundef nonnull @.str.4) #10
  %1773 = load i32, ptr %425, align 4, !tbaa !5
  %1774 = call ptr @strerror(i32 noundef %1773) #10
  %1775 = load i32, ptr %425, align 4, !tbaa !5
  %1776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1767, ptr noundef nonnull %.str.5.sink933, i32 noundef %1768, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1770, ptr noundef %1772, ptr noundef %1774, i32 noundef %1775) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1777:                                             ; preds = %1750
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = add nsw i32 %1778, 1
  store i32 %1779, ptr @test_count, align 4, !tbaa !5
  %1780 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %15, i8 noundef zeroext 22) #10
  %1781 = icmp eq i32 %1780, -1
  br i1 %1781, label %1784, label %.preheader315

.preheader315:                                    ; preds = %1777
  %1782 = getelementptr inbounds i8, ptr %15, i64 28
  %1783 = getelementptr inbounds i8, ptr %15, i64 24
  br label %1806

1784:                                             ; preds = %1777
  %1785 = load i32, ptr %425, align 4, !tbaa !5
  %1786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1787 = call i32 @s2n_print_stacktrace(ptr noundef %1786) #10
  %1788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1789 = trunc nuw i8 %1788 to i1
  br i1 %1789, label %1790, label %1794

1790:                                             ; preds = %1784
  %1791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1792 = call i32 @fileno(ptr noundef %1791) #10
  %1793 = call i32 @isatty(i32 noundef %1792) #10
  %.not261 = icmp eq i32 %1793, 0
  br i1 %.not261, label %1794, label %1795

1794:                                             ; preds = %1790, %1784
  br label %1795

1795:                                             ; preds = %1790, %1794
  %.str.5.sink942 = phi ptr [ @.str.5, %1794 ], [ @.str.2, %1790 ]
  store i32 %1785, ptr %425, align 4, !tbaa !5
  %1796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1797 = load i32, ptr @test_count, align 4, !tbaa !5
  %1798 = load i32, ptr %371, align 4, !tbaa !5
  %1799 = call ptr @s2n_strerror(i32 noundef %1798, ptr noundef nonnull @.str.4) #10
  %1800 = load i32, ptr %371, align 4, !tbaa !5
  %1801 = call ptr @s2n_strerror_debug(i32 noundef %1800, ptr noundef nonnull @.str.4) #10
  %1802 = load i32, ptr %425, align 4, !tbaa !5
  %1803 = call ptr @strerror(i32 noundef %1802) #10
  %1804 = load i32, ptr %425, align 4, !tbaa !5
  %1805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1796, ptr noundef nonnull %.str.5.sink942, i32 noundef %1797, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1799, ptr noundef %1801, ptr noundef %1803, i32 noundef %1804) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1806:                                             ; preds = %.preheader315, %1813
  %1807 = load i32, ptr %1782, align 4, !tbaa !16
  %1808 = load i32, ptr %1783, align 8, !tbaa !19
  %1809 = sub i32 %1807, %1808
  %1810 = icmp ult i32 %1809, 16401
  %1811 = load i32, ptr @test_count, align 4, !tbaa !5
  %1812 = add nsw i32 %1811, 1
  store i32 %1812, ptr @test_count, align 4, !tbaa !5
  br i1 %1810, label %1813, label %1838

1813:                                             ; preds = %1806
  %1814 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %15, i8 noundef zeroext 0) #10
  %1815 = icmp eq i32 %1814, -1
  br i1 %1815, label %1816, label %1806, !llvm.loop !23

1816:                                             ; preds = %1813
  %1817 = load i32, ptr %425, align 4, !tbaa !5
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1819 = call i32 @s2n_print_stacktrace(ptr noundef %1818) #10
  %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) #10
  %1825 = call i32 @isatty(i32 noundef %1824) #10
  %.not260 = icmp eq i32 %1825, 0
  br i1 %.not260, label %1826, label %1827

1826:                                             ; preds = %1822, %1816
  br label %1827

1827:                                             ; preds = %1822, %1826
  %.str.5.sink951 = phi ptr [ @.str.5, %1826 ], [ @.str.2, %1822 ]
  store i32 %1817, ptr %425, 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 %371, align 4, !tbaa !5
  %1831 = call ptr @s2n_strerror(i32 noundef %1830, ptr noundef nonnull @.str.4) #10
  %1832 = load i32, ptr %371, align 4, !tbaa !5
  %1833 = call ptr @s2n_strerror_debug(i32 noundef %1832, ptr noundef nonnull @.str.4) #10
  %1834 = load i32, ptr %425, align 4, !tbaa !5
  %1835 = call ptr @strerror(i32 noundef %1834) #10
  %1836 = load i32, ptr %425, align 4, !tbaa !5
  %1837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1828, ptr noundef nonnull %.str.5.sink951, i32 noundef %1829, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %1831, ptr noundef %1833, ptr noundef %1835, i32 noundef %1836) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1838:                                             ; preds = %1806
  %1839 = icmp eq i32 %1809, 16401
  br i1 %1839, label %1862, label %1840

1840:                                             ; preds = %1838
  %1841 = load i32, ptr %425, align 4, !tbaa !5
  %1842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1843 = call i32 @s2n_print_stacktrace(ptr noundef %1842) #10
  %1844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1845 = trunc nuw i8 %1844 to i1
  br i1 %1845, label %1846, label %1850

1846:                                             ; preds = %1840
  %1847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1848 = call i32 @fileno(ptr noundef %1847) #10
  %1849 = call i32 @isatty(i32 noundef %1848) #10
  %.not225 = icmp eq i32 %1849, 0
  br i1 %.not225, label %1850, label %1851

1850:                                             ; preds = %1846, %1840
  br label %1851

1851:                                             ; preds = %1846, %1850
  %.str.5.sink960 = phi ptr [ @.str.5, %1850 ], [ @.str.2, %1846 ]
  store i32 %1841, ptr %425, align 4, !tbaa !5
  %1852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1853 = load i32, ptr @test_count, align 4, !tbaa !5
  %1854 = load i32, ptr %371, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror(i32 noundef %1854, ptr noundef nonnull @.str.4) #10
  %1856 = load i32, ptr %371, align 4, !tbaa !5
  %1857 = call ptr @s2n_strerror_debug(i32 noundef %1856, ptr noundef nonnull @.str.4) #10
  %1858 = load i32, ptr %425, align 4, !tbaa !5
  %1859 = call ptr @strerror(i32 noundef %1858) #10
  %1860 = load i32, ptr %425, align 4, !tbaa !5
  %1861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1852, ptr noundef nonnull %.str.5.sink960, i32 noundef %1853, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1855, ptr noundef %1857, ptr noundef %1859, i32 noundef %1860) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1862:                                             ; preds = %1838
  %1863 = add nsw i32 %1811, 2
  store i32 %1863, ptr @test_count, align 4, !tbaa !5
  %1864 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %15, ptr noundef nonnull %3) #10
  %1865 = icmp eq i32 %1864, -1
  br i1 %1865, label %1866, label %1888

1866:                                             ; preds = %1862
  %1867 = load i32, ptr %425, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @s2n_print_stacktrace(ptr noundef %1868) #10
  %1870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1871 = trunc nuw i8 %1870 to i1
  br i1 %1871, label %1872, label %1876

1872:                                             ; preds = %1866
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = call i32 @fileno(ptr noundef %1873) #10
  %1875 = call i32 @isatty(i32 noundef %1874) #10
  %.not259 = icmp eq i32 %1875, 0
  br i1 %.not259, label %1876, label %1877

1876:                                             ; preds = %1872, %1866
  br label %1877

1877:                                             ; preds = %1872, %1876
  %.str.5.sink969 = phi ptr [ @.str.5, %1876 ], [ @.str.2, %1872 ]
  store i32 %1867, ptr %425, align 4, !tbaa !5
  %1878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = load i32, ptr %371, align 4, !tbaa !5
  %1881 = call ptr @s2n_strerror(i32 noundef %1880, ptr noundef nonnull @.str.4) #10
  %1882 = load i32, ptr %371, align 4, !tbaa !5
  %1883 = call ptr @s2n_strerror_debug(i32 noundef %1882, ptr noundef nonnull @.str.4) #10
  %1884 = load i32, ptr %425, align 4, !tbaa !5
  %1885 = call ptr @strerror(i32 noundef %1884) #10
  %1886 = load i32, ptr %425, align 4, !tbaa !5
  %1887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1878, ptr noundef nonnull %.str.5.sink969, i32 noundef %1879, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %1881, ptr noundef %1883, ptr noundef %1885, i32 noundef %1886) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1888:                                             ; preds = %1862
  %1889 = load i32, ptr @test_count, align 4, !tbaa !5
  %1890 = add nsw i32 %1889, 1
  store i32 %1890, ptr @test_count, align 4, !tbaa !5
  %1891 = load i8, ptr %3, align 1, !tbaa !15
  %1892 = icmp eq i8 %1891, 22
  br i1 %1892, label %1915, label %1893

1893:                                             ; preds = %1888
  %1894 = load i32, ptr %425, align 4, !tbaa !5
  %1895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1896 = call i32 @s2n_print_stacktrace(ptr noundef %1895) #10
  %1897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1898 = trunc nuw i8 %1897 to i1
  br i1 %1898, label %1899, label %1903

1899:                                             ; preds = %1893
  %1900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1901 = call i32 @fileno(ptr noundef %1900) #10
  %1902 = call i32 @isatty(i32 noundef %1901) #10
  %.not226 = icmp eq i32 %1902, 0
  br i1 %.not226, label %1903, label %1904

1903:                                             ; preds = %1899, %1893
  br label %1904

1904:                                             ; preds = %1899, %1903
  %.str.5.sink978 = phi ptr [ @.str.5, %1903 ], [ @.str.2, %1899 ]
  store i32 %1894, ptr %425, align 4, !tbaa !5
  %1905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1906 = load i32, ptr @test_count, align 4, !tbaa !5
  %1907 = load i32, ptr %371, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror(i32 noundef %1907, ptr noundef nonnull @.str.4) #10
  %1909 = load i32, ptr %371, align 4, !tbaa !5
  %1910 = call ptr @s2n_strerror_debug(i32 noundef %1909, ptr noundef nonnull @.str.4) #10
  %1911 = load i32, ptr %425, align 4, !tbaa !5
  %1912 = call ptr @strerror(i32 noundef %1911) #10
  %1913 = load i32, ptr %425, align 4, !tbaa !5
  %1914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1905, ptr noundef nonnull %.str.5.sink978, i32 noundef %1906, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %1908, ptr noundef %1910, ptr noundef %1912, i32 noundef %1913) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1915:                                             ; preds = %1888
  %1916 = add nsw i32 %1889, 2
  store i32 %1916, ptr @test_count, align 4, !tbaa !5
  %1917 = load i32, ptr %1782, align 4, !tbaa !16
  %1918 = load i32, ptr %1783, align 8, !tbaa !19
  %1919 = icmp eq i32 %1917, %1918
  br i1 %1919, label %1942, label %1920

1920:                                             ; preds = %1915
  %1921 = load i32, ptr %425, align 4, !tbaa !5
  %1922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1923 = call i32 @s2n_print_stacktrace(ptr noundef %1922) #10
  %1924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1925 = trunc nuw i8 %1924 to i1
  br i1 %1925, label %1926, label %1930

1926:                                             ; preds = %1920
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = call i32 @fileno(ptr noundef %1927) #10
  %1929 = call i32 @isatty(i32 noundef %1928) #10
  %.not227 = icmp eq i32 %1929, 0
  br i1 %.not227, label %1930, label %1931

1930:                                             ; preds = %1926, %1920
  br label %1931

1931:                                             ; preds = %1926, %1930
  %.str.5.sink987 = phi ptr [ @.str.5, %1930 ], [ @.str.2, %1926 ]
  store i32 %1921, ptr %425, align 4, !tbaa !5
  %1932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1933 = load i32, ptr @test_count, align 4, !tbaa !5
  %1934 = load i32, ptr %371, align 4, !tbaa !5
  %1935 = call ptr @s2n_strerror(i32 noundef %1934, ptr noundef nonnull @.str.4) #10
  %1936 = load i32, ptr %371, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror_debug(i32 noundef %1936, ptr noundef nonnull @.str.4) #10
  %1938 = load i32, ptr %425, align 4, !tbaa !5
  %1939 = call ptr @strerror(i32 noundef %1938) #10
  %1940 = load i32, ptr %425, align 4, !tbaa !5
  %1941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1932, ptr noundef nonnull %.str.5.sink987, i32 noundef %1933, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1935, ptr noundef %1937, ptr noundef %1939, i32 noundef %1940) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1942:                                             ; preds = %1915
  %1943 = add nsw i32 %1889, 3
  store i32 %1943, ptr @test_count, align 4, !tbaa !5
  %1944 = call i32 @s2n_stuffer_free(ptr noundef nonnull %15) #10
  %1945 = icmp eq i32 %1944, -1
  br i1 %1945, label %1946, label %1968

1946:                                             ; preds = %1942
  %1947 = load i32, ptr %425, align 4, !tbaa !5
  %1948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1949 = call i32 @s2n_print_stacktrace(ptr noundef %1948) #10
  %1950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1951 = trunc nuw i8 %1950 to i1
  br i1 %1951, label %1952, label %1956

1952:                                             ; preds = %1946
  %1953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1954 = call i32 @fileno(ptr noundef %1953) #10
  %1955 = call i32 @isatty(i32 noundef %1954) #10
  %.not258 = icmp eq i32 %1955, 0
  br i1 %.not258, label %1956, label %1957

1956:                                             ; preds = %1952, %1946
  br label %1957

1957:                                             ; preds = %1952, %1956
  %.str.5.sink996 = phi ptr [ @.str.5, %1956 ], [ @.str.2, %1952 ]
  store i32 %1947, ptr %425, align 4, !tbaa !5
  %1958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = load i32, ptr %371, align 4, !tbaa !5
  %1961 = call ptr @s2n_strerror(i32 noundef %1960, ptr noundef nonnull @.str.4) #10
  %1962 = load i32, ptr %371, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror_debug(i32 noundef %1962, ptr noundef nonnull @.str.4) #10
  %1964 = load i32, ptr %425, align 4, !tbaa !5
  %1965 = call ptr @strerror(i32 noundef %1964) #10
  %1966 = load i32, ptr %425, align 4, !tbaa !5
  %1967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1958, ptr noundef nonnull %.str.5.sink996, i32 noundef %1959, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %1961, ptr noundef %1963, ptr noundef %1965, i32 noundef %1966) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1968:                                             ; preds = %1942
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %15) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, i8 0, i64 40, i1 false)
  %1969 = load i32, ptr @test_count, align 4, !tbaa !5
  %1970 = add nsw i32 %1969, 1
  store i32 %1970, ptr @test_count, align 4, !tbaa !5
  %1971 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %16, i32 noundef 1024) #10
  %1972 = icmp eq i32 %1971, -1
  br i1 %1972, label %1975, label %.preheader314

.preheader314:                                    ; preds = %1968
  %1973 = getelementptr inbounds i8, ptr %16, i64 28
  %1974 = getelementptr inbounds i8, ptr %16, i64 24
  br label %1997

1975:                                             ; preds = %1968
  %1976 = load i32, ptr %425, align 4, !tbaa !5
  %1977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1978 = call i32 @s2n_print_stacktrace(ptr noundef %1977) #10
  %1979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1980 = trunc nuw i8 %1979 to i1
  br i1 %1980, label %1981, label %1985

1981:                                             ; preds = %1975
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = call i32 @fileno(ptr noundef %1982) #10
  %1984 = call i32 @isatty(i32 noundef %1983) #10
  %.not257 = icmp eq i32 %1984, 0
  br i1 %.not257, label %1985, label %1986

1985:                                             ; preds = %1981, %1975
  br label %1986

1986:                                             ; preds = %1981, %1985
  %.str.5.sink1005 = phi ptr [ @.str.5, %1985 ], [ @.str.2, %1981 ]
  store i32 %1976, ptr %425, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = load i32, ptr %371, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror(i32 noundef %1989, ptr noundef nonnull @.str.4) #10
  %1991 = load i32, ptr %371, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror_debug(i32 noundef %1991, ptr noundef nonnull @.str.4) #10
  %1993 = load i32, ptr %425, align 4, !tbaa !5
  %1994 = call ptr @strerror(i32 noundef %1993) #10
  %1995 = load i32, ptr %425, align 4, !tbaa !5
  %1996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef nonnull %.str.5.sink1005, i32 noundef %1988, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1990, ptr noundef %1992, ptr noundef %1994, i32 noundef %1995) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1997:                                             ; preds = %.preheader314, %2002
  %1998 = load i32, ptr %1973, align 4, !tbaa !16
  %1999 = load i32, ptr %1974, align 8, !tbaa !19
  %2000 = sub i32 %1998, %1999
  %2001 = icmp ult i32 %2000, 16385
  br i1 %2001, label %2002, label %.preheader313

2002:                                             ; preds = %1997
  %2003 = load i32, ptr @test_count, align 4, !tbaa !5
  %2004 = add nsw i32 %2003, 1
  store i32 %2004, ptr @test_count, align 4, !tbaa !5
  %2005 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %16, i8 noundef zeroext 22) #10
  %2006 = icmp eq i32 %2005, -1
  br i1 %2006, label %2007, label %1997, !llvm.loop !24

2007:                                             ; preds = %2002
  %2008 = load i32, ptr %425, align 4, !tbaa !5
  %2009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2010 = call i32 @s2n_print_stacktrace(ptr noundef %2009) #10
  %2011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2012 = trunc nuw i8 %2011 to i1
  br i1 %2012, label %2013, label %2017

2013:                                             ; preds = %2007
  %2014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2015 = call i32 @fileno(ptr noundef %2014) #10
  %2016 = call i32 @isatty(i32 noundef %2015) #10
  %.not256 = icmp eq i32 %2016, 0
  br i1 %.not256, label %2017, label %2018

2017:                                             ; preds = %2013, %2007
  br label %2018

2018:                                             ; preds = %2013, %2017
  %.str.5.sink1014 = phi ptr [ @.str.5, %2017 ], [ @.str.2, %2013 ]
  store i32 %2008, ptr %425, align 4, !tbaa !5
  %2019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = load i32, ptr %371, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror(i32 noundef %2021, ptr noundef nonnull @.str.4) #10
  %2023 = load i32, ptr %371, align 4, !tbaa !5
  %2024 = call ptr @s2n_strerror_debug(i32 noundef %2023, ptr noundef nonnull @.str.4) #10
  %2025 = load i32, ptr %425, align 4, !tbaa !5
  %2026 = call ptr @strerror(i32 noundef %2025) #10
  %2027 = load i32, ptr %425, align 4, !tbaa !5
  %2028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2019, ptr noundef nonnull %.str.5.sink1014, i32 noundef %2020, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %2022, ptr noundef %2024, ptr noundef %2026, i32 noundef %2027) #12
  call void @exit(i32 noundef 1) #13
  unreachable

.preheader313:                                    ; preds = %1997, %2035
  %2029 = load i32, ptr %1973, align 4, !tbaa !16
  %2030 = load i32, ptr %1974, align 8, !tbaa !19
  %2031 = sub i32 %2029, %2030
  %2032 = icmp ult i32 %2031, 16401
  %2033 = load i32, ptr @test_count, align 4, !tbaa !5
  %2034 = add nsw i32 %2033, 1
  store i32 %2034, ptr @test_count, align 4, !tbaa !5
  br i1 %2032, label %2035, label %2060

2035:                                             ; preds = %.preheader313
  %2036 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %16, i8 noundef zeroext 0) #10
  %2037 = icmp eq i32 %2036, -1
  br i1 %2037, label %2038, label %.preheader313, !llvm.loop !25

2038:                                             ; preds = %2035
  %2039 = load i32, ptr %425, align 4, !tbaa !5
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @s2n_print_stacktrace(ptr noundef %2040) #10
  %2042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2043 = trunc nuw i8 %2042 to i1
  br i1 %2043, label %2044, label %2048

2044:                                             ; preds = %2038
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = call i32 @fileno(ptr noundef %2045) #10
  %2047 = call i32 @isatty(i32 noundef %2046) #10
  %.not255 = icmp eq i32 %2047, 0
  br i1 %.not255, label %2048, label %2049

2048:                                             ; preds = %2044, %2038
  br label %2049

2049:                                             ; preds = %2044, %2048
  %.str.5.sink1023 = phi ptr [ @.str.5, %2048 ], [ @.str.2, %2044 ]
  store i32 %2039, ptr %425, align 4, !tbaa !5
  %2050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2051 = load i32, ptr @test_count, align 4, !tbaa !5
  %2052 = load i32, ptr %371, align 4, !tbaa !5
  %2053 = call ptr @s2n_strerror(i32 noundef %2052, ptr noundef nonnull @.str.4) #10
  %2054 = load i32, ptr %371, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror_debug(i32 noundef %2054, ptr noundef nonnull @.str.4) #10
  %2056 = load i32, ptr %425, align 4, !tbaa !5
  %2057 = call ptr @strerror(i32 noundef %2056) #10
  %2058 = load i32, ptr %425, align 4, !tbaa !5
  %2059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2050, ptr noundef nonnull %.str.5.sink1023, i32 noundef %2051, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %2053, ptr noundef %2055, ptr noundef %2057, i32 noundef %2058) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2060:                                             ; preds = %.preheader313
  %2061 = icmp eq i32 %2031, 16401
  br i1 %2061, label %2084, label %2062

2062:                                             ; preds = %2060
  %2063 = load i32, ptr %425, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = call i32 @s2n_print_stacktrace(ptr noundef %2064) #10
  %2066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2067 = trunc nuw i8 %2066 to i1
  br i1 %2067, label %2068, label %2072

2068:                                             ; preds = %2062
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = call i32 @fileno(ptr noundef %2069) #10
  %2071 = call i32 @isatty(i32 noundef %2070) #10
  %.not228 = icmp eq i32 %2071, 0
  br i1 %.not228, label %2072, label %2073

2072:                                             ; preds = %2068, %2062
  br label %2073

2073:                                             ; preds = %2068, %2072
  %.str.5.sink1032 = phi ptr [ @.str.5, %2072 ], [ @.str.2, %2068 ]
  store i32 %2063, ptr %425, align 4, !tbaa !5
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = load i32, ptr %371, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror(i32 noundef %2076, ptr noundef nonnull @.str.4) #10
  %2078 = load i32, ptr %371, align 4, !tbaa !5
  %2079 = call ptr @s2n_strerror_debug(i32 noundef %2078, ptr noundef nonnull @.str.4) #10
  %2080 = load i32, ptr %425, align 4, !tbaa !5
  %2081 = call ptr @strerror(i32 noundef %2080) #10
  %2082 = load i32, ptr %425, align 4, !tbaa !5
  %2083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2074, ptr noundef nonnull %.str.5.sink1032, i32 noundef %2075, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %2077, ptr noundef %2079, ptr noundef %2081, i32 noundef %2082) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2084:                                             ; preds = %2060
  %2085 = add nsw i32 %2033, 2
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %16, ptr noundef nonnull %3) #10
  %2087 = icmp eq i32 %2086, -1
  br i1 %2087, label %2088, label %2110

2088:                                             ; preds = %2084
  %2089 = load i32, ptr %425, align 4, !tbaa !5
  %2090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2091 = call i32 @s2n_print_stacktrace(ptr noundef %2090) #10
  %2092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2093 = trunc nuw i8 %2092 to i1
  br i1 %2093, label %2094, label %2098

2094:                                             ; preds = %2088
  %2095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2096 = call i32 @fileno(ptr noundef %2095) #10
  %2097 = call i32 @isatty(i32 noundef %2096) #10
  %.not254 = icmp eq i32 %2097, 0
  br i1 %.not254, label %2098, label %2099

2098:                                             ; preds = %2094, %2088
  br label %2099

2099:                                             ; preds = %2094, %2098
  %.str.5.sink1041 = phi ptr [ @.str.5, %2098 ], [ @.str.2, %2094 ]
  store i32 %2089, ptr %425, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = load i32, ptr @test_count, align 4, !tbaa !5
  %2102 = load i32, ptr %371, align 4, !tbaa !5
  %2103 = call ptr @s2n_strerror(i32 noundef %2102, ptr noundef nonnull @.str.4) #10
  %2104 = load i32, ptr %371, align 4, !tbaa !5
  %2105 = call ptr @s2n_strerror_debug(i32 noundef %2104, ptr noundef nonnull @.str.4) #10
  %2106 = load i32, ptr %425, align 4, !tbaa !5
  %2107 = call ptr @strerror(i32 noundef %2106) #10
  %2108 = load i32, ptr %425, align 4, !tbaa !5
  %2109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2100, ptr noundef nonnull %.str.5.sink1041, i32 noundef %2101, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %2103, ptr noundef %2105, ptr noundef %2107, i32 noundef %2108) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2110:                                             ; preds = %2084
  %2111 = load i32, ptr @test_count, align 4, !tbaa !5
  %2112 = add nsw i32 %2111, 1
  store i32 %2112, ptr @test_count, align 4, !tbaa !5
  %2113 = load i8, ptr %3, align 1, !tbaa !15
  %2114 = icmp eq i8 %2113, 22
  br i1 %2114, label %2137, label %2115

2115:                                             ; preds = %2110
  %2116 = load i32, ptr %425, align 4, !tbaa !5
  %2117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2118 = call i32 @s2n_print_stacktrace(ptr noundef %2117) #10
  %2119 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2120 = trunc nuw i8 %2119 to i1
  br i1 %2120, label %2121, label %2125

2121:                                             ; preds = %2115
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = call i32 @fileno(ptr noundef %2122) #10
  %2124 = call i32 @isatty(i32 noundef %2123) #10
  %.not229 = icmp eq i32 %2124, 0
  br i1 %.not229, label %2125, label %2126

2125:                                             ; preds = %2121, %2115
  br label %2126

2126:                                             ; preds = %2121, %2125
  %.str.5.sink1050 = phi ptr [ @.str.5, %2125 ], [ @.str.2, %2121 ]
  store i32 %2116, ptr %425, align 4, !tbaa !5
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = load i32, ptr @test_count, align 4, !tbaa !5
  %2129 = load i32, ptr %371, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror(i32 noundef %2129, ptr noundef nonnull @.str.4) #10
  %2131 = load i32, ptr %371, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror_debug(i32 noundef %2131, ptr noundef nonnull @.str.4) #10
  %2133 = load i32, ptr %425, align 4, !tbaa !5
  %2134 = call ptr @strerror(i32 noundef %2133) #10
  %2135 = load i32, ptr %425, align 4, !tbaa !5
  %2136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2127, ptr noundef nonnull %.str.5.sink1050, i32 noundef %2128, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %2130, ptr noundef %2132, ptr noundef %2134, i32 noundef %2135) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2137:                                             ; preds = %2110
  %2138 = add nsw i32 %2111, 2
  store i32 %2138, ptr @test_count, align 4, !tbaa !5
  %2139 = load i32, ptr %1973, align 4, !tbaa !16
  %2140 = load i32, ptr %1974, align 8, !tbaa !19
  %2141 = sub i32 %2139, %2140
  %2142 = icmp eq i32 %2141, 16384
  br i1 %2142, label %2165, label %2143

2143:                                             ; preds = %2137
  %2144 = load i32, ptr %425, align 4, !tbaa !5
  %2145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2146 = call i32 @s2n_print_stacktrace(ptr noundef %2145) #10
  %2147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2148 = trunc nuw i8 %2147 to i1
  br i1 %2148, label %2149, label %2153

2149:                                             ; preds = %2143
  %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
  %.not230 = icmp eq i32 %2152, 0
  br i1 %.not230, label %2153, label %2154

2153:                                             ; preds = %2149, %2143
  br label %2154

2154:                                             ; preds = %2149, %2153
  %.str.5.sink1059 = phi ptr [ @.str.5, %2153 ], [ @.str.2, %2149 ]
  store i32 %2144, ptr %425, align 4, !tbaa !5
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = load i32, ptr @test_count, align 4, !tbaa !5
  %2157 = load i32, ptr %371, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror(i32 noundef %2157, ptr noundef nonnull @.str.4) #10
  %2159 = load i32, ptr %371, align 4, !tbaa !5
  %2160 = call ptr @s2n_strerror_debug(i32 noundef %2159, ptr noundef nonnull @.str.4) #10
  %2161 = load i32, ptr %425, align 4, !tbaa !5
  %2162 = call ptr @strerror(i32 noundef %2161) #10
  %2163 = load i32, ptr %425, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2155, ptr noundef nonnull %.str.5.sink1059, i32 noundef %2156, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %2158, ptr noundef %2160, ptr noundef %2162, i32 noundef %2163) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2165:                                             ; preds = %2137
  %2166 = add nsw i32 %2111, 3
  store i32 %2166, ptr @test_count, align 4, !tbaa !5
  %2167 = call i32 @s2n_stuffer_free(ptr noundef nonnull %16) #10
  %2168 = icmp eq i32 %2167, -1
  br i1 %2168, label %2169, label %2191

2169:                                             ; preds = %2165
  %2170 = load i32, ptr %425, align 4, !tbaa !5
  %2171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2172 = call i32 @s2n_print_stacktrace(ptr noundef %2171) #10
  %2173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2174 = trunc nuw i8 %2173 to i1
  br i1 %2174, label %2175, label %2179

2175:                                             ; preds = %2169
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @fileno(ptr noundef %2176) #10
  %2178 = call i32 @isatty(i32 noundef %2177) #10
  %.not253 = icmp eq i32 %2178, 0
  br i1 %.not253, label %2179, label %2180

2179:                                             ; preds = %2175, %2169
  br label %2180

2180:                                             ; preds = %2175, %2179
  %.str.5.sink1068 = phi ptr [ @.str.5, %2179 ], [ @.str.2, %2175 ]
  store i32 %2170, ptr %425, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = load i32, ptr %371, align 4, !tbaa !5
  %2184 = call ptr @s2n_strerror(i32 noundef %2183, ptr noundef nonnull @.str.4) #10
  %2185 = load i32, ptr %371, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror_debug(i32 noundef %2185, ptr noundef nonnull @.str.4) #10
  %2187 = load i32, ptr %425, align 4, !tbaa !5
  %2188 = call ptr @strerror(i32 noundef %2187) #10
  %2189 = load i32, ptr %425, align 4, !tbaa !5
  %2190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2181, ptr noundef nonnull %.str.5.sink1068, i32 noundef %2182, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %2184, ptr noundef %2186, ptr noundef %2188, i32 noundef %2189) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2191:                                             ; preds = %2165
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %17, i8 0, i64 40, i1 false)
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = add nsw i32 %2192, 1
  store i32 %2193, ptr @test_count, align 4, !tbaa !5
  %2194 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %17, i32 noundef 1024) #10
  %2195 = icmp eq i32 %2194, -1
  br i1 %2195, label %2198, label %.preheader312

.preheader312:                                    ; preds = %2191
  %2196 = getelementptr inbounds i8, ptr %17, i64 28
  %2197 = getelementptr inbounds i8, ptr %17, i64 24
  br label %2220

2198:                                             ; preds = %2191
  %2199 = load i32, ptr %425, align 4, !tbaa !5
  %2200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2201 = call i32 @s2n_print_stacktrace(ptr noundef %2200) #10
  %2202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2203 = trunc nuw i8 %2202 to i1
  br i1 %2203, label %2204, label %2208

2204:                                             ; preds = %2198
  %2205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2206 = call i32 @fileno(ptr noundef %2205) #10
  %2207 = call i32 @isatty(i32 noundef %2206) #10
  %.not252 = icmp eq i32 %2207, 0
  br i1 %.not252, label %2208, label %2209

2208:                                             ; preds = %2204, %2198
  br label %2209

2209:                                             ; preds = %2204, %2208
  %.str.5.sink1077 = phi ptr [ @.str.5, %2208 ], [ @.str.2, %2204 ]
  store i32 %2199, ptr %425, align 4, !tbaa !5
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2211 = load i32, ptr @test_count, align 4, !tbaa !5
  %2212 = load i32, ptr %371, align 4, !tbaa !5
  %2213 = call ptr @s2n_strerror(i32 noundef %2212, ptr noundef nonnull @.str.4) #10
  %2214 = load i32, ptr %371, align 4, !tbaa !5
  %2215 = call ptr @s2n_strerror_debug(i32 noundef %2214, ptr noundef nonnull @.str.4) #10
  %2216 = load i32, ptr %425, align 4, !tbaa !5
  %2217 = call ptr @strerror(i32 noundef %2216) #10
  %2218 = load i32, ptr %425, align 4, !tbaa !5
  %2219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2210, ptr noundef nonnull %.str.5.sink1077, i32 noundef %2211, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %2213, ptr noundef %2215, ptr noundef %2217, i32 noundef %2218) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2220:                                             ; preds = %.preheader312, %2227
  %2221 = load i32, ptr %2196, align 4, !tbaa !16
  %2222 = load i32, ptr %2197, align 8, !tbaa !19
  %2223 = sub i32 %2221, %2222
  %2224 = icmp ult i32 %2223, 16385
  %2225 = load i32, ptr @test_count, align 4, !tbaa !5
  %2226 = add nsw i32 %2225, 1
  store i32 %2226, ptr @test_count, align 4, !tbaa !5
  br i1 %2224, label %2227, label %2252

2227:                                             ; preds = %2220
  %2228 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %17, i8 noundef zeroext 0) #10
  %2229 = icmp eq i32 %2228, -1
  br i1 %2229, label %2230, label %2220, !llvm.loop !26

2230:                                             ; preds = %2227
  %2231 = load i32, ptr %425, align 4, !tbaa !5
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @s2n_print_stacktrace(ptr noundef %2232) #10
  %2234 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2235 = trunc nuw i8 %2234 to i1
  br i1 %2235, label %2236, label %2240

2236:                                             ; preds = %2230
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @fileno(ptr noundef %2237) #10
  %2239 = call i32 @isatty(i32 noundef %2238) #10
  %.not251 = icmp eq i32 %2239, 0
  br i1 %.not251, label %2240, label %2241

2240:                                             ; preds = %2236, %2230
  br label %2241

2241:                                             ; preds = %2236, %2240
  %.str.5.sink1086 = phi ptr [ @.str.5, %2240 ], [ @.str.2, %2236 ]
  store i32 %2231, ptr %425, align 4, !tbaa !5
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = load i32, ptr @test_count, align 4, !tbaa !5
  %2244 = load i32, ptr %371, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror(i32 noundef %2244, ptr noundef nonnull @.str.4) #10
  %2246 = load i32, ptr %371, align 4, !tbaa !5
  %2247 = call ptr @s2n_strerror_debug(i32 noundef %2246, ptr noundef nonnull @.str.4) #10
  %2248 = load i32, ptr %425, align 4, !tbaa !5
  %2249 = call ptr @strerror(i32 noundef %2248) #10
  %2250 = load i32, ptr %425, align 4, !tbaa !5
  %2251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2242, ptr noundef nonnull %.str.5.sink1086, i32 noundef %2243, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %2245, ptr noundef %2247, ptr noundef %2249, i32 noundef %2250) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2252:                                             ; preds = %2220
  %2253 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %17, i8 noundef zeroext 22) #10
  %2254 = icmp eq i32 %2253, -1
  br i1 %2254, label %2255, label %.preheader311

2255:                                             ; preds = %2252
  %2256 = load i32, ptr %425, align 4, !tbaa !5
  %2257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2258 = call i32 @s2n_print_stacktrace(ptr noundef %2257) #10
  %2259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2260 = trunc nuw i8 %2259 to i1
  br i1 %2260, label %2261, label %2265

2261:                                             ; preds = %2255
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = call i32 @fileno(ptr noundef %2262) #10
  %2264 = call i32 @isatty(i32 noundef %2263) #10
  %.not250 = icmp eq i32 %2264, 0
  br i1 %.not250, label %2265, label %2266

2265:                                             ; preds = %2261, %2255
  br label %2266

2266:                                             ; preds = %2261, %2265
  %.str.5.sink1095 = phi ptr [ @.str.5, %2265 ], [ @.str.2, %2261 ]
  store i32 %2256, ptr %425, align 4, !tbaa !5
  %2267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2268 = load i32, ptr @test_count, align 4, !tbaa !5
  %2269 = load i32, ptr %371, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror(i32 noundef %2269, ptr noundef nonnull @.str.4) #10
  %2271 = load i32, ptr %371, align 4, !tbaa !5
  %2272 = call ptr @s2n_strerror_debug(i32 noundef %2271, ptr noundef nonnull @.str.4) #10
  %2273 = load i32, ptr %425, align 4, !tbaa !5
  %2274 = call ptr @strerror(i32 noundef %2273) #10
  %2275 = load i32, ptr %425, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2267, ptr noundef nonnull %.str.5.sink1095, i32 noundef %2268, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2270, ptr noundef %2272, ptr noundef %2274, i32 noundef %2275) #12
  call void @exit(i32 noundef 1) #13
  unreachable

.preheader311:                                    ; preds = %2252, %2283
  %2277 = load i32, ptr %2196, align 4, !tbaa !16
  %2278 = load i32, ptr %2197, align 8, !tbaa !19
  %2279 = sub i32 %2277, %2278
  %2280 = icmp ult i32 %2279, 16401
  %2281 = load i32, ptr @test_count, align 4, !tbaa !5
  %2282 = add nsw i32 %2281, 1
  store i32 %2282, ptr @test_count, align 4, !tbaa !5
  br i1 %2280, label %2283, label %2308

2283:                                             ; preds = %.preheader311
  %2284 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %17, i8 noundef zeroext 0) #10
  %2285 = icmp eq i32 %2284, -1
  br i1 %2285, label %2286, label %.preheader311, !llvm.loop !27

2286:                                             ; preds = %2283
  %2287 = load i32, ptr %425, align 4, !tbaa !5
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @s2n_print_stacktrace(ptr noundef %2288) #10
  %2290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2291 = trunc nuw i8 %2290 to i1
  br i1 %2291, label %2292, label %2296

2292:                                             ; preds = %2286
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = call i32 @fileno(ptr noundef %2293) #10
  %2295 = call i32 @isatty(i32 noundef %2294) #10
  %.not249 = icmp eq i32 %2295, 0
  br i1 %.not249, label %2296, label %2297

2296:                                             ; preds = %2292, %2286
  br label %2297

2297:                                             ; preds = %2292, %2296
  %.str.5.sink1104 = phi ptr [ @.str.5, %2296 ], [ @.str.2, %2292 ]
  store i32 %2287, ptr %425, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = load i32, ptr @test_count, align 4, !tbaa !5
  %2300 = load i32, ptr %371, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror(i32 noundef %2300, ptr noundef nonnull @.str.4) #10
  %2302 = load i32, ptr %371, align 4, !tbaa !5
  %2303 = call ptr @s2n_strerror_debug(i32 noundef %2302, ptr noundef nonnull @.str.4) #10
  %2304 = load i32, ptr %425, align 4, !tbaa !5
  %2305 = call ptr @strerror(i32 noundef %2304) #10
  %2306 = load i32, ptr %425, align 4, !tbaa !5
  %2307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2298, ptr noundef nonnull %.str.5.sink1104, i32 noundef %2299, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2301, ptr noundef %2303, ptr noundef %2305, i32 noundef %2306) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2308:                                             ; preds = %.preheader311
  %2309 = icmp eq i32 %2279, 16401
  br i1 %2309, label %2332, label %2310

2310:                                             ; preds = %2308
  %2311 = load i32, ptr %425, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = call i32 @s2n_print_stacktrace(ptr noundef %2312) #10
  %2314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2315 = trunc nuw i8 %2314 to i1
  br i1 %2315, label %2316, label %2320

2316:                                             ; preds = %2310
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = call i32 @fileno(ptr noundef %2317) #10
  %2319 = call i32 @isatty(i32 noundef %2318) #10
  %.not231 = icmp eq i32 %2319, 0
  br i1 %.not231, label %2320, label %2321

2320:                                             ; preds = %2316, %2310
  br label %2321

2321:                                             ; preds = %2316, %2320
  %.str.5.sink1113 = phi ptr [ @.str.5, %2320 ], [ @.str.2, %2316 ]
  store i32 %2311, ptr %425, align 4, !tbaa !5
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = load i32, ptr @test_count, align 4, !tbaa !5
  %2324 = load i32, ptr %371, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror(i32 noundef %2324, ptr noundef nonnull @.str.4) #10
  %2326 = load i32, ptr %371, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef nonnull @.str.4) #10
  %2328 = load i32, ptr %425, align 4, !tbaa !5
  %2329 = call ptr @strerror(i32 noundef %2328) #10
  %2330 = load i32, ptr %425, align 4, !tbaa !5
  %2331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2322, ptr noundef nonnull %.str.5.sink1113, i32 noundef %2323, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 234, ptr noundef %2325, ptr noundef %2327, ptr noundef %2329, i32 noundef %2330) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2332:                                             ; preds = %2308
  %2333 = add nsw i32 %2281, 2
  store i32 %2333, ptr @test_count, align 4, !tbaa !5
  %2334 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %17, ptr noundef nonnull %3) #10
  %2335 = icmp eq i32 %2334, -1
  br i1 %2335, label %2358, label %2336

2336:                                             ; preds = %2332
  %2337 = load i32, ptr %425, align 4, !tbaa !5
  %2338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2339 = call i32 @s2n_print_stacktrace(ptr noundef %2338) #10
  %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) #10
  %2345 = call i32 @isatty(i32 noundef %2344) #10
  %.not232 = icmp eq i32 %2345, 0
  br i1 %.not232, label %2346, label %2347

2346:                                             ; preds = %2342, %2336
  br label %2347

2347:                                             ; preds = %2342, %2346
  %.str.5.sink1122 = phi ptr [ @.str.5, %2346 ], [ @.str.2, %2342 ]
  store i32 %2337, ptr %425, 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 %371, align 4, !tbaa !5
  %2351 = call ptr @s2n_strerror(i32 noundef %2350, ptr noundef nonnull @.str.4) #10
  %2352 = load i32, ptr %371, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror_debug(i32 noundef %2352, ptr noundef nonnull @.str.4) #10
  %2354 = load i32, ptr %425, align 4, !tbaa !5
  %2355 = call ptr @strerror(i32 noundef %2354) #10
  %2356 = load i32, ptr %425, align 4, !tbaa !5
  %2357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2348, ptr noundef nonnull %.str.5.sink1122, i32 noundef %2349, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2351, ptr noundef %2353, ptr noundef %2355, i32 noundef %2356) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2358:                                             ; preds = %2332
  %2359 = load i32, ptr @test_count, align 4, !tbaa !5
  %2360 = add nsw i32 %2359, 1
  store i32 %2360, ptr @test_count, align 4, !tbaa !5
  %2361 = load i32, ptr %371, align 4, !tbaa !5
  %2362 = icmp eq i32 %2361, 335544388
  br i1 %2362, label %2385, label %2363

2363:                                             ; preds = %2358
  %2364 = load i32, ptr %425, align 4, !tbaa !5
  %2365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2366 = call i32 @s2n_print_stacktrace(ptr noundef %2365) #10
  %2367 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2368 = trunc nuw i8 %2367 to i1
  br i1 %2368, label %2369, label %2373

2369:                                             ; preds = %2363
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @fileno(ptr noundef %2370) #10
  %2372 = call i32 @isatty(i32 noundef %2371) #10
  %.not233 = icmp eq i32 %2372, 0
  br i1 %.not233, label %2373, label %2374

2373:                                             ; preds = %2369, %2363
  br label %2374

2374:                                             ; preds = %2369, %2373
  %.str.5.sink1131 = phi ptr [ @.str.5, %2373 ], [ @.str.2, %2369 ]
  store i32 %2364, ptr %425, align 4, !tbaa !5
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = load i32, ptr @test_count, align 4, !tbaa !5
  %2377 = load i32, ptr %371, align 4, !tbaa !5
  %2378 = call ptr @s2n_strerror(i32 noundef %2377, ptr noundef nonnull @.str.4) #10
  %2379 = load i32, ptr %371, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef nonnull @.str.4) #10
  %2381 = load i32, ptr %425, align 4, !tbaa !5
  %2382 = call ptr @strerror(i32 noundef %2381) #10
  %2383 = load i32, ptr %425, align 4, !tbaa !5
  %2384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2375, ptr noundef nonnull %.str.5.sink1131, i32 noundef %2376, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2378, ptr noundef %2380, ptr noundef %2382, i32 noundef %2383) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2385:                                             ; preds = %2358
  %2386 = add nsw i32 %2359, 2
  store i32 %2386, ptr @test_count, align 4, !tbaa !5
  %2387 = call ptr @s2n_strerror_debug(i32 noundef 335544388, ptr noundef nonnull @.str.4) #10
  %2388 = icmp eq ptr %2387, null
  br i1 %2388, label %2389, label %2411

2389:                                             ; preds = %2385
  %2390 = load i32, ptr %425, align 4, !tbaa !5
  %2391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2392 = call i32 @s2n_print_stacktrace(ptr noundef %2391) #10
  %2393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2394 = trunc nuw i8 %2393 to i1
  br i1 %2394, label %2395, label %2399

2395:                                             ; preds = %2389
  %2396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2397 = call i32 @fileno(ptr noundef %2396) #10
  %2398 = call i32 @isatty(i32 noundef %2397) #10
  %.not248 = icmp eq i32 %2398, 0
  br i1 %.not248, label %2399, label %2400

2399:                                             ; preds = %2395, %2389
  br label %2400

2400:                                             ; preds = %2395, %2399
  %.str.5.sink1140 = phi ptr [ @.str.5, %2399 ], [ @.str.2, %2395 ]
  store i32 %2390, ptr %425, align 4, !tbaa !5
  %2401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2402 = load i32, ptr @test_count, align 4, !tbaa !5
  %2403 = load i32, ptr %371, align 4, !tbaa !5
  %2404 = call ptr @s2n_strerror(i32 noundef %2403, ptr noundef nonnull @.str.4) #10
  %2405 = load i32, ptr %371, align 4, !tbaa !5
  %2406 = call ptr @s2n_strerror_debug(i32 noundef %2405, ptr noundef nonnull @.str.4) #10
  %2407 = load i32, ptr %425, align 4, !tbaa !5
  %2408 = call ptr @strerror(i32 noundef %2407) #10
  %2409 = load i32, ptr %425, align 4, !tbaa !5
  %2410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2401, ptr noundef nonnull %.str.5.sink1140, i32 noundef %2402, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 235, ptr noundef %2404, ptr noundef %2406, ptr noundef %2408, i32 noundef %2409) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2411:                                             ; preds = %2385
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %425, align 4, !tbaa !5
  %2412 = load i32, ptr @test_count, align 4, !tbaa !5
  %2413 = add nsw i32 %2412, 1
  store i32 %2413, ptr @test_count, align 4, !tbaa !5
  %2414 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #10
  %2415 = icmp eq i32 %2414, -1
  br i1 %2415, label %2416, label %2438

2416:                                             ; preds = %2411
  %2417 = load i32, ptr %425, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = call i32 @s2n_print_stacktrace(ptr noundef %2418) #10
  %2420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2421 = trunc nuw i8 %2420 to i1
  br i1 %2421, label %2422, label %2426

2422:                                             ; preds = %2416
  %2423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2424 = call i32 @fileno(ptr noundef %2423) #10
  %2425 = call i32 @isatty(i32 noundef %2424) #10
  %.not247 = icmp eq i32 %2425, 0
  br i1 %.not247, label %2426, label %2427

2426:                                             ; preds = %2422, %2416
  br label %2427

2427:                                             ; preds = %2422, %2426
  %.str.5.sink1149 = phi ptr [ @.str.5, %2426 ], [ @.str.2, %2422 ]
  store i32 %2417, ptr %425, align 4, !tbaa !5
  %2428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2429 = load i32, ptr @test_count, align 4, !tbaa !5
  %2430 = load i32, ptr %371, align 4, !tbaa !5
  %2431 = call ptr @s2n_strerror(i32 noundef %2430, ptr noundef nonnull @.str.4) #10
  %2432 = load i32, ptr %371, align 4, !tbaa !5
  %2433 = call ptr @s2n_strerror_debug(i32 noundef %2432, ptr noundef nonnull @.str.4) #10
  %2434 = load i32, ptr %425, align 4, !tbaa !5
  %2435 = call ptr @strerror(i32 noundef %2434) #10
  %2436 = load i32, ptr %425, align 4, !tbaa !5
  %2437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2428, ptr noundef nonnull %.str.5.sink1149, i32 noundef %2429, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2431, ptr noundef %2433, ptr noundef %2435, i32 noundef %2436) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2438:                                             ; preds = %2411
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #10
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %18) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %18, i8 0, i64 40, i1 false)
  %2439 = load i32, ptr @test_count, align 4, !tbaa !5
  %2440 = add nsw i32 %2439, 1
  store i32 %2440, ptr @test_count, align 4, !tbaa !5
  %2441 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %18, i32 noundef 1024) #10
  %2442 = icmp eq i32 %2441, -1
  br i1 %2442, label %2443, label %2465

2443:                                             ; preds = %2438
  %2444 = load i32, ptr %425, align 4, !tbaa !5
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2446 = call i32 @s2n_print_stacktrace(ptr noundef %2445) #10
  %2447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2448 = trunc nuw i8 %2447 to i1
  br i1 %2448, label %2449, label %2453

2449:                                             ; preds = %2443
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2451 = call i32 @fileno(ptr noundef %2450) #10
  %2452 = call i32 @isatty(i32 noundef %2451) #10
  %.not246 = icmp eq i32 %2452, 0
  br i1 %.not246, label %2453, label %2454

2453:                                             ; preds = %2449, %2443
  br label %2454

2454:                                             ; preds = %2449, %2453
  %.str.5.sink1158 = phi ptr [ @.str.5, %2453 ], [ @.str.2, %2449 ]
  store i32 %2444, ptr %425, align 4, !tbaa !5
  %2455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2456 = load i32, ptr @test_count, align 4, !tbaa !5
  %2457 = load i32, ptr %371, align 4, !tbaa !5
  %2458 = call ptr @s2n_strerror(i32 noundef %2457, ptr noundef nonnull @.str.4) #10
  %2459 = load i32, ptr %371, align 4, !tbaa !5
  %2460 = call ptr @s2n_strerror_debug(i32 noundef %2459, ptr noundef nonnull @.str.4) #10
  %2461 = load i32, ptr %425, align 4, !tbaa !5
  %2462 = call ptr @strerror(i32 noundef %2461) #10
  %2463 = load i32, ptr %425, align 4, !tbaa !5
  %2464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2455, ptr noundef nonnull %.str.5.sink1158, i32 noundef %2456, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2458, ptr noundef %2460, ptr noundef %2462, i32 noundef %2463) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2465:                                             ; preds = %2438
  %2466 = load i32, ptr @test_count, align 4, !tbaa !5
  %2467 = add nsw i32 %2466, 1
  store i32 %2467, ptr @test_count, align 4, !tbaa !5
  %2468 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %18, i8 noundef zeroext 22) #10
  %2469 = icmp eq i32 %2468, -1
  br i1 %2469, label %2472, label %.preheader

.preheader:                                       ; preds = %2465
  %2470 = getelementptr inbounds i8, ptr %18, i64 28
  %2471 = getelementptr inbounds i8, ptr %18, i64 24
  br label %2494

2472:                                             ; preds = %2465
  %2473 = load i32, ptr %425, align 4, !tbaa !5
  %2474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2475 = call i32 @s2n_print_stacktrace(ptr noundef %2474) #10
  %2476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2477 = trunc nuw i8 %2476 to i1
  br i1 %2477, label %2478, label %2482

2478:                                             ; preds = %2472
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @fileno(ptr noundef %2479) #10
  %2481 = call i32 @isatty(i32 noundef %2480) #10
  %.not245 = icmp eq i32 %2481, 0
  br i1 %.not245, label %2482, label %2483

2482:                                             ; preds = %2478, %2472
  br label %2483

2483:                                             ; preds = %2478, %2482
  %.str.5.sink1167 = phi ptr [ @.str.5, %2482 ], [ @.str.2, %2478 ]
  store i32 %2473, ptr %425, align 4, !tbaa !5
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = load i32, ptr @test_count, align 4, !tbaa !5
  %2486 = load i32, ptr %371, align 4, !tbaa !5
  %2487 = call ptr @s2n_strerror(i32 noundef %2486, ptr noundef nonnull @.str.4) #10
  %2488 = load i32, ptr %371, align 4, !tbaa !5
  %2489 = call ptr @s2n_strerror_debug(i32 noundef %2488, ptr noundef nonnull @.str.4) #10
  %2490 = load i32, ptr %425, align 4, !tbaa !5
  %2491 = call ptr @strerror(i32 noundef %2490) #10
  %2492 = load i32, ptr %425, align 4, !tbaa !5
  %2493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2484, ptr noundef nonnull %.str.5.sink1167, i32 noundef %2485, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 245, ptr noundef %2487, ptr noundef %2489, ptr noundef %2491, i32 noundef %2492) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2494:                                             ; preds = %.preheader, %2501
  %2495 = load i32, ptr %2470, align 4, !tbaa !16
  %2496 = load i32, ptr %2471, align 8, !tbaa !19
  %2497 = sub i32 %2495, %2496
  %2498 = icmp ult i32 %2497, 16402
  %2499 = load i32, ptr @test_count, align 4, !tbaa !5
  %2500 = add nsw i32 %2499, 1
  store i32 %2500, ptr @test_count, align 4, !tbaa !5
  br i1 %2498, label %2501, label %2526

2501:                                             ; preds = %2494
  %2502 = call i32 @s2n_stuffer_write_uint8(ptr noundef nonnull %18, i8 noundef zeroext 0) #10
  %2503 = icmp eq i32 %2502, -1
  br i1 %2503, label %2504, label %2494, !llvm.loop !28

2504:                                             ; preds = %2501
  %2505 = load i32, ptr %425, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @s2n_print_stacktrace(ptr noundef %2506) #10
  %2508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2509 = trunc nuw i8 %2508 to i1
  br i1 %2509, label %2510, label %2514

2510:                                             ; preds = %2504
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @fileno(ptr noundef %2511) #10
  %2513 = call i32 @isatty(i32 noundef %2512) #10
  %.not244 = icmp eq i32 %2513, 0
  br i1 %.not244, label %2514, label %2515

2514:                                             ; preds = %2510, %2504
  br label %2515

2515:                                             ; preds = %2510, %2514
  %.str.5.sink1176 = phi ptr [ @.str.5, %2514 ], [ @.str.2, %2510 ]
  store i32 %2505, ptr %425, align 4, !tbaa !5
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = load i32, ptr @test_count, align 4, !tbaa !5
  %2518 = load i32, ptr %371, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef nonnull @.str.4) #10
  %2520 = load i32, ptr %371, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef nonnull @.str.4) #10
  %2522 = load i32, ptr %425, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #10
  %2524 = load i32, ptr %425, align 4, !tbaa !5
  %2525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2516, ptr noundef nonnull %.str.5.sink1176, i32 noundef %2517, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2519, ptr noundef %2521, ptr noundef %2523, i32 noundef %2524) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2526:                                             ; preds = %2494
  %2527 = icmp eq i32 %2497, 16402
  br i1 %2527, label %2550, label %2528

2528:                                             ; preds = %2526
  %2529 = load i32, ptr %425, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = call i32 @s2n_print_stacktrace(ptr noundef %2530) #10
  %2532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2533 = trunc nuw i8 %2532 to i1
  br i1 %2533, label %2534, label %2538

2534:                                             ; preds = %2528
  %2535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2536 = call i32 @fileno(ptr noundef %2535) #10
  %2537 = call i32 @isatty(i32 noundef %2536) #10
  %.not234 = icmp eq i32 %2537, 0
  br i1 %.not234, label %2538, label %2539

2538:                                             ; preds = %2534, %2528
  br label %2539

2539:                                             ; preds = %2534, %2538
  %.str.5.sink1185 = phi ptr [ @.str.5, %2538 ], [ @.str.2, %2534 ]
  store i32 %2529, ptr %425, align 4, !tbaa !5
  %2540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2541 = load i32, ptr @test_count, align 4, !tbaa !5
  %2542 = load i32, ptr %371, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror(i32 noundef %2542, ptr noundef nonnull @.str.4) #10
  %2544 = load i32, ptr %371, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror_debug(i32 noundef %2544, ptr noundef nonnull @.str.4) #10
  %2546 = load i32, ptr %425, align 4, !tbaa !5
  %2547 = call ptr @strerror(i32 noundef %2546) #10
  %2548 = load i32, ptr %425, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2540, ptr noundef nonnull %.str.5.sink1185, i32 noundef %2541, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2543, ptr noundef %2545, ptr noundef %2547, i32 noundef %2548) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2550:                                             ; preds = %2526
  %2551 = add nsw i32 %2499, 2
  store i32 %2551, ptr @test_count, align 4, !tbaa !5
  %2552 = call i32 @s2n_tls13_parse_record_type(ptr noundef nonnull %18, ptr noundef nonnull %3) #10
  %2553 = icmp eq i32 %2552, -1
  br i1 %2553, label %2576, label %2554

2554:                                             ; preds = %2550
  %2555 = load i32, ptr %425, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @s2n_print_stacktrace(ptr noundef %2556) #10
  %2558 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2559 = trunc nuw i8 %2558 to i1
  br i1 %2559, label %2560, label %2564

2560:                                             ; preds = %2554
  %2561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2562 = call i32 @fileno(ptr noundef %2561) #10
  %2563 = call i32 @isatty(i32 noundef %2562) #10
  %.not235 = icmp eq i32 %2563, 0
  br i1 %.not235, label %2564, label %2565

2564:                                             ; preds = %2560, %2554
  br label %2565

2565:                                             ; preds = %2560, %2564
  %.str.5.sink1194 = phi ptr [ @.str.5, %2564 ], [ @.str.2, %2560 ]
  store i32 %2555, ptr %425, align 4, !tbaa !5
  %2566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = load i32, ptr %371, align 4, !tbaa !5
  %2569 = call ptr @s2n_strerror(i32 noundef %2568, ptr noundef nonnull @.str.4) #10
  %2570 = load i32, ptr %371, align 4, !tbaa !5
  %2571 = call ptr @s2n_strerror_debug(i32 noundef %2570, ptr noundef nonnull @.str.4) #10
  %2572 = load i32, ptr %425, align 4, !tbaa !5
  %2573 = call ptr @strerror(i32 noundef %2572) #10
  %2574 = load i32, ptr %425, align 4, !tbaa !5
  %2575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2566, ptr noundef nonnull %.str.5.sink1194, i32 noundef %2567, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2569, ptr noundef %2571, ptr noundef %2573, i32 noundef %2574) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2576:                                             ; preds = %2550
  %2577 = load i32, ptr @test_count, align 4, !tbaa !5
  %2578 = add nsw i32 %2577, 1
  store i32 %2578, ptr @test_count, align 4, !tbaa !5
  %2579 = load i32, ptr %371, align 4, !tbaa !5
  %2580 = icmp eq i32 %2579, 335544388
  br i1 %2580, label %2603, label %2581

2581:                                             ; preds = %2576
  %2582 = load i32, ptr %425, align 4, !tbaa !5
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2584 = call i32 @s2n_print_stacktrace(ptr noundef %2583) #10
  %2585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2586 = trunc nuw i8 %2585 to i1
  br i1 %2586, label %2587, label %2591

2587:                                             ; preds = %2581
  %2588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2589 = call i32 @fileno(ptr noundef %2588) #10
  %2590 = call i32 @isatty(i32 noundef %2589) #10
  %.not236 = icmp eq i32 %2590, 0
  br i1 %.not236, label %2591, label %2592

2591:                                             ; preds = %2587, %2581
  br label %2592

2592:                                             ; preds = %2587, %2591
  %.str.5.sink1203 = phi ptr [ @.str.5, %2591 ], [ @.str.2, %2587 ]
  store i32 %2582, ptr %425, align 4, !tbaa !5
  %2593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2594 = load i32, ptr @test_count, align 4, !tbaa !5
  %2595 = load i32, ptr %371, align 4, !tbaa !5
  %2596 = call ptr @s2n_strerror(i32 noundef %2595, ptr noundef nonnull @.str.4) #10
  %2597 = load i32, ptr %371, align 4, !tbaa !5
  %2598 = call ptr @s2n_strerror_debug(i32 noundef %2597, ptr noundef nonnull @.str.4) #10
  %2599 = load i32, ptr %425, align 4, !tbaa !5
  %2600 = call ptr @strerror(i32 noundef %2599) #10
  %2601 = load i32, ptr %425, align 4, !tbaa !5
  %2602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2593, ptr noundef nonnull %.str.5.sink1203, i32 noundef %2594, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2596, ptr noundef %2598, ptr noundef %2600, i32 noundef %2601) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2603:                                             ; preds = %2576
  %2604 = add nsw i32 %2577, 2
  store i32 %2604, ptr @test_count, align 4, !tbaa !5
  %2605 = call ptr @s2n_strerror_debug(i32 noundef 335544388, ptr noundef nonnull @.str.4) #10
  %2606 = icmp eq ptr %2605, null
  br i1 %2606, label %2607, label %2629

2607:                                             ; preds = %2603
  %2608 = load i32, ptr %425, align 4, !tbaa !5
  %2609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2610 = call i32 @s2n_print_stacktrace(ptr noundef %2609) #10
  %2611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2612 = trunc nuw i8 %2611 to i1
  br i1 %2612, label %2613, label %2617

2613:                                             ; preds = %2607
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @fileno(ptr noundef %2614) #10
  %2616 = call i32 @isatty(i32 noundef %2615) #10
  %.not243 = icmp eq i32 %2616, 0
  br i1 %.not243, label %2617, label %2618

2617:                                             ; preds = %2613, %2607
  br label %2618

2618:                                             ; preds = %2613, %2617
  %.str.5.sink1212 = phi ptr [ @.str.5, %2617 ], [ @.str.2, %2613 ]
  store i32 %2608, ptr %425, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = load i32, ptr @test_count, align 4, !tbaa !5
  %2621 = load i32, ptr %371, align 4, !tbaa !5
  %2622 = call ptr @s2n_strerror(i32 noundef %2621, ptr noundef nonnull @.str.4) #10
  %2623 = load i32, ptr %371, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror_debug(i32 noundef %2623, ptr noundef nonnull @.str.4) #10
  %2625 = load i32, ptr %425, align 4, !tbaa !5
  %2626 = call ptr @strerror(i32 noundef %2625) #10
  %2627 = load i32, ptr %425, align 4, !tbaa !5
  %2628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2619, ptr noundef nonnull %.str.5.sink1212, i32 noundef %2620, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2622, ptr noundef %2624, ptr noundef %2626, i32 noundef %2627) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2629:                                             ; preds = %2603
  store i32 0, ptr %371, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  store i32 0, ptr %425, align 4, !tbaa !5
  %2630 = load i32, ptr @test_count, align 4, !tbaa !5
  %2631 = add nsw i32 %2630, 1
  store i32 %2631, ptr @test_count, align 4, !tbaa !5
  %2632 = call i32 @s2n_stuffer_free(ptr noundef nonnull %18) #10
  %2633 = icmp eq i32 %2632, -1
  br i1 %2633, label %2634, label %2656

2634:                                             ; preds = %2629
  %2635 = load i32, ptr %425, align 4, !tbaa !5
  %2636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2637 = call i32 @s2n_print_stacktrace(ptr noundef %2636) #10
  %2638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2639 = trunc nuw i8 %2638 to i1
  br i1 %2639, label %2640, label %2644

2640:                                             ; preds = %2634
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = call i32 @fileno(ptr noundef %2641) #10
  %2643 = call i32 @isatty(i32 noundef %2642) #10
  %.not242 = icmp eq i32 %2643, 0
  br i1 %.not242, label %2644, label %2645

2644:                                             ; preds = %2640, %2634
  br label %2645

2645:                                             ; preds = %2640, %2644
  %.str.5.sink1221 = phi ptr [ @.str.5, %2644 ], [ @.str.2, %2640 ]
  store i32 %2635, ptr %425, align 4, !tbaa !5
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = load i32, ptr @test_count, align 4, !tbaa !5
  %2648 = load i32, ptr %371, align 4, !tbaa !5
  %2649 = call ptr @s2n_strerror(i32 noundef %2648, ptr noundef nonnull @.str.4) #10
  %2650 = load i32, ptr %371, align 4, !tbaa !5
  %2651 = call ptr @s2n_strerror_debug(i32 noundef %2650, ptr noundef nonnull @.str.4) #10
  %2652 = load i32, ptr %425, align 4, !tbaa !5
  %2653 = call ptr @strerror(i32 noundef %2652) #10
  %2654 = load i32, ptr %425, align 4, !tbaa !5
  %2655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2646, ptr noundef nonnull %.str.5.sink1221, i32 noundef %2647, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2649, ptr noundef %2651, ptr noundef %2653, i32 noundef %2654) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2656:                                             ; preds = %2629
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %18) #10
  %2657 = call i32 @s2n_cleanup() #10
  %2658 = icmp eq i32 %2657, -1
  br i1 %2658, label %2659, label %2681

2659:                                             ; preds = %2656
  %2660 = load i32, ptr %425, align 4, !tbaa !5
  %2661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2662 = call i32 @s2n_print_stacktrace(ptr noundef %2661) #10
  %2663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2664 = trunc nuw i8 %2663 to i1
  br i1 %2664, label %2665, label %2669

2665:                                             ; preds = %2659
  %2666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2667 = call i32 @fileno(ptr noundef %2666) #10
  %2668 = call i32 @isatty(i32 noundef %2667) #10
  %.not241 = icmp eq i32 %2668, 0
  br i1 %.not241, label %2669, label %2670

2669:                                             ; preds = %2665, %2659
  br label %2670

2670:                                             ; preds = %2665, %2669
  %.str.5.sink1230 = phi ptr [ @.str.5, %2669 ], [ @.str.2, %2665 ]
  store i32 %2660, ptr %425, align 4, !tbaa !5
  %2671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2672 = load i32, ptr @test_count, align 4, !tbaa !5
  %2673 = load i32, ptr %371, align 4, !tbaa !5
  %2674 = call ptr @s2n_strerror(i32 noundef %2673, ptr noundef nonnull @.str.4) #10
  %2675 = load i32, ptr %371, align 4, !tbaa !5
  %2676 = call ptr @s2n_strerror_debug(i32 noundef %2675, ptr noundef nonnull @.str.4) #10
  %2677 = load i32, ptr %425, align 4, !tbaa !5
  %2678 = call ptr @strerror(i32 noundef %2677) #10
  %2679 = load i32, ptr %425, align 4, !tbaa !5
  %2680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2671, ptr noundef nonnull %.str.5.sink1230, i32 noundef %2672, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2674, ptr noundef %2676, ptr noundef %2678, i32 noundef %2679) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2681:                                             ; preds = %2656
  %2682 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %2683 = icmp eq i32 %2682, -1
  br i1 %2683, label %2684, label %2706

2684:                                             ; preds = %2681
  %2685 = load i32, ptr %425, align 4, !tbaa !5
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = call i32 @s2n_print_stacktrace(ptr noundef %2686) #10
  %2688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2689 = trunc nuw i8 %2688 to i1
  br i1 %2689, label %2690, label %2694

2690:                                             ; preds = %2684
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2692 = call i32 @fileno(ptr noundef %2691) #10
  %2693 = call i32 @isatty(i32 noundef %2692) #10
  %.not240 = icmp eq i32 %2693, 0
  br i1 %.not240, label %2694, label %2695

2694:                                             ; preds = %2690, %2684
  br label %2695

2695:                                             ; preds = %2690, %2694
  %.str.5.sink1239 = phi ptr [ @.str.5, %2694 ], [ @.str.2, %2690 ]
  store i32 %2685, ptr %425, align 4, !tbaa !5
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = load i32, ptr @test_count, align 4, !tbaa !5
  %2698 = load i32, ptr %371, align 4, !tbaa !5
  %2699 = call ptr @s2n_strerror(i32 noundef %2698, ptr noundef nonnull @.str.4) #10
  %2700 = load i32, ptr %371, align 4, !tbaa !5
  %2701 = call ptr @s2n_strerror_debug(i32 noundef %2700, ptr noundef nonnull @.str.4) #10
  %2702 = load i32, ptr %425, align 4, !tbaa !5
  %2703 = call ptr @strerror(i32 noundef %2702) #10
  %2704 = load i32, ptr %425, align 4, !tbaa !5
  %2705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2696, ptr noundef nonnull %.str.5.sink1239, i32 noundef %2697, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2699, ptr noundef %2701, ptr noundef %2703, i32 noundef %2704) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2706:                                             ; preds = %2681
  %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 %2720

2709:                                             ; preds = %2706
  %2710 = load ptr, ptr @stdout, align 8, !tbaa !9
  %2711 = call i32 @fileno(ptr noundef %2710) #10
  %2712 = call i32 @isatty(i32 noundef %2711) #10
  %.not237 = icmp eq i32 %2712, 0
  br i1 %.not237, label %2720, label %2713

2713:                                             ; preds = %2709
  %2714 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not239 = icmp eq i32 %2714, 0
  %2715 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not239, label %2718, label %2716

2716:                                             ; preds = %2713
  %2717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2715, ptr noundef nonnull @.str.46, i32 noundef %2714) #10
  br label %2727

2718:                                             ; preds = %2713
  %2719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2715, ptr noundef nonnull @.str.47) #10
  br label %2727

2720:                                             ; preds = %2709, %2706
  %2721 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not238 = icmp eq i32 %2721, 0
  %2722 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not238, label %2725, label %2723

2723:                                             ; preds = %2720
  %2724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2722, ptr noundef nonnull @.str.48, i32 noundef %2721) #10
  br label %2727

2725:                                             ; preds = %2720
  %2726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2722, ptr noundef nonnull @.str.49) #10
  br label %2727

2727:                                             ; preds = %.thread, %2718, %2716, %2725, %2723, %1337
  %.5 = phi i32 [ %.3, %1337 ], [ 0, %2723 ], [ 0, %2725 ], [ 0, %2716 ], [ 0, %2718 ], [ -1, %.thread ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %3) #10
  ret i32 %.5
}

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

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

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #6

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

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #8

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

declare i32 @s2n_stuffer_write_uint16(ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

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

declare i32 @s2n_stuffer_free(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_free(ptr noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #9

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

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

declare i32 @s2n_stuffer_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_uint8(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #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 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #10 = { nounwind }
attributes #11 = { nounwind willreturn memory(none) }
attributes #12 = { cold nounwind }
attributes #13 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!7, !7, i64 0}
!16 = !{!17, !6, i64 28}
!17 = !{!"s2n_stuffer", !18, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!18 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!19 = !{!17, !6, i64 24}
!20 = distinct !{!20, !21}
!21 = !{!"llvm.loop.mustprogress"}
!22 = distinct !{!22, !21}
!23 = distinct !{!23, !21}
!24 = distinct !{!24, !21}
!25 = distinct !{!25, !21}
!26 = distinct !{!26, !21}
!27 = distinct !{!27, !21}
!28 = distinct !{!28, !21}


; Effective O3 passes: DSEPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,JumpThreadingPass,LCSSAPass,LICMPass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass