; LLVM IR from aws/s2n-tls :: tests/unit (s2n_hash_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_hash_state = type { ptr, i32, i8, i64, %union.anon }
%union.anon = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }
%struct.s2n_result = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@__const.main.hello = external hidden unnamed_addr constant [14 x i8], align 1
@__const.main.string1 = external hidden unnamed_addr constant [10 x i8], align 1
@__const.main.string2 = external hidden unnamed_addr constant [14 x 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 [72 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 [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [181 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.73 = 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 [64 x i8], align 16
  %7 = alloca [128 x i8], align 16
  %8 = alloca [14 x i8], align 1
  %9 = alloca [10 x i8], align 1
  %10 = alloca [14 x i8], align 1
  %11 = alloca %struct.s2n_stuffer, align 8
  %12 = alloca %struct.s2n_hash_state, align 8
  %13 = alloca %struct.s2n_hash_state, align 8
  %14 = alloca %struct.s2n_blob, align 8
  %15 = alloca i32, align 4
  %16 = alloca i64, align 8
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i8, align 1
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca %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 i32, align 4
  %53 = alloca i8, align 1
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca %struct.s2n_result, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca %struct.s2n_result, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %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 i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca i32, align 4
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca 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 i32, align 4
  %120 = alloca %struct.s2n_result, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca i32, align 4
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca i32, align 4
  %138 = alloca i32, align 4
  %139 = alloca %struct.s2n_result, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i32, align 4
  %145 = alloca i8, align 1
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca i32, align 4
  %166 = alloca i32, align 4
  %167 = alloca %struct.s2n_result, align 4
  %168 = alloca i32, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca i32, align 4
  %173 = alloca i32, align 4
  %174 = alloca i8, align 1
  %175 = alloca i32, align 4
  %176 = alloca i32, align 4
  %177 = alloca i32, align 4
  %178 = alloca i32, align 4
  %179 = alloca i32, align 4
  %180 = alloca i32, align 4
  %181 = alloca i32, align 4
  %182 = alloca i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca i32, align 4
  %191 = alloca %struct.s2n_result, align 4
  %192 = alloca i32, align 4
  %193 = alloca i32, align 4
  %194 = alloca i32, align 4
  %195 = alloca i32, align 4
  %196 = alloca i32, align 4
  %197 = alloca i8, align 1
  %198 = alloca i32, align 4
  %199 = alloca i32, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca i32, align 4
  %204 = alloca i32, align 4
  %205 = alloca i32, align 4
  %206 = alloca i32, align 4
  %207 = alloca i32, align 4
  %208 = alloca i32, align 4
  %209 = alloca i32, align 4
  %210 = alloca i32, align 4
  %211 = alloca i32, align 4
  %212 = alloca i32, align 4
  %213 = alloca i32, align 4
  %214 = alloca %struct.s2n_result, align 4
  %215 = alloca i32, align 4
  %216 = alloca i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i8, align 1
  %221 = alloca i32, align 4
  %222 = alloca i32, align 4
  %223 = alloca i32, align 4
  %224 = alloca i32, align 4
  %225 = alloca i32, align 4
  %226 = alloca i32, align 4
  %227 = alloca i32, align 4
  %228 = alloca i32, align 4
  %229 = alloca i32, align 4
  %230 = alloca i32, align 4
  %231 = alloca i32, align 4
  %232 = alloca i32, align 4
  %233 = alloca i32, align 4
  %234 = alloca i32, align 4
  %235 = alloca i32, align 4
  %236 = alloca i32, align 4
  %237 = alloca i32, align 4
  %238 = alloca i32, align 4
  %239 = alloca i32, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca %struct.s2n_result, align 4
  %243 = alloca i32, align 4
  %244 = alloca i32, align 4
  %245 = alloca i32, align 4
  %246 = 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
  call void @llvm.lifetime.start.p0(i64 64, ptr %6) #11
  call void @llvm.lifetime.start.p0(i64 128, ptr %7) #11
  call void @llvm.lifetime.start.p0(i64 14, ptr %8) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %8, ptr align 1 @__const.main.hello, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 10, ptr %9) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %9, ptr align 1 @__const.main.string1, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 14, ptr %10) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %10, ptr align 1 @__const.main.string2, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %11) #11
  call void @llvm.memset.p0.i64(ptr align 8 %11, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr %12) #11
  call void @llvm.lifetime.start.p0(i64 56, ptr %13) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #11
  call void @llvm.memset.p0.i64(ptr align 8 %14, i8 0, i64 24, i1 false)
  br label %247

247:                                              ; preds = %2
  %248 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %249 = call i32 @s2n_blob_init(ptr noundef %14, ptr noundef %248, i32 noundef 128)
  %250 = icmp sgt i32 %249, -1
  br i1 %250, label %252, label %251

251:                                              ; preds = %247
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13334

252:                                              ; preds = %247
  br label %253

253:                                              ; preds = %252
  br label %254

254:                                              ; preds = %253
  call void @llvm.lifetime.start.p0(i64 8, ptr %16) #11
  store i64 0, ptr %16, align 8, !tbaa !11
  br label %255

255:                                              ; preds = %254
  br label %256

256:                                              ; preds = %255
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %257 = load ptr, ptr @stdout, align 8, !tbaa !9
  %258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %257, ptr noundef @.str, ptr noundef @.str.1) #11
  %259 = load ptr, ptr @stdout, align 8, !tbaa !9
  %260 = call i32 @fflush(ptr noundef %259)
  br label %261

261:                                              ; preds = %256
  %262 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %263 = icmp eq i32 %262, -1
  br i1 %263, label %264, label %317

264:                                              ; preds = %261
  br label %265

265:                                              ; preds = %264
  br label %266

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %267 = call ptr @__errno_location() #12
  %268 = load i32, ptr %267, align 4, !tbaa !5
  store i32 %268, ptr %17, align 4, !tbaa !5
  %269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %270 = call i32 @s2n_print_stacktrace(ptr noundef %269)
  %271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %272 = trunc i8 %271 to i1
  br i1 %272, label %273, label %295

273:                                              ; preds = %266
  %274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %275 = call i32 @fileno(ptr noundef %274) #11
  %276 = call i32 @isatty(i32 noundef %275) #11
  %277 = icmp ne i32 %276, 0
  br i1 %277, label %278, label %295

278:                                              ; preds = %273
  %279 = load i32, ptr %17, align 4, !tbaa !5
  %280 = call ptr @__errno_location() #12
  store i32 %279, ptr %280, align 4, !tbaa !5
  %281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %284 = load i32, ptr %283, align 4, !tbaa !5
  %285 = call ptr @s2n_strerror(i32 noundef %284, ptr noundef @.str.4)
  %286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %287 = load i32, ptr %286, align 4, !tbaa !5
  %288 = call ptr @s2n_strerror_debug(i32 noundef %287, ptr noundef @.str.4)
  %289 = call ptr @__errno_location() #12
  %290 = load i32, ptr %289, align 4, !tbaa !5
  %291 = call ptr @strerror(i32 noundef %290) #11
  %292 = call ptr @__errno_location() #12
  %293 = load i32, ptr %292, align 4, !tbaa !5
  %294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %281, ptr noundef @.str.2, i32 noundef %282, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 41, ptr noundef %285, ptr noundef %288, ptr noundef %291, i32 noundef %293) #11
  br label %312

295:                                              ; preds = %273, %266
  %296 = load i32, ptr %17, align 4, !tbaa !5
  %297 = call ptr @__errno_location() #12
  store i32 %296, ptr %297, align 4, !tbaa !5
  %298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %299 = load i32, ptr @test_count, align 4, !tbaa !5
  %300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %301 = load i32, ptr %300, align 4, !tbaa !5
  %302 = call ptr @s2n_strerror(i32 noundef %301, ptr noundef @.str.4)
  %303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %304 = load i32, ptr %303, align 4, !tbaa !5
  %305 = call ptr @s2n_strerror_debug(i32 noundef %304, ptr noundef @.str.4)
  %306 = call ptr @__errno_location() #12
  %307 = load i32, ptr %306, align 4, !tbaa !5
  %308 = call ptr @strerror(i32 noundef %307) #11
  %309 = call ptr @__errno_location() #12
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %298, ptr noundef @.str.5, i32 noundef %299, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 41, ptr noundef %302, ptr noundef %305, ptr noundef %308, i32 noundef %310) #11
  br label %312

312:                                              ; preds = %295, %278
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %313

313:                                              ; preds = %312
  br label %314

314:                                              ; preds = %313
  call void @exit(i32 noundef 1) #13
  unreachable

315:                                              ; No predecessors!
  br label %316

316:                                              ; preds = %315
  br label %317

317:                                              ; preds = %316, %261
  br label %318

318:                                              ; preds = %317
  br label %319

319:                                              ; preds = %318
  br label %320

320:                                              ; preds = %319
  %321 = load i32, ptr @test_count, align 4, !tbaa !5
  %322 = add nsw i32 %321, 1
  store i32 %322, ptr @test_count, align 4, !tbaa !5
  %323 = call i32 @s2n_enable_atexit()
  %324 = icmp eq i32 %323, -1
  br i1 %324, label %325, label %378

325:                                              ; preds = %320
  br label %326

326:                                              ; preds = %325
  br label %327

327:                                              ; preds = %326
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %328 = call ptr @__errno_location() #12
  %329 = load i32, ptr %328, align 4, !tbaa !5
  store i32 %329, ptr %18, align 4, !tbaa !5
  %330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %331 = call i32 @s2n_print_stacktrace(ptr noundef %330)
  %332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %333 = trunc i8 %332 to i1
  br i1 %333, label %334, label %356

334:                                              ; preds = %327
  %335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %336 = call i32 @fileno(ptr noundef %335) #11
  %337 = call i32 @isatty(i32 noundef %336) #11
  %338 = icmp ne i32 %337, 0
  br i1 %338, label %339, label %356

339:                                              ; preds = %334
  %340 = load i32, ptr %18, align 4, !tbaa !5
  %341 = call ptr @__errno_location() #12
  store i32 %340, ptr %341, align 4, !tbaa !5
  %342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %343 = load i32, ptr @test_count, align 4, !tbaa !5
  %344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %345 = load i32, ptr %344, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror(i32 noundef %345, ptr noundef @.str.4)
  %347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %348 = load i32, ptr %347, align 4, !tbaa !5
  %349 = call ptr @s2n_strerror_debug(i32 noundef %348, ptr noundef @.str.4)
  %350 = call ptr @__errno_location() #12
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = call ptr @strerror(i32 noundef %351) #11
  %353 = call ptr @__errno_location() #12
  %354 = load i32, ptr %353, align 4, !tbaa !5
  %355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %342, ptr noundef @.str.2, i32 noundef %343, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 41, ptr noundef %346, ptr noundef %349, ptr noundef %352, i32 noundef %354) #11
  br label %373

356:                                              ; preds = %334, %327
  %357 = load i32, ptr %18, align 4, !tbaa !5
  %358 = call ptr @__errno_location() #12
  store i32 %357, ptr %358, align 4, !tbaa !5
  %359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %360 = load i32, ptr @test_count, align 4, !tbaa !5
  %361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %362 = load i32, ptr %361, align 4, !tbaa !5
  %363 = call ptr @s2n_strerror(i32 noundef %362, ptr noundef @.str.4)
  %364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %365 = load i32, ptr %364, align 4, !tbaa !5
  %366 = call ptr @s2n_strerror_debug(i32 noundef %365, ptr noundef @.str.4)
  %367 = call ptr @__errno_location() #12
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = call ptr @strerror(i32 noundef %368) #11
  %370 = call ptr @__errno_location() #12
  %371 = load i32, ptr %370, align 4, !tbaa !5
  %372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %359, ptr noundef @.str.5, i32 noundef %360, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 41, ptr noundef %363, ptr noundef %366, ptr noundef %369, i32 noundef %371) #11
  br label %373

373:                                              ; preds = %356, %339
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %374

374:                                              ; preds = %373
  br label %375

375:                                              ; preds = %374
  call void @exit(i32 noundef 1) #13
  unreachable

376:                                              ; No predecessors!
  br label %377

377:                                              ; preds = %376
  br label %378

378:                                              ; preds = %377, %320
  br label %379

379:                                              ; preds = %378
  br label %380

380:                                              ; preds = %379
  br label %381

381:                                              ; preds = %380
  br label %382

382:                                              ; preds = %381
  br label %383

383:                                              ; preds = %382
  %384 = call i32 @s2n_init()
  %385 = icmp eq i32 %384, -1
  br i1 %385, label %386, label %439

386:                                              ; preds = %383
  br label %387

387:                                              ; preds = %386
  br label %388

388:                                              ; preds = %387
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #11
  %389 = call ptr @__errno_location() #12
  %390 = load i32, ptr %389, align 4, !tbaa !5
  store i32 %390, ptr %19, align 4, !tbaa !5
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = call i32 @s2n_print_stacktrace(ptr noundef %391)
  %393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %394 = trunc i8 %393 to i1
  br i1 %394, label %395, label %417

395:                                              ; preds = %388
  %396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %397 = call i32 @fileno(ptr noundef %396) #11
  %398 = call i32 @isatty(i32 noundef %397) #11
  %399 = icmp ne i32 %398, 0
  br i1 %399, label %400, label %417

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

417:                                              ; preds = %395, %388
  %418 = load i32, ptr %19, align 4, !tbaa !5
  %419 = call ptr @__errno_location() #12
  store i32 %418, ptr %419, align 4, !tbaa !5
  %420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %421 = load i32, ptr @test_count, align 4, !tbaa !5
  %422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %423 = load i32, ptr %422, align 4, !tbaa !5
  %424 = call ptr @s2n_strerror(i32 noundef %423, ptr noundef @.str.4)
  %425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = call ptr @s2n_strerror_debug(i32 noundef %426, ptr noundef @.str.4)
  %428 = call ptr @__errno_location() #12
  %429 = load i32, ptr %428, align 4, !tbaa !5
  %430 = call ptr @strerror(i32 noundef %429) #11
  %431 = call ptr @__errno_location() #12
  %432 = load i32, ptr %431, align 4, !tbaa !5
  %433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %420, ptr noundef @.str.5, i32 noundef %421, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 41, ptr noundef %424, ptr noundef %427, ptr noundef %430, i32 noundef %432) #11
  br label %434

434:                                              ; preds = %417, %400
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %435

435:                                              ; preds = %434
  br label %436

436:                                              ; preds = %435
  call void @exit(i32 noundef 1) #13
  unreachable

437:                                              ; No predecessors!
  br label %438

438:                                              ; preds = %437
  br label %439

439:                                              ; preds = %438, %383
  br label %440

440:                                              ; preds = %439
  br label %441

441:                                              ; preds = %440
  br label %442

442:                                              ; preds = %441
  br label %443

443:                                              ; preds = %442
  br label %444

444:                                              ; preds = %443
  %445 = load i32, ptr @test_count, align 4, !tbaa !5
  %446 = add nsw i32 %445, 1
  store i32 %446, ptr @test_count, align 4, !tbaa !5
  %447 = call i32 (...) @s2n_disable_tls13_in_test()
  %448 = icmp eq i32 %447, -1
  br i1 %448, label %449, label %502

449:                                              ; preds = %444
  br label %450

450:                                              ; preds = %449
  br label %451

451:                                              ; preds = %450
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %452 = call ptr @__errno_location() #12
  %453 = load i32, ptr %452, align 4, !tbaa !5
  store i32 %453, ptr %20, align 4, !tbaa !5
  %454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %455 = call i32 @s2n_print_stacktrace(ptr noundef %454)
  %456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %457 = trunc i8 %456 to i1
  br i1 %457, label %458, label %480

458:                                              ; preds = %451
  %459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %460 = call i32 @fileno(ptr noundef %459) #11
  %461 = call i32 @isatty(i32 noundef %460) #11
  %462 = icmp ne i32 %461, 0
  br i1 %462, label %463, label %480

463:                                              ; preds = %458
  %464 = load i32, ptr %20, align 4, !tbaa !5
  %465 = call ptr @__errno_location() #12
  store i32 %464, ptr %465, align 4, !tbaa !5
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = load i32, ptr @test_count, align 4, !tbaa !5
  %468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %469 = load i32, ptr %468, align 4, !tbaa !5
  %470 = call ptr @s2n_strerror(i32 noundef %469, ptr noundef @.str.4)
  %471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = call ptr @s2n_strerror_debug(i32 noundef %472, ptr noundef @.str.4)
  %474 = call ptr @__errno_location() #12
  %475 = load i32, ptr %474, align 4, !tbaa !5
  %476 = call ptr @strerror(i32 noundef %475) #11
  %477 = call ptr @__errno_location() #12
  %478 = load i32, ptr %477, align 4, !tbaa !5
  %479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %466, ptr noundef @.str.2, i32 noundef %467, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 42, ptr noundef %470, ptr noundef %473, ptr noundef %476, i32 noundef %478) #11
  br label %497

480:                                              ; preds = %458, %451
  %481 = load i32, ptr %20, align 4, !tbaa !5
  %482 = call ptr @__errno_location() #12
  store i32 %481, ptr %482, align 4, !tbaa !5
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = load i32, ptr @test_count, align 4, !tbaa !5
  %485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror(i32 noundef %486, ptr noundef @.str.4)
  %488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %489 = load i32, ptr %488, align 4, !tbaa !5
  %490 = call ptr @s2n_strerror_debug(i32 noundef %489, ptr noundef @.str.4)
  %491 = call ptr @__errno_location() #12
  %492 = load i32, ptr %491, align 4, !tbaa !5
  %493 = call ptr @strerror(i32 noundef %492) #11
  %494 = call ptr @__errno_location() #12
  %495 = load i32, ptr %494, align 4, !tbaa !5
  %496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %483, ptr noundef @.str.5, i32 noundef %484, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 42, ptr noundef %487, ptr noundef %490, ptr noundef %493, i32 noundef %495) #11
  br label %497

497:                                              ; preds = %480, %463
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #11
  br label %498

498:                                              ; preds = %497
  br label %499

499:                                              ; preds = %498
  call void @exit(i32 noundef 1) #13
  unreachable

500:                                              ; No predecessors!
  br label %501

501:                                              ; preds = %500
  br label %502

502:                                              ; preds = %501, %444
  br label %503

503:                                              ; preds = %502
  br label %504

504:                                              ; preds = %503
  %505 = call zeroext i1 @s2n_libcrypto_is_awslc()
  br i1 %505, label %506, label %568

506:                                              ; preds = %504
  br label %507

507:                                              ; preds = %506
  %508 = load i32, ptr @test_count, align 4, !tbaa !5
  %509 = add nsw i32 %508, 1
  store i32 %509, ptr @test_count, align 4, !tbaa !5
  %510 = call ptr @s2n_hash_alg_to_evp_md(i32 noundef 7)
  %511 = icmp eq ptr %510, null
  br i1 %511, label %512, label %565

512:                                              ; preds = %507
  br label %513

513:                                              ; preds = %512
  br label %514

514:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #11
  %515 = call ptr @__errno_location() #12
  %516 = load i32, ptr %515, align 4, !tbaa !5
  store i32 %516, ptr %21, align 4, !tbaa !5
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = call i32 @s2n_print_stacktrace(ptr noundef %517)
  %519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %520 = trunc i8 %519 to i1
  br i1 %520, label %521, label %543

521:                                              ; preds = %514
  %522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %523 = call i32 @fileno(ptr noundef %522) #11
  %524 = call i32 @isatty(i32 noundef %523) #11
  %525 = icmp ne i32 %524, 0
  br i1 %525, label %526, label %543

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

543:                                              ; preds = %521, %514
  %544 = load i32, ptr %21, align 4, !tbaa !5
  %545 = call ptr @__errno_location() #12
  store i32 %544, ptr %545, align 4, !tbaa !5
  %546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %547 = load i32, ptr @test_count, align 4, !tbaa !5
  %548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %549 = load i32, ptr %548, align 4, !tbaa !5
  %550 = call ptr @s2n_strerror(i32 noundef %549, ptr noundef @.str.4)
  %551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %552 = load i32, ptr %551, align 4, !tbaa !5
  %553 = call ptr @s2n_strerror_debug(i32 noundef %552, ptr noundef @.str.4)
  %554 = call ptr @__errno_location() #12
  %555 = load i32, ptr %554, align 4, !tbaa !5
  %556 = call ptr @strerror(i32 noundef %555) #11
  %557 = call ptr @__errno_location() #12
  %558 = load i32, ptr %557, align 4, !tbaa !5
  %559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %546, ptr noundef @.str.5, i32 noundef %547, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 49, ptr noundef %550, ptr noundef %553, ptr noundef %556, i32 noundef %558) #11
  br label %560

560:                                              ; preds = %543, %526
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %561

561:                                              ; preds = %560
  br label %562

562:                                              ; preds = %561
  call void @exit(i32 noundef 1) #13
  unreachable

563:                                              ; No predecessors!
  br label %564

564:                                              ; preds = %563
  br label %565

565:                                              ; preds = %564, %507
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  br label %568

568:                                              ; preds = %567, %504
  br label %569

569:                                              ; preds = %568
  %570 = call i32 @s2n_hash_new(ptr noundef %12)
  %571 = icmp sgt i32 %570, -1
  br i1 %571, label %573, label %572

572:                                              ; preds = %569
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13333

573:                                              ; preds = %569
  br label %574

574:                                              ; preds = %573
  br label %575

575:                                              ; preds = %574
  br label %576

576:                                              ; preds = %575
  %577 = load i32, ptr @test_count, align 4, !tbaa !5
  %578 = add nsw i32 %577, 1
  store i32 %578, ptr @test_count, align 4, !tbaa !5
  %579 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %580 = icmp ne i32 %579, 0
  br i1 %580, label %581, label %634

581:                                              ; preds = %576
  br label %582

582:                                              ; preds = %581
  br label %583

583:                                              ; preds = %582
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #11
  %584 = call ptr @__errno_location() #12
  %585 = load i32, ptr %584, align 4, !tbaa !5
  store i32 %585, ptr %22, align 4, !tbaa !5
  %586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %587 = call i32 @s2n_print_stacktrace(ptr noundef %586)
  %588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %589 = trunc i8 %588 to i1
  br i1 %589, label %590, label %612

590:                                              ; preds = %583
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = call i32 @fileno(ptr noundef %591) #11
  %593 = call i32 @isatty(i32 noundef %592) #11
  %594 = icmp ne i32 %593, 0
  br i1 %594, label %595, label %612

595:                                              ; preds = %590
  %596 = load i32, ptr %22, align 4, !tbaa !5
  %597 = call ptr @__errno_location() #12
  store i32 %596, ptr %597, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = load i32, ptr @test_count, align 4, !tbaa !5
  %600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %601 = load i32, ptr %600, align 4, !tbaa !5
  %602 = call ptr @s2n_strerror(i32 noundef %601, ptr noundef @.str.4)
  %603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %604 = load i32, ptr %603, align 4, !tbaa !5
  %605 = call ptr @s2n_strerror_debug(i32 noundef %604, ptr noundef @.str.4)
  %606 = call ptr @__errno_location() #12
  %607 = load i32, ptr %606, align 4, !tbaa !5
  %608 = call ptr @strerror(i32 noundef %607) #11
  %609 = call ptr @__errno_location() #12
  %610 = load i32, ptr %609, align 4, !tbaa !5
  %611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %598, ptr noundef @.str.2, i32 noundef %599, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 53, ptr noundef %602, ptr noundef %605, ptr noundef %608, i32 noundef %610) #11
  br label %629

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

629:                                              ; preds = %612, %595
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %630

630:                                              ; preds = %629
  br label %631

631:                                              ; preds = %630
  call void @exit(i32 noundef 1) #13
  unreachable

632:                                              ; No predecessors!
  br label %633

633:                                              ; preds = %632
  br label %634

634:                                              ; preds = %633, %576
  br label %635

635:                                              ; preds = %634
  br label %636

636:                                              ; preds = %635
  br label %637

637:                                              ; preds = %636
  br label %638

638:                                              ; preds = %637
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = add nsw i32 %639, 1
  store i32 %640, ptr @test_count, align 4, !tbaa !5
  %641 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %642 = icmp eq i32 %641, -1
  br i1 %642, label %696, label %643

643:                                              ; preds = %638
  br label %644

644:                                              ; preds = %643
  br label %645

645:                                              ; preds = %644
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #11
  %646 = call ptr @__errno_location() #12
  %647 = load i32, ptr %646, align 4, !tbaa !5
  store i32 %647, ptr %23, align 4, !tbaa !5
  %648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %649 = call i32 @s2n_print_stacktrace(ptr noundef %648)
  %650 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %651 = trunc i8 %650 to i1
  br i1 %651, label %652, label %674

652:                                              ; preds = %645
  %653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %654 = call i32 @fileno(ptr noundef %653) #11
  %655 = call i32 @isatty(i32 noundef %654) #11
  %656 = icmp ne i32 %655, 0
  br i1 %656, label %657, label %674

657:                                              ; preds = %652
  %658 = load i32, ptr %23, align 4, !tbaa !5
  %659 = call ptr @__errno_location() #12
  store i32 %658, ptr %659, align 4, !tbaa !5
  %660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %661 = load i32, ptr @test_count, align 4, !tbaa !5
  %662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror(i32 noundef %663, ptr noundef @.str.4)
  %665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @s2n_strerror_debug(i32 noundef %666, ptr noundef @.str.4)
  %668 = call ptr @__errno_location() #12
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call ptr @strerror(i32 noundef %669) #11
  %671 = call ptr @__errno_location() #12
  %672 = load i32, ptr %671, align 4, !tbaa !5
  %673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %660, ptr noundef @.str.2, i32 noundef %661, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 54, ptr noundef %664, ptr noundef %667, ptr noundef %670, i32 noundef %672) #11
  br label %691

674:                                              ; preds = %652, %645
  %675 = load i32, ptr %23, align 4, !tbaa !5
  %676 = call ptr @__errno_location() #12
  store i32 %675, ptr %676, align 4, !tbaa !5
  %677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %678 = load i32, ptr @test_count, align 4, !tbaa !5
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef @.str.4)
  %682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @s2n_strerror_debug(i32 noundef %683, ptr noundef @.str.4)
  %685 = call ptr @__errno_location() #12
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call ptr @strerror(i32 noundef %686) #11
  %688 = call ptr @__errno_location() #12
  %689 = load i32, ptr %688, align 4, !tbaa !5
  %690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %677, ptr noundef @.str.5, i32 noundef %678, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 54, ptr noundef %681, ptr noundef %684, ptr noundef %687, i32 noundef %689) #11
  br label %691

691:                                              ; preds = %674, %657
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #11
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692
  call void @exit(i32 noundef 1) #13
  unreachable

694:                                              ; No predecessors!
  br label %695

695:                                              ; preds = %694
  br label %696

696:                                              ; preds = %695, %638
  br label %697

697:                                              ; preds = %696
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698
  %700 = load i32, ptr @test_count, align 4, !tbaa !5
  %701 = add nsw i32 %700, 1
  store i32 %701, ptr @test_count, align 4, !tbaa !5
  %702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %703 = load i32, ptr %702, align 4, !tbaa !5
  %704 = icmp eq i32 %703, 0
  br i1 %704, label %705, label %758

705:                                              ; preds = %699
  br label %706

706:                                              ; preds = %705
  br label %707

707:                                              ; preds = %706
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #11
  %708 = call ptr @__errno_location() #12
  %709 = load i32, ptr %708, align 4, !tbaa !5
  store i32 %709, ptr %24, align 4, !tbaa !5
  %710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %711 = call i32 @s2n_print_stacktrace(ptr noundef %710)
  %712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %713 = trunc i8 %712 to i1
  br i1 %713, label %714, label %736

714:                                              ; preds = %707
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @fileno(ptr noundef %715) #11
  %717 = call i32 @isatty(i32 noundef %716) #11
  %718 = icmp ne i32 %717, 0
  br i1 %718, label %719, label %736

719:                                              ; preds = %714
  %720 = load i32, ptr %24, align 4, !tbaa !5
  %721 = call ptr @__errno_location() #12
  store i32 %720, ptr %721, align 4, !tbaa !5
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = load i32, ptr @test_count, align 4, !tbaa !5
  %724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = call ptr @s2n_strerror(i32 noundef %725, ptr noundef @.str.4)
  %727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call ptr @s2n_strerror_debug(i32 noundef %728, ptr noundef @.str.4)
  %730 = call ptr @__errno_location() #12
  %731 = load i32, ptr %730, align 4, !tbaa !5
  %732 = call ptr @strerror(i32 noundef %731) #11
  %733 = call ptr @__errno_location() #12
  %734 = load i32, ptr %733, align 4, !tbaa !5
  %735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %722, ptr noundef @.str.2, i32 noundef %723, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 54, ptr noundef %726, ptr noundef %729, ptr noundef %732, i32 noundef %734) #11
  br label %753

736:                                              ; preds = %714, %707
  %737 = load i32, ptr %24, align 4, !tbaa !5
  %738 = call ptr @__errno_location() #12
  store i32 %737, ptr %738, align 4, !tbaa !5
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = load i32, ptr @test_count, align 4, !tbaa !5
  %741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %742 = load i32, ptr %741, align 4, !tbaa !5
  %743 = call ptr @s2n_strerror(i32 noundef %742, ptr noundef @.str.4)
  %744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %745 = load i32, ptr %744, align 4, !tbaa !5
  %746 = call ptr @s2n_strerror_debug(i32 noundef %745, ptr noundef @.str.4)
  %747 = call ptr @__errno_location() #12
  %748 = load i32, ptr %747, align 4, !tbaa !5
  %749 = call ptr @strerror(i32 noundef %748) #11
  %750 = call ptr @__errno_location() #12
  %751 = load i32, ptr %750, align 4, !tbaa !5
  %752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %739, ptr noundef @.str.5, i32 noundef %740, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 54, ptr noundef %743, ptr noundef %746, ptr noundef %749, i32 noundef %751) #11
  br label %753

753:                                              ; preds = %736, %719
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %754

754:                                              ; preds = %753
  br label %755

755:                                              ; preds = %754
  call void @exit(i32 noundef 1) #13
  unreachable

756:                                              ; No predecessors!
  br label %757

757:                                              ; preds = %756
  br label %758

758:                                              ; preds = %757, %699
  br label %759

759:                                              ; preds = %758
  br label %760

760:                                              ; preds = %759
  br label %761

761:                                              ; preds = %760
  %762 = load i32, ptr @test_count, align 4, !tbaa !5
  %763 = add nsw i32 %762, 1
  store i32 %763, ptr @test_count, align 4, !tbaa !5
  %764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror_debug(i32 noundef %765, ptr noundef @.str.4)
  %767 = icmp eq ptr %766, null
  br i1 %767, label %768, label %821

768:                                              ; preds = %761
  br label %769

769:                                              ; preds = %768
  br label %770

770:                                              ; preds = %769
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %771 = call ptr @__errno_location() #12
  %772 = load i32, ptr %771, align 4, !tbaa !5
  store i32 %772, ptr %25, align 4, !tbaa !5
  %773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %774 = call i32 @s2n_print_stacktrace(ptr noundef %773)
  %775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %776 = trunc i8 %775 to i1
  br i1 %776, label %777, label %799

777:                                              ; preds = %770
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @fileno(ptr noundef %778) #11
  %780 = call i32 @isatty(i32 noundef %779) #11
  %781 = icmp ne i32 %780, 0
  br i1 %781, label %782, label %799

782:                                              ; preds = %777
  %783 = load i32, ptr %25, align 4, !tbaa !5
  %784 = call ptr @__errno_location() #12
  store i32 %783, ptr %784, align 4, !tbaa !5
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = load i32, ptr @test_count, align 4, !tbaa !5
  %787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %788 = load i32, ptr %787, align 4, !tbaa !5
  %789 = call ptr @s2n_strerror(i32 noundef %788, ptr noundef @.str.4)
  %790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %791 = load i32, ptr %790, align 4, !tbaa !5
  %792 = call ptr @s2n_strerror_debug(i32 noundef %791, ptr noundef @.str.4)
  %793 = call ptr @__errno_location() #12
  %794 = load i32, ptr %793, align 4, !tbaa !5
  %795 = call ptr @strerror(i32 noundef %794) #11
  %796 = call ptr @__errno_location() #12
  %797 = load i32, ptr %796, align 4, !tbaa !5
  %798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %785, ptr noundef @.str.2, i32 noundef %786, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 54, ptr noundef %789, ptr noundef %792, ptr noundef %795, i32 noundef %797) #11
  br label %816

799:                                              ; preds = %777, %770
  %800 = load i32, ptr %25, align 4, !tbaa !5
  %801 = call ptr @__errno_location() #12
  store i32 %800, ptr %801, align 4, !tbaa !5
  %802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %803 = load i32, ptr @test_count, align 4, !tbaa !5
  %804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %805 = load i32, ptr %804, align 4, !tbaa !5
  %806 = call ptr @s2n_strerror(i32 noundef %805, ptr noundef @.str.4)
  %807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror_debug(i32 noundef %808, ptr noundef @.str.4)
  %810 = call ptr @__errno_location() #12
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @strerror(i32 noundef %811) #11
  %813 = call ptr @__errno_location() #12
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %802, ptr noundef @.str.5, i32 noundef %803, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 54, ptr noundef %806, ptr noundef %809, ptr noundef %812, i32 noundef %814) #11
  br label %816

816:                                              ; preds = %799, %782
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %817

817:                                              ; preds = %816
  br label %818

818:                                              ; preds = %817
  call void @exit(i32 noundef 1) #13
  unreachable

819:                                              ; No predecessors!
  br label %820

820:                                              ; preds = %819
  br label %821

821:                                              ; preds = %820, %761
  br label %822

822:                                              ; preds = %821
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823
  %825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %825, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %826 = call ptr @__errno_location() #12
  store i32 0, ptr %826, align 4, !tbaa !5
  br label %827

827:                                              ; preds = %824
  br label %828

828:                                              ; preds = %827
  br label %829

829:                                              ; preds = %828
  br label %830

830:                                              ; preds = %829
  br label %831

831:                                              ; preds = %830
  %832 = call i32 @s2n_hash_new(ptr noundef %13)
  %833 = icmp sgt i32 %832, -1
  br i1 %833, label %835, label %834

834:                                              ; preds = %831
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13333

835:                                              ; preds = %831
  br label %836

836:                                              ; preds = %835
  br label %837

837:                                              ; preds = %836
  br label %838

838:                                              ; preds = %837
  %839 = load i32, ptr @test_count, align 4, !tbaa !5
  %840 = add nsw i32 %839, 1
  store i32 %840, ptr @test_count, align 4, !tbaa !5
  %841 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %842 = icmp ne i32 %841, 0
  br i1 %842, label %843, label %896

843:                                              ; preds = %838
  br label %844

844:                                              ; preds = %843
  br label %845

845:                                              ; preds = %844
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  %846 = call ptr @__errno_location() #12
  %847 = load i32, ptr %846, align 4, !tbaa !5
  store i32 %847, ptr %26, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = call i32 @s2n_print_stacktrace(ptr noundef %848)
  %850 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %851 = trunc i8 %850 to i1
  br i1 %851, label %852, label %874

852:                                              ; preds = %845
  %853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %854 = call i32 @fileno(ptr noundef %853) #11
  %855 = call i32 @isatty(i32 noundef %854) #11
  %856 = icmp ne i32 %855, 0
  br i1 %856, label %857, label %874

857:                                              ; preds = %852
  %858 = load i32, ptr %26, align 4, !tbaa !5
  %859 = call ptr @__errno_location() #12
  store i32 %858, ptr %859, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = load i32, ptr @test_count, align 4, !tbaa !5
  %862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %863 = load i32, ptr %862, align 4, !tbaa !5
  %864 = call ptr @s2n_strerror(i32 noundef %863, ptr noundef @.str.4)
  %865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %866 = load i32, ptr %865, align 4, !tbaa !5
  %867 = call ptr @s2n_strerror_debug(i32 noundef %866, ptr noundef @.str.4)
  %868 = call ptr @__errno_location() #12
  %869 = load i32, ptr %868, align 4, !tbaa !5
  %870 = call ptr @strerror(i32 noundef %869) #11
  %871 = call ptr @__errno_location() #12
  %872 = load i32, ptr %871, align 4, !tbaa !5
  %873 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %860, ptr noundef @.str.2, i32 noundef %861, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 56, ptr noundef %864, ptr noundef %867, ptr noundef %870, i32 noundef %872) #11
  br label %891

874:                                              ; preds = %852, %845
  %875 = load i32, ptr %26, align 4, !tbaa !5
  %876 = call ptr @__errno_location() #12
  store i32 %875, ptr %876, align 4, !tbaa !5
  %877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %878 = load i32, ptr @test_count, align 4, !tbaa !5
  %879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call ptr @s2n_strerror(i32 noundef %880, ptr noundef @.str.4)
  %882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call ptr @s2n_strerror_debug(i32 noundef %883, ptr noundef @.str.4)
  %885 = call ptr @__errno_location() #12
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call ptr @strerror(i32 noundef %886) #11
  %888 = call ptr @__errno_location() #12
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %877, ptr noundef @.str.5, i32 noundef %878, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 56, ptr noundef %881, ptr noundef %884, ptr noundef %887, i32 noundef %889) #11
  br label %891

891:                                              ; preds = %874, %857
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  br label %892

892:                                              ; preds = %891
  br label %893

893:                                              ; preds = %892
  call void @exit(i32 noundef 1) #13
  unreachable

894:                                              ; No predecessors!
  br label %895

895:                                              ; preds = %894
  br label %896

896:                                              ; preds = %895, %838
  br label %897

897:                                              ; preds = %896
  br label %898

898:                                              ; preds = %897
  br label %899

899:                                              ; preds = %898
  br label %900

900:                                              ; preds = %899
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = add nsw i32 %901, 1
  store i32 %902, ptr @test_count, align 4, !tbaa !5
  %903 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %904 = icmp eq i32 %903, -1
  br i1 %904, label %958, label %905

905:                                              ; preds = %900
  br label %906

906:                                              ; preds = %905
  br label %907

907:                                              ; preds = %906
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %908 = call ptr @__errno_location() #12
  %909 = load i32, ptr %908, align 4, !tbaa !5
  store i32 %909, ptr %27, align 4, !tbaa !5
  %910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %911 = call i32 @s2n_print_stacktrace(ptr noundef %910)
  %912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %913 = trunc i8 %912 to i1
  br i1 %913, label %914, label %936

914:                                              ; preds = %907
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = call i32 @fileno(ptr noundef %915) #11
  %917 = call i32 @isatty(i32 noundef %916) #11
  %918 = icmp ne i32 %917, 0
  br i1 %918, label %919, label %936

919:                                              ; preds = %914
  %920 = load i32, ptr %27, align 4, !tbaa !5
  %921 = call ptr @__errno_location() #12
  store i32 %920, ptr %921, align 4, !tbaa !5
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = load i32, ptr @test_count, align 4, !tbaa !5
  %924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %925 = load i32, ptr %924, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror(i32 noundef %925, ptr noundef @.str.4)
  %927 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %928 = load i32, ptr %927, align 4, !tbaa !5
  %929 = call ptr @s2n_strerror_debug(i32 noundef %928, ptr noundef @.str.4)
  %930 = call ptr @__errno_location() #12
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call ptr @strerror(i32 noundef %931) #11
  %933 = call ptr @__errno_location() #12
  %934 = load i32, ptr %933, align 4, !tbaa !5
  %935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %922, ptr noundef @.str.2, i32 noundef %923, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 57, ptr noundef %926, ptr noundef %929, ptr noundef %932, i32 noundef %934) #11
  br label %953

936:                                              ; preds = %914, %907
  %937 = load i32, ptr %27, align 4, !tbaa !5
  %938 = call ptr @__errno_location() #12
  store i32 %937, ptr %938, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %942 = load i32, ptr %941, align 4, !tbaa !5
  %943 = call ptr @s2n_strerror(i32 noundef %942, ptr noundef @.str.4)
  %944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %945 = load i32, ptr %944, align 4, !tbaa !5
  %946 = call ptr @s2n_strerror_debug(i32 noundef %945, ptr noundef @.str.4)
  %947 = call ptr @__errno_location() #12
  %948 = load i32, ptr %947, align 4, !tbaa !5
  %949 = call ptr @strerror(i32 noundef %948) #11
  %950 = call ptr @__errno_location() #12
  %951 = load i32, ptr %950, align 4, !tbaa !5
  %952 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %939, ptr noundef @.str.5, i32 noundef %940, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 57, ptr noundef %943, ptr noundef %946, ptr noundef %949, i32 noundef %951) #11
  br label %953

953:                                              ; preds = %936, %919
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %954

954:                                              ; preds = %953
  br label %955

955:                                              ; preds = %954
  call void @exit(i32 noundef 1) #13
  unreachable

956:                                              ; No predecessors!
  br label %957

957:                                              ; preds = %956
  br label %958

958:                                              ; preds = %957, %900
  br label %959

959:                                              ; preds = %958
  br label %960

960:                                              ; preds = %959
  br label %961

961:                                              ; preds = %960
  %962 = load i32, ptr @test_count, align 4, !tbaa !5
  %963 = add nsw i32 %962, 1
  store i32 %963, ptr @test_count, align 4, !tbaa !5
  %964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = icmp eq i32 %965, 0
  br i1 %966, label %967, label %1020

967:                                              ; preds = %961
  br label %968

968:                                              ; preds = %967
  br label %969

969:                                              ; preds = %968
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %970 = call ptr @__errno_location() #12
  %971 = load i32, ptr %970, align 4, !tbaa !5
  store i32 %971, ptr %28, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972)
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %975 = trunc i8 %974 to i1
  br i1 %975, label %976, label %998

976:                                              ; preds = %969
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @fileno(ptr noundef %977) #11
  %979 = call i32 @isatty(i32 noundef %978) #11
  %980 = icmp ne i32 %979, 0
  br i1 %980, label %981, label %998

981:                                              ; preds = %976
  %982 = load i32, ptr %28, align 4, !tbaa !5
  %983 = call ptr @__errno_location() #12
  store i32 %982, ptr %983, align 4, !tbaa !5
  %984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %987 = load i32, ptr %986, align 4, !tbaa !5
  %988 = call ptr @s2n_strerror(i32 noundef %987, ptr noundef @.str.4)
  %989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %990 = load i32, ptr %989, align 4, !tbaa !5
  %991 = call ptr @s2n_strerror_debug(i32 noundef %990, ptr noundef @.str.4)
  %992 = call ptr @__errno_location() #12
  %993 = load i32, ptr %992, align 4, !tbaa !5
  %994 = call ptr @strerror(i32 noundef %993) #11
  %995 = call ptr @__errno_location() #12
  %996 = load i32, ptr %995, align 4, !tbaa !5
  %997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %984, ptr noundef @.str.2, i32 noundef %985, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 57, ptr noundef %988, ptr noundef %991, ptr noundef %994, i32 noundef %996) #11
  br label %1015

998:                                              ; preds = %976, %969
  %999 = load i32, ptr %28, align 4, !tbaa !5
  %1000 = call ptr @__errno_location() #12
  store i32 %999, ptr %1000, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = load i32, ptr @test_count, align 4, !tbaa !5
  %1003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = call ptr @s2n_strerror(i32 noundef %1004, ptr noundef @.str.4)
  %1006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1007 = load i32, ptr %1006, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef @.str.4)
  %1009 = call ptr @__errno_location() #12
  %1010 = load i32, ptr %1009, align 4, !tbaa !5
  %1011 = call ptr @strerror(i32 noundef %1010) #11
  %1012 = call ptr @__errno_location() #12
  %1013 = load i32, ptr %1012, align 4, !tbaa !5
  %1014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1001, ptr noundef @.str.5, i32 noundef %1002, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 57, ptr noundef %1005, ptr noundef %1008, ptr noundef %1011, i32 noundef %1013) #11
  br label %1015

1015:                                             ; preds = %998, %981
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1016

1016:                                             ; preds = %1015
  br label %1017

1017:                                             ; preds = %1016
  call void @exit(i32 noundef 1) #13
  unreachable

1018:                                             ; No predecessors!
  br label %1019

1019:                                             ; preds = %1018
  br label %1020

1020:                                             ; preds = %1019, %961
  br label %1021

1021:                                             ; preds = %1020
  br label %1022

1022:                                             ; preds = %1021
  br label %1023

1023:                                             ; preds = %1022
  %1024 = load i32, ptr @test_count, align 4, !tbaa !5
  %1025 = add nsw i32 %1024, 1
  store i32 %1025, ptr @test_count, align 4, !tbaa !5
  %1026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror_debug(i32 noundef %1027, ptr noundef @.str.4)
  %1029 = icmp eq ptr %1028, null
  br i1 %1029, label %1030, label %1083

1030:                                             ; preds = %1023
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

1032:                                             ; preds = %1031
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1033 = call ptr @__errno_location() #12
  %1034 = load i32, ptr %1033, align 4, !tbaa !5
  store i32 %1034, ptr %29, align 4, !tbaa !5
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @s2n_print_stacktrace(ptr noundef %1035)
  %1037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1038 = trunc i8 %1037 to i1
  br i1 %1038, label %1039, label %1061

1039:                                             ; preds = %1032
  %1040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1041 = call i32 @fileno(ptr noundef %1040) #11
  %1042 = call i32 @isatty(i32 noundef %1041) #11
  %1043 = icmp ne i32 %1042, 0
  br i1 %1043, label %1044, label %1061

1044:                                             ; preds = %1039
  %1045 = load i32, ptr %29, align 4, !tbaa !5
  %1046 = call ptr @__errno_location() #12
  store i32 %1045, ptr %1046, align 4, !tbaa !5
  %1047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1048 = load i32, ptr @test_count, align 4, !tbaa !5
  %1049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  %1051 = call ptr @s2n_strerror(i32 noundef %1050, ptr noundef @.str.4)
  %1052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1053 = load i32, ptr %1052, align 4, !tbaa !5
  %1054 = call ptr @s2n_strerror_debug(i32 noundef %1053, ptr noundef @.str.4)
  %1055 = call ptr @__errno_location() #12
  %1056 = load i32, ptr %1055, align 4, !tbaa !5
  %1057 = call ptr @strerror(i32 noundef %1056) #11
  %1058 = call ptr @__errno_location() #12
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1047, ptr noundef @.str.2, i32 noundef %1048, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 57, ptr noundef %1051, ptr noundef %1054, ptr noundef %1057, i32 noundef %1059) #11
  br label %1078

1061:                                             ; preds = %1039, %1032
  %1062 = load i32, ptr %29, align 4, !tbaa !5
  %1063 = call ptr @__errno_location() #12
  store i32 %1062, ptr %1063, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = load i32, ptr @test_count, align 4, !tbaa !5
  %1066 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1067 = load i32, ptr %1066, align 4, !tbaa !5
  %1068 = call ptr @s2n_strerror(i32 noundef %1067, ptr noundef @.str.4)
  %1069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1070 = load i32, ptr %1069, align 4, !tbaa !5
  %1071 = call ptr @s2n_strerror_debug(i32 noundef %1070, ptr noundef @.str.4)
  %1072 = call ptr @__errno_location() #12
  %1073 = load i32, ptr %1072, align 4, !tbaa !5
  %1074 = call ptr @strerror(i32 noundef %1073) #11
  %1075 = call ptr @__errno_location() #12
  %1076 = load i32, ptr %1075, align 4, !tbaa !5
  %1077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1064, ptr noundef @.str.5, i32 noundef %1065, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 57, ptr noundef %1068, ptr noundef %1071, ptr noundef %1074, i32 noundef %1076) #11
  br label %1078

1078:                                             ; preds = %1061, %1044
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1079

1079:                                             ; preds = %1078
  br label %1080

1080:                                             ; preds = %1079
  call void @exit(i32 noundef 1) #13
  unreachable

1081:                                             ; No predecessors!
  br label %1082

1082:                                             ; preds = %1081
  br label %1083

1083:                                             ; preds = %1082, %1023
  br label %1084

1084:                                             ; preds = %1083
  br label %1085

1085:                                             ; preds = %1084
  br label %1086

1086:                                             ; preds = %1085
  %1087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1087, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1088 = call ptr @__errno_location() #12
  store i32 0, ptr %1088, align 4, !tbaa !5
  br label %1089

1089:                                             ; preds = %1086
  br label %1090

1090:                                             ; preds = %1089
  br label %1091

1091:                                             ; preds = %1090
  br label %1092

1092:                                             ; preds = %1091
  %1093 = call zeroext i1 @s2n_hash_is_available(i32 noundef 1)
  br i1 %1093, label %1094, label %2366

1094:                                             ; preds = %1092
  call void @llvm.lifetime.start.p0(i64 1, ptr %30) #11
  store i8 0, ptr %30, align 1, !tbaa !17
  br label %1095

1095:                                             ; preds = %1094
  %1096 = call i32 @s2n_hash_digest_size(i32 noundef 1, ptr noundef %30)
  %1097 = icmp sgt i32 %1096, -1
  br i1 %1097, label %1099, label %1098

1098:                                             ; preds = %1095
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %2363

1099:                                             ; preds = %1095
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  br label %1102

1102:                                             ; preds = %1101
  %1103 = load i32, ptr @test_count, align 4, !tbaa !5
  %1104 = add nsw i32 %1103, 1
  store i32 %1104, ptr @test_count, align 4, !tbaa !5
  %1105 = load i8, ptr %30, align 1, !tbaa !17
  %1106 = zext i8 %1105 to i32
  %1107 = icmp eq i32 %1106, 16
  br i1 %1107, label %1161, label %1108

1108:                                             ; preds = %1102
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

1110:                                             ; preds = %1109
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1111 = call ptr @__errno_location() #12
  %1112 = load i32, ptr %1111, align 4, !tbaa !5
  store i32 %1112, ptr %31, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = call i32 @s2n_print_stacktrace(ptr noundef %1113)
  %1115 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1116 = trunc i8 %1115 to i1
  br i1 %1116, label %1117, label %1139

1117:                                             ; preds = %1110
  %1118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1119 = call i32 @fileno(ptr noundef %1118) #11
  %1120 = call i32 @isatty(i32 noundef %1119) #11
  %1121 = icmp ne i32 %1120, 0
  br i1 %1121, label %1122, label %1139

1122:                                             ; preds = %1117
  %1123 = load i32, ptr %31, align 4, !tbaa !5
  %1124 = call ptr @__errno_location() #12
  store i32 %1123, ptr %1124, align 4, !tbaa !5
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1126 = load i32, ptr @test_count, align 4, !tbaa !5
  %1127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1128 = load i32, ptr %1127, align 4, !tbaa !5
  %1129 = call ptr @s2n_strerror(i32 noundef %1128, ptr noundef @.str.4)
  %1130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call ptr @s2n_strerror_debug(i32 noundef %1131, ptr noundef @.str.4)
  %1133 = call ptr @__errno_location() #12
  %1134 = load i32, ptr %1133, align 4, !tbaa !5
  %1135 = call ptr @strerror(i32 noundef %1134) #11
  %1136 = call ptr @__errno_location() #12
  %1137 = load i32, ptr %1136, align 4, !tbaa !5
  %1138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1125, ptr noundef @.str.2, i32 noundef %1126, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1129, ptr noundef %1132, ptr noundef %1135, i32 noundef %1137) #11
  br label %1156

1139:                                             ; preds = %1117, %1110
  %1140 = load i32, ptr %31, align 4, !tbaa !5
  %1141 = call ptr @__errno_location() #12
  store i32 %1140, ptr %1141, align 4, !tbaa !5
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1143 = load i32, ptr @test_count, align 4, !tbaa !5
  %1144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror(i32 noundef %1145, ptr noundef @.str.4)
  %1147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1148 = load i32, ptr %1147, align 4, !tbaa !5
  %1149 = call ptr @s2n_strerror_debug(i32 noundef %1148, ptr noundef @.str.4)
  %1150 = call ptr @__errno_location() #12
  %1151 = load i32, ptr %1150, align 4, !tbaa !5
  %1152 = call ptr @strerror(i32 noundef %1151) #11
  %1153 = call ptr @__errno_location() #12
  %1154 = load i32, ptr %1153, align 4, !tbaa !5
  %1155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1142, ptr noundef @.str.5, i32 noundef %1143, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1146, ptr noundef %1149, ptr noundef %1152, i32 noundef %1154) #11
  br label %1156

1156:                                             ; preds = %1139, %1122
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1157

1157:                                             ; preds = %1156
  br label %1158

1158:                                             ; preds = %1157
  call void @exit(i32 noundef 1) #13
  unreachable

1159:                                             ; No predecessors!
  br label %1160

1160:                                             ; preds = %1159
  br label %1161

1161:                                             ; preds = %1160, %1102
  br label %1162

1162:                                             ; preds = %1161
  br label %1163

1163:                                             ; preds = %1162
  br label %1164

1164:                                             ; preds = %1163
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = add nsw i32 %1165, 1
  store i32 %1166, ptr @test_count, align 4, !tbaa !5
  %1167 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 1)
  %1168 = icmp eq i32 %1167, -1
  br i1 %1168, label %1169, label %1222

1169:                                             ; preds = %1164
  br label %1170

1170:                                             ; preds = %1169
  br label %1171

1171:                                             ; preds = %1170
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1172 = call ptr @__errno_location() #12
  %1173 = load i32, ptr %1172, align 4, !tbaa !5
  store i32 %1173, ptr %32, align 4, !tbaa !5
  %1174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1175 = call i32 @s2n_print_stacktrace(ptr noundef %1174)
  %1176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1177 = trunc i8 %1176 to i1
  br i1 %1177, label %1178, label %1200

1178:                                             ; preds = %1171
  %1179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1180 = call i32 @fileno(ptr noundef %1179) #11
  %1181 = call i32 @isatty(i32 noundef %1180) #11
  %1182 = icmp ne i32 %1181, 0
  br i1 %1182, label %1183, label %1200

1183:                                             ; preds = %1178
  %1184 = load i32, ptr %32, align 4, !tbaa !5
  %1185 = call ptr @__errno_location() #12
  store i32 %1184, ptr %1185, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef @.str.4)
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef @.str.4)
  %1194 = call ptr @__errno_location() #12
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @strerror(i32 noundef %1195) #11
  %1197 = call ptr @__errno_location() #12
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef @.str.2, i32 noundef %1187, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1190, ptr noundef %1193, ptr noundef %1196, i32 noundef %1198) #11
  br label %1217

1200:                                             ; preds = %1178, %1171
  %1201 = load i32, ptr %32, align 4, !tbaa !5
  %1202 = call ptr @__errno_location() #12
  store i32 %1201, ptr %1202, align 4, !tbaa !5
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1206, ptr noundef @.str.4)
  %1208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call ptr @s2n_strerror_debug(i32 noundef %1209, ptr noundef @.str.4)
  %1211 = call ptr @__errno_location() #12
  %1212 = load i32, ptr %1211, align 4, !tbaa !5
  %1213 = call ptr @strerror(i32 noundef %1212) #11
  %1214 = call ptr @__errno_location() #12
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  %1216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1203, ptr noundef @.str.5, i32 noundef %1204, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1207, ptr noundef %1210, ptr noundef %1213, i32 noundef %1215) #11
  br label %1217

1217:                                             ; preds = %1200, %1183
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218
  call void @exit(i32 noundef 1) #13
  unreachable

1220:                                             ; No predecessors!
  br label %1221

1221:                                             ; preds = %1220
  br label %1222

1222:                                             ; preds = %1221, %1164
  br label %1223

1223:                                             ; preds = %1222
  br label %1224

1224:                                             ; preds = %1223
  br label %1225

1225:                                             ; preds = %1224
  %1226 = load i32, ptr @test_count, align 4, !tbaa !5
  %1227 = add nsw i32 %1226, 1
  store i32 %1227, ptr @test_count, align 4, !tbaa !5
  %1228 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %1229 = icmp ne i32 %1228, 0
  br i1 %1229, label %1283, label %1230

1230:                                             ; preds = %1225
  br label %1231

1231:                                             ; preds = %1230
  br label %1232

1232:                                             ; preds = %1231
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1233 = call ptr @__errno_location() #12
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  store i32 %1234, ptr %33, align 4, !tbaa !5
  %1235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1236 = call i32 @s2n_print_stacktrace(ptr noundef %1235)
  %1237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1238 = trunc i8 %1237 to i1
  br i1 %1238, label %1239, label %1261

1239:                                             ; preds = %1232
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = call i32 @fileno(ptr noundef %1240) #11
  %1242 = call i32 @isatty(i32 noundef %1241) #11
  %1243 = icmp ne i32 %1242, 0
  br i1 %1243, label %1244, label %1261

1244:                                             ; preds = %1239
  %1245 = load i32, ptr %33, align 4, !tbaa !5
  %1246 = call ptr @__errno_location() #12
  store i32 %1245, ptr %1246, align 4, !tbaa !5
  %1247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1248 = load i32, ptr @test_count, align 4, !tbaa !5
  %1249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1250 = load i32, ptr %1249, align 4, !tbaa !5
  %1251 = call ptr @s2n_strerror(i32 noundef %1250, ptr noundef @.str.4)
  %1252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = call ptr @s2n_strerror_debug(i32 noundef %1253, ptr noundef @.str.4)
  %1255 = call ptr @__errno_location() #12
  %1256 = load i32, ptr %1255, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #11
  %1258 = call ptr @__errno_location() #12
  %1259 = load i32, ptr %1258, align 4, !tbaa !5
  %1260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1247, ptr noundef @.str.2, i32 noundef %1248, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 65, ptr noundef %1251, ptr noundef %1254, ptr noundef %1257, i32 noundef %1259) #11
  br label %1278

1261:                                             ; preds = %1239, %1232
  %1262 = load i32, ptr %33, align 4, !tbaa !5
  %1263 = call ptr @__errno_location() #12
  store i32 %1262, ptr %1263, align 4, !tbaa !5
  %1264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1265 = load i32, ptr @test_count, align 4, !tbaa !5
  %1266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1267 = load i32, ptr %1266, align 4, !tbaa !5
  %1268 = call ptr @s2n_strerror(i32 noundef %1267, ptr noundef @.str.4)
  %1269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1270 = load i32, ptr %1269, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror_debug(i32 noundef %1270, ptr noundef @.str.4)
  %1272 = call ptr @__errno_location() #12
  %1273 = load i32, ptr %1272, align 4, !tbaa !5
  %1274 = call ptr @strerror(i32 noundef %1273) #11
  %1275 = call ptr @__errno_location() #12
  %1276 = load i32, ptr %1275, align 4, !tbaa !5
  %1277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1264, ptr noundef @.str.5, i32 noundef %1265, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 65, ptr noundef %1268, ptr noundef %1271, ptr noundef %1274, i32 noundef %1276) #11
  br label %1278

1278:                                             ; preds = %1261, %1244
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1279

1279:                                             ; preds = %1278
  br label %1280

1280:                                             ; preds = %1279
  call void @exit(i32 noundef 1) #13
  unreachable

1281:                                             ; No predecessors!
  br label %1282

1282:                                             ; preds = %1281
  br label %1283

1283:                                             ; preds = %1282, %1225
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284
  br label %1286

1286:                                             ; preds = %1285
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = add nsw i32 %1287, 1
  store i32 %1288, ptr @test_count, align 4, !tbaa !5
  %1289 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %1290 = icmp eq i32 %1289, -1
  br i1 %1290, label %1291, label %1344

1291:                                             ; preds = %1286
  br label %1292

1292:                                             ; preds = %1291
  br label %1293

1293:                                             ; preds = %1292
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1294 = call ptr @__errno_location() #12
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  store i32 %1295, ptr %34, align 4, !tbaa !5
  %1296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1297 = call i32 @s2n_print_stacktrace(ptr noundef %1296)
  %1298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1299 = trunc i8 %1298 to i1
  br i1 %1299, label %1300, label %1322

1300:                                             ; preds = %1293
  %1301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1302 = call i32 @fileno(ptr noundef %1301) #11
  %1303 = call i32 @isatty(i32 noundef %1302) #11
  %1304 = icmp ne i32 %1303, 0
  br i1 %1304, label %1305, label %1322

1305:                                             ; preds = %1300
  %1306 = load i32, ptr %34, align 4, !tbaa !5
  %1307 = call ptr @__errno_location() #12
  store i32 %1306, ptr %1307, align 4, !tbaa !5
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1311 = load i32, ptr %1310, align 4, !tbaa !5
  %1312 = call ptr @s2n_strerror(i32 noundef %1311, ptr noundef @.str.4)
  %1313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1314 = load i32, ptr %1313, align 4, !tbaa !5
  %1315 = call ptr @s2n_strerror_debug(i32 noundef %1314, ptr noundef @.str.4)
  %1316 = call ptr @__errno_location() #12
  %1317 = load i32, ptr %1316, align 4, !tbaa !5
  %1318 = call ptr @strerror(i32 noundef %1317) #11
  %1319 = call ptr @__errno_location() #12
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1308, ptr noundef @.str.2, i32 noundef %1309, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1312, ptr noundef %1315, ptr noundef %1318, i32 noundef %1320) #11
  br label %1339

1322:                                             ; preds = %1300, %1293
  %1323 = load i32, ptr %34, align 4, !tbaa !5
  %1324 = call ptr @__errno_location() #12
  store i32 %1323, ptr %1324, align 4, !tbaa !5
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = load i32, ptr @test_count, align 4, !tbaa !5
  %1327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1328 = load i32, ptr %1327, align 4, !tbaa !5
  %1329 = call ptr @s2n_strerror(i32 noundef %1328, ptr noundef @.str.4)
  %1330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1331 = load i32, ptr %1330, align 4, !tbaa !5
  %1332 = call ptr @s2n_strerror_debug(i32 noundef %1331, ptr noundef @.str.4)
  %1333 = call ptr @__errno_location() #12
  %1334 = load i32, ptr %1333, align 4, !tbaa !5
  %1335 = call ptr @strerror(i32 noundef %1334) #11
  %1336 = call ptr @__errno_location() #12
  %1337 = load i32, ptr %1336, align 4, !tbaa !5
  %1338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1325, ptr noundef @.str.5, i32 noundef %1326, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1329, ptr noundef %1332, ptr noundef %1335, i32 noundef %1337) #11
  br label %1339

1339:                                             ; preds = %1322, %1305
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1340

1340:                                             ; preds = %1339
  br label %1341

1341:                                             ; preds = %1340
  call void @exit(i32 noundef 1) #13
  unreachable

1342:                                             ; No predecessors!
  br label %1343

1343:                                             ; preds = %1342
  br label %1344

1344:                                             ; preds = %1343, %1286
  br label %1345

1345:                                             ; preds = %1344
  br label %1346

1346:                                             ; preds = %1345
  br label %1347

1347:                                             ; preds = %1346
  %1348 = load i32, ptr @test_count, align 4, !tbaa !5
  %1349 = add nsw i32 %1348, 1
  store i32 %1349, ptr @test_count, align 4, !tbaa !5
  %1350 = load i64, ptr %16, align 8, !tbaa !11
  %1351 = icmp eq i64 %1350, 0
  br i1 %1351, label %1405, label %1352

1352:                                             ; preds = %1347
  br label %1353

1353:                                             ; preds = %1352
  br label %1354

1354:                                             ; preds = %1353
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #11
  %1355 = call ptr @__errno_location() #12
  %1356 = load i32, ptr %1355, align 4, !tbaa !5
  store i32 %1356, ptr %35, align 4, !tbaa !5
  %1357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1358 = call i32 @s2n_print_stacktrace(ptr noundef %1357)
  %1359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1360 = trunc i8 %1359 to i1
  br i1 %1360, label %1361, label %1383

1361:                                             ; preds = %1354
  %1362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1363 = call i32 @fileno(ptr noundef %1362) #11
  %1364 = call i32 @isatty(i32 noundef %1363) #11
  %1365 = icmp ne i32 %1364, 0
  br i1 %1365, label %1366, label %1383

1366:                                             ; preds = %1361
  %1367 = load i32, ptr %35, align 4, !tbaa !5
  %1368 = call ptr @__errno_location() #12
  store i32 %1367, ptr %1368, align 4, !tbaa !5
  %1369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = call ptr @s2n_strerror(i32 noundef %1372, ptr noundef @.str.4)
  %1374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef @.str.4)
  %1377 = call ptr @__errno_location() #12
  %1378 = load i32, ptr %1377, align 4, !tbaa !5
  %1379 = call ptr @strerror(i32 noundef %1378) #11
  %1380 = call ptr @__errno_location() #12
  %1381 = load i32, ptr %1380, align 4, !tbaa !5
  %1382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1369, ptr noundef @.str.2, i32 noundef %1370, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1373, ptr noundef %1376, ptr noundef %1379, i32 noundef %1381) #11
  br label %1400

1383:                                             ; preds = %1361, %1354
  %1384 = load i32, ptr %35, align 4, !tbaa !5
  %1385 = call ptr @__errno_location() #12
  store i32 %1384, ptr %1385, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = load i32, ptr @test_count, align 4, !tbaa !5
  %1388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call ptr @s2n_strerror(i32 noundef %1389, ptr noundef @.str.4)
  %1391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror_debug(i32 noundef %1392, ptr noundef @.str.4)
  %1394 = call ptr @__errno_location() #12
  %1395 = load i32, ptr %1394, align 4, !tbaa !5
  %1396 = call ptr @strerror(i32 noundef %1395) #11
  %1397 = call ptr @__errno_location() #12
  %1398 = load i32, ptr %1397, align 4, !tbaa !5
  %1399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1386, ptr noundef @.str.5, i32 noundef %1387, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 67, ptr noundef %1390, ptr noundef %1393, ptr noundef %1396, i32 noundef %1398) #11
  br label %1400

1400:                                             ; preds = %1383, %1366
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %1401

1401:                                             ; preds = %1400
  br label %1402

1402:                                             ; preds = %1401
  call void @exit(i32 noundef 1) #13
  unreachable

1403:                                             ; No predecessors!
  br label %1404

1404:                                             ; preds = %1403
  br label %1405

1405:                                             ; preds = %1404, %1347
  br label %1406

1406:                                             ; preds = %1405
  br label %1407

1407:                                             ; preds = %1406
  br label %1408

1408:                                             ; preds = %1407
  %1409 = load i32, ptr @test_count, align 4, !tbaa !5
  %1410 = add nsw i32 %1409, 1
  store i32 %1410, ptr @test_count, align 4, !tbaa !5
  %1411 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %1412 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %1413 = call i64 @strlen(ptr noundef %1412) #14
  %1414 = trunc i64 %1413 to i32
  %1415 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %1411, i32 noundef %1414)
  %1416 = icmp eq i32 %1415, -1
  br i1 %1416, label %1417, label %1470

1417:                                             ; preds = %1408
  br label %1418

1418:                                             ; preds = %1417
  br label %1419

1419:                                             ; preds = %1418
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1420 = call ptr @__errno_location() #12
  %1421 = load i32, ptr %1420, align 4, !tbaa !5
  store i32 %1421, ptr %36, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = call i32 @s2n_print_stacktrace(ptr noundef %1422)
  %1424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1425 = trunc i8 %1424 to i1
  br i1 %1425, label %1426, label %1448

1426:                                             ; preds = %1419
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = call i32 @fileno(ptr noundef %1427) #11
  %1429 = call i32 @isatty(i32 noundef %1428) #11
  %1430 = icmp ne i32 %1429, 0
  br i1 %1430, label %1431, label %1448

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

1448:                                             ; preds = %1426, %1419
  %1449 = load i32, ptr %36, align 4, !tbaa !5
  %1450 = call ptr @__errno_location() #12
  store i32 %1449, ptr %1450, align 4, !tbaa !5
  %1451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1452 = load i32, ptr @test_count, align 4, !tbaa !5
  %1453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1454 = load i32, ptr %1453, align 4, !tbaa !5
  %1455 = call ptr @s2n_strerror(i32 noundef %1454, ptr noundef @.str.4)
  %1456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = call ptr @s2n_strerror_debug(i32 noundef %1457, ptr noundef @.str.4)
  %1459 = call ptr @__errno_location() #12
  %1460 = load i32, ptr %1459, align 4, !tbaa !5
  %1461 = call ptr @strerror(i32 noundef %1460) #11
  %1462 = call ptr @__errno_location() #12
  %1463 = load i32, ptr %1462, align 4, !tbaa !5
  %1464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1451, ptr noundef @.str.5, i32 noundef %1452, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 69, ptr noundef %1455, ptr noundef %1458, ptr noundef %1461, i32 noundef %1463) #11
  br label %1465

1465:                                             ; preds = %1448, %1431
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1466

1466:                                             ; preds = %1465
  br label %1467

1467:                                             ; preds = %1466
  call void @exit(i32 noundef 1) #13
  unreachable

1468:                                             ; No predecessors!
  br label %1469

1469:                                             ; preds = %1468
  br label %1470

1470:                                             ; preds = %1469, %1408
  br label %1471

1471:                                             ; preds = %1470
  br label %1472

1472:                                             ; preds = %1471
  br label %1473

1473:                                             ; preds = %1472
  %1474 = load i32, ptr @test_count, align 4, !tbaa !5
  %1475 = add nsw i32 %1474, 1
  store i32 %1475, ptr @test_count, align 4, !tbaa !5
  %1476 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %1477 = icmp ne i32 %1476, 0
  br i1 %1477, label %1531, label %1478

1478:                                             ; preds = %1473
  br label %1479

1479:                                             ; preds = %1478
  br label %1480

1480:                                             ; preds = %1479
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1481 = call ptr @__errno_location() #12
  %1482 = load i32, ptr %1481, align 4, !tbaa !5
  store i32 %1482, ptr %37, align 4, !tbaa !5
  %1483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1484 = call i32 @s2n_print_stacktrace(ptr noundef %1483)
  %1485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1486 = trunc i8 %1485 to i1
  br i1 %1486, label %1487, label %1509

1487:                                             ; preds = %1480
  %1488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1489 = call i32 @fileno(ptr noundef %1488) #11
  %1490 = call i32 @isatty(i32 noundef %1489) #11
  %1491 = icmp ne i32 %1490, 0
  br i1 %1491, label %1492, label %1509

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

1509:                                             ; preds = %1487, %1480
  %1510 = load i32, ptr %37, align 4, !tbaa !5
  %1511 = call ptr @__errno_location() #12
  store i32 %1510, ptr %1511, align 4, !tbaa !5
  %1512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1513 = load i32, ptr @test_count, align 4, !tbaa !5
  %1514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1515 = load i32, ptr %1514, align 4, !tbaa !5
  %1516 = call ptr @s2n_strerror(i32 noundef %1515, ptr noundef @.str.4)
  %1517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1518 = load i32, ptr %1517, align 4, !tbaa !5
  %1519 = call ptr @s2n_strerror_debug(i32 noundef %1518, ptr noundef @.str.4)
  %1520 = call ptr @__errno_location() #12
  %1521 = load i32, ptr %1520, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #11
  %1523 = call ptr @__errno_location() #12
  %1524 = load i32, ptr %1523, align 4, !tbaa !5
  %1525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1512, ptr noundef @.str.5, i32 noundef %1513, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 70, ptr noundef %1516, ptr noundef %1519, ptr noundef %1522, i32 noundef %1524) #11
  br label %1526

1526:                                             ; preds = %1509, %1492
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1527

1527:                                             ; preds = %1526
  br label %1528

1528:                                             ; preds = %1527
  call void @exit(i32 noundef 1) #13
  unreachable

1529:                                             ; No predecessors!
  br label %1530

1530:                                             ; preds = %1529
  br label %1531

1531:                                             ; preds = %1530, %1473
  br label %1532

1532:                                             ; preds = %1531
  br label %1533

1533:                                             ; preds = %1532
  br label %1534

1534:                                             ; preds = %1533
  %1535 = load i32, ptr @test_count, align 4, !tbaa !5
  %1536 = add nsw i32 %1535, 1
  store i32 %1536, ptr @test_count, align 4, !tbaa !5
  %1537 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %1538 = icmp eq i32 %1537, -1
  br i1 %1538, label %1539, label %1592

1539:                                             ; preds = %1534
  br label %1540

1540:                                             ; preds = %1539
  br label %1541

1541:                                             ; preds = %1540
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1542 = call ptr @__errno_location() #12
  %1543 = load i32, ptr %1542, align 4, !tbaa !5
  store i32 %1543, ptr %38, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = call i32 @s2n_print_stacktrace(ptr noundef %1544)
  %1546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1547 = trunc i8 %1546 to i1
  br i1 %1547, label %1548, label %1570

1548:                                             ; preds = %1541
  %1549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1550 = call i32 @fileno(ptr noundef %1549) #11
  %1551 = call i32 @isatty(i32 noundef %1550) #11
  %1552 = icmp ne i32 %1551, 0
  br i1 %1552, label %1553, label %1570

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

1570:                                             ; preds = %1548, %1541
  %1571 = load i32, ptr %38, align 4, !tbaa !5
  %1572 = call ptr @__errno_location() #12
  store i32 %1571, ptr %1572, align 4, !tbaa !5
  %1573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1574 = load i32, ptr @test_count, align 4, !tbaa !5
  %1575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1576 = load i32, ptr %1575, align 4, !tbaa !5
  %1577 = call ptr @s2n_strerror(i32 noundef %1576, ptr noundef @.str.4)
  %1578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1579 = load i32, ptr %1578, align 4, !tbaa !5
  %1580 = call ptr @s2n_strerror_debug(i32 noundef %1579, ptr noundef @.str.4)
  %1581 = call ptr @__errno_location() #12
  %1582 = load i32, ptr %1581, align 4, !tbaa !5
  %1583 = call ptr @strerror(i32 noundef %1582) #11
  %1584 = call ptr @__errno_location() #12
  %1585 = load i32, ptr %1584, align 4, !tbaa !5
  %1586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1573, ptr noundef @.str.5, i32 noundef %1574, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 71, ptr noundef %1577, ptr noundef %1580, ptr noundef %1583, i32 noundef %1585) #11
  br label %1587

1587:                                             ; preds = %1570, %1553
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1588

1588:                                             ; preds = %1587
  br label %1589

1589:                                             ; preds = %1588
  call void @exit(i32 noundef 1) #13
  unreachable

1590:                                             ; No predecessors!
  br label %1591

1591:                                             ; preds = %1590
  br label %1592

1592:                                             ; preds = %1591, %1534
  br label %1593

1593:                                             ; preds = %1592
  br label %1594

1594:                                             ; preds = %1593
  br label %1595

1595:                                             ; preds = %1594
  %1596 = load i32, ptr @test_count, align 4, !tbaa !5
  %1597 = add nsw i32 %1596, 1
  store i32 %1597, ptr @test_count, align 4, !tbaa !5
  %1598 = load i64, ptr %16, align 8, !tbaa !11
  %1599 = icmp eq i64 %1598, 13
  br i1 %1599, label %1653, label %1600

1600:                                             ; preds = %1595
  br label %1601

1601:                                             ; preds = %1600
  br label %1602

1602:                                             ; preds = %1601
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %1603 = call ptr @__errno_location() #12
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  store i32 %1604, ptr %39, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @s2n_print_stacktrace(ptr noundef %1605)
  %1607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1608 = trunc i8 %1607 to i1
  br i1 %1608, label %1609, label %1631

1609:                                             ; preds = %1602
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @fileno(ptr noundef %1610) #11
  %1612 = call i32 @isatty(i32 noundef %1611) #11
  %1613 = icmp ne i32 %1612, 0
  br i1 %1613, label %1614, label %1631

1614:                                             ; preds = %1609
  %1615 = load i32, ptr %39, align 4, !tbaa !5
  %1616 = call ptr @__errno_location() #12
  store i32 %1615, ptr %1616, align 4, !tbaa !5
  %1617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1618 = load i32, ptr @test_count, align 4, !tbaa !5
  %1619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1620 = load i32, ptr %1619, align 4, !tbaa !5
  %1621 = call ptr @s2n_strerror(i32 noundef %1620, ptr noundef @.str.4)
  %1622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1623 = load i32, ptr %1622, align 4, !tbaa !5
  %1624 = call ptr @s2n_strerror_debug(i32 noundef %1623, ptr noundef @.str.4)
  %1625 = call ptr @__errno_location() #12
  %1626 = load i32, ptr %1625, align 4, !tbaa !5
  %1627 = call ptr @strerror(i32 noundef %1626) #11
  %1628 = call ptr @__errno_location() #12
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1617, ptr noundef @.str.2, i32 noundef %1618, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 72, ptr noundef %1621, ptr noundef %1624, ptr noundef %1627, i32 noundef %1629) #11
  br label %1648

1631:                                             ; preds = %1609, %1602
  %1632 = load i32, ptr %39, align 4, !tbaa !5
  %1633 = call ptr @__errno_location() #12
  store i32 %1632, ptr %1633, align 4, !tbaa !5
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1637 = load i32, ptr %1636, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror(i32 noundef %1637, ptr noundef @.str.4)
  %1639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1640 = load i32, ptr %1639, align 4, !tbaa !5
  %1641 = call ptr @s2n_strerror_debug(i32 noundef %1640, ptr noundef @.str.4)
  %1642 = call ptr @__errno_location() #12
  %1643 = load i32, ptr %1642, align 4, !tbaa !5
  %1644 = call ptr @strerror(i32 noundef %1643) #11
  %1645 = call ptr @__errno_location() #12
  %1646 = load i32, ptr %1645, align 4, !tbaa !5
  %1647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1634, ptr noundef @.str.5, i32 noundef %1635, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 72, ptr noundef %1638, ptr noundef %1641, ptr noundef %1644, i32 noundef %1646) #11
  br label %1648

1648:                                             ; preds = %1631, %1614
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %1649

1649:                                             ; preds = %1648
  br label %1650

1650:                                             ; preds = %1649
  call void @exit(i32 noundef 1) #13
  unreachable

1651:                                             ; No predecessors!
  br label %1652

1652:                                             ; preds = %1651
  br label %1653

1653:                                             ; preds = %1652, %1595
  br label %1654

1654:                                             ; preds = %1653
  br label %1655

1655:                                             ; preds = %1654
  br label %1656

1656:                                             ; preds = %1655
  %1657 = load i32, ptr @test_count, align 4, !tbaa !5
  %1658 = add nsw i32 %1657, 1
  store i32 %1658, ptr @test_count, align 4, !tbaa !5
  %1659 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %1660 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %1659, i32 noundef 16)
  %1661 = icmp eq i32 %1660, -1
  br i1 %1661, label %1662, label %1715

1662:                                             ; preds = %1656
  br label %1663

1663:                                             ; preds = %1662
  br label %1664

1664:                                             ; preds = %1663
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1665 = call ptr @__errno_location() #12
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  store i32 %1666, ptr %40, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @s2n_print_stacktrace(ptr noundef %1667)
  %1669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1670 = trunc i8 %1669 to i1
  br i1 %1670, label %1671, label %1693

1671:                                             ; preds = %1664
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @fileno(ptr noundef %1672) #11
  %1674 = call i32 @isatty(i32 noundef %1673) #11
  %1675 = icmp ne i32 %1674, 0
  br i1 %1675, label %1676, label %1693

1676:                                             ; preds = %1671
  %1677 = load i32, ptr %40, align 4, !tbaa !5
  %1678 = call ptr @__errno_location() #12
  store i32 %1677, ptr %1678, align 4, !tbaa !5
  %1679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1680 = load i32, ptr @test_count, align 4, !tbaa !5
  %1681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror(i32 noundef %1682, ptr noundef @.str.4)
  %1684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror_debug(i32 noundef %1685, ptr noundef @.str.4)
  %1687 = call ptr @__errno_location() #12
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call ptr @strerror(i32 noundef %1688) #11
  %1690 = call ptr @__errno_location() #12
  %1691 = load i32, ptr %1690, align 4, !tbaa !5
  %1692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1679, ptr noundef @.str.2, i32 noundef %1680, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 74, ptr noundef %1683, ptr noundef %1686, ptr noundef %1689, i32 noundef %1691) #11
  br label %1710

1693:                                             ; preds = %1671, %1664
  %1694 = load i32, ptr %40, align 4, !tbaa !5
  %1695 = call ptr @__errno_location() #12
  store i32 %1694, ptr %1695, align 4, !tbaa !5
  %1696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror(i32 noundef %1699, ptr noundef @.str.4)
  %1701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @s2n_strerror_debug(i32 noundef %1702, ptr noundef @.str.4)
  %1704 = call ptr @__errno_location() #12
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call ptr @strerror(i32 noundef %1705) #11
  %1707 = call ptr @__errno_location() #12
  %1708 = load i32, ptr %1707, align 4, !tbaa !5
  %1709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1696, ptr noundef @.str.5, i32 noundef %1697, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 74, ptr noundef %1700, ptr noundef %1703, ptr noundef %1706, i32 noundef %1708) #11
  br label %1710

1710:                                             ; preds = %1693, %1676
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1711

1711:                                             ; preds = %1710
  br label %1712

1712:                                             ; preds = %1711
  call void @exit(i32 noundef 1) #13
  unreachable

1713:                                             ; No predecessors!
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714, %1656
  br label %1716

1716:                                             ; preds = %1715
  br label %1717

1717:                                             ; preds = %1716
  br label %1718

1718:                                             ; preds = %1717
  %1719 = load i32, ptr @test_count, align 4, !tbaa !5
  %1720 = add nsw i32 %1719, 1
  store i32 %1720, ptr @test_count, align 4, !tbaa !5
  %1721 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %1722 = icmp ne i32 %1721, 0
  br i1 %1722, label %1723, label %1776

1723:                                             ; preds = %1718
  br label %1724

1724:                                             ; preds = %1723
  br label %1725

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

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

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

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

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

1772:                                             ; preds = %1771
  br label %1773

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

1774:                                             ; No predecessors!
  br label %1775

1775:                                             ; preds = %1774
  br label %1776

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

1777:                                             ; preds = %1776
  br label %1778

1778:                                             ; preds = %1777
  br label %1779

1779:                                             ; preds = %1778
  br label %1780

1780:                                             ; preds = %1779
  %1781 = load i32, ptr @test_count, align 4, !tbaa !5
  %1782 = add nsw i32 %1781, 1
  store i32 %1782, ptr @test_count, align 4, !tbaa !5
  %1783 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %1784 = icmp eq i32 %1783, -1
  br i1 %1784, label %1838, label %1785

1785:                                             ; preds = %1780
  br label %1786

1786:                                             ; preds = %1785
  br label %1787

1787:                                             ; preds = %1786
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #11
  %1788 = call ptr @__errno_location() #12
  %1789 = load i32, ptr %1788, align 4, !tbaa !5
  store i32 %1789, ptr %42, align 4, !tbaa !5
  %1790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1791 = call i32 @s2n_print_stacktrace(ptr noundef %1790)
  %1792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1793 = trunc i8 %1792 to i1
  br i1 %1793, label %1794, label %1816

1794:                                             ; preds = %1787
  %1795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1796 = call i32 @fileno(ptr noundef %1795) #11
  %1797 = call i32 @isatty(i32 noundef %1796) #11
  %1798 = icmp ne i32 %1797, 0
  br i1 %1798, label %1799, label %1816

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

1816:                                             ; preds = %1794, %1787
  %1817 = load i32, ptr %42, align 4, !tbaa !5
  %1818 = call ptr @__errno_location() #12
  store i32 %1817, ptr %1818, align 4, !tbaa !5
  %1819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1820 = load i32, ptr @test_count, align 4, !tbaa !5
  %1821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1822 = load i32, ptr %1821, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror(i32 noundef %1822, ptr noundef @.str.4)
  %1824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1825 = load i32, ptr %1824, align 4, !tbaa !5
  %1826 = call ptr @s2n_strerror_debug(i32 noundef %1825, ptr noundef @.str.4)
  %1827 = call ptr @__errno_location() #12
  %1828 = load i32, ptr %1827, align 4, !tbaa !5
  %1829 = call ptr @strerror(i32 noundef %1828) #11
  %1830 = call ptr @__errno_location() #12
  %1831 = load i32, ptr %1830, align 4, !tbaa !5
  %1832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1819, ptr noundef @.str.5, i32 noundef %1820, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1823, ptr noundef %1826, ptr noundef %1829, i32 noundef %1831) #11
  br label %1833

1833:                                             ; preds = %1816, %1799
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1834

1834:                                             ; preds = %1833
  br label %1835

1835:                                             ; preds = %1834
  call void @exit(i32 noundef 1) #13
  unreachable

1836:                                             ; No predecessors!
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837, %1780
  br label %1839

1839:                                             ; preds = %1838
  br label %1840

1840:                                             ; preds = %1839
  br label %1841

1841:                                             ; preds = %1840
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = add nsw i32 %1842, 1
  store i32 %1843, ptr @test_count, align 4, !tbaa !5
  %1844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1845 = load i32, ptr %1844, align 4, !tbaa !5
  %1846 = icmp eq i32 %1845, 0
  br i1 %1846, label %1847, label %1900

1847:                                             ; preds = %1841
  br label %1848

1848:                                             ; preds = %1847
  br label %1849

1849:                                             ; preds = %1848
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #11
  %1850 = call ptr @__errno_location() #12
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  store i32 %1851, ptr %43, align 4, !tbaa !5
  %1852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1853 = call i32 @s2n_print_stacktrace(ptr noundef %1852)
  %1854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1855 = trunc i8 %1854 to i1
  br i1 %1855, label %1856, label %1878

1856:                                             ; preds = %1849
  %1857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1858 = call i32 @fileno(ptr noundef %1857) #11
  %1859 = call i32 @isatty(i32 noundef %1858) #11
  %1860 = icmp ne i32 %1859, 0
  br i1 %1860, label %1861, label %1878

1861:                                             ; preds = %1856
  %1862 = load i32, ptr %43, align 4, !tbaa !5
  %1863 = call ptr @__errno_location() #12
  store i32 %1862, ptr %1863, align 4, !tbaa !5
  %1864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1865 = load i32, ptr @test_count, align 4, !tbaa !5
  %1866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1867 = load i32, ptr %1866, align 4, !tbaa !5
  %1868 = call ptr @s2n_strerror(i32 noundef %1867, ptr noundef @.str.4)
  %1869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1870 = load i32, ptr %1869, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror_debug(i32 noundef %1870, ptr noundef @.str.4)
  %1872 = call ptr @__errno_location() #12
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @strerror(i32 noundef %1873) #11
  %1875 = call ptr @__errno_location() #12
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1864, ptr noundef @.str.2, i32 noundef %1865, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1868, ptr noundef %1871, ptr noundef %1874, i32 noundef %1876) #11
  br label %1895

1878:                                             ; preds = %1856, %1849
  %1879 = load i32, ptr %43, align 4, !tbaa !5
  %1880 = call ptr @__errno_location() #12
  store i32 %1879, ptr %1880, align 4, !tbaa !5
  %1881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1882 = load i32, ptr @test_count, align 4, !tbaa !5
  %1883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1884 = load i32, ptr %1883, align 4, !tbaa !5
  %1885 = call ptr @s2n_strerror(i32 noundef %1884, ptr noundef @.str.4)
  %1886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1887 = load i32, ptr %1886, align 4, !tbaa !5
  %1888 = call ptr @s2n_strerror_debug(i32 noundef %1887, ptr noundef @.str.4)
  %1889 = call ptr @__errno_location() #12
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @strerror(i32 noundef %1890) #11
  %1892 = call ptr @__errno_location() #12
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1881, ptr noundef @.str.5, i32 noundef %1882, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1885, ptr noundef %1888, ptr noundef %1891, i32 noundef %1893) #11
  br label %1895

1895:                                             ; preds = %1878, %1861
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #11
  br label %1896

1896:                                             ; preds = %1895
  br label %1897

1897:                                             ; preds = %1896
  call void @exit(i32 noundef 1) #13
  unreachable

1898:                                             ; No predecessors!
  br label %1899

1899:                                             ; preds = %1898
  br label %1900

1900:                                             ; preds = %1899, %1841
  br label %1901

1901:                                             ; preds = %1900
  br label %1902

1902:                                             ; preds = %1901
  br label %1903

1903:                                             ; preds = %1902
  %1904 = load i32, ptr @test_count, align 4, !tbaa !5
  %1905 = add nsw i32 %1904, 1
  store i32 %1905, ptr @test_count, align 4, !tbaa !5
  %1906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1907 = load i32, ptr %1906, align 4, !tbaa !5
  %1908 = call ptr @s2n_strerror_debug(i32 noundef %1907, ptr noundef @.str.4)
  %1909 = icmp eq ptr %1908, null
  br i1 %1909, label %1910, label %1963

1910:                                             ; preds = %1903
  br label %1911

1911:                                             ; preds = %1910
  br label %1912

1912:                                             ; preds = %1911
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #11
  %1913 = call ptr @__errno_location() #12
  %1914 = load i32, ptr %1913, align 4, !tbaa !5
  store i32 %1914, ptr %44, align 4, !tbaa !5
  %1915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1916 = call i32 @s2n_print_stacktrace(ptr noundef %1915)
  %1917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1918 = trunc i8 %1917 to i1
  br i1 %1918, label %1919, label %1941

1919:                                             ; preds = %1912
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = call i32 @fileno(ptr noundef %1920) #11
  %1922 = call i32 @isatty(i32 noundef %1921) #11
  %1923 = icmp ne i32 %1922, 0
  br i1 %1923, label %1924, label %1941

1924:                                             ; preds = %1919
  %1925 = load i32, ptr %44, align 4, !tbaa !5
  %1926 = call ptr @__errno_location() #12
  store i32 %1925, ptr %1926, align 4, !tbaa !5
  %1927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1928 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1930, ptr noundef @.str.4)
  %1932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror_debug(i32 noundef %1933, ptr noundef @.str.4)
  %1935 = call ptr @__errno_location() #12
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @strerror(i32 noundef %1936) #11
  %1938 = call ptr @__errno_location() #12
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1927, ptr noundef @.str.2, i32 noundef %1928, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1931, ptr noundef %1934, ptr noundef %1937, i32 noundef %1939) #11
  br label %1958

1941:                                             ; preds = %1919, %1912
  %1942 = load i32, ptr %44, align 4, !tbaa !5
  %1943 = call ptr @__errno_location() #12
  store i32 %1942, ptr %1943, align 4, !tbaa !5
  %1944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1945 = load i32, ptr @test_count, align 4, !tbaa !5
  %1946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1947 = load i32, ptr %1946, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror(i32 noundef %1947, ptr noundef @.str.4)
  %1949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1950 = load i32, ptr %1949, align 4, !tbaa !5
  %1951 = call ptr @s2n_strerror_debug(i32 noundef %1950, ptr noundef @.str.4)
  %1952 = call ptr @__errno_location() #12
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @strerror(i32 noundef %1953) #11
  %1955 = call ptr @__errno_location() #12
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1944, ptr noundef @.str.5, i32 noundef %1945, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 76, ptr noundef %1948, ptr noundef %1951, ptr noundef %1954, i32 noundef %1956) #11
  br label %1958

1958:                                             ; preds = %1941, %1924
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %1959

1959:                                             ; preds = %1958
  br label %1960

1960:                                             ; preds = %1959
  call void @exit(i32 noundef 1) #13
  unreachable

1961:                                             ; No predecessors!
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

1963:                                             ; preds = %1962, %1903
  br label %1964

1964:                                             ; preds = %1963
  br label %1965

1965:                                             ; preds = %1964
  br label %1966

1966:                                             ; preds = %1965
  %1967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1967, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1968 = call ptr @__errno_location() #12
  store i32 0, ptr %1968, align 4, !tbaa !5
  br label %1969

1969:                                             ; preds = %1966
  br label %1970

1970:                                             ; preds = %1969
  br label %1971

1971:                                             ; preds = %1970
  br label %1972

1972:                                             ; preds = %1971
  br label %1973

1973:                                             ; preds = %1972
  %1974 = load i32, ptr @test_count, align 4, !tbaa !5
  %1975 = add nsw i32 %1974, 1
  store i32 %1975, ptr @test_count, align 4, !tbaa !5
  %1976 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %1977 = icmp eq i32 %1976, -1
  br i1 %1977, label %1978, label %2031

1978:                                             ; preds = %1973
  br label %1979

1979:                                             ; preds = %1978
  br label %1980

1980:                                             ; preds = %1979
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %1981 = call ptr @__errno_location() #12
  %1982 = load i32, ptr %1981, align 4, !tbaa !5
  store i32 %1982, ptr %45, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = call i32 @s2n_print_stacktrace(ptr noundef %1983)
  %1985 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1986 = trunc i8 %1985 to i1
  br i1 %1986, label %1987, label %2009

1987:                                             ; preds = %1980
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = call i32 @fileno(ptr noundef %1988) #11
  %1990 = call i32 @isatty(i32 noundef %1989) #11
  %1991 = icmp ne i32 %1990, 0
  br i1 %1991, label %1992, label %2009

1992:                                             ; preds = %1987
  %1993 = load i32, ptr %45, align 4, !tbaa !5
  %1994 = call ptr @__errno_location() #12
  store i32 %1993, ptr %1994, align 4, !tbaa !5
  %1995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1996 = load i32, ptr @test_count, align 4, !tbaa !5
  %1997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1998 = load i32, ptr %1997, align 4, !tbaa !5
  %1999 = call ptr @s2n_strerror(i32 noundef %1998, ptr noundef @.str.4)
  %2000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2001 = load i32, ptr %2000, align 4, !tbaa !5
  %2002 = call ptr @s2n_strerror_debug(i32 noundef %2001, ptr noundef @.str.4)
  %2003 = call ptr @__errno_location() #12
  %2004 = load i32, ptr %2003, align 4, !tbaa !5
  %2005 = call ptr @strerror(i32 noundef %2004) #11
  %2006 = call ptr @__errno_location() #12
  %2007 = load i32, ptr %2006, align 4, !tbaa !5
  %2008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1995, ptr noundef @.str.2, i32 noundef %1996, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 78, ptr noundef %1999, ptr noundef %2002, ptr noundef %2005, i32 noundef %2007) #11
  br label %2026

2009:                                             ; preds = %1987, %1980
  %2010 = load i32, ptr %45, align 4, !tbaa !5
  %2011 = call ptr @__errno_location() #12
  store i32 %2010, ptr %2011, align 4, !tbaa !5
  %2012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2013 = load i32, ptr @test_count, align 4, !tbaa !5
  %2014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2015 = load i32, ptr %2014, align 4, !tbaa !5
  %2016 = call ptr @s2n_strerror(i32 noundef %2015, ptr noundef @.str.4)
  %2017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2018 = load i32, ptr %2017, align 4, !tbaa !5
  %2019 = call ptr @s2n_strerror_debug(i32 noundef %2018, ptr noundef @.str.4)
  %2020 = call ptr @__errno_location() #12
  %2021 = load i32, ptr %2020, align 4, !tbaa !5
  %2022 = call ptr @strerror(i32 noundef %2021) #11
  %2023 = call ptr @__errno_location() #12
  %2024 = load i32, ptr %2023, align 4, !tbaa !5
  %2025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2012, ptr noundef @.str.5, i32 noundef %2013, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 78, ptr noundef %2016, ptr noundef %2019, ptr noundef %2022, i32 noundef %2024) #11
  br label %2026

2026:                                             ; preds = %2009, %1992
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %2027

2027:                                             ; preds = %2026
  br label %2028

2028:                                             ; preds = %2027
  call void @exit(i32 noundef 1) #13
  unreachable

2029:                                             ; No predecessors!
  br label %2030

2030:                                             ; preds = %2029
  br label %2031

2031:                                             ; preds = %2030, %1973
  br label %2032

2032:                                             ; preds = %2031
  br label %2033

2033:                                             ; preds = %2032
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  store i32 0, ptr %46, align 4, !tbaa !5
  br label %2034

2034:                                             ; preds = %2107, %2033
  %2035 = load i32, ptr %46, align 4, !tbaa !5
  %2036 = icmp slt i32 %2035, 16
  br i1 %2036, label %2038, label %2037

2037:                                             ; preds = %2034
  store i32 194, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2110

2038:                                             ; preds = %2034
  br label %2039

2039:                                             ; preds = %2038
  %2040 = load i32, ptr @test_count, align 4, !tbaa !5
  %2041 = add nsw i32 %2040, 1
  store i32 %2041, ptr @test_count, align 4, !tbaa !5
  %2042 = load i32, ptr %46, align 4, !tbaa !5
  %2043 = sext i32 %2042 to i64
  %2044 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %2043
  %2045 = load i8, ptr %2044, align 1, !tbaa !17
  %2046 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %2045)
  %2047 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  store i32 %2046, ptr %2047, align 4
  %2048 = getelementptr inbounds %struct.s2n_result, ptr %47, i32 0, i32 0
  %2049 = load i32, ptr %2048, align 4
  %2050 = call zeroext i1 @s2n_result_is_ok(i32 %2049)
  br i1 %2050, label %2104, label %2051

2051:                                             ; preds = %2039
  br label %2052

2052:                                             ; preds = %2051
  br label %2053

2053:                                             ; preds = %2052
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2054 = call ptr @__errno_location() #12
  %2055 = load i32, ptr %2054, align 4, !tbaa !5
  store i32 %2055, ptr %48, align 4, !tbaa !5
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = call i32 @s2n_print_stacktrace(ptr noundef %2056)
  %2058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2059 = trunc i8 %2058 to i1
  br i1 %2059, label %2060, label %2082

2060:                                             ; preds = %2053
  %2061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2062 = call i32 @fileno(ptr noundef %2061) #11
  %2063 = call i32 @isatty(i32 noundef %2062) #11
  %2064 = icmp ne i32 %2063, 0
  br i1 %2064, label %2065, label %2082

2065:                                             ; preds = %2060
  %2066 = load i32, ptr %48, align 4, !tbaa !5
  %2067 = call ptr @__errno_location() #12
  store i32 %2066, ptr %2067, align 4, !tbaa !5
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2069 = load i32, ptr @test_count, align 4, !tbaa !5
  %2070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @s2n_strerror(i32 noundef %2071, ptr noundef @.str.4)
  %2073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call ptr @s2n_strerror_debug(i32 noundef %2074, ptr noundef @.str.4)
  %2076 = call ptr @__errno_location() #12
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @strerror(i32 noundef %2077) #11
  %2079 = call ptr @__errno_location() #12
  %2080 = load i32, ptr %2079, align 4, !tbaa !5
  %2081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2068, ptr noundef @.str.2, i32 noundef %2069, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 80, ptr noundef %2072, ptr noundef %2075, ptr noundef %2078, i32 noundef %2080) #11
  br label %2099

2082:                                             ; preds = %2060, %2053
  %2083 = load i32, ptr %48, align 4, !tbaa !5
  %2084 = call ptr @__errno_location() #12
  store i32 %2083, ptr %2084, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2091 = load i32, ptr %2090, align 4, !tbaa !5
  %2092 = call ptr @s2n_strerror_debug(i32 noundef %2091, ptr noundef @.str.4)
  %2093 = call ptr @__errno_location() #12
  %2094 = load i32, ptr %2093, align 4, !tbaa !5
  %2095 = call ptr @strerror(i32 noundef %2094) #11
  %2096 = call ptr @__errno_location() #12
  %2097 = load i32, ptr %2096, align 4, !tbaa !5
  %2098 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef @.str.5, i32 noundef %2086, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 80, ptr noundef %2089, ptr noundef %2092, ptr noundef %2095, i32 noundef %2097) #11
  br label %2099

2099:                                             ; preds = %2082, %2065
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2100

2100:                                             ; preds = %2099
  br label %2101

2101:                                             ; preds = %2100
  call void @exit(i32 noundef 1) #13
  unreachable

2102:                                             ; No predecessors!
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103, %2039
  br label %2105

2105:                                             ; preds = %2104
  br label %2106

2106:                                             ; preds = %2105
  br label %2107

2107:                                             ; preds = %2106
  %2108 = load i32, ptr %46, align 4, !tbaa !5
  %2109 = add nsw i32 %2108, 1
  store i32 %2109, ptr %46, align 4, !tbaa !5
  br label %2034, !llvm.loop !18

2110:                                             ; preds = %2037
  br label %2111

2111:                                             ; preds = %2110
  %2112 = load i32, ptr @test_count, align 4, !tbaa !5
  %2113 = add nsw i32 %2112, 1
  store i32 %2113, ptr @test_count, align 4, !tbaa !5
  %2114 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %2115 = call i32 @memcmp(ptr noundef %2114, ptr noundef @.str.26, i64 noundef 32) #14
  %2116 = icmp eq i32 %2115, 0
  br i1 %2116, label %2170, label %2117

2117:                                             ; preds = %2111
  br label %2118

2118:                                             ; preds = %2117
  br label %2119

2119:                                             ; preds = %2118
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2120 = call ptr @__errno_location() #12
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  store i32 %2121, ptr %49, align 4, !tbaa !5
  %2122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2123 = call i32 @s2n_print_stacktrace(ptr noundef %2122)
  %2124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2125 = trunc i8 %2124 to i1
  br i1 %2125, label %2126, label %2148

2126:                                             ; preds = %2119
  %2127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2128 = call i32 @fileno(ptr noundef %2127) #11
  %2129 = call i32 @isatty(i32 noundef %2128) #11
  %2130 = icmp ne i32 %2129, 0
  br i1 %2130, label %2131, label %2148

2131:                                             ; preds = %2126
  %2132 = load i32, ptr %49, align 4, !tbaa !5
  %2133 = call ptr @__errno_location() #12
  store i32 %2132, ptr %2133, align 4, !tbaa !5
  %2134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2135 = load i32, ptr @test_count, align 4, !tbaa !5
  %2136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2137 = load i32, ptr %2136, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror(i32 noundef %2137, ptr noundef @.str.4)
  %2139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2140 = load i32, ptr %2139, align 4, !tbaa !5
  %2141 = call ptr @s2n_strerror_debug(i32 noundef %2140, ptr noundef @.str.4)
  %2142 = call ptr @__errno_location() #12
  %2143 = load i32, ptr %2142, align 4, !tbaa !5
  %2144 = call ptr @strerror(i32 noundef %2143) #11
  %2145 = call ptr @__errno_location() #12
  %2146 = load i32, ptr %2145, align 4, !tbaa !5
  %2147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2134, ptr noundef @.str.2, i32 noundef %2135, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2138, ptr noundef %2141, ptr noundef %2144, i32 noundef %2146) #11
  br label %2165

2148:                                             ; preds = %2126, %2119
  %2149 = load i32, ptr %49, align 4, !tbaa !5
  %2150 = call ptr @__errno_location() #12
  store i32 %2149, ptr %2150, align 4, !tbaa !5
  %2151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2154 = load i32, ptr %2153, align 4, !tbaa !5
  %2155 = call ptr @s2n_strerror(i32 noundef %2154, ptr noundef @.str.4)
  %2156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2157 = load i32, ptr %2156, align 4, !tbaa !5
  %2158 = call ptr @s2n_strerror_debug(i32 noundef %2157, ptr noundef @.str.4)
  %2159 = call ptr @__errno_location() #12
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  %2161 = call ptr @strerror(i32 noundef %2160) #11
  %2162 = call ptr @__errno_location() #12
  %2163 = load i32, ptr %2162, align 4, !tbaa !5
  %2164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2151, ptr noundef @.str.5, i32 noundef %2152, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2155, ptr noundef %2158, ptr noundef %2161, i32 noundef %2163) #11
  br label %2165

2165:                                             ; preds = %2148, %2131
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2166

2166:                                             ; preds = %2165
  br label %2167

2167:                                             ; preds = %2166
  call void @exit(i32 noundef 1) #13
  unreachable

2168:                                             ; No predecessors!
  br label %2169

2169:                                             ; preds = %2168
  br label %2170

2170:                                             ; preds = %2169, %2111
  br label %2171

2171:                                             ; preds = %2170
  br label %2172

2172:                                             ; preds = %2171
  br label %2173

2173:                                             ; preds = %2172
  %2174 = call i32 @s2n_hash_reset(ptr noundef %12)
  %2175 = icmp sgt i32 %2174, -1
  br i1 %2175, label %2177, label %2176

2176:                                             ; preds = %2173
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %2363

2177:                                             ; preds = %2173
  br label %2178

2178:                                             ; preds = %2177
  br label %2179

2179:                                             ; preds = %2178
  br label %2180

2180:                                             ; preds = %2179
  %2181 = load i32, ptr @test_count, align 4, !tbaa !5
  %2182 = add nsw i32 %2181, 1
  store i32 %2182, ptr @test_count, align 4, !tbaa !5
  %2183 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %2184 = icmp ne i32 %2183, 0
  br i1 %2184, label %2238, label %2185

2185:                                             ; preds = %2180
  br label %2186

2186:                                             ; preds = %2185
  br label %2187

2187:                                             ; preds = %2186
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2188 = call ptr @__errno_location() #12
  %2189 = load i32, ptr %2188, align 4, !tbaa !5
  store i32 %2189, ptr %50, align 4, !tbaa !5
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = call i32 @s2n_print_stacktrace(ptr noundef %2190)
  %2192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2193 = trunc i8 %2192 to i1
  br i1 %2193, label %2194, label %2216

2194:                                             ; preds = %2187
  %2195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2196 = call i32 @fileno(ptr noundef %2195) #11
  %2197 = call i32 @isatty(i32 noundef %2196) #11
  %2198 = icmp ne i32 %2197, 0
  br i1 %2198, label %2199, label %2216

2199:                                             ; preds = %2194
  %2200 = load i32, ptr %50, align 4, !tbaa !5
  %2201 = call ptr @__errno_location() #12
  store i32 %2200, ptr %2201, align 4, !tbaa !5
  %2202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2203 = load i32, ptr @test_count, align 4, !tbaa !5
  %2204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2205 = load i32, ptr %2204, align 4, !tbaa !5
  %2206 = call ptr @s2n_strerror(i32 noundef %2205, ptr noundef @.str.4)
  %2207 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2208 = load i32, ptr %2207, align 4, !tbaa !5
  %2209 = call ptr @s2n_strerror_debug(i32 noundef %2208, ptr noundef @.str.4)
  %2210 = call ptr @__errno_location() #12
  %2211 = load i32, ptr %2210, align 4, !tbaa !5
  %2212 = call ptr @strerror(i32 noundef %2211) #11
  %2213 = call ptr @__errno_location() #12
  %2214 = load i32, ptr %2213, align 4, !tbaa !5
  %2215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2202, ptr noundef @.str.2, i32 noundef %2203, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 87, ptr noundef %2206, ptr noundef %2209, ptr noundef %2212, i32 noundef %2214) #11
  br label %2233

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

2233:                                             ; preds = %2216, %2199
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2234

2234:                                             ; preds = %2233
  br label %2235

2235:                                             ; preds = %2234
  call void @exit(i32 noundef 1) #13
  unreachable

2236:                                             ; No predecessors!
  br label %2237

2237:                                             ; preds = %2236
  br label %2238

2238:                                             ; preds = %2237, %2180
  br label %2239

2239:                                             ; preds = %2238
  br label %2240

2240:                                             ; preds = %2239
  br label %2241

2241:                                             ; preds = %2240
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = add nsw i32 %2242, 1
  store i32 %2243, ptr @test_count, align 4, !tbaa !5
  %2244 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %2245 = icmp eq i32 %2244, -1
  br i1 %2245, label %2246, label %2299

2246:                                             ; preds = %2241
  br label %2247

2247:                                             ; preds = %2246
  br label %2248

2248:                                             ; preds = %2247
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  %2249 = call ptr @__errno_location() #12
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  store i32 %2250, ptr %51, align 4, !tbaa !5
  %2251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2252 = call i32 @s2n_print_stacktrace(ptr noundef %2251)
  %2253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2254 = trunc i8 %2253 to i1
  br i1 %2254, label %2255, label %2277

2255:                                             ; preds = %2248
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @fileno(ptr noundef %2256) #11
  %2258 = call i32 @isatty(i32 noundef %2257) #11
  %2259 = icmp ne i32 %2258, 0
  br i1 %2259, label %2260, label %2277

2260:                                             ; preds = %2255
  %2261 = load i32, ptr %51, align 4, !tbaa !5
  %2262 = call ptr @__errno_location() #12
  store i32 %2261, ptr %2262, align 4, !tbaa !5
  %2263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2264 = load i32, ptr @test_count, align 4, !tbaa !5
  %2265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2266 = load i32, ptr %2265, align 4, !tbaa !5
  %2267 = call ptr @s2n_strerror(i32 noundef %2266, ptr noundef @.str.4)
  %2268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2269 = load i32, ptr %2268, align 4, !tbaa !5
  %2270 = call ptr @s2n_strerror_debug(i32 noundef %2269, ptr noundef @.str.4)
  %2271 = call ptr @__errno_location() #12
  %2272 = load i32, ptr %2271, align 4, !tbaa !5
  %2273 = call ptr @strerror(i32 noundef %2272) #11
  %2274 = call ptr @__errno_location() #12
  %2275 = load i32, ptr %2274, align 4, !tbaa !5
  %2276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2263, ptr noundef @.str.2, i32 noundef %2264, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 88, ptr noundef %2267, ptr noundef %2270, ptr noundef %2273, i32 noundef %2275) #11
  br label %2294

2277:                                             ; preds = %2255, %2248
  %2278 = load i32, ptr %51, align 4, !tbaa !5
  %2279 = call ptr @__errno_location() #12
  store i32 %2278, ptr %2279, align 4, !tbaa !5
  %2280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2281 = load i32, ptr @test_count, align 4, !tbaa !5
  %2282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2283 = load i32, ptr %2282, align 4, !tbaa !5
  %2284 = call ptr @s2n_strerror(i32 noundef %2283, ptr noundef @.str.4)
  %2285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror_debug(i32 noundef %2286, ptr noundef @.str.4)
  %2288 = call ptr @__errno_location() #12
  %2289 = load i32, ptr %2288, align 4, !tbaa !5
  %2290 = call ptr @strerror(i32 noundef %2289) #11
  %2291 = call ptr @__errno_location() #12
  %2292 = load i32, ptr %2291, align 4, !tbaa !5
  %2293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2280, ptr noundef @.str.5, i32 noundef %2281, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 88, ptr noundef %2284, ptr noundef %2287, ptr noundef %2290, i32 noundef %2292) #11
  br label %2294

2294:                                             ; preds = %2277, %2260
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  br label %2295

2295:                                             ; preds = %2294
  br label %2296

2296:                                             ; preds = %2295
  call void @exit(i32 noundef 1) #13
  unreachable

2297:                                             ; No predecessors!
  br label %2298

2298:                                             ; preds = %2297
  br label %2299

2299:                                             ; preds = %2298, %2241
  br label %2300

2300:                                             ; preds = %2299
  br label %2301

2301:                                             ; preds = %2300
  br label %2302

2302:                                             ; preds = %2301
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = add nsw i32 %2303, 1
  store i32 %2304, ptr @test_count, align 4, !tbaa !5
  %2305 = load i64, ptr %16, align 8, !tbaa !11
  %2306 = icmp eq i64 %2305, 0
  br i1 %2306, label %2360, label %2307

2307:                                             ; preds = %2302
  br label %2308

2308:                                             ; preds = %2307
  br label %2309

2309:                                             ; preds = %2308
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  %2310 = call ptr @__errno_location() #12
  %2311 = load i32, ptr %2310, align 4, !tbaa !5
  store i32 %2311, ptr %52, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = call i32 @s2n_print_stacktrace(ptr noundef %2312)
  %2314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2315 = trunc i8 %2314 to i1
  br i1 %2315, label %2316, label %2338

2316:                                             ; preds = %2309
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = call i32 @fileno(ptr noundef %2317) #11
  %2319 = call i32 @isatty(i32 noundef %2318) #11
  %2320 = icmp ne i32 %2319, 0
  br i1 %2320, label %2321, label %2338

2321:                                             ; preds = %2316
  %2322 = load i32, ptr %52, align 4, !tbaa !5
  %2323 = call ptr @__errno_location() #12
  store i32 %2322, ptr %2323, align 4, !tbaa !5
  %2324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2325 = load i32, ptr @test_count, align 4, !tbaa !5
  %2326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2327 = load i32, ptr %2326, align 4, !tbaa !5
  %2328 = call ptr @s2n_strerror(i32 noundef %2327, ptr noundef @.str.4)
  %2329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call ptr @s2n_strerror_debug(i32 noundef %2330, ptr noundef @.str.4)
  %2332 = call ptr @__errno_location() #12
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call ptr @strerror(i32 noundef %2333) #11
  %2335 = call ptr @__errno_location() #12
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2324, ptr noundef @.str.2, i32 noundef %2325, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 89, ptr noundef %2328, ptr noundef %2331, ptr noundef %2334, i32 noundef %2336) #11
  br label %2355

2338:                                             ; preds = %2316, %2309
  %2339 = load i32, ptr %52, align 4, !tbaa !5
  %2340 = call ptr @__errno_location() #12
  store i32 %2339, ptr %2340, align 4, !tbaa !5
  %2341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2342 = load i32, ptr @test_count, align 4, !tbaa !5
  %2343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2344 = load i32, ptr %2343, align 4, !tbaa !5
  %2345 = call ptr @s2n_strerror(i32 noundef %2344, ptr noundef @.str.4)
  %2346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2347 = load i32, ptr %2346, align 4, !tbaa !5
  %2348 = call ptr @s2n_strerror_debug(i32 noundef %2347, ptr noundef @.str.4)
  %2349 = call ptr @__errno_location() #12
  %2350 = load i32, ptr %2349, align 4, !tbaa !5
  %2351 = call ptr @strerror(i32 noundef %2350) #11
  %2352 = call ptr @__errno_location() #12
  %2353 = load i32, ptr %2352, align 4, !tbaa !5
  %2354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2341, ptr noundef @.str.5, i32 noundef %2342, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 89, ptr noundef %2345, ptr noundef %2348, ptr noundef %2351, i32 noundef %2353) #11
  br label %2355

2355:                                             ; preds = %2338, %2321
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2356

2356:                                             ; preds = %2355
  br label %2357

2357:                                             ; preds = %2356
  call void @exit(i32 noundef 1) #13
  unreachable

2358:                                             ; No predecessors!
  br label %2359

2359:                                             ; preds = %2358
  br label %2360

2360:                                             ; preds = %2359, %2302
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

2362:                                             ; preds = %2361
  store i32 0, ptr %15, align 4
  br label %2363

2363:                                             ; preds = %2362, %2176, %1098
  call void @llvm.lifetime.end.p0(i64 1, ptr %30) #11
  %2364 = load i32, ptr %15, align 4
  switch i32 %2364, label %13333 [
    i32 0, label %2365
  ]

2365:                                             ; preds = %2363
  br label %2366

2366:                                             ; preds = %2365, %1092
  call void @llvm.lifetime.start.p0(i64 1, ptr %53) #11
  store i8 0, ptr %53, align 1, !tbaa !17
  br label %2367

2367:                                             ; preds = %2366
  %2368 = call i32 @s2n_hash_digest_size(i32 noundef 2, ptr noundef %53)
  %2369 = icmp sgt i32 %2368, -1
  br i1 %2369, label %2371, label %2370

2370:                                             ; preds = %2367
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13332

2371:                                             ; preds = %2367
  br label %2372

2372:                                             ; preds = %2371
  br label %2373

2373:                                             ; preds = %2372
  br label %2374

2374:                                             ; preds = %2373
  %2375 = load i32, ptr @test_count, align 4, !tbaa !5
  %2376 = add nsw i32 %2375, 1
  store i32 %2376, ptr @test_count, align 4, !tbaa !5
  %2377 = load i8, ptr %53, align 1, !tbaa !17
  %2378 = zext i8 %2377 to i32
  %2379 = icmp eq i32 %2378, 20
  br i1 %2379, label %2433, label %2380

2380:                                             ; preds = %2374
  br label %2381

2381:                                             ; preds = %2380
  br label %2382

2382:                                             ; preds = %2381
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #11
  %2383 = call ptr @__errno_location() #12
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  store i32 %2384, ptr %54, align 4, !tbaa !5
  %2385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2386 = call i32 @s2n_print_stacktrace(ptr noundef %2385)
  %2387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2388 = trunc i8 %2387 to i1
  br i1 %2388, label %2389, label %2411

2389:                                             ; preds = %2382
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = call i32 @fileno(ptr noundef %2390) #11
  %2392 = call i32 @isatty(i32 noundef %2391) #11
  %2393 = icmp ne i32 %2392, 0
  br i1 %2393, label %2394, label %2411

2394:                                             ; preds = %2389
  %2395 = load i32, ptr %54, align 4, !tbaa !5
  %2396 = call ptr @__errno_location() #12
  store i32 %2395, ptr %2396, align 4, !tbaa !5
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = load i32, ptr @test_count, align 4, !tbaa !5
  %2399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2400 = load i32, ptr %2399, align 4, !tbaa !5
  %2401 = call ptr @s2n_strerror(i32 noundef %2400, ptr noundef @.str.4)
  %2402 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2403 = load i32, ptr %2402, align 4, !tbaa !5
  %2404 = call ptr @s2n_strerror_debug(i32 noundef %2403, ptr noundef @.str.4)
  %2405 = call ptr @__errno_location() #12
  %2406 = load i32, ptr %2405, align 4, !tbaa !5
  %2407 = call ptr @strerror(i32 noundef %2406) #11
  %2408 = call ptr @__errno_location() #12
  %2409 = load i32, ptr %2408, align 4, !tbaa !5
  %2410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2397, ptr noundef @.str.2, i32 noundef %2398, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2401, ptr noundef %2404, ptr noundef %2407, i32 noundef %2409) #11
  br label %2428

2411:                                             ; preds = %2389, %2382
  %2412 = load i32, ptr %54, align 4, !tbaa !5
  %2413 = call ptr @__errno_location() #12
  store i32 %2412, ptr %2413, align 4, !tbaa !5
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2415 = load i32, ptr @test_count, align 4, !tbaa !5
  %2416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2417 = load i32, ptr %2416, align 4, !tbaa !5
  %2418 = call ptr @s2n_strerror(i32 noundef %2417, ptr noundef @.str.4)
  %2419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2420 = load i32, ptr %2419, align 4, !tbaa !5
  %2421 = call ptr @s2n_strerror_debug(i32 noundef %2420, ptr noundef @.str.4)
  %2422 = call ptr @__errno_location() #12
  %2423 = load i32, ptr %2422, align 4, !tbaa !5
  %2424 = call ptr @strerror(i32 noundef %2423) #11
  %2425 = call ptr @__errno_location() #12
  %2426 = load i32, ptr %2425, align 4, !tbaa !5
  %2427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2414, ptr noundef @.str.5, i32 noundef %2415, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2418, ptr noundef %2421, ptr noundef %2424, i32 noundef %2426) #11
  br label %2428

2428:                                             ; preds = %2411, %2394
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2429

2429:                                             ; preds = %2428
  br label %2430

2430:                                             ; preds = %2429
  call void @exit(i32 noundef 1) #13
  unreachable

2431:                                             ; No predecessors!
  br label %2432

2432:                                             ; preds = %2431
  br label %2433

2433:                                             ; preds = %2432, %2374
  br label %2434

2434:                                             ; preds = %2433
  br label %2435

2435:                                             ; preds = %2434
  br label %2436

2436:                                             ; preds = %2435
  %2437 = load i32, ptr @test_count, align 4, !tbaa !5
  %2438 = add nsw i32 %2437, 1
  store i32 %2438, ptr @test_count, align 4, !tbaa !5
  %2439 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 2)
  %2440 = icmp eq i32 %2439, -1
  br i1 %2440, label %2441, label %2494

2441:                                             ; preds = %2436
  br label %2442

2442:                                             ; preds = %2441
  br label %2443

2443:                                             ; preds = %2442
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #11
  %2444 = call ptr @__errno_location() #12
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  store i32 %2445, ptr %55, align 4, !tbaa !5
  %2446 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2447 = call i32 @s2n_print_stacktrace(ptr noundef %2446)
  %2448 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2449 = trunc i8 %2448 to i1
  br i1 %2449, label %2450, label %2472

2450:                                             ; preds = %2443
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = call i32 @fileno(ptr noundef %2451) #11
  %2453 = call i32 @isatty(i32 noundef %2452) #11
  %2454 = icmp ne i32 %2453, 0
  br i1 %2454, label %2455, label %2472

2455:                                             ; preds = %2450
  %2456 = load i32, ptr %55, align 4, !tbaa !5
  %2457 = call ptr @__errno_location() #12
  store i32 %2456, ptr %2457, align 4, !tbaa !5
  %2458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2459 = load i32, ptr @test_count, align 4, !tbaa !5
  %2460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2461 = load i32, ptr %2460, align 4, !tbaa !5
  %2462 = call ptr @s2n_strerror(i32 noundef %2461, ptr noundef @.str.4)
  %2463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2464 = load i32, ptr %2463, align 4, !tbaa !5
  %2465 = call ptr @s2n_strerror_debug(i32 noundef %2464, ptr noundef @.str.4)
  %2466 = call ptr @__errno_location() #12
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  %2468 = call ptr @strerror(i32 noundef %2467) #11
  %2469 = call ptr @__errno_location() #12
  %2470 = load i32, ptr %2469, align 4, !tbaa !5
  %2471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2458, ptr noundef @.str.2, i32 noundef %2459, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 96, ptr noundef %2462, ptr noundef %2465, ptr noundef %2468, i32 noundef %2470) #11
  br label %2489

2472:                                             ; preds = %2450, %2443
  %2473 = load i32, ptr %55, align 4, !tbaa !5
  %2474 = call ptr @__errno_location() #12
  store i32 %2473, ptr %2474, align 4, !tbaa !5
  %2475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2476 = load i32, ptr @test_count, align 4, !tbaa !5
  %2477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2478 = load i32, ptr %2477, align 4, !tbaa !5
  %2479 = call ptr @s2n_strerror(i32 noundef %2478, ptr noundef @.str.4)
  %2480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2481 = load i32, ptr %2480, align 4, !tbaa !5
  %2482 = call ptr @s2n_strerror_debug(i32 noundef %2481, ptr noundef @.str.4)
  %2483 = call ptr @__errno_location() #12
  %2484 = load i32, ptr %2483, align 4, !tbaa !5
  %2485 = call ptr @strerror(i32 noundef %2484) #11
  %2486 = call ptr @__errno_location() #12
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2475, ptr noundef @.str.5, i32 noundef %2476, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 96, ptr noundef %2479, ptr noundef %2482, ptr noundef %2485, i32 noundef %2487) #11
  br label %2489

2489:                                             ; preds = %2472, %2455
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #11
  br label %2490

2490:                                             ; preds = %2489
  br label %2491

2491:                                             ; preds = %2490
  call void @exit(i32 noundef 1) #13
  unreachable

2492:                                             ; No predecessors!
  br label %2493

2493:                                             ; preds = %2492
  br label %2494

2494:                                             ; preds = %2493, %2436
  br label %2495

2495:                                             ; preds = %2494
  br label %2496

2496:                                             ; preds = %2495
  br label %2497

2497:                                             ; preds = %2496
  %2498 = load i32, ptr @test_count, align 4, !tbaa !5
  %2499 = add nsw i32 %2498, 1
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %2501 = icmp ne i32 %2500, 0
  br i1 %2501, label %2555, label %2502

2502:                                             ; preds = %2497
  br label %2503

2503:                                             ; preds = %2502
  br label %2504

2504:                                             ; preds = %2503
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #11
  %2505 = call ptr @__errno_location() #12
  %2506 = load i32, ptr %2505, align 4, !tbaa !5
  store i32 %2506, ptr %56, align 4, !tbaa !5
  %2507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2508 = call i32 @s2n_print_stacktrace(ptr noundef %2507)
  %2509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2510 = trunc i8 %2509 to i1
  br i1 %2510, label %2511, label %2533

2511:                                             ; preds = %2504
  %2512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2513 = call i32 @fileno(ptr noundef %2512) #11
  %2514 = call i32 @isatty(i32 noundef %2513) #11
  %2515 = icmp ne i32 %2514, 0
  br i1 %2515, label %2516, label %2533

2516:                                             ; preds = %2511
  %2517 = load i32, ptr %56, align 4, !tbaa !5
  %2518 = call ptr @__errno_location() #12
  store i32 %2517, ptr %2518, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call ptr @s2n_strerror(i32 noundef %2522, ptr noundef @.str.4)
  %2524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2525 = load i32, ptr %2524, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror_debug(i32 noundef %2525, ptr noundef @.str.4)
  %2527 = call ptr @__errno_location() #12
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @strerror(i32 noundef %2528) #11
  %2530 = call ptr @__errno_location() #12
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef @.str.2, i32 noundef %2520, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2523, ptr noundef %2526, ptr noundef %2529, i32 noundef %2531) #11
  br label %2550

2533:                                             ; preds = %2511, %2504
  %2534 = load i32, ptr %56, align 4, !tbaa !5
  %2535 = call ptr @__errno_location() #12
  store i32 %2534, ptr %2535, align 4, !tbaa !5
  %2536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2537 = load i32, ptr @test_count, align 4, !tbaa !5
  %2538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @s2n_strerror(i32 noundef %2539, ptr noundef @.str.4)
  %2541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call ptr @s2n_strerror_debug(i32 noundef %2542, ptr noundef @.str.4)
  %2544 = call ptr @__errno_location() #12
  %2545 = load i32, ptr %2544, align 4, !tbaa !5
  %2546 = call ptr @strerror(i32 noundef %2545) #11
  %2547 = call ptr @__errno_location() #12
  %2548 = load i32, ptr %2547, align 4, !tbaa !5
  %2549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2536, ptr noundef @.str.5, i32 noundef %2537, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 97, ptr noundef %2540, ptr noundef %2543, ptr noundef %2546, i32 noundef %2548) #11
  br label %2550

2550:                                             ; preds = %2533, %2516
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #11
  br label %2551

2551:                                             ; preds = %2550
  br label %2552

2552:                                             ; preds = %2551
  call void @exit(i32 noundef 1) #13
  unreachable

2553:                                             ; No predecessors!
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554, %2497
  br label %2556

2556:                                             ; preds = %2555
  br label %2557

2557:                                             ; preds = %2556
  br label %2558

2558:                                             ; preds = %2557
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = add nsw i32 %2559, 1
  store i32 %2560, ptr @test_count, align 4, !tbaa !5
  %2561 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %2562 = icmp eq i32 %2561, -1
  br i1 %2562, label %2563, label %2616

2563:                                             ; preds = %2558
  br label %2564

2564:                                             ; preds = %2563
  br label %2565

2565:                                             ; preds = %2564
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2566 = call ptr @__errno_location() #12
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  store i32 %2567, ptr %57, align 4, !tbaa !5
  %2568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2569 = call i32 @s2n_print_stacktrace(ptr noundef %2568)
  %2570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2571 = trunc i8 %2570 to i1
  br i1 %2571, label %2572, label %2594

2572:                                             ; preds = %2565
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = call i32 @fileno(ptr noundef %2573) #11
  %2575 = call i32 @isatty(i32 noundef %2574) #11
  %2576 = icmp ne i32 %2575, 0
  br i1 %2576, label %2577, label %2594

2577:                                             ; preds = %2572
  %2578 = load i32, ptr %57, align 4, !tbaa !5
  %2579 = call ptr @__errno_location() #12
  store i32 %2578, ptr %2579, align 4, !tbaa !5
  %2580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2581 = load i32, ptr @test_count, align 4, !tbaa !5
  %2582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror(i32 noundef %2583, ptr noundef @.str.4)
  %2585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2586 = load i32, ptr %2585, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror_debug(i32 noundef %2586, ptr noundef @.str.4)
  %2588 = call ptr @__errno_location() #12
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = call ptr @strerror(i32 noundef %2589) #11
  %2591 = call ptr @__errno_location() #12
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2580, ptr noundef @.str.2, i32 noundef %2581, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2584, ptr noundef %2587, ptr noundef %2590, i32 noundef %2592) #11
  br label %2611

2594:                                             ; preds = %2572, %2565
  %2595 = load i32, ptr %57, align 4, !tbaa !5
  %2596 = call ptr @__errno_location() #12
  store i32 %2595, ptr %2596, align 4, !tbaa !5
  %2597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2598 = load i32, ptr @test_count, align 4, !tbaa !5
  %2599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2600 = load i32, ptr %2599, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror(i32 noundef %2600, ptr noundef @.str.4)
  %2602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2603 = load i32, ptr %2602, align 4, !tbaa !5
  %2604 = call ptr @s2n_strerror_debug(i32 noundef %2603, ptr noundef @.str.4)
  %2605 = call ptr @__errno_location() #12
  %2606 = load i32, ptr %2605, align 4, !tbaa !5
  %2607 = call ptr @strerror(i32 noundef %2606) #11
  %2608 = call ptr @__errno_location() #12
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2597, ptr noundef @.str.5, i32 noundef %2598, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 98, ptr noundef %2601, ptr noundef %2604, ptr noundef %2607, i32 noundef %2609) #11
  br label %2611

2611:                                             ; preds = %2594, %2577
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2612

2612:                                             ; preds = %2611
  br label %2613

2613:                                             ; preds = %2612
  call void @exit(i32 noundef 1) #13
  unreachable

2614:                                             ; No predecessors!
  br label %2615

2615:                                             ; preds = %2614
  br label %2616

2616:                                             ; preds = %2615, %2558
  br label %2617

2617:                                             ; preds = %2616
  br label %2618

2618:                                             ; preds = %2617
  br label %2619

2619:                                             ; preds = %2618
  %2620 = load i32, ptr @test_count, align 4, !tbaa !5
  %2621 = add nsw i32 %2620, 1
  store i32 %2621, ptr @test_count, align 4, !tbaa !5
  %2622 = load i64, ptr %16, align 8, !tbaa !11
  %2623 = icmp eq i64 %2622, 0
  br i1 %2623, label %2677, label %2624

2624:                                             ; preds = %2619
  br label %2625

2625:                                             ; preds = %2624
  br label %2626

2626:                                             ; preds = %2625
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2627 = call ptr @__errno_location() #12
  %2628 = load i32, ptr %2627, align 4, !tbaa !5
  store i32 %2628, ptr %58, align 4, !tbaa !5
  %2629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2630 = call i32 @s2n_print_stacktrace(ptr noundef %2629)
  %2631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2632 = trunc i8 %2631 to i1
  br i1 %2632, label %2633, label %2655

2633:                                             ; preds = %2626
  %2634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2635 = call i32 @fileno(ptr noundef %2634) #11
  %2636 = call i32 @isatty(i32 noundef %2635) #11
  %2637 = icmp ne i32 %2636, 0
  br i1 %2637, label %2638, label %2655

2638:                                             ; preds = %2633
  %2639 = load i32, ptr %58, align 4, !tbaa !5
  %2640 = call ptr @__errno_location() #12
  store i32 %2639, ptr %2640, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = load i32, ptr @test_count, align 4, !tbaa !5
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror(i32 noundef %2644, ptr noundef @.str.4)
  %2646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror_debug(i32 noundef %2647, ptr noundef @.str.4)
  %2649 = call ptr @__errno_location() #12
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #11
  %2652 = call ptr @__errno_location() #12
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef @.str.2, i32 noundef %2642, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 99, ptr noundef %2645, ptr noundef %2648, ptr noundef %2651, i32 noundef %2653) #11
  br label %2672

2655:                                             ; preds = %2633, %2626
  %2656 = load i32, ptr %58, align 4, !tbaa !5
  %2657 = call ptr @__errno_location() #12
  store i32 %2656, ptr %2657, align 4, !tbaa !5
  %2658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2659 = load i32, ptr @test_count, align 4, !tbaa !5
  %2660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2661 = load i32, ptr %2660, align 4, !tbaa !5
  %2662 = call ptr @s2n_strerror(i32 noundef %2661, ptr noundef @.str.4)
  %2663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2664 = load i32, ptr %2663, align 4, !tbaa !5
  %2665 = call ptr @s2n_strerror_debug(i32 noundef %2664, ptr noundef @.str.4)
  %2666 = call ptr @__errno_location() #12
  %2667 = load i32, ptr %2666, align 4, !tbaa !5
  %2668 = call ptr @strerror(i32 noundef %2667) #11
  %2669 = call ptr @__errno_location() #12
  %2670 = load i32, ptr %2669, align 4, !tbaa !5
  %2671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2658, ptr noundef @.str.5, i32 noundef %2659, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 99, ptr noundef %2662, ptr noundef %2665, ptr noundef %2668, i32 noundef %2670) #11
  br label %2672

2672:                                             ; preds = %2655, %2638
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2673

2673:                                             ; preds = %2672
  br label %2674

2674:                                             ; preds = %2673
  call void @exit(i32 noundef 1) #13
  unreachable

2675:                                             ; No predecessors!
  br label %2676

2676:                                             ; preds = %2675
  br label %2677

2677:                                             ; preds = %2676, %2619
  br label %2678

2678:                                             ; preds = %2677
  br label %2679

2679:                                             ; preds = %2678
  br label %2680

2680:                                             ; preds = %2679
  %2681 = load i32, ptr @test_count, align 4, !tbaa !5
  %2682 = add nsw i32 %2681, 1
  store i32 %2682, ptr @test_count, align 4, !tbaa !5
  %2683 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %2684 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %2685 = call i64 @strlen(ptr noundef %2684) #14
  %2686 = trunc i64 %2685 to i32
  %2687 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %2683, i32 noundef %2686)
  %2688 = icmp eq i32 %2687, -1
  br i1 %2688, label %2689, label %2742

2689:                                             ; preds = %2680
  br label %2690

2690:                                             ; preds = %2689
  br label %2691

2691:                                             ; preds = %2690
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #11
  %2692 = call ptr @__errno_location() #12
  %2693 = load i32, ptr %2692, align 4, !tbaa !5
  store i32 %2693, ptr %59, align 4, !tbaa !5
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = call i32 @s2n_print_stacktrace(ptr noundef %2694)
  %2696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2697 = trunc i8 %2696 to i1
  br i1 %2697, label %2698, label %2720

2698:                                             ; preds = %2691
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @fileno(ptr noundef %2699) #11
  %2701 = call i32 @isatty(i32 noundef %2700) #11
  %2702 = icmp ne i32 %2701, 0
  br i1 %2702, label %2703, label %2720

2703:                                             ; preds = %2698
  %2704 = load i32, ptr %59, align 4, !tbaa !5
  %2705 = call ptr @__errno_location() #12
  store i32 %2704, ptr %2705, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror(i32 noundef %2709, ptr noundef @.str.4)
  %2711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call ptr @s2n_strerror_debug(i32 noundef %2712, ptr noundef @.str.4)
  %2714 = call ptr @__errno_location() #12
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call ptr @strerror(i32 noundef %2715) #11
  %2717 = call ptr @__errno_location() #12
  %2718 = load i32, ptr %2717, align 4, !tbaa !5
  %2719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef @.str.2, i32 noundef %2707, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2710, ptr noundef %2713, ptr noundef %2716, i32 noundef %2718) #11
  br label %2737

2720:                                             ; preds = %2698, %2691
  %2721 = load i32, ptr %59, align 4, !tbaa !5
  %2722 = call ptr @__errno_location() #12
  store i32 %2721, ptr %2722, align 4, !tbaa !5
  %2723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2724 = load i32, ptr @test_count, align 4, !tbaa !5
  %2725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2726 = load i32, ptr %2725, align 4, !tbaa !5
  %2727 = call ptr @s2n_strerror(i32 noundef %2726, ptr noundef @.str.4)
  %2728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2729 = load i32, ptr %2728, align 4, !tbaa !5
  %2730 = call ptr @s2n_strerror_debug(i32 noundef %2729, ptr noundef @.str.4)
  %2731 = call ptr @__errno_location() #12
  %2732 = load i32, ptr %2731, align 4, !tbaa !5
  %2733 = call ptr @strerror(i32 noundef %2732) #11
  %2734 = call ptr @__errno_location() #12
  %2735 = load i32, ptr %2734, align 4, !tbaa !5
  %2736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2723, ptr noundef @.str.5, i32 noundef %2724, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 101, ptr noundef %2727, ptr noundef %2730, ptr noundef %2733, i32 noundef %2735) #11
  br label %2737

2737:                                             ; preds = %2720, %2703
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  call void @exit(i32 noundef 1) #13
  unreachable

2740:                                             ; No predecessors!
  br label %2741

2741:                                             ; preds = %2740
  br label %2742

2742:                                             ; preds = %2741, %2680
  br label %2743

2743:                                             ; preds = %2742
  br label %2744

2744:                                             ; preds = %2743
  br label %2745

2745:                                             ; preds = %2744
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = add nsw i32 %2746, 1
  store i32 %2747, ptr @test_count, align 4, !tbaa !5
  %2748 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %2749 = icmp ne i32 %2748, 0
  br i1 %2749, label %2803, label %2750

2750:                                             ; preds = %2745
  br label %2751

2751:                                             ; preds = %2750
  br label %2752

2752:                                             ; preds = %2751
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2753 = call ptr @__errno_location() #12
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  store i32 %2754, ptr %60, align 4, !tbaa !5
  %2755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2756 = call i32 @s2n_print_stacktrace(ptr noundef %2755)
  %2757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2758 = trunc i8 %2757 to i1
  br i1 %2758, label %2759, label %2781

2759:                                             ; preds = %2752
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2761 = call i32 @fileno(ptr noundef %2760) #11
  %2762 = call i32 @isatty(i32 noundef %2761) #11
  %2763 = icmp ne i32 %2762, 0
  br i1 %2763, label %2764, label %2781

2764:                                             ; preds = %2759
  %2765 = load i32, ptr %60, align 4, !tbaa !5
  %2766 = call ptr @__errno_location() #12
  store i32 %2765, ptr %2766, align 4, !tbaa !5
  %2767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2768 = load i32, ptr @test_count, align 4, !tbaa !5
  %2769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2770 = load i32, ptr %2769, align 4, !tbaa !5
  %2771 = call ptr @s2n_strerror(i32 noundef %2770, ptr noundef @.str.4)
  %2772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2773 = load i32, ptr %2772, align 4, !tbaa !5
  %2774 = call ptr @s2n_strerror_debug(i32 noundef %2773, ptr noundef @.str.4)
  %2775 = call ptr @__errno_location() #12
  %2776 = load i32, ptr %2775, align 4, !tbaa !5
  %2777 = call ptr @strerror(i32 noundef %2776) #11
  %2778 = call ptr @__errno_location() #12
  %2779 = load i32, ptr %2778, align 4, !tbaa !5
  %2780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2767, ptr noundef @.str.2, i32 noundef %2768, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2771, ptr noundef %2774, ptr noundef %2777, i32 noundef %2779) #11
  br label %2798

2781:                                             ; preds = %2759, %2752
  %2782 = load i32, ptr %60, align 4, !tbaa !5
  %2783 = call ptr @__errno_location() #12
  store i32 %2782, ptr %2783, align 4, !tbaa !5
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2787 = load i32, ptr %2786, align 4, !tbaa !5
  %2788 = call ptr @s2n_strerror(i32 noundef %2787, ptr noundef @.str.4)
  %2789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2790 = load i32, ptr %2789, align 4, !tbaa !5
  %2791 = call ptr @s2n_strerror_debug(i32 noundef %2790, ptr noundef @.str.4)
  %2792 = call ptr @__errno_location() #12
  %2793 = load i32, ptr %2792, align 4, !tbaa !5
  %2794 = call ptr @strerror(i32 noundef %2793) #11
  %2795 = call ptr @__errno_location() #12
  %2796 = load i32, ptr %2795, align 4, !tbaa !5
  %2797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2784, ptr noundef @.str.5, i32 noundef %2785, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 102, ptr noundef %2788, ptr noundef %2791, ptr noundef %2794, i32 noundef %2796) #11
  br label %2798

2798:                                             ; preds = %2781, %2764
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2799

2799:                                             ; preds = %2798
  br label %2800

2800:                                             ; preds = %2799
  call void @exit(i32 noundef 1) #13
  unreachable

2801:                                             ; No predecessors!
  br label %2802

2802:                                             ; preds = %2801
  br label %2803

2803:                                             ; preds = %2802, %2745
  br label %2804

2804:                                             ; preds = %2803
  br label %2805

2805:                                             ; preds = %2804
  br label %2806

2806:                                             ; preds = %2805
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = add nsw i32 %2807, 1
  store i32 %2808, ptr @test_count, align 4, !tbaa !5
  %2809 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %2810 = icmp eq i32 %2809, -1
  br i1 %2810, label %2811, label %2864

2811:                                             ; preds = %2806
  br label %2812

2812:                                             ; preds = %2811
  br label %2813

2813:                                             ; preds = %2812
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #11
  %2814 = call ptr @__errno_location() #12
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  store i32 %2815, ptr %61, align 4, !tbaa !5
  %2816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2817 = call i32 @s2n_print_stacktrace(ptr noundef %2816)
  %2818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2819 = trunc i8 %2818 to i1
  br i1 %2819, label %2820, label %2842

2820:                                             ; preds = %2813
  %2821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2822 = call i32 @fileno(ptr noundef %2821) #11
  %2823 = call i32 @isatty(i32 noundef %2822) #11
  %2824 = icmp ne i32 %2823, 0
  br i1 %2824, label %2825, label %2842

2825:                                             ; preds = %2820
  %2826 = load i32, ptr %61, align 4, !tbaa !5
  %2827 = call ptr @__errno_location() #12
  store i32 %2826, ptr %2827, align 4, !tbaa !5
  %2828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2831 = load i32, ptr %2830, align 4, !tbaa !5
  %2832 = call ptr @s2n_strerror(i32 noundef %2831, ptr noundef @.str.4)
  %2833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2834 = load i32, ptr %2833, align 4, !tbaa !5
  %2835 = call ptr @s2n_strerror_debug(i32 noundef %2834, ptr noundef @.str.4)
  %2836 = call ptr @__errno_location() #12
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @strerror(i32 noundef %2837) #11
  %2839 = call ptr @__errno_location() #12
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2828, ptr noundef @.str.2, i32 noundef %2829, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 103, ptr noundef %2832, ptr noundef %2835, ptr noundef %2838, i32 noundef %2840) #11
  br label %2859

2842:                                             ; preds = %2820, %2813
  %2843 = load i32, ptr %61, align 4, !tbaa !5
  %2844 = call ptr @__errno_location() #12
  store i32 %2843, ptr %2844, align 4, !tbaa !5
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = load i32, ptr @test_count, align 4, !tbaa !5
  %2847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror(i32 noundef %2848, ptr noundef @.str.4)
  %2850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef @.str.4)
  %2853 = call ptr @__errno_location() #12
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call ptr @strerror(i32 noundef %2854) #11
  %2856 = call ptr @__errno_location() #12
  %2857 = load i32, ptr %2856, align 4, !tbaa !5
  %2858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2845, ptr noundef @.str.5, i32 noundef %2846, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 103, ptr noundef %2849, ptr noundef %2852, ptr noundef %2855, i32 noundef %2857) #11
  br label %2859

2859:                                             ; preds = %2842, %2825
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2860

2860:                                             ; preds = %2859
  br label %2861

2861:                                             ; preds = %2860
  call void @exit(i32 noundef 1) #13
  unreachable

2862:                                             ; No predecessors!
  br label %2863

2863:                                             ; preds = %2862
  br label %2864

2864:                                             ; preds = %2863, %2806
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

2866:                                             ; preds = %2865
  br label %2867

2867:                                             ; preds = %2866
  %2868 = load i32, ptr @test_count, align 4, !tbaa !5
  %2869 = add nsw i32 %2868, 1
  store i32 %2869, ptr @test_count, align 4, !tbaa !5
  %2870 = load i64, ptr %16, align 8, !tbaa !11
  %2871 = icmp eq i64 %2870, 13
  br i1 %2871, label %2925, label %2872

2872:                                             ; preds = %2867
  br label %2873

2873:                                             ; preds = %2872
  br label %2874

2874:                                             ; preds = %2873
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #11
  %2875 = call ptr @__errno_location() #12
  %2876 = load i32, ptr %2875, align 4, !tbaa !5
  store i32 %2876, ptr %62, align 4, !tbaa !5
  %2877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2878 = call i32 @s2n_print_stacktrace(ptr noundef %2877)
  %2879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2880 = trunc i8 %2879 to i1
  br i1 %2880, label %2881, label %2903

2881:                                             ; preds = %2874
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @fileno(ptr noundef %2882) #11
  %2884 = call i32 @isatty(i32 noundef %2883) #11
  %2885 = icmp ne i32 %2884, 0
  br i1 %2885, label %2886, label %2903

2886:                                             ; preds = %2881
  %2887 = load i32, ptr %62, align 4, !tbaa !5
  %2888 = call ptr @__errno_location() #12
  store i32 %2887, ptr %2888, align 4, !tbaa !5
  %2889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2890 = load i32, ptr @test_count, align 4, !tbaa !5
  %2891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2892 = load i32, ptr %2891, align 4, !tbaa !5
  %2893 = call ptr @s2n_strerror(i32 noundef %2892, ptr noundef @.str.4)
  %2894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call ptr @s2n_strerror_debug(i32 noundef %2895, ptr noundef @.str.4)
  %2897 = call ptr @__errno_location() #12
  %2898 = load i32, ptr %2897, align 4, !tbaa !5
  %2899 = call ptr @strerror(i32 noundef %2898) #11
  %2900 = call ptr @__errno_location() #12
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2889, ptr noundef @.str.2, i32 noundef %2890, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2893, ptr noundef %2896, ptr noundef %2899, i32 noundef %2901) #11
  br label %2920

2903:                                             ; preds = %2881, %2874
  %2904 = load i32, ptr %62, align 4, !tbaa !5
  %2905 = call ptr @__errno_location() #12
  store i32 %2904, ptr %2905, align 4, !tbaa !5
  %2906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2907 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %2909, ptr noundef @.str.4)
  %2911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror_debug(i32 noundef %2912, ptr noundef @.str.4)
  %2914 = call ptr @__errno_location() #12
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call ptr @strerror(i32 noundef %2915) #11
  %2917 = call ptr @__errno_location() #12
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2906, ptr noundef @.str.5, i32 noundef %2907, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 104, ptr noundef %2910, ptr noundef %2913, ptr noundef %2916, i32 noundef %2918) #11
  br label %2920

2920:                                             ; preds = %2903, %2886
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %2921

2921:                                             ; preds = %2920
  br label %2922

2922:                                             ; preds = %2921
  call void @exit(i32 noundef 1) #13
  unreachable

2923:                                             ; No predecessors!
  br label %2924

2924:                                             ; preds = %2923
  br label %2925

2925:                                             ; preds = %2924, %2867
  br label %2926

2926:                                             ; preds = %2925
  br label %2927

2927:                                             ; preds = %2926
  br label %2928

2928:                                             ; preds = %2927
  %2929 = load i32, ptr @test_count, align 4, !tbaa !5
  %2930 = add nsw i32 %2929, 1
  store i32 %2930, ptr @test_count, align 4, !tbaa !5
  %2931 = call i32 @s2n_hash_copy(ptr noundef %13, ptr noundef %12)
  %2932 = icmp eq i32 %2931, -1
  br i1 %2932, label %2933, label %2986

2933:                                             ; preds = %2928
  br label %2934

2934:                                             ; preds = %2933
  br label %2935

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

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

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

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

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

2982:                                             ; preds = %2981
  br label %2983

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

2984:                                             ; No predecessors!
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

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

2987:                                             ; preds = %2986
  br label %2988

2988:                                             ; preds = %2987
  br label %2989

2989:                                             ; preds = %2988
  %2990 = load i32, ptr @test_count, align 4, !tbaa !5
  %2991 = add nsw i32 %2990, 1
  store i32 %2991, ptr @test_count, align 4, !tbaa !5
  %2992 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %2993 = icmp ne i32 %2992, 0
  br i1 %2993, label %3047, label %2994

2994:                                             ; preds = %2989
  br label %2995

2995:                                             ; preds = %2994
  br label %2996

2996:                                             ; preds = %2995
  call void @llvm.lifetime.start.p0(i64 4, ptr %64) #11
  %2997 = call ptr @__errno_location() #12
  %2998 = load i32, ptr %2997, align 4, !tbaa !5
  store i32 %2998, ptr %64, align 4, !tbaa !5
  %2999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3000 = call i32 @s2n_print_stacktrace(ptr noundef %2999)
  %3001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3002 = trunc i8 %3001 to i1
  br i1 %3002, label %3003, label %3025

3003:                                             ; preds = %2996
  %3004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3005 = call i32 @fileno(ptr noundef %3004) #11
  %3006 = call i32 @isatty(i32 noundef %3005) #11
  %3007 = icmp ne i32 %3006, 0
  br i1 %3007, label %3008, label %3025

3008:                                             ; preds = %3003
  %3009 = load i32, ptr %64, align 4, !tbaa !5
  %3010 = call ptr @__errno_location() #12
  store i32 %3009, ptr %3010, align 4, !tbaa !5
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3014, ptr noundef @.str.4)
  %3016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3017 = load i32, ptr %3016, align 4, !tbaa !5
  %3018 = call ptr @s2n_strerror_debug(i32 noundef %3017, ptr noundef @.str.4)
  %3019 = call ptr @__errno_location() #12
  %3020 = load i32, ptr %3019, align 4, !tbaa !5
  %3021 = call ptr @strerror(i32 noundef %3020) #11
  %3022 = call ptr @__errno_location() #12
  %3023 = load i32, ptr %3022, align 4, !tbaa !5
  %3024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3011, ptr noundef @.str.2, i32 noundef %3012, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 107, ptr noundef %3015, ptr noundef %3018, ptr noundef %3021, i32 noundef %3023) #11
  br label %3042

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

3042:                                             ; preds = %3025, %3008
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3043

3043:                                             ; preds = %3042
  br label %3044

3044:                                             ; preds = %3043
  call void @exit(i32 noundef 1) #13
  unreachable

3045:                                             ; No predecessors!
  br label %3046

3046:                                             ; preds = %3045
  br label %3047

3047:                                             ; preds = %3046, %2989
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

3049:                                             ; preds = %3048
  br label %3050

3050:                                             ; preds = %3049
  %3051 = load i32, ptr @test_count, align 4, !tbaa !5
  %3052 = add nsw i32 %3051, 1
  store i32 %3052, ptr @test_count, align 4, !tbaa !5
  %3053 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %3054 = icmp eq i32 %3053, -1
  br i1 %3054, label %3055, label %3108

3055:                                             ; preds = %3050
  br label %3056

3056:                                             ; preds = %3055
  br label %3057

3057:                                             ; preds = %3056
  call void @llvm.lifetime.start.p0(i64 4, ptr %65) #11
  %3058 = call ptr @__errno_location() #12
  %3059 = load i32, ptr %3058, align 4, !tbaa !5
  store i32 %3059, ptr %65, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = call i32 @s2n_print_stacktrace(ptr noundef %3060)
  %3062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3063 = trunc i8 %3062 to i1
  br i1 %3063, label %3064, label %3086

3064:                                             ; preds = %3057
  %3065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3066 = call i32 @fileno(ptr noundef %3065) #11
  %3067 = call i32 @isatty(i32 noundef %3066) #11
  %3068 = icmp ne i32 %3067, 0
  br i1 %3068, label %3069, label %3086

3069:                                             ; preds = %3064
  %3070 = load i32, ptr %65, align 4, !tbaa !5
  %3071 = call ptr @__errno_location() #12
  store i32 %3070, ptr %3071, align 4, !tbaa !5
  %3072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3075 = load i32, ptr %3074, align 4, !tbaa !5
  %3076 = call ptr @s2n_strerror(i32 noundef %3075, ptr noundef @.str.4)
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror_debug(i32 noundef %3078, ptr noundef @.str.4)
  %3080 = call ptr @__errno_location() #12
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @strerror(i32 noundef %3081) #11
  %3083 = call ptr @__errno_location() #12
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3072, ptr noundef @.str.2, i32 noundef %3073, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 108, ptr noundef %3076, ptr noundef %3079, ptr noundef %3082, i32 noundef %3084) #11
  br label %3103

3086:                                             ; preds = %3064, %3057
  %3087 = load i32, ptr %65, align 4, !tbaa !5
  %3088 = call ptr @__errno_location() #12
  store i32 %3087, ptr %3088, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = load i32, ptr @test_count, align 4, !tbaa !5
  %3091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3092 = load i32, ptr %3091, align 4, !tbaa !5
  %3093 = call ptr @s2n_strerror(i32 noundef %3092, ptr noundef @.str.4)
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror_debug(i32 noundef %3095, ptr noundef @.str.4)
  %3097 = call ptr @__errno_location() #12
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @strerror(i32 noundef %3098) #11
  %3100 = call ptr @__errno_location() #12
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3089, ptr noundef @.str.5, i32 noundef %3090, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 108, ptr noundef %3093, ptr noundef %3096, ptr noundef %3099, i32 noundef %3101) #11
  br label %3103

3103:                                             ; preds = %3086, %3069
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %3104

3104:                                             ; preds = %3103
  br label %3105

3105:                                             ; preds = %3104
  call void @exit(i32 noundef 1) #13
  unreachable

3106:                                             ; No predecessors!
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107, %3050
  br label %3109

3109:                                             ; preds = %3108
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110
  %3112 = load i32, ptr @test_count, align 4, !tbaa !5
  %3113 = add nsw i32 %3112, 1
  store i32 %3113, ptr @test_count, align 4, !tbaa !5
  %3114 = load i64, ptr %16, align 8, !tbaa !11
  %3115 = icmp eq i64 %3114, 13
  br i1 %3115, label %3169, label %3116

3116:                                             ; preds = %3111
  br label %3117

3117:                                             ; preds = %3116
  br label %3118

3118:                                             ; preds = %3117
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #11
  %3119 = call ptr @__errno_location() #12
  %3120 = load i32, ptr %3119, align 4, !tbaa !5
  store i32 %3120, ptr %66, align 4, !tbaa !5
  %3121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3122 = call i32 @s2n_print_stacktrace(ptr noundef %3121)
  %3123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3124 = trunc i8 %3123 to i1
  br i1 %3124, label %3125, label %3147

3125:                                             ; preds = %3118
  %3126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3127 = call i32 @fileno(ptr noundef %3126) #11
  %3128 = call i32 @isatty(i32 noundef %3127) #11
  %3129 = icmp ne i32 %3128, 0
  br i1 %3129, label %3130, label %3147

3130:                                             ; preds = %3125
  %3131 = load i32, ptr %66, align 4, !tbaa !5
  %3132 = call ptr @__errno_location() #12
  store i32 %3131, ptr %3132, align 4, !tbaa !5
  %3133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3134 = load i32, ptr @test_count, align 4, !tbaa !5
  %3135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3136 = load i32, ptr %3135, align 4, !tbaa !5
  %3137 = call ptr @s2n_strerror(i32 noundef %3136, ptr noundef @.str.4)
  %3138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3139 = load i32, ptr %3138, align 4, !tbaa !5
  %3140 = call ptr @s2n_strerror_debug(i32 noundef %3139, ptr noundef @.str.4)
  %3141 = call ptr @__errno_location() #12
  %3142 = load i32, ptr %3141, align 4, !tbaa !5
  %3143 = call ptr @strerror(i32 noundef %3142) #11
  %3144 = call ptr @__errno_location() #12
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  %3146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3133, ptr noundef @.str.2, i32 noundef %3134, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 109, ptr noundef %3137, ptr noundef %3140, ptr noundef %3143, i32 noundef %3145) #11
  br label %3164

3147:                                             ; preds = %3125, %3118
  %3148 = load i32, ptr %66, align 4, !tbaa !5
  %3149 = call ptr @__errno_location() #12
  store i32 %3148, ptr %3149, align 4, !tbaa !5
  %3150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3151 = load i32, ptr @test_count, align 4, !tbaa !5
  %3152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3153 = load i32, ptr %3152, align 4, !tbaa !5
  %3154 = call ptr @s2n_strerror(i32 noundef %3153, ptr noundef @.str.4)
  %3155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3156 = load i32, ptr %3155, align 4, !tbaa !5
  %3157 = call ptr @s2n_strerror_debug(i32 noundef %3156, ptr noundef @.str.4)
  %3158 = call ptr @__errno_location() #12
  %3159 = load i32, ptr %3158, align 4, !tbaa !5
  %3160 = call ptr @strerror(i32 noundef %3159) #11
  %3161 = call ptr @__errno_location() #12
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3150, ptr noundef @.str.5, i32 noundef %3151, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 109, ptr noundef %3154, ptr noundef %3157, ptr noundef %3160, i32 noundef %3162) #11
  br label %3164

3164:                                             ; preds = %3147, %3130
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %3165

3165:                                             ; preds = %3164
  br label %3166

3166:                                             ; preds = %3165
  call void @exit(i32 noundef 1) #13
  unreachable

3167:                                             ; No predecessors!
  br label %3168

3168:                                             ; preds = %3167
  br label %3169

3169:                                             ; preds = %3168, %3111
  br label %3170

3170:                                             ; preds = %3169
  br label %3171

3171:                                             ; preds = %3170
  br label %3172

3172:                                             ; preds = %3171
  %3173 = load i32, ptr @test_count, align 4, !tbaa !5
  %3174 = add nsw i32 %3173, 1
  store i32 %3174, ptr @test_count, align 4, !tbaa !5
  %3175 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %3176 = icmp ne i32 %3175, 0
  br i1 %3176, label %3230, label %3177

3177:                                             ; preds = %3172
  br label %3178

3178:                                             ; preds = %3177
  br label %3179

3179:                                             ; preds = %3178
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %3180 = call ptr @__errno_location() #12
  %3181 = load i32, ptr %3180, align 4, !tbaa !5
  store i32 %3181, ptr %67, align 4, !tbaa !5
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = call i32 @s2n_print_stacktrace(ptr noundef %3182)
  %3184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3185 = trunc i8 %3184 to i1
  br i1 %3185, label %3186, label %3208

3186:                                             ; preds = %3179
  %3187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3188 = call i32 @fileno(ptr noundef %3187) #11
  %3189 = call i32 @isatty(i32 noundef %3188) #11
  %3190 = icmp ne i32 %3189, 0
  br i1 %3190, label %3191, label %3208

3191:                                             ; preds = %3186
  %3192 = load i32, ptr %67, align 4, !tbaa !5
  %3193 = call ptr @__errno_location() #12
  store i32 %3192, ptr %3193, align 4, !tbaa !5
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = load i32, ptr @test_count, align 4, !tbaa !5
  %3196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3197 = load i32, ptr %3196, align 4, !tbaa !5
  %3198 = call ptr @s2n_strerror(i32 noundef %3197, ptr noundef @.str.4)
  %3199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3200 = load i32, ptr %3199, align 4, !tbaa !5
  %3201 = call ptr @s2n_strerror_debug(i32 noundef %3200, ptr noundef @.str.4)
  %3202 = call ptr @__errno_location() #12
  %3203 = load i32, ptr %3202, align 4, !tbaa !5
  %3204 = call ptr @strerror(i32 noundef %3203) #11
  %3205 = call ptr @__errno_location() #12
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3194, ptr noundef @.str.2, i32 noundef %3195, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 111, ptr noundef %3198, ptr noundef %3201, ptr noundef %3204, i32 noundef %3206) #11
  br label %3225

3208:                                             ; preds = %3186, %3179
  %3209 = load i32, ptr %67, align 4, !tbaa !5
  %3210 = call ptr @__errno_location() #12
  store i32 %3209, ptr %3210, align 4, !tbaa !5
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = load i32, ptr @test_count, align 4, !tbaa !5
  %3213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3214 = load i32, ptr %3213, align 4, !tbaa !5
  %3215 = call ptr @s2n_strerror(i32 noundef %3214, ptr noundef @.str.4)
  %3216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3217 = load i32, ptr %3216, align 4, !tbaa !5
  %3218 = call ptr @s2n_strerror_debug(i32 noundef %3217, ptr noundef @.str.4)
  %3219 = call ptr @__errno_location() #12
  %3220 = load i32, ptr %3219, align 4, !tbaa !5
  %3221 = call ptr @strerror(i32 noundef %3220) #11
  %3222 = call ptr @__errno_location() #12
  %3223 = load i32, ptr %3222, align 4, !tbaa !5
  %3224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3211, ptr noundef @.str.5, i32 noundef %3212, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 111, ptr noundef %3215, ptr noundef %3218, ptr noundef %3221, i32 noundef %3223) #11
  br label %3225

3225:                                             ; preds = %3208, %3191
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3226

3226:                                             ; preds = %3225
  br label %3227

3227:                                             ; preds = %3226
  call void @exit(i32 noundef 1) #13
  unreachable

3228:                                             ; No predecessors!
  br label %3229

3229:                                             ; preds = %3228
  br label %3230

3230:                                             ; preds = %3229, %3172
  br label %3231

3231:                                             ; preds = %3230
  br label %3232

3232:                                             ; preds = %3231
  br label %3233

3233:                                             ; preds = %3232
  %3234 = load i32, ptr @test_count, align 4, !tbaa !5
  %3235 = add nsw i32 %3234, 1
  store i32 %3235, ptr @test_count, align 4, !tbaa !5
  %3236 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %3237 = icmp eq i32 %3236, -1
  br i1 %3237, label %3238, label %3291

3238:                                             ; preds = %3233
  br label %3239

3239:                                             ; preds = %3238
  br label %3240

3240:                                             ; preds = %3239
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3241 = call ptr @__errno_location() #12
  %3242 = load i32, ptr %3241, align 4, !tbaa !5
  store i32 %3242, ptr %68, align 4, !tbaa !5
  %3243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3244 = call i32 @s2n_print_stacktrace(ptr noundef %3243)
  %3245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3246 = trunc i8 %3245 to i1
  br i1 %3246, label %3247, label %3269

3247:                                             ; preds = %3240
  %3248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3249 = call i32 @fileno(ptr noundef %3248) #11
  %3250 = call i32 @isatty(i32 noundef %3249) #11
  %3251 = icmp ne i32 %3250, 0
  br i1 %3251, label %3252, label %3269

3252:                                             ; preds = %3247
  %3253 = load i32, ptr %68, align 4, !tbaa !5
  %3254 = call ptr @__errno_location() #12
  store i32 %3253, ptr %3254, align 4, !tbaa !5
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3256 = load i32, ptr @test_count, align 4, !tbaa !5
  %3257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  %3259 = call ptr @s2n_strerror(i32 noundef %3258, ptr noundef @.str.4)
  %3260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3261 = load i32, ptr %3260, align 4, !tbaa !5
  %3262 = call ptr @s2n_strerror_debug(i32 noundef %3261, ptr noundef @.str.4)
  %3263 = call ptr @__errno_location() #12
  %3264 = load i32, ptr %3263, align 4, !tbaa !5
  %3265 = call ptr @strerror(i32 noundef %3264) #11
  %3266 = call ptr @__errno_location() #12
  %3267 = load i32, ptr %3266, align 4, !tbaa !5
  %3268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3255, ptr noundef @.str.2, i32 noundef %3256, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 112, ptr noundef %3259, ptr noundef %3262, ptr noundef %3265, i32 noundef %3267) #11
  br label %3286

3269:                                             ; preds = %3247, %3240
  %3270 = load i32, ptr %68, align 4, !tbaa !5
  %3271 = call ptr @__errno_location() #12
  store i32 %3270, ptr %3271, align 4, !tbaa !5
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = load i32, ptr @test_count, align 4, !tbaa !5
  %3274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3275 = load i32, ptr %3274, align 4, !tbaa !5
  %3276 = call ptr @s2n_strerror(i32 noundef %3275, ptr noundef @.str.4)
  %3277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3278 = load i32, ptr %3277, align 4, !tbaa !5
  %3279 = call ptr @s2n_strerror_debug(i32 noundef %3278, ptr noundef @.str.4)
  %3280 = call ptr @__errno_location() #12
  %3281 = load i32, ptr %3280, align 4, !tbaa !5
  %3282 = call ptr @strerror(i32 noundef %3281) #11
  %3283 = call ptr @__errno_location() #12
  %3284 = load i32, ptr %3283, align 4, !tbaa !5
  %3285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3272, ptr noundef @.str.5, i32 noundef %3273, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 112, ptr noundef %3276, ptr noundef %3279, ptr noundef %3282, i32 noundef %3284) #11
  br label %3286

3286:                                             ; preds = %3269, %3252
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3287

3287:                                             ; preds = %3286
  br label %3288

3288:                                             ; preds = %3287
  call void @exit(i32 noundef 1) #13
  unreachable

3289:                                             ; No predecessors!
  br label %3290

3290:                                             ; preds = %3289
  br label %3291

3291:                                             ; preds = %3290, %3233
  br label %3292

3292:                                             ; preds = %3291
  br label %3293

3293:                                             ; preds = %3292
  br label %3294

3294:                                             ; preds = %3293
  %3295 = load i32, ptr @test_count, align 4, !tbaa !5
  %3296 = add nsw i32 %3295, 1
  store i32 %3296, ptr @test_count, align 4, !tbaa !5
  %3297 = load i64, ptr %16, align 8, !tbaa !11
  %3298 = icmp eq i64 %3297, 13
  br i1 %3298, label %3352, label %3299

3299:                                             ; preds = %3294
  br label %3300

3300:                                             ; preds = %3299
  br label %3301

3301:                                             ; preds = %3300
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %3302 = call ptr @__errno_location() #12
  %3303 = load i32, ptr %3302, align 4, !tbaa !5
  store i32 %3303, ptr %69, align 4, !tbaa !5
  %3304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3305 = call i32 @s2n_print_stacktrace(ptr noundef %3304)
  %3306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3307 = trunc i8 %3306 to i1
  br i1 %3307, label %3308, label %3330

3308:                                             ; preds = %3301
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = call i32 @fileno(ptr noundef %3309) #11
  %3311 = call i32 @isatty(i32 noundef %3310) #11
  %3312 = icmp ne i32 %3311, 0
  br i1 %3312, label %3313, label %3330

3313:                                             ; preds = %3308
  %3314 = load i32, ptr %69, align 4, !tbaa !5
  %3315 = call ptr @__errno_location() #12
  store i32 %3314, ptr %3315, align 4, !tbaa !5
  %3316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3317 = load i32, ptr @test_count, align 4, !tbaa !5
  %3318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3319 = load i32, ptr %3318, align 4, !tbaa !5
  %3320 = call ptr @s2n_strerror(i32 noundef %3319, ptr noundef @.str.4)
  %3321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3322 = load i32, ptr %3321, align 4, !tbaa !5
  %3323 = call ptr @s2n_strerror_debug(i32 noundef %3322, ptr noundef @.str.4)
  %3324 = call ptr @__errno_location() #12
  %3325 = load i32, ptr %3324, align 4, !tbaa !5
  %3326 = call ptr @strerror(i32 noundef %3325) #11
  %3327 = call ptr @__errno_location() #12
  %3328 = load i32, ptr %3327, align 4, !tbaa !5
  %3329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3316, ptr noundef @.str.2, i32 noundef %3317, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 113, ptr noundef %3320, ptr noundef %3323, ptr noundef %3326, i32 noundef %3328) #11
  br label %3347

3330:                                             ; preds = %3308, %3301
  %3331 = load i32, ptr %69, align 4, !tbaa !5
  %3332 = call ptr @__errno_location() #12
  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() #12
  %3342 = load i32, ptr %3341, align 4, !tbaa !5
  %3343 = call ptr @strerror(i32 noundef %3342) #11
  %3344 = call ptr @__errno_location() #12
  %3345 = load i32, ptr %3344, align 4, !tbaa !5
  %3346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef @.str.5, i32 noundef %3334, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 113, ptr noundef %3337, ptr noundef %3340, ptr noundef %3343, i32 noundef %3345) #11
  br label %3347

3347:                                             ; preds = %3330, %3313
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3348

3348:                                             ; preds = %3347
  br label %3349

3349:                                             ; preds = %3348
  call void @exit(i32 noundef 1) #13
  unreachable

3350:                                             ; No predecessors!
  br label %3351

3351:                                             ; preds = %3350
  br label %3352

3352:                                             ; preds = %3351, %3294
  br label %3353

3353:                                             ; preds = %3352
  br label %3354

3354:                                             ; preds = %3353
  br label %3355

3355:                                             ; preds = %3354
  %3356 = load i32, ptr @test_count, align 4, !tbaa !5
  %3357 = add nsw i32 %3356, 1
  store i32 %3357, ptr @test_count, align 4, !tbaa !5
  %3358 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %3359 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %3358, i32 noundef 20)
  %3360 = icmp eq i32 %3359, -1
  br i1 %3360, label %3361, label %3414

3361:                                             ; preds = %3355
  br label %3362

3362:                                             ; preds = %3361
  br label %3363

3363:                                             ; preds = %3362
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3364 = call ptr @__errno_location() #12
  %3365 = load i32, ptr %3364, align 4, !tbaa !5
  store i32 %3365, ptr %70, align 4, !tbaa !5
  %3366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3367 = call i32 @s2n_print_stacktrace(ptr noundef %3366)
  %3368 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3369 = trunc i8 %3368 to i1
  br i1 %3369, label %3370, label %3392

3370:                                             ; preds = %3363
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3372 = call i32 @fileno(ptr noundef %3371) #11
  %3373 = call i32 @isatty(i32 noundef %3372) #11
  %3374 = icmp ne i32 %3373, 0
  br i1 %3374, label %3375, label %3392

3375:                                             ; preds = %3370
  %3376 = load i32, ptr %70, align 4, !tbaa !5
  %3377 = call ptr @__errno_location() #12
  store i32 %3376, ptr %3377, align 4, !tbaa !5
  %3378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3379 = load i32, ptr @test_count, align 4, !tbaa !5
  %3380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  %3382 = call ptr @s2n_strerror(i32 noundef %3381, ptr noundef @.str.4)
  %3383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3384 = load i32, ptr %3383, align 4, !tbaa !5
  %3385 = call ptr @s2n_strerror_debug(i32 noundef %3384, ptr noundef @.str.4)
  %3386 = call ptr @__errno_location() #12
  %3387 = load i32, ptr %3386, align 4, !tbaa !5
  %3388 = call ptr @strerror(i32 noundef %3387) #11
  %3389 = call ptr @__errno_location() #12
  %3390 = load i32, ptr %3389, align 4, !tbaa !5
  %3391 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3378, ptr noundef @.str.2, i32 noundef %3379, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 115, ptr noundef %3382, ptr noundef %3385, ptr noundef %3388, i32 noundef %3390) #11
  br label %3409

3392:                                             ; preds = %3370, %3363
  %3393 = load i32, ptr %70, align 4, !tbaa !5
  %3394 = call ptr @__errno_location() #12
  store i32 %3393, ptr %3394, align 4, !tbaa !5
  %3395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3396 = load i32, ptr @test_count, align 4, !tbaa !5
  %3397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3398 = load i32, ptr %3397, align 4, !tbaa !5
  %3399 = call ptr @s2n_strerror(i32 noundef %3398, ptr noundef @.str.4)
  %3400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3401 = load i32, ptr %3400, align 4, !tbaa !5
  %3402 = call ptr @s2n_strerror_debug(i32 noundef %3401, ptr noundef @.str.4)
  %3403 = call ptr @__errno_location() #12
  %3404 = load i32, ptr %3403, align 4, !tbaa !5
  %3405 = call ptr @strerror(i32 noundef %3404) #11
  %3406 = call ptr @__errno_location() #12
  %3407 = load i32, ptr %3406, align 4, !tbaa !5
  %3408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3395, ptr noundef @.str.5, i32 noundef %3396, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 115, ptr noundef %3399, ptr noundef %3402, ptr noundef %3405, i32 noundef %3407) #11
  br label %3409

3409:                                             ; preds = %3392, %3375
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3410

3410:                                             ; preds = %3409
  br label %3411

3411:                                             ; preds = %3410
  call void @exit(i32 noundef 1) #13
  unreachable

3412:                                             ; No predecessors!
  br label %3413

3413:                                             ; preds = %3412
  br label %3414

3414:                                             ; preds = %3413, %3355
  br label %3415

3415:                                             ; preds = %3414
  br label %3416

3416:                                             ; preds = %3415
  br label %3417

3417:                                             ; preds = %3416
  %3418 = load i32, ptr @test_count, align 4, !tbaa !5
  %3419 = add nsw i32 %3418, 1
  store i32 %3419, ptr @test_count, align 4, !tbaa !5
  %3420 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %3421 = icmp ne i32 %3420, 0
  br i1 %3421, label %3422, label %3475

3422:                                             ; preds = %3417
  br label %3423

3423:                                             ; preds = %3422
  br label %3424

3424:                                             ; preds = %3423
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3425 = call ptr @__errno_location() #12
  %3426 = load i32, ptr %3425, align 4, !tbaa !5
  store i32 %3426, ptr %71, align 4, !tbaa !5
  %3427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3428 = call i32 @s2n_print_stacktrace(ptr noundef %3427)
  %3429 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3430 = trunc i8 %3429 to i1
  br i1 %3430, label %3431, label %3453

3431:                                             ; preds = %3424
  %3432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3433 = call i32 @fileno(ptr noundef %3432) #11
  %3434 = call i32 @isatty(i32 noundef %3433) #11
  %3435 = icmp ne i32 %3434, 0
  br i1 %3435, label %3436, label %3453

3436:                                             ; preds = %3431
  %3437 = load i32, ptr %71, align 4, !tbaa !5
  %3438 = call ptr @__errno_location() #12
  store i32 %3437, ptr %3438, align 4, !tbaa !5
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = load i32, ptr @test_count, align 4, !tbaa !5
  %3441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3442 = load i32, ptr %3441, align 4, !tbaa !5
  %3443 = call ptr @s2n_strerror(i32 noundef %3442, ptr noundef @.str.4)
  %3444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3445 = load i32, ptr %3444, align 4, !tbaa !5
  %3446 = call ptr @s2n_strerror_debug(i32 noundef %3445, ptr noundef @.str.4)
  %3447 = call ptr @__errno_location() #12
  %3448 = load i32, ptr %3447, align 4, !tbaa !5
  %3449 = call ptr @strerror(i32 noundef %3448) #11
  %3450 = call ptr @__errno_location() #12
  %3451 = load i32, ptr %3450, align 4, !tbaa !5
  %3452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3439, ptr noundef @.str.2, i32 noundef %3440, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3443, ptr noundef %3446, ptr noundef %3449, i32 noundef %3451) #11
  br label %3470

3453:                                             ; preds = %3431, %3424
  %3454 = load i32, ptr %71, align 4, !tbaa !5
  %3455 = call ptr @__errno_location() #12
  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() #12
  %3465 = load i32, ptr %3464, align 4, !tbaa !5
  %3466 = call ptr @strerror(i32 noundef %3465) #11
  %3467 = call ptr @__errno_location() #12
  %3468 = load i32, ptr %3467, align 4, !tbaa !5
  %3469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3456, ptr noundef @.str.5, i32 noundef %3457, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 116, ptr noundef %3460, ptr noundef %3463, ptr noundef %3466, i32 noundef %3468) #11
  br label %3470

3470:                                             ; preds = %3453, %3436
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3471

3471:                                             ; preds = %3470
  br label %3472

3472:                                             ; preds = %3471
  call void @exit(i32 noundef 1) #13
  unreachable

3473:                                             ; No predecessors!
  br label %3474

3474:                                             ; preds = %3473
  br label %3475

3475:                                             ; preds = %3474, %3417
  br label %3476

3476:                                             ; preds = %3475
  br label %3477

3477:                                             ; preds = %3476
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478
  %3480 = load i32, ptr @test_count, align 4, !tbaa !5
  %3481 = add nsw i32 %3480, 1
  store i32 %3481, ptr @test_count, align 4, !tbaa !5
  %3482 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %3483 = icmp eq i32 %3482, -1
  br i1 %3483, label %3537, label %3484

3484:                                             ; preds = %3479
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

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

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

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

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

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

3533:                                             ; preds = %3532
  br label %3534

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

3535:                                             ; No predecessors!
  br label %3536

3536:                                             ; preds = %3535
  br label %3537

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

3538:                                             ; preds = %3537
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539
  %3541 = load i32, ptr @test_count, align 4, !tbaa !5
  %3542 = add nsw i32 %3541, 1
  store i32 %3542, ptr @test_count, align 4, !tbaa !5
  %3543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3544 = load i32, ptr %3543, align 4, !tbaa !5
  %3545 = icmp eq i32 %3544, 0
  br i1 %3545, label %3546, label %3599

3546:                                             ; preds = %3540
  br label %3547

3547:                                             ; preds = %3546
  br label %3548

3548:                                             ; preds = %3547
  call void @llvm.lifetime.start.p0(i64 4, ptr %73) #11
  %3549 = call ptr @__errno_location() #12
  %3550 = load i32, ptr %3549, align 4, !tbaa !5
  store i32 %3550, ptr %73, align 4, !tbaa !5
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = call i32 @s2n_print_stacktrace(ptr noundef %3551)
  %3553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3554 = trunc i8 %3553 to i1
  br i1 %3554, label %3555, label %3577

3555:                                             ; preds = %3548
  %3556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3557 = call i32 @fileno(ptr noundef %3556) #11
  %3558 = call i32 @isatty(i32 noundef %3557) #11
  %3559 = icmp ne i32 %3558, 0
  br i1 %3559, label %3560, label %3577

3560:                                             ; preds = %3555
  %3561 = load i32, ptr %73, align 4, !tbaa !5
  %3562 = call ptr @__errno_location() #12
  store i32 %3561, ptr %3562, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = load i32, ptr @test_count, align 4, !tbaa !5
  %3565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3566 = load i32, ptr %3565, align 4, !tbaa !5
  %3567 = call ptr @s2n_strerror(i32 noundef %3566, ptr noundef @.str.4)
  %3568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror_debug(i32 noundef %3569, ptr noundef @.str.4)
  %3571 = call ptr @__errno_location() #12
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @strerror(i32 noundef %3572) #11
  %3574 = call ptr @__errno_location() #12
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3563, ptr noundef @.str.2, i32 noundef %3564, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 117, ptr noundef %3567, ptr noundef %3570, ptr noundef %3573, i32 noundef %3575) #11
  br label %3594

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

3594:                                             ; preds = %3577, %3560
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3595

3595:                                             ; preds = %3594
  br label %3596

3596:                                             ; preds = %3595
  call void @exit(i32 noundef 1) #13
  unreachable

3597:                                             ; No predecessors!
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

3599:                                             ; preds = %3598, %3540
  br label %3600

3600:                                             ; preds = %3599
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601
  %3603 = load i32, ptr @test_count, align 4, !tbaa !5
  %3604 = add nsw i32 %3603, 1
  store i32 %3604, ptr @test_count, align 4, !tbaa !5
  %3605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3606 = load i32, ptr %3605, align 4, !tbaa !5
  %3607 = call ptr @s2n_strerror_debug(i32 noundef %3606, ptr noundef @.str.4)
  %3608 = icmp eq ptr %3607, null
  br i1 %3608, label %3609, label %3662

3609:                                             ; preds = %3602
  br label %3610

3610:                                             ; preds = %3609
  br label %3611

3611:                                             ; preds = %3610
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3612 = call ptr @__errno_location() #12
  %3613 = load i32, ptr %3612, align 4, !tbaa !5
  store i32 %3613, ptr %74, align 4, !tbaa !5
  %3614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3615 = call i32 @s2n_print_stacktrace(ptr noundef %3614)
  %3616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3617 = trunc i8 %3616 to i1
  br i1 %3617, label %3618, label %3640

3618:                                             ; preds = %3611
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3620 = call i32 @fileno(ptr noundef %3619) #11
  %3621 = call i32 @isatty(i32 noundef %3620) #11
  %3622 = icmp ne i32 %3621, 0
  br i1 %3622, label %3623, label %3640

3623:                                             ; preds = %3618
  %3624 = load i32, ptr %74, align 4, !tbaa !5
  %3625 = call ptr @__errno_location() #12
  store i32 %3624, ptr %3625, align 4, !tbaa !5
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = load i32, ptr @test_count, align 4, !tbaa !5
  %3628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3629 = load i32, ptr %3628, align 4, !tbaa !5
  %3630 = call ptr @s2n_strerror(i32 noundef %3629, ptr noundef @.str.4)
  %3631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3632 = load i32, ptr %3631, align 4, !tbaa !5
  %3633 = call ptr @s2n_strerror_debug(i32 noundef %3632, ptr noundef @.str.4)
  %3634 = call ptr @__errno_location() #12
  %3635 = load i32, ptr %3634, align 4, !tbaa !5
  %3636 = call ptr @strerror(i32 noundef %3635) #11
  %3637 = call ptr @__errno_location() #12
  %3638 = load i32, ptr %3637, align 4, !tbaa !5
  %3639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3626, ptr noundef @.str.2, i32 noundef %3627, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 117, ptr noundef %3630, ptr noundef %3633, ptr noundef %3636, i32 noundef %3638) #11
  br label %3657

3640:                                             ; preds = %3618, %3611
  %3641 = load i32, ptr %74, align 4, !tbaa !5
  %3642 = call ptr @__errno_location() #12
  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() #12
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call ptr @strerror(i32 noundef %3652) #11
  %3654 = call ptr @__errno_location() #12
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3643, ptr noundef @.str.5, i32 noundef %3644, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 117, ptr noundef %3647, ptr noundef %3650, ptr noundef %3653, i32 noundef %3655) #11
  br label %3657

3657:                                             ; preds = %3640, %3623
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #11
  br label %3658

3658:                                             ; preds = %3657
  br label %3659

3659:                                             ; preds = %3658
  call void @exit(i32 noundef 1) #13
  unreachable

3660:                                             ; No predecessors!
  br label %3661

3661:                                             ; preds = %3660
  br label %3662

3662:                                             ; preds = %3661, %3602
  br label %3663

3663:                                             ; preds = %3662
  br label %3664

3664:                                             ; preds = %3663
  br label %3665

3665:                                             ; preds = %3664
  %3666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3666, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3667 = call ptr @__errno_location() #12
  store i32 0, ptr %3667, align 4, !tbaa !5
  br label %3668

3668:                                             ; preds = %3665
  br label %3669

3669:                                             ; preds = %3668
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670
  br label %3672

3672:                                             ; preds = %3671
  %3673 = load i32, ptr @test_count, align 4, !tbaa !5
  %3674 = add nsw i32 %3673, 1
  store i32 %3674, ptr @test_count, align 4, !tbaa !5
  %3675 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %3676 = icmp eq i32 %3675, -1
  br i1 %3676, label %3677, label %3730

3677:                                             ; preds = %3672
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

3679:                                             ; preds = %3678
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3680 = call ptr @__errno_location() #12
  %3681 = load i32, ptr %3680, align 4, !tbaa !5
  store i32 %3681, ptr %75, align 4, !tbaa !5
  %3682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3683 = call i32 @s2n_print_stacktrace(ptr noundef %3682)
  %3684 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3685 = trunc i8 %3684 to i1
  br i1 %3685, label %3686, label %3708

3686:                                             ; preds = %3679
  %3687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3688 = call i32 @fileno(ptr noundef %3687) #11
  %3689 = call i32 @isatty(i32 noundef %3688) #11
  %3690 = icmp ne i32 %3689, 0
  br i1 %3690, label %3691, label %3708

3691:                                             ; preds = %3686
  %3692 = load i32, ptr %75, align 4, !tbaa !5
  %3693 = call ptr @__errno_location() #12
  store i32 %3692, ptr %3693, align 4, !tbaa !5
  %3694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3695 = load i32, ptr @test_count, align 4, !tbaa !5
  %3696 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3697 = load i32, ptr %3696, align 4, !tbaa !5
  %3698 = call ptr @s2n_strerror(i32 noundef %3697, ptr noundef @.str.4)
  %3699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3700 = load i32, ptr %3699, align 4, !tbaa !5
  %3701 = call ptr @s2n_strerror_debug(i32 noundef %3700, ptr noundef @.str.4)
  %3702 = call ptr @__errno_location() #12
  %3703 = load i32, ptr %3702, align 4, !tbaa !5
  %3704 = call ptr @strerror(i32 noundef %3703) #11
  %3705 = call ptr @__errno_location() #12
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3694, ptr noundef @.str.2, i32 noundef %3695, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 119, ptr noundef %3698, ptr noundef %3701, ptr noundef %3704, i32 noundef %3706) #11
  br label %3725

3708:                                             ; preds = %3686, %3679
  %3709 = load i32, ptr %75, align 4, !tbaa !5
  %3710 = call ptr @__errno_location() #12
  store i32 %3709, ptr %3710, align 4, !tbaa !5
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3712 = load i32, ptr @test_count, align 4, !tbaa !5
  %3713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3714 = load i32, ptr %3713, align 4, !tbaa !5
  %3715 = call ptr @s2n_strerror(i32 noundef %3714, ptr noundef @.str.4)
  %3716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3717 = load i32, ptr %3716, align 4, !tbaa !5
  %3718 = call ptr @s2n_strerror_debug(i32 noundef %3717, ptr noundef @.str.4)
  %3719 = call ptr @__errno_location() #12
  %3720 = load i32, ptr %3719, align 4, !tbaa !5
  %3721 = call ptr @strerror(i32 noundef %3720) #11
  %3722 = call ptr @__errno_location() #12
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3711, ptr noundef @.str.5, i32 noundef %3712, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 119, ptr noundef %3715, ptr noundef %3718, ptr noundef %3721, i32 noundef %3723) #11
  br label %3725

3725:                                             ; preds = %3708, %3691
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3726

3726:                                             ; preds = %3725
  br label %3727

3727:                                             ; preds = %3726
  call void @exit(i32 noundef 1) #13
  unreachable

3728:                                             ; No predecessors!
  br label %3729

3729:                                             ; preds = %3728
  br label %3730

3730:                                             ; preds = %3729, %3672
  br label %3731

3731:                                             ; preds = %3730
  br label %3732

3732:                                             ; preds = %3731
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  store i32 0, ptr %76, align 4, !tbaa !5
  br label %3733

3733:                                             ; preds = %3806, %3732
  %3734 = load i32, ptr %76, align 4, !tbaa !5
  %3735 = icmp slt i32 %3734, 20
  br i1 %3735, label %3737, label %3736

3736:                                             ; preds = %3733
  store i32 367, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3809

3737:                                             ; preds = %3733
  br label %3738

3738:                                             ; preds = %3737
  %3739 = load i32, ptr @test_count, align 4, !tbaa !5
  %3740 = add nsw i32 %3739, 1
  store i32 %3740, ptr @test_count, align 4, !tbaa !5
  %3741 = load i32, ptr %76, align 4, !tbaa !5
  %3742 = sext i32 %3741 to i64
  %3743 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %3742
  %3744 = load i8, ptr %3743, align 1, !tbaa !17
  %3745 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %3744)
  %3746 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  store i32 %3745, ptr %3746, align 4
  %3747 = getelementptr inbounds %struct.s2n_result, ptr %77, i32 0, i32 0
  %3748 = load i32, ptr %3747, align 4
  %3749 = call zeroext i1 @s2n_result_is_ok(i32 %3748)
  br i1 %3749, label %3803, label %3750

3750:                                             ; preds = %3738
  br label %3751

3751:                                             ; preds = %3750
  br label %3752

3752:                                             ; preds = %3751
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3753 = call ptr @__errno_location() #12
  %3754 = load i32, ptr %3753, align 4, !tbaa !5
  store i32 %3754, ptr %78, align 4, !tbaa !5
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3756 = call i32 @s2n_print_stacktrace(ptr noundef %3755)
  %3757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3758 = trunc i8 %3757 to i1
  br i1 %3758, label %3759, label %3781

3759:                                             ; preds = %3752
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3761 = call i32 @fileno(ptr noundef %3760) #11
  %3762 = call i32 @isatty(i32 noundef %3761) #11
  %3763 = icmp ne i32 %3762, 0
  br i1 %3763, label %3764, label %3781

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

3781:                                             ; preds = %3759, %3752
  %3782 = load i32, ptr %78, align 4, !tbaa !5
  %3783 = call ptr @__errno_location() #12
  store i32 %3782, ptr %3783, align 4, !tbaa !5
  %3784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3785 = load i32, ptr @test_count, align 4, !tbaa !5
  %3786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3787 = load i32, ptr %3786, align 4, !tbaa !5
  %3788 = call ptr @s2n_strerror(i32 noundef %3787, ptr noundef @.str.4)
  %3789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3790 = load i32, ptr %3789, align 4, !tbaa !5
  %3791 = call ptr @s2n_strerror_debug(i32 noundef %3790, ptr noundef @.str.4)
  %3792 = call ptr @__errno_location() #12
  %3793 = load i32, ptr %3792, align 4, !tbaa !5
  %3794 = call ptr @strerror(i32 noundef %3793) #11
  %3795 = call ptr @__errno_location() #12
  %3796 = load i32, ptr %3795, align 4, !tbaa !5
  %3797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3784, ptr noundef @.str.5, i32 noundef %3785, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 121, ptr noundef %3788, ptr noundef %3791, ptr noundef %3794, i32 noundef %3796) #11
  br label %3798

3798:                                             ; preds = %3781, %3764
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3799

3799:                                             ; preds = %3798
  br label %3800

3800:                                             ; preds = %3799
  call void @exit(i32 noundef 1) #13
  unreachable

3801:                                             ; No predecessors!
  br label %3802

3802:                                             ; preds = %3801
  br label %3803

3803:                                             ; preds = %3802, %3738
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

3806:                                             ; preds = %3805
  %3807 = load i32, ptr %76, align 4, !tbaa !5
  %3808 = add nsw i32 %3807, 1
  store i32 %3808, ptr %76, align 4, !tbaa !5
  br label %3733, !llvm.loop !20

3809:                                             ; preds = %3736
  br label %3810

3810:                                             ; preds = %3809
  %3811 = load i32, ptr @test_count, align 4, !tbaa !5
  %3812 = add nsw i32 %3811, 1
  store i32 %3812, ptr @test_count, align 4, !tbaa !5
  %3813 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %3814 = call i32 @memcmp(ptr noundef %3813, ptr noundef @.str.34, i64 noundef 40) #14
  %3815 = icmp eq i32 %3814, 0
  br i1 %3815, label %3869, label %3816

3816:                                             ; preds = %3810
  br label %3817

3817:                                             ; preds = %3816
  br label %3818

3818:                                             ; preds = %3817
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3819 = call ptr @__errno_location() #12
  %3820 = load i32, ptr %3819, align 4, !tbaa !5
  store i32 %3820, ptr %79, align 4, !tbaa !5
  %3821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3822 = call i32 @s2n_print_stacktrace(ptr noundef %3821)
  %3823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3824 = trunc i8 %3823 to i1
  br i1 %3824, label %3825, label %3847

3825:                                             ; preds = %3818
  %3826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3827 = call i32 @fileno(ptr noundef %3826) #11
  %3828 = call i32 @isatty(i32 noundef %3827) #11
  %3829 = icmp ne i32 %3828, 0
  br i1 %3829, label %3830, label %3847

3830:                                             ; preds = %3825
  %3831 = load i32, ptr %79, align 4, !tbaa !5
  %3832 = call ptr @__errno_location() #12
  store i32 %3831, ptr %3832, align 4, !tbaa !5
  %3833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3834 = load i32, ptr @test_count, align 4, !tbaa !5
  %3835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3836 = load i32, ptr %3835, align 4, !tbaa !5
  %3837 = call ptr @s2n_strerror(i32 noundef %3836, ptr noundef @.str.4)
  %3838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3839 = load i32, ptr %3838, align 4, !tbaa !5
  %3840 = call ptr @s2n_strerror_debug(i32 noundef %3839, ptr noundef @.str.4)
  %3841 = call ptr @__errno_location() #12
  %3842 = load i32, ptr %3841, align 4, !tbaa !5
  %3843 = call ptr @strerror(i32 noundef %3842) #11
  %3844 = call ptr @__errno_location() #12
  %3845 = load i32, ptr %3844, align 4, !tbaa !5
  %3846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3833, ptr noundef @.str.2, i32 noundef %3834, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 125, ptr noundef %3837, ptr noundef %3840, ptr noundef %3843, i32 noundef %3845) #11
  br label %3864

3847:                                             ; preds = %3825, %3818
  %3848 = load i32, ptr %79, align 4, !tbaa !5
  %3849 = call ptr @__errno_location() #12
  store i32 %3848, ptr %3849, align 4, !tbaa !5
  %3850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3851 = load i32, ptr @test_count, align 4, !tbaa !5
  %3852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3853 = load i32, ptr %3852, align 4, !tbaa !5
  %3854 = call ptr @s2n_strerror(i32 noundef %3853, ptr noundef @.str.4)
  %3855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3856 = load i32, ptr %3855, align 4, !tbaa !5
  %3857 = call ptr @s2n_strerror_debug(i32 noundef %3856, ptr noundef @.str.4)
  %3858 = call ptr @__errno_location() #12
  %3859 = load i32, ptr %3858, align 4, !tbaa !5
  %3860 = call ptr @strerror(i32 noundef %3859) #11
  %3861 = call ptr @__errno_location() #12
  %3862 = load i32, ptr %3861, align 4, !tbaa !5
  %3863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3850, ptr noundef @.str.5, i32 noundef %3851, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 125, ptr noundef %3854, ptr noundef %3857, ptr noundef %3860, i32 noundef %3862) #11
  br label %3864

3864:                                             ; preds = %3847, %3830
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3865

3865:                                             ; preds = %3864
  br label %3866

3866:                                             ; preds = %3865
  call void @exit(i32 noundef 1) #13
  unreachable

3867:                                             ; No predecessors!
  br label %3868

3868:                                             ; preds = %3867
  br label %3869

3869:                                             ; preds = %3868, %3810
  br label %3870

3870:                                             ; preds = %3869
  br label %3871

3871:                                             ; preds = %3870
  br label %3872

3872:                                             ; preds = %3871
  %3873 = load i32, ptr @test_count, align 4, !tbaa !5
  %3874 = add nsw i32 %3873, 1
  store i32 %3874, ptr @test_count, align 4, !tbaa !5
  %3875 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %3876 = call i32 @s2n_hash_digest(ptr noundef %13, ptr noundef %3875, i32 noundef 20)
  %3877 = icmp eq i32 %3876, -1
  br i1 %3877, label %3878, label %3931

3878:                                             ; preds = %3872
  br label %3879

3879:                                             ; preds = %3878
  br label %3880

3880:                                             ; preds = %3879
  call void @llvm.lifetime.start.p0(i64 4, ptr %80) #11
  %3881 = call ptr @__errno_location() #12
  %3882 = load i32, ptr %3881, align 4, !tbaa !5
  store i32 %3882, ptr %80, align 4, !tbaa !5
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @s2n_print_stacktrace(ptr noundef %3883)
  %3885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3886 = trunc i8 %3885 to i1
  br i1 %3886, label %3887, label %3909

3887:                                             ; preds = %3880
  %3888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3889 = call i32 @fileno(ptr noundef %3888) #11
  %3890 = call i32 @isatty(i32 noundef %3889) #11
  %3891 = icmp ne i32 %3890, 0
  br i1 %3891, label %3892, label %3909

3892:                                             ; preds = %3887
  %3893 = load i32, ptr %80, align 4, !tbaa !5
  %3894 = call ptr @__errno_location() #12
  store i32 %3893, ptr %3894, align 4, !tbaa !5
  %3895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3896 = load i32, ptr @test_count, align 4, !tbaa !5
  %3897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3898 = load i32, ptr %3897, align 4, !tbaa !5
  %3899 = call ptr @s2n_strerror(i32 noundef %3898, ptr noundef @.str.4)
  %3900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3901 = load i32, ptr %3900, align 4, !tbaa !5
  %3902 = call ptr @s2n_strerror_debug(i32 noundef %3901, ptr noundef @.str.4)
  %3903 = call ptr @__errno_location() #12
  %3904 = load i32, ptr %3903, align 4, !tbaa !5
  %3905 = call ptr @strerror(i32 noundef %3904) #11
  %3906 = call ptr @__errno_location() #12
  %3907 = load i32, ptr %3906, align 4, !tbaa !5
  %3908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3895, ptr noundef @.str.2, i32 noundef %3896, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 128, ptr noundef %3899, ptr noundef %3902, ptr noundef %3905, i32 noundef %3907) #11
  br label %3926

3909:                                             ; preds = %3887, %3880
  %3910 = load i32, ptr %80, align 4, !tbaa !5
  %3911 = call ptr @__errno_location() #12
  store i32 %3910, ptr %3911, align 4, !tbaa !5
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = load i32, ptr @test_count, align 4, !tbaa !5
  %3914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  %3916 = call ptr @s2n_strerror(i32 noundef %3915, ptr noundef @.str.4)
  %3917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3918 = load i32, ptr %3917, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror_debug(i32 noundef %3918, ptr noundef @.str.4)
  %3920 = call ptr @__errno_location() #12
  %3921 = load i32, ptr %3920, align 4, !tbaa !5
  %3922 = call ptr @strerror(i32 noundef %3921) #11
  %3923 = call ptr @__errno_location() #12
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3912, ptr noundef @.str.5, i32 noundef %3913, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 128, ptr noundef %3916, ptr noundef %3919, ptr noundef %3922, i32 noundef %3924) #11
  br label %3926

3926:                                             ; preds = %3909, %3892
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #11
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  call void @exit(i32 noundef 1) #13
  unreachable

3929:                                             ; No predecessors!
  br label %3930

3930:                                             ; preds = %3929
  br label %3931

3931:                                             ; preds = %3930, %3872
  br label %3932

3932:                                             ; preds = %3931
  br label %3933

3933:                                             ; preds = %3932
  br label %3934

3934:                                             ; preds = %3933
  %3935 = load i32, ptr @test_count, align 4, !tbaa !5
  %3936 = add nsw i32 %3935, 1
  store i32 %3936, ptr @test_count, align 4, !tbaa !5
  %3937 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %3938 = icmp ne i32 %3937, 0
  br i1 %3938, label %3939, label %3992

3939:                                             ; preds = %3934
  br label %3940

3940:                                             ; preds = %3939
  br label %3941

3941:                                             ; preds = %3940
  call void @llvm.lifetime.start.p0(i64 4, ptr %81) #11
  %3942 = call ptr @__errno_location() #12
  %3943 = load i32, ptr %3942, align 4, !tbaa !5
  store i32 %3943, ptr %81, align 4, !tbaa !5
  %3944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3945 = call i32 @s2n_print_stacktrace(ptr noundef %3944)
  %3946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3947 = trunc i8 %3946 to i1
  br i1 %3947, label %3948, label %3970

3948:                                             ; preds = %3941
  %3949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3950 = call i32 @fileno(ptr noundef %3949) #11
  %3951 = call i32 @isatty(i32 noundef %3950) #11
  %3952 = icmp ne i32 %3951, 0
  br i1 %3952, label %3953, label %3970

3953:                                             ; preds = %3948
  %3954 = load i32, ptr %81, align 4, !tbaa !5
  %3955 = call ptr @__errno_location() #12
  store i32 %3954, ptr %3955, align 4, !tbaa !5
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = load i32, ptr @test_count, align 4, !tbaa !5
  %3958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3959 = load i32, ptr %3958, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror(i32 noundef %3959, ptr noundef @.str.4)
  %3961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3962 = load i32, ptr %3961, align 4, !tbaa !5
  %3963 = call ptr @s2n_strerror_debug(i32 noundef %3962, ptr noundef @.str.4)
  %3964 = call ptr @__errno_location() #12
  %3965 = load i32, ptr %3964, align 4, !tbaa !5
  %3966 = call ptr @strerror(i32 noundef %3965) #11
  %3967 = call ptr @__errno_location() #12
  %3968 = load i32, ptr %3967, align 4, !tbaa !5
  %3969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3956, ptr noundef @.str.2, i32 noundef %3957, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 129, ptr noundef %3960, ptr noundef %3963, ptr noundef %3966, i32 noundef %3968) #11
  br label %3987

3970:                                             ; preds = %3948, %3941
  %3971 = load i32, ptr %81, align 4, !tbaa !5
  %3972 = call ptr @__errno_location() #12
  store i32 %3971, ptr %3972, align 4, !tbaa !5
  %3973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3974 = load i32, ptr @test_count, align 4, !tbaa !5
  %3975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3976 = load i32, ptr %3975, align 4, !tbaa !5
  %3977 = call ptr @s2n_strerror(i32 noundef %3976, ptr noundef @.str.4)
  %3978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call ptr @s2n_strerror_debug(i32 noundef %3979, ptr noundef @.str.4)
  %3981 = call ptr @__errno_location() #12
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @strerror(i32 noundef %3982) #11
  %3984 = call ptr @__errno_location() #12
  %3985 = load i32, ptr %3984, align 4, !tbaa !5
  %3986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3973, ptr noundef @.str.5, i32 noundef %3974, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 129, ptr noundef %3977, ptr noundef %3980, ptr noundef %3983, i32 noundef %3985) #11
  br label %3987

3987:                                             ; preds = %3970, %3953
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #11
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  call void @exit(i32 noundef 1) #13
  unreachable

3990:                                             ; No predecessors!
  br label %3991

3991:                                             ; preds = %3990
  br label %3992

3992:                                             ; preds = %3991, %3934
  br label %3993

3993:                                             ; preds = %3992
  br label %3994

3994:                                             ; preds = %3993
  br label %3995

3995:                                             ; preds = %3994
  br label %3996

3996:                                             ; preds = %3995
  %3997 = load i32, ptr @test_count, align 4, !tbaa !5
  %3998 = add nsw i32 %3997, 1
  store i32 %3998, ptr @test_count, align 4, !tbaa !5
  %3999 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %4000 = icmp eq i32 %3999, -1
  br i1 %4000, label %4054, label %4001

4001:                                             ; preds = %3996
  br label %4002

4002:                                             ; preds = %4001
  br label %4003

4003:                                             ; preds = %4002
  call void @llvm.lifetime.start.p0(i64 4, ptr %82) #11
  %4004 = call ptr @__errno_location() #12
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  store i32 %4005, ptr %82, align 4, !tbaa !5
  %4006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4007 = call i32 @s2n_print_stacktrace(ptr noundef %4006)
  %4008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4009 = trunc i8 %4008 to i1
  br i1 %4009, label %4010, label %4032

4010:                                             ; preds = %4003
  %4011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4012 = call i32 @fileno(ptr noundef %4011) #11
  %4013 = call i32 @isatty(i32 noundef %4012) #11
  %4014 = icmp ne i32 %4013, 0
  br i1 %4014, label %4015, label %4032

4015:                                             ; preds = %4010
  %4016 = load i32, ptr %82, align 4, !tbaa !5
  %4017 = call ptr @__errno_location() #12
  store i32 %4016, ptr %4017, align 4, !tbaa !5
  %4018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4019 = load i32, ptr @test_count, align 4, !tbaa !5
  %4020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4021 = load i32, ptr %4020, align 4, !tbaa !5
  %4022 = call ptr @s2n_strerror(i32 noundef %4021, ptr noundef @.str.4)
  %4023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4024 = load i32, ptr %4023, align 4, !tbaa !5
  %4025 = call ptr @s2n_strerror_debug(i32 noundef %4024, ptr noundef @.str.4)
  %4026 = call ptr @__errno_location() #12
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  %4028 = call ptr @strerror(i32 noundef %4027) #11
  %4029 = call ptr @__errno_location() #12
  %4030 = load i32, ptr %4029, align 4, !tbaa !5
  %4031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4018, ptr noundef @.str.2, i32 noundef %4019, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4022, ptr noundef %4025, ptr noundef %4028, i32 noundef %4030) #11
  br label %4049

4032:                                             ; preds = %4010, %4003
  %4033 = load i32, ptr %82, align 4, !tbaa !5
  %4034 = call ptr @__errno_location() #12
  store i32 %4033, ptr %4034, align 4, !tbaa !5
  %4035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4036 = load i32, ptr @test_count, align 4, !tbaa !5
  %4037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4038 = load i32, ptr %4037, align 4, !tbaa !5
  %4039 = call ptr @s2n_strerror(i32 noundef %4038, ptr noundef @.str.4)
  %4040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4041 = load i32, ptr %4040, align 4, !tbaa !5
  %4042 = call ptr @s2n_strerror_debug(i32 noundef %4041, ptr noundef @.str.4)
  %4043 = call ptr @__errno_location() #12
  %4044 = load i32, ptr %4043, align 4, !tbaa !5
  %4045 = call ptr @strerror(i32 noundef %4044) #11
  %4046 = call ptr @__errno_location() #12
  %4047 = load i32, ptr %4046, align 4, !tbaa !5
  %4048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4035, ptr noundef @.str.5, i32 noundef %4036, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4039, ptr noundef %4042, ptr noundef %4045, i32 noundef %4047) #11
  br label %4049

4049:                                             ; preds = %4032, %4015
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4050

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  call void @exit(i32 noundef 1) #13
  unreachable

4052:                                             ; No predecessors!
  br label %4053

4053:                                             ; preds = %4052
  br label %4054

4054:                                             ; preds = %4053, %3996
  br label %4055

4055:                                             ; preds = %4054
  br label %4056

4056:                                             ; preds = %4055
  br label %4057

4057:                                             ; preds = %4056
  %4058 = load i32, ptr @test_count, align 4, !tbaa !5
  %4059 = add nsw i32 %4058, 1
  store i32 %4059, ptr @test_count, align 4, !tbaa !5
  %4060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4061 = load i32, ptr %4060, align 4, !tbaa !5
  %4062 = icmp eq i32 %4061, 0
  br i1 %4062, label %4063, label %4116

4063:                                             ; preds = %4057
  br label %4064

4064:                                             ; preds = %4063
  br label %4065

4065:                                             ; preds = %4064
  call void @llvm.lifetime.start.p0(i64 4, ptr %83) #11
  %4066 = call ptr @__errno_location() #12
  %4067 = load i32, ptr %4066, align 4, !tbaa !5
  store i32 %4067, ptr %83, align 4, !tbaa !5
  %4068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4069 = call i32 @s2n_print_stacktrace(ptr noundef %4068)
  %4070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4071 = trunc i8 %4070 to i1
  br i1 %4071, label %4072, label %4094

4072:                                             ; preds = %4065
  %4073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4074 = call i32 @fileno(ptr noundef %4073) #11
  %4075 = call i32 @isatty(i32 noundef %4074) #11
  %4076 = icmp ne i32 %4075, 0
  br i1 %4076, label %4077, label %4094

4077:                                             ; preds = %4072
  %4078 = load i32, ptr %83, align 4, !tbaa !5
  %4079 = call ptr @__errno_location() #12
  store i32 %4078, ptr %4079, align 4, !tbaa !5
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4081 = load i32, ptr @test_count, align 4, !tbaa !5
  %4082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4083 = load i32, ptr %4082, align 4, !tbaa !5
  %4084 = call ptr @s2n_strerror(i32 noundef %4083, ptr noundef @.str.4)
  %4085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4086 = load i32, ptr %4085, align 4, !tbaa !5
  %4087 = call ptr @s2n_strerror_debug(i32 noundef %4086, ptr noundef @.str.4)
  %4088 = call ptr @__errno_location() #12
  %4089 = load i32, ptr %4088, align 4, !tbaa !5
  %4090 = call ptr @strerror(i32 noundef %4089) #11
  %4091 = call ptr @__errno_location() #12
  %4092 = load i32, ptr %4091, align 4, !tbaa !5
  %4093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4080, ptr noundef @.str.2, i32 noundef %4081, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4084, ptr noundef %4087, ptr noundef %4090, i32 noundef %4092) #11
  br label %4111

4094:                                             ; preds = %4072, %4065
  %4095 = load i32, ptr %83, align 4, !tbaa !5
  %4096 = call ptr @__errno_location() #12
  store i32 %4095, ptr %4096, align 4, !tbaa !5
  %4097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4098 = load i32, ptr @test_count, align 4, !tbaa !5
  %4099 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4100 = load i32, ptr %4099, align 4, !tbaa !5
  %4101 = call ptr @s2n_strerror(i32 noundef %4100, ptr noundef @.str.4)
  %4102 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4103 = load i32, ptr %4102, align 4, !tbaa !5
  %4104 = call ptr @s2n_strerror_debug(i32 noundef %4103, ptr noundef @.str.4)
  %4105 = call ptr @__errno_location() #12
  %4106 = load i32, ptr %4105, align 4, !tbaa !5
  %4107 = call ptr @strerror(i32 noundef %4106) #11
  %4108 = call ptr @__errno_location() #12
  %4109 = load i32, ptr %4108, align 4, !tbaa !5
  %4110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4097, ptr noundef @.str.5, i32 noundef %4098, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4101, ptr noundef %4104, ptr noundef %4107, i32 noundef %4109) #11
  br label %4111

4111:                                             ; preds = %4094, %4077
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #11
  br label %4112

4112:                                             ; preds = %4111
  br label %4113

4113:                                             ; preds = %4112
  call void @exit(i32 noundef 1) #13
  unreachable

4114:                                             ; No predecessors!
  br label %4115

4115:                                             ; preds = %4114
  br label %4116

4116:                                             ; preds = %4115, %4057
  br label %4117

4117:                                             ; preds = %4116
  br label %4118

4118:                                             ; preds = %4117
  br label %4119

4119:                                             ; preds = %4118
  %4120 = load i32, ptr @test_count, align 4, !tbaa !5
  %4121 = add nsw i32 %4120, 1
  store i32 %4121, ptr @test_count, align 4, !tbaa !5
  %4122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4123 = load i32, ptr %4122, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror_debug(i32 noundef %4123, ptr noundef @.str.4)
  %4125 = icmp eq ptr %4124, null
  br i1 %4125, label %4126, label %4179

4126:                                             ; preds = %4119
  br label %4127

4127:                                             ; preds = %4126
  br label %4128

4128:                                             ; preds = %4127
  call void @llvm.lifetime.start.p0(i64 4, ptr %84) #11
  %4129 = call ptr @__errno_location() #12
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  store i32 %4130, ptr %84, align 4, !tbaa !5
  %4131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4132 = call i32 @s2n_print_stacktrace(ptr noundef %4131)
  %4133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4134 = trunc i8 %4133 to i1
  br i1 %4134, label %4135, label %4157

4135:                                             ; preds = %4128
  %4136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4137 = call i32 @fileno(ptr noundef %4136) #11
  %4138 = call i32 @isatty(i32 noundef %4137) #11
  %4139 = icmp ne i32 %4138, 0
  br i1 %4139, label %4140, label %4157

4140:                                             ; preds = %4135
  %4141 = load i32, ptr %84, align 4, !tbaa !5
  %4142 = call ptr @__errno_location() #12
  store i32 %4141, ptr %4142, align 4, !tbaa !5
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = load i32, ptr @test_count, align 4, !tbaa !5
  %4145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4146 = load i32, ptr %4145, align 4, !tbaa !5
  %4147 = call ptr @s2n_strerror(i32 noundef %4146, ptr noundef @.str.4)
  %4148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4149 = load i32, ptr %4148, align 4, !tbaa !5
  %4150 = call ptr @s2n_strerror_debug(i32 noundef %4149, ptr noundef @.str.4)
  %4151 = call ptr @__errno_location() #12
  %4152 = load i32, ptr %4151, align 4, !tbaa !5
  %4153 = call ptr @strerror(i32 noundef %4152) #11
  %4154 = call ptr @__errno_location() #12
  %4155 = load i32, ptr %4154, align 4, !tbaa !5
  %4156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4143, ptr noundef @.str.2, i32 noundef %4144, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4147, ptr noundef %4150, ptr noundef %4153, i32 noundef %4155) #11
  br label %4174

4157:                                             ; preds = %4135, %4128
  %4158 = load i32, ptr %84, align 4, !tbaa !5
  %4159 = call ptr @__errno_location() #12
  store i32 %4158, ptr %4159, align 4, !tbaa !5
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4161 = load i32, ptr @test_count, align 4, !tbaa !5
  %4162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4163 = load i32, ptr %4162, align 4, !tbaa !5
  %4164 = call ptr @s2n_strerror(i32 noundef %4163, ptr noundef @.str.4)
  %4165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4166 = load i32, ptr %4165, align 4, !tbaa !5
  %4167 = call ptr @s2n_strerror_debug(i32 noundef %4166, ptr noundef @.str.4)
  %4168 = call ptr @__errno_location() #12
  %4169 = load i32, ptr %4168, align 4, !tbaa !5
  %4170 = call ptr @strerror(i32 noundef %4169) #11
  %4171 = call ptr @__errno_location() #12
  %4172 = load i32, ptr %4171, align 4, !tbaa !5
  %4173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4160, ptr noundef @.str.5, i32 noundef %4161, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 130, ptr noundef %4164, ptr noundef %4167, ptr noundef %4170, i32 noundef %4172) #11
  br label %4174

4174:                                             ; preds = %4157, %4140
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %4175

4175:                                             ; preds = %4174
  br label %4176

4176:                                             ; preds = %4175
  call void @exit(i32 noundef 1) #13
  unreachable

4177:                                             ; No predecessors!
  br label %4178

4178:                                             ; preds = %4177
  br label %4179

4179:                                             ; preds = %4178, %4119
  br label %4180

4180:                                             ; preds = %4179
  br label %4181

4181:                                             ; preds = %4180
  br label %4182

4182:                                             ; preds = %4181
  %4183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4183, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4184 = call ptr @__errno_location() #12
  store i32 0, ptr %4184, align 4, !tbaa !5
  br label %4185

4185:                                             ; preds = %4182
  br label %4186

4186:                                             ; preds = %4185
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

4188:                                             ; preds = %4187
  br label %4189

4189:                                             ; preds = %4188
  %4190 = load i32, ptr @test_count, align 4, !tbaa !5
  %4191 = add nsw i32 %4190, 1
  store i32 %4191, ptr @test_count, align 4, !tbaa !5
  %4192 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %4193 = icmp eq i32 %4192, -1
  br i1 %4193, label %4194, label %4247

4194:                                             ; preds = %4189
  br label %4195

4195:                                             ; preds = %4194
  br label %4196

4196:                                             ; preds = %4195
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %4197 = call ptr @__errno_location() #12
  %4198 = load i32, ptr %4197, align 4, !tbaa !5
  store i32 %4198, ptr %85, align 4, !tbaa !5
  %4199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4200 = call i32 @s2n_print_stacktrace(ptr noundef %4199)
  %4201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4202 = trunc i8 %4201 to i1
  br i1 %4202, label %4203, label %4225

4203:                                             ; preds = %4196
  %4204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4205 = call i32 @fileno(ptr noundef %4204) #11
  %4206 = call i32 @isatty(i32 noundef %4205) #11
  %4207 = icmp ne i32 %4206, 0
  br i1 %4207, label %4208, label %4225

4208:                                             ; preds = %4203
  %4209 = load i32, ptr %85, align 4, !tbaa !5
  %4210 = call ptr @__errno_location() #12
  store i32 %4209, ptr %4210, align 4, !tbaa !5
  %4211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4212 = load i32, ptr @test_count, align 4, !tbaa !5
  %4213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4214 = load i32, ptr %4213, align 4, !tbaa !5
  %4215 = call ptr @s2n_strerror(i32 noundef %4214, ptr noundef @.str.4)
  %4216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4217 = load i32, ptr %4216, align 4, !tbaa !5
  %4218 = call ptr @s2n_strerror_debug(i32 noundef %4217, ptr noundef @.str.4)
  %4219 = call ptr @__errno_location() #12
  %4220 = load i32, ptr %4219, align 4, !tbaa !5
  %4221 = call ptr @strerror(i32 noundef %4220) #11
  %4222 = call ptr @__errno_location() #12
  %4223 = load i32, ptr %4222, align 4, !tbaa !5
  %4224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4211, ptr noundef @.str.2, i32 noundef %4212, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 132, ptr noundef %4215, ptr noundef %4218, ptr noundef %4221, i32 noundef %4223) #11
  br label %4242

4225:                                             ; preds = %4203, %4196
  %4226 = load i32, ptr %85, align 4, !tbaa !5
  %4227 = call ptr @__errno_location() #12
  store i32 %4226, ptr %4227, align 4, !tbaa !5
  %4228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4229 = load i32, ptr @test_count, align 4, !tbaa !5
  %4230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4231 = load i32, ptr %4230, align 4, !tbaa !5
  %4232 = call ptr @s2n_strerror(i32 noundef %4231, ptr noundef @.str.4)
  %4233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4234 = load i32, ptr %4233, align 4, !tbaa !5
  %4235 = call ptr @s2n_strerror_debug(i32 noundef %4234, ptr noundef @.str.4)
  %4236 = call ptr @__errno_location() #12
  %4237 = load i32, ptr %4236, align 4, !tbaa !5
  %4238 = call ptr @strerror(i32 noundef %4237) #11
  %4239 = call ptr @__errno_location() #12
  %4240 = load i32, ptr %4239, align 4, !tbaa !5
  %4241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4228, ptr noundef @.str.5, i32 noundef %4229, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 132, ptr noundef %4232, ptr noundef %4235, ptr noundef %4238, i32 noundef %4240) #11
  br label %4242

4242:                                             ; preds = %4225, %4208
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #11
  br label %4243

4243:                                             ; preds = %4242
  br label %4244

4244:                                             ; preds = %4243
  call void @exit(i32 noundef 1) #13
  unreachable

4245:                                             ; No predecessors!
  br label %4246

4246:                                             ; preds = %4245
  br label %4247

4247:                                             ; preds = %4246, %4189
  br label %4248

4248:                                             ; preds = %4247
  br label %4249

4249:                                             ; preds = %4248
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #11
  store i32 0, ptr %86, align 4, !tbaa !5
  br label %4250

4250:                                             ; preds = %4323, %4249
  %4251 = load i32, ptr %86, align 4, !tbaa !5
  %4252 = icmp slt i32 %4251, 20
  br i1 %4252, label %4254, label %4253

4253:                                             ; preds = %4250
  store i32 422, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4326

4254:                                             ; preds = %4250
  br label %4255

4255:                                             ; preds = %4254
  %4256 = load i32, ptr @test_count, align 4, !tbaa !5
  %4257 = add nsw i32 %4256, 1
  store i32 %4257, ptr @test_count, align 4, !tbaa !5
  %4258 = load i32, ptr %86, align 4, !tbaa !5
  %4259 = sext i32 %4258 to i64
  %4260 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %4259
  %4261 = load i8, ptr %4260, align 1, !tbaa !17
  %4262 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %4261)
  %4263 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  store i32 %4262, ptr %4263, align 4
  %4264 = getelementptr inbounds %struct.s2n_result, ptr %87, i32 0, i32 0
  %4265 = load i32, ptr %4264, align 4
  %4266 = call zeroext i1 @s2n_result_is_ok(i32 %4265)
  br i1 %4266, label %4320, label %4267

4267:                                             ; preds = %4255
  br label %4268

4268:                                             ; preds = %4267
  br label %4269

4269:                                             ; preds = %4268
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #11
  %4270 = call ptr @__errno_location() #12
  %4271 = load i32, ptr %4270, align 4, !tbaa !5
  store i32 %4271, ptr %88, align 4, !tbaa !5
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = call i32 @s2n_print_stacktrace(ptr noundef %4272)
  %4274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4275 = trunc i8 %4274 to i1
  br i1 %4275, label %4276, label %4298

4276:                                             ; preds = %4269
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = call i32 @fileno(ptr noundef %4277) #11
  %4279 = call i32 @isatty(i32 noundef %4278) #11
  %4280 = icmp ne i32 %4279, 0
  br i1 %4280, label %4281, label %4298

4281:                                             ; preds = %4276
  %4282 = load i32, ptr %88, align 4, !tbaa !5
  %4283 = call ptr @__errno_location() #12
  store i32 %4282, ptr %4283, align 4, !tbaa !5
  %4284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4285 = load i32, ptr @test_count, align 4, !tbaa !5
  %4286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror(i32 noundef %4287, ptr noundef @.str.4)
  %4289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call ptr @s2n_strerror_debug(i32 noundef %4290, ptr noundef @.str.4)
  %4292 = call ptr @__errno_location() #12
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call ptr @strerror(i32 noundef %4293) #11
  %4295 = call ptr @__errno_location() #12
  %4296 = load i32, ptr %4295, align 4, !tbaa !5
  %4297 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4284, ptr noundef @.str.2, i32 noundef %4285, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 134, ptr noundef %4288, ptr noundef %4291, ptr noundef %4294, i32 noundef %4296) #11
  br label %4315

4298:                                             ; preds = %4276, %4269
  %4299 = load i32, ptr %88, align 4, !tbaa !5
  %4300 = call ptr @__errno_location() #12
  store i32 %4299, ptr %4300, align 4, !tbaa !5
  %4301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4302 = load i32, ptr @test_count, align 4, !tbaa !5
  %4303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call ptr @s2n_strerror(i32 noundef %4304, ptr noundef @.str.4)
  %4306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call ptr @s2n_strerror_debug(i32 noundef %4307, ptr noundef @.str.4)
  %4309 = call ptr @__errno_location() #12
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call ptr @strerror(i32 noundef %4310) #11
  %4312 = call ptr @__errno_location() #12
  %4313 = load i32, ptr %4312, align 4, !tbaa !5
  %4314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4301, ptr noundef @.str.5, i32 noundef %4302, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 134, ptr noundef %4305, ptr noundef %4308, ptr noundef %4311, i32 noundef %4313) #11
  br label %4315

4315:                                             ; preds = %4298, %4281
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4316

4316:                                             ; preds = %4315
  br label %4317

4317:                                             ; preds = %4316
  call void @exit(i32 noundef 1) #13
  unreachable

4318:                                             ; No predecessors!
  br label %4319

4319:                                             ; preds = %4318
  br label %4320

4320:                                             ; preds = %4319, %4255
  br label %4321

4321:                                             ; preds = %4320
  br label %4322

4322:                                             ; preds = %4321
  br label %4323

4323:                                             ; preds = %4322
  %4324 = load i32, ptr %86, align 4, !tbaa !5
  %4325 = add nsw i32 %4324, 1
  store i32 %4325, ptr %86, align 4, !tbaa !5
  br label %4250, !llvm.loop !21

4326:                                             ; preds = %4253
  br label %4327

4327:                                             ; preds = %4326
  %4328 = load i32, ptr @test_count, align 4, !tbaa !5
  %4329 = add nsw i32 %4328, 1
  store i32 %4329, ptr @test_count, align 4, !tbaa !5
  %4330 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %4331 = call i32 @memcmp(ptr noundef %4330, ptr noundef @.str.34, i64 noundef 40) #14
  %4332 = icmp eq i32 %4331, 0
  br i1 %4332, label %4386, label %4333

4333:                                             ; preds = %4327
  br label %4334

4334:                                             ; preds = %4333
  br label %4335

4335:                                             ; preds = %4334
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #11
  %4336 = call ptr @__errno_location() #12
  %4337 = load i32, ptr %4336, align 4, !tbaa !5
  store i32 %4337, ptr %89, align 4, !tbaa !5
  %4338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4339 = call i32 @s2n_print_stacktrace(ptr noundef %4338)
  %4340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4341 = trunc i8 %4340 to i1
  br i1 %4341, label %4342, label %4364

4342:                                             ; preds = %4335
  %4343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4344 = call i32 @fileno(ptr noundef %4343) #11
  %4345 = call i32 @isatty(i32 noundef %4344) #11
  %4346 = icmp ne i32 %4345, 0
  br i1 %4346, label %4347, label %4364

4347:                                             ; preds = %4342
  %4348 = load i32, ptr %89, align 4, !tbaa !5
  %4349 = call ptr @__errno_location() #12
  store i32 %4348, ptr %4349, align 4, !tbaa !5
  %4350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4351 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4353, ptr noundef @.str.4)
  %4355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call ptr @s2n_strerror_debug(i32 noundef %4356, ptr noundef @.str.4)
  %4358 = call ptr @__errno_location() #12
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call ptr @strerror(i32 noundef %4359) #11
  %4361 = call ptr @__errno_location() #12
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4350, ptr noundef @.str.2, i32 noundef %4351, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 138, ptr noundef %4354, ptr noundef %4357, ptr noundef %4360, i32 noundef %4362) #11
  br label %4381

4364:                                             ; preds = %4342, %4335
  %4365 = load i32, ptr %89, align 4, !tbaa !5
  %4366 = call ptr @__errno_location() #12
  store i32 %4365, ptr %4366, align 4, !tbaa !5
  %4367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4368 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4370, ptr noundef @.str.4)
  %4372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call ptr @s2n_strerror_debug(i32 noundef %4373, ptr noundef @.str.4)
  %4375 = call ptr @__errno_location() #12
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call ptr @strerror(i32 noundef %4376) #11
  %4378 = call ptr @__errno_location() #12
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4367, ptr noundef @.str.5, i32 noundef %4368, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 138, ptr noundef %4371, ptr noundef %4374, ptr noundef %4377, i32 noundef %4379) #11
  br label %4381

4381:                                             ; preds = %4364, %4347
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4382

4382:                                             ; preds = %4381
  br label %4383

4383:                                             ; preds = %4382
  call void @exit(i32 noundef 1) #13
  unreachable

4384:                                             ; No predecessors!
  br label %4385

4385:                                             ; preds = %4384
  br label %4386

4386:                                             ; preds = %4385, %4327
  br label %4387

4387:                                             ; preds = %4386
  br label %4388

4388:                                             ; preds = %4387
  br label %4389

4389:                                             ; preds = %4388
  %4390 = load i32, ptr @test_count, align 4, !tbaa !5
  %4391 = add nsw i32 %4390, 1
  store i32 %4391, ptr @test_count, align 4, !tbaa !5
  %4392 = call i32 @s2n_hash_reset(ptr noundef %12)
  %4393 = icmp eq i32 %4392, -1
  br i1 %4393, label %4394, label %4447

4394:                                             ; preds = %4389
  br label %4395

4395:                                             ; preds = %4394
  br label %4396

4396:                                             ; preds = %4395
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #11
  %4397 = call ptr @__errno_location() #12
  %4398 = load i32, ptr %4397, align 4, !tbaa !5
  store i32 %4398, ptr %90, align 4, !tbaa !5
  %4399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4400 = call i32 @s2n_print_stacktrace(ptr noundef %4399)
  %4401 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4402 = trunc i8 %4401 to i1
  br i1 %4402, label %4403, label %4425

4403:                                             ; preds = %4396
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = call i32 @fileno(ptr noundef %4404) #11
  %4406 = call i32 @isatty(i32 noundef %4405) #11
  %4407 = icmp ne i32 %4406, 0
  br i1 %4407, label %4408, label %4425

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

4425:                                             ; preds = %4403, %4396
  %4426 = load i32, ptr %90, align 4, !tbaa !5
  %4427 = call ptr @__errno_location() #12
  store i32 %4426, ptr %4427, align 4, !tbaa !5
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4429 = load i32, ptr @test_count, align 4, !tbaa !5
  %4430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4431 = load i32, ptr %4430, align 4, !tbaa !5
  %4432 = call ptr @s2n_strerror(i32 noundef %4431, ptr noundef @.str.4)
  %4433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4434 = load i32, ptr %4433, align 4, !tbaa !5
  %4435 = call ptr @s2n_strerror_debug(i32 noundef %4434, ptr noundef @.str.4)
  %4436 = call ptr @__errno_location() #12
  %4437 = load i32, ptr %4436, align 4, !tbaa !5
  %4438 = call ptr @strerror(i32 noundef %4437) #11
  %4439 = call ptr @__errno_location() #12
  %4440 = load i32, ptr %4439, align 4, !tbaa !5
  %4441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4428, ptr noundef @.str.5, i32 noundef %4429, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 140, ptr noundef %4432, ptr noundef %4435, ptr noundef %4438, i32 noundef %4440) #11
  br label %4442

4442:                                             ; preds = %4425, %4408
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4443

4443:                                             ; preds = %4442
  br label %4444

4444:                                             ; preds = %4443
  call void @exit(i32 noundef 1) #13
  unreachable

4445:                                             ; No predecessors!
  br label %4446

4446:                                             ; preds = %4445
  br label %4447

4447:                                             ; preds = %4446, %4389
  br label %4448

4448:                                             ; preds = %4447
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  %4451 = load i32, ptr @test_count, align 4, !tbaa !5
  %4452 = add nsw i32 %4451, 1
  store i32 %4452, ptr @test_count, align 4, !tbaa !5
  %4453 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %4454 = icmp ne i32 %4453, 0
  br i1 %4454, label %4508, label %4455

4455:                                             ; preds = %4450
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

4457:                                             ; preds = %4456
  call void @llvm.lifetime.start.p0(i64 4, ptr %91) #11
  %4458 = call ptr @__errno_location() #12
  %4459 = load i32, ptr %4458, align 4, !tbaa !5
  store i32 %4459, ptr %91, align 4, !tbaa !5
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4461 = call i32 @s2n_print_stacktrace(ptr noundef %4460)
  %4462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4463 = trunc i8 %4462 to i1
  br i1 %4463, label %4464, label %4486

4464:                                             ; preds = %4457
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = call i32 @fileno(ptr noundef %4465) #11
  %4467 = call i32 @isatty(i32 noundef %4466) #11
  %4468 = icmp ne i32 %4467, 0
  br i1 %4468, label %4469, label %4486

4469:                                             ; preds = %4464
  %4470 = load i32, ptr %91, align 4, !tbaa !5
  %4471 = call ptr @__errno_location() #12
  store i32 %4470, ptr %4471, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = load i32, ptr @test_count, align 4, !tbaa !5
  %4474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call ptr @s2n_strerror(i32 noundef %4475, ptr noundef @.str.4)
  %4477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4478 = load i32, ptr %4477, align 4, !tbaa !5
  %4479 = call ptr @s2n_strerror_debug(i32 noundef %4478, ptr noundef @.str.4)
  %4480 = call ptr @__errno_location() #12
  %4481 = load i32, ptr %4480, align 4, !tbaa !5
  %4482 = call ptr @strerror(i32 noundef %4481) #11
  %4483 = call ptr @__errno_location() #12
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  %4485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4472, ptr noundef @.str.2, i32 noundef %4473, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %4476, ptr noundef %4479, ptr noundef %4482, i32 noundef %4484) #11
  br label %4503

4486:                                             ; preds = %4464, %4457
  %4487 = load i32, ptr %91, align 4, !tbaa !5
  %4488 = call ptr @__errno_location() #12
  store i32 %4487, ptr %4488, align 4, !tbaa !5
  %4489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @s2n_strerror(i32 noundef %4492, ptr noundef @.str.4)
  %4494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef @.str.4)
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @strerror(i32 noundef %4498) #11
  %4500 = call ptr @__errno_location() #12
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4489, ptr noundef @.str.5, i32 noundef %4490, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 141, ptr noundef %4493, ptr noundef %4496, ptr noundef %4499, i32 noundef %4501) #11
  br label %4503

4503:                                             ; preds = %4486, %4469
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #11
  br label %4504

4504:                                             ; preds = %4503
  br label %4505

4505:                                             ; preds = %4504
  call void @exit(i32 noundef 1) #13
  unreachable

4506:                                             ; No predecessors!
  br label %4507

4507:                                             ; preds = %4506
  br label %4508

4508:                                             ; preds = %4507, %4450
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

4510:                                             ; preds = %4509
  br label %4511

4511:                                             ; preds = %4510
  %4512 = load i32, ptr @test_count, align 4, !tbaa !5
  %4513 = add nsw i32 %4512, 1
  store i32 %4513, ptr @test_count, align 4, !tbaa !5
  %4514 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %4515 = icmp eq i32 %4514, -1
  br i1 %4515, label %4516, label %4569

4516:                                             ; preds = %4511
  br label %4517

4517:                                             ; preds = %4516
  br label %4518

4518:                                             ; preds = %4517
  call void @llvm.lifetime.start.p0(i64 4, ptr %92) #11
  %4519 = call ptr @__errno_location() #12
  %4520 = load i32, ptr %4519, align 4, !tbaa !5
  store i32 %4520, ptr %92, align 4, !tbaa !5
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = call i32 @s2n_print_stacktrace(ptr noundef %4521)
  %4523 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4524 = trunc i8 %4523 to i1
  br i1 %4524, label %4525, label %4547

4525:                                             ; preds = %4518
  %4526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4527 = call i32 @fileno(ptr noundef %4526) #11
  %4528 = call i32 @isatty(i32 noundef %4527) #11
  %4529 = icmp ne i32 %4528, 0
  br i1 %4529, label %4530, label %4547

4530:                                             ; preds = %4525
  %4531 = load i32, ptr %92, align 4, !tbaa !5
  %4532 = call ptr @__errno_location() #12
  store i32 %4531, ptr %4532, align 4, !tbaa !5
  %4533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4534 = load i32, ptr @test_count, align 4, !tbaa !5
  %4535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4536 = load i32, ptr %4535, align 4, !tbaa !5
  %4537 = call ptr @s2n_strerror(i32 noundef %4536, ptr noundef @.str.4)
  %4538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4539 = load i32, ptr %4538, align 4, !tbaa !5
  %4540 = call ptr @s2n_strerror_debug(i32 noundef %4539, ptr noundef @.str.4)
  %4541 = call ptr @__errno_location() #12
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @strerror(i32 noundef %4542) #11
  %4544 = call ptr @__errno_location() #12
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4533, ptr noundef @.str.2, i32 noundef %4534, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 142, ptr noundef %4537, ptr noundef %4540, ptr noundef %4543, i32 noundef %4545) #11
  br label %4564

4547:                                             ; preds = %4525, %4518
  %4548 = load i32, ptr %92, align 4, !tbaa !5
  %4549 = call ptr @__errno_location() #12
  store i32 %4548, ptr %4549, align 4, !tbaa !5
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = load i32, ptr @test_count, align 4, !tbaa !5
  %4552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4553 = load i32, ptr %4552, align 4, !tbaa !5
  %4554 = call ptr @s2n_strerror(i32 noundef %4553, ptr noundef @.str.4)
  %4555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4556 = load i32, ptr %4555, align 4, !tbaa !5
  %4557 = call ptr @s2n_strerror_debug(i32 noundef %4556, ptr noundef @.str.4)
  %4558 = call ptr @__errno_location() #12
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call ptr @strerror(i32 noundef %4559) #11
  %4561 = call ptr @__errno_location() #12
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4550, ptr noundef @.str.5, i32 noundef %4551, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 142, ptr noundef %4554, ptr noundef %4557, ptr noundef %4560, i32 noundef %4562) #11
  br label %4564

4564:                                             ; preds = %4547, %4530
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

4566:                                             ; preds = %4565
  call void @exit(i32 noundef 1) #13
  unreachable

4567:                                             ; No predecessors!
  br label %4568

4568:                                             ; preds = %4567
  br label %4569

4569:                                             ; preds = %4568, %4511
  br label %4570

4570:                                             ; preds = %4569
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571
  %4573 = load i32, ptr @test_count, align 4, !tbaa !5
  %4574 = add nsw i32 %4573, 1
  store i32 %4574, ptr @test_count, align 4, !tbaa !5
  %4575 = load i64, ptr %16, align 8, !tbaa !11
  %4576 = icmp eq i64 %4575, 0
  br i1 %4576, label %4630, label %4577

4577:                                             ; preds = %4572
  br label %4578

4578:                                             ; preds = %4577
  br label %4579

4579:                                             ; preds = %4578
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #11
  %4580 = call ptr @__errno_location() #12
  %4581 = load i32, ptr %4580, align 4, !tbaa !5
  store i32 %4581, ptr %93, align 4, !tbaa !5
  %4582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4583 = call i32 @s2n_print_stacktrace(ptr noundef %4582)
  %4584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4585 = trunc i8 %4584 to i1
  br i1 %4585, label %4586, label %4608

4586:                                             ; preds = %4579
  %4587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4588 = call i32 @fileno(ptr noundef %4587) #11
  %4589 = call i32 @isatty(i32 noundef %4588) #11
  %4590 = icmp ne i32 %4589, 0
  br i1 %4590, label %4591, label %4608

4591:                                             ; preds = %4586
  %4592 = load i32, ptr %93, align 4, !tbaa !5
  %4593 = call ptr @__errno_location() #12
  store i32 %4592, ptr %4593, align 4, !tbaa !5
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4595 = load i32, ptr @test_count, align 4, !tbaa !5
  %4596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = call ptr @s2n_strerror(i32 noundef %4597, ptr noundef @.str.4)
  %4599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call ptr @s2n_strerror_debug(i32 noundef %4600, ptr noundef @.str.4)
  %4602 = call ptr @__errno_location() #12
  %4603 = load i32, ptr %4602, align 4, !tbaa !5
  %4604 = call ptr @strerror(i32 noundef %4603) #11
  %4605 = call ptr @__errno_location() #12
  %4606 = load i32, ptr %4605, align 4, !tbaa !5
  %4607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4594, ptr noundef @.str.2, i32 noundef %4595, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %4598, ptr noundef %4601, ptr noundef %4604, i32 noundef %4606) #11
  br label %4625

4608:                                             ; preds = %4586, %4579
  %4609 = load i32, ptr %93, align 4, !tbaa !5
  %4610 = call ptr @__errno_location() #12
  store i32 %4609, ptr %4610, align 4, !tbaa !5
  %4611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4612 = load i32, ptr @test_count, align 4, !tbaa !5
  %4613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = call ptr @s2n_strerror(i32 noundef %4614, ptr noundef @.str.4)
  %4616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4617 = load i32, ptr %4616, align 4, !tbaa !5
  %4618 = call ptr @s2n_strerror_debug(i32 noundef %4617, ptr noundef @.str.4)
  %4619 = call ptr @__errno_location() #12
  %4620 = load i32, ptr %4619, align 4, !tbaa !5
  %4621 = call ptr @strerror(i32 noundef %4620) #11
  %4622 = call ptr @__errno_location() #12
  %4623 = load i32, ptr %4622, align 4, !tbaa !5
  %4624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4611, ptr noundef @.str.5, i32 noundef %4612, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 143, ptr noundef %4615, ptr noundef %4618, ptr noundef %4621, i32 noundef %4623) #11
  br label %4625

4625:                                             ; preds = %4608, %4591
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4626

4626:                                             ; preds = %4625
  br label %4627

4627:                                             ; preds = %4626
  call void @exit(i32 noundef 1) #13
  unreachable

4628:                                             ; No predecessors!
  br label %4629

4629:                                             ; preds = %4628
  br label %4630

4630:                                             ; preds = %4629, %4572
  br label %4631

4631:                                             ; preds = %4630
  br label %4632

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  %4634 = load i32, ptr @test_count, align 4, !tbaa !5
  %4635 = add nsw i32 %4634, 1
  store i32 %4635, ptr @test_count, align 4, !tbaa !5
  %4636 = call i32 @s2n_hash_reset(ptr noundef %13)
  %4637 = icmp eq i32 %4636, -1
  br i1 %4637, label %4638, label %4691

4638:                                             ; preds = %4633
  br label %4639

4639:                                             ; preds = %4638
  br label %4640

4640:                                             ; preds = %4639
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #11
  %4641 = call ptr @__errno_location() #12
  %4642 = load i32, ptr %4641, align 4, !tbaa !5
  store i32 %4642, ptr %94, align 4, !tbaa !5
  %4643 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4644 = call i32 @s2n_print_stacktrace(ptr noundef %4643)
  %4645 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4646 = trunc i8 %4645 to i1
  br i1 %4646, label %4647, label %4669

4647:                                             ; preds = %4640
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = call i32 @fileno(ptr noundef %4648) #11
  %4650 = call i32 @isatty(i32 noundef %4649) #11
  %4651 = icmp ne i32 %4650, 0
  br i1 %4651, label %4652, label %4669

4652:                                             ; preds = %4647
  %4653 = load i32, ptr %94, align 4, !tbaa !5
  %4654 = call ptr @__errno_location() #12
  store i32 %4653, ptr %4654, align 4, !tbaa !5
  %4655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4656 = load i32, ptr @test_count, align 4, !tbaa !5
  %4657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4658 = load i32, ptr %4657, align 4, !tbaa !5
  %4659 = call ptr @s2n_strerror(i32 noundef %4658, ptr noundef @.str.4)
  %4660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4661 = load i32, ptr %4660, align 4, !tbaa !5
  %4662 = call ptr @s2n_strerror_debug(i32 noundef %4661, ptr noundef @.str.4)
  %4663 = call ptr @__errno_location() #12
  %4664 = load i32, ptr %4663, align 4, !tbaa !5
  %4665 = call ptr @strerror(i32 noundef %4664) #11
  %4666 = call ptr @__errno_location() #12
  %4667 = load i32, ptr %4666, align 4, !tbaa !5
  %4668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4655, ptr noundef @.str.2, i32 noundef %4656, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 145, ptr noundef %4659, ptr noundef %4662, ptr noundef %4665, i32 noundef %4667) #11
  br label %4686

4669:                                             ; preds = %4647, %4640
  %4670 = load i32, ptr %94, align 4, !tbaa !5
  %4671 = call ptr @__errno_location() #12
  store i32 %4670, ptr %4671, align 4, !tbaa !5
  %4672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4673 = load i32, ptr @test_count, align 4, !tbaa !5
  %4674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4675 = load i32, ptr %4674, align 4, !tbaa !5
  %4676 = call ptr @s2n_strerror(i32 noundef %4675, ptr noundef @.str.4)
  %4677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4678 = load i32, ptr %4677, align 4, !tbaa !5
  %4679 = call ptr @s2n_strerror_debug(i32 noundef %4678, ptr noundef @.str.4)
  %4680 = call ptr @__errno_location() #12
  %4681 = load i32, ptr %4680, align 4, !tbaa !5
  %4682 = call ptr @strerror(i32 noundef %4681) #11
  %4683 = call ptr @__errno_location() #12
  %4684 = load i32, ptr %4683, align 4, !tbaa !5
  %4685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4672, ptr noundef @.str.5, i32 noundef %4673, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 145, ptr noundef %4676, ptr noundef %4679, ptr noundef %4682, i32 noundef %4684) #11
  br label %4686

4686:                                             ; preds = %4669, %4652
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #11
  br label %4687

4687:                                             ; preds = %4686
  br label %4688

4688:                                             ; preds = %4687
  call void @exit(i32 noundef 1) #13
  unreachable

4689:                                             ; No predecessors!
  br label %4690

4690:                                             ; preds = %4689
  br label %4691

4691:                                             ; preds = %4690, %4633
  br label %4692

4692:                                             ; preds = %4691
  br label %4693

4693:                                             ; preds = %4692
  br label %4694

4694:                                             ; preds = %4693
  %4695 = load i32, ptr @test_count, align 4, !tbaa !5
  %4696 = add nsw i32 %4695, 1
  store i32 %4696, ptr @test_count, align 4, !tbaa !5
  %4697 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %4698 = icmp ne i32 %4697, 0
  br i1 %4698, label %4752, label %4699

4699:                                             ; preds = %4694
  br label %4700

4700:                                             ; preds = %4699
  br label %4701

4701:                                             ; preds = %4700
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #11
  %4702 = call ptr @__errno_location() #12
  %4703 = load i32, ptr %4702, align 4, !tbaa !5
  store i32 %4703, ptr %95, align 4, !tbaa !5
  %4704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4705 = call i32 @s2n_print_stacktrace(ptr noundef %4704)
  %4706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4707 = trunc i8 %4706 to i1
  br i1 %4707, label %4708, label %4730

4708:                                             ; preds = %4701
  %4709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4710 = call i32 @fileno(ptr noundef %4709) #11
  %4711 = call i32 @isatty(i32 noundef %4710) #11
  %4712 = icmp ne i32 %4711, 0
  br i1 %4712, label %4713, label %4730

4713:                                             ; preds = %4708
  %4714 = load i32, ptr %95, align 4, !tbaa !5
  %4715 = call ptr @__errno_location() #12
  store i32 %4714, ptr %4715, align 4, !tbaa !5
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = load i32, ptr @test_count, align 4, !tbaa !5
  %4718 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4719 = load i32, ptr %4718, align 4, !tbaa !5
  %4720 = call ptr @s2n_strerror(i32 noundef %4719, ptr noundef @.str.4)
  %4721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4722 = load i32, ptr %4721, align 4, !tbaa !5
  %4723 = call ptr @s2n_strerror_debug(i32 noundef %4722, ptr noundef @.str.4)
  %4724 = call ptr @__errno_location() #12
  %4725 = load i32, ptr %4724, align 4, !tbaa !5
  %4726 = call ptr @strerror(i32 noundef %4725) #11
  %4727 = call ptr @__errno_location() #12
  %4728 = load i32, ptr %4727, align 4, !tbaa !5
  %4729 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4716, ptr noundef @.str.2, i32 noundef %4717, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 146, ptr noundef %4720, ptr noundef %4723, ptr noundef %4726, i32 noundef %4728) #11
  br label %4747

4730:                                             ; preds = %4708, %4701
  %4731 = load i32, ptr %95, align 4, !tbaa !5
  %4732 = call ptr @__errno_location() #12
  store i32 %4731, ptr %4732, align 4, !tbaa !5
  %4733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4734 = load i32, ptr @test_count, align 4, !tbaa !5
  %4735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4736 = load i32, ptr %4735, align 4, !tbaa !5
  %4737 = call ptr @s2n_strerror(i32 noundef %4736, ptr noundef @.str.4)
  %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_debug(i32 noundef %4739, ptr noundef @.str.4)
  %4741 = call ptr @__errno_location() #12
  %4742 = load i32, ptr %4741, align 4, !tbaa !5
  %4743 = call ptr @strerror(i32 noundef %4742) #11
  %4744 = call ptr @__errno_location() #12
  %4745 = load i32, ptr %4744, align 4, !tbaa !5
  %4746 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4733, ptr noundef @.str.5, i32 noundef %4734, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 146, ptr noundef %4737, ptr noundef %4740, ptr noundef %4743, i32 noundef %4745) #11
  br label %4747

4747:                                             ; preds = %4730, %4713
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4748

4748:                                             ; preds = %4747
  br label %4749

4749:                                             ; preds = %4748
  call void @exit(i32 noundef 1) #13
  unreachable

4750:                                             ; No predecessors!
  br label %4751

4751:                                             ; preds = %4750
  br label %4752

4752:                                             ; preds = %4751, %4694
  br label %4753

4753:                                             ; preds = %4752
  br label %4754

4754:                                             ; preds = %4753
  br label %4755

4755:                                             ; preds = %4754
  %4756 = load i32, ptr @test_count, align 4, !tbaa !5
  %4757 = add nsw i32 %4756, 1
  store i32 %4757, ptr @test_count, align 4, !tbaa !5
  %4758 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %4759 = icmp eq i32 %4758, -1
  br i1 %4759, label %4760, label %4813

4760:                                             ; preds = %4755
  br label %4761

4761:                                             ; preds = %4760
  br label %4762

4762:                                             ; preds = %4761
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #11
  %4763 = call ptr @__errno_location() #12
  %4764 = load i32, ptr %4763, align 4, !tbaa !5
  store i32 %4764, ptr %96, align 4, !tbaa !5
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = call i32 @s2n_print_stacktrace(ptr noundef %4765)
  %4767 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4768 = trunc i8 %4767 to i1
  br i1 %4768, label %4769, label %4791

4769:                                             ; preds = %4762
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = call i32 @fileno(ptr noundef %4770) #11
  %4772 = call i32 @isatty(i32 noundef %4771) #11
  %4773 = icmp ne i32 %4772, 0
  br i1 %4773, label %4774, label %4791

4774:                                             ; preds = %4769
  %4775 = load i32, ptr %96, align 4, !tbaa !5
  %4776 = call ptr @__errno_location() #12
  store i32 %4775, ptr %4776, align 4, !tbaa !5
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4778 = load i32, ptr @test_count, align 4, !tbaa !5
  %4779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4780 = load i32, ptr %4779, align 4, !tbaa !5
  %4781 = call ptr @s2n_strerror(i32 noundef %4780, ptr noundef @.str.4)
  %4782 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4783 = load i32, ptr %4782, align 4, !tbaa !5
  %4784 = call ptr @s2n_strerror_debug(i32 noundef %4783, ptr noundef @.str.4)
  %4785 = call ptr @__errno_location() #12
  %4786 = load i32, ptr %4785, align 4, !tbaa !5
  %4787 = call ptr @strerror(i32 noundef %4786) #11
  %4788 = call ptr @__errno_location() #12
  %4789 = load i32, ptr %4788, align 4, !tbaa !5
  %4790 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4777, ptr noundef @.str.2, i32 noundef %4778, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 147, ptr noundef %4781, ptr noundef %4784, ptr noundef %4787, i32 noundef %4789) #11
  br label %4808

4791:                                             ; preds = %4769, %4762
  %4792 = load i32, ptr %96, align 4, !tbaa !5
  %4793 = call ptr @__errno_location() #12
  store i32 %4792, ptr %4793, align 4, !tbaa !5
  %4794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4795 = load i32, ptr @test_count, align 4, !tbaa !5
  %4796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4797 = load i32, ptr %4796, align 4, !tbaa !5
  %4798 = call ptr @s2n_strerror(i32 noundef %4797, ptr noundef @.str.4)
  %4799 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4800 = load i32, ptr %4799, align 4, !tbaa !5
  %4801 = call ptr @s2n_strerror_debug(i32 noundef %4800, ptr noundef @.str.4)
  %4802 = call ptr @__errno_location() #12
  %4803 = load i32, ptr %4802, align 4, !tbaa !5
  %4804 = call ptr @strerror(i32 noundef %4803) #11
  %4805 = call ptr @__errno_location() #12
  %4806 = load i32, ptr %4805, align 4, !tbaa !5
  %4807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4794, ptr noundef @.str.5, i32 noundef %4795, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 147, ptr noundef %4798, ptr noundef %4801, ptr noundef %4804, i32 noundef %4806) #11
  br label %4808

4808:                                             ; preds = %4791, %4774
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4809

4809:                                             ; preds = %4808
  br label %4810

4810:                                             ; preds = %4809
  call void @exit(i32 noundef 1) #13
  unreachable

4811:                                             ; No predecessors!
  br label %4812

4812:                                             ; preds = %4811
  br label %4813

4813:                                             ; preds = %4812, %4755
  br label %4814

4814:                                             ; preds = %4813
  br label %4815

4815:                                             ; preds = %4814
  br label %4816

4816:                                             ; preds = %4815
  %4817 = load i32, ptr @test_count, align 4, !tbaa !5
  %4818 = add nsw i32 %4817, 1
  store i32 %4818, ptr @test_count, align 4, !tbaa !5
  %4819 = load i64, ptr %16, align 8, !tbaa !11
  %4820 = icmp eq i64 %4819, 0
  br i1 %4820, label %4874, label %4821

4821:                                             ; preds = %4816
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

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

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

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

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

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

4870:                                             ; preds = %4869
  br label %4871

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

4872:                                             ; No predecessors!
  br label %4873

4873:                                             ; preds = %4872
  br label %4874

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

4875:                                             ; preds = %4874
  br label %4876

4876:                                             ; preds = %4875
  br label %4877

4877:                                             ; preds = %4876
  %4878 = load i32, ptr @test_count, align 4, !tbaa !5
  %4879 = add nsw i32 %4878, 1
  store i32 %4879, ptr @test_count, align 4, !tbaa !5
  %4880 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %4881 = getelementptr inbounds [10 x i8], ptr %9, i64 0, i64 0
  %4882 = call i64 @strlen(ptr noundef %4881) #14
  %4883 = trunc i64 %4882 to i32
  %4884 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %4880, i32 noundef %4883)
  %4885 = icmp eq i32 %4884, -1
  br i1 %4885, label %4886, label %4939

4886:                                             ; preds = %4877
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #11
  %4889 = call ptr @__errno_location() #12
  %4890 = load i32, ptr %4889, align 4, !tbaa !5
  store i32 %4890, ptr %98, align 4, !tbaa !5
  %4891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4892 = call i32 @s2n_print_stacktrace(ptr noundef %4891)
  %4893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4894 = trunc i8 %4893 to i1
  br i1 %4894, label %4895, label %4917

4895:                                             ; preds = %4888
  %4896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4897 = call i32 @fileno(ptr noundef %4896) #11
  %4898 = call i32 @isatty(i32 noundef %4897) #11
  %4899 = icmp ne i32 %4898, 0
  br i1 %4899, label %4900, label %4917

4900:                                             ; preds = %4895
  %4901 = load i32, ptr %98, align 4, !tbaa !5
  %4902 = call ptr @__errno_location() #12
  store i32 %4901, ptr %4902, align 4, !tbaa !5
  %4903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4904 = load i32, ptr @test_count, align 4, !tbaa !5
  %4905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4906 = load i32, ptr %4905, align 4, !tbaa !5
  %4907 = call ptr @s2n_strerror(i32 noundef %4906, ptr noundef @.str.4)
  %4908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4909 = load i32, ptr %4908, align 4, !tbaa !5
  %4910 = call ptr @s2n_strerror_debug(i32 noundef %4909, ptr noundef @.str.4)
  %4911 = call ptr @__errno_location() #12
  %4912 = load i32, ptr %4911, align 4, !tbaa !5
  %4913 = call ptr @strerror(i32 noundef %4912) #11
  %4914 = call ptr @__errno_location() #12
  %4915 = load i32, ptr %4914, align 4, !tbaa !5
  %4916 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4903, ptr noundef @.str.2, i32 noundef %4904, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 151, ptr noundef %4907, ptr noundef %4910, ptr noundef %4913, i32 noundef %4915) #11
  br label %4934

4917:                                             ; preds = %4895, %4888
  %4918 = load i32, ptr %98, align 4, !tbaa !5
  %4919 = call ptr @__errno_location() #12
  store i32 %4918, ptr %4919, align 4, !tbaa !5
  %4920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4921 = load i32, ptr @test_count, align 4, !tbaa !5
  %4922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4923 = load i32, ptr %4922, align 4, !tbaa !5
  %4924 = call ptr @s2n_strerror(i32 noundef %4923, ptr noundef @.str.4)
  %4925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4926 = load i32, ptr %4925, align 4, !tbaa !5
  %4927 = call ptr @s2n_strerror_debug(i32 noundef %4926, ptr noundef @.str.4)
  %4928 = call ptr @__errno_location() #12
  %4929 = load i32, ptr %4928, align 4, !tbaa !5
  %4930 = call ptr @strerror(i32 noundef %4929) #11
  %4931 = call ptr @__errno_location() #12
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4920, ptr noundef @.str.5, i32 noundef %4921, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 151, ptr noundef %4924, ptr noundef %4927, ptr noundef %4930, i32 noundef %4932) #11
  br label %4934

4934:                                             ; preds = %4917, %4900
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %4935

4935:                                             ; preds = %4934
  br label %4936

4936:                                             ; preds = %4935
  call void @exit(i32 noundef 1) #13
  unreachable

4937:                                             ; No predecessors!
  br label %4938

4938:                                             ; preds = %4937
  br label %4939

4939:                                             ; preds = %4938, %4877
  br label %4940

4940:                                             ; preds = %4939
  br label %4941

4941:                                             ; preds = %4940
  br label %4942

4942:                                             ; preds = %4941
  %4943 = load i32, ptr @test_count, align 4, !tbaa !5
  %4944 = add nsw i32 %4943, 1
  store i32 %4944, ptr @test_count, align 4, !tbaa !5
  %4945 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %4946 = icmp ne i32 %4945, 0
  br i1 %4946, label %5000, label %4947

4947:                                             ; preds = %4942
  br label %4948

4948:                                             ; preds = %4947
  br label %4949

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

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

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

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

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

4996:                                             ; preds = %4995
  br label %4997

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

4998:                                             ; No predecessors!
  br label %4999

4999:                                             ; preds = %4998
  br label %5000

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

5001:                                             ; preds = %5000
  br label %5002

5002:                                             ; preds = %5001
  br label %5003

5003:                                             ; preds = %5002
  %5004 = load i32, ptr @test_count, align 4, !tbaa !5
  %5005 = add nsw i32 %5004, 1
  store i32 %5005, ptr @test_count, align 4, !tbaa !5
  %5006 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %5007 = icmp eq i32 %5006, -1
  br i1 %5007, label %5008, label %5061

5008:                                             ; preds = %5003
  br label %5009

5009:                                             ; preds = %5008
  br label %5010

5010:                                             ; preds = %5009
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #11
  %5011 = call ptr @__errno_location() #12
  %5012 = load i32, ptr %5011, align 4, !tbaa !5
  store i32 %5012, ptr %100, align 4, !tbaa !5
  %5013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5014 = call i32 @s2n_print_stacktrace(ptr noundef %5013)
  %5015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5016 = trunc i8 %5015 to i1
  br i1 %5016, label %5017, label %5039

5017:                                             ; preds = %5010
  %5018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5019 = call i32 @fileno(ptr noundef %5018) #11
  %5020 = call i32 @isatty(i32 noundef %5019) #11
  %5021 = icmp ne i32 %5020, 0
  br i1 %5021, label %5022, label %5039

5022:                                             ; preds = %5017
  %5023 = load i32, ptr %100, align 4, !tbaa !5
  %5024 = call ptr @__errno_location() #12
  store i32 %5023, ptr %5024, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = load i32, ptr @test_count, align 4, !tbaa !5
  %5027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5028 = load i32, ptr %5027, align 4, !tbaa !5
  %5029 = call ptr @s2n_strerror(i32 noundef %5028, ptr noundef @.str.4)
  %5030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5031 = load i32, ptr %5030, align 4, !tbaa !5
  %5032 = call ptr @s2n_strerror_debug(i32 noundef %5031, ptr noundef @.str.4)
  %5033 = call ptr @__errno_location() #12
  %5034 = load i32, ptr %5033, align 4, !tbaa !5
  %5035 = call ptr @strerror(i32 noundef %5034) #11
  %5036 = call ptr @__errno_location() #12
  %5037 = load i32, ptr %5036, align 4, !tbaa !5
  %5038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5025, ptr noundef @.str.2, i32 noundef %5026, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 153, ptr noundef %5029, ptr noundef %5032, ptr noundef %5035, i32 noundef %5037) #11
  br label %5056

5039:                                             ; preds = %5017, %5010
  %5040 = load i32, ptr %100, align 4, !tbaa !5
  %5041 = call ptr @__errno_location() #12
  store i32 %5040, ptr %5041, align 4, !tbaa !5
  %5042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5043 = load i32, ptr @test_count, align 4, !tbaa !5
  %5044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5045 = load i32, ptr %5044, align 4, !tbaa !5
  %5046 = call ptr @s2n_strerror(i32 noundef %5045, ptr noundef @.str.4)
  %5047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5048 = load i32, ptr %5047, align 4, !tbaa !5
  %5049 = call ptr @s2n_strerror_debug(i32 noundef %5048, ptr noundef @.str.4)
  %5050 = call ptr @__errno_location() #12
  %5051 = load i32, ptr %5050, align 4, !tbaa !5
  %5052 = call ptr @strerror(i32 noundef %5051) #11
  %5053 = call ptr @__errno_location() #12
  %5054 = load i32, ptr %5053, align 4, !tbaa !5
  %5055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5042, ptr noundef @.str.5, i32 noundef %5043, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 153, ptr noundef %5046, ptr noundef %5049, ptr noundef %5052, i32 noundef %5054) #11
  br label %5056

5056:                                             ; preds = %5039, %5022
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #11
  br label %5057

5057:                                             ; preds = %5056
  br label %5058

5058:                                             ; preds = %5057
  call void @exit(i32 noundef 1) #13
  unreachable

5059:                                             ; No predecessors!
  br label %5060

5060:                                             ; preds = %5059
  br label %5061

5061:                                             ; preds = %5060, %5003
  br label %5062

5062:                                             ; preds = %5061
  br label %5063

5063:                                             ; preds = %5062
  br label %5064

5064:                                             ; preds = %5063
  %5065 = load i32, ptr @test_count, align 4, !tbaa !5
  %5066 = add nsw i32 %5065, 1
  store i32 %5066, ptr @test_count, align 4, !tbaa !5
  %5067 = load i64, ptr %16, align 8, !tbaa !11
  %5068 = icmp eq i64 %5067, 9
  br i1 %5068, label %5122, label %5069

5069:                                             ; preds = %5064
  br label %5070

5070:                                             ; preds = %5069
  br label %5071

5071:                                             ; preds = %5070
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #11
  %5072 = call ptr @__errno_location() #12
  %5073 = load i32, ptr %5072, align 4, !tbaa !5
  store i32 %5073, ptr %101, align 4, !tbaa !5
  %5074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5075 = call i32 @s2n_print_stacktrace(ptr noundef %5074)
  %5076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5077 = trunc i8 %5076 to i1
  br i1 %5077, label %5078, label %5100

5078:                                             ; preds = %5071
  %5079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5080 = call i32 @fileno(ptr noundef %5079) #11
  %5081 = call i32 @isatty(i32 noundef %5080) #11
  %5082 = icmp ne i32 %5081, 0
  br i1 %5082, label %5083, label %5100

5083:                                             ; preds = %5078
  %5084 = load i32, ptr %101, align 4, !tbaa !5
  %5085 = call ptr @__errno_location() #12
  store i32 %5084, ptr %5085, align 4, !tbaa !5
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = load i32, ptr @test_count, align 4, !tbaa !5
  %5088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5089 = load i32, ptr %5088, align 4, !tbaa !5
  %5090 = call ptr @s2n_strerror(i32 noundef %5089, ptr noundef @.str.4)
  %5091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5092 = load i32, ptr %5091, align 4, !tbaa !5
  %5093 = call ptr @s2n_strerror_debug(i32 noundef %5092, ptr noundef @.str.4)
  %5094 = call ptr @__errno_location() #12
  %5095 = load i32, ptr %5094, align 4, !tbaa !5
  %5096 = call ptr @strerror(i32 noundef %5095) #11
  %5097 = call ptr @__errno_location() #12
  %5098 = load i32, ptr %5097, align 4, !tbaa !5
  %5099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5086, ptr noundef @.str.2, i32 noundef %5087, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 154, ptr noundef %5090, ptr noundef %5093, ptr noundef %5096, i32 noundef %5098) #11
  br label %5117

5100:                                             ; preds = %5078, %5071
  %5101 = load i32, ptr %101, align 4, !tbaa !5
  %5102 = call ptr @__errno_location() #12
  store i32 %5101, ptr %5102, align 4, !tbaa !5
  %5103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5104 = load i32, ptr @test_count, align 4, !tbaa !5
  %5105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5106 = load i32, ptr %5105, align 4, !tbaa !5
  %5107 = call ptr @s2n_strerror(i32 noundef %5106, ptr noundef @.str.4)
  %5108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5109 = load i32, ptr %5108, align 4, !tbaa !5
  %5110 = call ptr @s2n_strerror_debug(i32 noundef %5109, ptr noundef @.str.4)
  %5111 = call ptr @__errno_location() #12
  %5112 = load i32, ptr %5111, align 4, !tbaa !5
  %5113 = call ptr @strerror(i32 noundef %5112) #11
  %5114 = call ptr @__errno_location() #12
  %5115 = load i32, ptr %5114, align 4, !tbaa !5
  %5116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5103, ptr noundef @.str.5, i32 noundef %5104, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 154, ptr noundef %5107, ptr noundef %5110, ptr noundef %5113, i32 noundef %5115) #11
  br label %5117

5117:                                             ; preds = %5100, %5083
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5118

5118:                                             ; preds = %5117
  br label %5119

5119:                                             ; preds = %5118
  call void @exit(i32 noundef 1) #13
  unreachable

5120:                                             ; No predecessors!
  br label %5121

5121:                                             ; preds = %5120
  br label %5122

5122:                                             ; preds = %5121, %5064
  br label %5123

5123:                                             ; preds = %5122
  br label %5124

5124:                                             ; preds = %5123
  br label %5125

5125:                                             ; preds = %5124
  %5126 = load i32, ptr @test_count, align 4, !tbaa !5
  %5127 = add nsw i32 %5126, 1
  store i32 %5127, ptr @test_count, align 4, !tbaa !5
  %5128 = call i32 @s2n_hash_copy(ptr noundef %13, ptr noundef %12)
  %5129 = icmp eq i32 %5128, -1
  br i1 %5129, label %5130, label %5183

5130:                                             ; preds = %5125
  br label %5131

5131:                                             ; preds = %5130
  br label %5132

5132:                                             ; preds = %5131
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #11
  %5133 = call ptr @__errno_location() #12
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  store i32 %5134, ptr %102, align 4, !tbaa !5
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5136 = call i32 @s2n_print_stacktrace(ptr noundef %5135)
  %5137 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5138 = trunc i8 %5137 to i1
  br i1 %5138, label %5139, label %5161

5139:                                             ; preds = %5132
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5141 = call i32 @fileno(ptr noundef %5140) #11
  %5142 = call i32 @isatty(i32 noundef %5141) #11
  %5143 = icmp ne i32 %5142, 0
  br i1 %5143, label %5144, label %5161

5144:                                             ; preds = %5139
  %5145 = load i32, ptr %102, align 4, !tbaa !5
  %5146 = call ptr @__errno_location() #12
  store i32 %5145, ptr %5146, align 4, !tbaa !5
  %5147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5148 = load i32, ptr @test_count, align 4, !tbaa !5
  %5149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5150 = load i32, ptr %5149, align 4, !tbaa !5
  %5151 = call ptr @s2n_strerror(i32 noundef %5150, ptr noundef @.str.4)
  %5152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5153 = load i32, ptr %5152, align 4, !tbaa !5
  %5154 = call ptr @s2n_strerror_debug(i32 noundef %5153, ptr noundef @.str.4)
  %5155 = call ptr @__errno_location() #12
  %5156 = load i32, ptr %5155, align 4, !tbaa !5
  %5157 = call ptr @strerror(i32 noundef %5156) #11
  %5158 = call ptr @__errno_location() #12
  %5159 = load i32, ptr %5158, align 4, !tbaa !5
  %5160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5147, ptr noundef @.str.2, i32 noundef %5148, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 156, ptr noundef %5151, ptr noundef %5154, ptr noundef %5157, i32 noundef %5159) #11
  br label %5178

5161:                                             ; preds = %5139, %5132
  %5162 = load i32, ptr %102, align 4, !tbaa !5
  %5163 = call ptr @__errno_location() #12
  store i32 %5162, ptr %5163, align 4, !tbaa !5
  %5164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5165 = load i32, ptr @test_count, align 4, !tbaa !5
  %5166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  %5168 = call ptr @s2n_strerror(i32 noundef %5167, ptr noundef @.str.4)
  %5169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call ptr @s2n_strerror_debug(i32 noundef %5170, ptr noundef @.str.4)
  %5172 = call ptr @__errno_location() #12
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call ptr @strerror(i32 noundef %5173) #11
  %5175 = call ptr @__errno_location() #12
  %5176 = load i32, ptr %5175, align 4, !tbaa !5
  %5177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5164, ptr noundef @.str.5, i32 noundef %5165, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 156, ptr noundef %5168, ptr noundef %5171, ptr noundef %5174, i32 noundef %5176) #11
  br label %5178

5178:                                             ; preds = %5161, %5144
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #11
  br label %5179

5179:                                             ; preds = %5178
  br label %5180

5180:                                             ; preds = %5179
  call void @exit(i32 noundef 1) #13
  unreachable

5181:                                             ; No predecessors!
  br label %5182

5182:                                             ; preds = %5181
  br label %5183

5183:                                             ; preds = %5182, %5125
  br label %5184

5184:                                             ; preds = %5183
  br label %5185

5185:                                             ; preds = %5184
  br label %5186

5186:                                             ; preds = %5185
  %5187 = load i32, ptr @test_count, align 4, !tbaa !5
  %5188 = add nsw i32 %5187, 1
  store i32 %5188, ptr @test_count, align 4, !tbaa !5
  %5189 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %5190 = icmp ne i32 %5189, 0
  br i1 %5190, label %5244, label %5191

5191:                                             ; preds = %5186
  br label %5192

5192:                                             ; preds = %5191
  br label %5193

5193:                                             ; preds = %5192
  call void @llvm.lifetime.start.p0(i64 4, ptr %103) #11
  %5194 = call ptr @__errno_location() #12
  %5195 = load i32, ptr %5194, align 4, !tbaa !5
  store i32 %5195, ptr %103, align 4, !tbaa !5
  %5196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5197 = call i32 @s2n_print_stacktrace(ptr noundef %5196)
  %5198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5199 = trunc i8 %5198 to i1
  br i1 %5199, label %5200, label %5222

5200:                                             ; preds = %5193
  %5201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5202 = call i32 @fileno(ptr noundef %5201) #11
  %5203 = call i32 @isatty(i32 noundef %5202) #11
  %5204 = icmp ne i32 %5203, 0
  br i1 %5204, label %5205, label %5222

5205:                                             ; preds = %5200
  %5206 = load i32, ptr %103, align 4, !tbaa !5
  %5207 = call ptr @__errno_location() #12
  store i32 %5206, ptr %5207, align 4, !tbaa !5
  %5208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5209 = load i32, ptr @test_count, align 4, !tbaa !5
  %5210 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5211 = load i32, ptr %5210, align 4, !tbaa !5
  %5212 = call ptr @s2n_strerror(i32 noundef %5211, ptr noundef @.str.4)
  %5213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5214 = load i32, ptr %5213, align 4, !tbaa !5
  %5215 = call ptr @s2n_strerror_debug(i32 noundef %5214, ptr noundef @.str.4)
  %5216 = call ptr @__errno_location() #12
  %5217 = load i32, ptr %5216, align 4, !tbaa !5
  %5218 = call ptr @strerror(i32 noundef %5217) #11
  %5219 = call ptr @__errno_location() #12
  %5220 = load i32, ptr %5219, align 4, !tbaa !5
  %5221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5208, ptr noundef @.str.2, i32 noundef %5209, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 157, ptr noundef %5212, ptr noundef %5215, ptr noundef %5218, i32 noundef %5220) #11
  br label %5239

5222:                                             ; preds = %5200, %5193
  %5223 = load i32, ptr %103, align 4, !tbaa !5
  %5224 = call ptr @__errno_location() #12
  store i32 %5223, ptr %5224, align 4, !tbaa !5
  %5225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5226 = load i32, ptr @test_count, align 4, !tbaa !5
  %5227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5228 = load i32, ptr %5227, align 4, !tbaa !5
  %5229 = call ptr @s2n_strerror(i32 noundef %5228, ptr noundef @.str.4)
  %5230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  %5232 = call ptr @s2n_strerror_debug(i32 noundef %5231, ptr noundef @.str.4)
  %5233 = call ptr @__errno_location() #12
  %5234 = load i32, ptr %5233, align 4, !tbaa !5
  %5235 = call ptr @strerror(i32 noundef %5234) #11
  %5236 = call ptr @__errno_location() #12
  %5237 = load i32, ptr %5236, align 4, !tbaa !5
  %5238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5225, ptr noundef @.str.5, i32 noundef %5226, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 157, ptr noundef %5229, ptr noundef %5232, ptr noundef %5235, i32 noundef %5237) #11
  br label %5239

5239:                                             ; preds = %5222, %5205
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #11
  br label %5240

5240:                                             ; preds = %5239
  br label %5241

5241:                                             ; preds = %5240
  call void @exit(i32 noundef 1) #13
  unreachable

5242:                                             ; No predecessors!
  br label %5243

5243:                                             ; preds = %5242
  br label %5244

5244:                                             ; preds = %5243, %5186
  br label %5245

5245:                                             ; preds = %5244
  br label %5246

5246:                                             ; preds = %5245
  br label %5247

5247:                                             ; preds = %5246
  %5248 = load i32, ptr @test_count, align 4, !tbaa !5
  %5249 = add nsw i32 %5248, 1
  store i32 %5249, ptr @test_count, align 4, !tbaa !5
  %5250 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %5251 = icmp eq i32 %5250, -1
  br i1 %5251, label %5252, label %5305

5252:                                             ; preds = %5247
  br label %5253

5253:                                             ; preds = %5252
  br label %5254

5254:                                             ; preds = %5253
  call void @llvm.lifetime.start.p0(i64 4, ptr %104) #11
  %5255 = call ptr @__errno_location() #12
  %5256 = load i32, ptr %5255, align 4, !tbaa !5
  store i32 %5256, ptr %104, align 4, !tbaa !5
  %5257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5258 = call i32 @s2n_print_stacktrace(ptr noundef %5257)
  %5259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5260 = trunc i8 %5259 to i1
  br i1 %5260, label %5261, label %5283

5261:                                             ; preds = %5254
  %5262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5263 = call i32 @fileno(ptr noundef %5262) #11
  %5264 = call i32 @isatty(i32 noundef %5263) #11
  %5265 = icmp ne i32 %5264, 0
  br i1 %5265, label %5266, label %5283

5266:                                             ; preds = %5261
  %5267 = load i32, ptr %104, align 4, !tbaa !5
  %5268 = call ptr @__errno_location() #12
  store i32 %5267, ptr %5268, align 4, !tbaa !5
  %5269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5270 = load i32, ptr @test_count, align 4, !tbaa !5
  %5271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5272 = load i32, ptr %5271, align 4, !tbaa !5
  %5273 = call ptr @s2n_strerror(i32 noundef %5272, ptr noundef @.str.4)
  %5274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5275 = load i32, ptr %5274, align 4, !tbaa !5
  %5276 = call ptr @s2n_strerror_debug(i32 noundef %5275, ptr noundef @.str.4)
  %5277 = call ptr @__errno_location() #12
  %5278 = load i32, ptr %5277, align 4, !tbaa !5
  %5279 = call ptr @strerror(i32 noundef %5278) #11
  %5280 = call ptr @__errno_location() #12
  %5281 = load i32, ptr %5280, align 4, !tbaa !5
  %5282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5269, ptr noundef @.str.2, i32 noundef %5270, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 158, ptr noundef %5273, ptr noundef %5276, ptr noundef %5279, i32 noundef %5281) #11
  br label %5300

5283:                                             ; preds = %5261, %5254
  %5284 = load i32, ptr %104, align 4, !tbaa !5
  %5285 = call ptr @__errno_location() #12
  store i32 %5284, ptr %5285, align 4, !tbaa !5
  %5286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5287 = load i32, ptr @test_count, align 4, !tbaa !5
  %5288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5289 = load i32, ptr %5288, align 4, !tbaa !5
  %5290 = call ptr @s2n_strerror(i32 noundef %5289, ptr noundef @.str.4)
  %5291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5292 = load i32, ptr %5291, align 4, !tbaa !5
  %5293 = call ptr @s2n_strerror_debug(i32 noundef %5292, ptr noundef @.str.4)
  %5294 = call ptr @__errno_location() #12
  %5295 = load i32, ptr %5294, align 4, !tbaa !5
  %5296 = call ptr @strerror(i32 noundef %5295) #11
  %5297 = call ptr @__errno_location() #12
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  %5299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5286, ptr noundef @.str.5, i32 noundef %5287, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 158, ptr noundef %5290, ptr noundef %5293, ptr noundef %5296, i32 noundef %5298) #11
  br label %5300

5300:                                             ; preds = %5283, %5266
  call void @llvm.lifetime.end.p0(i64 4, ptr %104) #11
  br label %5301

5301:                                             ; preds = %5300
  br label %5302

5302:                                             ; preds = %5301
  call void @exit(i32 noundef 1) #13
  unreachable

5303:                                             ; No predecessors!
  br label %5304

5304:                                             ; preds = %5303
  br label %5305

5305:                                             ; preds = %5304, %5247
  br label %5306

5306:                                             ; preds = %5305
  br label %5307

5307:                                             ; preds = %5306
  br label %5308

5308:                                             ; preds = %5307
  %5309 = load i32, ptr @test_count, align 4, !tbaa !5
  %5310 = add nsw i32 %5309, 1
  store i32 %5310, ptr @test_count, align 4, !tbaa !5
  %5311 = load i64, ptr %16, align 8, !tbaa !11
  %5312 = icmp eq i64 %5311, 9
  br i1 %5312, label %5366, label %5313

5313:                                             ; preds = %5308
  br label %5314

5314:                                             ; preds = %5313
  br label %5315

5315:                                             ; preds = %5314
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  %5316 = call ptr @__errno_location() #12
  %5317 = load i32, ptr %5316, align 4, !tbaa !5
  store i32 %5317, ptr %105, align 4, !tbaa !5
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5319 = call i32 @s2n_print_stacktrace(ptr noundef %5318)
  %5320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5321 = trunc i8 %5320 to i1
  br i1 %5321, label %5322, label %5344

5322:                                             ; preds = %5315
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5324 = call i32 @fileno(ptr noundef %5323) #11
  %5325 = call i32 @isatty(i32 noundef %5324) #11
  %5326 = icmp ne i32 %5325, 0
  br i1 %5326, label %5327, label %5344

5327:                                             ; preds = %5322
  %5328 = load i32, ptr %105, align 4, !tbaa !5
  %5329 = call ptr @__errno_location() #12
  store i32 %5328, ptr %5329, align 4, !tbaa !5
  %5330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5331 = load i32, ptr @test_count, align 4, !tbaa !5
  %5332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5333 = load i32, ptr %5332, align 4, !tbaa !5
  %5334 = call ptr @s2n_strerror(i32 noundef %5333, ptr noundef @.str.4)
  %5335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5336 = load i32, ptr %5335, align 4, !tbaa !5
  %5337 = call ptr @s2n_strerror_debug(i32 noundef %5336, ptr noundef @.str.4)
  %5338 = call ptr @__errno_location() #12
  %5339 = load i32, ptr %5338, align 4, !tbaa !5
  %5340 = call ptr @strerror(i32 noundef %5339) #11
  %5341 = call ptr @__errno_location() #12
  %5342 = load i32, ptr %5341, align 4, !tbaa !5
  %5343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5330, ptr noundef @.str.2, i32 noundef %5331, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 159, ptr noundef %5334, ptr noundef %5337, ptr noundef %5340, i32 noundef %5342) #11
  br label %5361

5344:                                             ; preds = %5322, %5315
  %5345 = load i32, ptr %105, align 4, !tbaa !5
  %5346 = call ptr @__errno_location() #12
  store i32 %5345, ptr %5346, align 4, !tbaa !5
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = load i32, ptr @test_count, align 4, !tbaa !5
  %5349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5350 = load i32, ptr %5349, align 4, !tbaa !5
  %5351 = call ptr @s2n_strerror(i32 noundef %5350, ptr noundef @.str.4)
  %5352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5353 = load i32, ptr %5352, align 4, !tbaa !5
  %5354 = call ptr @s2n_strerror_debug(i32 noundef %5353, ptr noundef @.str.4)
  %5355 = call ptr @__errno_location() #12
  %5356 = load i32, ptr %5355, align 4, !tbaa !5
  %5357 = call ptr @strerror(i32 noundef %5356) #11
  %5358 = call ptr @__errno_location() #12
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5347, ptr noundef @.str.5, i32 noundef %5348, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 159, ptr noundef %5351, ptr noundef %5354, ptr noundef %5357, i32 noundef %5359) #11
  br label %5361

5361:                                             ; preds = %5344, %5327
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  br label %5362

5362:                                             ; preds = %5361
  br label %5363

5363:                                             ; preds = %5362
  call void @exit(i32 noundef 1) #13
  unreachable

5364:                                             ; No predecessors!
  br label %5365

5365:                                             ; preds = %5364
  br label %5366

5366:                                             ; preds = %5365, %5308
  br label %5367

5367:                                             ; preds = %5366
  br label %5368

5368:                                             ; preds = %5367
  br label %5369

5369:                                             ; preds = %5368
  %5370 = load i32, ptr @test_count, align 4, !tbaa !5
  %5371 = add nsw i32 %5370, 1
  store i32 %5371, ptr @test_count, align 4, !tbaa !5
  %5372 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %5373 = icmp ne i32 %5372, 0
  br i1 %5373, label %5427, label %5374

5374:                                             ; preds = %5369
  br label %5375

5375:                                             ; preds = %5374
  br label %5376

5376:                                             ; preds = %5375
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #11
  %5377 = call ptr @__errno_location() #12
  %5378 = load i32, ptr %5377, align 4, !tbaa !5
  store i32 %5378, ptr %106, align 4, !tbaa !5
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5380 = call i32 @s2n_print_stacktrace(ptr noundef %5379)
  %5381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5382 = trunc i8 %5381 to i1
  br i1 %5382, label %5383, label %5405

5383:                                             ; preds = %5376
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5385 = call i32 @fileno(ptr noundef %5384) #11
  %5386 = call i32 @isatty(i32 noundef %5385) #11
  %5387 = icmp ne i32 %5386, 0
  br i1 %5387, label %5388, label %5405

5388:                                             ; preds = %5383
  %5389 = load i32, ptr %106, align 4, !tbaa !5
  %5390 = call ptr @__errno_location() #12
  store i32 %5389, ptr %5390, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = load i32, ptr @test_count, align 4, !tbaa !5
  %5393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call ptr @s2n_strerror(i32 noundef %5394, ptr noundef @.str.4)
  %5396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5397 = load i32, ptr %5396, align 4, !tbaa !5
  %5398 = call ptr @s2n_strerror_debug(i32 noundef %5397, ptr noundef @.str.4)
  %5399 = call ptr @__errno_location() #12
  %5400 = load i32, ptr %5399, align 4, !tbaa !5
  %5401 = call ptr @strerror(i32 noundef %5400) #11
  %5402 = call ptr @__errno_location() #12
  %5403 = load i32, ptr %5402, align 4, !tbaa !5
  %5404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5391, ptr noundef @.str.2, i32 noundef %5392, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 161, ptr noundef %5395, ptr noundef %5398, ptr noundef %5401, i32 noundef %5403) #11
  br label %5422

5405:                                             ; preds = %5383, %5376
  %5406 = load i32, ptr %106, align 4, !tbaa !5
  %5407 = call ptr @__errno_location() #12
  store i32 %5406, ptr %5407, align 4, !tbaa !5
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = load i32, ptr @test_count, align 4, !tbaa !5
  %5410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5411 = load i32, ptr %5410, align 4, !tbaa !5
  %5412 = call ptr @s2n_strerror(i32 noundef %5411, ptr noundef @.str.4)
  %5413 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5414 = load i32, ptr %5413, align 4, !tbaa !5
  %5415 = call ptr @s2n_strerror_debug(i32 noundef %5414, ptr noundef @.str.4)
  %5416 = call ptr @__errno_location() #12
  %5417 = load i32, ptr %5416, align 4, !tbaa !5
  %5418 = call ptr @strerror(i32 noundef %5417) #11
  %5419 = call ptr @__errno_location() #12
  %5420 = load i32, ptr %5419, align 4, !tbaa !5
  %5421 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5408, ptr noundef @.str.5, i32 noundef %5409, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 161, ptr noundef %5412, ptr noundef %5415, ptr noundef %5418, i32 noundef %5420) #11
  br label %5422

5422:                                             ; preds = %5405, %5388
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #11
  br label %5423

5423:                                             ; preds = %5422
  br label %5424

5424:                                             ; preds = %5423
  call void @exit(i32 noundef 1) #13
  unreachable

5425:                                             ; No predecessors!
  br label %5426

5426:                                             ; preds = %5425
  br label %5427

5427:                                             ; preds = %5426, %5369
  br label %5428

5428:                                             ; preds = %5427
  br label %5429

5429:                                             ; preds = %5428
  br label %5430

5430:                                             ; preds = %5429
  %5431 = load i32, ptr @test_count, align 4, !tbaa !5
  %5432 = add nsw i32 %5431, 1
  store i32 %5432, ptr @test_count, align 4, !tbaa !5
  %5433 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %5434 = icmp eq i32 %5433, -1
  br i1 %5434, label %5435, label %5488

5435:                                             ; preds = %5430
  br label %5436

5436:                                             ; preds = %5435
  br label %5437

5437:                                             ; preds = %5436
  call void @llvm.lifetime.start.p0(i64 4, ptr %107) #11
  %5438 = call ptr @__errno_location() #12
  %5439 = load i32, ptr %5438, align 4, !tbaa !5
  store i32 %5439, ptr %107, align 4, !tbaa !5
  %5440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5441 = call i32 @s2n_print_stacktrace(ptr noundef %5440)
  %5442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5443 = trunc i8 %5442 to i1
  br i1 %5443, label %5444, label %5466

5444:                                             ; preds = %5437
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = call i32 @fileno(ptr noundef %5445) #11
  %5447 = call i32 @isatty(i32 noundef %5446) #11
  %5448 = icmp ne i32 %5447, 0
  br i1 %5448, label %5449, label %5466

5449:                                             ; preds = %5444
  %5450 = load i32, ptr %107, align 4, !tbaa !5
  %5451 = call ptr @__errno_location() #12
  store i32 %5450, ptr %5451, align 4, !tbaa !5
  %5452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5453 = load i32, ptr @test_count, align 4, !tbaa !5
  %5454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5455 = load i32, ptr %5454, align 4, !tbaa !5
  %5456 = call ptr @s2n_strerror(i32 noundef %5455, ptr noundef @.str.4)
  %5457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5458 = load i32, ptr %5457, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror_debug(i32 noundef %5458, ptr noundef @.str.4)
  %5460 = call ptr @__errno_location() #12
  %5461 = load i32, ptr %5460, align 4, !tbaa !5
  %5462 = call ptr @strerror(i32 noundef %5461) #11
  %5463 = call ptr @__errno_location() #12
  %5464 = load i32, ptr %5463, align 4, !tbaa !5
  %5465 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5452, ptr noundef @.str.2, i32 noundef %5453, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 162, ptr noundef %5456, ptr noundef %5459, ptr noundef %5462, i32 noundef %5464) #11
  br label %5483

5466:                                             ; preds = %5444, %5437
  %5467 = load i32, ptr %107, align 4, !tbaa !5
  %5468 = call ptr @__errno_location() #12
  store i32 %5467, ptr %5468, align 4, !tbaa !5
  %5469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5470 = load i32, ptr @test_count, align 4, !tbaa !5
  %5471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5472 = load i32, ptr %5471, align 4, !tbaa !5
  %5473 = call ptr @s2n_strerror(i32 noundef %5472, ptr noundef @.str.4)
  %5474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5475 = load i32, ptr %5474, align 4, !tbaa !5
  %5476 = call ptr @s2n_strerror_debug(i32 noundef %5475, ptr noundef @.str.4)
  %5477 = call ptr @__errno_location() #12
  %5478 = load i32, ptr %5477, align 4, !tbaa !5
  %5479 = call ptr @strerror(i32 noundef %5478) #11
  %5480 = call ptr @__errno_location() #12
  %5481 = load i32, ptr %5480, align 4, !tbaa !5
  %5482 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5469, ptr noundef @.str.5, i32 noundef %5470, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 162, ptr noundef %5473, ptr noundef %5476, ptr noundef %5479, i32 noundef %5481) #11
  br label %5483

5483:                                             ; preds = %5466, %5449
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #11
  br label %5484

5484:                                             ; preds = %5483
  br label %5485

5485:                                             ; preds = %5484
  call void @exit(i32 noundef 1) #13
  unreachable

5486:                                             ; No predecessors!
  br label %5487

5487:                                             ; preds = %5486
  br label %5488

5488:                                             ; preds = %5487, %5430
  br label %5489

5489:                                             ; preds = %5488
  br label %5490

5490:                                             ; preds = %5489
  br label %5491

5491:                                             ; preds = %5490
  %5492 = load i32, ptr @test_count, align 4, !tbaa !5
  %5493 = add nsw i32 %5492, 1
  store i32 %5493, ptr @test_count, align 4, !tbaa !5
  %5494 = load i64, ptr %16, align 8, !tbaa !11
  %5495 = icmp eq i64 %5494, 9
  br i1 %5495, label %5549, label %5496

5496:                                             ; preds = %5491
  br label %5497

5497:                                             ; preds = %5496
  br label %5498

5498:                                             ; preds = %5497
  call void @llvm.lifetime.start.p0(i64 4, ptr %108) #11
  %5499 = call ptr @__errno_location() #12
  %5500 = load i32, ptr %5499, align 4, !tbaa !5
  store i32 %5500, ptr %108, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = call i32 @s2n_print_stacktrace(ptr noundef %5501)
  %5503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5504 = trunc i8 %5503 to i1
  br i1 %5504, label %5505, label %5527

5505:                                             ; preds = %5498
  %5506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5507 = call i32 @fileno(ptr noundef %5506) #11
  %5508 = call i32 @isatty(i32 noundef %5507) #11
  %5509 = icmp ne i32 %5508, 0
  br i1 %5509, label %5510, label %5527

5510:                                             ; preds = %5505
  %5511 = load i32, ptr %108, align 4, !tbaa !5
  %5512 = call ptr @__errno_location() #12
  store i32 %5511, ptr %5512, align 4, !tbaa !5
  %5513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5514 = load i32, ptr @test_count, align 4, !tbaa !5
  %5515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5516 = load i32, ptr %5515, align 4, !tbaa !5
  %5517 = call ptr @s2n_strerror(i32 noundef %5516, ptr noundef @.str.4)
  %5518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror_debug(i32 noundef %5519, ptr noundef @.str.4)
  %5521 = call ptr @__errno_location() #12
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call ptr @strerror(i32 noundef %5522) #11
  %5524 = call ptr @__errno_location() #12
  %5525 = load i32, ptr %5524, align 4, !tbaa !5
  %5526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5513, ptr noundef @.str.2, i32 noundef %5514, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 163, ptr noundef %5517, ptr noundef %5520, ptr noundef %5523, i32 noundef %5525) #11
  br label %5544

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

5544:                                             ; preds = %5527, %5510
  call void @llvm.lifetime.end.p0(i64 4, ptr %108) #11
  br label %5545

5545:                                             ; preds = %5544
  br label %5546

5546:                                             ; preds = %5545
  call void @exit(i32 noundef 1) #13
  unreachable

5547:                                             ; No predecessors!
  br label %5548

5548:                                             ; preds = %5547
  br label %5549

5549:                                             ; preds = %5548, %5491
  br label %5550

5550:                                             ; preds = %5549
  br label %5551

5551:                                             ; preds = %5550
  br label %5552

5552:                                             ; preds = %5551
  %5553 = load i32, ptr @test_count, align 4, !tbaa !5
  %5554 = add nsw i32 %5553, 1
  store i32 %5554, ptr @test_count, align 4, !tbaa !5
  %5555 = getelementptr inbounds [14 x i8], ptr %10, i64 0, i64 0
  %5556 = getelementptr inbounds [14 x i8], ptr %10, i64 0, i64 0
  %5557 = call i64 @strlen(ptr noundef %5556) #14
  %5558 = trunc i64 %5557 to i32
  %5559 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %5555, i32 noundef %5558)
  %5560 = icmp eq i32 %5559, -1
  br i1 %5560, label %5561, label %5614

5561:                                             ; preds = %5552
  br label %5562

5562:                                             ; preds = %5561
  br label %5563

5563:                                             ; preds = %5562
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #11
  %5564 = call ptr @__errno_location() #12
  %5565 = load i32, ptr %5564, align 4, !tbaa !5
  store i32 %5565, ptr %109, align 4, !tbaa !5
  %5566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5567 = call i32 @s2n_print_stacktrace(ptr noundef %5566)
  %5568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5569 = trunc i8 %5568 to i1
  br i1 %5569, label %5570, label %5592

5570:                                             ; preds = %5563
  %5571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5572 = call i32 @fileno(ptr noundef %5571) #11
  %5573 = call i32 @isatty(i32 noundef %5572) #11
  %5574 = icmp ne i32 %5573, 0
  br i1 %5574, label %5575, label %5592

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

5592:                                             ; preds = %5570, %5563
  %5593 = load i32, ptr %109, align 4, !tbaa !5
  %5594 = call ptr @__errno_location() #12
  store i32 %5593, ptr %5594, align 4, !tbaa !5
  %5595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5596 = load i32, ptr @test_count, align 4, !tbaa !5
  %5597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5598 = load i32, ptr %5597, align 4, !tbaa !5
  %5599 = call ptr @s2n_strerror(i32 noundef %5598, ptr noundef @.str.4)
  %5600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5601 = load i32, ptr %5600, align 4, !tbaa !5
  %5602 = call ptr @s2n_strerror_debug(i32 noundef %5601, ptr noundef @.str.4)
  %5603 = call ptr @__errno_location() #12
  %5604 = load i32, ptr %5603, align 4, !tbaa !5
  %5605 = call ptr @strerror(i32 noundef %5604) #11
  %5606 = call ptr @__errno_location() #12
  %5607 = load i32, ptr %5606, align 4, !tbaa !5
  %5608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5595, ptr noundef @.str.5, i32 noundef %5596, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 165, ptr noundef %5599, ptr noundef %5602, ptr noundef %5605, i32 noundef %5607) #11
  br label %5609

5609:                                             ; preds = %5592, %5575
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #11
  br label %5610

5610:                                             ; preds = %5609
  br label %5611

5611:                                             ; preds = %5610
  call void @exit(i32 noundef 1) #13
  unreachable

5612:                                             ; No predecessors!
  br label %5613

5613:                                             ; preds = %5612
  br label %5614

5614:                                             ; preds = %5613, %5552
  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_hash_is_ready_for_input(ptr noundef %12)
  %5621 = icmp ne i32 %5620, 0
  br i1 %5621, label %5675, label %5622

5622:                                             ; preds = %5617
  br label %5623

5623:                                             ; preds = %5622
  br label %5624

5624:                                             ; preds = %5623
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #11
  %5625 = call ptr @__errno_location() #12
  %5626 = load i32, ptr %5625, align 4, !tbaa !5
  store i32 %5626, ptr %110, 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 !13, !range !15, !noundef !16
  %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) #11
  %5634 = call i32 @isatty(i32 noundef %5633) #11
  %5635 = icmp ne i32 %5634, 0
  br i1 %5635, label %5636, label %5653

5636:                                             ; preds = %5631
  %5637 = load i32, ptr %110, align 4, !tbaa !5
  %5638 = call ptr @__errno_location() #12
  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() #12
  %5648 = load i32, ptr %5647, align 4, !tbaa !5
  %5649 = call ptr @strerror(i32 noundef %5648) #11
  %5650 = call ptr @__errno_location() #12
  %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.18, ptr noundef @.str.1, i32 noundef 166, ptr noundef %5643, ptr noundef %5646, ptr noundef %5649, i32 noundef %5651) #11
  br label %5670

5653:                                             ; preds = %5631, %5624
  %5654 = load i32, ptr %110, align 4, !tbaa !5
  %5655 = call ptr @__errno_location() #12
  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() #12
  %5665 = load i32, ptr %5664, align 4, !tbaa !5
  %5666 = call ptr @strerror(i32 noundef %5665) #11
  %5667 = call ptr @__errno_location() #12
  %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.18, ptr noundef @.str.1, i32 noundef 166, ptr noundef %5660, ptr noundef %5663, ptr noundef %5666, i32 noundef %5668) #11
  br label %5670

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

5671:                                             ; preds = %5670
  br label %5672

5672:                                             ; preds = %5671
  call void @exit(i32 noundef 1) #13
  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
  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_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %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 %111) #11
  %5686 = call ptr @__errno_location() #12
  %5687 = load i32, ptr %5686, align 4, !tbaa !5
  store i32 %5687, ptr %111, 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 !13, !range !15, !noundef !16
  %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) #11
  %5695 = call i32 @isatty(i32 noundef %5694) #11
  %5696 = icmp ne i32 %5695, 0
  br i1 %5696, label %5697, label %5714

5697:                                             ; preds = %5692
  %5698 = load i32, ptr %111, align 4, !tbaa !5
  %5699 = call ptr @__errno_location() #12
  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() #12
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call ptr @strerror(i32 noundef %5709) #11
  %5711 = call ptr @__errno_location() #12
  %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 167, ptr noundef %5704, ptr noundef %5707, ptr noundef %5710, i32 noundef %5712) #11
  br label %5731

5714:                                             ; preds = %5692, %5685
  %5715 = load i32, ptr %111, align 4, !tbaa !5
  %5716 = call ptr @__errno_location() #12
  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() #12
  %5726 = load i32, ptr %5725, align 4, !tbaa !5
  %5727 = call ptr @strerror(i32 noundef %5726) #11
  %5728 = call ptr @__errno_location() #12
  %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 167, ptr noundef %5721, ptr noundef %5724, ptr noundef %5727, i32 noundef %5729) #11
  br label %5731

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

5732:                                             ; preds = %5731
  br label %5733

5733:                                             ; preds = %5732
  call void @exit(i32 noundef 1) #13
  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 = load i64, ptr %16, align 8, !tbaa !11
  %5743 = icmp eq i64 %5742, 22
  br i1 %5743, label %5797, label %5744

5744:                                             ; preds = %5739
  br label %5745

5745:                                             ; preds = %5744
  br label %5746

5746:                                             ; preds = %5745
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #11
  %5747 = call ptr @__errno_location() #12
  %5748 = load i32, ptr %5747, align 4, !tbaa !5
  store i32 %5748, ptr %112, 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 !13, !range !15, !noundef !16
  %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) #11
  %5756 = call i32 @isatty(i32 noundef %5755) #11
  %5757 = icmp ne i32 %5756, 0
  br i1 %5757, label %5758, label %5775

5758:                                             ; preds = %5753
  %5759 = load i32, ptr %112, align 4, !tbaa !5
  %5760 = call ptr @__errno_location() #12
  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() #12
  %5770 = load i32, ptr %5769, align 4, !tbaa !5
  %5771 = call ptr @strerror(i32 noundef %5770) #11
  %5772 = call ptr @__errno_location() #12
  %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.42, ptr noundef @.str.1, i32 noundef 168, ptr noundef %5765, ptr noundef %5768, ptr noundef %5771, i32 noundef %5773) #11
  br label %5792

5775:                                             ; preds = %5753, %5746
  %5776 = load i32, ptr %112, align 4, !tbaa !5
  %5777 = call ptr @__errno_location() #12
  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() #12
  %5787 = load i32, ptr %5786, align 4, !tbaa !5
  %5788 = call ptr @strerror(i32 noundef %5787) #11
  %5789 = call ptr @__errno_location() #12
  %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.42, ptr noundef @.str.1, i32 noundef 168, ptr noundef %5782, ptr noundef %5785, ptr noundef %5788, i32 noundef %5790) #11
  br label %5792

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

5793:                                             ; preds = %5792
  br label %5794

5794:                                             ; preds = %5793
  call void @exit(i32 noundef 1) #13
  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 = %5799
  %5801 = load i32, ptr @test_count, align 4, !tbaa !5
  %5802 = add nsw i32 %5801, 1
  store i32 %5802, ptr @test_count, align 4, !tbaa !5
  %5803 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %5804 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %5803, i32 noundef 20)
  %5805 = icmp eq i32 %5804, -1
  br i1 %5805, label %5806, label %5859

5806:                                             ; preds = %5800
  br label %5807

5807:                                             ; preds = %5806
  br label %5808

5808:                                             ; preds = %5807
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #11
  %5809 = call ptr @__errno_location() #12
  %5810 = load i32, ptr %5809, align 4, !tbaa !5
  store i32 %5810, ptr %113, align 4, !tbaa !5
  %5811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5812 = call i32 @s2n_print_stacktrace(ptr noundef %5811)
  %5813 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5814 = trunc i8 %5813 to i1
  br i1 %5814, label %5815, label %5837

5815:                                             ; preds = %5808
  %5816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5817 = call i32 @fileno(ptr noundef %5816) #11
  %5818 = call i32 @isatty(i32 noundef %5817) #11
  %5819 = icmp ne i32 %5818, 0
  br i1 %5819, label %5820, label %5837

5820:                                             ; preds = %5815
  %5821 = load i32, ptr %113, align 4, !tbaa !5
  %5822 = call ptr @__errno_location() #12
  store i32 %5821, ptr %5822, align 4, !tbaa !5
  %5823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5824 = load i32, ptr @test_count, align 4, !tbaa !5
  %5825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5826 = load i32, ptr %5825, align 4, !tbaa !5
  %5827 = call ptr @s2n_strerror(i32 noundef %5826, ptr noundef @.str.4)
  %5828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5829 = load i32, ptr %5828, align 4, !tbaa !5
  %5830 = call ptr @s2n_strerror_debug(i32 noundef %5829, ptr noundef @.str.4)
  %5831 = call ptr @__errno_location() #12
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @strerror(i32 noundef %5832) #11
  %5834 = call ptr @__errno_location() #12
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5823, ptr noundef @.str.2, i32 noundef %5824, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 170, ptr noundef %5827, ptr noundef %5830, ptr noundef %5833, i32 noundef %5835) #11
  br label %5854

5837:                                             ; preds = %5815, %5808
  %5838 = load i32, ptr %113, align 4, !tbaa !5
  %5839 = call ptr @__errno_location() #12
  store i32 %5838, ptr %5839, align 4, !tbaa !5
  %5840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5841 = load i32, ptr @test_count, align 4, !tbaa !5
  %5842 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5843 = load i32, ptr %5842, align 4, !tbaa !5
  %5844 = call ptr @s2n_strerror(i32 noundef %5843, ptr noundef @.str.4)
  %5845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5846 = load i32, ptr %5845, align 4, !tbaa !5
  %5847 = call ptr @s2n_strerror_debug(i32 noundef %5846, ptr noundef @.str.4)
  %5848 = call ptr @__errno_location() #12
  %5849 = load i32, ptr %5848, align 4, !tbaa !5
  %5850 = call ptr @strerror(i32 noundef %5849) #11
  %5851 = call ptr @__errno_location() #12
  %5852 = load i32, ptr %5851, align 4, !tbaa !5
  %5853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5840, ptr noundef @.str.5, i32 noundef %5841, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 170, ptr noundef %5844, ptr noundef %5847, ptr noundef %5850, i32 noundef %5852) #11
  br label %5854

5854:                                             ; preds = %5837, %5820
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5855

5855:                                             ; preds = %5854
  br label %5856

5856:                                             ; preds = %5855
  call void @exit(i32 noundef 1) #13
  unreachable

5857:                                             ; No predecessors!
  br label %5858

5858:                                             ; preds = %5857
  br label %5859

5859:                                             ; preds = %5858, %5800
  br label %5860

5860:                                             ; preds = %5859
  br label %5861

5861:                                             ; preds = %5860
  br label %5862

5862:                                             ; preds = %5861
  %5863 = load i32, ptr @test_count, align 4, !tbaa !5
  %5864 = add nsw i32 %5863, 1
  store i32 %5864, ptr @test_count, align 4, !tbaa !5
  %5865 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %5866 = icmp ne i32 %5865, 0
  br i1 %5866, label %5867, label %5920

5867:                                             ; preds = %5862
  br label %5868

5868:                                             ; preds = %5867
  br label %5869

5869:                                             ; preds = %5868
  call void @llvm.lifetime.start.p0(i64 4, ptr %114) #11
  %5870 = call ptr @__errno_location() #12
  %5871 = load i32, ptr %5870, align 4, !tbaa !5
  store i32 %5871, ptr %114, align 4, !tbaa !5
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = call i32 @s2n_print_stacktrace(ptr noundef %5872)
  %5874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5875 = trunc i8 %5874 to i1
  br i1 %5875, label %5876, label %5898

5876:                                             ; preds = %5869
  %5877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5878 = call i32 @fileno(ptr noundef %5877) #11
  %5879 = call i32 @isatty(i32 noundef %5878) #11
  %5880 = icmp ne i32 %5879, 0
  br i1 %5880, label %5881, label %5898

5881:                                             ; preds = %5876
  %5882 = load i32, ptr %114, align 4, !tbaa !5
  %5883 = call ptr @__errno_location() #12
  store i32 %5882, ptr %5883, align 4, !tbaa !5
  %5884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5885 = load i32, ptr @test_count, align 4, !tbaa !5
  %5886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  %5888 = call ptr @s2n_strerror(i32 noundef %5887, ptr noundef @.str.4)
  %5889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5890 = load i32, ptr %5889, align 4, !tbaa !5
  %5891 = call ptr @s2n_strerror_debug(i32 noundef %5890, ptr noundef @.str.4)
  %5892 = call ptr @__errno_location() #12
  %5893 = load i32, ptr %5892, align 4, !tbaa !5
  %5894 = call ptr @strerror(i32 noundef %5893) #11
  %5895 = call ptr @__errno_location() #12
  %5896 = load i32, ptr %5895, align 4, !tbaa !5
  %5897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5884, ptr noundef @.str.2, i32 noundef %5885, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 171, ptr noundef %5888, ptr noundef %5891, ptr noundef %5894, i32 noundef %5896) #11
  br label %5915

5898:                                             ; preds = %5876, %5869
  %5899 = load i32, ptr %114, align 4, !tbaa !5
  %5900 = call ptr @__errno_location() #12
  store i32 %5899, ptr %5900, align 4, !tbaa !5
  %5901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5902 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5904, ptr noundef @.str.4)
  %5906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5907 = load i32, ptr %5906, align 4, !tbaa !5
  %5908 = call ptr @s2n_strerror_debug(i32 noundef %5907, ptr noundef @.str.4)
  %5909 = call ptr @__errno_location() #12
  %5910 = load i32, ptr %5909, align 4, !tbaa !5
  %5911 = call ptr @strerror(i32 noundef %5910) #11
  %5912 = call ptr @__errno_location() #12
  %5913 = load i32, ptr %5912, align 4, !tbaa !5
  %5914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5901, ptr noundef @.str.5, i32 noundef %5902, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 171, ptr noundef %5905, ptr noundef %5908, ptr noundef %5911, i32 noundef %5913) #11
  br label %5915

5915:                                             ; preds = %5898, %5881
  call void @llvm.lifetime.end.p0(i64 4, ptr %114) #11
  br label %5916

5916:                                             ; preds = %5915
  br label %5917

5917:                                             ; preds = %5916
  call void @exit(i32 noundef 1) #13
  unreachable

5918:                                             ; No predecessors!
  br label %5919

5919:                                             ; preds = %5918
  br label %5920

5920:                                             ; preds = %5919, %5862
  br label %5921

5921:                                             ; preds = %5920
  br label %5922

5922:                                             ; preds = %5921
  br label %5923

5923:                                             ; preds = %5922
  br label %5924

5924:                                             ; preds = %5923
  %5925 = load i32, ptr @test_count, align 4, !tbaa !5
  %5926 = add nsw i32 %5925, 1
  store i32 %5926, ptr @test_count, align 4, !tbaa !5
  %5927 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %5928 = icmp eq i32 %5927, -1
  br i1 %5928, label %5982, label %5929

5929:                                             ; preds = %5924
  br label %5930

5930:                                             ; preds = %5929
  br label %5931

5931:                                             ; preds = %5930
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #11
  %5932 = call ptr @__errno_location() #12
  %5933 = load i32, ptr %5932, align 4, !tbaa !5
  store i32 %5933, ptr %115, align 4, !tbaa !5
  %5934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5935 = call i32 @s2n_print_stacktrace(ptr noundef %5934)
  %5936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5937 = trunc i8 %5936 to i1
  br i1 %5937, label %5938, label %5960

5938:                                             ; preds = %5931
  %5939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5940 = call i32 @fileno(ptr noundef %5939) #11
  %5941 = call i32 @isatty(i32 noundef %5940) #11
  %5942 = icmp ne i32 %5941, 0
  br i1 %5942, label %5943, label %5960

5943:                                             ; preds = %5938
  %5944 = load i32, ptr %115, align 4, !tbaa !5
  %5945 = call ptr @__errno_location() #12
  store i32 %5944, ptr %5945, align 4, !tbaa !5
  %5946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5947 = load i32, ptr @test_count, align 4, !tbaa !5
  %5948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5949 = load i32, ptr %5948, align 4, !tbaa !5
  %5950 = call ptr @s2n_strerror(i32 noundef %5949, ptr noundef @.str.4)
  %5951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5952 = load i32, ptr %5951, align 4, !tbaa !5
  %5953 = call ptr @s2n_strerror_debug(i32 noundef %5952, ptr noundef @.str.4)
  %5954 = call ptr @__errno_location() #12
  %5955 = load i32, ptr %5954, align 4, !tbaa !5
  %5956 = call ptr @strerror(i32 noundef %5955) #11
  %5957 = call ptr @__errno_location() #12
  %5958 = load i32, ptr %5957, align 4, !tbaa !5
  %5959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5946, ptr noundef @.str.2, i32 noundef %5947, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 172, ptr noundef %5950, ptr noundef %5953, ptr noundef %5956, i32 noundef %5958) #11
  br label %5977

5960:                                             ; preds = %5938, %5931
  %5961 = load i32, ptr %115, align 4, !tbaa !5
  %5962 = call ptr @__errno_location() #12
  store i32 %5961, ptr %5962, align 4, !tbaa !5
  %5963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5964 = load i32, ptr @test_count, align 4, !tbaa !5
  %5965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5966 = load i32, ptr %5965, align 4, !tbaa !5
  %5967 = call ptr @s2n_strerror(i32 noundef %5966, ptr noundef @.str.4)
  %5968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5969 = load i32, ptr %5968, align 4, !tbaa !5
  %5970 = call ptr @s2n_strerror_debug(i32 noundef %5969, ptr noundef @.str.4)
  %5971 = call ptr @__errno_location() #12
  %5972 = load i32, ptr %5971, align 4, !tbaa !5
  %5973 = call ptr @strerror(i32 noundef %5972) #11
  %5974 = call ptr @__errno_location() #12
  %5975 = load i32, ptr %5974, align 4, !tbaa !5
  %5976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5963, ptr noundef @.str.5, i32 noundef %5964, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 172, ptr noundef %5967, ptr noundef %5970, ptr noundef %5973, i32 noundef %5975) #11
  br label %5977

5977:                                             ; preds = %5960, %5943
  call void @llvm.lifetime.end.p0(i64 4, ptr %115) #11
  br label %5978

5978:                                             ; preds = %5977
  br label %5979

5979:                                             ; preds = %5978
  call void @exit(i32 noundef 1) #13
  unreachable

5980:                                             ; No predecessors!
  br label %5981

5981:                                             ; preds = %5980
  br label %5982

5982:                                             ; preds = %5981, %5924
  br label %5983

5983:                                             ; preds = %5982
  br label %5984

5984:                                             ; preds = %5983
  br label %5985

5985:                                             ; preds = %5984
  %5986 = load i32, ptr @test_count, align 4, !tbaa !5
  %5987 = add nsw i32 %5986, 1
  store i32 %5987, ptr @test_count, align 4, !tbaa !5
  %5988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5989 = load i32, ptr %5988, align 4, !tbaa !5
  %5990 = icmp eq i32 %5989, 0
  br i1 %5990, label %5991, label %6044

5991:                                             ; preds = %5985
  br label %5992

5992:                                             ; preds = %5991
  br label %5993

5993:                                             ; preds = %5992
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #11
  %5994 = call ptr @__errno_location() #12
  %5995 = load i32, ptr %5994, align 4, !tbaa !5
  store i32 %5995, ptr %116, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = call i32 @s2n_print_stacktrace(ptr noundef %5996)
  %5998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5999 = trunc i8 %5998 to i1
  br i1 %5999, label %6000, label %6022

6000:                                             ; preds = %5993
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = call i32 @fileno(ptr noundef %6001) #11
  %6003 = call i32 @isatty(i32 noundef %6002) #11
  %6004 = icmp ne i32 %6003, 0
  br i1 %6004, label %6005, label %6022

6005:                                             ; preds = %6000
  %6006 = load i32, ptr %116, align 4, !tbaa !5
  %6007 = call ptr @__errno_location() #12
  store i32 %6006, ptr %6007, align 4, !tbaa !5
  %6008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6009 = load i32, ptr @test_count, align 4, !tbaa !5
  %6010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6011 = load i32, ptr %6010, align 4, !tbaa !5
  %6012 = call ptr @s2n_strerror(i32 noundef %6011, ptr noundef @.str.4)
  %6013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6014 = load i32, ptr %6013, align 4, !tbaa !5
  %6015 = call ptr @s2n_strerror_debug(i32 noundef %6014, ptr noundef @.str.4)
  %6016 = call ptr @__errno_location() #12
  %6017 = load i32, ptr %6016, align 4, !tbaa !5
  %6018 = call ptr @strerror(i32 noundef %6017) #11
  %6019 = call ptr @__errno_location() #12
  %6020 = load i32, ptr %6019, align 4, !tbaa !5
  %6021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6008, ptr noundef @.str.2, i32 noundef %6009, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 172, ptr noundef %6012, ptr noundef %6015, ptr noundef %6018, i32 noundef %6020) #11
  br label %6039

6022:                                             ; preds = %6000, %5993
  %6023 = load i32, ptr %116, align 4, !tbaa !5
  %6024 = call ptr @__errno_location() #12
  store i32 %6023, ptr %6024, align 4, !tbaa !5
  %6025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6026 = load i32, ptr @test_count, align 4, !tbaa !5
  %6027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6028 = load i32, ptr %6027, align 4, !tbaa !5
  %6029 = call ptr @s2n_strerror(i32 noundef %6028, ptr noundef @.str.4)
  %6030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6031 = load i32, ptr %6030, align 4, !tbaa !5
  %6032 = call ptr @s2n_strerror_debug(i32 noundef %6031, ptr noundef @.str.4)
  %6033 = call ptr @__errno_location() #12
  %6034 = load i32, ptr %6033, align 4, !tbaa !5
  %6035 = call ptr @strerror(i32 noundef %6034) #11
  %6036 = call ptr @__errno_location() #12
  %6037 = load i32, ptr %6036, align 4, !tbaa !5
  %6038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6025, ptr noundef @.str.5, i32 noundef %6026, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 172, ptr noundef %6029, ptr noundef %6032, ptr noundef %6035, i32 noundef %6037) #11
  br label %6039

6039:                                             ; preds = %6022, %6005
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #11
  br label %6040

6040:                                             ; preds = %6039
  br label %6041

6041:                                             ; preds = %6040
  call void @exit(i32 noundef 1) #13
  unreachable

6042:                                             ; No predecessors!
  br label %6043

6043:                                             ; preds = %6042
  br label %6044

6044:                                             ; preds = %6043, %5985
  br label %6045

6045:                                             ; preds = %6044
  br label %6046

6046:                                             ; preds = %6045
  br label %6047

6047:                                             ; preds = %6046
  %6048 = load i32, ptr @test_count, align 4, !tbaa !5
  %6049 = add nsw i32 %6048, 1
  store i32 %6049, ptr @test_count, align 4, !tbaa !5
  %6050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6051 = load i32, ptr %6050, align 4, !tbaa !5
  %6052 = call ptr @s2n_strerror_debug(i32 noundef %6051, ptr noundef @.str.4)
  %6053 = icmp eq ptr %6052, null
  br i1 %6053, label %6054, label %6107

6054:                                             ; preds = %6047
  br label %6055

6055:                                             ; preds = %6054
  br label %6056

6056:                                             ; preds = %6055
  call void @llvm.lifetime.start.p0(i64 4, ptr %117) #11
  %6057 = call ptr @__errno_location() #12
  %6058 = load i32, ptr %6057, align 4, !tbaa !5
  store i32 %6058, ptr %117, align 4, !tbaa !5
  %6059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6060 = call i32 @s2n_print_stacktrace(ptr noundef %6059)
  %6061 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6062 = trunc i8 %6061 to i1
  br i1 %6062, label %6063, label %6085

6063:                                             ; preds = %6056
  %6064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6065 = call i32 @fileno(ptr noundef %6064) #11
  %6066 = call i32 @isatty(i32 noundef %6065) #11
  %6067 = icmp ne i32 %6066, 0
  br i1 %6067, label %6068, label %6085

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

6085:                                             ; preds = %6063, %6056
  %6086 = load i32, ptr %117, align 4, !tbaa !5
  %6087 = call ptr @__errno_location() #12
  store i32 %6086, ptr %6087, align 4, !tbaa !5
  %6088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6089 = load i32, ptr @test_count, align 4, !tbaa !5
  %6090 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6091 = load i32, ptr %6090, align 4, !tbaa !5
  %6092 = call ptr @s2n_strerror(i32 noundef %6091, ptr noundef @.str.4)
  %6093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6094 = load i32, ptr %6093, align 4, !tbaa !5
  %6095 = call ptr @s2n_strerror_debug(i32 noundef %6094, ptr noundef @.str.4)
  %6096 = call ptr @__errno_location() #12
  %6097 = load i32, ptr %6096, align 4, !tbaa !5
  %6098 = call ptr @strerror(i32 noundef %6097) #11
  %6099 = call ptr @__errno_location() #12
  %6100 = load i32, ptr %6099, align 4, !tbaa !5
  %6101 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6088, ptr noundef @.str.5, i32 noundef %6089, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 172, ptr noundef %6092, ptr noundef %6095, ptr noundef %6098, i32 noundef %6100) #11
  br label %6102

6102:                                             ; preds = %6085, %6068
  call void @llvm.lifetime.end.p0(i64 4, ptr %117) #11
  br label %6103

6103:                                             ; preds = %6102
  br label %6104

6104:                                             ; preds = %6103
  call void @exit(i32 noundef 1) #13
  unreachable

6105:                                             ; No predecessors!
  br label %6106

6106:                                             ; preds = %6105
  br label %6107

6107:                                             ; preds = %6106, %6047
  br label %6108

6108:                                             ; preds = %6107
  br label %6109

6109:                                             ; preds = %6108
  br label %6110

6110:                                             ; preds = %6109
  %6111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6111, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6112 = call ptr @__errno_location() #12
  store i32 0, ptr %6112, align 4, !tbaa !5
  br label %6113

6113:                                             ; preds = %6110
  br label %6114

6114:                                             ; preds = %6113
  br label %6115

6115:                                             ; preds = %6114
  br label %6116

6116:                                             ; preds = %6115
  br label %6117

6117:                                             ; preds = %6116
  %6118 = load i32, ptr @test_count, align 4, !tbaa !5
  %6119 = add nsw i32 %6118, 1
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %6121 = icmp eq i32 %6120, -1
  br i1 %6121, label %6122, label %6175

6122:                                             ; preds = %6117
  br label %6123

6123:                                             ; preds = %6122
  br label %6124

6124:                                             ; preds = %6123
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #11
  %6125 = call ptr @__errno_location() #12
  %6126 = load i32, ptr %6125, align 4, !tbaa !5
  store i32 %6126, ptr %118, align 4, !tbaa !5
  %6127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6128 = call i32 @s2n_print_stacktrace(ptr noundef %6127)
  %6129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6130 = trunc i8 %6129 to i1
  br i1 %6130, label %6131, label %6153

6131:                                             ; preds = %6124
  %6132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6133 = call i32 @fileno(ptr noundef %6132) #11
  %6134 = call i32 @isatty(i32 noundef %6133) #11
  %6135 = icmp ne i32 %6134, 0
  br i1 %6135, label %6136, label %6153

6136:                                             ; preds = %6131
  %6137 = load i32, ptr %118, align 4, !tbaa !5
  %6138 = call ptr @__errno_location() #12
  store i32 %6137, ptr %6138, align 4, !tbaa !5
  %6139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6140 = load i32, ptr @test_count, align 4, !tbaa !5
  %6141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6142 = load i32, ptr %6141, align 4, !tbaa !5
  %6143 = call ptr @s2n_strerror(i32 noundef %6142, ptr noundef @.str.4)
  %6144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6145 = load i32, ptr %6144, align 4, !tbaa !5
  %6146 = call ptr @s2n_strerror_debug(i32 noundef %6145, ptr noundef @.str.4)
  %6147 = call ptr @__errno_location() #12
  %6148 = load i32, ptr %6147, align 4, !tbaa !5
  %6149 = call ptr @strerror(i32 noundef %6148) #11
  %6150 = call ptr @__errno_location() #12
  %6151 = load i32, ptr %6150, align 4, !tbaa !5
  %6152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6139, ptr noundef @.str.2, i32 noundef %6140, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 174, ptr noundef %6143, ptr noundef %6146, ptr noundef %6149, i32 noundef %6151) #11
  br label %6170

6153:                                             ; preds = %6131, %6124
  %6154 = load i32, ptr %118, align 4, !tbaa !5
  %6155 = call ptr @__errno_location() #12
  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() #12
  %6165 = load i32, ptr %6164, align 4, !tbaa !5
  %6166 = call ptr @strerror(i32 noundef %6165) #11
  %6167 = call ptr @__errno_location() #12
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6156, ptr noundef @.str.5, i32 noundef %6157, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 174, ptr noundef %6160, ptr noundef %6163, ptr noundef %6166, i32 noundef %6168) #11
  br label %6170

6170:                                             ; preds = %6153, %6136
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %6171

6171:                                             ; preds = %6170
  br label %6172

6172:                                             ; preds = %6171
  call void @exit(i32 noundef 1) #13
  unreachable

6173:                                             ; No predecessors!
  br label %6174

6174:                                             ; preds = %6173
  br label %6175

6175:                                             ; preds = %6174, %6117
  br label %6176

6176:                                             ; preds = %6175
  br label %6177

6177:                                             ; preds = %6176
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #11
  store i32 0, ptr %119, align 4, !tbaa !5
  br label %6178

6178:                                             ; preds = %6251, %6177
  %6179 = load i32, ptr %119, align 4, !tbaa !5
  %6180 = icmp slt i32 %6179, 20
  br i1 %6180, label %6182, label %6181

6181:                                             ; preds = %6178
  store i32 615, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %6254

6182:                                             ; preds = %6178
  br label %6183

6183:                                             ; preds = %6182
  %6184 = load i32, ptr @test_count, align 4, !tbaa !5
  %6185 = add nsw i32 %6184, 1
  store i32 %6185, ptr @test_count, align 4, !tbaa !5
  %6186 = load i32, ptr %119, align 4, !tbaa !5
  %6187 = sext i32 %6186 to i64
  %6188 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %6187
  %6189 = load i8, ptr %6188, align 1, !tbaa !17
  %6190 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %6189)
  %6191 = getelementptr inbounds %struct.s2n_result, ptr %120, i32 0, i32 0
  store i32 %6190, ptr %6191, align 4
  %6192 = getelementptr inbounds %struct.s2n_result, ptr %120, i32 0, i32 0
  %6193 = load i32, ptr %6192, align 4
  %6194 = call zeroext i1 @s2n_result_is_ok(i32 %6193)
  br i1 %6194, label %6248, label %6195

6195:                                             ; preds = %6183
  br label %6196

6196:                                             ; preds = %6195
  br label %6197

6197:                                             ; preds = %6196
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #11
  %6198 = call ptr @__errno_location() #12
  %6199 = load i32, ptr %6198, align 4, !tbaa !5
  store i32 %6199, ptr %121, align 4, !tbaa !5
  %6200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6201 = call i32 @s2n_print_stacktrace(ptr noundef %6200)
  %6202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6203 = trunc i8 %6202 to i1
  br i1 %6203, label %6204, label %6226

6204:                                             ; preds = %6197
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @fileno(ptr noundef %6205) #11
  %6207 = call i32 @isatty(i32 noundef %6206) #11
  %6208 = icmp ne i32 %6207, 0
  br i1 %6208, label %6209, label %6226

6209:                                             ; preds = %6204
  %6210 = load i32, ptr %121, align 4, !tbaa !5
  %6211 = call ptr @__errno_location() #12
  store i32 %6210, ptr %6211, align 4, !tbaa !5
  %6212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6213 = load i32, ptr @test_count, align 4, !tbaa !5
  %6214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  %6216 = call ptr @s2n_strerror(i32 noundef %6215, ptr noundef @.str.4)
  %6217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6218 = load i32, ptr %6217, align 4, !tbaa !5
  %6219 = call ptr @s2n_strerror_debug(i32 noundef %6218, ptr noundef @.str.4)
  %6220 = call ptr @__errno_location() #12
  %6221 = load i32, ptr %6220, align 4, !tbaa !5
  %6222 = call ptr @strerror(i32 noundef %6221) #11
  %6223 = call ptr @__errno_location() #12
  %6224 = load i32, ptr %6223, align 4, !tbaa !5
  %6225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6212, ptr noundef @.str.2, i32 noundef %6213, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 176, ptr noundef %6216, ptr noundef %6219, ptr noundef %6222, i32 noundef %6224) #11
  br label %6243

6226:                                             ; preds = %6204, %6197
  %6227 = load i32, ptr %121, align 4, !tbaa !5
  %6228 = call ptr @__errno_location() #12
  store i32 %6227, ptr %6228, align 4, !tbaa !5
  %6229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6230 = load i32, ptr @test_count, align 4, !tbaa !5
  %6231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6232 = load i32, ptr %6231, align 4, !tbaa !5
  %6233 = call ptr @s2n_strerror(i32 noundef %6232, ptr noundef @.str.4)
  %6234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6235 = load i32, ptr %6234, align 4, !tbaa !5
  %6236 = call ptr @s2n_strerror_debug(i32 noundef %6235, ptr noundef @.str.4)
  %6237 = call ptr @__errno_location() #12
  %6238 = load i32, ptr %6237, align 4, !tbaa !5
  %6239 = call ptr @strerror(i32 noundef %6238) #11
  %6240 = call ptr @__errno_location() #12
  %6241 = load i32, ptr %6240, align 4, !tbaa !5
  %6242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6229, ptr noundef @.str.5, i32 noundef %6230, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 176, ptr noundef %6233, ptr noundef %6236, ptr noundef %6239, i32 noundef %6241) #11
  br label %6243

6243:                                             ; preds = %6226, %6209
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #11
  br label %6244

6244:                                             ; preds = %6243
  br label %6245

6245:                                             ; preds = %6244
  call void @exit(i32 noundef 1) #13
  unreachable

6246:                                             ; No predecessors!
  br label %6247

6247:                                             ; preds = %6246
  br label %6248

6248:                                             ; preds = %6247, %6183
  br label %6249

6249:                                             ; preds = %6248
  br label %6250

6250:                                             ; preds = %6249
  br label %6251

6251:                                             ; preds = %6250
  %6252 = load i32, ptr %119, align 4, !tbaa !5
  %6253 = add nsw i32 %6252, 1
  store i32 %6253, ptr %119, align 4, !tbaa !5
  br label %6178, !llvm.loop !22

6254:                                             ; preds = %6181
  br label %6255

6255:                                             ; preds = %6254
  %6256 = load i32, ptr @test_count, align 4, !tbaa !5
  %6257 = add nsw i32 %6256, 1
  store i32 %6257, ptr @test_count, align 4, !tbaa !5
  %6258 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %6259 = call i32 @memcmp(ptr noundef %6258, ptr noundef @.str.43, i64 noundef 40) #14
  %6260 = icmp eq i32 %6259, 0
  br i1 %6260, label %6314, label %6261

6261:                                             ; preds = %6255
  br label %6262

6262:                                             ; preds = %6261
  br label %6263

6263:                                             ; preds = %6262
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  %6264 = call ptr @__errno_location() #12
  %6265 = load i32, ptr %6264, align 4, !tbaa !5
  store i32 %6265, ptr %122, align 4, !tbaa !5
  %6266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6267 = call i32 @s2n_print_stacktrace(ptr noundef %6266)
  %6268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6269 = trunc i8 %6268 to i1
  br i1 %6269, label %6270, label %6292

6270:                                             ; preds = %6263
  %6271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6272 = call i32 @fileno(ptr noundef %6271) #11
  %6273 = call i32 @isatty(i32 noundef %6272) #11
  %6274 = icmp ne i32 %6273, 0
  br i1 %6274, label %6275, label %6292

6275:                                             ; preds = %6270
  %6276 = load i32, ptr %122, align 4, !tbaa !5
  %6277 = call ptr @__errno_location() #12
  store i32 %6276, ptr %6277, align 4, !tbaa !5
  %6278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6279 = load i32, ptr @test_count, align 4, !tbaa !5
  %6280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6281 = load i32, ptr %6280, align 4, !tbaa !5
  %6282 = call ptr @s2n_strerror(i32 noundef %6281, ptr noundef @.str.4)
  %6283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6284 = load i32, ptr %6283, align 4, !tbaa !5
  %6285 = call ptr @s2n_strerror_debug(i32 noundef %6284, ptr noundef @.str.4)
  %6286 = call ptr @__errno_location() #12
  %6287 = load i32, ptr %6286, align 4, !tbaa !5
  %6288 = call ptr @strerror(i32 noundef %6287) #11
  %6289 = call ptr @__errno_location() #12
  %6290 = load i32, ptr %6289, align 4, !tbaa !5
  %6291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6278, ptr noundef @.str.2, i32 noundef %6279, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 180, ptr noundef %6282, ptr noundef %6285, ptr noundef %6288, i32 noundef %6290) #11
  br label %6309

6292:                                             ; preds = %6270, %6263
  %6293 = load i32, ptr %122, align 4, !tbaa !5
  %6294 = call ptr @__errno_location() #12
  store i32 %6293, ptr %6294, align 4, !tbaa !5
  %6295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6296 = load i32, ptr @test_count, align 4, !tbaa !5
  %6297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6298 = load i32, ptr %6297, align 4, !tbaa !5
  %6299 = call ptr @s2n_strerror(i32 noundef %6298, ptr noundef @.str.4)
  %6300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6301 = load i32, ptr %6300, align 4, !tbaa !5
  %6302 = call ptr @s2n_strerror_debug(i32 noundef %6301, ptr noundef @.str.4)
  %6303 = call ptr @__errno_location() #12
  %6304 = load i32, ptr %6303, align 4, !tbaa !5
  %6305 = call ptr @strerror(i32 noundef %6304) #11
  %6306 = call ptr @__errno_location() #12
  %6307 = load i32, ptr %6306, align 4, !tbaa !5
  %6308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6295, ptr noundef @.str.5, i32 noundef %6296, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 180, ptr noundef %6299, ptr noundef %6302, ptr noundef %6305, i32 noundef %6307) #11
  br label %6309

6309:                                             ; preds = %6292, %6275
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  call void @exit(i32 noundef 1) #13
  unreachable

6312:                                             ; No predecessors!
  br label %6313

6313:                                             ; preds = %6312
  br label %6314

6314:                                             ; preds = %6313, %6255
  br label %6315

6315:                                             ; preds = %6314
  br label %6316

6316:                                             ; preds = %6315
  br label %6317

6317:                                             ; preds = %6316
  %6318 = load i32, ptr @test_count, align 4, !tbaa !5
  %6319 = add nsw i32 %6318, 1
  store i32 %6319, ptr @test_count, align 4, !tbaa !5
  %6320 = getelementptr inbounds [14 x i8], ptr %10, i64 0, i64 0
  %6321 = getelementptr inbounds [14 x i8], ptr %10, i64 0, i64 0
  %6322 = call i64 @strlen(ptr noundef %6321) #14
  %6323 = trunc i64 %6322 to i32
  %6324 = call i32 @s2n_hash_update(ptr noundef %13, ptr noundef %6320, i32 noundef %6323)
  %6325 = icmp eq i32 %6324, -1
  br i1 %6325, label %6326, label %6379

6326:                                             ; preds = %6317
  br label %6327

6327:                                             ; preds = %6326
  br label %6328

6328:                                             ; preds = %6327
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #11
  %6329 = call ptr @__errno_location() #12
  %6330 = load i32, ptr %6329, align 4, !tbaa !5
  store i32 %6330, ptr %123, align 4, !tbaa !5
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @s2n_print_stacktrace(ptr noundef %6331)
  %6333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6334 = trunc i8 %6333 to i1
  br i1 %6334, label %6335, label %6357

6335:                                             ; preds = %6328
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = call i32 @fileno(ptr noundef %6336) #11
  %6338 = call i32 @isatty(i32 noundef %6337) #11
  %6339 = icmp ne i32 %6338, 0
  br i1 %6339, label %6340, label %6357

6340:                                             ; preds = %6335
  %6341 = load i32, ptr %123, align 4, !tbaa !5
  %6342 = call ptr @__errno_location() #12
  store i32 %6341, ptr %6342, align 4, !tbaa !5
  %6343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6346 = load i32, ptr %6345, align 4, !tbaa !5
  %6347 = call ptr @s2n_strerror(i32 noundef %6346, ptr noundef @.str.4)
  %6348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6349 = load i32, ptr %6348, align 4, !tbaa !5
  %6350 = call ptr @s2n_strerror_debug(i32 noundef %6349, ptr noundef @.str.4)
  %6351 = call ptr @__errno_location() #12
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @strerror(i32 noundef %6352) #11
  %6354 = call ptr @__errno_location() #12
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6343, ptr noundef @.str.2, i32 noundef %6344, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 183, ptr noundef %6347, ptr noundef %6350, ptr noundef %6353, i32 noundef %6355) #11
  br label %6374

6357:                                             ; preds = %6335, %6328
  %6358 = load i32, ptr %123, align 4, !tbaa !5
  %6359 = call ptr @__errno_location() #12
  store i32 %6358, ptr %6359, align 4, !tbaa !5
  %6360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6361 = load i32, ptr @test_count, align 4, !tbaa !5
  %6362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6363 = load i32, ptr %6362, align 4, !tbaa !5
  %6364 = call ptr @s2n_strerror(i32 noundef %6363, ptr noundef @.str.4)
  %6365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6366 = load i32, ptr %6365, align 4, !tbaa !5
  %6367 = call ptr @s2n_strerror_debug(i32 noundef %6366, ptr noundef @.str.4)
  %6368 = call ptr @__errno_location() #12
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call ptr @strerror(i32 noundef %6369) #11
  %6371 = call ptr @__errno_location() #12
  %6372 = load i32, ptr %6371, align 4, !tbaa !5
  %6373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6360, ptr noundef @.str.5, i32 noundef %6361, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 183, ptr noundef %6364, ptr noundef %6367, ptr noundef %6370, i32 noundef %6372) #11
  br label %6374

6374:                                             ; preds = %6357, %6340
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #11
  br label %6375

6375:                                             ; preds = %6374
  br label %6376

6376:                                             ; preds = %6375
  call void @exit(i32 noundef 1) #13
  unreachable

6377:                                             ; No predecessors!
  br label %6378

6378:                                             ; preds = %6377
  br label %6379

6379:                                             ; preds = %6378, %6317
  br label %6380

6380:                                             ; preds = %6379
  br label %6381

6381:                                             ; preds = %6380
  br label %6382

6382:                                             ; preds = %6381
  %6383 = load i32, ptr @test_count, align 4, !tbaa !5
  %6384 = add nsw i32 %6383, 1
  store i32 %6384, ptr @test_count, align 4, !tbaa !5
  %6385 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %6386 = icmp ne i32 %6385, 0
  br i1 %6386, label %6440, label %6387

6387:                                             ; preds = %6382
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #11
  %6390 = call ptr @__errno_location() #12
  %6391 = load i32, ptr %6390, align 4, !tbaa !5
  store i32 %6391, ptr %124, align 4, !tbaa !5
  %6392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6393 = call i32 @s2n_print_stacktrace(ptr noundef %6392)
  %6394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6395 = trunc i8 %6394 to i1
  br i1 %6395, label %6396, label %6418

6396:                                             ; preds = %6389
  %6397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6398 = call i32 @fileno(ptr noundef %6397) #11
  %6399 = call i32 @isatty(i32 noundef %6398) #11
  %6400 = icmp ne i32 %6399, 0
  br i1 %6400, label %6401, label %6418

6401:                                             ; preds = %6396
  %6402 = load i32, ptr %124, align 4, !tbaa !5
  %6403 = call ptr @__errno_location() #12
  store i32 %6402, ptr %6403, align 4, !tbaa !5
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = load i32, ptr @test_count, align 4, !tbaa !5
  %6406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6407 = load i32, ptr %6406, align 4, !tbaa !5
  %6408 = call ptr @s2n_strerror(i32 noundef %6407, ptr noundef @.str.4)
  %6409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6410 = load i32, ptr %6409, align 4, !tbaa !5
  %6411 = call ptr @s2n_strerror_debug(i32 noundef %6410, ptr noundef @.str.4)
  %6412 = call ptr @__errno_location() #12
  %6413 = load i32, ptr %6412, align 4, !tbaa !5
  %6414 = call ptr @strerror(i32 noundef %6413) #11
  %6415 = call ptr @__errno_location() #12
  %6416 = load i32, ptr %6415, align 4, !tbaa !5
  %6417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6404, ptr noundef @.str.2, i32 noundef %6405, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 184, ptr noundef %6408, ptr noundef %6411, ptr noundef %6414, i32 noundef %6416) #11
  br label %6435

6418:                                             ; preds = %6396, %6389
  %6419 = load i32, ptr %124, align 4, !tbaa !5
  %6420 = call ptr @__errno_location() #12
  store i32 %6419, ptr %6420, align 4, !tbaa !5
  %6421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6422 = load i32, ptr @test_count, align 4, !tbaa !5
  %6423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6424 = load i32, ptr %6423, align 4, !tbaa !5
  %6425 = call ptr @s2n_strerror(i32 noundef %6424, ptr noundef @.str.4)
  %6426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6427 = load i32, ptr %6426, align 4, !tbaa !5
  %6428 = call ptr @s2n_strerror_debug(i32 noundef %6427, ptr noundef @.str.4)
  %6429 = call ptr @__errno_location() #12
  %6430 = load i32, ptr %6429, align 4, !tbaa !5
  %6431 = call ptr @strerror(i32 noundef %6430) #11
  %6432 = call ptr @__errno_location() #12
  %6433 = load i32, ptr %6432, align 4, !tbaa !5
  %6434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6421, ptr noundef @.str.5, i32 noundef %6422, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 184, ptr noundef %6425, ptr noundef %6428, ptr noundef %6431, i32 noundef %6433) #11
  br label %6435

6435:                                             ; preds = %6418, %6401
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

6437:                                             ; preds = %6436
  call void @exit(i32 noundef 1) #13
  unreachable

6438:                                             ; No predecessors!
  br label %6439

6439:                                             ; preds = %6438
  br label %6440

6440:                                             ; preds = %6439, %6382
  br label %6441

6441:                                             ; preds = %6440
  br label %6442

6442:                                             ; preds = %6441
  br label %6443

6443:                                             ; preds = %6442
  %6444 = load i32, ptr @test_count, align 4, !tbaa !5
  %6445 = add nsw i32 %6444, 1
  store i32 %6445, ptr @test_count, align 4, !tbaa !5
  %6446 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %6447 = icmp eq i32 %6446, -1
  br i1 %6447, label %6448, label %6501

6448:                                             ; preds = %6443
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #11
  %6451 = call ptr @__errno_location() #12
  %6452 = load i32, ptr %6451, align 4, !tbaa !5
  store i32 %6452, ptr %125, align 4, !tbaa !5
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = call i32 @s2n_print_stacktrace(ptr noundef %6453)
  %6455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6456 = trunc i8 %6455 to i1
  br i1 %6456, label %6457, label %6479

6457:                                             ; preds = %6450
  %6458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6459 = call i32 @fileno(ptr noundef %6458) #11
  %6460 = call i32 @isatty(i32 noundef %6459) #11
  %6461 = icmp ne i32 %6460, 0
  br i1 %6461, label %6462, label %6479

6462:                                             ; preds = %6457
  %6463 = load i32, ptr %125, align 4, !tbaa !5
  %6464 = call ptr @__errno_location() #12
  store i32 %6463, ptr %6464, align 4, !tbaa !5
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = load i32, ptr @test_count, align 4, !tbaa !5
  %6467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6468 = load i32, ptr %6467, align 4, !tbaa !5
  %6469 = call ptr @s2n_strerror(i32 noundef %6468, ptr noundef @.str.4)
  %6470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6471 = load i32, ptr %6470, align 4, !tbaa !5
  %6472 = call ptr @s2n_strerror_debug(i32 noundef %6471, ptr noundef @.str.4)
  %6473 = call ptr @__errno_location() #12
  %6474 = load i32, ptr %6473, align 4, !tbaa !5
  %6475 = call ptr @strerror(i32 noundef %6474) #11
  %6476 = call ptr @__errno_location() #12
  %6477 = load i32, ptr %6476, align 4, !tbaa !5
  %6478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6465, ptr noundef @.str.2, i32 noundef %6466, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 185, ptr noundef %6469, ptr noundef %6472, ptr noundef %6475, i32 noundef %6477) #11
  br label %6496

6479:                                             ; preds = %6457, %6450
  %6480 = load i32, ptr %125, align 4, !tbaa !5
  %6481 = call ptr @__errno_location() #12
  store i32 %6480, ptr %6481, align 4, !tbaa !5
  %6482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6483 = load i32, ptr @test_count, align 4, !tbaa !5
  %6484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6485 = load i32, ptr %6484, align 4, !tbaa !5
  %6486 = call ptr @s2n_strerror(i32 noundef %6485, ptr noundef @.str.4)
  %6487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6488 = load i32, ptr %6487, align 4, !tbaa !5
  %6489 = call ptr @s2n_strerror_debug(i32 noundef %6488, ptr noundef @.str.4)
  %6490 = call ptr @__errno_location() #12
  %6491 = load i32, ptr %6490, align 4, !tbaa !5
  %6492 = call ptr @strerror(i32 noundef %6491) #11
  %6493 = call ptr @__errno_location() #12
  %6494 = load i32, ptr %6493, align 4, !tbaa !5
  %6495 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6482, ptr noundef @.str.5, i32 noundef %6483, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 185, ptr noundef %6486, ptr noundef %6489, ptr noundef %6492, i32 noundef %6494) #11
  br label %6496

6496:                                             ; preds = %6479, %6462
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6497

6497:                                             ; preds = %6496
  br label %6498

6498:                                             ; preds = %6497
  call void @exit(i32 noundef 1) #13
  unreachable

6499:                                             ; No predecessors!
  br label %6500

6500:                                             ; preds = %6499
  br label %6501

6501:                                             ; preds = %6500, %6443
  br label %6502

6502:                                             ; preds = %6501
  br label %6503

6503:                                             ; preds = %6502
  br label %6504

6504:                                             ; preds = %6503
  %6505 = load i32, ptr @test_count, align 4, !tbaa !5
  %6506 = add nsw i32 %6505, 1
  store i32 %6506, ptr @test_count, align 4, !tbaa !5
  %6507 = load i64, ptr %16, align 8, !tbaa !11
  %6508 = icmp eq i64 %6507, 22
  br i1 %6508, label %6562, label %6509

6509:                                             ; preds = %6504
  br label %6510

6510:                                             ; preds = %6509
  br label %6511

6511:                                             ; preds = %6510
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #11
  %6512 = call ptr @__errno_location() #12
  %6513 = load i32, ptr %6512, align 4, !tbaa !5
  store i32 %6513, ptr %126, align 4, !tbaa !5
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = call i32 @s2n_print_stacktrace(ptr noundef %6514)
  %6516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6517 = trunc i8 %6516 to i1
  br i1 %6517, label %6518, label %6540

6518:                                             ; preds = %6511
  %6519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6520 = call i32 @fileno(ptr noundef %6519) #11
  %6521 = call i32 @isatty(i32 noundef %6520) #11
  %6522 = icmp ne i32 %6521, 0
  br i1 %6522, label %6523, label %6540

6523:                                             ; preds = %6518
  %6524 = load i32, ptr %126, align 4, !tbaa !5
  %6525 = call ptr @__errno_location() #12
  store i32 %6524, ptr %6525, align 4, !tbaa !5
  %6526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6527 = load i32, ptr @test_count, align 4, !tbaa !5
  %6528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6529 = load i32, ptr %6528, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror(i32 noundef %6529, ptr noundef @.str.4)
  %6531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6532 = load i32, ptr %6531, align 4, !tbaa !5
  %6533 = call ptr @s2n_strerror_debug(i32 noundef %6532, ptr noundef @.str.4)
  %6534 = call ptr @__errno_location() #12
  %6535 = load i32, ptr %6534, align 4, !tbaa !5
  %6536 = call ptr @strerror(i32 noundef %6535) #11
  %6537 = call ptr @__errno_location() #12
  %6538 = load i32, ptr %6537, align 4, !tbaa !5
  %6539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6526, ptr noundef @.str.2, i32 noundef %6527, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 186, ptr noundef %6530, ptr noundef %6533, ptr noundef %6536, i32 noundef %6538) #11
  br label %6557

6540:                                             ; preds = %6518, %6511
  %6541 = load i32, ptr %126, align 4, !tbaa !5
  %6542 = call ptr @__errno_location() #12
  store i32 %6541, ptr %6542, align 4, !tbaa !5
  %6543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6544 = load i32, ptr @test_count, align 4, !tbaa !5
  %6545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror(i32 noundef %6546, ptr noundef @.str.4)
  %6548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6549 = load i32, ptr %6548, align 4, !tbaa !5
  %6550 = call ptr @s2n_strerror_debug(i32 noundef %6549, ptr noundef @.str.4)
  %6551 = call ptr @__errno_location() #12
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call ptr @strerror(i32 noundef %6552) #11
  %6554 = call ptr @__errno_location() #12
  %6555 = load i32, ptr %6554, align 4, !tbaa !5
  %6556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6543, ptr noundef @.str.5, i32 noundef %6544, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 186, ptr noundef %6547, ptr noundef %6550, ptr noundef %6553, i32 noundef %6555) #11
  br label %6557

6557:                                             ; preds = %6540, %6523
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6558

6558:                                             ; preds = %6557
  br label %6559

6559:                                             ; preds = %6558
  call void @exit(i32 noundef 1) #13
  unreachable

6560:                                             ; No predecessors!
  br label %6561

6561:                                             ; preds = %6560
  br label %6562

6562:                                             ; preds = %6561, %6504
  br label %6563

6563:                                             ; preds = %6562
  br label %6564

6564:                                             ; preds = %6563
  br label %6565

6565:                                             ; preds = %6564
  %6566 = load i32, ptr @test_count, align 4, !tbaa !5
  %6567 = add nsw i32 %6566, 1
  store i32 %6567, ptr @test_count, align 4, !tbaa !5
  %6568 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %6569 = call i32 @s2n_hash_digest(ptr noundef %13, ptr noundef %6568, i32 noundef 20)
  %6570 = icmp eq i32 %6569, -1
  br i1 %6570, label %6571, label %6624

6571:                                             ; preds = %6565
  br label %6572

6572:                                             ; preds = %6571
  br label %6573

6573:                                             ; preds = %6572
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6574 = call ptr @__errno_location() #12
  %6575 = load i32, ptr %6574, align 4, !tbaa !5
  store i32 %6575, ptr %127, align 4, !tbaa !5
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @s2n_print_stacktrace(ptr noundef %6576)
  %6578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6579 = trunc i8 %6578 to i1
  br i1 %6579, label %6580, label %6602

6580:                                             ; preds = %6573
  %6581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6582 = call i32 @fileno(ptr noundef %6581) #11
  %6583 = call i32 @isatty(i32 noundef %6582) #11
  %6584 = icmp ne i32 %6583, 0
  br i1 %6584, label %6585, label %6602

6585:                                             ; preds = %6580
  %6586 = load i32, ptr %127, align 4, !tbaa !5
  %6587 = call ptr @__errno_location() #12
  store i32 %6586, ptr %6587, align 4, !tbaa !5
  %6588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6589 = load i32, ptr @test_count, align 4, !tbaa !5
  %6590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  %6592 = call ptr @s2n_strerror(i32 noundef %6591, ptr noundef @.str.4)
  %6593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6594 = load i32, ptr %6593, align 4, !tbaa !5
  %6595 = call ptr @s2n_strerror_debug(i32 noundef %6594, ptr noundef @.str.4)
  %6596 = call ptr @__errno_location() #12
  %6597 = load i32, ptr %6596, align 4, !tbaa !5
  %6598 = call ptr @strerror(i32 noundef %6597) #11
  %6599 = call ptr @__errno_location() #12
  %6600 = load i32, ptr %6599, align 4, !tbaa !5
  %6601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6588, ptr noundef @.str.2, i32 noundef %6589, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 188, ptr noundef %6592, ptr noundef %6595, ptr noundef %6598, i32 noundef %6600) #11
  br label %6619

6602:                                             ; preds = %6580, %6573
  %6603 = load i32, ptr %127, align 4, !tbaa !5
  %6604 = call ptr @__errno_location() #12
  store i32 %6603, ptr %6604, align 4, !tbaa !5
  %6605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6606 = load i32, ptr @test_count, align 4, !tbaa !5
  %6607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6608 = load i32, ptr %6607, align 4, !tbaa !5
  %6609 = call ptr @s2n_strerror(i32 noundef %6608, ptr noundef @.str.4)
  %6610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6611 = load i32, ptr %6610, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror_debug(i32 noundef %6611, ptr noundef @.str.4)
  %6613 = call ptr @__errno_location() #12
  %6614 = load i32, ptr %6613, align 4, !tbaa !5
  %6615 = call ptr @strerror(i32 noundef %6614) #11
  %6616 = call ptr @__errno_location() #12
  %6617 = load i32, ptr %6616, align 4, !tbaa !5
  %6618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6605, ptr noundef @.str.5, i32 noundef %6606, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 188, ptr noundef %6609, ptr noundef %6612, ptr noundef %6615, i32 noundef %6617) #11
  br label %6619

6619:                                             ; preds = %6602, %6585
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620
  call void @exit(i32 noundef 1) #13
  unreachable

6622:                                             ; No predecessors!
  br label %6623

6623:                                             ; preds = %6622
  br label %6624

6624:                                             ; preds = %6623, %6565
  br label %6625

6625:                                             ; preds = %6624
  br label %6626

6626:                                             ; preds = %6625
  br label %6627

6627:                                             ; preds = %6626
  %6628 = load i32, ptr @test_count, align 4, !tbaa !5
  %6629 = add nsw i32 %6628, 1
  store i32 %6629, ptr @test_count, align 4, !tbaa !5
  %6630 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %6631 = icmp ne i32 %6630, 0
  br i1 %6631, label %6632, label %6685

6632:                                             ; preds = %6627
  br label %6633

6633:                                             ; preds = %6632
  br label %6634

6634:                                             ; preds = %6633
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6635 = call ptr @__errno_location() #12
  %6636 = load i32, ptr %6635, align 4, !tbaa !5
  store i32 %6636, ptr %128, align 4, !tbaa !5
  %6637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6638 = call i32 @s2n_print_stacktrace(ptr noundef %6637)
  %6639 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6640 = trunc i8 %6639 to i1
  br i1 %6640, label %6641, label %6663

6641:                                             ; preds = %6634
  %6642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6643 = call i32 @fileno(ptr noundef %6642) #11
  %6644 = call i32 @isatty(i32 noundef %6643) #11
  %6645 = icmp ne i32 %6644, 0
  br i1 %6645, label %6646, label %6663

6646:                                             ; preds = %6641
  %6647 = load i32, ptr %128, align 4, !tbaa !5
  %6648 = call ptr @__errno_location() #12
  store i32 %6647, ptr %6648, align 4, !tbaa !5
  %6649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6650 = load i32, ptr @test_count, align 4, !tbaa !5
  %6651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6652 = load i32, ptr %6651, align 4, !tbaa !5
  %6653 = call ptr @s2n_strerror(i32 noundef %6652, ptr noundef @.str.4)
  %6654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6655 = load i32, ptr %6654, align 4, !tbaa !5
  %6656 = call ptr @s2n_strerror_debug(i32 noundef %6655, ptr noundef @.str.4)
  %6657 = call ptr @__errno_location() #12
  %6658 = load i32, ptr %6657, align 4, !tbaa !5
  %6659 = call ptr @strerror(i32 noundef %6658) #11
  %6660 = call ptr @__errno_location() #12
  %6661 = load i32, ptr %6660, align 4, !tbaa !5
  %6662 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6649, ptr noundef @.str.2, i32 noundef %6650, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 189, ptr noundef %6653, ptr noundef %6656, ptr noundef %6659, i32 noundef %6661) #11
  br label %6680

6663:                                             ; preds = %6641, %6634
  %6664 = load i32, ptr %128, align 4, !tbaa !5
  %6665 = call ptr @__errno_location() #12
  store i32 %6664, ptr %6665, align 4, !tbaa !5
  %6666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6667 = load i32, ptr @test_count, align 4, !tbaa !5
  %6668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6669 = load i32, ptr %6668, align 4, !tbaa !5
  %6670 = call ptr @s2n_strerror(i32 noundef %6669, ptr noundef @.str.4)
  %6671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6672 = load i32, ptr %6671, align 4, !tbaa !5
  %6673 = call ptr @s2n_strerror_debug(i32 noundef %6672, ptr noundef @.str.4)
  %6674 = call ptr @__errno_location() #12
  %6675 = load i32, ptr %6674, align 4, !tbaa !5
  %6676 = call ptr @strerror(i32 noundef %6675) #11
  %6677 = call ptr @__errno_location() #12
  %6678 = load i32, ptr %6677, align 4, !tbaa !5
  %6679 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6666, ptr noundef @.str.5, i32 noundef %6667, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 189, ptr noundef %6670, ptr noundef %6673, ptr noundef %6676, i32 noundef %6678) #11
  br label %6680

6680:                                             ; preds = %6663, %6646
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6681

6681:                                             ; preds = %6680
  br label %6682

6682:                                             ; preds = %6681
  call void @exit(i32 noundef 1) #13
  unreachable

6683:                                             ; No predecessors!
  br label %6684

6684:                                             ; preds = %6683
  br label %6685

6685:                                             ; preds = %6684, %6627
  br label %6686

6686:                                             ; preds = %6685
  br label %6687

6687:                                             ; preds = %6686
  br label %6688

6688:                                             ; preds = %6687
  br label %6689

6689:                                             ; preds = %6688
  %6690 = load i32, ptr @test_count, align 4, !tbaa !5
  %6691 = add nsw i32 %6690, 1
  store i32 %6691, ptr @test_count, align 4, !tbaa !5
  %6692 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %6693 = icmp eq i32 %6692, -1
  br i1 %6693, label %6747, label %6694

6694:                                             ; preds = %6689
  br label %6695

6695:                                             ; preds = %6694
  br label %6696

6696:                                             ; preds = %6695
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #11
  %6697 = call ptr @__errno_location() #12
  %6698 = load i32, ptr %6697, align 4, !tbaa !5
  store i32 %6698, ptr %129, align 4, !tbaa !5
  %6699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6700 = call i32 @s2n_print_stacktrace(ptr noundef %6699)
  %6701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6702 = trunc i8 %6701 to i1
  br i1 %6702, label %6703, label %6725

6703:                                             ; preds = %6696
  %6704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6705 = call i32 @fileno(ptr noundef %6704) #11
  %6706 = call i32 @isatty(i32 noundef %6705) #11
  %6707 = icmp ne i32 %6706, 0
  br i1 %6707, label %6708, label %6725

6708:                                             ; preds = %6703
  %6709 = load i32, ptr %129, align 4, !tbaa !5
  %6710 = call ptr @__errno_location() #12
  store i32 %6709, ptr %6710, align 4, !tbaa !5
  %6711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6712 = load i32, ptr @test_count, align 4, !tbaa !5
  %6713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6714 = load i32, ptr %6713, align 4, !tbaa !5
  %6715 = call ptr @s2n_strerror(i32 noundef %6714, ptr noundef @.str.4)
  %6716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6717 = load i32, ptr %6716, align 4, !tbaa !5
  %6718 = call ptr @s2n_strerror_debug(i32 noundef %6717, ptr noundef @.str.4)
  %6719 = call ptr @__errno_location() #12
  %6720 = load i32, ptr %6719, align 4, !tbaa !5
  %6721 = call ptr @strerror(i32 noundef %6720) #11
  %6722 = call ptr @__errno_location() #12
  %6723 = load i32, ptr %6722, align 4, !tbaa !5
  %6724 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6711, ptr noundef @.str.2, i32 noundef %6712, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6715, ptr noundef %6718, ptr noundef %6721, i32 noundef %6723) #11
  br label %6742

6725:                                             ; preds = %6703, %6696
  %6726 = load i32, ptr %129, align 4, !tbaa !5
  %6727 = call ptr @__errno_location() #12
  store i32 %6726, ptr %6727, align 4, !tbaa !5
  %6728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6729 = load i32, ptr @test_count, align 4, !tbaa !5
  %6730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6731 = load i32, ptr %6730, align 4, !tbaa !5
  %6732 = call ptr @s2n_strerror(i32 noundef %6731, ptr noundef @.str.4)
  %6733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6734 = load i32, ptr %6733, align 4, !tbaa !5
  %6735 = call ptr @s2n_strerror_debug(i32 noundef %6734, ptr noundef @.str.4)
  %6736 = call ptr @__errno_location() #12
  %6737 = load i32, ptr %6736, align 4, !tbaa !5
  %6738 = call ptr @strerror(i32 noundef %6737) #11
  %6739 = call ptr @__errno_location() #12
  %6740 = load i32, ptr %6739, align 4, !tbaa !5
  %6741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6728, ptr noundef @.str.5, i32 noundef %6729, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6732, ptr noundef %6735, ptr noundef %6738, i32 noundef %6740) #11
  br label %6742

6742:                                             ; preds = %6725, %6708
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6743

6743:                                             ; preds = %6742
  br label %6744

6744:                                             ; preds = %6743
  call void @exit(i32 noundef 1) #13
  unreachable

6745:                                             ; No predecessors!
  br label %6746

6746:                                             ; preds = %6745
  br label %6747

6747:                                             ; preds = %6746, %6689
  br label %6748

6748:                                             ; preds = %6747
  br label %6749

6749:                                             ; preds = %6748
  br label %6750

6750:                                             ; preds = %6749
  %6751 = load i32, ptr @test_count, align 4, !tbaa !5
  %6752 = add nsw i32 %6751, 1
  store i32 %6752, ptr @test_count, align 4, !tbaa !5
  %6753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6754 = load i32, ptr %6753, align 4, !tbaa !5
  %6755 = icmp eq i32 %6754, 0
  br i1 %6755, label %6756, label %6809

6756:                                             ; preds = %6750
  br label %6757

6757:                                             ; preds = %6756
  br label %6758

6758:                                             ; preds = %6757
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6759 = call ptr @__errno_location() #12
  %6760 = load i32, ptr %6759, align 4, !tbaa !5
  store i32 %6760, ptr %130, align 4, !tbaa !5
  %6761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6762 = call i32 @s2n_print_stacktrace(ptr noundef %6761)
  %6763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6764 = trunc i8 %6763 to i1
  br i1 %6764, label %6765, label %6787

6765:                                             ; preds = %6758
  %6766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6767 = call i32 @fileno(ptr noundef %6766) #11
  %6768 = call i32 @isatty(i32 noundef %6767) #11
  %6769 = icmp ne i32 %6768, 0
  br i1 %6769, label %6770, label %6787

6770:                                             ; preds = %6765
  %6771 = load i32, ptr %130, align 4, !tbaa !5
  %6772 = call ptr @__errno_location() #12
  store i32 %6771, ptr %6772, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = load i32, ptr @test_count, align 4, !tbaa !5
  %6775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror(i32 noundef %6776, ptr noundef @.str.4)
  %6778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6779 = load i32, ptr %6778, align 4, !tbaa !5
  %6780 = call ptr @s2n_strerror_debug(i32 noundef %6779, ptr noundef @.str.4)
  %6781 = call ptr @__errno_location() #12
  %6782 = load i32, ptr %6781, align 4, !tbaa !5
  %6783 = call ptr @strerror(i32 noundef %6782) #11
  %6784 = call ptr @__errno_location() #12
  %6785 = load i32, ptr %6784, align 4, !tbaa !5
  %6786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6773, ptr noundef @.str.2, i32 noundef %6774, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6777, ptr noundef %6780, ptr noundef %6783, i32 noundef %6785) #11
  br label %6804

6787:                                             ; preds = %6765, %6758
  %6788 = load i32, ptr %130, align 4, !tbaa !5
  %6789 = call ptr @__errno_location() #12
  store i32 %6788, ptr %6789, align 4, !tbaa !5
  %6790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6791 = load i32, ptr @test_count, align 4, !tbaa !5
  %6792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6793 = load i32, ptr %6792, align 4, !tbaa !5
  %6794 = call ptr @s2n_strerror(i32 noundef %6793, ptr noundef @.str.4)
  %6795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @s2n_strerror_debug(i32 noundef %6796, ptr noundef @.str.4)
  %6798 = call ptr @__errno_location() #12
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @strerror(i32 noundef %6799) #11
  %6801 = call ptr @__errno_location() #12
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6790, ptr noundef @.str.5, i32 noundef %6791, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #11
  br label %6804

6804:                                             ; preds = %6787, %6770
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6805

6805:                                             ; preds = %6804
  br label %6806

6806:                                             ; preds = %6805
  call void @exit(i32 noundef 1) #13
  unreachable

6807:                                             ; No predecessors!
  br label %6808

6808:                                             ; preds = %6807
  br label %6809

6809:                                             ; preds = %6808, %6750
  br label %6810

6810:                                             ; preds = %6809
  br label %6811

6811:                                             ; preds = %6810
  br label %6812

6812:                                             ; preds = %6811
  %6813 = load i32, ptr @test_count, align 4, !tbaa !5
  %6814 = add nsw i32 %6813, 1
  store i32 %6814, ptr @test_count, align 4, !tbaa !5
  %6815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @s2n_strerror_debug(i32 noundef %6816, ptr noundef @.str.4)
  %6818 = icmp eq ptr %6817, null
  br i1 %6818, label %6819, label %6872

6819:                                             ; preds = %6812
  br label %6820

6820:                                             ; preds = %6819
  br label %6821

6821:                                             ; preds = %6820
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6822 = call ptr @__errno_location() #12
  %6823 = load i32, ptr %6822, align 4, !tbaa !5
  store i32 %6823, ptr %131, align 4, !tbaa !5
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @s2n_print_stacktrace(ptr noundef %6824)
  %6826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6827 = trunc i8 %6826 to i1
  br i1 %6827, label %6828, label %6850

6828:                                             ; preds = %6821
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = call i32 @fileno(ptr noundef %6829) #11
  %6831 = call i32 @isatty(i32 noundef %6830) #11
  %6832 = icmp ne i32 %6831, 0
  br i1 %6832, label %6833, label %6850

6833:                                             ; preds = %6828
  %6834 = load i32, ptr %131, align 4, !tbaa !5
  %6835 = call ptr @__errno_location() #12
  store i32 %6834, ptr %6835, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = load i32, ptr @test_count, align 4, !tbaa !5
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror(i32 noundef %6839, ptr noundef @.str.4)
  %6841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @s2n_strerror_debug(i32 noundef %6842, ptr noundef @.str.4)
  %6844 = call ptr @__errno_location() #12
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call ptr @strerror(i32 noundef %6845) #11
  %6847 = call ptr @__errno_location() #12
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6836, ptr noundef @.str.2, i32 noundef %6837, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6840, ptr noundef %6843, ptr noundef %6846, i32 noundef %6848) #11
  br label %6867

6850:                                             ; preds = %6828, %6821
  %6851 = load i32, ptr %131, align 4, !tbaa !5
  %6852 = call ptr @__errno_location() #12
  store i32 %6851, ptr %6852, align 4, !tbaa !5
  %6853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6854 = load i32, ptr @test_count, align 4, !tbaa !5
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror(i32 noundef %6856, ptr noundef @.str.4)
  %6858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @s2n_strerror_debug(i32 noundef %6859, ptr noundef @.str.4)
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #11
  %6864 = call ptr @__errno_location() #12
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6853, ptr noundef @.str.5, i32 noundef %6854, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 190, ptr noundef %6857, ptr noundef %6860, ptr noundef %6863, i32 noundef %6865) #11
  br label %6867

6867:                                             ; preds = %6850, %6833
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

6869:                                             ; preds = %6868
  call void @exit(i32 noundef 1) #13
  unreachable

6870:                                             ; No predecessors!
  br label %6871

6871:                                             ; preds = %6870
  br label %6872

6872:                                             ; preds = %6871, %6812
  br label %6873

6873:                                             ; preds = %6872
  br label %6874

6874:                                             ; preds = %6873
  br label %6875

6875:                                             ; preds = %6874
  %6876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6876, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6877 = call ptr @__errno_location() #12
  store i32 0, ptr %6877, align 4, !tbaa !5
  br label %6878

6878:                                             ; preds = %6875
  br label %6879

6879:                                             ; preds = %6878
  br label %6880

6880:                                             ; preds = %6879
  br label %6881

6881:                                             ; preds = %6880
  br label %6882

6882:                                             ; preds = %6881
  %6883 = load i32, ptr @test_count, align 4, !tbaa !5
  %6884 = add nsw i32 %6883, 1
  store i32 %6884, ptr @test_count, align 4, !tbaa !5
  %6885 = call i32 @s2n_hash_free(ptr noundef %13)
  %6886 = icmp eq i32 %6885, -1
  br i1 %6886, label %6887, label %6940

6887:                                             ; preds = %6882
  br label %6888

6888:                                             ; preds = %6887
  br label %6889

6889:                                             ; preds = %6888
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #11
  %6890 = call ptr @__errno_location() #12
  %6891 = load i32, ptr %6890, align 4, !tbaa !5
  store i32 %6891, ptr %132, align 4, !tbaa !5
  %6892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6893 = call i32 @s2n_print_stacktrace(ptr noundef %6892)
  %6894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6895 = trunc i8 %6894 to i1
  br i1 %6895, label %6896, label %6918

6896:                                             ; preds = %6889
  %6897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6898 = call i32 @fileno(ptr noundef %6897) #11
  %6899 = call i32 @isatty(i32 noundef %6898) #11
  %6900 = icmp ne i32 %6899, 0
  br i1 %6900, label %6901, label %6918

6901:                                             ; preds = %6896
  %6902 = load i32, ptr %132, align 4, !tbaa !5
  %6903 = call ptr @__errno_location() #12
  store i32 %6902, ptr %6903, align 4, !tbaa !5
  %6904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6905 = load i32, ptr @test_count, align 4, !tbaa !5
  %6906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  %6908 = call ptr @s2n_strerror(i32 noundef %6907, ptr noundef @.str.4)
  %6909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6910 = load i32, ptr %6909, align 4, !tbaa !5
  %6911 = call ptr @s2n_strerror_debug(i32 noundef %6910, ptr noundef @.str.4)
  %6912 = call ptr @__errno_location() #12
  %6913 = load i32, ptr %6912, align 4, !tbaa !5
  %6914 = call ptr @strerror(i32 noundef %6913) #11
  %6915 = call ptr @__errno_location() #12
  %6916 = load i32, ptr %6915, align 4, !tbaa !5
  %6917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6904, ptr noundef @.str.2, i32 noundef %6905, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 192, ptr noundef %6908, ptr noundef %6911, ptr noundef %6914, i32 noundef %6916) #11
  br label %6935

6918:                                             ; preds = %6896, %6889
  %6919 = load i32, ptr %132, align 4, !tbaa !5
  %6920 = call ptr @__errno_location() #12
  store i32 %6919, ptr %6920, align 4, !tbaa !5
  %6921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6922 = load i32, ptr @test_count, align 4, !tbaa !5
  %6923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6924 = load i32, ptr %6923, align 4, !tbaa !5
  %6925 = call ptr @s2n_strerror(i32 noundef %6924, ptr noundef @.str.4)
  %6926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6927 = load i32, ptr %6926, align 4, !tbaa !5
  %6928 = call ptr @s2n_strerror_debug(i32 noundef %6927, ptr noundef @.str.4)
  %6929 = call ptr @__errno_location() #12
  %6930 = load i32, ptr %6929, align 4, !tbaa !5
  %6931 = call ptr @strerror(i32 noundef %6930) #11
  %6932 = call ptr @__errno_location() #12
  %6933 = load i32, ptr %6932, align 4, !tbaa !5
  %6934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6921, ptr noundef @.str.5, i32 noundef %6922, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 192, ptr noundef %6925, ptr noundef %6928, ptr noundef %6931, i32 noundef %6933) #11
  br label %6935

6935:                                             ; preds = %6918, %6901
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6936

6936:                                             ; preds = %6935
  br label %6937

6937:                                             ; preds = %6936
  call void @exit(i32 noundef 1) #13
  unreachable

6938:                                             ; No predecessors!
  br label %6939

6939:                                             ; preds = %6938
  br label %6940

6940:                                             ; preds = %6939, %6882
  br label %6941

6941:                                             ; preds = %6940
  br label %6942

6942:                                             ; preds = %6941
  br label %6943

6943:                                             ; preds = %6942
  %6944 = load i32, ptr @test_count, align 4, !tbaa !5
  %6945 = add nsw i32 %6944, 1
  store i32 %6945, ptr @test_count, align 4, !tbaa !5
  %6946 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %13)
  %6947 = icmp ne i32 %6946, 0
  br i1 %6947, label %6948, label %7001

6948:                                             ; preds = %6943
  br label %6949

6949:                                             ; preds = %6948
  br label %6950

6950:                                             ; preds = %6949
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6951 = call ptr @__errno_location() #12
  %6952 = load i32, ptr %6951, align 4, !tbaa !5
  store i32 %6952, ptr %133, align 4, !tbaa !5
  %6953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6954 = call i32 @s2n_print_stacktrace(ptr noundef %6953)
  %6955 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6956 = trunc i8 %6955 to i1
  br i1 %6956, label %6957, label %6979

6957:                                             ; preds = %6950
  %6958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6959 = call i32 @fileno(ptr noundef %6958) #11
  %6960 = call i32 @isatty(i32 noundef %6959) #11
  %6961 = icmp ne i32 %6960, 0
  br i1 %6961, label %6962, label %6979

6962:                                             ; preds = %6957
  %6963 = load i32, ptr %133, align 4, !tbaa !5
  %6964 = call ptr @__errno_location() #12
  store i32 %6963, ptr %6964, align 4, !tbaa !5
  %6965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6966 = load i32, ptr @test_count, align 4, !tbaa !5
  %6967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror(i32 noundef %6968, ptr noundef @.str.4)
  %6970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call ptr @s2n_strerror_debug(i32 noundef %6971, ptr noundef @.str.4)
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call ptr @strerror(i32 noundef %6974) #11
  %6976 = call ptr @__errno_location() #12
  %6977 = load i32, ptr %6976, align 4, !tbaa !5
  %6978 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6965, ptr noundef @.str.2, i32 noundef %6966, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 193, ptr noundef %6969, ptr noundef %6972, ptr noundef %6975, i32 noundef %6977) #11
  br label %6996

6979:                                             ; preds = %6957, %6950
  %6980 = load i32, ptr %133, align 4, !tbaa !5
  %6981 = call ptr @__errno_location() #12
  store i32 %6980, ptr %6981, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @s2n_strerror_debug(i32 noundef %6988, ptr noundef @.str.4)
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call ptr @strerror(i32 noundef %6991) #11
  %6993 = call ptr @__errno_location() #12
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  %6995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6982, ptr noundef @.str.5, i32 noundef %6983, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 193, ptr noundef %6986, ptr noundef %6989, ptr noundef %6992, i32 noundef %6994) #11
  br label %6996

6996:                                             ; preds = %6979, %6962
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

6998:                                             ; preds = %6997
  call void @exit(i32 noundef 1) #13
  unreachable

6999:                                             ; No predecessors!
  br label %7000

7000:                                             ; preds = %6999
  br label %7001

7001:                                             ; preds = %7000, %6943
  br label %7002

7002:                                             ; preds = %7001
  br label %7003

7003:                                             ; preds = %7002
  br label %7004

7004:                                             ; preds = %7003
  br label %7005

7005:                                             ; preds = %7004
  %7006 = load i32, ptr @test_count, align 4, !tbaa !5
  %7007 = add nsw i32 %7006, 1
  store i32 %7007, ptr @test_count, align 4, !tbaa !5
  %7008 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %13, ptr noundef %16)
  %7009 = icmp eq i32 %7008, -1
  br i1 %7009, label %7063, label %7010

7010:                                             ; preds = %7005
  br label %7011

7011:                                             ; preds = %7010
  br label %7012

7012:                                             ; preds = %7011
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %7013 = call ptr @__errno_location() #12
  %7014 = load i32, ptr %7013, align 4, !tbaa !5
  store i32 %7014, ptr %134, align 4, !tbaa !5
  %7015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7016 = call i32 @s2n_print_stacktrace(ptr noundef %7015)
  %7017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7018 = trunc i8 %7017 to i1
  br i1 %7018, label %7019, label %7041

7019:                                             ; preds = %7012
  %7020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7021 = call i32 @fileno(ptr noundef %7020) #11
  %7022 = call i32 @isatty(i32 noundef %7021) #11
  %7023 = icmp ne i32 %7022, 0
  br i1 %7023, label %7024, label %7041

7024:                                             ; preds = %7019
  %7025 = load i32, ptr %134, align 4, !tbaa !5
  %7026 = call ptr @__errno_location() #12
  store i32 %7025, ptr %7026, align 4, !tbaa !5
  %7027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7028 = load i32, ptr @test_count, align 4, !tbaa !5
  %7029 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  %7031 = call ptr @s2n_strerror(i32 noundef %7030, ptr noundef @.str.4)
  %7032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7033 = load i32, ptr %7032, align 4, !tbaa !5
  %7034 = call ptr @s2n_strerror_debug(i32 noundef %7033, ptr noundef @.str.4)
  %7035 = call ptr @__errno_location() #12
  %7036 = load i32, ptr %7035, align 4, !tbaa !5
  %7037 = call ptr @strerror(i32 noundef %7036) #11
  %7038 = call ptr @__errno_location() #12
  %7039 = load i32, ptr %7038, align 4, !tbaa !5
  %7040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7027, ptr noundef @.str.2, i32 noundef %7028, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7031, ptr noundef %7034, ptr noundef %7037, i32 noundef %7039) #11
  br label %7058

7041:                                             ; preds = %7019, %7012
  %7042 = load i32, ptr %134, align 4, !tbaa !5
  %7043 = call ptr @__errno_location() #12
  store i32 %7042, ptr %7043, align 4, !tbaa !5
  %7044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7045 = load i32, ptr @test_count, align 4, !tbaa !5
  %7046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7047 = load i32, ptr %7046, align 4, !tbaa !5
  %7048 = call ptr @s2n_strerror(i32 noundef %7047, ptr noundef @.str.4)
  %7049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7050 = load i32, ptr %7049, align 4, !tbaa !5
  %7051 = call ptr @s2n_strerror_debug(i32 noundef %7050, ptr noundef @.str.4)
  %7052 = call ptr @__errno_location() #12
  %7053 = load i32, ptr %7052, align 4, !tbaa !5
  %7054 = call ptr @strerror(i32 noundef %7053) #11
  %7055 = call ptr @__errno_location() #12
  %7056 = load i32, ptr %7055, align 4, !tbaa !5
  %7057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7044, ptr noundef @.str.5, i32 noundef %7045, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7048, ptr noundef %7051, ptr noundef %7054, i32 noundef %7056) #11
  br label %7058

7058:                                             ; preds = %7041, %7024
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %7059

7059:                                             ; preds = %7058
  br label %7060

7060:                                             ; preds = %7059
  call void @exit(i32 noundef 1) #13
  unreachable

7061:                                             ; No predecessors!
  br label %7062

7062:                                             ; preds = %7061
  br label %7063

7063:                                             ; preds = %7062, %7005
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  br label %7066

7066:                                             ; preds = %7065
  %7067 = load i32, ptr @test_count, align 4, !tbaa !5
  %7068 = add nsw i32 %7067, 1
  store i32 %7068, ptr @test_count, align 4, !tbaa !5
  %7069 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7070 = load i32, ptr %7069, align 4, !tbaa !5
  %7071 = icmp eq i32 %7070, 0
  br i1 %7071, label %7072, label %7125

7072:                                             ; preds = %7066
  br label %7073

7073:                                             ; preds = %7072
  br label %7074

7074:                                             ; preds = %7073
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %7075 = call ptr @__errno_location() #12
  %7076 = load i32, ptr %7075, align 4, !tbaa !5
  store i32 %7076, ptr %135, align 4, !tbaa !5
  %7077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7078 = call i32 @s2n_print_stacktrace(ptr noundef %7077)
  %7079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7080 = trunc i8 %7079 to i1
  br i1 %7080, label %7081, label %7103

7081:                                             ; preds = %7074
  %7082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7083 = call i32 @fileno(ptr noundef %7082) #11
  %7084 = call i32 @isatty(i32 noundef %7083) #11
  %7085 = icmp ne i32 %7084, 0
  br i1 %7085, label %7086, label %7103

7086:                                             ; preds = %7081
  %7087 = load i32, ptr %135, align 4, !tbaa !5
  %7088 = call ptr @__errno_location() #12
  store i32 %7087, ptr %7088, align 4, !tbaa !5
  %7089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7090 = load i32, ptr @test_count, align 4, !tbaa !5
  %7091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  %7093 = call ptr @s2n_strerror(i32 noundef %7092, ptr noundef @.str.4)
  %7094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7095 = load i32, ptr %7094, align 4, !tbaa !5
  %7096 = call ptr @s2n_strerror_debug(i32 noundef %7095, ptr noundef @.str.4)
  %7097 = call ptr @__errno_location() #12
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call ptr @strerror(i32 noundef %7098) #11
  %7100 = call ptr @__errno_location() #12
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7089, ptr noundef @.str.2, i32 noundef %7090, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7093, ptr noundef %7096, ptr noundef %7099, i32 noundef %7101) #11
  br label %7120

7103:                                             ; preds = %7081, %7074
  %7104 = load i32, ptr %135, align 4, !tbaa !5
  %7105 = call ptr @__errno_location() #12
  store i32 %7104, ptr %7105, align 4, !tbaa !5
  %7106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7107 = load i32, ptr @test_count, align 4, !tbaa !5
  %7108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7109 = load i32, ptr %7108, align 4, !tbaa !5
  %7110 = call ptr @s2n_strerror(i32 noundef %7109, ptr noundef @.str.4)
  %7111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7112 = load i32, ptr %7111, align 4, !tbaa !5
  %7113 = call ptr @s2n_strerror_debug(i32 noundef %7112, ptr noundef @.str.4)
  %7114 = call ptr @__errno_location() #12
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  %7116 = call ptr @strerror(i32 noundef %7115) #11
  %7117 = call ptr @__errno_location() #12
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7106, ptr noundef @.str.5, i32 noundef %7107, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7110, ptr noundef %7113, ptr noundef %7116, i32 noundef %7118) #11
  br label %7120

7120:                                             ; preds = %7103, %7086
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %7121

7121:                                             ; preds = %7120
  br label %7122

7122:                                             ; preds = %7121
  call void @exit(i32 noundef 1) #13
  unreachable

7123:                                             ; No predecessors!
  br label %7124

7124:                                             ; preds = %7123
  br label %7125

7125:                                             ; preds = %7124, %7066
  br label %7126

7126:                                             ; preds = %7125
  br label %7127

7127:                                             ; preds = %7126
  br label %7128

7128:                                             ; preds = %7127
  %7129 = load i32, ptr @test_count, align 4, !tbaa !5
  %7130 = add nsw i32 %7129, 1
  store i32 %7130, ptr @test_count, align 4, !tbaa !5
  %7131 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7132 = load i32, ptr %7131, align 4, !tbaa !5
  %7133 = call ptr @s2n_strerror_debug(i32 noundef %7132, ptr noundef @.str.4)
  %7134 = icmp eq ptr %7133, null
  br i1 %7134, label %7135, label %7188

7135:                                             ; preds = %7128
  br label %7136

7136:                                             ; preds = %7135
  br label %7137

7137:                                             ; preds = %7136
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #11
  %7138 = call ptr @__errno_location() #12
  %7139 = load i32, ptr %7138, align 4, !tbaa !5
  store i32 %7139, ptr %136, align 4, !tbaa !5
  %7140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7141 = call i32 @s2n_print_stacktrace(ptr noundef %7140)
  %7142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7143 = trunc i8 %7142 to i1
  br i1 %7143, label %7144, label %7166

7144:                                             ; preds = %7137
  %7145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7146 = call i32 @fileno(ptr noundef %7145) #11
  %7147 = call i32 @isatty(i32 noundef %7146) #11
  %7148 = icmp ne i32 %7147, 0
  br i1 %7148, label %7149, label %7166

7149:                                             ; preds = %7144
  %7150 = load i32, ptr %136, align 4, !tbaa !5
  %7151 = call ptr @__errno_location() #12
  store i32 %7150, ptr %7151, align 4, !tbaa !5
  %7152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7153 = load i32, ptr @test_count, align 4, !tbaa !5
  %7154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7155 = load i32, ptr %7154, align 4, !tbaa !5
  %7156 = call ptr @s2n_strerror(i32 noundef %7155, ptr noundef @.str.4)
  %7157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7158 = load i32, ptr %7157, align 4, !tbaa !5
  %7159 = call ptr @s2n_strerror_debug(i32 noundef %7158, ptr noundef @.str.4)
  %7160 = call ptr @__errno_location() #12
  %7161 = load i32, ptr %7160, align 4, !tbaa !5
  %7162 = call ptr @strerror(i32 noundef %7161) #11
  %7163 = call ptr @__errno_location() #12
  %7164 = load i32, ptr %7163, align 4, !tbaa !5
  %7165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7152, ptr noundef @.str.2, i32 noundef %7153, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7156, ptr noundef %7159, ptr noundef %7162, i32 noundef %7164) #11
  br label %7183

7166:                                             ; preds = %7144, %7137
  %7167 = load i32, ptr %136, align 4, !tbaa !5
  %7168 = call ptr @__errno_location() #12
  store i32 %7167, ptr %7168, align 4, !tbaa !5
  %7169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7170 = load i32, ptr @test_count, align 4, !tbaa !5
  %7171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7172 = load i32, ptr %7171, align 4, !tbaa !5
  %7173 = call ptr @s2n_strerror(i32 noundef %7172, ptr noundef @.str.4)
  %7174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7175 = load i32, ptr %7174, align 4, !tbaa !5
  %7176 = call ptr @s2n_strerror_debug(i32 noundef %7175, ptr noundef @.str.4)
  %7177 = call ptr @__errno_location() #12
  %7178 = load i32, ptr %7177, align 4, !tbaa !5
  %7179 = call ptr @strerror(i32 noundef %7178) #11
  %7180 = call ptr @__errno_location() #12
  %7181 = load i32, ptr %7180, align 4, !tbaa !5
  %7182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7169, ptr noundef @.str.5, i32 noundef %7170, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 194, ptr noundef %7173, ptr noundef %7176, ptr noundef %7179, i32 noundef %7181) #11
  br label %7183

7183:                                             ; preds = %7166, %7149
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #11
  br label %7184

7184:                                             ; preds = %7183
  br label %7185

7185:                                             ; preds = %7184
  call void @exit(i32 noundef 1) #13
  unreachable

7186:                                             ; No predecessors!
  br label %7187

7187:                                             ; preds = %7186
  br label %7188

7188:                                             ; preds = %7187, %7128
  br label %7189

7189:                                             ; preds = %7188
  br label %7190

7190:                                             ; preds = %7189
  br label %7191

7191:                                             ; preds = %7190
  %7192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7192, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7193 = call ptr @__errno_location() #12
  store i32 0, ptr %7193, align 4, !tbaa !5
  br label %7194

7194:                                             ; preds = %7191
  br label %7195

7195:                                             ; preds = %7194
  br label %7196

7196:                                             ; preds = %7195
  br label %7197

7197:                                             ; preds = %7196
  br label %7198

7198:                                             ; preds = %7197
  %7199 = load i32, ptr @test_count, align 4, !tbaa !5
  %7200 = add nsw i32 %7199, 1
  store i32 %7200, ptr @test_count, align 4, !tbaa !5
  %7201 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %7202 = icmp eq i32 %7201, -1
  br i1 %7202, label %7203, label %7256

7203:                                             ; preds = %7198
  br label %7204

7204:                                             ; preds = %7203
  br label %7205

7205:                                             ; preds = %7204
  call void @llvm.lifetime.start.p0(i64 4, ptr %137) #11
  %7206 = call ptr @__errno_location() #12
  %7207 = load i32, ptr %7206, align 4, !tbaa !5
  store i32 %7207, ptr %137, align 4, !tbaa !5
  %7208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7209 = call i32 @s2n_print_stacktrace(ptr noundef %7208)
  %7210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7211 = trunc i8 %7210 to i1
  br i1 %7211, label %7212, label %7234

7212:                                             ; preds = %7205
  %7213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7214 = call i32 @fileno(ptr noundef %7213) #11
  %7215 = call i32 @isatty(i32 noundef %7214) #11
  %7216 = icmp ne i32 %7215, 0
  br i1 %7216, label %7217, label %7234

7217:                                             ; preds = %7212
  %7218 = load i32, ptr %137, align 4, !tbaa !5
  %7219 = call ptr @__errno_location() #12
  store i32 %7218, ptr %7219, align 4, !tbaa !5
  %7220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7221 = load i32, ptr @test_count, align 4, !tbaa !5
  %7222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7223 = load i32, ptr %7222, align 4, !tbaa !5
  %7224 = call ptr @s2n_strerror(i32 noundef %7223, ptr noundef @.str.4)
  %7225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7226 = load i32, ptr %7225, align 4, !tbaa !5
  %7227 = call ptr @s2n_strerror_debug(i32 noundef %7226, ptr noundef @.str.4)
  %7228 = call ptr @__errno_location() #12
  %7229 = load i32, ptr %7228, align 4, !tbaa !5
  %7230 = call ptr @strerror(i32 noundef %7229) #11
  %7231 = call ptr @__errno_location() #12
  %7232 = load i32, ptr %7231, align 4, !tbaa !5
  %7233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7220, ptr noundef @.str.2, i32 noundef %7221, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 196, ptr noundef %7224, ptr noundef %7227, ptr noundef %7230, i32 noundef %7232) #11
  br label %7251

7234:                                             ; preds = %7212, %7205
  %7235 = load i32, ptr %137, align 4, !tbaa !5
  %7236 = call ptr @__errno_location() #12
  store i32 %7235, ptr %7236, align 4, !tbaa !5
  %7237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7238 = load i32, ptr @test_count, align 4, !tbaa !5
  %7239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7240 = load i32, ptr %7239, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror(i32 noundef %7240, ptr noundef @.str.4)
  %7242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7243 = load i32, ptr %7242, align 4, !tbaa !5
  %7244 = call ptr @s2n_strerror_debug(i32 noundef %7243, ptr noundef @.str.4)
  %7245 = call ptr @__errno_location() #12
  %7246 = load i32, ptr %7245, align 4, !tbaa !5
  %7247 = call ptr @strerror(i32 noundef %7246) #11
  %7248 = call ptr @__errno_location() #12
  %7249 = load i32, ptr %7248, align 4, !tbaa !5
  %7250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7237, ptr noundef @.str.5, i32 noundef %7238, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 196, ptr noundef %7241, ptr noundef %7244, ptr noundef %7247, i32 noundef %7249) #11
  br label %7251

7251:                                             ; preds = %7234, %7217
  call void @llvm.lifetime.end.p0(i64 4, ptr %137) #11
  br label %7252

7252:                                             ; preds = %7251
  br label %7253

7253:                                             ; preds = %7252
  call void @exit(i32 noundef 1) #13
  unreachable

7254:                                             ; No predecessors!
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

7256:                                             ; preds = %7255, %7198
  br label %7257

7257:                                             ; preds = %7256
  br label %7258

7258:                                             ; preds = %7257
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #11
  store i32 0, ptr %138, align 4, !tbaa !5
  br label %7259

7259:                                             ; preds = %7332, %7258
  %7260 = load i32, ptr %138, align 4, !tbaa !5
  %7261 = icmp slt i32 %7260, 20
  br i1 %7261, label %7263, label %7262

7262:                                             ; preds = %7259
  store i32 728, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #11
  br label %7335

7263:                                             ; preds = %7259
  br label %7264

7264:                                             ; preds = %7263
  %7265 = load i32, ptr @test_count, align 4, !tbaa !5
  %7266 = add nsw i32 %7265, 1
  store i32 %7266, ptr @test_count, align 4, !tbaa !5
  %7267 = load i32, ptr %138, align 4, !tbaa !5
  %7268 = sext i32 %7267 to i64
  %7269 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %7268
  %7270 = load i8, ptr %7269, align 1, !tbaa !17
  %7271 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %7270)
  %7272 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  store i32 %7271, ptr %7272, align 4
  %7273 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  %7274 = load i32, ptr %7273, align 4
  %7275 = call zeroext i1 @s2n_result_is_ok(i32 %7274)
  br i1 %7275, label %7329, label %7276

7276:                                             ; preds = %7264
  br label %7277

7277:                                             ; preds = %7276
  br label %7278

7278:                                             ; preds = %7277
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %7279 = call ptr @__errno_location() #12
  %7280 = load i32, ptr %7279, align 4, !tbaa !5
  store i32 %7280, ptr %140, align 4, !tbaa !5
  %7281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7282 = call i32 @s2n_print_stacktrace(ptr noundef %7281)
  %7283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7284 = trunc i8 %7283 to i1
  br i1 %7284, label %7285, label %7307

7285:                                             ; preds = %7278
  %7286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7287 = call i32 @fileno(ptr noundef %7286) #11
  %7288 = call i32 @isatty(i32 noundef %7287) #11
  %7289 = icmp ne i32 %7288, 0
  br i1 %7289, label %7290, label %7307

7290:                                             ; preds = %7285
  %7291 = load i32, ptr %140, align 4, !tbaa !5
  %7292 = call ptr @__errno_location() #12
  store i32 %7291, ptr %7292, align 4, !tbaa !5
  %7293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7294 = load i32, ptr @test_count, align 4, !tbaa !5
  %7295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7296 = load i32, ptr %7295, align 4, !tbaa !5
  %7297 = call ptr @s2n_strerror(i32 noundef %7296, ptr noundef @.str.4)
  %7298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7299 = load i32, ptr %7298, align 4, !tbaa !5
  %7300 = call ptr @s2n_strerror_debug(i32 noundef %7299, ptr noundef @.str.4)
  %7301 = call ptr @__errno_location() #12
  %7302 = load i32, ptr %7301, align 4, !tbaa !5
  %7303 = call ptr @strerror(i32 noundef %7302) #11
  %7304 = call ptr @__errno_location() #12
  %7305 = load i32, ptr %7304, align 4, !tbaa !5
  %7306 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7293, ptr noundef @.str.2, i32 noundef %7294, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 198, ptr noundef %7297, ptr noundef %7300, ptr noundef %7303, i32 noundef %7305) #11
  br label %7324

7307:                                             ; preds = %7285, %7278
  %7308 = load i32, ptr %140, align 4, !tbaa !5
  %7309 = call ptr @__errno_location() #12
  store i32 %7308, ptr %7309, align 4, !tbaa !5
  %7310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7311 = load i32, ptr @test_count, align 4, !tbaa !5
  %7312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7313 = load i32, ptr %7312, align 4, !tbaa !5
  %7314 = call ptr @s2n_strerror(i32 noundef %7313, ptr noundef @.str.4)
  %7315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7316 = load i32, ptr %7315, align 4, !tbaa !5
  %7317 = call ptr @s2n_strerror_debug(i32 noundef %7316, ptr noundef @.str.4)
  %7318 = call ptr @__errno_location() #12
  %7319 = load i32, ptr %7318, align 4, !tbaa !5
  %7320 = call ptr @strerror(i32 noundef %7319) #11
  %7321 = call ptr @__errno_location() #12
  %7322 = load i32, ptr %7321, align 4, !tbaa !5
  %7323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7310, ptr noundef @.str.5, i32 noundef %7311, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 198, ptr noundef %7314, ptr noundef %7317, ptr noundef %7320, i32 noundef %7322) #11
  br label %7324

7324:                                             ; preds = %7307, %7290
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %7325

7325:                                             ; preds = %7324
  br label %7326

7326:                                             ; preds = %7325
  call void @exit(i32 noundef 1) #13
  unreachable

7327:                                             ; No predecessors!
  br label %7328

7328:                                             ; preds = %7327
  br label %7329

7329:                                             ; preds = %7328, %7264
  br label %7330

7330:                                             ; preds = %7329
  br label %7331

7331:                                             ; preds = %7330
  br label %7332

7332:                                             ; preds = %7331
  %7333 = load i32, ptr %138, align 4, !tbaa !5
  %7334 = add nsw i32 %7333, 1
  store i32 %7334, ptr %138, align 4, !tbaa !5
  br label %7259, !llvm.loop !23

7335:                                             ; preds = %7262
  br label %7336

7336:                                             ; preds = %7335
  %7337 = load i32, ptr @test_count, align 4, !tbaa !5
  %7338 = add nsw i32 %7337, 1
  store i32 %7338, ptr @test_count, align 4, !tbaa !5
  %7339 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %7340 = call i32 @memcmp(ptr noundef %7339, ptr noundef @.str.43, i64 noundef 40) #14
  %7341 = icmp eq i32 %7340, 0
  br i1 %7341, label %7395, label %7342

7342:                                             ; preds = %7336
  br label %7343

7343:                                             ; preds = %7342
  br label %7344

7344:                                             ; preds = %7343
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %7345 = call ptr @__errno_location() #12
  %7346 = load i32, ptr %7345, align 4, !tbaa !5
  store i32 %7346, ptr %141, align 4, !tbaa !5
  %7347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7348 = call i32 @s2n_print_stacktrace(ptr noundef %7347)
  %7349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7350 = trunc i8 %7349 to i1
  br i1 %7350, label %7351, label %7373

7351:                                             ; preds = %7344
  %7352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7353 = call i32 @fileno(ptr noundef %7352) #11
  %7354 = call i32 @isatty(i32 noundef %7353) #11
  %7355 = icmp ne i32 %7354, 0
  br i1 %7355, label %7356, label %7373

7356:                                             ; preds = %7351
  %7357 = load i32, ptr %141, align 4, !tbaa !5
  %7358 = call ptr @__errno_location() #12
  store i32 %7357, ptr %7358, align 4, !tbaa !5
  %7359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7360 = load i32, ptr @test_count, align 4, !tbaa !5
  %7361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7362 = load i32, ptr %7361, align 4, !tbaa !5
  %7363 = call ptr @s2n_strerror(i32 noundef %7362, ptr noundef @.str.4)
  %7364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7365 = load i32, ptr %7364, align 4, !tbaa !5
  %7366 = call ptr @s2n_strerror_debug(i32 noundef %7365, ptr noundef @.str.4)
  %7367 = call ptr @__errno_location() #12
  %7368 = load i32, ptr %7367, align 4, !tbaa !5
  %7369 = call ptr @strerror(i32 noundef %7368) #11
  %7370 = call ptr @__errno_location() #12
  %7371 = load i32, ptr %7370, align 4, !tbaa !5
  %7372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7359, ptr noundef @.str.2, i32 noundef %7360, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 202, ptr noundef %7363, ptr noundef %7366, ptr noundef %7369, i32 noundef %7371) #11
  br label %7390

7373:                                             ; preds = %7351, %7344
  %7374 = load i32, ptr %141, align 4, !tbaa !5
  %7375 = call ptr @__errno_location() #12
  store i32 %7374, ptr %7375, align 4, !tbaa !5
  %7376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7377 = load i32, ptr @test_count, align 4, !tbaa !5
  %7378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7379 = load i32, ptr %7378, align 4, !tbaa !5
  %7380 = call ptr @s2n_strerror(i32 noundef %7379, ptr noundef @.str.4)
  %7381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7382 = load i32, ptr %7381, align 4, !tbaa !5
  %7383 = call ptr @s2n_strerror_debug(i32 noundef %7382, ptr noundef @.str.4)
  %7384 = call ptr @__errno_location() #12
  %7385 = load i32, ptr %7384, align 4, !tbaa !5
  %7386 = call ptr @strerror(i32 noundef %7385) #11
  %7387 = call ptr @__errno_location() #12
  %7388 = load i32, ptr %7387, align 4, !tbaa !5
  %7389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7376, ptr noundef @.str.5, i32 noundef %7377, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 202, ptr noundef %7380, ptr noundef %7383, ptr noundef %7386, i32 noundef %7388) #11
  br label %7390

7390:                                             ; preds = %7373, %7356
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %7391

7391:                                             ; preds = %7390
  br label %7392

7392:                                             ; preds = %7391
  call void @exit(i32 noundef 1) #13
  unreachable

7393:                                             ; No predecessors!
  br label %7394

7394:                                             ; preds = %7393
  br label %7395

7395:                                             ; preds = %7394, %7336
  br label %7396

7396:                                             ; preds = %7395
  br label %7397

7397:                                             ; preds = %7396
  br label %7398

7398:                                             ; preds = %7397
  %7399 = call i32 @s2n_hash_reset(ptr noundef %12)
  %7400 = icmp sgt i32 %7399, -1
  br i1 %7400, label %7402, label %7401

7401:                                             ; preds = %7398
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13332

7402:                                             ; preds = %7398
  br label %7403

7403:                                             ; preds = %7402
  br label %7404

7404:                                             ; preds = %7403
  br label %7405

7405:                                             ; preds = %7404
  %7406 = load i32, ptr @test_count, align 4, !tbaa !5
  %7407 = add nsw i32 %7406, 1
  store i32 %7407, ptr @test_count, align 4, !tbaa !5
  %7408 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %7409 = icmp ne i32 %7408, 0
  br i1 %7409, label %7463, label %7410

7410:                                             ; preds = %7405
  br label %7411

7411:                                             ; preds = %7410
  br label %7412

7412:                                             ; preds = %7411
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %7413 = call ptr @__errno_location() #12
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  store i32 %7414, ptr %142, align 4, !tbaa !5
  %7415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7416 = call i32 @s2n_print_stacktrace(ptr noundef %7415)
  %7417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7418 = trunc i8 %7417 to i1
  br i1 %7418, label %7419, label %7441

7419:                                             ; preds = %7412
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = call i32 @fileno(ptr noundef %7420) #11
  %7422 = call i32 @isatty(i32 noundef %7421) #11
  %7423 = icmp ne i32 %7422, 0
  br i1 %7423, label %7424, label %7441

7424:                                             ; preds = %7419
  %7425 = load i32, ptr %142, align 4, !tbaa !5
  %7426 = call ptr @__errno_location() #12
  store i32 %7425, ptr %7426, align 4, !tbaa !5
  %7427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7428 = load i32, ptr @test_count, align 4, !tbaa !5
  %7429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7430 = load i32, ptr %7429, align 4, !tbaa !5
  %7431 = call ptr @s2n_strerror(i32 noundef %7430, ptr noundef @.str.4)
  %7432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7433 = load i32, ptr %7432, align 4, !tbaa !5
  %7434 = call ptr @s2n_strerror_debug(i32 noundef %7433, ptr noundef @.str.4)
  %7435 = call ptr @__errno_location() #12
  %7436 = load i32, ptr %7435, align 4, !tbaa !5
  %7437 = call ptr @strerror(i32 noundef %7436) #11
  %7438 = call ptr @__errno_location() #12
  %7439 = load i32, ptr %7438, align 4, !tbaa !5
  %7440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7427, ptr noundef @.str.2, i32 noundef %7428, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 205, ptr noundef %7431, ptr noundef %7434, ptr noundef %7437, i32 noundef %7439) #11
  br label %7458

7441:                                             ; preds = %7419, %7412
  %7442 = load i32, ptr %142, align 4, !tbaa !5
  %7443 = call ptr @__errno_location() #12
  store i32 %7442, ptr %7443, align 4, !tbaa !5
  %7444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7445 = load i32, ptr @test_count, align 4, !tbaa !5
  %7446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7447 = load i32, ptr %7446, align 4, !tbaa !5
  %7448 = call ptr @s2n_strerror(i32 noundef %7447, ptr noundef @.str.4)
  %7449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7450 = load i32, ptr %7449, align 4, !tbaa !5
  %7451 = call ptr @s2n_strerror_debug(i32 noundef %7450, ptr noundef @.str.4)
  %7452 = call ptr @__errno_location() #12
  %7453 = load i32, ptr %7452, align 4, !tbaa !5
  %7454 = call ptr @strerror(i32 noundef %7453) #11
  %7455 = call ptr @__errno_location() #12
  %7456 = load i32, ptr %7455, align 4, !tbaa !5
  %7457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7444, ptr noundef @.str.5, i32 noundef %7445, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 205, ptr noundef %7448, ptr noundef %7451, ptr noundef %7454, i32 noundef %7456) #11
  br label %7458

7458:                                             ; preds = %7441, %7424
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %7459

7459:                                             ; preds = %7458
  br label %7460

7460:                                             ; preds = %7459
  call void @exit(i32 noundef 1) #13
  unreachable

7461:                                             ; No predecessors!
  br label %7462

7462:                                             ; preds = %7461
  br label %7463

7463:                                             ; preds = %7462, %7405
  br label %7464

7464:                                             ; preds = %7463
  br label %7465

7465:                                             ; preds = %7464
  br label %7466

7466:                                             ; preds = %7465
  %7467 = load i32, ptr @test_count, align 4, !tbaa !5
  %7468 = add nsw i32 %7467, 1
  store i32 %7468, ptr @test_count, align 4, !tbaa !5
  %7469 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %7470 = icmp eq i32 %7469, -1
  br i1 %7470, label %7471, label %7524

7471:                                             ; preds = %7466
  br label %7472

7472:                                             ; preds = %7471
  br label %7473

7473:                                             ; preds = %7472
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  %7474 = call ptr @__errno_location() #12
  %7475 = load i32, ptr %7474, align 4, !tbaa !5
  store i32 %7475, ptr %143, align 4, !tbaa !5
  %7476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7477 = call i32 @s2n_print_stacktrace(ptr noundef %7476)
  %7478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7479 = trunc i8 %7478 to i1
  br i1 %7479, label %7480, label %7502

7480:                                             ; preds = %7473
  %7481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7482 = call i32 @fileno(ptr noundef %7481) #11
  %7483 = call i32 @isatty(i32 noundef %7482) #11
  %7484 = icmp ne i32 %7483, 0
  br i1 %7484, label %7485, label %7502

7485:                                             ; preds = %7480
  %7486 = load i32, ptr %143, align 4, !tbaa !5
  %7487 = call ptr @__errno_location() #12
  store i32 %7486, ptr %7487, align 4, !tbaa !5
  %7488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7489 = load i32, ptr @test_count, align 4, !tbaa !5
  %7490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7491 = load i32, ptr %7490, align 4, !tbaa !5
  %7492 = call ptr @s2n_strerror(i32 noundef %7491, ptr noundef @.str.4)
  %7493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7494 = load i32, ptr %7493, align 4, !tbaa !5
  %7495 = call ptr @s2n_strerror_debug(i32 noundef %7494, ptr noundef @.str.4)
  %7496 = call ptr @__errno_location() #12
  %7497 = load i32, ptr %7496, align 4, !tbaa !5
  %7498 = call ptr @strerror(i32 noundef %7497) #11
  %7499 = call ptr @__errno_location() #12
  %7500 = load i32, ptr %7499, align 4, !tbaa !5
  %7501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7488, ptr noundef @.str.2, i32 noundef %7489, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 206, ptr noundef %7492, ptr noundef %7495, ptr noundef %7498, i32 noundef %7500) #11
  br label %7519

7502:                                             ; preds = %7480, %7473
  %7503 = load i32, ptr %143, align 4, !tbaa !5
  %7504 = call ptr @__errno_location() #12
  store i32 %7503, ptr %7504, align 4, !tbaa !5
  %7505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7506 = load i32, ptr @test_count, align 4, !tbaa !5
  %7507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7508 = load i32, ptr %7507, align 4, !tbaa !5
  %7509 = call ptr @s2n_strerror(i32 noundef %7508, ptr noundef @.str.4)
  %7510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7511 = load i32, ptr %7510, align 4, !tbaa !5
  %7512 = call ptr @s2n_strerror_debug(i32 noundef %7511, ptr noundef @.str.4)
  %7513 = call ptr @__errno_location() #12
  %7514 = load i32, ptr %7513, align 4, !tbaa !5
  %7515 = call ptr @strerror(i32 noundef %7514) #11
  %7516 = call ptr @__errno_location() #12
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  %7518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7505, ptr noundef @.str.5, i32 noundef %7506, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 206, ptr noundef %7509, ptr noundef %7512, ptr noundef %7515, i32 noundef %7517) #11
  br label %7519

7519:                                             ; preds = %7502, %7485
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  br label %7520

7520:                                             ; preds = %7519
  br label %7521

7521:                                             ; preds = %7520
  call void @exit(i32 noundef 1) #13
  unreachable

7522:                                             ; No predecessors!
  br label %7523

7523:                                             ; preds = %7522
  br label %7524

7524:                                             ; preds = %7523, %7466
  br label %7525

7525:                                             ; preds = %7524
  br label %7526

7526:                                             ; preds = %7525
  br label %7527

7527:                                             ; preds = %7526
  %7528 = load i32, ptr @test_count, align 4, !tbaa !5
  %7529 = add nsw i32 %7528, 1
  store i32 %7529, ptr @test_count, align 4, !tbaa !5
  %7530 = load i64, ptr %16, align 8, !tbaa !11
  %7531 = icmp eq i64 %7530, 0
  br i1 %7531, label %7585, label %7532

7532:                                             ; preds = %7527
  br label %7533

7533:                                             ; preds = %7532
  br label %7534

7534:                                             ; preds = %7533
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #11
  %7535 = call ptr @__errno_location() #12
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  store i32 %7536, ptr %144, align 4, !tbaa !5
  %7537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7538 = call i32 @s2n_print_stacktrace(ptr noundef %7537)
  %7539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7540 = trunc i8 %7539 to i1
  br i1 %7540, label %7541, label %7563

7541:                                             ; preds = %7534
  %7542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7543 = call i32 @fileno(ptr noundef %7542) #11
  %7544 = call i32 @isatty(i32 noundef %7543) #11
  %7545 = icmp ne i32 %7544, 0
  br i1 %7545, label %7546, label %7563

7546:                                             ; preds = %7541
  %7547 = load i32, ptr %144, align 4, !tbaa !5
  %7548 = call ptr @__errno_location() #12
  store i32 %7547, ptr %7548, align 4, !tbaa !5
  %7549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7550 = load i32, ptr @test_count, align 4, !tbaa !5
  %7551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7552 = load i32, ptr %7551, align 4, !tbaa !5
  %7553 = call ptr @s2n_strerror(i32 noundef %7552, ptr noundef @.str.4)
  %7554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7555 = load i32, ptr %7554, align 4, !tbaa !5
  %7556 = call ptr @s2n_strerror_debug(i32 noundef %7555, ptr noundef @.str.4)
  %7557 = call ptr @__errno_location() #12
  %7558 = load i32, ptr %7557, align 4, !tbaa !5
  %7559 = call ptr @strerror(i32 noundef %7558) #11
  %7560 = call ptr @__errno_location() #12
  %7561 = load i32, ptr %7560, align 4, !tbaa !5
  %7562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7549, ptr noundef @.str.2, i32 noundef %7550, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 207, ptr noundef %7553, ptr noundef %7556, ptr noundef %7559, i32 noundef %7561) #11
  br label %7580

7563:                                             ; preds = %7541, %7534
  %7564 = load i32, ptr %144, align 4, !tbaa !5
  %7565 = call ptr @__errno_location() #12
  store i32 %7564, ptr %7565, align 4, !tbaa !5
  %7566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7567 = load i32, ptr @test_count, align 4, !tbaa !5
  %7568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7569 = load i32, ptr %7568, align 4, !tbaa !5
  %7570 = call ptr @s2n_strerror(i32 noundef %7569, ptr noundef @.str.4)
  %7571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7572 = load i32, ptr %7571, align 4, !tbaa !5
  %7573 = call ptr @s2n_strerror_debug(i32 noundef %7572, ptr noundef @.str.4)
  %7574 = call ptr @__errno_location() #12
  %7575 = load i32, ptr %7574, align 4, !tbaa !5
  %7576 = call ptr @strerror(i32 noundef %7575) #11
  %7577 = call ptr @__errno_location() #12
  %7578 = load i32, ptr %7577, align 4, !tbaa !5
  %7579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7566, ptr noundef @.str.5, i32 noundef %7567, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 207, ptr noundef %7570, ptr noundef %7573, ptr noundef %7576, i32 noundef %7578) #11
  br label %7580

7580:                                             ; preds = %7563, %7546
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #11
  br label %7581

7581:                                             ; preds = %7580
  br label %7582

7582:                                             ; preds = %7581
  call void @exit(i32 noundef 1) #13
  unreachable

7583:                                             ; No predecessors!
  br label %7584

7584:                                             ; preds = %7583
  br label %7585

7585:                                             ; preds = %7584, %7527
  br label %7586

7586:                                             ; preds = %7585
  br label %7587

7587:                                             ; preds = %7586
  call void @llvm.lifetime.start.p0(i64 1, ptr %145) #11
  store i8 0, ptr %145, align 1, !tbaa !17
  br label %7588

7588:                                             ; preds = %7587
  %7589 = call i32 @s2n_hash_digest_size(i32 noundef 3, ptr noundef %145)
  %7590 = icmp sgt i32 %7589, -1
  br i1 %7590, label %7592, label %7591

7591:                                             ; preds = %7588
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13331

7592:                                             ; preds = %7588
  br label %7593

7593:                                             ; preds = %7592
  br label %7594

7594:                                             ; preds = %7593
  br label %7595

7595:                                             ; preds = %7594
  %7596 = load i32, ptr @test_count, align 4, !tbaa !5
  %7597 = add nsw i32 %7596, 1
  store i32 %7597, ptr @test_count, align 4, !tbaa !5
  %7598 = load i8, ptr %145, align 1, !tbaa !17
  %7599 = zext i8 %7598 to i32
  %7600 = icmp eq i32 %7599, 28
  br i1 %7600, label %7654, label %7601

7601:                                             ; preds = %7595
  br label %7602

7602:                                             ; preds = %7601
  br label %7603

7603:                                             ; preds = %7602
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %7604 = call ptr @__errno_location() #12
  %7605 = load i32, ptr %7604, align 4, !tbaa !5
  store i32 %7605, ptr %146, align 4, !tbaa !5
  %7606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7607 = call i32 @s2n_print_stacktrace(ptr noundef %7606)
  %7608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7609 = trunc i8 %7608 to i1
  br i1 %7609, label %7610, label %7632

7610:                                             ; preds = %7603
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @fileno(ptr noundef %7611) #11
  %7613 = call i32 @isatty(i32 noundef %7612) #11
  %7614 = icmp ne i32 %7613, 0
  br i1 %7614, label %7615, label %7632

7615:                                             ; preds = %7610
  %7616 = load i32, ptr %146, align 4, !tbaa !5
  %7617 = call ptr @__errno_location() #12
  store i32 %7616, ptr %7617, align 4, !tbaa !5
  %7618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7619 = load i32, ptr @test_count, align 4, !tbaa !5
  %7620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7621 = load i32, ptr %7620, align 4, !tbaa !5
  %7622 = call ptr @s2n_strerror(i32 noundef %7621, ptr noundef @.str.4)
  %7623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7624 = load i32, ptr %7623, align 4, !tbaa !5
  %7625 = call ptr @s2n_strerror_debug(i32 noundef %7624, ptr noundef @.str.4)
  %7626 = call ptr @__errno_location() #12
  %7627 = load i32, ptr %7626, align 4, !tbaa !5
  %7628 = call ptr @strerror(i32 noundef %7627) #11
  %7629 = call ptr @__errno_location() #12
  %7630 = load i32, ptr %7629, align 4, !tbaa !5
  %7631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7618, ptr noundef @.str.2, i32 noundef %7619, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 212, ptr noundef %7622, ptr noundef %7625, ptr noundef %7628, i32 noundef %7630) #11
  br label %7649

7632:                                             ; preds = %7610, %7603
  %7633 = load i32, ptr %146, align 4, !tbaa !5
  %7634 = call ptr @__errno_location() #12
  store i32 %7633, ptr %7634, align 4, !tbaa !5
  %7635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7636 = load i32, ptr @test_count, align 4, !tbaa !5
  %7637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7638 = load i32, ptr %7637, align 4, !tbaa !5
  %7639 = call ptr @s2n_strerror(i32 noundef %7638, ptr noundef @.str.4)
  %7640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7641 = load i32, ptr %7640, align 4, !tbaa !5
  %7642 = call ptr @s2n_strerror_debug(i32 noundef %7641, ptr noundef @.str.4)
  %7643 = call ptr @__errno_location() #12
  %7644 = load i32, ptr %7643, align 4, !tbaa !5
  %7645 = call ptr @strerror(i32 noundef %7644) #11
  %7646 = call ptr @__errno_location() #12
  %7647 = load i32, ptr %7646, align 4, !tbaa !5
  %7648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7635, ptr noundef @.str.5, i32 noundef %7636, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 212, ptr noundef %7639, ptr noundef %7642, ptr noundef %7645, i32 noundef %7647) #11
  br label %7649

7649:                                             ; preds = %7632, %7615
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %7650

7650:                                             ; preds = %7649
  br label %7651

7651:                                             ; preds = %7650
  call void @exit(i32 noundef 1) #13
  unreachable

7652:                                             ; No predecessors!
  br label %7653

7653:                                             ; preds = %7652
  br label %7654

7654:                                             ; preds = %7653, %7595
  br label %7655

7655:                                             ; preds = %7654
  br label %7656

7656:                                             ; preds = %7655
  br label %7657

7657:                                             ; preds = %7656
  %7658 = load i32, ptr @test_count, align 4, !tbaa !5
  %7659 = add nsw i32 %7658, 1
  store i32 %7659, ptr @test_count, align 4, !tbaa !5
  %7660 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 3)
  %7661 = icmp eq i32 %7660, -1
  br i1 %7661, label %7662, label %7715

7662:                                             ; preds = %7657
  br label %7663

7663:                                             ; preds = %7662
  br label %7664

7664:                                             ; preds = %7663
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %7665 = call ptr @__errno_location() #12
  %7666 = load i32, ptr %7665, align 4, !tbaa !5
  store i32 %7666, ptr %147, align 4, !tbaa !5
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = call i32 @s2n_print_stacktrace(ptr noundef %7667)
  %7669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7670 = trunc i8 %7669 to i1
  br i1 %7670, label %7671, label %7693

7671:                                             ; preds = %7664
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = call i32 @fileno(ptr noundef %7672) #11
  %7674 = call i32 @isatty(i32 noundef %7673) #11
  %7675 = icmp ne i32 %7674, 0
  br i1 %7675, label %7676, label %7693

7676:                                             ; preds = %7671
  %7677 = load i32, ptr %147, align 4, !tbaa !5
  %7678 = call ptr @__errno_location() #12
  store i32 %7677, ptr %7678, align 4, !tbaa !5
  %7679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7680 = load i32, ptr @test_count, align 4, !tbaa !5
  %7681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7682 = load i32, ptr %7681, align 4, !tbaa !5
  %7683 = call ptr @s2n_strerror(i32 noundef %7682, ptr noundef @.str.4)
  %7684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror_debug(i32 noundef %7685, ptr noundef @.str.4)
  %7687 = call ptr @__errno_location() #12
  %7688 = load i32, ptr %7687, align 4, !tbaa !5
  %7689 = call ptr @strerror(i32 noundef %7688) #11
  %7690 = call ptr @__errno_location() #12
  %7691 = load i32, ptr %7690, align 4, !tbaa !5
  %7692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7679, ptr noundef @.str.2, i32 noundef %7680, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %7683, ptr noundef %7686, ptr noundef %7689, i32 noundef %7691) #11
  br label %7710

7693:                                             ; preds = %7671, %7664
  %7694 = load i32, ptr %147, align 4, !tbaa !5
  %7695 = call ptr @__errno_location() #12
  store i32 %7694, ptr %7695, align 4, !tbaa !5
  %7696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7697 = load i32, ptr @test_count, align 4, !tbaa !5
  %7698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7699 = load i32, ptr %7698, align 4, !tbaa !5
  %7700 = call ptr @s2n_strerror(i32 noundef %7699, ptr noundef @.str.4)
  %7701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7702 = load i32, ptr %7701, align 4, !tbaa !5
  %7703 = call ptr @s2n_strerror_debug(i32 noundef %7702, ptr noundef @.str.4)
  %7704 = call ptr @__errno_location() #12
  %7705 = load i32, ptr %7704, align 4, !tbaa !5
  %7706 = call ptr @strerror(i32 noundef %7705) #11
  %7707 = call ptr @__errno_location() #12
  %7708 = load i32, ptr %7707, align 4, !tbaa !5
  %7709 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7696, ptr noundef @.str.5, i32 noundef %7697, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %7700, ptr noundef %7703, ptr noundef %7706, i32 noundef %7708) #11
  br label %7710

7710:                                             ; preds = %7693, %7676
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %7711

7711:                                             ; preds = %7710
  br label %7712

7712:                                             ; preds = %7711
  call void @exit(i32 noundef 1) #13
  unreachable

7713:                                             ; No predecessors!
  br label %7714

7714:                                             ; preds = %7713
  br label %7715

7715:                                             ; preds = %7714, %7657
  br label %7716

7716:                                             ; preds = %7715
  br label %7717

7717:                                             ; preds = %7716
  br label %7718

7718:                                             ; preds = %7717
  %7719 = load i32, ptr @test_count, align 4, !tbaa !5
  %7720 = add nsw i32 %7719, 1
  store i32 %7720, ptr @test_count, align 4, !tbaa !5
  %7721 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %7722 = icmp ne i32 %7721, 0
  br i1 %7722, label %7776, label %7723

7723:                                             ; preds = %7718
  br label %7724

7724:                                             ; preds = %7723
  br label %7725

7725:                                             ; preds = %7724
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7726 = call ptr @__errno_location() #12
  %7727 = load i32, ptr %7726, align 4, !tbaa !5
  store i32 %7727, ptr %148, align 4, !tbaa !5
  %7728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7729 = call i32 @s2n_print_stacktrace(ptr noundef %7728)
  %7730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7731 = trunc i8 %7730 to i1
  br i1 %7731, label %7732, label %7754

7732:                                             ; preds = %7725
  %7733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7734 = call i32 @fileno(ptr noundef %7733) #11
  %7735 = call i32 @isatty(i32 noundef %7734) #11
  %7736 = icmp ne i32 %7735, 0
  br i1 %7736, label %7737, label %7754

7737:                                             ; preds = %7732
  %7738 = load i32, ptr %148, align 4, !tbaa !5
  %7739 = call ptr @__errno_location() #12
  store i32 %7738, ptr %7739, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror(i32 noundef %7743, ptr noundef @.str.4)
  %7745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror_debug(i32 noundef %7746, ptr noundef @.str.4)
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @strerror(i32 noundef %7749) #11
  %7751 = call ptr @__errno_location() #12
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef @.str.2, i32 noundef %7741, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 214, ptr noundef %7744, ptr noundef %7747, ptr noundef %7750, i32 noundef %7752) #11
  br label %7771

7754:                                             ; preds = %7732, %7725
  %7755 = load i32, ptr %148, align 4, !tbaa !5
  %7756 = call ptr @__errno_location() #12
  store i32 %7755, ptr %7756, align 4, !tbaa !5
  %7757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7758 = load i32, ptr @test_count, align 4, !tbaa !5
  %7759 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7760 = load i32, ptr %7759, align 4, !tbaa !5
  %7761 = call ptr @s2n_strerror(i32 noundef %7760, ptr noundef @.str.4)
  %7762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7763 = load i32, ptr %7762, align 4, !tbaa !5
  %7764 = call ptr @s2n_strerror_debug(i32 noundef %7763, ptr noundef @.str.4)
  %7765 = call ptr @__errno_location() #12
  %7766 = load i32, ptr %7765, align 4, !tbaa !5
  %7767 = call ptr @strerror(i32 noundef %7766) #11
  %7768 = call ptr @__errno_location() #12
  %7769 = load i32, ptr %7768, align 4, !tbaa !5
  %7770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7757, ptr noundef @.str.5, i32 noundef %7758, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 214, ptr noundef %7761, ptr noundef %7764, ptr noundef %7767, i32 noundef %7769) #11
  br label %7771

7771:                                             ; preds = %7754, %7737
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7772

7772:                                             ; preds = %7771
  br label %7773

7773:                                             ; preds = %7772
  call void @exit(i32 noundef 1) #13
  unreachable

7774:                                             ; No predecessors!
  br label %7775

7775:                                             ; preds = %7774
  br label %7776

7776:                                             ; preds = %7775, %7718
  br label %7777

7777:                                             ; preds = %7776
  br label %7778

7778:                                             ; preds = %7777
  br label %7779

7779:                                             ; preds = %7778
  %7780 = load i32, ptr @test_count, align 4, !tbaa !5
  %7781 = add nsw i32 %7780, 1
  store i32 %7781, ptr @test_count, align 4, !tbaa !5
  %7782 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %7783 = icmp eq i32 %7782, -1
  br i1 %7783, label %7784, label %7837

7784:                                             ; preds = %7779
  br label %7785

7785:                                             ; preds = %7784
  br label %7786

7786:                                             ; preds = %7785
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7787 = call ptr @__errno_location() #12
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  store i32 %7788, ptr %149, align 4, !tbaa !5
  %7789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7790 = call i32 @s2n_print_stacktrace(ptr noundef %7789)
  %7791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7792 = trunc i8 %7791 to i1
  br i1 %7792, label %7793, label %7815

7793:                                             ; preds = %7786
  %7794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7795 = call i32 @fileno(ptr noundef %7794) #11
  %7796 = call i32 @isatty(i32 noundef %7795) #11
  %7797 = icmp ne i32 %7796, 0
  br i1 %7797, label %7798, label %7815

7798:                                             ; preds = %7793
  %7799 = load i32, ptr %149, align 4, !tbaa !5
  %7800 = call ptr @__errno_location() #12
  store i32 %7799, ptr %7800, align 4, !tbaa !5
  %7801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7802 = load i32, ptr @test_count, align 4, !tbaa !5
  %7803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7804 = load i32, ptr %7803, align 4, !tbaa !5
  %7805 = call ptr @s2n_strerror(i32 noundef %7804, ptr noundef @.str.4)
  %7806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7807 = load i32, ptr %7806, align 4, !tbaa !5
  %7808 = call ptr @s2n_strerror_debug(i32 noundef %7807, ptr noundef @.str.4)
  %7809 = call ptr @__errno_location() #12
  %7810 = load i32, ptr %7809, align 4, !tbaa !5
  %7811 = call ptr @strerror(i32 noundef %7810) #11
  %7812 = call ptr @__errno_location() #12
  %7813 = load i32, ptr %7812, align 4, !tbaa !5
  %7814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7801, ptr noundef @.str.2, i32 noundef %7802, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 215, ptr noundef %7805, ptr noundef %7808, ptr noundef %7811, i32 noundef %7813) #11
  br label %7832

7815:                                             ; preds = %7793, %7786
  %7816 = load i32, ptr %149, align 4, !tbaa !5
  %7817 = call ptr @__errno_location() #12
  store i32 %7816, ptr %7817, align 4, !tbaa !5
  %7818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7819 = load i32, ptr @test_count, align 4, !tbaa !5
  %7820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7821 = load i32, ptr %7820, align 4, !tbaa !5
  %7822 = call ptr @s2n_strerror(i32 noundef %7821, ptr noundef @.str.4)
  %7823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7824 = load i32, ptr %7823, align 4, !tbaa !5
  %7825 = call ptr @s2n_strerror_debug(i32 noundef %7824, ptr noundef @.str.4)
  %7826 = call ptr @__errno_location() #12
  %7827 = load i32, ptr %7826, align 4, !tbaa !5
  %7828 = call ptr @strerror(i32 noundef %7827) #11
  %7829 = call ptr @__errno_location() #12
  %7830 = load i32, ptr %7829, align 4, !tbaa !5
  %7831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7818, ptr noundef @.str.5, i32 noundef %7819, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 215, ptr noundef %7822, ptr noundef %7825, ptr noundef %7828, i32 noundef %7830) #11
  br label %7832

7832:                                             ; preds = %7815, %7798
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7833

7833:                                             ; preds = %7832
  br label %7834

7834:                                             ; preds = %7833
  call void @exit(i32 noundef 1) #13
  unreachable

7835:                                             ; No predecessors!
  br label %7836

7836:                                             ; preds = %7835
  br label %7837

7837:                                             ; preds = %7836, %7779
  br label %7838

7838:                                             ; preds = %7837
  br label %7839

7839:                                             ; preds = %7838
  br label %7840

7840:                                             ; preds = %7839
  %7841 = load i32, ptr @test_count, align 4, !tbaa !5
  %7842 = add nsw i32 %7841, 1
  store i32 %7842, ptr @test_count, align 4, !tbaa !5
  %7843 = load i64, ptr %16, align 8, !tbaa !11
  %7844 = icmp eq i64 %7843, 0
  br i1 %7844, label %7898, label %7845

7845:                                             ; preds = %7840
  br label %7846

7846:                                             ; preds = %7845
  br label %7847

7847:                                             ; preds = %7846
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7848 = call ptr @__errno_location() #12
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  store i32 %7849, ptr %150, align 4, !tbaa !5
  %7850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7851 = call i32 @s2n_print_stacktrace(ptr noundef %7850)
  %7852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7853 = trunc i8 %7852 to i1
  br i1 %7853, label %7854, label %7876

7854:                                             ; preds = %7847
  %7855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7856 = call i32 @fileno(ptr noundef %7855) #11
  %7857 = call i32 @isatty(i32 noundef %7856) #11
  %7858 = icmp ne i32 %7857, 0
  br i1 %7858, label %7859, label %7876

7859:                                             ; preds = %7854
  %7860 = load i32, ptr %150, align 4, !tbaa !5
  %7861 = call ptr @__errno_location() #12
  store i32 %7860, ptr %7861, align 4, !tbaa !5
  %7862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7863 = load i32, ptr @test_count, align 4, !tbaa !5
  %7864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7865 = load i32, ptr %7864, align 4, !tbaa !5
  %7866 = call ptr @s2n_strerror(i32 noundef %7865, ptr noundef @.str.4)
  %7867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7868 = load i32, ptr %7867, align 4, !tbaa !5
  %7869 = call ptr @s2n_strerror_debug(i32 noundef %7868, ptr noundef @.str.4)
  %7870 = call ptr @__errno_location() #12
  %7871 = load i32, ptr %7870, align 4, !tbaa !5
  %7872 = call ptr @strerror(i32 noundef %7871) #11
  %7873 = call ptr @__errno_location() #12
  %7874 = load i32, ptr %7873, align 4, !tbaa !5
  %7875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7862, ptr noundef @.str.2, i32 noundef %7863, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 216, ptr noundef %7866, ptr noundef %7869, ptr noundef %7872, i32 noundef %7874) #11
  br label %7893

7876:                                             ; preds = %7854, %7847
  %7877 = load i32, ptr %150, align 4, !tbaa !5
  %7878 = call ptr @__errno_location() #12
  store i32 %7877, ptr %7878, align 4, !tbaa !5
  %7879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7880 = load i32, ptr @test_count, align 4, !tbaa !5
  %7881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7882 = load i32, ptr %7881, align 4, !tbaa !5
  %7883 = call ptr @s2n_strerror(i32 noundef %7882, ptr noundef @.str.4)
  %7884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7885 = load i32, ptr %7884, align 4, !tbaa !5
  %7886 = call ptr @s2n_strerror_debug(i32 noundef %7885, ptr noundef @.str.4)
  %7887 = call ptr @__errno_location() #12
  %7888 = load i32, ptr %7887, align 4, !tbaa !5
  %7889 = call ptr @strerror(i32 noundef %7888) #11
  %7890 = call ptr @__errno_location() #12
  %7891 = load i32, ptr %7890, align 4, !tbaa !5
  %7892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7879, ptr noundef @.str.5, i32 noundef %7880, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 216, ptr noundef %7883, ptr noundef %7886, ptr noundef %7889, i32 noundef %7891) #11
  br label %7893

7893:                                             ; preds = %7876, %7859
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7894

7894:                                             ; preds = %7893
  br label %7895

7895:                                             ; preds = %7894
  call void @exit(i32 noundef 1) #13
  unreachable

7896:                                             ; No predecessors!
  br label %7897

7897:                                             ; preds = %7896
  br label %7898

7898:                                             ; preds = %7897, %7840
  br label %7899

7899:                                             ; preds = %7898
  br label %7900

7900:                                             ; preds = %7899
  br label %7901

7901:                                             ; preds = %7900
  %7902 = load i32, ptr @test_count, align 4, !tbaa !5
  %7903 = add nsw i32 %7902, 1
  store i32 %7903, ptr @test_count, align 4, !tbaa !5
  %7904 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %7905 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %7906 = call i64 @strlen(ptr noundef %7905) #14
  %7907 = trunc i64 %7906 to i32
  %7908 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %7904, i32 noundef %7907)
  %7909 = icmp eq i32 %7908, -1
  br i1 %7909, label %7910, label %7963

7910:                                             ; preds = %7901
  br label %7911

7911:                                             ; preds = %7910
  br label %7912

7912:                                             ; preds = %7911
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7913 = call ptr @__errno_location() #12
  %7914 = load i32, ptr %7913, align 4, !tbaa !5
  store i32 %7914, ptr %151, align 4, !tbaa !5
  %7915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7916 = call i32 @s2n_print_stacktrace(ptr noundef %7915)
  %7917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7918 = trunc i8 %7917 to i1
  br i1 %7918, label %7919, label %7941

7919:                                             ; preds = %7912
  %7920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7921 = call i32 @fileno(ptr noundef %7920) #11
  %7922 = call i32 @isatty(i32 noundef %7921) #11
  %7923 = icmp ne i32 %7922, 0
  br i1 %7923, label %7924, label %7941

7924:                                             ; preds = %7919
  %7925 = load i32, ptr %151, align 4, !tbaa !5
  %7926 = call ptr @__errno_location() #12
  store i32 %7925, ptr %7926, align 4, !tbaa !5
  %7927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7928 = load i32, ptr @test_count, align 4, !tbaa !5
  %7929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7930 = load i32, ptr %7929, align 4, !tbaa !5
  %7931 = call ptr @s2n_strerror(i32 noundef %7930, ptr noundef @.str.4)
  %7932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7933 = load i32, ptr %7932, align 4, !tbaa !5
  %7934 = call ptr @s2n_strerror_debug(i32 noundef %7933, ptr noundef @.str.4)
  %7935 = call ptr @__errno_location() #12
  %7936 = load i32, ptr %7935, align 4, !tbaa !5
  %7937 = call ptr @strerror(i32 noundef %7936) #11
  %7938 = call ptr @__errno_location() #12
  %7939 = load i32, ptr %7938, align 4, !tbaa !5
  %7940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7927, ptr noundef @.str.2, i32 noundef %7928, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 218, ptr noundef %7931, ptr noundef %7934, ptr noundef %7937, i32 noundef %7939) #11
  br label %7958

7941:                                             ; preds = %7919, %7912
  %7942 = load i32, ptr %151, align 4, !tbaa !5
  %7943 = call ptr @__errno_location() #12
  store i32 %7942, ptr %7943, align 4, !tbaa !5
  %7944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7945 = load i32, ptr @test_count, align 4, !tbaa !5
  %7946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7947 = load i32, ptr %7946, align 4, !tbaa !5
  %7948 = call ptr @s2n_strerror(i32 noundef %7947, ptr noundef @.str.4)
  %7949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7950 = load i32, ptr %7949, align 4, !tbaa !5
  %7951 = call ptr @s2n_strerror_debug(i32 noundef %7950, ptr noundef @.str.4)
  %7952 = call ptr @__errno_location() #12
  %7953 = load i32, ptr %7952, align 4, !tbaa !5
  %7954 = call ptr @strerror(i32 noundef %7953) #11
  %7955 = call ptr @__errno_location() #12
  %7956 = load i32, ptr %7955, align 4, !tbaa !5
  %7957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7944, ptr noundef @.str.5, i32 noundef %7945, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 218, ptr noundef %7948, ptr noundef %7951, ptr noundef %7954, i32 noundef %7956) #11
  br label %7958

7958:                                             ; preds = %7941, %7924
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7959

7959:                                             ; preds = %7958
  br label %7960

7960:                                             ; preds = %7959
  call void @exit(i32 noundef 1) #13
  unreachable

7961:                                             ; No predecessors!
  br label %7962

7962:                                             ; preds = %7961
  br label %7963

7963:                                             ; preds = %7962, %7901
  br label %7964

7964:                                             ; preds = %7963
  br label %7965

7965:                                             ; preds = %7964
  br label %7966

7966:                                             ; preds = %7965
  %7967 = load i32, ptr @test_count, align 4, !tbaa !5
  %7968 = add nsw i32 %7967, 1
  store i32 %7968, ptr @test_count, align 4, !tbaa !5
  %7969 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %7970 = icmp ne i32 %7969, 0
  br i1 %7970, label %8024, label %7971

7971:                                             ; preds = %7966
  br label %7972

7972:                                             ; preds = %7971
  br label %7973

7973:                                             ; preds = %7972
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7974 = call ptr @__errno_location() #12
  %7975 = load i32, ptr %7974, align 4, !tbaa !5
  store i32 %7975, ptr %152, align 4, !tbaa !5
  %7976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7977 = call i32 @s2n_print_stacktrace(ptr noundef %7976)
  %7978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %7979 = trunc i8 %7978 to i1
  br i1 %7979, label %7980, label %8002

7980:                                             ; preds = %7973
  %7981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7982 = call i32 @fileno(ptr noundef %7981) #11
  %7983 = call i32 @isatty(i32 noundef %7982) #11
  %7984 = icmp ne i32 %7983, 0
  br i1 %7984, label %7985, label %8002

7985:                                             ; preds = %7980
  %7986 = load i32, ptr %152, align 4, !tbaa !5
  %7987 = call ptr @__errno_location() #12
  store i32 %7986, ptr %7987, align 4, !tbaa !5
  %7988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7989 = load i32, ptr @test_count, align 4, !tbaa !5
  %7990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror(i32 noundef %7991, ptr noundef @.str.4)
  %7993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror_debug(i32 noundef %7994, ptr noundef @.str.4)
  %7996 = call ptr @__errno_location() #12
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call ptr @strerror(i32 noundef %7997) #11
  %7999 = call ptr @__errno_location() #12
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7988, ptr noundef @.str.2, i32 noundef %7989, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 219, ptr noundef %7992, ptr noundef %7995, ptr noundef %7998, i32 noundef %8000) #11
  br label %8019

8002:                                             ; preds = %7980, %7973
  %8003 = load i32, ptr %152, align 4, !tbaa !5
  %8004 = call ptr @__errno_location() #12
  store i32 %8003, ptr %8004, align 4, !tbaa !5
  %8005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8006 = load i32, ptr @test_count, align 4, !tbaa !5
  %8007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8008 = load i32, ptr %8007, align 4, !tbaa !5
  %8009 = call ptr @s2n_strerror(i32 noundef %8008, ptr noundef @.str.4)
  %8010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8011 = load i32, ptr %8010, align 4, !tbaa !5
  %8012 = call ptr @s2n_strerror_debug(i32 noundef %8011, ptr noundef @.str.4)
  %8013 = call ptr @__errno_location() #12
  %8014 = load i32, ptr %8013, align 4, !tbaa !5
  %8015 = call ptr @strerror(i32 noundef %8014) #11
  %8016 = call ptr @__errno_location() #12
  %8017 = load i32, ptr %8016, align 4, !tbaa !5
  %8018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8005, ptr noundef @.str.5, i32 noundef %8006, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 219, ptr noundef %8009, ptr noundef %8012, ptr noundef %8015, i32 noundef %8017) #11
  br label %8019

8019:                                             ; preds = %8002, %7985
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %8020

8020:                                             ; preds = %8019
  br label %8021

8021:                                             ; preds = %8020
  call void @exit(i32 noundef 1) #13
  unreachable

8022:                                             ; No predecessors!
  br label %8023

8023:                                             ; preds = %8022
  br label %8024

8024:                                             ; preds = %8023, %7966
  br label %8025

8025:                                             ; preds = %8024
  br label %8026

8026:                                             ; preds = %8025
  br label %8027

8027:                                             ; preds = %8026
  %8028 = load i32, ptr @test_count, align 4, !tbaa !5
  %8029 = add nsw i32 %8028, 1
  store i32 %8029, ptr @test_count, align 4, !tbaa !5
  %8030 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %8031 = icmp eq i32 %8030, -1
  br i1 %8031, label %8032, label %8085

8032:                                             ; preds = %8027
  br label %8033

8033:                                             ; preds = %8032
  br label %8034

8034:                                             ; preds = %8033
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %8035 = call ptr @__errno_location() #12
  %8036 = load i32, ptr %8035, align 4, !tbaa !5
  store i32 %8036, ptr %153, align 4, !tbaa !5
  %8037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8038 = call i32 @s2n_print_stacktrace(ptr noundef %8037)
  %8039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8040 = trunc i8 %8039 to i1
  br i1 %8040, label %8041, label %8063

8041:                                             ; preds = %8034
  %8042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8043 = call i32 @fileno(ptr noundef %8042) #11
  %8044 = call i32 @isatty(i32 noundef %8043) #11
  %8045 = icmp ne i32 %8044, 0
  br i1 %8045, label %8046, label %8063

8046:                                             ; preds = %8041
  %8047 = load i32, ptr %153, align 4, !tbaa !5
  %8048 = call ptr @__errno_location() #12
  store i32 %8047, ptr %8048, align 4, !tbaa !5
  %8049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8050 = load i32, ptr @test_count, align 4, !tbaa !5
  %8051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8052 = load i32, ptr %8051, align 4, !tbaa !5
  %8053 = call ptr @s2n_strerror(i32 noundef %8052, ptr noundef @.str.4)
  %8054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8055 = load i32, ptr %8054, align 4, !tbaa !5
  %8056 = call ptr @s2n_strerror_debug(i32 noundef %8055, ptr noundef @.str.4)
  %8057 = call ptr @__errno_location() #12
  %8058 = load i32, ptr %8057, align 4, !tbaa !5
  %8059 = call ptr @strerror(i32 noundef %8058) #11
  %8060 = call ptr @__errno_location() #12
  %8061 = load i32, ptr %8060, align 4, !tbaa !5
  %8062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8049, ptr noundef @.str.2, i32 noundef %8050, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 220, ptr noundef %8053, ptr noundef %8056, ptr noundef %8059, i32 noundef %8061) #11
  br label %8080

8063:                                             ; preds = %8041, %8034
  %8064 = load i32, ptr %153, align 4, !tbaa !5
  %8065 = call ptr @__errno_location() #12
  store i32 %8064, ptr %8065, align 4, !tbaa !5
  %8066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8067 = load i32, ptr @test_count, align 4, !tbaa !5
  %8068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8069 = load i32, ptr %8068, align 4, !tbaa !5
  %8070 = call ptr @s2n_strerror(i32 noundef %8069, ptr noundef @.str.4)
  %8071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8072 = load i32, ptr %8071, align 4, !tbaa !5
  %8073 = call ptr @s2n_strerror_debug(i32 noundef %8072, ptr noundef @.str.4)
  %8074 = call ptr @__errno_location() #12
  %8075 = load i32, ptr %8074, align 4, !tbaa !5
  %8076 = call ptr @strerror(i32 noundef %8075) #11
  %8077 = call ptr @__errno_location() #12
  %8078 = load i32, ptr %8077, align 4, !tbaa !5
  %8079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8066, ptr noundef @.str.5, i32 noundef %8067, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 220, ptr noundef %8070, ptr noundef %8073, ptr noundef %8076, i32 noundef %8078) #11
  br label %8080

8080:                                             ; preds = %8063, %8046
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %8081

8081:                                             ; preds = %8080
  br label %8082

8082:                                             ; preds = %8081
  call void @exit(i32 noundef 1) #13
  unreachable

8083:                                             ; No predecessors!
  br label %8084

8084:                                             ; preds = %8083
  br label %8085

8085:                                             ; preds = %8084, %8027
  br label %8086

8086:                                             ; preds = %8085
  br label %8087

8087:                                             ; preds = %8086
  br label %8088

8088:                                             ; preds = %8087
  %8089 = load i32, ptr @test_count, align 4, !tbaa !5
  %8090 = add nsw i32 %8089, 1
  store i32 %8090, ptr @test_count, align 4, !tbaa !5
  %8091 = load i64, ptr %16, align 8, !tbaa !11
  %8092 = icmp eq i64 %8091, 13
  br i1 %8092, label %8146, label %8093

8093:                                             ; preds = %8088
  br label %8094

8094:                                             ; preds = %8093
  br label %8095

8095:                                             ; preds = %8094
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %8096 = call ptr @__errno_location() #12
  %8097 = load i32, ptr %8096, align 4, !tbaa !5
  store i32 %8097, ptr %154, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = call i32 @s2n_print_stacktrace(ptr noundef %8098)
  %8100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8101 = trunc i8 %8100 to i1
  br i1 %8101, label %8102, label %8124

8102:                                             ; preds = %8095
  %8103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8104 = call i32 @fileno(ptr noundef %8103) #11
  %8105 = call i32 @isatty(i32 noundef %8104) #11
  %8106 = icmp ne i32 %8105, 0
  br i1 %8106, label %8107, label %8124

8107:                                             ; preds = %8102
  %8108 = load i32, ptr %154, align 4, !tbaa !5
  %8109 = call ptr @__errno_location() #12
  store i32 %8108, ptr %8109, align 4, !tbaa !5
  %8110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8111 = load i32, ptr @test_count, align 4, !tbaa !5
  %8112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8113 = load i32, ptr %8112, align 4, !tbaa !5
  %8114 = call ptr @s2n_strerror(i32 noundef %8113, ptr noundef @.str.4)
  %8115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8116 = load i32, ptr %8115, align 4, !tbaa !5
  %8117 = call ptr @s2n_strerror_debug(i32 noundef %8116, ptr noundef @.str.4)
  %8118 = call ptr @__errno_location() #12
  %8119 = load i32, ptr %8118, align 4, !tbaa !5
  %8120 = call ptr @strerror(i32 noundef %8119) #11
  %8121 = call ptr @__errno_location() #12
  %8122 = load i32, ptr %8121, align 4, !tbaa !5
  %8123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8110, ptr noundef @.str.2, i32 noundef %8111, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 221, ptr noundef %8114, ptr noundef %8117, ptr noundef %8120, i32 noundef %8122) #11
  br label %8141

8124:                                             ; preds = %8102, %8095
  %8125 = load i32, ptr %154, align 4, !tbaa !5
  %8126 = call ptr @__errno_location() #12
  store i32 %8125, ptr %8126, align 4, !tbaa !5
  %8127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8128 = load i32, ptr @test_count, align 4, !tbaa !5
  %8129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8130 = load i32, ptr %8129, align 4, !tbaa !5
  %8131 = call ptr @s2n_strerror(i32 noundef %8130, ptr noundef @.str.4)
  %8132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8133 = load i32, ptr %8132, align 4, !tbaa !5
  %8134 = call ptr @s2n_strerror_debug(i32 noundef %8133, ptr noundef @.str.4)
  %8135 = call ptr @__errno_location() #12
  %8136 = load i32, ptr %8135, align 4, !tbaa !5
  %8137 = call ptr @strerror(i32 noundef %8136) #11
  %8138 = call ptr @__errno_location() #12
  %8139 = load i32, ptr %8138, align 4, !tbaa !5
  %8140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8127, ptr noundef @.str.5, i32 noundef %8128, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 221, ptr noundef %8131, ptr noundef %8134, ptr noundef %8137, i32 noundef %8139) #11
  br label %8141

8141:                                             ; preds = %8124, %8107
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %8142

8142:                                             ; preds = %8141
  br label %8143

8143:                                             ; preds = %8142
  call void @exit(i32 noundef 1) #13
  unreachable

8144:                                             ; No predecessors!
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145, %8088
  br label %8147

8147:                                             ; preds = %8146
  br label %8148

8148:                                             ; preds = %8147
  br label %8149

8149:                                             ; preds = %8148
  %8150 = load i32, ptr @test_count, align 4, !tbaa !5
  %8151 = add nsw i32 %8150, 1
  store i32 %8151, ptr @test_count, align 4, !tbaa !5
  %8152 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %8153 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %8152, i32 noundef 28)
  %8154 = icmp eq i32 %8153, -1
  br i1 %8154, label %8155, label %8208

8155:                                             ; preds = %8149
  br label %8156

8156:                                             ; preds = %8155
  br label %8157

8157:                                             ; preds = %8156
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %8158 = call ptr @__errno_location() #12
  %8159 = load i32, ptr %8158, align 4, !tbaa !5
  store i32 %8159, ptr %155, align 4, !tbaa !5
  %8160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8161 = call i32 @s2n_print_stacktrace(ptr noundef %8160)
  %8162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8163 = trunc i8 %8162 to i1
  br i1 %8163, label %8164, label %8186

8164:                                             ; preds = %8157
  %8165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8166 = call i32 @fileno(ptr noundef %8165) #11
  %8167 = call i32 @isatty(i32 noundef %8166) #11
  %8168 = icmp ne i32 %8167, 0
  br i1 %8168, label %8169, label %8186

8169:                                             ; preds = %8164
  %8170 = load i32, ptr %155, align 4, !tbaa !5
  %8171 = call ptr @__errno_location() #12
  store i32 %8170, ptr %8171, align 4, !tbaa !5
  %8172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8173 = load i32, ptr @test_count, align 4, !tbaa !5
  %8174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8175 = load i32, ptr %8174, align 4, !tbaa !5
  %8176 = call ptr @s2n_strerror(i32 noundef %8175, ptr noundef @.str.4)
  %8177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8178 = load i32, ptr %8177, align 4, !tbaa !5
  %8179 = call ptr @s2n_strerror_debug(i32 noundef %8178, ptr noundef @.str.4)
  %8180 = call ptr @__errno_location() #12
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call ptr @strerror(i32 noundef %8181) #11
  %8183 = call ptr @__errno_location() #12
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8172, ptr noundef @.str.2, i32 noundef %8173, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8176, ptr noundef %8179, ptr noundef %8182, i32 noundef %8184) #11
  br label %8203

8186:                                             ; preds = %8164, %8157
  %8187 = load i32, ptr %155, align 4, !tbaa !5
  %8188 = call ptr @__errno_location() #12
  store i32 %8187, ptr %8188, align 4, !tbaa !5
  %8189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8190 = load i32, ptr @test_count, align 4, !tbaa !5
  %8191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8192 = load i32, ptr %8191, align 4, !tbaa !5
  %8193 = call ptr @s2n_strerror(i32 noundef %8192, ptr noundef @.str.4)
  %8194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8195 = load i32, ptr %8194, align 4, !tbaa !5
  %8196 = call ptr @s2n_strerror_debug(i32 noundef %8195, ptr noundef @.str.4)
  %8197 = call ptr @__errno_location() #12
  %8198 = load i32, ptr %8197, align 4, !tbaa !5
  %8199 = call ptr @strerror(i32 noundef %8198) #11
  %8200 = call ptr @__errno_location() #12
  %8201 = load i32, ptr %8200, align 4, !tbaa !5
  %8202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8189, ptr noundef @.str.5, i32 noundef %8190, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 223, ptr noundef %8193, ptr noundef %8196, ptr noundef %8199, i32 noundef %8201) #11
  br label %8203

8203:                                             ; preds = %8186, %8169
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %8204

8204:                                             ; preds = %8203
  br label %8205

8205:                                             ; preds = %8204
  call void @exit(i32 noundef 1) #13
  unreachable

8206:                                             ; No predecessors!
  br label %8207

8207:                                             ; preds = %8206
  br label %8208

8208:                                             ; preds = %8207, %8149
  br label %8209

8209:                                             ; preds = %8208
  br label %8210

8210:                                             ; preds = %8209
  br label %8211

8211:                                             ; preds = %8210
  %8212 = load i32, ptr @test_count, align 4, !tbaa !5
  %8213 = add nsw i32 %8212, 1
  store i32 %8213, ptr @test_count, align 4, !tbaa !5
  %8214 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %8215 = icmp ne i32 %8214, 0
  br i1 %8215, label %8216, label %8269

8216:                                             ; preds = %8211
  br label %8217

8217:                                             ; preds = %8216
  br label %8218

8218:                                             ; preds = %8217
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %8219 = call ptr @__errno_location() #12
  %8220 = load i32, ptr %8219, align 4, !tbaa !5
  store i32 %8220, ptr %156, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @s2n_print_stacktrace(ptr noundef %8221)
  %8223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8224 = trunc i8 %8223 to i1
  br i1 %8224, label %8225, label %8247

8225:                                             ; preds = %8218
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @fileno(ptr noundef %8226) #11
  %8228 = call i32 @isatty(i32 noundef %8227) #11
  %8229 = icmp ne i32 %8228, 0
  br i1 %8229, label %8230, label %8247

8230:                                             ; preds = %8225
  %8231 = load i32, ptr %156, align 4, !tbaa !5
  %8232 = call ptr @__errno_location() #12
  store i32 %8231, ptr %8232, align 4, !tbaa !5
  %8233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8234 = load i32, ptr @test_count, align 4, !tbaa !5
  %8235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call ptr @s2n_strerror(i32 noundef %8236, ptr noundef @.str.4)
  %8238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8239 = load i32, ptr %8238, align 4, !tbaa !5
  %8240 = call ptr @s2n_strerror_debug(i32 noundef %8239, ptr noundef @.str.4)
  %8241 = call ptr @__errno_location() #12
  %8242 = load i32, ptr %8241, align 4, !tbaa !5
  %8243 = call ptr @strerror(i32 noundef %8242) #11
  %8244 = call ptr @__errno_location() #12
  %8245 = load i32, ptr %8244, align 4, !tbaa !5
  %8246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8233, ptr noundef @.str.2, i32 noundef %8234, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8237, ptr noundef %8240, ptr noundef %8243, i32 noundef %8245) #11
  br label %8264

8247:                                             ; preds = %8225, %8218
  %8248 = load i32, ptr %156, align 4, !tbaa !5
  %8249 = call ptr @__errno_location() #12
  store i32 %8248, ptr %8249, align 4, !tbaa !5
  %8250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8251 = load i32, ptr @test_count, align 4, !tbaa !5
  %8252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call ptr @s2n_strerror(i32 noundef %8253, ptr noundef @.str.4)
  %8255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8256 = load i32, ptr %8255, align 4, !tbaa !5
  %8257 = call ptr @s2n_strerror_debug(i32 noundef %8256, ptr noundef @.str.4)
  %8258 = call ptr @__errno_location() #12
  %8259 = load i32, ptr %8258, align 4, !tbaa !5
  %8260 = call ptr @strerror(i32 noundef %8259) #11
  %8261 = call ptr @__errno_location() #12
  %8262 = load i32, ptr %8261, align 4, !tbaa !5
  %8263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8250, ptr noundef @.str.5, i32 noundef %8251, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 224, ptr noundef %8254, ptr noundef %8257, ptr noundef %8260, i32 noundef %8262) #11
  br label %8264

8264:                                             ; preds = %8247, %8230
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %8265

8265:                                             ; preds = %8264
  br label %8266

8266:                                             ; preds = %8265
  call void @exit(i32 noundef 1) #13
  unreachable

8267:                                             ; No predecessors!
  br label %8268

8268:                                             ; preds = %8267
  br label %8269

8269:                                             ; preds = %8268, %8211
  br label %8270

8270:                                             ; preds = %8269
  br label %8271

8271:                                             ; preds = %8270
  br label %8272

8272:                                             ; preds = %8271
  br label %8273

8273:                                             ; preds = %8272
  %8274 = load i32, ptr @test_count, align 4, !tbaa !5
  %8275 = add nsw i32 %8274, 1
  store i32 %8275, ptr @test_count, align 4, !tbaa !5
  %8276 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %8277 = icmp eq i32 %8276, -1
  br i1 %8277, label %8331, label %8278

8278:                                             ; preds = %8273
  br label %8279

8279:                                             ; preds = %8278
  br label %8280

8280:                                             ; preds = %8279
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %8281 = call ptr @__errno_location() #12
  %8282 = load i32, ptr %8281, align 4, !tbaa !5
  store i32 %8282, ptr %157, align 4, !tbaa !5
  %8283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8284 = call i32 @s2n_print_stacktrace(ptr noundef %8283)
  %8285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8286 = trunc i8 %8285 to i1
  br i1 %8286, label %8287, label %8309

8287:                                             ; preds = %8280
  %8288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8289 = call i32 @fileno(ptr noundef %8288) #11
  %8290 = call i32 @isatty(i32 noundef %8289) #11
  %8291 = icmp ne i32 %8290, 0
  br i1 %8291, label %8292, label %8309

8292:                                             ; preds = %8287
  %8293 = load i32, ptr %157, align 4, !tbaa !5
  %8294 = call ptr @__errno_location() #12
  store i32 %8293, ptr %8294, align 4, !tbaa !5
  %8295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8296 = load i32, ptr @test_count, align 4, !tbaa !5
  %8297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8298 = load i32, ptr %8297, align 4, !tbaa !5
  %8299 = call ptr @s2n_strerror(i32 noundef %8298, ptr noundef @.str.4)
  %8300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8301 = load i32, ptr %8300, align 4, !tbaa !5
  %8302 = call ptr @s2n_strerror_debug(i32 noundef %8301, ptr noundef @.str.4)
  %8303 = call ptr @__errno_location() #12
  %8304 = load i32, ptr %8303, align 4, !tbaa !5
  %8305 = call ptr @strerror(i32 noundef %8304) #11
  %8306 = call ptr @__errno_location() #12
  %8307 = load i32, ptr %8306, align 4, !tbaa !5
  %8308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8295, ptr noundef @.str.2, i32 noundef %8296, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8299, ptr noundef %8302, ptr noundef %8305, i32 noundef %8307) #11
  br label %8326

8309:                                             ; preds = %8287, %8280
  %8310 = load i32, ptr %157, align 4, !tbaa !5
  %8311 = call ptr @__errno_location() #12
  store i32 %8310, ptr %8311, align 4, !tbaa !5
  %8312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8313 = load i32, ptr @test_count, align 4, !tbaa !5
  %8314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @s2n_strerror(i32 noundef %8315, ptr noundef @.str.4)
  %8317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call ptr @s2n_strerror_debug(i32 noundef %8318, ptr noundef @.str.4)
  %8320 = call ptr @__errno_location() #12
  %8321 = load i32, ptr %8320, align 4, !tbaa !5
  %8322 = call ptr @strerror(i32 noundef %8321) #11
  %8323 = call ptr @__errno_location() #12
  %8324 = load i32, ptr %8323, align 4, !tbaa !5
  %8325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8312, ptr noundef @.str.5, i32 noundef %8313, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8316, ptr noundef %8319, ptr noundef %8322, i32 noundef %8324) #11
  br label %8326

8326:                                             ; preds = %8309, %8292
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %8327

8327:                                             ; preds = %8326
  br label %8328

8328:                                             ; preds = %8327
  call void @exit(i32 noundef 1) #13
  unreachable

8329:                                             ; No predecessors!
  br label %8330

8330:                                             ; preds = %8329
  br label %8331

8331:                                             ; preds = %8330, %8273
  br label %8332

8332:                                             ; preds = %8331
  br label %8333

8333:                                             ; preds = %8332
  br label %8334

8334:                                             ; preds = %8333
  %8335 = load i32, ptr @test_count, align 4, !tbaa !5
  %8336 = add nsw i32 %8335, 1
  store i32 %8336, ptr @test_count, align 4, !tbaa !5
  %8337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  %8339 = icmp eq i32 %8338, 0
  br i1 %8339, label %8340, label %8393

8340:                                             ; preds = %8334
  br label %8341

8341:                                             ; preds = %8340
  br label %8342

8342:                                             ; preds = %8341
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %8343 = call ptr @__errno_location() #12
  %8344 = load i32, ptr %8343, align 4, !tbaa !5
  store i32 %8344, ptr %158, align 4, !tbaa !5
  %8345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8346 = call i32 @s2n_print_stacktrace(ptr noundef %8345)
  %8347 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8348 = trunc i8 %8347 to i1
  br i1 %8348, label %8349, label %8371

8349:                                             ; preds = %8342
  %8350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8351 = call i32 @fileno(ptr noundef %8350) #11
  %8352 = call i32 @isatty(i32 noundef %8351) #11
  %8353 = icmp ne i32 %8352, 0
  br i1 %8353, label %8354, label %8371

8354:                                             ; preds = %8349
  %8355 = load i32, ptr %158, align 4, !tbaa !5
  %8356 = call ptr @__errno_location() #12
  store i32 %8355, ptr %8356, align 4, !tbaa !5
  %8357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8358 = load i32, ptr @test_count, align 4, !tbaa !5
  %8359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8360 = load i32, ptr %8359, align 4, !tbaa !5
  %8361 = call ptr @s2n_strerror(i32 noundef %8360, ptr noundef @.str.4)
  %8362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8363 = load i32, ptr %8362, align 4, !tbaa !5
  %8364 = call ptr @s2n_strerror_debug(i32 noundef %8363, ptr noundef @.str.4)
  %8365 = call ptr @__errno_location() #12
  %8366 = load i32, ptr %8365, align 4, !tbaa !5
  %8367 = call ptr @strerror(i32 noundef %8366) #11
  %8368 = call ptr @__errno_location() #12
  %8369 = load i32, ptr %8368, align 4, !tbaa !5
  %8370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8357, ptr noundef @.str.2, i32 noundef %8358, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8361, ptr noundef %8364, ptr noundef %8367, i32 noundef %8369) #11
  br label %8388

8371:                                             ; preds = %8349, %8342
  %8372 = load i32, ptr %158, align 4, !tbaa !5
  %8373 = call ptr @__errno_location() #12
  store i32 %8372, ptr %8373, align 4, !tbaa !5
  %8374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8375 = load i32, ptr @test_count, align 4, !tbaa !5
  %8376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8377 = load i32, ptr %8376, align 4, !tbaa !5
  %8378 = call ptr @s2n_strerror(i32 noundef %8377, ptr noundef @.str.4)
  %8379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8380 = load i32, ptr %8379, align 4, !tbaa !5
  %8381 = call ptr @s2n_strerror_debug(i32 noundef %8380, ptr noundef @.str.4)
  %8382 = call ptr @__errno_location() #12
  %8383 = load i32, ptr %8382, align 4, !tbaa !5
  %8384 = call ptr @strerror(i32 noundef %8383) #11
  %8385 = call ptr @__errno_location() #12
  %8386 = load i32, ptr %8385, align 4, !tbaa !5
  %8387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8374, ptr noundef @.str.5, i32 noundef %8375, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8378, ptr noundef %8381, ptr noundef %8384, i32 noundef %8386) #11
  br label %8388

8388:                                             ; preds = %8371, %8354
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %8389

8389:                                             ; preds = %8388
  br label %8390

8390:                                             ; preds = %8389
  call void @exit(i32 noundef 1) #13
  unreachable

8391:                                             ; No predecessors!
  br label %8392

8392:                                             ; preds = %8391
  br label %8393

8393:                                             ; preds = %8392, %8334
  br label %8394

8394:                                             ; preds = %8393
  br label %8395

8395:                                             ; preds = %8394
  br label %8396

8396:                                             ; preds = %8395
  %8397 = load i32, ptr @test_count, align 4, !tbaa !5
  %8398 = add nsw i32 %8397, 1
  store i32 %8398, ptr @test_count, align 4, !tbaa !5
  %8399 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8400 = load i32, ptr %8399, align 4, !tbaa !5
  %8401 = call ptr @s2n_strerror_debug(i32 noundef %8400, ptr noundef @.str.4)
  %8402 = icmp eq ptr %8401, null
  br i1 %8402, label %8403, label %8456

8403:                                             ; preds = %8396
  br label %8404

8404:                                             ; preds = %8403
  br label %8405

8405:                                             ; preds = %8404
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %8406 = call ptr @__errno_location() #12
  %8407 = load i32, ptr %8406, align 4, !tbaa !5
  store i32 %8407, ptr %159, align 4, !tbaa !5
  %8408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8409 = call i32 @s2n_print_stacktrace(ptr noundef %8408)
  %8410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8411 = trunc i8 %8410 to i1
  br i1 %8411, label %8412, label %8434

8412:                                             ; preds = %8405
  %8413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8414 = call i32 @fileno(ptr noundef %8413) #11
  %8415 = call i32 @isatty(i32 noundef %8414) #11
  %8416 = icmp ne i32 %8415, 0
  br i1 %8416, label %8417, label %8434

8417:                                             ; preds = %8412
  %8418 = load i32, ptr %159, align 4, !tbaa !5
  %8419 = call ptr @__errno_location() #12
  store i32 %8418, ptr %8419, align 4, !tbaa !5
  %8420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8421 = load i32, ptr @test_count, align 4, !tbaa !5
  %8422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  %8424 = call ptr @s2n_strerror(i32 noundef %8423, ptr noundef @.str.4)
  %8425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = call ptr @s2n_strerror_debug(i32 noundef %8426, ptr noundef @.str.4)
  %8428 = call ptr @__errno_location() #12
  %8429 = load i32, ptr %8428, align 4, !tbaa !5
  %8430 = call ptr @strerror(i32 noundef %8429) #11
  %8431 = call ptr @__errno_location() #12
  %8432 = load i32, ptr %8431, align 4, !tbaa !5
  %8433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8420, ptr noundef @.str.2, i32 noundef %8421, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8424, ptr noundef %8427, ptr noundef %8430, i32 noundef %8432) #11
  br label %8451

8434:                                             ; preds = %8412, %8405
  %8435 = load i32, ptr %159, align 4, !tbaa !5
  %8436 = call ptr @__errno_location() #12
  store i32 %8435, ptr %8436, align 4, !tbaa !5
  %8437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8438 = load i32, ptr @test_count, align 4, !tbaa !5
  %8439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  %8441 = call ptr @s2n_strerror(i32 noundef %8440, ptr noundef @.str.4)
  %8442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call ptr @s2n_strerror_debug(i32 noundef %8443, ptr noundef @.str.4)
  %8445 = call ptr @__errno_location() #12
  %8446 = load i32, ptr %8445, align 4, !tbaa !5
  %8447 = call ptr @strerror(i32 noundef %8446) #11
  %8448 = call ptr @__errno_location() #12
  %8449 = load i32, ptr %8448, align 4, !tbaa !5
  %8450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8437, ptr noundef @.str.5, i32 noundef %8438, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 225, ptr noundef %8441, ptr noundef %8444, ptr noundef %8447, i32 noundef %8449) #11
  br label %8451

8451:                                             ; preds = %8434, %8417
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  call void @exit(i32 noundef 1) #13
  unreachable

8454:                                             ; No predecessors!
  br label %8455

8455:                                             ; preds = %8454
  br label %8456

8456:                                             ; preds = %8455, %8396
  br label %8457

8457:                                             ; preds = %8456
  br label %8458

8458:                                             ; preds = %8457
  br label %8459

8459:                                             ; preds = %8458
  %8460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8460, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8461 = call ptr @__errno_location() #12
  store i32 0, ptr %8461, align 4, !tbaa !5
  br label %8462

8462:                                             ; preds = %8459
  br label %8463

8463:                                             ; preds = %8462
  br label %8464

8464:                                             ; preds = %8463
  br label %8465

8465:                                             ; preds = %8464
  br label %8466

8466:                                             ; preds = %8465
  %8467 = load i32, ptr @test_count, align 4, !tbaa !5
  %8468 = add nsw i32 %8467, 1
  store i32 %8468, ptr @test_count, align 4, !tbaa !5
  %8469 = call i32 @s2n_hash_free(ptr noundef %12)
  %8470 = icmp eq i32 %8469, -1
  br i1 %8470, label %8471, label %8524

8471:                                             ; preds = %8466
  br label %8472

8472:                                             ; preds = %8471
  br label %8473

8473:                                             ; preds = %8472
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %8474 = call ptr @__errno_location() #12
  %8475 = load i32, ptr %8474, align 4, !tbaa !5
  store i32 %8475, ptr %160, align 4, !tbaa !5
  %8476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8477 = call i32 @s2n_print_stacktrace(ptr noundef %8476)
  %8478 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8479 = trunc i8 %8478 to i1
  br i1 %8479, label %8480, label %8502

8480:                                             ; preds = %8473
  %8481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8482 = call i32 @fileno(ptr noundef %8481) #11
  %8483 = call i32 @isatty(i32 noundef %8482) #11
  %8484 = icmp ne i32 %8483, 0
  br i1 %8484, label %8485, label %8502

8485:                                             ; preds = %8480
  %8486 = load i32, ptr %160, align 4, !tbaa !5
  %8487 = call ptr @__errno_location() #12
  store i32 %8486, ptr %8487, align 4, !tbaa !5
  %8488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8489 = load i32, ptr @test_count, align 4, !tbaa !5
  %8490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8491 = load i32, ptr %8490, align 4, !tbaa !5
  %8492 = call ptr @s2n_strerror(i32 noundef %8491, ptr noundef @.str.4)
  %8493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8494 = load i32, ptr %8493, align 4, !tbaa !5
  %8495 = call ptr @s2n_strerror_debug(i32 noundef %8494, ptr noundef @.str.4)
  %8496 = call ptr @__errno_location() #12
  %8497 = load i32, ptr %8496, align 4, !tbaa !5
  %8498 = call ptr @strerror(i32 noundef %8497) #11
  %8499 = call ptr @__errno_location() #12
  %8500 = load i32, ptr %8499, align 4, !tbaa !5
  %8501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8488, ptr noundef @.str.2, i32 noundef %8489, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 227, ptr noundef %8492, ptr noundef %8495, ptr noundef %8498, i32 noundef %8500) #11
  br label %8519

8502:                                             ; preds = %8480, %8473
  %8503 = load i32, ptr %160, align 4, !tbaa !5
  %8504 = call ptr @__errno_location() #12
  store i32 %8503, ptr %8504, align 4, !tbaa !5
  %8505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8506 = load i32, ptr @test_count, align 4, !tbaa !5
  %8507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8508 = load i32, ptr %8507, align 4, !tbaa !5
  %8509 = call ptr @s2n_strerror(i32 noundef %8508, ptr noundef @.str.4)
  %8510 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8511 = load i32, ptr %8510, align 4, !tbaa !5
  %8512 = call ptr @s2n_strerror_debug(i32 noundef %8511, ptr noundef @.str.4)
  %8513 = call ptr @__errno_location() #12
  %8514 = load i32, ptr %8513, align 4, !tbaa !5
  %8515 = call ptr @strerror(i32 noundef %8514) #11
  %8516 = call ptr @__errno_location() #12
  %8517 = load i32, ptr %8516, align 4, !tbaa !5
  %8518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8505, ptr noundef @.str.5, i32 noundef %8506, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 227, ptr noundef %8509, ptr noundef %8512, ptr noundef %8515, i32 noundef %8517) #11
  br label %8519

8519:                                             ; preds = %8502, %8485
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %8520

8520:                                             ; preds = %8519
  br label %8521

8521:                                             ; preds = %8520
  call void @exit(i32 noundef 1) #13
  unreachable

8522:                                             ; No predecessors!
  br label %8523

8523:                                             ; preds = %8522
  br label %8524

8524:                                             ; preds = %8523, %8466
  br label %8525

8525:                                             ; preds = %8524
  br label %8526

8526:                                             ; preds = %8525
  br label %8527

8527:                                             ; preds = %8526
  %8528 = load i32, ptr @test_count, align 4, !tbaa !5
  %8529 = add nsw i32 %8528, 1
  store i32 %8529, ptr @test_count, align 4, !tbaa !5
  %8530 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %8531 = icmp ne i32 %8530, 0
  br i1 %8531, label %8532, label %8585

8532:                                             ; preds = %8527
  br label %8533

8533:                                             ; preds = %8532
  br label %8534

8534:                                             ; preds = %8533
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %8535 = call ptr @__errno_location() #12
  %8536 = load i32, ptr %8535, align 4, !tbaa !5
  store i32 %8536, ptr %161, align 4, !tbaa !5
  %8537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8538 = call i32 @s2n_print_stacktrace(ptr noundef %8537)
  %8539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8540 = trunc i8 %8539 to i1
  br i1 %8540, label %8541, label %8563

8541:                                             ; preds = %8534
  %8542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8543 = call i32 @fileno(ptr noundef %8542) #11
  %8544 = call i32 @isatty(i32 noundef %8543) #11
  %8545 = icmp ne i32 %8544, 0
  br i1 %8545, label %8546, label %8563

8546:                                             ; preds = %8541
  %8547 = load i32, ptr %161, align 4, !tbaa !5
  %8548 = call ptr @__errno_location() #12
  store i32 %8547, ptr %8548, align 4, !tbaa !5
  %8549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror(i32 noundef %8552, ptr noundef @.str.4)
  %8554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8555 = load i32, ptr %8554, align 4, !tbaa !5
  %8556 = call ptr @s2n_strerror_debug(i32 noundef %8555, ptr noundef @.str.4)
  %8557 = call ptr @__errno_location() #12
  %8558 = load i32, ptr %8557, align 4, !tbaa !5
  %8559 = call ptr @strerror(i32 noundef %8558) #11
  %8560 = call ptr @__errno_location() #12
  %8561 = load i32, ptr %8560, align 4, !tbaa !5
  %8562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8549, ptr noundef @.str.2, i32 noundef %8550, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 228, ptr noundef %8553, ptr noundef %8556, ptr noundef %8559, i32 noundef %8561) #11
  br label %8580

8563:                                             ; preds = %8541, %8534
  %8564 = load i32, ptr %161, align 4, !tbaa !5
  %8565 = call ptr @__errno_location() #12
  store i32 %8564, ptr %8565, align 4, !tbaa !5
  %8566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8567 = load i32, ptr @test_count, align 4, !tbaa !5
  %8568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8569 = load i32, ptr %8568, align 4, !tbaa !5
  %8570 = call ptr @s2n_strerror(i32 noundef %8569, ptr noundef @.str.4)
  %8571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8572 = load i32, ptr %8571, align 4, !tbaa !5
  %8573 = call ptr @s2n_strerror_debug(i32 noundef %8572, ptr noundef @.str.4)
  %8574 = call ptr @__errno_location() #12
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call ptr @strerror(i32 noundef %8575) #11
  %8577 = call ptr @__errno_location() #12
  %8578 = load i32, ptr %8577, align 4, !tbaa !5
  %8579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8566, ptr noundef @.str.5, i32 noundef %8567, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 228, ptr noundef %8570, ptr noundef %8573, ptr noundef %8576, i32 noundef %8578) #11
  br label %8580

8580:                                             ; preds = %8563, %8546
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %8581

8581:                                             ; preds = %8580
  br label %8582

8582:                                             ; preds = %8581
  call void @exit(i32 noundef 1) #13
  unreachable

8583:                                             ; No predecessors!
  br label %8584

8584:                                             ; preds = %8583
  br label %8585

8585:                                             ; preds = %8584, %8527
  br label %8586

8586:                                             ; preds = %8585
  br label %8587

8587:                                             ; preds = %8586
  br label %8588

8588:                                             ; preds = %8587
  br label %8589

8589:                                             ; preds = %8588
  %8590 = load i32, ptr @test_count, align 4, !tbaa !5
  %8591 = add nsw i32 %8590, 1
  store i32 %8591, ptr @test_count, align 4, !tbaa !5
  %8592 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %8593 = icmp eq i32 %8592, -1
  br i1 %8593, label %8647, label %8594

8594:                                             ; preds = %8589
  br label %8595

8595:                                             ; preds = %8594
  br label %8596

8596:                                             ; preds = %8595
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %8597 = call ptr @__errno_location() #12
  %8598 = load i32, ptr %8597, align 4, !tbaa !5
  store i32 %8598, ptr %162, align 4, !tbaa !5
  %8599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8600 = call i32 @s2n_print_stacktrace(ptr noundef %8599)
  %8601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8602 = trunc i8 %8601 to i1
  br i1 %8602, label %8603, label %8625

8603:                                             ; preds = %8596
  %8604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8605 = call i32 @fileno(ptr noundef %8604) #11
  %8606 = call i32 @isatty(i32 noundef %8605) #11
  %8607 = icmp ne i32 %8606, 0
  br i1 %8607, label %8608, label %8625

8608:                                             ; preds = %8603
  %8609 = load i32, ptr %162, align 4, !tbaa !5
  %8610 = call ptr @__errno_location() #12
  store i32 %8609, ptr %8610, align 4, !tbaa !5
  %8611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8612 = load i32, ptr @test_count, align 4, !tbaa !5
  %8613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8614 = load i32, ptr %8613, align 4, !tbaa !5
  %8615 = call ptr @s2n_strerror(i32 noundef %8614, ptr noundef @.str.4)
  %8616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8617 = load i32, ptr %8616, align 4, !tbaa !5
  %8618 = call ptr @s2n_strerror_debug(i32 noundef %8617, ptr noundef @.str.4)
  %8619 = call ptr @__errno_location() #12
  %8620 = load i32, ptr %8619, align 4, !tbaa !5
  %8621 = call ptr @strerror(i32 noundef %8620) #11
  %8622 = call ptr @__errno_location() #12
  %8623 = load i32, ptr %8622, align 4, !tbaa !5
  %8624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8611, ptr noundef @.str.2, i32 noundef %8612, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8615, ptr noundef %8618, ptr noundef %8621, i32 noundef %8623) #11
  br label %8642

8625:                                             ; preds = %8603, %8596
  %8626 = load i32, ptr %162, align 4, !tbaa !5
  %8627 = call ptr @__errno_location() #12
  store i32 %8626, ptr %8627, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = load i32, ptr @test_count, align 4, !tbaa !5
  %8630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8631 = load i32, ptr %8630, align 4, !tbaa !5
  %8632 = call ptr @s2n_strerror(i32 noundef %8631, ptr noundef @.str.4)
  %8633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8634 = load i32, ptr %8633, align 4, !tbaa !5
  %8635 = call ptr @s2n_strerror_debug(i32 noundef %8634, ptr noundef @.str.4)
  %8636 = call ptr @__errno_location() #12
  %8637 = load i32, ptr %8636, align 4, !tbaa !5
  %8638 = call ptr @strerror(i32 noundef %8637) #11
  %8639 = call ptr @__errno_location() #12
  %8640 = load i32, ptr %8639, align 4, !tbaa !5
  %8641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8628, ptr noundef @.str.5, i32 noundef %8629, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8632, ptr noundef %8635, ptr noundef %8638, i32 noundef %8640) #11
  br label %8642

8642:                                             ; preds = %8625, %8608
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %8643

8643:                                             ; preds = %8642
  br label %8644

8644:                                             ; preds = %8643
  call void @exit(i32 noundef 1) #13
  unreachable

8645:                                             ; No predecessors!
  br label %8646

8646:                                             ; preds = %8645
  br label %8647

8647:                                             ; preds = %8646, %8589
  br label %8648

8648:                                             ; preds = %8647
  br label %8649

8649:                                             ; preds = %8648
  br label %8650

8650:                                             ; preds = %8649
  %8651 = load i32, ptr @test_count, align 4, !tbaa !5
  %8652 = add nsw i32 %8651, 1
  store i32 %8652, ptr @test_count, align 4, !tbaa !5
  %8653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8654 = load i32, ptr %8653, align 4, !tbaa !5
  %8655 = icmp eq i32 %8654, 0
  br i1 %8655, label %8656, label %8709

8656:                                             ; preds = %8650
  br label %8657

8657:                                             ; preds = %8656
  br label %8658

8658:                                             ; preds = %8657
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %8659 = call ptr @__errno_location() #12
  %8660 = load i32, ptr %8659, align 4, !tbaa !5
  store i32 %8660, ptr %163, align 4, !tbaa !5
  %8661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8662 = call i32 @s2n_print_stacktrace(ptr noundef %8661)
  %8663 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8664 = trunc i8 %8663 to i1
  br i1 %8664, label %8665, label %8687

8665:                                             ; preds = %8658
  %8666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8667 = call i32 @fileno(ptr noundef %8666) #11
  %8668 = call i32 @isatty(i32 noundef %8667) #11
  %8669 = icmp ne i32 %8668, 0
  br i1 %8669, label %8670, label %8687

8670:                                             ; preds = %8665
  %8671 = load i32, ptr %163, align 4, !tbaa !5
  %8672 = call ptr @__errno_location() #12
  store i32 %8671, ptr %8672, align 4, !tbaa !5
  %8673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8674 = load i32, ptr @test_count, align 4, !tbaa !5
  %8675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8676 = load i32, ptr %8675, align 4, !tbaa !5
  %8677 = call ptr @s2n_strerror(i32 noundef %8676, ptr noundef @.str.4)
  %8678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8679 = load i32, ptr %8678, align 4, !tbaa !5
  %8680 = call ptr @s2n_strerror_debug(i32 noundef %8679, ptr noundef @.str.4)
  %8681 = call ptr @__errno_location() #12
  %8682 = load i32, ptr %8681, align 4, !tbaa !5
  %8683 = call ptr @strerror(i32 noundef %8682) #11
  %8684 = call ptr @__errno_location() #12
  %8685 = load i32, ptr %8684, align 4, !tbaa !5
  %8686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8673, ptr noundef @.str.2, i32 noundef %8674, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8677, ptr noundef %8680, ptr noundef %8683, i32 noundef %8685) #11
  br label %8704

8687:                                             ; preds = %8665, %8658
  %8688 = load i32, ptr %163, align 4, !tbaa !5
  %8689 = call ptr @__errno_location() #12
  store i32 %8688, ptr %8689, align 4, !tbaa !5
  %8690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8691 = load i32, ptr @test_count, align 4, !tbaa !5
  %8692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8693 = load i32, ptr %8692, align 4, !tbaa !5
  %8694 = call ptr @s2n_strerror(i32 noundef %8693, ptr noundef @.str.4)
  %8695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8696 = load i32, ptr %8695, align 4, !tbaa !5
  %8697 = call ptr @s2n_strerror_debug(i32 noundef %8696, ptr noundef @.str.4)
  %8698 = call ptr @__errno_location() #12
  %8699 = load i32, ptr %8698, align 4, !tbaa !5
  %8700 = call ptr @strerror(i32 noundef %8699) #11
  %8701 = call ptr @__errno_location() #12
  %8702 = load i32, ptr %8701, align 4, !tbaa !5
  %8703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8690, ptr noundef @.str.5, i32 noundef %8691, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8694, ptr noundef %8697, ptr noundef %8700, i32 noundef %8702) #11
  br label %8704

8704:                                             ; preds = %8687, %8670
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8705

8705:                                             ; preds = %8704
  br label %8706

8706:                                             ; preds = %8705
  call void @exit(i32 noundef 1) #13
  unreachable

8707:                                             ; No predecessors!
  br label %8708

8708:                                             ; preds = %8707
  br label %8709

8709:                                             ; preds = %8708, %8650
  br label %8710

8710:                                             ; preds = %8709
  br label %8711

8711:                                             ; preds = %8710
  br label %8712

8712:                                             ; preds = %8711
  %8713 = load i32, ptr @test_count, align 4, !tbaa !5
  %8714 = add nsw i32 %8713, 1
  store i32 %8714, ptr @test_count, align 4, !tbaa !5
  %8715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8716 = load i32, ptr %8715, align 4, !tbaa !5
  %8717 = call ptr @s2n_strerror_debug(i32 noundef %8716, ptr noundef @.str.4)
  %8718 = icmp eq ptr %8717, null
  br i1 %8718, label %8719, label %8772

8719:                                             ; preds = %8712
  br label %8720

8720:                                             ; preds = %8719
  br label %8721

8721:                                             ; preds = %8720
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8722 = call ptr @__errno_location() #12
  %8723 = load i32, ptr %8722, align 4, !tbaa !5
  store i32 %8723, ptr %164, align 4, !tbaa !5
  %8724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8725 = call i32 @s2n_print_stacktrace(ptr noundef %8724)
  %8726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8727 = trunc i8 %8726 to i1
  br i1 %8727, label %8728, label %8750

8728:                                             ; preds = %8721
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = call i32 @fileno(ptr noundef %8729) #11
  %8731 = call i32 @isatty(i32 noundef %8730) #11
  %8732 = icmp ne i32 %8731, 0
  br i1 %8732, label %8733, label %8750

8733:                                             ; preds = %8728
  %8734 = load i32, ptr %164, align 4, !tbaa !5
  %8735 = call ptr @__errno_location() #12
  store i32 %8734, ptr %8735, align 4, !tbaa !5
  %8736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8737 = load i32, ptr @test_count, align 4, !tbaa !5
  %8738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8739 = load i32, ptr %8738, align 4, !tbaa !5
  %8740 = call ptr @s2n_strerror(i32 noundef %8739, ptr noundef @.str.4)
  %8741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call ptr @s2n_strerror_debug(i32 noundef %8742, ptr noundef @.str.4)
  %8744 = call ptr @__errno_location() #12
  %8745 = load i32, ptr %8744, align 4, !tbaa !5
  %8746 = call ptr @strerror(i32 noundef %8745) #11
  %8747 = call ptr @__errno_location() #12
  %8748 = load i32, ptr %8747, align 4, !tbaa !5
  %8749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8736, ptr noundef @.str.2, i32 noundef %8737, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8740, ptr noundef %8743, ptr noundef %8746, i32 noundef %8748) #11
  br label %8767

8750:                                             ; preds = %8728, %8721
  %8751 = load i32, ptr %164, align 4, !tbaa !5
  %8752 = call ptr @__errno_location() #12
  store i32 %8751, ptr %8752, align 4, !tbaa !5
  %8753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8754 = load i32, ptr @test_count, align 4, !tbaa !5
  %8755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @s2n_strerror(i32 noundef %8756, ptr noundef @.str.4)
  %8758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call ptr @s2n_strerror_debug(i32 noundef %8759, ptr noundef @.str.4)
  %8761 = call ptr @__errno_location() #12
  %8762 = load i32, ptr %8761, align 4, !tbaa !5
  %8763 = call ptr @strerror(i32 noundef %8762) #11
  %8764 = call ptr @__errno_location() #12
  %8765 = load i32, ptr %8764, align 4, !tbaa !5
  %8766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8753, ptr noundef @.str.5, i32 noundef %8754, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 229, ptr noundef %8757, ptr noundef %8760, ptr noundef %8763, i32 noundef %8765) #11
  br label %8767

8767:                                             ; preds = %8750, %8733
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8768

8768:                                             ; preds = %8767
  br label %8769

8769:                                             ; preds = %8768
  call void @exit(i32 noundef 1) #13
  unreachable

8770:                                             ; No predecessors!
  br label %8771

8771:                                             ; preds = %8770
  br label %8772

8772:                                             ; preds = %8771, %8712
  br label %8773

8773:                                             ; preds = %8772
  br label %8774

8774:                                             ; preds = %8773
  br label %8775

8775:                                             ; preds = %8774
  %8776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8776, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8777 = call ptr @__errno_location() #12
  store i32 0, ptr %8777, align 4, !tbaa !5
  br label %8778

8778:                                             ; preds = %8775
  br label %8779

8779:                                             ; preds = %8778
  br label %8780

8780:                                             ; preds = %8779
  br label %8781

8781:                                             ; preds = %8780
  br label %8782

8782:                                             ; preds = %8781
  %8783 = load i32, ptr @test_count, align 4, !tbaa !5
  %8784 = add nsw i32 %8783, 1
  store i32 %8784, ptr @test_count, align 4, !tbaa !5
  %8785 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %8786 = icmp eq i32 %8785, -1
  br i1 %8786, label %8787, label %8840

8787:                                             ; preds = %8782
  br label %8788

8788:                                             ; preds = %8787
  br label %8789

8789:                                             ; preds = %8788
  call void @llvm.lifetime.start.p0(i64 4, ptr %165) #11
  %8790 = call ptr @__errno_location() #12
  %8791 = load i32, ptr %8790, align 4, !tbaa !5
  store i32 %8791, ptr %165, align 4, !tbaa !5
  %8792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8793 = call i32 @s2n_print_stacktrace(ptr noundef %8792)
  %8794 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8795 = trunc i8 %8794 to i1
  br i1 %8795, label %8796, label %8818

8796:                                             ; preds = %8789
  %8797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8798 = call i32 @fileno(ptr noundef %8797) #11
  %8799 = call i32 @isatty(i32 noundef %8798) #11
  %8800 = icmp ne i32 %8799, 0
  br i1 %8800, label %8801, label %8818

8801:                                             ; preds = %8796
  %8802 = load i32, ptr %165, align 4, !tbaa !5
  %8803 = call ptr @__errno_location() #12
  store i32 %8802, ptr %8803, align 4, !tbaa !5
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = load i32, ptr @test_count, align 4, !tbaa !5
  %8806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  %8808 = call ptr @s2n_strerror(i32 noundef %8807, ptr noundef @.str.4)
  %8809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8810 = load i32, ptr %8809, align 4, !tbaa !5
  %8811 = call ptr @s2n_strerror_debug(i32 noundef %8810, ptr noundef @.str.4)
  %8812 = call ptr @__errno_location() #12
  %8813 = load i32, ptr %8812, align 4, !tbaa !5
  %8814 = call ptr @strerror(i32 noundef %8813) #11
  %8815 = call ptr @__errno_location() #12
  %8816 = load i32, ptr %8815, align 4, !tbaa !5
  %8817 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8804, ptr noundef @.str.2, i32 noundef %8805, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 231, ptr noundef %8808, ptr noundef %8811, ptr noundef %8814, i32 noundef %8816) #11
  br label %8835

8818:                                             ; preds = %8796, %8789
  %8819 = load i32, ptr %165, align 4, !tbaa !5
  %8820 = call ptr @__errno_location() #12
  store i32 %8819, ptr %8820, align 4, !tbaa !5
  %8821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8822 = load i32, ptr @test_count, align 4, !tbaa !5
  %8823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call ptr @s2n_strerror(i32 noundef %8824, ptr noundef @.str.4)
  %8826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8827 = load i32, ptr %8826, align 4, !tbaa !5
  %8828 = call ptr @s2n_strerror_debug(i32 noundef %8827, ptr noundef @.str.4)
  %8829 = call ptr @__errno_location() #12
  %8830 = load i32, ptr %8829, align 4, !tbaa !5
  %8831 = call ptr @strerror(i32 noundef %8830) #11
  %8832 = call ptr @__errno_location() #12
  %8833 = load i32, ptr %8832, align 4, !tbaa !5
  %8834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8821, ptr noundef @.str.5, i32 noundef %8822, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 231, ptr noundef %8825, ptr noundef %8828, ptr noundef %8831, i32 noundef %8833) #11
  br label %8835

8835:                                             ; preds = %8818, %8801
  call void @llvm.lifetime.end.p0(i64 4, ptr %165) #11
  br label %8836

8836:                                             ; preds = %8835
  br label %8837

8837:                                             ; preds = %8836
  call void @exit(i32 noundef 1) #13
  unreachable

8838:                                             ; No predecessors!
  br label %8839

8839:                                             ; preds = %8838
  br label %8840

8840:                                             ; preds = %8839, %8782
  br label %8841

8841:                                             ; preds = %8840
  br label %8842

8842:                                             ; preds = %8841
  call void @llvm.lifetime.start.p0(i64 4, ptr %166) #11
  store i32 0, ptr %166, align 4, !tbaa !5
  br label %8843

8843:                                             ; preds = %8916, %8842
  %8844 = load i32, ptr %166, align 4, !tbaa !5
  %8845 = icmp slt i32 %8844, 28
  br i1 %8845, label %8847, label %8846

8846:                                             ; preds = %8843
  store i32 893, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %166) #11
  br label %8919

8847:                                             ; preds = %8843
  br label %8848

8848:                                             ; preds = %8847
  %8849 = load i32, ptr @test_count, align 4, !tbaa !5
  %8850 = add nsw i32 %8849, 1
  store i32 %8850, ptr @test_count, align 4, !tbaa !5
  %8851 = load i32, ptr %166, align 4, !tbaa !5
  %8852 = sext i32 %8851 to i64
  %8853 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %8852
  %8854 = load i8, ptr %8853, align 1, !tbaa !17
  %8855 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %8854)
  %8856 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  store i32 %8855, ptr %8856, align 4
  %8857 = getelementptr inbounds %struct.s2n_result, ptr %167, i32 0, i32 0
  %8858 = load i32, ptr %8857, align 4
  %8859 = call zeroext i1 @s2n_result_is_ok(i32 %8858)
  br i1 %8859, label %8913, label %8860

8860:                                             ; preds = %8848
  br label %8861

8861:                                             ; preds = %8860
  br label %8862

8862:                                             ; preds = %8861
  call void @llvm.lifetime.start.p0(i64 4, ptr %168) #11
  %8863 = call ptr @__errno_location() #12
  %8864 = load i32, ptr %8863, align 4, !tbaa !5
  store i32 %8864, ptr %168, align 4, !tbaa !5
  %8865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8866 = call i32 @s2n_print_stacktrace(ptr noundef %8865)
  %8867 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8868 = trunc i8 %8867 to i1
  br i1 %8868, label %8869, label %8891

8869:                                             ; preds = %8862
  %8870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8871 = call i32 @fileno(ptr noundef %8870) #11
  %8872 = call i32 @isatty(i32 noundef %8871) #11
  %8873 = icmp ne i32 %8872, 0
  br i1 %8873, label %8874, label %8891

8874:                                             ; preds = %8869
  %8875 = load i32, ptr %168, align 4, !tbaa !5
  %8876 = call ptr @__errno_location() #12
  store i32 %8875, ptr %8876, align 4, !tbaa !5
  %8877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8878 = load i32, ptr @test_count, align 4, !tbaa !5
  %8879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror(i32 noundef %8880, ptr noundef @.str.4)
  %8882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call ptr @s2n_strerror_debug(i32 noundef %8883, ptr noundef @.str.4)
  %8885 = call ptr @__errno_location() #12
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call ptr @strerror(i32 noundef %8886) #11
  %8888 = call ptr @__errno_location() #12
  %8889 = load i32, ptr %8888, align 4, !tbaa !5
  %8890 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8877, ptr noundef @.str.2, i32 noundef %8878, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 233, ptr noundef %8881, ptr noundef %8884, ptr noundef %8887, i32 noundef %8889) #11
  br label %8908

8891:                                             ; preds = %8869, %8862
  %8892 = load i32, ptr %168, align 4, !tbaa !5
  %8893 = call ptr @__errno_location() #12
  store i32 %8892, ptr %8893, align 4, !tbaa !5
  %8894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8895 = load i32, ptr @test_count, align 4, !tbaa !5
  %8896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8897 = load i32, ptr %8896, align 4, !tbaa !5
  %8898 = call ptr @s2n_strerror(i32 noundef %8897, ptr noundef @.str.4)
  %8899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8900 = load i32, ptr %8899, align 4, !tbaa !5
  %8901 = call ptr @s2n_strerror_debug(i32 noundef %8900, ptr noundef @.str.4)
  %8902 = call ptr @__errno_location() #12
  %8903 = load i32, ptr %8902, align 4, !tbaa !5
  %8904 = call ptr @strerror(i32 noundef %8903) #11
  %8905 = call ptr @__errno_location() #12
  %8906 = load i32, ptr %8905, align 4, !tbaa !5
  %8907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8894, ptr noundef @.str.5, i32 noundef %8895, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 233, ptr noundef %8898, ptr noundef %8901, ptr noundef %8904, i32 noundef %8906) #11
  br label %8908

8908:                                             ; preds = %8891, %8874
  call void @llvm.lifetime.end.p0(i64 4, ptr %168) #11
  br label %8909

8909:                                             ; preds = %8908
  br label %8910

8910:                                             ; preds = %8909
  call void @exit(i32 noundef 1) #13
  unreachable

8911:                                             ; No predecessors!
  br label %8912

8912:                                             ; preds = %8911
  br label %8913

8913:                                             ; preds = %8912, %8848
  br label %8914

8914:                                             ; preds = %8913
  br label %8915

8915:                                             ; preds = %8914
  br label %8916

8916:                                             ; preds = %8915
  %8917 = load i32, ptr %166, align 4, !tbaa !5
  %8918 = add nsw i32 %8917, 1
  store i32 %8918, ptr %166, align 4, !tbaa !5
  br label %8843, !llvm.loop !24

8919:                                             ; preds = %8846
  br label %8920

8920:                                             ; preds = %8919
  %8921 = load i32, ptr @test_count, align 4, !tbaa !5
  %8922 = add nsw i32 %8921, 1
  store i32 %8922, ptr @test_count, align 4, !tbaa !5
  %8923 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %8924 = call i32 @memcmp(ptr noundef %8923, ptr noundef @.str.51, i64 noundef 56) #14
  %8925 = icmp eq i32 %8924, 0
  br i1 %8925, label %8979, label %8926

8926:                                             ; preds = %8920
  br label %8927

8927:                                             ; preds = %8926
  br label %8928

8928:                                             ; preds = %8927
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8929 = call ptr @__errno_location() #12
  %8930 = load i32, ptr %8929, align 4, !tbaa !5
  store i32 %8930, ptr %169, align 4, !tbaa !5
  %8931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8932 = call i32 @s2n_print_stacktrace(ptr noundef %8931)
  %8933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %8934 = trunc i8 %8933 to i1
  br i1 %8934, label %8935, label %8957

8935:                                             ; preds = %8928
  %8936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8937 = call i32 @fileno(ptr noundef %8936) #11
  %8938 = call i32 @isatty(i32 noundef %8937) #11
  %8939 = icmp ne i32 %8938, 0
  br i1 %8939, label %8940, label %8957

8940:                                             ; preds = %8935
  %8941 = load i32, ptr %169, align 4, !tbaa !5
  %8942 = call ptr @__errno_location() #12
  store i32 %8941, ptr %8942, align 4, !tbaa !5
  %8943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8944 = load i32, ptr @test_count, align 4, !tbaa !5
  %8945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call ptr @s2n_strerror(i32 noundef %8946, ptr noundef @.str.4)
  %8948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call ptr @s2n_strerror_debug(i32 noundef %8949, ptr noundef @.str.4)
  %8951 = call ptr @__errno_location() #12
  %8952 = load i32, ptr %8951, align 4, !tbaa !5
  %8953 = call ptr @strerror(i32 noundef %8952) #11
  %8954 = call ptr @__errno_location() #12
  %8955 = load i32, ptr %8954, align 4, !tbaa !5
  %8956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8943, ptr noundef @.str.2, i32 noundef %8944, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 237, ptr noundef %8947, ptr noundef %8950, ptr noundef %8953, i32 noundef %8955) #11
  br label %8974

8957:                                             ; preds = %8935, %8928
  %8958 = load i32, ptr %169, align 4, !tbaa !5
  %8959 = call ptr @__errno_location() #12
  store i32 %8958, ptr %8959, align 4, !tbaa !5
  %8960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8961 = load i32, ptr @test_count, align 4, !tbaa !5
  %8962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8963 = load i32, ptr %8962, align 4, !tbaa !5
  %8964 = call ptr @s2n_strerror(i32 noundef %8963, ptr noundef @.str.4)
  %8965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8966 = load i32, ptr %8965, align 4, !tbaa !5
  %8967 = call ptr @s2n_strerror_debug(i32 noundef %8966, ptr noundef @.str.4)
  %8968 = call ptr @__errno_location() #12
  %8969 = load i32, ptr %8968, align 4, !tbaa !5
  %8970 = call ptr @strerror(i32 noundef %8969) #11
  %8971 = call ptr @__errno_location() #12
  %8972 = load i32, ptr %8971, align 4, !tbaa !5
  %8973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8960, ptr noundef @.str.5, i32 noundef %8961, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 237, ptr noundef %8964, ptr noundef %8967, ptr noundef %8970, i32 noundef %8972) #11
  br label %8974

8974:                                             ; preds = %8957, %8940
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8975

8975:                                             ; preds = %8974
  br label %8976

8976:                                             ; preds = %8975
  call void @exit(i32 noundef 1) #13
  unreachable

8977:                                             ; No predecessors!
  br label %8978

8978:                                             ; preds = %8977
  br label %8979

8979:                                             ; preds = %8978, %8920
  br label %8980

8980:                                             ; preds = %8979
  br label %8981

8981:                                             ; preds = %8980
  br label %8982

8982:                                             ; preds = %8981
  %8983 = call i32 @s2n_hash_new(ptr noundef %12)
  %8984 = icmp sgt i32 %8983, -1
  br i1 %8984, label %8986, label %8985

8985:                                             ; preds = %8982
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13331

8986:                                             ; preds = %8982
  br label %8987

8987:                                             ; preds = %8986
  br label %8988

8988:                                             ; preds = %8987
  br label %8989

8989:                                             ; preds = %8988
  %8990 = load i32, ptr @test_count, align 4, !tbaa !5
  %8991 = add nsw i32 %8990, 1
  store i32 %8991, ptr @test_count, align 4, !tbaa !5
  %8992 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %8993 = icmp ne i32 %8992, 0
  br i1 %8993, label %8994, label %9047

8994:                                             ; preds = %8989
  br label %8995

8995:                                             ; preds = %8994
  br label %8996

8996:                                             ; preds = %8995
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8997 = call ptr @__errno_location() #12
  %8998 = load i32, ptr %8997, align 4, !tbaa !5
  store i32 %8998, ptr %170, align 4, !tbaa !5
  %8999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9000 = call i32 @s2n_print_stacktrace(ptr noundef %8999)
  %9001 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9002 = trunc i8 %9001 to i1
  br i1 %9002, label %9003, label %9025

9003:                                             ; preds = %8996
  %9004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9005 = call i32 @fileno(ptr noundef %9004) #11
  %9006 = call i32 @isatty(i32 noundef %9005) #11
  %9007 = icmp ne i32 %9006, 0
  br i1 %9007, label %9008, label %9025

9008:                                             ; preds = %9003
  %9009 = load i32, ptr %170, align 4, !tbaa !5
  %9010 = call ptr @__errno_location() #12
  store i32 %9009, ptr %9010, align 4, !tbaa !5
  %9011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9012 = load i32, ptr @test_count, align 4, !tbaa !5
  %9013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9014 = load i32, ptr %9013, align 4, !tbaa !5
  %9015 = call ptr @s2n_strerror(i32 noundef %9014, ptr noundef @.str.4)
  %9016 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9017 = load i32, ptr %9016, align 4, !tbaa !5
  %9018 = call ptr @s2n_strerror_debug(i32 noundef %9017, ptr noundef @.str.4)
  %9019 = call ptr @__errno_location() #12
  %9020 = load i32, ptr %9019, align 4, !tbaa !5
  %9021 = call ptr @strerror(i32 noundef %9020) #11
  %9022 = call ptr @__errno_location() #12
  %9023 = load i32, ptr %9022, align 4, !tbaa !5
  %9024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9011, ptr noundef @.str.2, i32 noundef %9012, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 241, ptr noundef %9015, ptr noundef %9018, ptr noundef %9021, i32 noundef %9023) #11
  br label %9042

9025:                                             ; preds = %9003, %8996
  %9026 = load i32, ptr %170, align 4, !tbaa !5
  %9027 = call ptr @__errno_location() #12
  store i32 %9026, ptr %9027, align 4, !tbaa !5
  %9028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9029 = load i32, ptr @test_count, align 4, !tbaa !5
  %9030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9031 = load i32, ptr %9030, align 4, !tbaa !5
  %9032 = call ptr @s2n_strerror(i32 noundef %9031, ptr noundef @.str.4)
  %9033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9034 = load i32, ptr %9033, align 4, !tbaa !5
  %9035 = call ptr @s2n_strerror_debug(i32 noundef %9034, ptr noundef @.str.4)
  %9036 = call ptr @__errno_location() #12
  %9037 = load i32, ptr %9036, align 4, !tbaa !5
  %9038 = call ptr @strerror(i32 noundef %9037) #11
  %9039 = call ptr @__errno_location() #12
  %9040 = load i32, ptr %9039, align 4, !tbaa !5
  %9041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9028, ptr noundef @.str.5, i32 noundef %9029, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 241, ptr noundef %9032, ptr noundef %9035, ptr noundef %9038, i32 noundef %9040) #11
  br label %9042

9042:                                             ; preds = %9025, %9008
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %9043

9043:                                             ; preds = %9042
  br label %9044

9044:                                             ; preds = %9043
  call void @exit(i32 noundef 1) #13
  unreachable

9045:                                             ; No predecessors!
  br label %9046

9046:                                             ; preds = %9045
  br label %9047

9047:                                             ; preds = %9046, %8989
  br label %9048

9048:                                             ; preds = %9047
  br label %9049

9049:                                             ; preds = %9048
  br label %9050

9050:                                             ; preds = %9049
  br label %9051

9051:                                             ; preds = %9050
  %9052 = load i32, ptr @test_count, align 4, !tbaa !5
  %9053 = add nsw i32 %9052, 1
  store i32 %9053, ptr @test_count, align 4, !tbaa !5
  %9054 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %9055 = icmp eq i32 %9054, -1
  br i1 %9055, label %9109, label %9056

9056:                                             ; preds = %9051
  br label %9057

9057:                                             ; preds = %9056
  br label %9058

9058:                                             ; preds = %9057
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %9059 = call ptr @__errno_location() #12
  %9060 = load i32, ptr %9059, align 4, !tbaa !5
  store i32 %9060, ptr %171, align 4, !tbaa !5
  %9061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9062 = call i32 @s2n_print_stacktrace(ptr noundef %9061)
  %9063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9064 = trunc i8 %9063 to i1
  br i1 %9064, label %9065, label %9087

9065:                                             ; preds = %9058
  %9066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9067 = call i32 @fileno(ptr noundef %9066) #11
  %9068 = call i32 @isatty(i32 noundef %9067) #11
  %9069 = icmp ne i32 %9068, 0
  br i1 %9069, label %9070, label %9087

9070:                                             ; preds = %9065
  %9071 = load i32, ptr %171, align 4, !tbaa !5
  %9072 = call ptr @__errno_location() #12
  store i32 %9071, ptr %9072, align 4, !tbaa !5
  %9073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9074 = load i32, ptr @test_count, align 4, !tbaa !5
  %9075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9076 = load i32, ptr %9075, align 4, !tbaa !5
  %9077 = call ptr @s2n_strerror(i32 noundef %9076, ptr noundef @.str.4)
  %9078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9079 = load i32, ptr %9078, align 4, !tbaa !5
  %9080 = call ptr @s2n_strerror_debug(i32 noundef %9079, ptr noundef @.str.4)
  %9081 = call ptr @__errno_location() #12
  %9082 = load i32, ptr %9081, align 4, !tbaa !5
  %9083 = call ptr @strerror(i32 noundef %9082) #11
  %9084 = call ptr @__errno_location() #12
  %9085 = load i32, ptr %9084, align 4, !tbaa !5
  %9086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9073, ptr noundef @.str.2, i32 noundef %9074, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9077, ptr noundef %9080, ptr noundef %9083, i32 noundef %9085) #11
  br label %9104

9087:                                             ; preds = %9065, %9058
  %9088 = load i32, ptr %171, align 4, !tbaa !5
  %9089 = call ptr @__errno_location() #12
  store i32 %9088, ptr %9089, align 4, !tbaa !5
  %9090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9091 = load i32, ptr @test_count, align 4, !tbaa !5
  %9092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9093 = load i32, ptr %9092, align 4, !tbaa !5
  %9094 = call ptr @s2n_strerror(i32 noundef %9093, ptr noundef @.str.4)
  %9095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9096 = load i32, ptr %9095, align 4, !tbaa !5
  %9097 = call ptr @s2n_strerror_debug(i32 noundef %9096, ptr noundef @.str.4)
  %9098 = call ptr @__errno_location() #12
  %9099 = load i32, ptr %9098, align 4, !tbaa !5
  %9100 = call ptr @strerror(i32 noundef %9099) #11
  %9101 = call ptr @__errno_location() #12
  %9102 = load i32, ptr %9101, align 4, !tbaa !5
  %9103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9090, ptr noundef @.str.5, i32 noundef %9091, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9094, ptr noundef %9097, ptr noundef %9100, i32 noundef %9102) #11
  br label %9104

9104:                                             ; preds = %9087, %9070
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %9105

9105:                                             ; preds = %9104
  br label %9106

9106:                                             ; preds = %9105
  call void @exit(i32 noundef 1) #13
  unreachable

9107:                                             ; No predecessors!
  br label %9108

9108:                                             ; preds = %9107
  br label %9109

9109:                                             ; preds = %9108, %9051
  br label %9110

9110:                                             ; preds = %9109
  br label %9111

9111:                                             ; preds = %9110
  br label %9112

9112:                                             ; preds = %9111
  %9113 = load i32, ptr @test_count, align 4, !tbaa !5
  %9114 = add nsw i32 %9113, 1
  store i32 %9114, ptr @test_count, align 4, !tbaa !5
  %9115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  %9117 = icmp eq i32 %9116, 0
  br i1 %9117, label %9118, label %9171

9118:                                             ; preds = %9112
  br label %9119

9119:                                             ; preds = %9118
  br label %9120

9120:                                             ; preds = %9119
  call void @llvm.lifetime.start.p0(i64 4, ptr %172) #11
  %9121 = call ptr @__errno_location() #12
  %9122 = load i32, ptr %9121, align 4, !tbaa !5
  store i32 %9122, ptr %172, align 4, !tbaa !5
  %9123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9124 = call i32 @s2n_print_stacktrace(ptr noundef %9123)
  %9125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9126 = trunc i8 %9125 to i1
  br i1 %9126, label %9127, label %9149

9127:                                             ; preds = %9120
  %9128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9129 = call i32 @fileno(ptr noundef %9128) #11
  %9130 = call i32 @isatty(i32 noundef %9129) #11
  %9131 = icmp ne i32 %9130, 0
  br i1 %9131, label %9132, label %9149

9132:                                             ; preds = %9127
  %9133 = load i32, ptr %172, align 4, !tbaa !5
  %9134 = call ptr @__errno_location() #12
  store i32 %9133, ptr %9134, align 4, !tbaa !5
  %9135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9136 = load i32, ptr @test_count, align 4, !tbaa !5
  %9137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9138 = load i32, ptr %9137, align 4, !tbaa !5
  %9139 = call ptr @s2n_strerror(i32 noundef %9138, ptr noundef @.str.4)
  %9140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9141 = load i32, ptr %9140, align 4, !tbaa !5
  %9142 = call ptr @s2n_strerror_debug(i32 noundef %9141, ptr noundef @.str.4)
  %9143 = call ptr @__errno_location() #12
  %9144 = load i32, ptr %9143, align 4, !tbaa !5
  %9145 = call ptr @strerror(i32 noundef %9144) #11
  %9146 = call ptr @__errno_location() #12
  %9147 = load i32, ptr %9146, align 4, !tbaa !5
  %9148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9135, ptr noundef @.str.2, i32 noundef %9136, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9139, ptr noundef %9142, ptr noundef %9145, i32 noundef %9147) #11
  br label %9166

9149:                                             ; preds = %9127, %9120
  %9150 = load i32, ptr %172, align 4, !tbaa !5
  %9151 = call ptr @__errno_location() #12
  store i32 %9150, ptr %9151, align 4, !tbaa !5
  %9152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9153 = load i32, ptr @test_count, align 4, !tbaa !5
  %9154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9155 = load i32, ptr %9154, align 4, !tbaa !5
  %9156 = call ptr @s2n_strerror(i32 noundef %9155, ptr noundef @.str.4)
  %9157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9158 = load i32, ptr %9157, align 4, !tbaa !5
  %9159 = call ptr @s2n_strerror_debug(i32 noundef %9158, ptr noundef @.str.4)
  %9160 = call ptr @__errno_location() #12
  %9161 = load i32, ptr %9160, align 4, !tbaa !5
  %9162 = call ptr @strerror(i32 noundef %9161) #11
  %9163 = call ptr @__errno_location() #12
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  %9165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9152, ptr noundef @.str.5, i32 noundef %9153, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9156, ptr noundef %9159, ptr noundef %9162, i32 noundef %9164) #11
  br label %9166

9166:                                             ; preds = %9149, %9132
  call void @llvm.lifetime.end.p0(i64 4, ptr %172) #11
  br label %9167

9167:                                             ; preds = %9166
  br label %9168

9168:                                             ; preds = %9167
  call void @exit(i32 noundef 1) #13
  unreachable

9169:                                             ; No predecessors!
  br label %9170

9170:                                             ; preds = %9169
  br label %9171

9171:                                             ; preds = %9170, %9112
  br label %9172

9172:                                             ; preds = %9171
  br label %9173

9173:                                             ; preds = %9172
  br label %9174

9174:                                             ; preds = %9173
  %9175 = load i32, ptr @test_count, align 4, !tbaa !5
  %9176 = add nsw i32 %9175, 1
  store i32 %9176, ptr @test_count, align 4, !tbaa !5
  %9177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9178 = load i32, ptr %9177, align 4, !tbaa !5
  %9179 = call ptr @s2n_strerror_debug(i32 noundef %9178, ptr noundef @.str.4)
  %9180 = icmp eq ptr %9179, null
  br i1 %9180, label %9181, label %9234

9181:                                             ; preds = %9174
  br label %9182

9182:                                             ; preds = %9181
  br label %9183

9183:                                             ; preds = %9182
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  %9184 = call ptr @__errno_location() #12
  %9185 = load i32, ptr %9184, align 4, !tbaa !5
  store i32 %9185, ptr %173, align 4, !tbaa !5
  %9186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9187 = call i32 @s2n_print_stacktrace(ptr noundef %9186)
  %9188 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9189 = trunc i8 %9188 to i1
  br i1 %9189, label %9190, label %9212

9190:                                             ; preds = %9183
  %9191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9192 = call i32 @fileno(ptr noundef %9191) #11
  %9193 = call i32 @isatty(i32 noundef %9192) #11
  %9194 = icmp ne i32 %9193, 0
  br i1 %9194, label %9195, label %9212

9195:                                             ; preds = %9190
  %9196 = load i32, ptr %173, align 4, !tbaa !5
  %9197 = call ptr @__errno_location() #12
  store i32 %9196, ptr %9197, align 4, !tbaa !5
  %9198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9199 = load i32, ptr @test_count, align 4, !tbaa !5
  %9200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9201 = load i32, ptr %9200, align 4, !tbaa !5
  %9202 = call ptr @s2n_strerror(i32 noundef %9201, ptr noundef @.str.4)
  %9203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9204 = load i32, ptr %9203, align 4, !tbaa !5
  %9205 = call ptr @s2n_strerror_debug(i32 noundef %9204, ptr noundef @.str.4)
  %9206 = call ptr @__errno_location() #12
  %9207 = load i32, ptr %9206, align 4, !tbaa !5
  %9208 = call ptr @strerror(i32 noundef %9207) #11
  %9209 = call ptr @__errno_location() #12
  %9210 = load i32, ptr %9209, align 4, !tbaa !5
  %9211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9198, ptr noundef @.str.2, i32 noundef %9199, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9202, ptr noundef %9205, ptr noundef %9208, i32 noundef %9210) #11
  br label %9229

9212:                                             ; preds = %9190, %9183
  %9213 = load i32, ptr %173, align 4, !tbaa !5
  %9214 = call ptr @__errno_location() #12
  store i32 %9213, ptr %9214, align 4, !tbaa !5
  %9215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9216 = load i32, ptr @test_count, align 4, !tbaa !5
  %9217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9218 = load i32, ptr %9217, align 4, !tbaa !5
  %9219 = call ptr @s2n_strerror(i32 noundef %9218, ptr noundef @.str.4)
  %9220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9221 = load i32, ptr %9220, align 4, !tbaa !5
  %9222 = call ptr @s2n_strerror_debug(i32 noundef %9221, ptr noundef @.str.4)
  %9223 = call ptr @__errno_location() #12
  %9224 = load i32, ptr %9223, align 4, !tbaa !5
  %9225 = call ptr @strerror(i32 noundef %9224) #11
  %9226 = call ptr @__errno_location() #12
  %9227 = load i32, ptr %9226, align 4, !tbaa !5
  %9228 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9215, ptr noundef @.str.5, i32 noundef %9216, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 242, ptr noundef %9219, ptr noundef %9222, ptr noundef %9225, i32 noundef %9227) #11
  br label %9229

9229:                                             ; preds = %9212, %9195
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  br label %9230

9230:                                             ; preds = %9229
  br label %9231

9231:                                             ; preds = %9230
  call void @exit(i32 noundef 1) #13
  unreachable

9232:                                             ; No predecessors!
  br label %9233

9233:                                             ; preds = %9232
  br label %9234

9234:                                             ; preds = %9233, %9174
  br label %9235

9235:                                             ; preds = %9234
  br label %9236

9236:                                             ; preds = %9235
  br label %9237

9237:                                             ; preds = %9236
  %9238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9238, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9239 = call ptr @__errno_location() #12
  store i32 0, ptr %9239, align 4, !tbaa !5
  br label %9240

9240:                                             ; preds = %9237
  br label %9241

9241:                                             ; preds = %9240
  br label %9242

9242:                                             ; preds = %9241
  br label %9243

9243:                                             ; preds = %9242
  call void @llvm.lifetime.start.p0(i64 1, ptr %174) #11
  store i8 0, ptr %174, align 1, !tbaa !17
  br label %9244

9244:                                             ; preds = %9243
  %9245 = call i32 @s2n_hash_digest_size(i32 noundef 4, ptr noundef %174)
  %9246 = icmp sgt i32 %9245, -1
  br i1 %9246, label %9248, label %9247

9247:                                             ; preds = %9244
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13330

9248:                                             ; preds = %9244
  br label %9249

9249:                                             ; preds = %9248
  br label %9250

9250:                                             ; preds = %9249
  br label %9251

9251:                                             ; preds = %9250
  %9252 = load i32, ptr @test_count, align 4, !tbaa !5
  %9253 = add nsw i32 %9252, 1
  store i32 %9253, ptr @test_count, align 4, !tbaa !5
  %9254 = load i8, ptr %174, align 1, !tbaa !17
  %9255 = zext i8 %9254 to i32
  %9256 = icmp eq i32 %9255, 32
  br i1 %9256, label %9310, label %9257

9257:                                             ; preds = %9251
  br label %9258

9258:                                             ; preds = %9257
  br label %9259

9259:                                             ; preds = %9258
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  %9260 = call ptr @__errno_location() #12
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  store i32 %9261, ptr %175, align 4, !tbaa !5
  %9262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9263 = call i32 @s2n_print_stacktrace(ptr noundef %9262)
  %9264 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9265 = trunc i8 %9264 to i1
  br i1 %9265, label %9266, label %9288

9266:                                             ; preds = %9259
  %9267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9268 = call i32 @fileno(ptr noundef %9267) #11
  %9269 = call i32 @isatty(i32 noundef %9268) #11
  %9270 = icmp ne i32 %9269, 0
  br i1 %9270, label %9271, label %9288

9271:                                             ; preds = %9266
  %9272 = load i32, ptr %175, align 4, !tbaa !5
  %9273 = call ptr @__errno_location() #12
  store i32 %9272, ptr %9273, align 4, !tbaa !5
  %9274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9275 = load i32, ptr @test_count, align 4, !tbaa !5
  %9276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9277 = load i32, ptr %9276, align 4, !tbaa !5
  %9278 = call ptr @s2n_strerror(i32 noundef %9277, ptr noundef @.str.4)
  %9279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9280 = load i32, ptr %9279, align 4, !tbaa !5
  %9281 = call ptr @s2n_strerror_debug(i32 noundef %9280, ptr noundef @.str.4)
  %9282 = call ptr @__errno_location() #12
  %9283 = load i32, ptr %9282, align 4, !tbaa !5
  %9284 = call ptr @strerror(i32 noundef %9283) #11
  %9285 = call ptr @__errno_location() #12
  %9286 = load i32, ptr %9285, align 4, !tbaa !5
  %9287 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9274, ptr noundef @.str.2, i32 noundef %9275, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 246, ptr noundef %9278, ptr noundef %9281, ptr noundef %9284, i32 noundef %9286) #11
  br label %9305

9288:                                             ; preds = %9266, %9259
  %9289 = load i32, ptr %175, align 4, !tbaa !5
  %9290 = call ptr @__errno_location() #12
  store i32 %9289, ptr %9290, align 4, !tbaa !5
  %9291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9292 = load i32, ptr @test_count, align 4, !tbaa !5
  %9293 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9294 = load i32, ptr %9293, align 4, !tbaa !5
  %9295 = call ptr @s2n_strerror(i32 noundef %9294, ptr noundef @.str.4)
  %9296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9297 = load i32, ptr %9296, align 4, !tbaa !5
  %9298 = call ptr @s2n_strerror_debug(i32 noundef %9297, ptr noundef @.str.4)
  %9299 = call ptr @__errno_location() #12
  %9300 = load i32, ptr %9299, align 4, !tbaa !5
  %9301 = call ptr @strerror(i32 noundef %9300) #11
  %9302 = call ptr @__errno_location() #12
  %9303 = load i32, ptr %9302, align 4, !tbaa !5
  %9304 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9291, ptr noundef @.str.5, i32 noundef %9292, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 246, ptr noundef %9295, ptr noundef %9298, ptr noundef %9301, i32 noundef %9303) #11
  br label %9305

9305:                                             ; preds = %9288, %9271
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  br label %9306

9306:                                             ; preds = %9305
  br label %9307

9307:                                             ; preds = %9306
  call void @exit(i32 noundef 1) #13
  unreachable

9308:                                             ; No predecessors!
  br label %9309

9309:                                             ; preds = %9308
  br label %9310

9310:                                             ; preds = %9309, %9251
  br label %9311

9311:                                             ; preds = %9310
  br label %9312

9312:                                             ; preds = %9311
  br label %9313

9313:                                             ; preds = %9312
  %9314 = load i32, ptr @test_count, align 4, !tbaa !5
  %9315 = add nsw i32 %9314, 1
  store i32 %9315, ptr @test_count, align 4, !tbaa !5
  %9316 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 4)
  %9317 = icmp eq i32 %9316, -1
  br i1 %9317, label %9318, label %9371

9318:                                             ; preds = %9313
  br label %9319

9319:                                             ; preds = %9318
  br label %9320

9320:                                             ; preds = %9319
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %9321 = call ptr @__errno_location() #12
  %9322 = load i32, ptr %9321, align 4, !tbaa !5
  store i32 %9322, ptr %176, align 4, !tbaa !5
  %9323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9324 = call i32 @s2n_print_stacktrace(ptr noundef %9323)
  %9325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9326 = trunc i8 %9325 to i1
  br i1 %9326, label %9327, label %9349

9327:                                             ; preds = %9320
  %9328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9329 = call i32 @fileno(ptr noundef %9328) #11
  %9330 = call i32 @isatty(i32 noundef %9329) #11
  %9331 = icmp ne i32 %9330, 0
  br i1 %9331, label %9332, label %9349

9332:                                             ; preds = %9327
  %9333 = load i32, ptr %176, align 4, !tbaa !5
  %9334 = call ptr @__errno_location() #12
  store i32 %9333, ptr %9334, align 4, !tbaa !5
  %9335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9336 = load i32, ptr @test_count, align 4, !tbaa !5
  %9337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9338 = load i32, ptr %9337, align 4, !tbaa !5
  %9339 = call ptr @s2n_strerror(i32 noundef %9338, ptr noundef @.str.4)
  %9340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9341 = load i32, ptr %9340, align 4, !tbaa !5
  %9342 = call ptr @s2n_strerror_debug(i32 noundef %9341, ptr noundef @.str.4)
  %9343 = call ptr @__errno_location() #12
  %9344 = load i32, ptr %9343, align 4, !tbaa !5
  %9345 = call ptr @strerror(i32 noundef %9344) #11
  %9346 = call ptr @__errno_location() #12
  %9347 = load i32, ptr %9346, align 4, !tbaa !5
  %9348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9335, ptr noundef @.str.2, i32 noundef %9336, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 247, ptr noundef %9339, ptr noundef %9342, ptr noundef %9345, i32 noundef %9347) #11
  br label %9366

9349:                                             ; preds = %9327, %9320
  %9350 = load i32, ptr %176, align 4, !tbaa !5
  %9351 = call ptr @__errno_location() #12
  store i32 %9350, ptr %9351, align 4, !tbaa !5
  %9352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9353 = load i32, ptr @test_count, align 4, !tbaa !5
  %9354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9355 = load i32, ptr %9354, align 4, !tbaa !5
  %9356 = call ptr @s2n_strerror(i32 noundef %9355, ptr noundef @.str.4)
  %9357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9358 = load i32, ptr %9357, align 4, !tbaa !5
  %9359 = call ptr @s2n_strerror_debug(i32 noundef %9358, ptr noundef @.str.4)
  %9360 = call ptr @__errno_location() #12
  %9361 = load i32, ptr %9360, align 4, !tbaa !5
  %9362 = call ptr @strerror(i32 noundef %9361) #11
  %9363 = call ptr @__errno_location() #12
  %9364 = load i32, ptr %9363, align 4, !tbaa !5
  %9365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9352, ptr noundef @.str.5, i32 noundef %9353, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 247, ptr noundef %9356, ptr noundef %9359, ptr noundef %9362, i32 noundef %9364) #11
  br label %9366

9366:                                             ; preds = %9349, %9332
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %9367

9367:                                             ; preds = %9366
  br label %9368

9368:                                             ; preds = %9367
  call void @exit(i32 noundef 1) #13
  unreachable

9369:                                             ; No predecessors!
  br label %9370

9370:                                             ; preds = %9369
  br label %9371

9371:                                             ; preds = %9370, %9313
  br label %9372

9372:                                             ; preds = %9371
  br label %9373

9373:                                             ; preds = %9372
  br label %9374

9374:                                             ; preds = %9373
  %9375 = load i32, ptr @test_count, align 4, !tbaa !5
  %9376 = add nsw i32 %9375, 1
  store i32 %9376, ptr @test_count, align 4, !tbaa !5
  %9377 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %9378 = icmp ne i32 %9377, 0
  br i1 %9378, label %9432, label %9379

9379:                                             ; preds = %9374
  br label %9380

9380:                                             ; preds = %9379
  br label %9381

9381:                                             ; preds = %9380
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %9382 = call ptr @__errno_location() #12
  %9383 = load i32, ptr %9382, align 4, !tbaa !5
  store i32 %9383, ptr %177, align 4, !tbaa !5
  %9384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9385 = call i32 @s2n_print_stacktrace(ptr noundef %9384)
  %9386 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9387 = trunc i8 %9386 to i1
  br i1 %9387, label %9388, label %9410

9388:                                             ; preds = %9381
  %9389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9390 = call i32 @fileno(ptr noundef %9389) #11
  %9391 = call i32 @isatty(i32 noundef %9390) #11
  %9392 = icmp ne i32 %9391, 0
  br i1 %9392, label %9393, label %9410

9393:                                             ; preds = %9388
  %9394 = load i32, ptr %177, align 4, !tbaa !5
  %9395 = call ptr @__errno_location() #12
  store i32 %9394, ptr %9395, align 4, !tbaa !5
  %9396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9397 = load i32, ptr @test_count, align 4, !tbaa !5
  %9398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9399 = load i32, ptr %9398, align 4, !tbaa !5
  %9400 = call ptr @s2n_strerror(i32 noundef %9399, ptr noundef @.str.4)
  %9401 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9402 = load i32, ptr %9401, align 4, !tbaa !5
  %9403 = call ptr @s2n_strerror_debug(i32 noundef %9402, ptr noundef @.str.4)
  %9404 = call ptr @__errno_location() #12
  %9405 = load i32, ptr %9404, align 4, !tbaa !5
  %9406 = call ptr @strerror(i32 noundef %9405) #11
  %9407 = call ptr @__errno_location() #12
  %9408 = load i32, ptr %9407, align 4, !tbaa !5
  %9409 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9396, ptr noundef @.str.2, i32 noundef %9397, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 248, ptr noundef %9400, ptr noundef %9403, ptr noundef %9406, i32 noundef %9408) #11
  br label %9427

9410:                                             ; preds = %9388, %9381
  %9411 = load i32, ptr %177, align 4, !tbaa !5
  %9412 = call ptr @__errno_location() #12
  store i32 %9411, ptr %9412, align 4, !tbaa !5
  %9413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9414 = load i32, ptr @test_count, align 4, !tbaa !5
  %9415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9416 = load i32, ptr %9415, align 4, !tbaa !5
  %9417 = call ptr @s2n_strerror(i32 noundef %9416, ptr noundef @.str.4)
  %9418 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9419 = load i32, ptr %9418, align 4, !tbaa !5
  %9420 = call ptr @s2n_strerror_debug(i32 noundef %9419, ptr noundef @.str.4)
  %9421 = call ptr @__errno_location() #12
  %9422 = load i32, ptr %9421, align 4, !tbaa !5
  %9423 = call ptr @strerror(i32 noundef %9422) #11
  %9424 = call ptr @__errno_location() #12
  %9425 = load i32, ptr %9424, align 4, !tbaa !5
  %9426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9413, ptr noundef @.str.5, i32 noundef %9414, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 248, ptr noundef %9417, ptr noundef %9420, ptr noundef %9423, i32 noundef %9425) #11
  br label %9427

9427:                                             ; preds = %9410, %9393
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %9428

9428:                                             ; preds = %9427
  br label %9429

9429:                                             ; preds = %9428
  call void @exit(i32 noundef 1) #13
  unreachable

9430:                                             ; No predecessors!
  br label %9431

9431:                                             ; preds = %9430
  br label %9432

9432:                                             ; preds = %9431, %9374
  br label %9433

9433:                                             ; preds = %9432
  br label %9434

9434:                                             ; preds = %9433
  br label %9435

9435:                                             ; preds = %9434
  %9436 = load i32, ptr @test_count, align 4, !tbaa !5
  %9437 = add nsw i32 %9436, 1
  store i32 %9437, ptr @test_count, align 4, !tbaa !5
  %9438 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %9439 = icmp eq i32 %9438, -1
  br i1 %9439, label %9440, label %9493

9440:                                             ; preds = %9435
  br label %9441

9441:                                             ; preds = %9440
  br label %9442

9442:                                             ; preds = %9441
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %9443 = call ptr @__errno_location() #12
  %9444 = load i32, ptr %9443, align 4, !tbaa !5
  store i32 %9444, ptr %178, align 4, !tbaa !5
  %9445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9446 = call i32 @s2n_print_stacktrace(ptr noundef %9445)
  %9447 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9448 = trunc i8 %9447 to i1
  br i1 %9448, label %9449, label %9471

9449:                                             ; preds = %9442
  %9450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9451 = call i32 @fileno(ptr noundef %9450) #11
  %9452 = call i32 @isatty(i32 noundef %9451) #11
  %9453 = icmp ne i32 %9452, 0
  br i1 %9453, label %9454, label %9471

9454:                                             ; preds = %9449
  %9455 = load i32, ptr %178, align 4, !tbaa !5
  %9456 = call ptr @__errno_location() #12
  store i32 %9455, ptr %9456, align 4, !tbaa !5
  %9457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9458 = load i32, ptr @test_count, align 4, !tbaa !5
  %9459 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9460 = load i32, ptr %9459, align 4, !tbaa !5
  %9461 = call ptr @s2n_strerror(i32 noundef %9460, ptr noundef @.str.4)
  %9462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9463 = load i32, ptr %9462, align 4, !tbaa !5
  %9464 = call ptr @s2n_strerror_debug(i32 noundef %9463, ptr noundef @.str.4)
  %9465 = call ptr @__errno_location() #12
  %9466 = load i32, ptr %9465, align 4, !tbaa !5
  %9467 = call ptr @strerror(i32 noundef %9466) #11
  %9468 = call ptr @__errno_location() #12
  %9469 = load i32, ptr %9468, align 4, !tbaa !5
  %9470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9457, ptr noundef @.str.2, i32 noundef %9458, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 249, ptr noundef %9461, ptr noundef %9464, ptr noundef %9467, i32 noundef %9469) #11
  br label %9488

9471:                                             ; preds = %9449, %9442
  %9472 = load i32, ptr %178, align 4, !tbaa !5
  %9473 = call ptr @__errno_location() #12
  store i32 %9472, ptr %9473, align 4, !tbaa !5
  %9474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9475 = load i32, ptr @test_count, align 4, !tbaa !5
  %9476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9477 = load i32, ptr %9476, align 4, !tbaa !5
  %9478 = call ptr @s2n_strerror(i32 noundef %9477, ptr noundef @.str.4)
  %9479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9480 = load i32, ptr %9479, align 4, !tbaa !5
  %9481 = call ptr @s2n_strerror_debug(i32 noundef %9480, ptr noundef @.str.4)
  %9482 = call ptr @__errno_location() #12
  %9483 = load i32, ptr %9482, align 4, !tbaa !5
  %9484 = call ptr @strerror(i32 noundef %9483) #11
  %9485 = call ptr @__errno_location() #12
  %9486 = load i32, ptr %9485, align 4, !tbaa !5
  %9487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9474, ptr noundef @.str.5, i32 noundef %9475, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 249, ptr noundef %9478, ptr noundef %9481, ptr noundef %9484, i32 noundef %9486) #11
  br label %9488

9488:                                             ; preds = %9471, %9454
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %9489

9489:                                             ; preds = %9488
  br label %9490

9490:                                             ; preds = %9489
  call void @exit(i32 noundef 1) #13
  unreachable

9491:                                             ; No predecessors!
  br label %9492

9492:                                             ; preds = %9491
  br label %9493

9493:                                             ; preds = %9492, %9435
  br label %9494

9494:                                             ; preds = %9493
  br label %9495

9495:                                             ; preds = %9494
  br label %9496

9496:                                             ; preds = %9495
  %9497 = load i32, ptr @test_count, align 4, !tbaa !5
  %9498 = add nsw i32 %9497, 1
  store i32 %9498, ptr @test_count, align 4, !tbaa !5
  %9499 = load i64, ptr %16, align 8, !tbaa !11
  %9500 = icmp eq i64 %9499, 0
  br i1 %9500, label %9554, label %9501

9501:                                             ; preds = %9496
  br label %9502

9502:                                             ; preds = %9501
  br label %9503

9503:                                             ; preds = %9502
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %9504 = call ptr @__errno_location() #12
  %9505 = load i32, ptr %9504, align 4, !tbaa !5
  store i32 %9505, ptr %179, align 4, !tbaa !5
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = call i32 @s2n_print_stacktrace(ptr noundef %9506)
  %9508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9509 = trunc i8 %9508 to i1
  br i1 %9509, label %9510, label %9532

9510:                                             ; preds = %9503
  %9511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9512 = call i32 @fileno(ptr noundef %9511) #11
  %9513 = call i32 @isatty(i32 noundef %9512) #11
  %9514 = icmp ne i32 %9513, 0
  br i1 %9514, label %9515, label %9532

9515:                                             ; preds = %9510
  %9516 = load i32, ptr %179, align 4, !tbaa !5
  %9517 = call ptr @__errno_location() #12
  store i32 %9516, ptr %9517, align 4, !tbaa !5
  %9518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9519 = load i32, ptr @test_count, align 4, !tbaa !5
  %9520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9521 = load i32, ptr %9520, align 4, !tbaa !5
  %9522 = call ptr @s2n_strerror(i32 noundef %9521, ptr noundef @.str.4)
  %9523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9524 = load i32, ptr %9523, align 4, !tbaa !5
  %9525 = call ptr @s2n_strerror_debug(i32 noundef %9524, ptr noundef @.str.4)
  %9526 = call ptr @__errno_location() #12
  %9527 = load i32, ptr %9526, align 4, !tbaa !5
  %9528 = call ptr @strerror(i32 noundef %9527) #11
  %9529 = call ptr @__errno_location() #12
  %9530 = load i32, ptr %9529, align 4, !tbaa !5
  %9531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9518, ptr noundef @.str.2, i32 noundef %9519, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 250, ptr noundef %9522, ptr noundef %9525, ptr noundef %9528, i32 noundef %9530) #11
  br label %9549

9532:                                             ; preds = %9510, %9503
  %9533 = load i32, ptr %179, align 4, !tbaa !5
  %9534 = call ptr @__errno_location() #12
  store i32 %9533, ptr %9534, align 4, !tbaa !5
  %9535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9536 = load i32, ptr @test_count, align 4, !tbaa !5
  %9537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9538 = load i32, ptr %9537, align 4, !tbaa !5
  %9539 = call ptr @s2n_strerror(i32 noundef %9538, ptr noundef @.str.4)
  %9540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  %9542 = call ptr @s2n_strerror_debug(i32 noundef %9541, ptr noundef @.str.4)
  %9543 = call ptr @__errno_location() #12
  %9544 = load i32, ptr %9543, align 4, !tbaa !5
  %9545 = call ptr @strerror(i32 noundef %9544) #11
  %9546 = call ptr @__errno_location() #12
  %9547 = load i32, ptr %9546, align 4, !tbaa !5
  %9548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9535, ptr noundef @.str.5, i32 noundef %9536, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 250, ptr noundef %9539, ptr noundef %9542, ptr noundef %9545, i32 noundef %9547) #11
  br label %9549

9549:                                             ; preds = %9532, %9515
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %9550

9550:                                             ; preds = %9549
  br label %9551

9551:                                             ; preds = %9550
  call void @exit(i32 noundef 1) #13
  unreachable

9552:                                             ; No predecessors!
  br label %9553

9553:                                             ; preds = %9552
  br label %9554

9554:                                             ; preds = %9553, %9496
  br label %9555

9555:                                             ; preds = %9554
  br label %9556

9556:                                             ; preds = %9555
  br label %9557

9557:                                             ; preds = %9556
  %9558 = load i32, ptr @test_count, align 4, !tbaa !5
  %9559 = add nsw i32 %9558, 1
  store i32 %9559, ptr @test_count, align 4, !tbaa !5
  %9560 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %9561 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %9562 = call i64 @strlen(ptr noundef %9561) #14
  %9563 = trunc i64 %9562 to i32
  %9564 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %9560, i32 noundef %9563)
  %9565 = icmp eq i32 %9564, -1
  br i1 %9565, label %9566, label %9619

9566:                                             ; preds = %9557
  br label %9567

9567:                                             ; preds = %9566
  br label %9568

9568:                                             ; preds = %9567
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %9569 = call ptr @__errno_location() #12
  %9570 = load i32, ptr %9569, align 4, !tbaa !5
  store i32 %9570, ptr %180, align 4, !tbaa !5
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = call i32 @s2n_print_stacktrace(ptr noundef %9571)
  %9573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9574 = trunc i8 %9573 to i1
  br i1 %9574, label %9575, label %9597

9575:                                             ; preds = %9568
  %9576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9577 = call i32 @fileno(ptr noundef %9576) #11
  %9578 = call i32 @isatty(i32 noundef %9577) #11
  %9579 = icmp ne i32 %9578, 0
  br i1 %9579, label %9580, label %9597

9580:                                             ; preds = %9575
  %9581 = load i32, ptr %180, align 4, !tbaa !5
  %9582 = call ptr @__errno_location() #12
  store i32 %9581, ptr %9582, align 4, !tbaa !5
  %9583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9584 = load i32, ptr @test_count, align 4, !tbaa !5
  %9585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9586 = load i32, ptr %9585, align 4, !tbaa !5
  %9587 = call ptr @s2n_strerror(i32 noundef %9586, ptr noundef @.str.4)
  %9588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9589 = load i32, ptr %9588, align 4, !tbaa !5
  %9590 = call ptr @s2n_strerror_debug(i32 noundef %9589, ptr noundef @.str.4)
  %9591 = call ptr @__errno_location() #12
  %9592 = load i32, ptr %9591, align 4, !tbaa !5
  %9593 = call ptr @strerror(i32 noundef %9592) #11
  %9594 = call ptr @__errno_location() #12
  %9595 = load i32, ptr %9594, align 4, !tbaa !5
  %9596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9583, ptr noundef @.str.2, i32 noundef %9584, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 252, ptr noundef %9587, ptr noundef %9590, ptr noundef %9593, i32 noundef %9595) #11
  br label %9614

9597:                                             ; preds = %9575, %9568
  %9598 = load i32, ptr %180, align 4, !tbaa !5
  %9599 = call ptr @__errno_location() #12
  store i32 %9598, ptr %9599, align 4, !tbaa !5
  %9600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9601 = load i32, ptr @test_count, align 4, !tbaa !5
  %9602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9603 = load i32, ptr %9602, align 4, !tbaa !5
  %9604 = call ptr @s2n_strerror(i32 noundef %9603, ptr noundef @.str.4)
  %9605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9606 = load i32, ptr %9605, align 4, !tbaa !5
  %9607 = call ptr @s2n_strerror_debug(i32 noundef %9606, ptr noundef @.str.4)
  %9608 = call ptr @__errno_location() #12
  %9609 = load i32, ptr %9608, align 4, !tbaa !5
  %9610 = call ptr @strerror(i32 noundef %9609) #11
  %9611 = call ptr @__errno_location() #12
  %9612 = load i32, ptr %9611, align 4, !tbaa !5
  %9613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9600, ptr noundef @.str.5, i32 noundef %9601, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 252, ptr noundef %9604, ptr noundef %9607, ptr noundef %9610, i32 noundef %9612) #11
  br label %9614

9614:                                             ; preds = %9597, %9580
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %9615

9615:                                             ; preds = %9614
  br label %9616

9616:                                             ; preds = %9615
  call void @exit(i32 noundef 1) #13
  unreachable

9617:                                             ; No predecessors!
  br label %9618

9618:                                             ; preds = %9617
  br label %9619

9619:                                             ; preds = %9618, %9557
  br label %9620

9620:                                             ; preds = %9619
  br label %9621

9621:                                             ; preds = %9620
  br label %9622

9622:                                             ; preds = %9621
  %9623 = load i32, ptr @test_count, align 4, !tbaa !5
  %9624 = add nsw i32 %9623, 1
  store i32 %9624, ptr @test_count, align 4, !tbaa !5
  %9625 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %9626 = icmp ne i32 %9625, 0
  br i1 %9626, label %9680, label %9627

9627:                                             ; preds = %9622
  br label %9628

9628:                                             ; preds = %9627
  br label %9629

9629:                                             ; preds = %9628
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %9630 = call ptr @__errno_location() #12
  %9631 = load i32, ptr %9630, align 4, !tbaa !5
  store i32 %9631, ptr %181, align 4, !tbaa !5
  %9632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9633 = call i32 @s2n_print_stacktrace(ptr noundef %9632)
  %9634 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9635 = trunc i8 %9634 to i1
  br i1 %9635, label %9636, label %9658

9636:                                             ; preds = %9629
  %9637 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9638 = call i32 @fileno(ptr noundef %9637) #11
  %9639 = call i32 @isatty(i32 noundef %9638) #11
  %9640 = icmp ne i32 %9639, 0
  br i1 %9640, label %9641, label %9658

9641:                                             ; preds = %9636
  %9642 = load i32, ptr %181, align 4, !tbaa !5
  %9643 = call ptr @__errno_location() #12
  store i32 %9642, ptr %9643, align 4, !tbaa !5
  %9644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9645 = load i32, ptr @test_count, align 4, !tbaa !5
  %9646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9647 = load i32, ptr %9646, align 4, !tbaa !5
  %9648 = call ptr @s2n_strerror(i32 noundef %9647, ptr noundef @.str.4)
  %9649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9650 = load i32, ptr %9649, align 4, !tbaa !5
  %9651 = call ptr @s2n_strerror_debug(i32 noundef %9650, ptr noundef @.str.4)
  %9652 = call ptr @__errno_location() #12
  %9653 = load i32, ptr %9652, align 4, !tbaa !5
  %9654 = call ptr @strerror(i32 noundef %9653) #11
  %9655 = call ptr @__errno_location() #12
  %9656 = load i32, ptr %9655, align 4, !tbaa !5
  %9657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9644, ptr noundef @.str.2, i32 noundef %9645, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 253, ptr noundef %9648, ptr noundef %9651, ptr noundef %9654, i32 noundef %9656) #11
  br label %9675

9658:                                             ; preds = %9636, %9629
  %9659 = load i32, ptr %181, align 4, !tbaa !5
  %9660 = call ptr @__errno_location() #12
  store i32 %9659, ptr %9660, align 4, !tbaa !5
  %9661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9662 = load i32, ptr @test_count, align 4, !tbaa !5
  %9663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9664 = load i32, ptr %9663, align 4, !tbaa !5
  %9665 = call ptr @s2n_strerror(i32 noundef %9664, ptr noundef @.str.4)
  %9666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  %9668 = call ptr @s2n_strerror_debug(i32 noundef %9667, ptr noundef @.str.4)
  %9669 = call ptr @__errno_location() #12
  %9670 = load i32, ptr %9669, align 4, !tbaa !5
  %9671 = call ptr @strerror(i32 noundef %9670) #11
  %9672 = call ptr @__errno_location() #12
  %9673 = load i32, ptr %9672, align 4, !tbaa !5
  %9674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9661, ptr noundef @.str.5, i32 noundef %9662, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 253, ptr noundef %9665, ptr noundef %9668, ptr noundef %9671, i32 noundef %9673) #11
  br label %9675

9675:                                             ; preds = %9658, %9641
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %9676

9676:                                             ; preds = %9675
  br label %9677

9677:                                             ; preds = %9676
  call void @exit(i32 noundef 1) #13
  unreachable

9678:                                             ; No predecessors!
  br label %9679

9679:                                             ; preds = %9678
  br label %9680

9680:                                             ; preds = %9679, %9622
  br label %9681

9681:                                             ; preds = %9680
  br label %9682

9682:                                             ; preds = %9681
  br label %9683

9683:                                             ; preds = %9682
  %9684 = load i32, ptr @test_count, align 4, !tbaa !5
  %9685 = add nsw i32 %9684, 1
  store i32 %9685, ptr @test_count, align 4, !tbaa !5
  %9686 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %9687 = icmp eq i32 %9686, -1
  br i1 %9687, label %9688, label %9741

9688:                                             ; preds = %9683
  br label %9689

9689:                                             ; preds = %9688
  br label %9690

9690:                                             ; preds = %9689
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %9691 = call ptr @__errno_location() #12
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  store i32 %9692, ptr %182, align 4, !tbaa !5
  %9693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9694 = call i32 @s2n_print_stacktrace(ptr noundef %9693)
  %9695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9696 = trunc i8 %9695 to i1
  br i1 %9696, label %9697, label %9719

9697:                                             ; preds = %9690
  %9698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9699 = call i32 @fileno(ptr noundef %9698) #11
  %9700 = call i32 @isatty(i32 noundef %9699) #11
  %9701 = icmp ne i32 %9700, 0
  br i1 %9701, label %9702, label %9719

9702:                                             ; preds = %9697
  %9703 = load i32, ptr %182, align 4, !tbaa !5
  %9704 = call ptr @__errno_location() #12
  store i32 %9703, ptr %9704, align 4, !tbaa !5
  %9705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9706 = load i32, ptr @test_count, align 4, !tbaa !5
  %9707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9708 = load i32, ptr %9707, align 4, !tbaa !5
  %9709 = call ptr @s2n_strerror(i32 noundef %9708, ptr noundef @.str.4)
  %9710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9711 = load i32, ptr %9710, align 4, !tbaa !5
  %9712 = call ptr @s2n_strerror_debug(i32 noundef %9711, ptr noundef @.str.4)
  %9713 = call ptr @__errno_location() #12
  %9714 = load i32, ptr %9713, align 4, !tbaa !5
  %9715 = call ptr @strerror(i32 noundef %9714) #11
  %9716 = call ptr @__errno_location() #12
  %9717 = load i32, ptr %9716, align 4, !tbaa !5
  %9718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9705, ptr noundef @.str.2, i32 noundef %9706, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 254, ptr noundef %9709, ptr noundef %9712, ptr noundef %9715, i32 noundef %9717) #11
  br label %9736

9719:                                             ; preds = %9697, %9690
  %9720 = load i32, ptr %182, align 4, !tbaa !5
  %9721 = call ptr @__errno_location() #12
  store i32 %9720, ptr %9721, align 4, !tbaa !5
  %9722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9723 = load i32, ptr @test_count, align 4, !tbaa !5
  %9724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9725 = load i32, ptr %9724, align 4, !tbaa !5
  %9726 = call ptr @s2n_strerror(i32 noundef %9725, ptr noundef @.str.4)
  %9727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9728 = load i32, ptr %9727, align 4, !tbaa !5
  %9729 = call ptr @s2n_strerror_debug(i32 noundef %9728, ptr noundef @.str.4)
  %9730 = call ptr @__errno_location() #12
  %9731 = load i32, ptr %9730, align 4, !tbaa !5
  %9732 = call ptr @strerror(i32 noundef %9731) #11
  %9733 = call ptr @__errno_location() #12
  %9734 = load i32, ptr %9733, align 4, !tbaa !5
  %9735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9722, ptr noundef @.str.5, i32 noundef %9723, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 254, ptr noundef %9726, ptr noundef %9729, ptr noundef %9732, i32 noundef %9734) #11
  br label %9736

9736:                                             ; preds = %9719, %9702
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %9737

9737:                                             ; preds = %9736
  br label %9738

9738:                                             ; preds = %9737
  call void @exit(i32 noundef 1) #13
  unreachable

9739:                                             ; No predecessors!
  br label %9740

9740:                                             ; preds = %9739
  br label %9741

9741:                                             ; preds = %9740, %9683
  br label %9742

9742:                                             ; preds = %9741
  br label %9743

9743:                                             ; preds = %9742
  br label %9744

9744:                                             ; preds = %9743
  %9745 = load i32, ptr @test_count, align 4, !tbaa !5
  %9746 = add nsw i32 %9745, 1
  store i32 %9746, ptr @test_count, align 4, !tbaa !5
  %9747 = load i64, ptr %16, align 8, !tbaa !11
  %9748 = icmp eq i64 %9747, 13
  br i1 %9748, label %9802, label %9749

9749:                                             ; preds = %9744
  br label %9750

9750:                                             ; preds = %9749
  br label %9751

9751:                                             ; preds = %9750
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %9752 = call ptr @__errno_location() #12
  %9753 = load i32, ptr %9752, align 4, !tbaa !5
  store i32 %9753, ptr %183, align 4, !tbaa !5
  %9754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9755 = call i32 @s2n_print_stacktrace(ptr noundef %9754)
  %9756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9757 = trunc i8 %9756 to i1
  br i1 %9757, label %9758, label %9780

9758:                                             ; preds = %9751
  %9759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9760 = call i32 @fileno(ptr noundef %9759) #11
  %9761 = call i32 @isatty(i32 noundef %9760) #11
  %9762 = icmp ne i32 %9761, 0
  br i1 %9762, label %9763, label %9780

9763:                                             ; preds = %9758
  %9764 = load i32, ptr %183, align 4, !tbaa !5
  %9765 = call ptr @__errno_location() #12
  store i32 %9764, ptr %9765, align 4, !tbaa !5
  %9766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9767 = load i32, ptr @test_count, align 4, !tbaa !5
  %9768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9769 = load i32, ptr %9768, align 4, !tbaa !5
  %9770 = call ptr @s2n_strerror(i32 noundef %9769, ptr noundef @.str.4)
  %9771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9772 = load i32, ptr %9771, align 4, !tbaa !5
  %9773 = call ptr @s2n_strerror_debug(i32 noundef %9772, ptr noundef @.str.4)
  %9774 = call ptr @__errno_location() #12
  %9775 = load i32, ptr %9774, align 4, !tbaa !5
  %9776 = call ptr @strerror(i32 noundef %9775) #11
  %9777 = call ptr @__errno_location() #12
  %9778 = load i32, ptr %9777, align 4, !tbaa !5
  %9779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9766, ptr noundef @.str.2, i32 noundef %9767, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9770, ptr noundef %9773, ptr noundef %9776, i32 noundef %9778) #11
  br label %9797

9780:                                             ; preds = %9758, %9751
  %9781 = load i32, ptr %183, align 4, !tbaa !5
  %9782 = call ptr @__errno_location() #12
  store i32 %9781, ptr %9782, align 4, !tbaa !5
  %9783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9784 = load i32, ptr @test_count, align 4, !tbaa !5
  %9785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9786 = load i32, ptr %9785, align 4, !tbaa !5
  %9787 = call ptr @s2n_strerror(i32 noundef %9786, ptr noundef @.str.4)
  %9788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9789 = load i32, ptr %9788, align 4, !tbaa !5
  %9790 = call ptr @s2n_strerror_debug(i32 noundef %9789, ptr noundef @.str.4)
  %9791 = call ptr @__errno_location() #12
  %9792 = load i32, ptr %9791, align 4, !tbaa !5
  %9793 = call ptr @strerror(i32 noundef %9792) #11
  %9794 = call ptr @__errno_location() #12
  %9795 = load i32, ptr %9794, align 4, !tbaa !5
  %9796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9783, ptr noundef @.str.5, i32 noundef %9784, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 255, ptr noundef %9787, ptr noundef %9790, ptr noundef %9793, i32 noundef %9795) #11
  br label %9797

9797:                                             ; preds = %9780, %9763
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %9798

9798:                                             ; preds = %9797
  br label %9799

9799:                                             ; preds = %9798
  call void @exit(i32 noundef 1) #13
  unreachable

9800:                                             ; No predecessors!
  br label %9801

9801:                                             ; preds = %9800
  br label %9802

9802:                                             ; preds = %9801, %9744
  br label %9803

9803:                                             ; preds = %9802
  br label %9804

9804:                                             ; preds = %9803
  br label %9805

9805:                                             ; preds = %9804
  %9806 = load i32, ptr @test_count, align 4, !tbaa !5
  %9807 = add nsw i32 %9806, 1
  store i32 %9807, ptr @test_count, align 4, !tbaa !5
  %9808 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %9809 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %9808, i32 noundef 32)
  %9810 = icmp eq i32 %9809, -1
  br i1 %9810, label %9811, label %9864

9811:                                             ; preds = %9805
  br label %9812

9812:                                             ; preds = %9811
  br label %9813

9813:                                             ; preds = %9812
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %9814 = call ptr @__errno_location() #12
  %9815 = load i32, ptr %9814, align 4, !tbaa !5
  store i32 %9815, ptr %184, align 4, !tbaa !5
  %9816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9817 = call i32 @s2n_print_stacktrace(ptr noundef %9816)
  %9818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9819 = trunc i8 %9818 to i1
  br i1 %9819, label %9820, label %9842

9820:                                             ; preds = %9813
  %9821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9822 = call i32 @fileno(ptr noundef %9821) #11
  %9823 = call i32 @isatty(i32 noundef %9822) #11
  %9824 = icmp ne i32 %9823, 0
  br i1 %9824, label %9825, label %9842

9825:                                             ; preds = %9820
  %9826 = load i32, ptr %184, align 4, !tbaa !5
  %9827 = call ptr @__errno_location() #12
  store i32 %9826, ptr %9827, align 4, !tbaa !5
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = load i32, ptr @test_count, align 4, !tbaa !5
  %9830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9831 = load i32, ptr %9830, align 4, !tbaa !5
  %9832 = call ptr @s2n_strerror(i32 noundef %9831, ptr noundef @.str.4)
  %9833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9834 = load i32, ptr %9833, align 4, !tbaa !5
  %9835 = call ptr @s2n_strerror_debug(i32 noundef %9834, ptr noundef @.str.4)
  %9836 = call ptr @__errno_location() #12
  %9837 = load i32, ptr %9836, align 4, !tbaa !5
  %9838 = call ptr @strerror(i32 noundef %9837) #11
  %9839 = call ptr @__errno_location() #12
  %9840 = load i32, ptr %9839, align 4, !tbaa !5
  %9841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9828, ptr noundef @.str.2, i32 noundef %9829, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 257, ptr noundef %9832, ptr noundef %9835, ptr noundef %9838, i32 noundef %9840) #11
  br label %9859

9842:                                             ; preds = %9820, %9813
  %9843 = load i32, ptr %184, align 4, !tbaa !5
  %9844 = call ptr @__errno_location() #12
  store i32 %9843, ptr %9844, align 4, !tbaa !5
  %9845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9846 = load i32, ptr @test_count, align 4, !tbaa !5
  %9847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9848 = load i32, ptr %9847, align 4, !tbaa !5
  %9849 = call ptr @s2n_strerror(i32 noundef %9848, ptr noundef @.str.4)
  %9850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9851 = load i32, ptr %9850, align 4, !tbaa !5
  %9852 = call ptr @s2n_strerror_debug(i32 noundef %9851, ptr noundef @.str.4)
  %9853 = call ptr @__errno_location() #12
  %9854 = load i32, ptr %9853, align 4, !tbaa !5
  %9855 = call ptr @strerror(i32 noundef %9854) #11
  %9856 = call ptr @__errno_location() #12
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  %9858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9845, ptr noundef @.str.5, i32 noundef %9846, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 257, ptr noundef %9849, ptr noundef %9852, ptr noundef %9855, i32 noundef %9857) #11
  br label %9859

9859:                                             ; preds = %9842, %9825
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %9860

9860:                                             ; preds = %9859
  br label %9861

9861:                                             ; preds = %9860
  call void @exit(i32 noundef 1) #13
  unreachable

9862:                                             ; No predecessors!
  br label %9863

9863:                                             ; preds = %9862
  br label %9864

9864:                                             ; preds = %9863, %9805
  br label %9865

9865:                                             ; preds = %9864
  br label %9866

9866:                                             ; preds = %9865
  br label %9867

9867:                                             ; preds = %9866
  %9868 = load i32, ptr @test_count, align 4, !tbaa !5
  %9869 = add nsw i32 %9868, 1
  store i32 %9869, ptr @test_count, align 4, !tbaa !5
  %9870 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %9871 = icmp ne i32 %9870, 0
  br i1 %9871, label %9872, label %9925

9872:                                             ; preds = %9867
  br label %9873

9873:                                             ; preds = %9872
  br label %9874

9874:                                             ; preds = %9873
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %9875 = call ptr @__errno_location() #12
  %9876 = load i32, ptr %9875, align 4, !tbaa !5
  store i32 %9876, ptr %185, align 4, !tbaa !5
  %9877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9878 = call i32 @s2n_print_stacktrace(ptr noundef %9877)
  %9879 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9880 = trunc i8 %9879 to i1
  br i1 %9880, label %9881, label %9903

9881:                                             ; preds = %9874
  %9882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9883 = call i32 @fileno(ptr noundef %9882) #11
  %9884 = call i32 @isatty(i32 noundef %9883) #11
  %9885 = icmp ne i32 %9884, 0
  br i1 %9885, label %9886, label %9903

9886:                                             ; preds = %9881
  %9887 = load i32, ptr %185, align 4, !tbaa !5
  %9888 = call ptr @__errno_location() #12
  store i32 %9887, ptr %9888, align 4, !tbaa !5
  %9889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9890 = load i32, ptr @test_count, align 4, !tbaa !5
  %9891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9892 = load i32, ptr %9891, align 4, !tbaa !5
  %9893 = call ptr @s2n_strerror(i32 noundef %9892, ptr noundef @.str.4)
  %9894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9895 = load i32, ptr %9894, align 4, !tbaa !5
  %9896 = call ptr @s2n_strerror_debug(i32 noundef %9895, ptr noundef @.str.4)
  %9897 = call ptr @__errno_location() #12
  %9898 = load i32, ptr %9897, align 4, !tbaa !5
  %9899 = call ptr @strerror(i32 noundef %9898) #11
  %9900 = call ptr @__errno_location() #12
  %9901 = load i32, ptr %9900, align 4, !tbaa !5
  %9902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9889, ptr noundef @.str.2, i32 noundef %9890, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 258, ptr noundef %9893, ptr noundef %9896, ptr noundef %9899, i32 noundef %9901) #11
  br label %9920

9903:                                             ; preds = %9881, %9874
  %9904 = load i32, ptr %185, align 4, !tbaa !5
  %9905 = call ptr @__errno_location() #12
  store i32 %9904, ptr %9905, align 4, !tbaa !5
  %9906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9907 = load i32, ptr @test_count, align 4, !tbaa !5
  %9908 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9909 = load i32, ptr %9908, align 4, !tbaa !5
  %9910 = call ptr @s2n_strerror(i32 noundef %9909, ptr noundef @.str.4)
  %9911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9912 = load i32, ptr %9911, align 4, !tbaa !5
  %9913 = call ptr @s2n_strerror_debug(i32 noundef %9912, ptr noundef @.str.4)
  %9914 = call ptr @__errno_location() #12
  %9915 = load i32, ptr %9914, align 4, !tbaa !5
  %9916 = call ptr @strerror(i32 noundef %9915) #11
  %9917 = call ptr @__errno_location() #12
  %9918 = load i32, ptr %9917, align 4, !tbaa !5
  %9919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9906, ptr noundef @.str.5, i32 noundef %9907, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 258, ptr noundef %9910, ptr noundef %9913, ptr noundef %9916, i32 noundef %9918) #11
  br label %9920

9920:                                             ; preds = %9903, %9886
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %9921

9921:                                             ; preds = %9920
  br label %9922

9922:                                             ; preds = %9921
  call void @exit(i32 noundef 1) #13
  unreachable

9923:                                             ; No predecessors!
  br label %9924

9924:                                             ; preds = %9923
  br label %9925

9925:                                             ; preds = %9924, %9867
  br label %9926

9926:                                             ; preds = %9925
  br label %9927

9927:                                             ; preds = %9926
  br label %9928

9928:                                             ; preds = %9927
  br label %9929

9929:                                             ; preds = %9928
  %9930 = load i32, ptr @test_count, align 4, !tbaa !5
  %9931 = add nsw i32 %9930, 1
  store i32 %9931, ptr @test_count, align 4, !tbaa !5
  %9932 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %9933 = icmp eq i32 %9932, -1
  br i1 %9933, label %9987, label %9934

9934:                                             ; preds = %9929
  br label %9935

9935:                                             ; preds = %9934
  br label %9936

9936:                                             ; preds = %9935
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %9937 = call ptr @__errno_location() #12
  %9938 = load i32, ptr %9937, align 4, !tbaa !5
  store i32 %9938, ptr %186, align 4, !tbaa !5
  %9939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9940 = call i32 @s2n_print_stacktrace(ptr noundef %9939)
  %9941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %9942 = trunc i8 %9941 to i1
  br i1 %9942, label %9943, label %9965

9943:                                             ; preds = %9936
  %9944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9945 = call i32 @fileno(ptr noundef %9944) #11
  %9946 = call i32 @isatty(i32 noundef %9945) #11
  %9947 = icmp ne i32 %9946, 0
  br i1 %9947, label %9948, label %9965

9948:                                             ; preds = %9943
  %9949 = load i32, ptr %186, align 4, !tbaa !5
  %9950 = call ptr @__errno_location() #12
  store i32 %9949, ptr %9950, align 4, !tbaa !5
  %9951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9952 = load i32, ptr @test_count, align 4, !tbaa !5
  %9953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9954 = load i32, ptr %9953, align 4, !tbaa !5
  %9955 = call ptr @s2n_strerror(i32 noundef %9954, ptr noundef @.str.4)
  %9956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9957 = load i32, ptr %9956, align 4, !tbaa !5
  %9958 = call ptr @s2n_strerror_debug(i32 noundef %9957, ptr noundef @.str.4)
  %9959 = call ptr @__errno_location() #12
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @strerror(i32 noundef %9960) #11
  %9962 = call ptr @__errno_location() #12
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9951, ptr noundef @.str.2, i32 noundef %9952, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 259, ptr noundef %9955, ptr noundef %9958, ptr noundef %9961, i32 noundef %9963) #11
  br label %9982

9965:                                             ; preds = %9943, %9936
  %9966 = load i32, ptr %186, align 4, !tbaa !5
  %9967 = call ptr @__errno_location() #12
  store i32 %9966, ptr %9967, align 4, !tbaa !5
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = load i32, ptr @test_count, align 4, !tbaa !5
  %9970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9971 = load i32, ptr %9970, align 4, !tbaa !5
  %9972 = call ptr @s2n_strerror(i32 noundef %9971, ptr noundef @.str.4)
  %9973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9974 = load i32, ptr %9973, align 4, !tbaa !5
  %9975 = call ptr @s2n_strerror_debug(i32 noundef %9974, ptr noundef @.str.4)
  %9976 = call ptr @__errno_location() #12
  %9977 = load i32, ptr %9976, align 4, !tbaa !5
  %9978 = call ptr @strerror(i32 noundef %9977) #11
  %9979 = call ptr @__errno_location() #12
  %9980 = load i32, ptr %9979, align 4, !tbaa !5
  %9981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9968, ptr noundef @.str.5, i32 noundef %9969, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 259, ptr noundef %9972, ptr noundef %9975, ptr noundef %9978, i32 noundef %9980) #11
  br label %9982

9982:                                             ; preds = %9965, %9948
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %9983

9983:                                             ; preds = %9982
  br label %9984

9984:                                             ; preds = %9983
  call void @exit(i32 noundef 1) #13
  unreachable

9985:                                             ; No predecessors!
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986, %9929
  br label %9988

9988:                                             ; preds = %9987
  br label %9989

9989:                                             ; preds = %9988
  br label %9990

9990:                                             ; preds = %9989
  %9991 = load i32, ptr @test_count, align 4, !tbaa !5
  %9992 = add nsw i32 %9991, 1
  store i32 %9992, ptr @test_count, align 4, !tbaa !5
  %9993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9994 = load i32, ptr %9993, align 4, !tbaa !5
  %9995 = icmp eq i32 %9994, 0
  br i1 %9995, label %9996, label %10049

9996:                                             ; preds = %9990
  br label %9997

9997:                                             ; preds = %9996
  br label %9998

9998:                                             ; preds = %9997
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %9999 = call ptr @__errno_location() #12
  %10000 = load i32, ptr %9999, align 4, !tbaa !5
  store i32 %10000, ptr %187, align 4, !tbaa !5
  %10001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10002 = call i32 @s2n_print_stacktrace(ptr noundef %10001)
  %10003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10004 = trunc i8 %10003 to i1
  br i1 %10004, label %10005, label %10027

10005:                                            ; preds = %9998
  %10006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10007 = call i32 @fileno(ptr noundef %10006) #11
  %10008 = call i32 @isatty(i32 noundef %10007) #11
  %10009 = icmp ne i32 %10008, 0
  br i1 %10009, label %10010, label %10027

10010:                                            ; preds = %10005
  %10011 = load i32, ptr %187, align 4, !tbaa !5
  %10012 = call ptr @__errno_location() #12
  store i32 %10011, ptr %10012, align 4, !tbaa !5
  %10013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10014 = load i32, ptr @test_count, align 4, !tbaa !5
  %10015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10016 = load i32, ptr %10015, align 4, !tbaa !5
  %10017 = call ptr @s2n_strerror(i32 noundef %10016, ptr noundef @.str.4)
  %10018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10019 = load i32, ptr %10018, align 4, !tbaa !5
  %10020 = call ptr @s2n_strerror_debug(i32 noundef %10019, ptr noundef @.str.4)
  %10021 = call ptr @__errno_location() #12
  %10022 = load i32, ptr %10021, align 4, !tbaa !5
  %10023 = call ptr @strerror(i32 noundef %10022) #11
  %10024 = call ptr @__errno_location() #12
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10013, ptr noundef @.str.2, i32 noundef %10014, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 259, ptr noundef %10017, ptr noundef %10020, ptr noundef %10023, i32 noundef %10025) #11
  br label %10044

10027:                                            ; preds = %10005, %9998
  %10028 = load i32, ptr %187, align 4, !tbaa !5
  %10029 = call ptr @__errno_location() #12
  store i32 %10028, ptr %10029, align 4, !tbaa !5
  %10030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10031 = load i32, ptr @test_count, align 4, !tbaa !5
  %10032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10033 = load i32, ptr %10032, align 4, !tbaa !5
  %10034 = call ptr @s2n_strerror(i32 noundef %10033, ptr noundef @.str.4)
  %10035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10036 = load i32, ptr %10035, align 4, !tbaa !5
  %10037 = call ptr @s2n_strerror_debug(i32 noundef %10036, ptr noundef @.str.4)
  %10038 = call ptr @__errno_location() #12
  %10039 = load i32, ptr %10038, align 4, !tbaa !5
  %10040 = call ptr @strerror(i32 noundef %10039) #11
  %10041 = call ptr @__errno_location() #12
  %10042 = load i32, ptr %10041, align 4, !tbaa !5
  %10043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10030, ptr noundef @.str.5, i32 noundef %10031, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 259, ptr noundef %10034, ptr noundef %10037, ptr noundef %10040, i32 noundef %10042) #11
  br label %10044

10044:                                            ; preds = %10027, %10010
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %10045

10045:                                            ; preds = %10044
  br label %10046

10046:                                            ; preds = %10045
  call void @exit(i32 noundef 1) #13
  unreachable

10047:                                            ; No predecessors!
  br label %10048

10048:                                            ; preds = %10047
  br label %10049

10049:                                            ; preds = %10048, %9990
  br label %10050

10050:                                            ; preds = %10049
  br label %10051

10051:                                            ; preds = %10050
  br label %10052

10052:                                            ; preds = %10051
  %10053 = load i32, ptr @test_count, align 4, !tbaa !5
  %10054 = add nsw i32 %10053, 1
  store i32 %10054, ptr @test_count, align 4, !tbaa !5
  %10055 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10056 = load i32, ptr %10055, align 4, !tbaa !5
  %10057 = call ptr @s2n_strerror_debug(i32 noundef %10056, ptr noundef @.str.4)
  %10058 = icmp eq ptr %10057, null
  br i1 %10058, label %10059, label %10112

10059:                                            ; preds = %10052
  br label %10060

10060:                                            ; preds = %10059
  br label %10061

10061:                                            ; preds = %10060
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %10062 = call ptr @__errno_location() #12
  %10063 = load i32, ptr %10062, align 4, !tbaa !5
  store i32 %10063, ptr %188, align 4, !tbaa !5
  %10064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10065 = call i32 @s2n_print_stacktrace(ptr noundef %10064)
  %10066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10067 = trunc i8 %10066 to i1
  br i1 %10067, label %10068, label %10090

10068:                                            ; preds = %10061
  %10069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10070 = call i32 @fileno(ptr noundef %10069) #11
  %10071 = call i32 @isatty(i32 noundef %10070) #11
  %10072 = icmp ne i32 %10071, 0
  br i1 %10072, label %10073, label %10090

10073:                                            ; preds = %10068
  %10074 = load i32, ptr %188, align 4, !tbaa !5
  %10075 = call ptr @__errno_location() #12
  store i32 %10074, ptr %10075, align 4, !tbaa !5
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = load i32, ptr @test_count, align 4, !tbaa !5
  %10078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10079 = load i32, ptr %10078, align 4, !tbaa !5
  %10080 = call ptr @s2n_strerror(i32 noundef %10079, ptr noundef @.str.4)
  %10081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10082 = load i32, ptr %10081, align 4, !tbaa !5
  %10083 = call ptr @s2n_strerror_debug(i32 noundef %10082, ptr noundef @.str.4)
  %10084 = call ptr @__errno_location() #12
  %10085 = load i32, ptr %10084, align 4, !tbaa !5
  %10086 = call ptr @strerror(i32 noundef %10085) #11
  %10087 = call ptr @__errno_location() #12
  %10088 = load i32, ptr %10087, align 4, !tbaa !5
  %10089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10076, ptr noundef @.str.2, i32 noundef %10077, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 259, ptr noundef %10080, ptr noundef %10083, ptr noundef %10086, i32 noundef %10088) #11
  br label %10107

10090:                                            ; preds = %10068, %10061
  %10091 = load i32, ptr %188, align 4, !tbaa !5
  %10092 = call ptr @__errno_location() #12
  store i32 %10091, ptr %10092, align 4, !tbaa !5
  %10093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10094 = load i32, ptr @test_count, align 4, !tbaa !5
  %10095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10096 = load i32, ptr %10095, align 4, !tbaa !5
  %10097 = call ptr @s2n_strerror(i32 noundef %10096, ptr noundef @.str.4)
  %10098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10099 = load i32, ptr %10098, align 4, !tbaa !5
  %10100 = call ptr @s2n_strerror_debug(i32 noundef %10099, ptr noundef @.str.4)
  %10101 = call ptr @__errno_location() #12
  %10102 = load i32, ptr %10101, align 4, !tbaa !5
  %10103 = call ptr @strerror(i32 noundef %10102) #11
  %10104 = call ptr @__errno_location() #12
  %10105 = load i32, ptr %10104, align 4, !tbaa !5
  %10106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10093, ptr noundef @.str.5, i32 noundef %10094, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 259, ptr noundef %10097, ptr noundef %10100, ptr noundef %10103, i32 noundef %10105) #11
  br label %10107

10107:                                            ; preds = %10090, %10073
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %10108

10108:                                            ; preds = %10107
  br label %10109

10109:                                            ; preds = %10108
  call void @exit(i32 noundef 1) #13
  unreachable

10110:                                            ; No predecessors!
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

10112:                                            ; preds = %10111, %10052
  br label %10113

10113:                                            ; preds = %10112
  br label %10114

10114:                                            ; preds = %10113
  br label %10115

10115:                                            ; preds = %10114
  %10116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10116, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10117 = call ptr @__errno_location() #12
  store i32 0, ptr %10117, align 4, !tbaa !5
  br label %10118

10118:                                            ; preds = %10115
  br label %10119

10119:                                            ; preds = %10118
  br label %10120

10120:                                            ; preds = %10119
  br label %10121

10121:                                            ; preds = %10120
  br label %10122

10122:                                            ; preds = %10121
  %10123 = load i32, ptr @test_count, align 4, !tbaa !5
  %10124 = add nsw i32 %10123, 1
  store i32 %10124, ptr @test_count, align 4, !tbaa !5
  %10125 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %10126 = icmp eq i32 %10125, -1
  br i1 %10126, label %10127, label %10180

10127:                                            ; preds = %10122
  br label %10128

10128:                                            ; preds = %10127
  br label %10129

10129:                                            ; preds = %10128
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %10130 = call ptr @__errno_location() #12
  %10131 = load i32, ptr %10130, align 4, !tbaa !5
  store i32 %10131, ptr %189, align 4, !tbaa !5
  %10132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10133 = call i32 @s2n_print_stacktrace(ptr noundef %10132)
  %10134 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10135 = trunc i8 %10134 to i1
  br i1 %10135, label %10136, label %10158

10136:                                            ; preds = %10129
  %10137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10138 = call i32 @fileno(ptr noundef %10137) #11
  %10139 = call i32 @isatty(i32 noundef %10138) #11
  %10140 = icmp ne i32 %10139, 0
  br i1 %10140, label %10141, label %10158

10141:                                            ; preds = %10136
  %10142 = load i32, ptr %189, align 4, !tbaa !5
  %10143 = call ptr @__errno_location() #12
  store i32 %10142, ptr %10143, align 4, !tbaa !5
  %10144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10145 = load i32, ptr @test_count, align 4, !tbaa !5
  %10146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10147 = load i32, ptr %10146, align 4, !tbaa !5
  %10148 = call ptr @s2n_strerror(i32 noundef %10147, ptr noundef @.str.4)
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror_debug(i32 noundef %10150, ptr noundef @.str.4)
  %10152 = call ptr @__errno_location() #12
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @strerror(i32 noundef %10153) #11
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10144, ptr noundef @.str.2, i32 noundef %10145, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10148, ptr noundef %10151, ptr noundef %10154, i32 noundef %10156) #11
  br label %10175

10158:                                            ; preds = %10136, %10129
  %10159 = load i32, ptr %189, align 4, !tbaa !5
  %10160 = call ptr @__errno_location() #12
  store i32 %10159, ptr %10160, align 4, !tbaa !5
  %10161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10162 = load i32, ptr @test_count, align 4, !tbaa !5
  %10163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10164 = load i32, ptr %10163, align 4, !tbaa !5
  %10165 = call ptr @s2n_strerror(i32 noundef %10164, ptr noundef @.str.4)
  %10166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10167 = load i32, ptr %10166, align 4, !tbaa !5
  %10168 = call ptr @s2n_strerror_debug(i32 noundef %10167, ptr noundef @.str.4)
  %10169 = call ptr @__errno_location() #12
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = call ptr @strerror(i32 noundef %10170) #11
  %10172 = call ptr @__errno_location() #12
  %10173 = load i32, ptr %10172, align 4, !tbaa !5
  %10174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10161, ptr noundef @.str.5, i32 noundef %10162, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 261, ptr noundef %10165, ptr noundef %10168, ptr noundef %10171, i32 noundef %10173) #11
  br label %10175

10175:                                            ; preds = %10158, %10141
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %10176

10176:                                            ; preds = %10175
  br label %10177

10177:                                            ; preds = %10176
  call void @exit(i32 noundef 1) #13
  unreachable

10178:                                            ; No predecessors!
  br label %10179

10179:                                            ; preds = %10178
  br label %10180

10180:                                            ; preds = %10179, %10122
  br label %10181

10181:                                            ; preds = %10180
  br label %10182

10182:                                            ; preds = %10181
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  store i32 0, ptr %190, align 4, !tbaa !5
  br label %10183

10183:                                            ; preds = %10256, %10182
  %10184 = load i32, ptr %190, align 4, !tbaa !5
  %10185 = icmp slt i32 %10184, 32
  br i1 %10185, label %10187, label %10186

10186:                                            ; preds = %10183
  store i32 1034, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %10259

10187:                                            ; preds = %10183
  br label %10188

10188:                                            ; preds = %10187
  %10189 = load i32, ptr @test_count, align 4, !tbaa !5
  %10190 = add nsw i32 %10189, 1
  store i32 %10190, ptr @test_count, align 4, !tbaa !5
  %10191 = load i32, ptr %190, align 4, !tbaa !5
  %10192 = sext i32 %10191 to i64
  %10193 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %10192
  %10194 = load i8, ptr %10193, align 1, !tbaa !17
  %10195 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %10194)
  %10196 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  store i32 %10195, ptr %10196, align 4
  %10197 = getelementptr inbounds %struct.s2n_result, ptr %191, i32 0, i32 0
  %10198 = load i32, ptr %10197, align 4
  %10199 = call zeroext i1 @s2n_result_is_ok(i32 %10198)
  br i1 %10199, label %10253, label %10200

10200:                                            ; preds = %10188
  br label %10201

10201:                                            ; preds = %10200
  br label %10202

10202:                                            ; preds = %10201
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %10203 = call ptr @__errno_location() #12
  %10204 = load i32, ptr %10203, align 4, !tbaa !5
  store i32 %10204, ptr %192, align 4, !tbaa !5
  %10205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10206 = call i32 @s2n_print_stacktrace(ptr noundef %10205)
  %10207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10208 = trunc i8 %10207 to i1
  br i1 %10208, label %10209, label %10231

10209:                                            ; preds = %10202
  %10210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10211 = call i32 @fileno(ptr noundef %10210) #11
  %10212 = call i32 @isatty(i32 noundef %10211) #11
  %10213 = icmp ne i32 %10212, 0
  br i1 %10213, label %10214, label %10231

10214:                                            ; preds = %10209
  %10215 = load i32, ptr %192, align 4, !tbaa !5
  %10216 = call ptr @__errno_location() #12
  store i32 %10215, ptr %10216, align 4, !tbaa !5
  %10217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10218 = load i32, ptr @test_count, align 4, !tbaa !5
  %10219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10220 = load i32, ptr %10219, align 4, !tbaa !5
  %10221 = call ptr @s2n_strerror(i32 noundef %10220, ptr noundef @.str.4)
  %10222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10223 = load i32, ptr %10222, align 4, !tbaa !5
  %10224 = call ptr @s2n_strerror_debug(i32 noundef %10223, ptr noundef @.str.4)
  %10225 = call ptr @__errno_location() #12
  %10226 = load i32, ptr %10225, align 4, !tbaa !5
  %10227 = call ptr @strerror(i32 noundef %10226) #11
  %10228 = call ptr @__errno_location() #12
  %10229 = load i32, ptr %10228, align 4, !tbaa !5
  %10230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10217, ptr noundef @.str.2, i32 noundef %10218, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 263, ptr noundef %10221, ptr noundef %10224, ptr noundef %10227, i32 noundef %10229) #11
  br label %10248

10231:                                            ; preds = %10209, %10202
  %10232 = load i32, ptr %192, align 4, !tbaa !5
  %10233 = call ptr @__errno_location() #12
  store i32 %10232, ptr %10233, align 4, !tbaa !5
  %10234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10235 = load i32, ptr @test_count, align 4, !tbaa !5
  %10236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10237 = load i32, ptr %10236, align 4, !tbaa !5
  %10238 = call ptr @s2n_strerror(i32 noundef %10237, ptr noundef @.str.4)
  %10239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10240 = load i32, ptr %10239, align 4, !tbaa !5
  %10241 = call ptr @s2n_strerror_debug(i32 noundef %10240, ptr noundef @.str.4)
  %10242 = call ptr @__errno_location() #12
  %10243 = load i32, ptr %10242, align 4, !tbaa !5
  %10244 = call ptr @strerror(i32 noundef %10243) #11
  %10245 = call ptr @__errno_location() #12
  %10246 = load i32, ptr %10245, align 4, !tbaa !5
  %10247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10234, ptr noundef @.str.5, i32 noundef %10235, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 263, ptr noundef %10238, ptr noundef %10241, ptr noundef %10244, i32 noundef %10246) #11
  br label %10248

10248:                                            ; preds = %10231, %10214
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %10249

10249:                                            ; preds = %10248
  br label %10250

10250:                                            ; preds = %10249
  call void @exit(i32 noundef 1) #13
  unreachable

10251:                                            ; No predecessors!
  br label %10252

10252:                                            ; preds = %10251
  br label %10253

10253:                                            ; preds = %10252, %10188
  br label %10254

10254:                                            ; preds = %10253
  br label %10255

10255:                                            ; preds = %10254
  br label %10256

10256:                                            ; preds = %10255
  %10257 = load i32, ptr %190, align 4, !tbaa !5
  %10258 = add nsw i32 %10257, 1
  store i32 %10258, ptr %190, align 4, !tbaa !5
  br label %10183, !llvm.loop !25

10259:                                            ; preds = %10186
  br label %10260

10260:                                            ; preds = %10259
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = add nsw i32 %10261, 1
  store i32 %10262, ptr @test_count, align 4, !tbaa !5
  %10263 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %10264 = call i32 @memcmp(ptr noundef %10263, ptr noundef @.str.56, i64 noundef 64) #14
  %10265 = icmp eq i32 %10264, 0
  br i1 %10265, label %10319, label %10266

10266:                                            ; preds = %10260
  br label %10267

10267:                                            ; preds = %10266
  br label %10268

10268:                                            ; preds = %10267
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %10269 = call ptr @__errno_location() #12
  %10270 = load i32, ptr %10269, align 4, !tbaa !5
  store i32 %10270, ptr %193, align 4, !tbaa !5
  %10271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10272 = call i32 @s2n_print_stacktrace(ptr noundef %10271)
  %10273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10274 = trunc i8 %10273 to i1
  br i1 %10274, label %10275, label %10297

10275:                                            ; preds = %10268
  %10276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10277 = call i32 @fileno(ptr noundef %10276) #11
  %10278 = call i32 @isatty(i32 noundef %10277) #11
  %10279 = icmp ne i32 %10278, 0
  br i1 %10279, label %10280, label %10297

10280:                                            ; preds = %10275
  %10281 = load i32, ptr %193, align 4, !tbaa !5
  %10282 = call ptr @__errno_location() #12
  store i32 %10281, ptr %10282, align 4, !tbaa !5
  %10283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10284 = load i32, ptr @test_count, align 4, !tbaa !5
  %10285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10286 = load i32, ptr %10285, align 4, !tbaa !5
  %10287 = call ptr @s2n_strerror(i32 noundef %10286, ptr noundef @.str.4)
  %10288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10289 = load i32, ptr %10288, align 4, !tbaa !5
  %10290 = call ptr @s2n_strerror_debug(i32 noundef %10289, ptr noundef @.str.4)
  %10291 = call ptr @__errno_location() #12
  %10292 = load i32, ptr %10291, align 4, !tbaa !5
  %10293 = call ptr @strerror(i32 noundef %10292) #11
  %10294 = call ptr @__errno_location() #12
  %10295 = load i32, ptr %10294, align 4, !tbaa !5
  %10296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10283, ptr noundef @.str.2, i32 noundef %10284, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10287, ptr noundef %10290, ptr noundef %10293, i32 noundef %10295) #11
  br label %10314

10297:                                            ; preds = %10275, %10268
  %10298 = load i32, ptr %193, align 4, !tbaa !5
  %10299 = call ptr @__errno_location() #12
  store i32 %10298, ptr %10299, align 4, !tbaa !5
  %10300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10301 = load i32, ptr @test_count, align 4, !tbaa !5
  %10302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10303 = load i32, ptr %10302, align 4, !tbaa !5
  %10304 = call ptr @s2n_strerror(i32 noundef %10303, ptr noundef @.str.4)
  %10305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10306 = load i32, ptr %10305, align 4, !tbaa !5
  %10307 = call ptr @s2n_strerror_debug(i32 noundef %10306, ptr noundef @.str.4)
  %10308 = call ptr @__errno_location() #12
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  %10310 = call ptr @strerror(i32 noundef %10309) #11
  %10311 = call ptr @__errno_location() #12
  %10312 = load i32, ptr %10311, align 4, !tbaa !5
  %10313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10300, ptr noundef @.str.5, i32 noundef %10301, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 267, ptr noundef %10304, ptr noundef %10307, ptr noundef %10310, i32 noundef %10312) #11
  br label %10314

10314:                                            ; preds = %10297, %10280
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %10315

10315:                                            ; preds = %10314
  br label %10316

10316:                                            ; preds = %10315
  call void @exit(i32 noundef 1) #13
  unreachable

10317:                                            ; No predecessors!
  br label %10318

10318:                                            ; preds = %10317
  br label %10319

10319:                                            ; preds = %10318, %10260
  br label %10320

10320:                                            ; preds = %10319
  br label %10321

10321:                                            ; preds = %10320
  br label %10322

10322:                                            ; preds = %10321
  %10323 = call i32 @s2n_hash_reset(ptr noundef %12)
  %10324 = icmp sgt i32 %10323, -1
  br i1 %10324, label %10326, label %10325

10325:                                            ; preds = %10322
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13330

10326:                                            ; preds = %10322
  br label %10327

10327:                                            ; preds = %10326
  br label %10328

10328:                                            ; preds = %10327
  br label %10329

10329:                                            ; preds = %10328
  %10330 = load i32, ptr @test_count, align 4, !tbaa !5
  %10331 = add nsw i32 %10330, 1
  store i32 %10331, ptr @test_count, align 4, !tbaa !5
  %10332 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %10333 = icmp ne i32 %10332, 0
  br i1 %10333, label %10387, label %10334

10334:                                            ; preds = %10329
  br label %10335

10335:                                            ; preds = %10334
  br label %10336

10336:                                            ; preds = %10335
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %10337 = call ptr @__errno_location() #12
  %10338 = load i32, ptr %10337, align 4, !tbaa !5
  store i32 %10338, ptr %194, align 4, !tbaa !5
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = call i32 @s2n_print_stacktrace(ptr noundef %10339)
  %10341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10342 = trunc i8 %10341 to i1
  br i1 %10342, label %10343, label %10365

10343:                                            ; preds = %10336
  %10344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10345 = call i32 @fileno(ptr noundef %10344) #11
  %10346 = call i32 @isatty(i32 noundef %10345) #11
  %10347 = icmp ne i32 %10346, 0
  br i1 %10347, label %10348, label %10365

10348:                                            ; preds = %10343
  %10349 = load i32, ptr %194, align 4, !tbaa !5
  %10350 = call ptr @__errno_location() #12
  store i32 %10349, ptr %10350, align 4, !tbaa !5
  %10351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10352 = load i32, ptr @test_count, align 4, !tbaa !5
  %10353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10354 = load i32, ptr %10353, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror(i32 noundef %10354, ptr noundef @.str.4)
  %10356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10357 = load i32, ptr %10356, align 4, !tbaa !5
  %10358 = call ptr @s2n_strerror_debug(i32 noundef %10357, ptr noundef @.str.4)
  %10359 = call ptr @__errno_location() #12
  %10360 = load i32, ptr %10359, align 4, !tbaa !5
  %10361 = call ptr @strerror(i32 noundef %10360) #11
  %10362 = call ptr @__errno_location() #12
  %10363 = load i32, ptr %10362, align 4, !tbaa !5
  %10364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10351, ptr noundef @.str.2, i32 noundef %10352, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 270, ptr noundef %10355, ptr noundef %10358, ptr noundef %10361, i32 noundef %10363) #11
  br label %10382

10365:                                            ; preds = %10343, %10336
  %10366 = load i32, ptr %194, align 4, !tbaa !5
  %10367 = call ptr @__errno_location() #12
  store i32 %10366, ptr %10367, align 4, !tbaa !5
  %10368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10369 = load i32, ptr @test_count, align 4, !tbaa !5
  %10370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  %10372 = call ptr @s2n_strerror(i32 noundef %10371, ptr noundef @.str.4)
  %10373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10374 = load i32, ptr %10373, align 4, !tbaa !5
  %10375 = call ptr @s2n_strerror_debug(i32 noundef %10374, ptr noundef @.str.4)
  %10376 = call ptr @__errno_location() #12
  %10377 = load i32, ptr %10376, align 4, !tbaa !5
  %10378 = call ptr @strerror(i32 noundef %10377) #11
  %10379 = call ptr @__errno_location() #12
  %10380 = load i32, ptr %10379, align 4, !tbaa !5
  %10381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10368, ptr noundef @.str.5, i32 noundef %10369, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 270, ptr noundef %10372, ptr noundef %10375, ptr noundef %10378, i32 noundef %10380) #11
  br label %10382

10382:                                            ; preds = %10365, %10348
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %10383

10383:                                            ; preds = %10382
  br label %10384

10384:                                            ; preds = %10383
  call void @exit(i32 noundef 1) #13
  unreachable

10385:                                            ; No predecessors!
  br label %10386

10386:                                            ; preds = %10385
  br label %10387

10387:                                            ; preds = %10386, %10329
  br label %10388

10388:                                            ; preds = %10387
  br label %10389

10389:                                            ; preds = %10388
  br label %10390

10390:                                            ; preds = %10389
  %10391 = load i32, ptr @test_count, align 4, !tbaa !5
  %10392 = add nsw i32 %10391, 1
  store i32 %10392, ptr @test_count, align 4, !tbaa !5
  %10393 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %10394 = icmp eq i32 %10393, -1
  br i1 %10394, label %10395, label %10448

10395:                                            ; preds = %10390
  br label %10396

10396:                                            ; preds = %10395
  br label %10397

10397:                                            ; preds = %10396
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %10398 = call ptr @__errno_location() #12
  %10399 = load i32, ptr %10398, align 4, !tbaa !5
  store i32 %10399, ptr %195, align 4, !tbaa !5
  %10400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10401 = call i32 @s2n_print_stacktrace(ptr noundef %10400)
  %10402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10403 = trunc i8 %10402 to i1
  br i1 %10403, label %10404, label %10426

10404:                                            ; preds = %10397
  %10405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10406 = call i32 @fileno(ptr noundef %10405) #11
  %10407 = call i32 @isatty(i32 noundef %10406) #11
  %10408 = icmp ne i32 %10407, 0
  br i1 %10408, label %10409, label %10426

10409:                                            ; preds = %10404
  %10410 = load i32, ptr %195, align 4, !tbaa !5
  %10411 = call ptr @__errno_location() #12
  store i32 %10410, ptr %10411, align 4, !tbaa !5
  %10412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10413 = load i32, ptr @test_count, align 4, !tbaa !5
  %10414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10415 = load i32, ptr %10414, align 4, !tbaa !5
  %10416 = call ptr @s2n_strerror(i32 noundef %10415, ptr noundef @.str.4)
  %10417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10418 = load i32, ptr %10417, align 4, !tbaa !5
  %10419 = call ptr @s2n_strerror_debug(i32 noundef %10418, ptr noundef @.str.4)
  %10420 = call ptr @__errno_location() #12
  %10421 = load i32, ptr %10420, align 4, !tbaa !5
  %10422 = call ptr @strerror(i32 noundef %10421) #11
  %10423 = call ptr @__errno_location() #12
  %10424 = load i32, ptr %10423, align 4, !tbaa !5
  %10425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10412, ptr noundef @.str.2, i32 noundef %10413, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 271, ptr noundef %10416, ptr noundef %10419, ptr noundef %10422, i32 noundef %10424) #11
  br label %10443

10426:                                            ; preds = %10404, %10397
  %10427 = load i32, ptr %195, align 4, !tbaa !5
  %10428 = call ptr @__errno_location() #12
  store i32 %10427, ptr %10428, align 4, !tbaa !5
  %10429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10430 = load i32, ptr @test_count, align 4, !tbaa !5
  %10431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  %10433 = call ptr @s2n_strerror(i32 noundef %10432, ptr noundef @.str.4)
  %10434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10435 = load i32, ptr %10434, align 4, !tbaa !5
  %10436 = call ptr @s2n_strerror_debug(i32 noundef %10435, ptr noundef @.str.4)
  %10437 = call ptr @__errno_location() #12
  %10438 = load i32, ptr %10437, align 4, !tbaa !5
  %10439 = call ptr @strerror(i32 noundef %10438) #11
  %10440 = call ptr @__errno_location() #12
  %10441 = load i32, ptr %10440, align 4, !tbaa !5
  %10442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10429, ptr noundef @.str.5, i32 noundef %10430, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 271, ptr noundef %10433, ptr noundef %10436, ptr noundef %10439, i32 noundef %10441) #11
  br label %10443

10443:                                            ; preds = %10426, %10409
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %10444

10444:                                            ; preds = %10443
  br label %10445

10445:                                            ; preds = %10444
  call void @exit(i32 noundef 1) #13
  unreachable

10446:                                            ; No predecessors!
  br label %10447

10447:                                            ; preds = %10446
  br label %10448

10448:                                            ; preds = %10447, %10390
  br label %10449

10449:                                            ; preds = %10448
  br label %10450

10450:                                            ; preds = %10449
  br label %10451

10451:                                            ; preds = %10450
  %10452 = load i32, ptr @test_count, align 4, !tbaa !5
  %10453 = add nsw i32 %10452, 1
  store i32 %10453, ptr @test_count, align 4, !tbaa !5
  %10454 = load i64, ptr %16, align 8, !tbaa !11
  %10455 = icmp eq i64 %10454, 0
  br i1 %10455, label %10509, label %10456

10456:                                            ; preds = %10451
  br label %10457

10457:                                            ; preds = %10456
  br label %10458

10458:                                            ; preds = %10457
  call void @llvm.lifetime.start.p0(i64 4, ptr %196) #11
  %10459 = call ptr @__errno_location() #12
  %10460 = load i32, ptr %10459, align 4, !tbaa !5
  store i32 %10460, ptr %196, align 4, !tbaa !5
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = call i32 @s2n_print_stacktrace(ptr noundef %10461)
  %10463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10464 = trunc i8 %10463 to i1
  br i1 %10464, label %10465, label %10487

10465:                                            ; preds = %10458
  %10466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10467 = call i32 @fileno(ptr noundef %10466) #11
  %10468 = call i32 @isatty(i32 noundef %10467) #11
  %10469 = icmp ne i32 %10468, 0
  br i1 %10469, label %10470, label %10487

10470:                                            ; preds = %10465
  %10471 = load i32, ptr %196, align 4, !tbaa !5
  %10472 = call ptr @__errno_location() #12
  store i32 %10471, ptr %10472, align 4, !tbaa !5
  %10473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10474 = load i32, ptr @test_count, align 4, !tbaa !5
  %10475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10476 = load i32, ptr %10475, align 4, !tbaa !5
  %10477 = call ptr @s2n_strerror(i32 noundef %10476, ptr noundef @.str.4)
  %10478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10479 = load i32, ptr %10478, align 4, !tbaa !5
  %10480 = call ptr @s2n_strerror_debug(i32 noundef %10479, ptr noundef @.str.4)
  %10481 = call ptr @__errno_location() #12
  %10482 = load i32, ptr %10481, align 4, !tbaa !5
  %10483 = call ptr @strerror(i32 noundef %10482) #11
  %10484 = call ptr @__errno_location() #12
  %10485 = load i32, ptr %10484, align 4, !tbaa !5
  %10486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10473, ptr noundef @.str.2, i32 noundef %10474, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 272, ptr noundef %10477, ptr noundef %10480, ptr noundef %10483, i32 noundef %10485) #11
  br label %10504

10487:                                            ; preds = %10465, %10458
  %10488 = load i32, ptr %196, align 4, !tbaa !5
  %10489 = call ptr @__errno_location() #12
  store i32 %10488, ptr %10489, align 4, !tbaa !5
  %10490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10491 = load i32, ptr @test_count, align 4, !tbaa !5
  %10492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10493 = load i32, ptr %10492, align 4, !tbaa !5
  %10494 = call ptr @s2n_strerror(i32 noundef %10493, ptr noundef @.str.4)
  %10495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10496 = load i32, ptr %10495, align 4, !tbaa !5
  %10497 = call ptr @s2n_strerror_debug(i32 noundef %10496, ptr noundef @.str.4)
  %10498 = call ptr @__errno_location() #12
  %10499 = load i32, ptr %10498, align 4, !tbaa !5
  %10500 = call ptr @strerror(i32 noundef %10499) #11
  %10501 = call ptr @__errno_location() #12
  %10502 = load i32, ptr %10501, align 4, !tbaa !5
  %10503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10490, ptr noundef @.str.5, i32 noundef %10491, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 272, ptr noundef %10494, ptr noundef %10497, ptr noundef %10500, i32 noundef %10502) #11
  br label %10504

10504:                                            ; preds = %10487, %10470
  call void @llvm.lifetime.end.p0(i64 4, ptr %196) #11
  br label %10505

10505:                                            ; preds = %10504
  br label %10506

10506:                                            ; preds = %10505
  call void @exit(i32 noundef 1) #13
  unreachable

10507:                                            ; No predecessors!
  br label %10508

10508:                                            ; preds = %10507
  br label %10509

10509:                                            ; preds = %10508, %10451
  br label %10510

10510:                                            ; preds = %10509
  br label %10511

10511:                                            ; preds = %10510
  call void @llvm.lifetime.start.p0(i64 1, ptr %197) #11
  store i8 0, ptr %197, align 1, !tbaa !17
  br label %10512

10512:                                            ; preds = %10511
  %10513 = call i32 @s2n_hash_digest_size(i32 noundef 5, ptr noundef %197)
  %10514 = icmp sgt i32 %10513, -1
  br i1 %10514, label %10516, label %10515

10515:                                            ; preds = %10512
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13329

10516:                                            ; preds = %10512
  br label %10517

10517:                                            ; preds = %10516
  br label %10518

10518:                                            ; preds = %10517
  br label %10519

10519:                                            ; preds = %10518
  %10520 = load i32, ptr @test_count, align 4, !tbaa !5
  %10521 = add nsw i32 %10520, 1
  store i32 %10521, ptr @test_count, align 4, !tbaa !5
  %10522 = load i8, ptr %197, align 1, !tbaa !17
  %10523 = zext i8 %10522 to i32
  %10524 = icmp eq i32 %10523, 48
  br i1 %10524, label %10578, label %10525

10525:                                            ; preds = %10519
  br label %10526

10526:                                            ; preds = %10525
  br label %10527

10527:                                            ; preds = %10526
  call void @llvm.lifetime.start.p0(i64 4, ptr %198) #11
  %10528 = call ptr @__errno_location() #12
  %10529 = load i32, ptr %10528, align 4, !tbaa !5
  store i32 %10529, ptr %198, align 4, !tbaa !5
  %10530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10531 = call i32 @s2n_print_stacktrace(ptr noundef %10530)
  %10532 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10533 = trunc i8 %10532 to i1
  br i1 %10533, label %10534, label %10556

10534:                                            ; preds = %10527
  %10535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10536 = call i32 @fileno(ptr noundef %10535) #11
  %10537 = call i32 @isatty(i32 noundef %10536) #11
  %10538 = icmp ne i32 %10537, 0
  br i1 %10538, label %10539, label %10556

10539:                                            ; preds = %10534
  %10540 = load i32, ptr %198, align 4, !tbaa !5
  %10541 = call ptr @__errno_location() #12
  store i32 %10540, ptr %10541, align 4, !tbaa !5
  %10542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10543 = load i32, ptr @test_count, align 4, !tbaa !5
  %10544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10545 = load i32, ptr %10544, align 4, !tbaa !5
  %10546 = call ptr @s2n_strerror(i32 noundef %10545, ptr noundef @.str.4)
  %10547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10548 = load i32, ptr %10547, align 4, !tbaa !5
  %10549 = call ptr @s2n_strerror_debug(i32 noundef %10548, ptr noundef @.str.4)
  %10550 = call ptr @__errno_location() #12
  %10551 = load i32, ptr %10550, align 4, !tbaa !5
  %10552 = call ptr @strerror(i32 noundef %10551) #11
  %10553 = call ptr @__errno_location() #12
  %10554 = load i32, ptr %10553, align 4, !tbaa !5
  %10555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10542, ptr noundef @.str.2, i32 noundef %10543, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 277, ptr noundef %10546, ptr noundef %10549, ptr noundef %10552, i32 noundef %10554) #11
  br label %10573

10556:                                            ; preds = %10534, %10527
  %10557 = load i32, ptr %198, align 4, !tbaa !5
  %10558 = call ptr @__errno_location() #12
  store i32 %10557, ptr %10558, align 4, !tbaa !5
  %10559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10560 = load i32, ptr @test_count, align 4, !tbaa !5
  %10561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10562 = load i32, ptr %10561, align 4, !tbaa !5
  %10563 = call ptr @s2n_strerror(i32 noundef %10562, ptr noundef @.str.4)
  %10564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10565 = load i32, ptr %10564, align 4, !tbaa !5
  %10566 = call ptr @s2n_strerror_debug(i32 noundef %10565, ptr noundef @.str.4)
  %10567 = call ptr @__errno_location() #12
  %10568 = load i32, ptr %10567, align 4, !tbaa !5
  %10569 = call ptr @strerror(i32 noundef %10568) #11
  %10570 = call ptr @__errno_location() #12
  %10571 = load i32, ptr %10570, align 4, !tbaa !5
  %10572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10559, ptr noundef @.str.5, i32 noundef %10560, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 277, ptr noundef %10563, ptr noundef %10566, ptr noundef %10569, i32 noundef %10571) #11
  br label %10573

10573:                                            ; preds = %10556, %10539
  call void @llvm.lifetime.end.p0(i64 4, ptr %198) #11
  br label %10574

10574:                                            ; preds = %10573
  br label %10575

10575:                                            ; preds = %10574
  call void @exit(i32 noundef 1) #13
  unreachable

10576:                                            ; No predecessors!
  br label %10577

10577:                                            ; preds = %10576
  br label %10578

10578:                                            ; preds = %10577, %10519
  br label %10579

10579:                                            ; preds = %10578
  br label %10580

10580:                                            ; preds = %10579
  br label %10581

10581:                                            ; preds = %10580
  %10582 = load i32, ptr @test_count, align 4, !tbaa !5
  %10583 = add nsw i32 %10582, 1
  store i32 %10583, ptr @test_count, align 4, !tbaa !5
  %10584 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 5)
  %10585 = icmp eq i32 %10584, -1
  br i1 %10585, label %10586, label %10639

10586:                                            ; preds = %10581
  br label %10587

10587:                                            ; preds = %10586
  br label %10588

10588:                                            ; preds = %10587
  call void @llvm.lifetime.start.p0(i64 4, ptr %199) #11
  %10589 = call ptr @__errno_location() #12
  %10590 = load i32, ptr %10589, align 4, !tbaa !5
  store i32 %10590, ptr %199, align 4, !tbaa !5
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = call i32 @s2n_print_stacktrace(ptr noundef %10591)
  %10593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10594 = trunc i8 %10593 to i1
  br i1 %10594, label %10595, label %10617

10595:                                            ; preds = %10588
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = call i32 @fileno(ptr noundef %10596) #11
  %10598 = call i32 @isatty(i32 noundef %10597) #11
  %10599 = icmp ne i32 %10598, 0
  br i1 %10599, label %10600, label %10617

10600:                                            ; preds = %10595
  %10601 = load i32, ptr %199, align 4, !tbaa !5
  %10602 = call ptr @__errno_location() #12
  store i32 %10601, ptr %10602, align 4, !tbaa !5
  %10603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10604 = load i32, ptr @test_count, align 4, !tbaa !5
  %10605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10606 = load i32, ptr %10605, align 4, !tbaa !5
  %10607 = call ptr @s2n_strerror(i32 noundef %10606, ptr noundef @.str.4)
  %10608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10609 = load i32, ptr %10608, align 4, !tbaa !5
  %10610 = call ptr @s2n_strerror_debug(i32 noundef %10609, ptr noundef @.str.4)
  %10611 = call ptr @__errno_location() #12
  %10612 = load i32, ptr %10611, align 4, !tbaa !5
  %10613 = call ptr @strerror(i32 noundef %10612) #11
  %10614 = call ptr @__errno_location() #12
  %10615 = load i32, ptr %10614, align 4, !tbaa !5
  %10616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10603, ptr noundef @.str.2, i32 noundef %10604, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 278, ptr noundef %10607, ptr noundef %10610, ptr noundef %10613, i32 noundef %10615) #11
  br label %10634

10617:                                            ; preds = %10595, %10588
  %10618 = load i32, ptr %199, align 4, !tbaa !5
  %10619 = call ptr @__errno_location() #12
  store i32 %10618, ptr %10619, align 4, !tbaa !5
  %10620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10621 = load i32, ptr @test_count, align 4, !tbaa !5
  %10622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10623 = load i32, ptr %10622, align 4, !tbaa !5
  %10624 = call ptr @s2n_strerror(i32 noundef %10623, ptr noundef @.str.4)
  %10625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10626 = load i32, ptr %10625, align 4, !tbaa !5
  %10627 = call ptr @s2n_strerror_debug(i32 noundef %10626, ptr noundef @.str.4)
  %10628 = call ptr @__errno_location() #12
  %10629 = load i32, ptr %10628, align 4, !tbaa !5
  %10630 = call ptr @strerror(i32 noundef %10629) #11
  %10631 = call ptr @__errno_location() #12
  %10632 = load i32, ptr %10631, align 4, !tbaa !5
  %10633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10620, ptr noundef @.str.5, i32 noundef %10621, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 278, ptr noundef %10624, ptr noundef %10627, ptr noundef %10630, i32 noundef %10632) #11
  br label %10634

10634:                                            ; preds = %10617, %10600
  call void @llvm.lifetime.end.p0(i64 4, ptr %199) #11
  br label %10635

10635:                                            ; preds = %10634
  br label %10636

10636:                                            ; preds = %10635
  call void @exit(i32 noundef 1) #13
  unreachable

10637:                                            ; No predecessors!
  br label %10638

10638:                                            ; preds = %10637
  br label %10639

10639:                                            ; preds = %10638, %10581
  br label %10640

10640:                                            ; preds = %10639
  br label %10641

10641:                                            ; preds = %10640
  br label %10642

10642:                                            ; preds = %10641
  %10643 = load i32, ptr @test_count, align 4, !tbaa !5
  %10644 = add nsw i32 %10643, 1
  store i32 %10644, ptr @test_count, align 4, !tbaa !5
  %10645 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %10646 = icmp ne i32 %10645, 0
  br i1 %10646, label %10700, label %10647

10647:                                            ; preds = %10642
  br label %10648

10648:                                            ; preds = %10647
  br label %10649

10649:                                            ; preds = %10648
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %10650 = call ptr @__errno_location() #12
  %10651 = load i32, ptr %10650, align 4, !tbaa !5
  store i32 %10651, ptr %200, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = call i32 @s2n_print_stacktrace(ptr noundef %10652)
  %10654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10655 = trunc i8 %10654 to i1
  br i1 %10655, label %10656, label %10678

10656:                                            ; preds = %10649
  %10657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10658 = call i32 @fileno(ptr noundef %10657) #11
  %10659 = call i32 @isatty(i32 noundef %10658) #11
  %10660 = icmp ne i32 %10659, 0
  br i1 %10660, label %10661, label %10678

10661:                                            ; preds = %10656
  %10662 = load i32, ptr %200, align 4, !tbaa !5
  %10663 = call ptr @__errno_location() #12
  store i32 %10662, ptr %10663, align 4, !tbaa !5
  %10664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10665 = load i32, ptr @test_count, align 4, !tbaa !5
  %10666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10667 = load i32, ptr %10666, align 4, !tbaa !5
  %10668 = call ptr @s2n_strerror(i32 noundef %10667, ptr noundef @.str.4)
  %10669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10670 = load i32, ptr %10669, align 4, !tbaa !5
  %10671 = call ptr @s2n_strerror_debug(i32 noundef %10670, ptr noundef @.str.4)
  %10672 = call ptr @__errno_location() #12
  %10673 = load i32, ptr %10672, align 4, !tbaa !5
  %10674 = call ptr @strerror(i32 noundef %10673) #11
  %10675 = call ptr @__errno_location() #12
  %10676 = load i32, ptr %10675, align 4, !tbaa !5
  %10677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10664, ptr noundef @.str.2, i32 noundef %10665, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 279, ptr noundef %10668, ptr noundef %10671, ptr noundef %10674, i32 noundef %10676) #11
  br label %10695

10678:                                            ; preds = %10656, %10649
  %10679 = load i32, ptr %200, align 4, !tbaa !5
  %10680 = call ptr @__errno_location() #12
  store i32 %10679, ptr %10680, align 4, !tbaa !5
  %10681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10682 = load i32, ptr @test_count, align 4, !tbaa !5
  %10683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10684 = load i32, ptr %10683, align 4, !tbaa !5
  %10685 = call ptr @s2n_strerror(i32 noundef %10684, ptr noundef @.str.4)
  %10686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10687 = load i32, ptr %10686, align 4, !tbaa !5
  %10688 = call ptr @s2n_strerror_debug(i32 noundef %10687, ptr noundef @.str.4)
  %10689 = call ptr @__errno_location() #12
  %10690 = load i32, ptr %10689, align 4, !tbaa !5
  %10691 = call ptr @strerror(i32 noundef %10690) #11
  %10692 = call ptr @__errno_location() #12
  %10693 = load i32, ptr %10692, align 4, !tbaa !5
  %10694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10681, ptr noundef @.str.5, i32 noundef %10682, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 279, ptr noundef %10685, ptr noundef %10688, ptr noundef %10691, i32 noundef %10693) #11
  br label %10695

10695:                                            ; preds = %10678, %10661
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %10696

10696:                                            ; preds = %10695
  br label %10697

10697:                                            ; preds = %10696
  call void @exit(i32 noundef 1) #13
  unreachable

10698:                                            ; No predecessors!
  br label %10699

10699:                                            ; preds = %10698
  br label %10700

10700:                                            ; preds = %10699, %10642
  br label %10701

10701:                                            ; preds = %10700
  br label %10702

10702:                                            ; preds = %10701
  br label %10703

10703:                                            ; preds = %10702
  %10704 = load i32, ptr @test_count, align 4, !tbaa !5
  %10705 = add nsw i32 %10704, 1
  store i32 %10705, ptr @test_count, align 4, !tbaa !5
  %10706 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %10707 = icmp eq i32 %10706, -1
  br i1 %10707, label %10708, label %10761

10708:                                            ; preds = %10703
  br label %10709

10709:                                            ; preds = %10708
  br label %10710

10710:                                            ; preds = %10709
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %10711 = call ptr @__errno_location() #12
  %10712 = load i32, ptr %10711, align 4, !tbaa !5
  store i32 %10712, ptr %201, align 4, !tbaa !5
  %10713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10714 = call i32 @s2n_print_stacktrace(ptr noundef %10713)
  %10715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10716 = trunc i8 %10715 to i1
  br i1 %10716, label %10717, label %10739

10717:                                            ; preds = %10710
  %10718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10719 = call i32 @fileno(ptr noundef %10718) #11
  %10720 = call i32 @isatty(i32 noundef %10719) #11
  %10721 = icmp ne i32 %10720, 0
  br i1 %10721, label %10722, label %10739

10722:                                            ; preds = %10717
  %10723 = load i32, ptr %201, align 4, !tbaa !5
  %10724 = call ptr @__errno_location() #12
  store i32 %10723, ptr %10724, align 4, !tbaa !5
  %10725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10726 = load i32, ptr @test_count, align 4, !tbaa !5
  %10727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10728 = load i32, ptr %10727, align 4, !tbaa !5
  %10729 = call ptr @s2n_strerror(i32 noundef %10728, ptr noundef @.str.4)
  %10730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  %10732 = call ptr @s2n_strerror_debug(i32 noundef %10731, ptr noundef @.str.4)
  %10733 = call ptr @__errno_location() #12
  %10734 = load i32, ptr %10733, align 4, !tbaa !5
  %10735 = call ptr @strerror(i32 noundef %10734) #11
  %10736 = call ptr @__errno_location() #12
  %10737 = load i32, ptr %10736, align 4, !tbaa !5
  %10738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10725, ptr noundef @.str.2, i32 noundef %10726, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 280, ptr noundef %10729, ptr noundef %10732, ptr noundef %10735, i32 noundef %10737) #11
  br label %10756

10739:                                            ; preds = %10717, %10710
  %10740 = load i32, ptr %201, align 4, !tbaa !5
  %10741 = call ptr @__errno_location() #12
  store i32 %10740, ptr %10741, align 4, !tbaa !5
  %10742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10743 = load i32, ptr @test_count, align 4, !tbaa !5
  %10744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10745 = load i32, ptr %10744, align 4, !tbaa !5
  %10746 = call ptr @s2n_strerror(i32 noundef %10745, ptr noundef @.str.4)
  %10747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10748 = load i32, ptr %10747, align 4, !tbaa !5
  %10749 = call ptr @s2n_strerror_debug(i32 noundef %10748, ptr noundef @.str.4)
  %10750 = call ptr @__errno_location() #12
  %10751 = load i32, ptr %10750, align 4, !tbaa !5
  %10752 = call ptr @strerror(i32 noundef %10751) #11
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  %10755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10742, ptr noundef @.str.5, i32 noundef %10743, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 280, ptr noundef %10746, ptr noundef %10749, ptr noundef %10752, i32 noundef %10754) #11
  br label %10756

10756:                                            ; preds = %10739, %10722
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %10757

10757:                                            ; preds = %10756
  br label %10758

10758:                                            ; preds = %10757
  call void @exit(i32 noundef 1) #13
  unreachable

10759:                                            ; No predecessors!
  br label %10760

10760:                                            ; preds = %10759
  br label %10761

10761:                                            ; preds = %10760, %10703
  br label %10762

10762:                                            ; preds = %10761
  br label %10763

10763:                                            ; preds = %10762
  br label %10764

10764:                                            ; preds = %10763
  %10765 = load i32, ptr @test_count, align 4, !tbaa !5
  %10766 = add nsw i32 %10765, 1
  store i32 %10766, ptr @test_count, align 4, !tbaa !5
  %10767 = load i64, ptr %16, align 8, !tbaa !11
  %10768 = icmp eq i64 %10767, 0
  br i1 %10768, label %10822, label %10769

10769:                                            ; preds = %10764
  br label %10770

10770:                                            ; preds = %10769
  br label %10771

10771:                                            ; preds = %10770
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %10772 = call ptr @__errno_location() #12
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  store i32 %10773, ptr %202, align 4, !tbaa !5
  %10774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10775 = call i32 @s2n_print_stacktrace(ptr noundef %10774)
  %10776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10777 = trunc i8 %10776 to i1
  br i1 %10777, label %10778, label %10800

10778:                                            ; preds = %10771
  %10779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10780 = call i32 @fileno(ptr noundef %10779) #11
  %10781 = call i32 @isatty(i32 noundef %10780) #11
  %10782 = icmp ne i32 %10781, 0
  br i1 %10782, label %10783, label %10800

10783:                                            ; preds = %10778
  %10784 = load i32, ptr %202, align 4, !tbaa !5
  %10785 = call ptr @__errno_location() #12
  store i32 %10784, ptr %10785, align 4, !tbaa !5
  %10786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10787 = load i32, ptr @test_count, align 4, !tbaa !5
  %10788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10789 = load i32, ptr %10788, align 4, !tbaa !5
  %10790 = call ptr @s2n_strerror(i32 noundef %10789, ptr noundef @.str.4)
  %10791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10792 = load i32, ptr %10791, align 4, !tbaa !5
  %10793 = call ptr @s2n_strerror_debug(i32 noundef %10792, ptr noundef @.str.4)
  %10794 = call ptr @__errno_location() #12
  %10795 = load i32, ptr %10794, align 4, !tbaa !5
  %10796 = call ptr @strerror(i32 noundef %10795) #11
  %10797 = call ptr @__errno_location() #12
  %10798 = load i32, ptr %10797, align 4, !tbaa !5
  %10799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10786, ptr noundef @.str.2, i32 noundef %10787, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 281, ptr noundef %10790, ptr noundef %10793, ptr noundef %10796, i32 noundef %10798) #11
  br label %10817

10800:                                            ; preds = %10778, %10771
  %10801 = load i32, ptr %202, align 4, !tbaa !5
  %10802 = call ptr @__errno_location() #12
  store i32 %10801, ptr %10802, align 4, !tbaa !5
  %10803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10804 = load i32, ptr @test_count, align 4, !tbaa !5
  %10805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10806 = load i32, ptr %10805, align 4, !tbaa !5
  %10807 = call ptr @s2n_strerror(i32 noundef %10806, ptr noundef @.str.4)
  %10808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10809 = load i32, ptr %10808, align 4, !tbaa !5
  %10810 = call ptr @s2n_strerror_debug(i32 noundef %10809, ptr noundef @.str.4)
  %10811 = call ptr @__errno_location() #12
  %10812 = load i32, ptr %10811, align 4, !tbaa !5
  %10813 = call ptr @strerror(i32 noundef %10812) #11
  %10814 = call ptr @__errno_location() #12
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  %10816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10803, ptr noundef @.str.5, i32 noundef %10804, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 281, ptr noundef %10807, ptr noundef %10810, ptr noundef %10813, i32 noundef %10815) #11
  br label %10817

10817:                                            ; preds = %10800, %10783
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %10818

10818:                                            ; preds = %10817
  br label %10819

10819:                                            ; preds = %10818
  call void @exit(i32 noundef 1) #13
  unreachable

10820:                                            ; No predecessors!
  br label %10821

10821:                                            ; preds = %10820
  br label %10822

10822:                                            ; preds = %10821, %10764
  br label %10823

10823:                                            ; preds = %10822
  br label %10824

10824:                                            ; preds = %10823
  br label %10825

10825:                                            ; preds = %10824
  %10826 = load i32, ptr @test_count, align 4, !tbaa !5
  %10827 = add nsw i32 %10826, 1
  store i32 %10827, ptr @test_count, align 4, !tbaa !5
  %10828 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %10829 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %10830 = call i64 @strlen(ptr noundef %10829) #14
  %10831 = trunc i64 %10830 to i32
  %10832 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %10828, i32 noundef %10831)
  %10833 = icmp eq i32 %10832, -1
  br i1 %10833, label %10834, label %10887

10834:                                            ; preds = %10825
  br label %10835

10835:                                            ; preds = %10834
  br label %10836

10836:                                            ; preds = %10835
  call void @llvm.lifetime.start.p0(i64 4, ptr %203) #11
  %10837 = call ptr @__errno_location() #12
  %10838 = load i32, ptr %10837, align 4, !tbaa !5
  store i32 %10838, ptr %203, align 4, !tbaa !5
  %10839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10840 = call i32 @s2n_print_stacktrace(ptr noundef %10839)
  %10841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10842 = trunc i8 %10841 to i1
  br i1 %10842, label %10843, label %10865

10843:                                            ; preds = %10836
  %10844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10845 = call i32 @fileno(ptr noundef %10844) #11
  %10846 = call i32 @isatty(i32 noundef %10845) #11
  %10847 = icmp ne i32 %10846, 0
  br i1 %10847, label %10848, label %10865

10848:                                            ; preds = %10843
  %10849 = load i32, ptr %203, align 4, !tbaa !5
  %10850 = call ptr @__errno_location() #12
  store i32 %10849, ptr %10850, align 4, !tbaa !5
  %10851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10852 = load i32, ptr @test_count, align 4, !tbaa !5
  %10853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10854 = load i32, ptr %10853, align 4, !tbaa !5
  %10855 = call ptr @s2n_strerror(i32 noundef %10854, ptr noundef @.str.4)
  %10856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  %10858 = call ptr @s2n_strerror_debug(i32 noundef %10857, ptr noundef @.str.4)
  %10859 = call ptr @__errno_location() #12
  %10860 = load i32, ptr %10859, align 4, !tbaa !5
  %10861 = call ptr @strerror(i32 noundef %10860) #11
  %10862 = call ptr @__errno_location() #12
  %10863 = load i32, ptr %10862, align 4, !tbaa !5
  %10864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10851, ptr noundef @.str.2, i32 noundef %10852, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 283, ptr noundef %10855, ptr noundef %10858, ptr noundef %10861, i32 noundef %10863) #11
  br label %10882

10865:                                            ; preds = %10843, %10836
  %10866 = load i32, ptr %203, align 4, !tbaa !5
  %10867 = call ptr @__errno_location() #12
  store i32 %10866, ptr %10867, align 4, !tbaa !5
  %10868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10869 = load i32, ptr @test_count, align 4, !tbaa !5
  %10870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10871 = load i32, ptr %10870, align 4, !tbaa !5
  %10872 = call ptr @s2n_strerror(i32 noundef %10871, ptr noundef @.str.4)
  %10873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10874 = load i32, ptr %10873, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror_debug(i32 noundef %10874, ptr noundef @.str.4)
  %10876 = call ptr @__errno_location() #12
  %10877 = load i32, ptr %10876, align 4, !tbaa !5
  %10878 = call ptr @strerror(i32 noundef %10877) #11
  %10879 = call ptr @__errno_location() #12
  %10880 = load i32, ptr %10879, align 4, !tbaa !5
  %10881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10868, ptr noundef @.str.5, i32 noundef %10869, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 283, ptr noundef %10872, ptr noundef %10875, ptr noundef %10878, i32 noundef %10880) #11
  br label %10882

10882:                                            ; preds = %10865, %10848
  call void @llvm.lifetime.end.p0(i64 4, ptr %203) #11
  br label %10883

10883:                                            ; preds = %10882
  br label %10884

10884:                                            ; preds = %10883
  call void @exit(i32 noundef 1) #13
  unreachable

10885:                                            ; No predecessors!
  br label %10886

10886:                                            ; preds = %10885
  br label %10887

10887:                                            ; preds = %10886, %10825
  br label %10888

10888:                                            ; preds = %10887
  br label %10889

10889:                                            ; preds = %10888
  br label %10890

10890:                                            ; preds = %10889
  %10891 = load i32, ptr @test_count, align 4, !tbaa !5
  %10892 = add nsw i32 %10891, 1
  store i32 %10892, ptr @test_count, align 4, !tbaa !5
  %10893 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %10894 = icmp ne i32 %10893, 0
  br i1 %10894, label %10948, label %10895

10895:                                            ; preds = %10890
  br label %10896

10896:                                            ; preds = %10895
  br label %10897

10897:                                            ; preds = %10896
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  %10898 = call ptr @__errno_location() #12
  %10899 = load i32, ptr %10898, align 4, !tbaa !5
  store i32 %10899, ptr %204, align 4, !tbaa !5
  %10900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10901 = call i32 @s2n_print_stacktrace(ptr noundef %10900)
  %10902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10903 = trunc i8 %10902 to i1
  br i1 %10903, label %10904, label %10926

10904:                                            ; preds = %10897
  %10905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10906 = call i32 @fileno(ptr noundef %10905) #11
  %10907 = call i32 @isatty(i32 noundef %10906) #11
  %10908 = icmp ne i32 %10907, 0
  br i1 %10908, label %10909, label %10926

10909:                                            ; preds = %10904
  %10910 = load i32, ptr %204, align 4, !tbaa !5
  %10911 = call ptr @__errno_location() #12
  store i32 %10910, ptr %10911, align 4, !tbaa !5
  %10912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10913 = load i32, ptr @test_count, align 4, !tbaa !5
  %10914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10915 = load i32, ptr %10914, align 4, !tbaa !5
  %10916 = call ptr @s2n_strerror(i32 noundef %10915, ptr noundef @.str.4)
  %10917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10918 = load i32, ptr %10917, align 4, !tbaa !5
  %10919 = call ptr @s2n_strerror_debug(i32 noundef %10918, ptr noundef @.str.4)
  %10920 = call ptr @__errno_location() #12
  %10921 = load i32, ptr %10920, align 4, !tbaa !5
  %10922 = call ptr @strerror(i32 noundef %10921) #11
  %10923 = call ptr @__errno_location() #12
  %10924 = load i32, ptr %10923, align 4, !tbaa !5
  %10925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10912, ptr noundef @.str.2, i32 noundef %10913, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 284, ptr noundef %10916, ptr noundef %10919, ptr noundef %10922, i32 noundef %10924) #11
  br label %10943

10926:                                            ; preds = %10904, %10897
  %10927 = load i32, ptr %204, align 4, !tbaa !5
  %10928 = call ptr @__errno_location() #12
  store i32 %10927, ptr %10928, align 4, !tbaa !5
  %10929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10930 = load i32, ptr @test_count, align 4, !tbaa !5
  %10931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10932 = load i32, ptr %10931, align 4, !tbaa !5
  %10933 = call ptr @s2n_strerror(i32 noundef %10932, ptr noundef @.str.4)
  %10934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10935 = load i32, ptr %10934, align 4, !tbaa !5
  %10936 = call ptr @s2n_strerror_debug(i32 noundef %10935, ptr noundef @.str.4)
  %10937 = call ptr @__errno_location() #12
  %10938 = load i32, ptr %10937, align 4, !tbaa !5
  %10939 = call ptr @strerror(i32 noundef %10938) #11
  %10940 = call ptr @__errno_location() #12
  %10941 = load i32, ptr %10940, align 4, !tbaa !5
  %10942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10929, ptr noundef @.str.5, i32 noundef %10930, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 284, ptr noundef %10933, ptr noundef %10936, ptr noundef %10939, i32 noundef %10941) #11
  br label %10943

10943:                                            ; preds = %10926, %10909
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  br label %10944

10944:                                            ; preds = %10943
  br label %10945

10945:                                            ; preds = %10944
  call void @exit(i32 noundef 1) #13
  unreachable

10946:                                            ; No predecessors!
  br label %10947

10947:                                            ; preds = %10946
  br label %10948

10948:                                            ; preds = %10947, %10890
  br label %10949

10949:                                            ; preds = %10948
  br label %10950

10950:                                            ; preds = %10949
  br label %10951

10951:                                            ; preds = %10950
  %10952 = load i32, ptr @test_count, align 4, !tbaa !5
  %10953 = add nsw i32 %10952, 1
  store i32 %10953, ptr @test_count, align 4, !tbaa !5
  %10954 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %10955 = icmp eq i32 %10954, -1
  br i1 %10955, label %10956, label %11009

10956:                                            ; preds = %10951
  br label %10957

10957:                                            ; preds = %10956
  br label %10958

10958:                                            ; preds = %10957
  call void @llvm.lifetime.start.p0(i64 4, ptr %205) #11
  %10959 = call ptr @__errno_location() #12
  %10960 = load i32, ptr %10959, align 4, !tbaa !5
  store i32 %10960, ptr %205, align 4, !tbaa !5
  %10961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10962 = call i32 @s2n_print_stacktrace(ptr noundef %10961)
  %10963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %10964 = trunc i8 %10963 to i1
  br i1 %10964, label %10965, label %10987

10965:                                            ; preds = %10958
  %10966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10967 = call i32 @fileno(ptr noundef %10966) #11
  %10968 = call i32 @isatty(i32 noundef %10967) #11
  %10969 = icmp ne i32 %10968, 0
  br i1 %10969, label %10970, label %10987

10970:                                            ; preds = %10965
  %10971 = load i32, ptr %205, align 4, !tbaa !5
  %10972 = call ptr @__errno_location() #12
  store i32 %10971, ptr %10972, align 4, !tbaa !5
  %10973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10974 = load i32, ptr @test_count, align 4, !tbaa !5
  %10975 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10976 = load i32, ptr %10975, align 4, !tbaa !5
  %10977 = call ptr @s2n_strerror(i32 noundef %10976, ptr noundef @.str.4)
  %10978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror_debug(i32 noundef %10979, ptr noundef @.str.4)
  %10981 = call ptr @__errno_location() #12
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @strerror(i32 noundef %10982) #11
  %10984 = call ptr @__errno_location() #12
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10973, ptr noundef @.str.2, i32 noundef %10974, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 285, ptr noundef %10977, ptr noundef %10980, ptr noundef %10983, i32 noundef %10985) #11
  br label %11004

10987:                                            ; preds = %10965, %10958
  %10988 = load i32, ptr %205, align 4, !tbaa !5
  %10989 = call ptr @__errno_location() #12
  store i32 %10988, ptr %10989, align 4, !tbaa !5
  %10990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10991 = load i32, ptr @test_count, align 4, !tbaa !5
  %10992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10993 = load i32, ptr %10992, align 4, !tbaa !5
  %10994 = call ptr @s2n_strerror(i32 noundef %10993, ptr noundef @.str.4)
  %10995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10996 = load i32, ptr %10995, align 4, !tbaa !5
  %10997 = call ptr @s2n_strerror_debug(i32 noundef %10996, ptr noundef @.str.4)
  %10998 = call ptr @__errno_location() #12
  %10999 = load i32, ptr %10998, align 4, !tbaa !5
  %11000 = call ptr @strerror(i32 noundef %10999) #11
  %11001 = call ptr @__errno_location() #12
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10990, ptr noundef @.str.5, i32 noundef %10991, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 285, ptr noundef %10994, ptr noundef %10997, ptr noundef %11000, i32 noundef %11002) #11
  br label %11004

11004:                                            ; preds = %10987, %10970
  call void @llvm.lifetime.end.p0(i64 4, ptr %205) #11
  br label %11005

11005:                                            ; preds = %11004
  br label %11006

11006:                                            ; preds = %11005
  call void @exit(i32 noundef 1) #13
  unreachable

11007:                                            ; No predecessors!
  br label %11008

11008:                                            ; preds = %11007
  br label %11009

11009:                                            ; preds = %11008, %10951
  br label %11010

11010:                                            ; preds = %11009
  br label %11011

11011:                                            ; preds = %11010
  br label %11012

11012:                                            ; preds = %11011
  %11013 = load i32, ptr @test_count, align 4, !tbaa !5
  %11014 = add nsw i32 %11013, 1
  store i32 %11014, ptr @test_count, align 4, !tbaa !5
  %11015 = load i64, ptr %16, align 8, !tbaa !11
  %11016 = icmp eq i64 %11015, 13
  br i1 %11016, label %11070, label %11017

11017:                                            ; preds = %11012
  br label %11018

11018:                                            ; preds = %11017
  br label %11019

11019:                                            ; preds = %11018
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %11020 = call ptr @__errno_location() #12
  %11021 = load i32, ptr %11020, align 4, !tbaa !5
  store i32 %11021, ptr %206, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = call i32 @s2n_print_stacktrace(ptr noundef %11022)
  %11024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11025 = trunc i8 %11024 to i1
  br i1 %11025, label %11026, label %11048

11026:                                            ; preds = %11019
  %11027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11028 = call i32 @fileno(ptr noundef %11027) #11
  %11029 = call i32 @isatty(i32 noundef %11028) #11
  %11030 = icmp ne i32 %11029, 0
  br i1 %11030, label %11031, label %11048

11031:                                            ; preds = %11026
  %11032 = load i32, ptr %206, align 4, !tbaa !5
  %11033 = call ptr @__errno_location() #12
  store i32 %11032, ptr %11033, align 4, !tbaa !5
  %11034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11035 = load i32, ptr @test_count, align 4, !tbaa !5
  %11036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11037 = load i32, ptr %11036, align 4, !tbaa !5
  %11038 = call ptr @s2n_strerror(i32 noundef %11037, ptr noundef @.str.4)
  %11039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11040 = load i32, ptr %11039, align 4, !tbaa !5
  %11041 = call ptr @s2n_strerror_debug(i32 noundef %11040, ptr noundef @.str.4)
  %11042 = call ptr @__errno_location() #12
  %11043 = load i32, ptr %11042, align 4, !tbaa !5
  %11044 = call ptr @strerror(i32 noundef %11043) #11
  %11045 = call ptr @__errno_location() #12
  %11046 = load i32, ptr %11045, align 4, !tbaa !5
  %11047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11034, ptr noundef @.str.2, i32 noundef %11035, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 286, ptr noundef %11038, ptr noundef %11041, ptr noundef %11044, i32 noundef %11046) #11
  br label %11065

11048:                                            ; preds = %11026, %11019
  %11049 = load i32, ptr %206, align 4, !tbaa !5
  %11050 = call ptr @__errno_location() #12
  store i32 %11049, ptr %11050, align 4, !tbaa !5
  %11051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %11053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11054 = load i32, ptr %11053, align 4, !tbaa !5
  %11055 = call ptr @s2n_strerror(i32 noundef %11054, ptr noundef @.str.4)
  %11056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11057 = load i32, ptr %11056, align 4, !tbaa !5
  %11058 = call ptr @s2n_strerror_debug(i32 noundef %11057, ptr noundef @.str.4)
  %11059 = call ptr @__errno_location() #12
  %11060 = load i32, ptr %11059, align 4, !tbaa !5
  %11061 = call ptr @strerror(i32 noundef %11060) #11
  %11062 = call ptr @__errno_location() #12
  %11063 = load i32, ptr %11062, align 4, !tbaa !5
  %11064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11051, ptr noundef @.str.5, i32 noundef %11052, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 286, ptr noundef %11055, ptr noundef %11058, ptr noundef %11061, i32 noundef %11063) #11
  br label %11065

11065:                                            ; preds = %11048, %11031
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %11066

11066:                                            ; preds = %11065
  br label %11067

11067:                                            ; preds = %11066
  call void @exit(i32 noundef 1) #13
  unreachable

11068:                                            ; No predecessors!
  br label %11069

11069:                                            ; preds = %11068
  br label %11070

11070:                                            ; preds = %11069, %11012
  br label %11071

11071:                                            ; preds = %11070
  br label %11072

11072:                                            ; preds = %11071
  br label %11073

11073:                                            ; preds = %11072
  %11074 = load i32, ptr @test_count, align 4, !tbaa !5
  %11075 = add nsw i32 %11074, 1
  store i32 %11075, ptr @test_count, align 4, !tbaa !5
  %11076 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %11077 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %11076, i32 noundef 48)
  %11078 = icmp eq i32 %11077, -1
  br i1 %11078, label %11079, label %11132

11079:                                            ; preds = %11073
  br label %11080

11080:                                            ; preds = %11079
  br label %11081

11081:                                            ; preds = %11080
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %11082 = call ptr @__errno_location() #12
  %11083 = load i32, ptr %11082, align 4, !tbaa !5
  store i32 %11083, ptr %207, align 4, !tbaa !5
  %11084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11085 = call i32 @s2n_print_stacktrace(ptr noundef %11084)
  %11086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11087 = trunc i8 %11086 to i1
  br i1 %11087, label %11088, label %11110

11088:                                            ; preds = %11081
  %11089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11090 = call i32 @fileno(ptr noundef %11089) #11
  %11091 = call i32 @isatty(i32 noundef %11090) #11
  %11092 = icmp ne i32 %11091, 0
  br i1 %11092, label %11093, label %11110

11093:                                            ; preds = %11088
  %11094 = load i32, ptr %207, align 4, !tbaa !5
  %11095 = call ptr @__errno_location() #12
  store i32 %11094, ptr %11095, align 4, !tbaa !5
  %11096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11099 = load i32, ptr %11098, align 4, !tbaa !5
  %11100 = call ptr @s2n_strerror(i32 noundef %11099, ptr noundef @.str.4)
  %11101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11102 = load i32, ptr %11101, align 4, !tbaa !5
  %11103 = call ptr @s2n_strerror_debug(i32 noundef %11102, ptr noundef @.str.4)
  %11104 = call ptr @__errno_location() #12
  %11105 = load i32, ptr %11104, align 4, !tbaa !5
  %11106 = call ptr @strerror(i32 noundef %11105) #11
  %11107 = call ptr @__errno_location() #12
  %11108 = load i32, ptr %11107, align 4, !tbaa !5
  %11109 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11096, ptr noundef @.str.2, i32 noundef %11097, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11100, ptr noundef %11103, ptr noundef %11106, i32 noundef %11108) #11
  br label %11127

11110:                                            ; preds = %11088, %11081
  %11111 = load i32, ptr %207, align 4, !tbaa !5
  %11112 = call ptr @__errno_location() #12
  store i32 %11111, ptr %11112, align 4, !tbaa !5
  %11113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11114 = load i32, ptr @test_count, align 4, !tbaa !5
  %11115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11116 = load i32, ptr %11115, align 4, !tbaa !5
  %11117 = call ptr @s2n_strerror(i32 noundef %11116, ptr noundef @.str.4)
  %11118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11119 = load i32, ptr %11118, align 4, !tbaa !5
  %11120 = call ptr @s2n_strerror_debug(i32 noundef %11119, ptr noundef @.str.4)
  %11121 = call ptr @__errno_location() #12
  %11122 = load i32, ptr %11121, align 4, !tbaa !5
  %11123 = call ptr @strerror(i32 noundef %11122) #11
  %11124 = call ptr @__errno_location() #12
  %11125 = load i32, ptr %11124, align 4, !tbaa !5
  %11126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11113, ptr noundef @.str.5, i32 noundef %11114, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 288, ptr noundef %11117, ptr noundef %11120, ptr noundef %11123, i32 noundef %11125) #11
  br label %11127

11127:                                            ; preds = %11110, %11093
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %11128

11128:                                            ; preds = %11127
  br label %11129

11129:                                            ; preds = %11128
  call void @exit(i32 noundef 1) #13
  unreachable

11130:                                            ; No predecessors!
  br label %11131

11131:                                            ; preds = %11130
  br label %11132

11132:                                            ; preds = %11131, %11073
  br label %11133

11133:                                            ; preds = %11132
  br label %11134

11134:                                            ; preds = %11133
  br label %11135

11135:                                            ; preds = %11134
  %11136 = load i32, ptr @test_count, align 4, !tbaa !5
  %11137 = add nsw i32 %11136, 1
  store i32 %11137, ptr @test_count, align 4, !tbaa !5
  %11138 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %11139 = icmp ne i32 %11138, 0
  br i1 %11139, label %11140, label %11193

11140:                                            ; preds = %11135
  br label %11141

11141:                                            ; preds = %11140
  br label %11142

11142:                                            ; preds = %11141
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %11143 = call ptr @__errno_location() #12
  %11144 = load i32, ptr %11143, align 4, !tbaa !5
  store i32 %11144, ptr %208, align 4, !tbaa !5
  %11145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11146 = call i32 @s2n_print_stacktrace(ptr noundef %11145)
  %11147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11148 = trunc i8 %11147 to i1
  br i1 %11148, label %11149, label %11171

11149:                                            ; preds = %11142
  %11150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11151 = call i32 @fileno(ptr noundef %11150) #11
  %11152 = call i32 @isatty(i32 noundef %11151) #11
  %11153 = icmp ne i32 %11152, 0
  br i1 %11153, label %11154, label %11171

11154:                                            ; preds = %11149
  %11155 = load i32, ptr %208, align 4, !tbaa !5
  %11156 = call ptr @__errno_location() #12
  store i32 %11155, ptr %11156, align 4, !tbaa !5
  %11157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11158 = load i32, ptr @test_count, align 4, !tbaa !5
  %11159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11160 = load i32, ptr %11159, align 4, !tbaa !5
  %11161 = call ptr @s2n_strerror(i32 noundef %11160, ptr noundef @.str.4)
  %11162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11163 = load i32, ptr %11162, align 4, !tbaa !5
  %11164 = call ptr @s2n_strerror_debug(i32 noundef %11163, ptr noundef @.str.4)
  %11165 = call ptr @__errno_location() #12
  %11166 = load i32, ptr %11165, align 4, !tbaa !5
  %11167 = call ptr @strerror(i32 noundef %11166) #11
  %11168 = call ptr @__errno_location() #12
  %11169 = load i32, ptr %11168, align 4, !tbaa !5
  %11170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11157, ptr noundef @.str.2, i32 noundef %11158, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 289, ptr noundef %11161, ptr noundef %11164, ptr noundef %11167, i32 noundef %11169) #11
  br label %11188

11171:                                            ; preds = %11149, %11142
  %11172 = load i32, ptr %208, align 4, !tbaa !5
  %11173 = call ptr @__errno_location() #12
  store i32 %11172, ptr %11173, align 4, !tbaa !5
  %11174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11175 = load i32, ptr @test_count, align 4, !tbaa !5
  %11176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11177 = load i32, ptr %11176, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror(i32 noundef %11177, ptr noundef @.str.4)
  %11179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11180 = load i32, ptr %11179, align 4, !tbaa !5
  %11181 = call ptr @s2n_strerror_debug(i32 noundef %11180, ptr noundef @.str.4)
  %11182 = call ptr @__errno_location() #12
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  %11184 = call ptr @strerror(i32 noundef %11183) #11
  %11185 = call ptr @__errno_location() #12
  %11186 = load i32, ptr %11185, align 4, !tbaa !5
  %11187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11174, ptr noundef @.str.5, i32 noundef %11175, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 289, ptr noundef %11178, ptr noundef %11181, ptr noundef %11184, i32 noundef %11186) #11
  br label %11188

11188:                                            ; preds = %11171, %11154
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %11189

11189:                                            ; preds = %11188
  br label %11190

11190:                                            ; preds = %11189
  call void @exit(i32 noundef 1) #13
  unreachable

11191:                                            ; No predecessors!
  br label %11192

11192:                                            ; preds = %11191
  br label %11193

11193:                                            ; preds = %11192, %11135
  br label %11194

11194:                                            ; preds = %11193
  br label %11195

11195:                                            ; preds = %11194
  br label %11196

11196:                                            ; preds = %11195
  br label %11197

11197:                                            ; preds = %11196
  %11198 = load i32, ptr @test_count, align 4, !tbaa !5
  %11199 = add nsw i32 %11198, 1
  store i32 %11199, ptr @test_count, align 4, !tbaa !5
  %11200 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %11201 = icmp eq i32 %11200, -1
  br i1 %11201, label %11255, label %11202

11202:                                            ; preds = %11197
  br label %11203

11203:                                            ; preds = %11202
  br label %11204

11204:                                            ; preds = %11203
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %11205 = call ptr @__errno_location() #12
  %11206 = load i32, ptr %11205, align 4, !tbaa !5
  store i32 %11206, ptr %209, align 4, !tbaa !5
  %11207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11208 = call i32 @s2n_print_stacktrace(ptr noundef %11207)
  %11209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11210 = trunc i8 %11209 to i1
  br i1 %11210, label %11211, label %11233

11211:                                            ; preds = %11204
  %11212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11213 = call i32 @fileno(ptr noundef %11212) #11
  %11214 = call i32 @isatty(i32 noundef %11213) #11
  %11215 = icmp ne i32 %11214, 0
  br i1 %11215, label %11216, label %11233

11216:                                            ; preds = %11211
  %11217 = load i32, ptr %209, align 4, !tbaa !5
  %11218 = call ptr @__errno_location() #12
  store i32 %11217, ptr %11218, align 4, !tbaa !5
  %11219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11220 = load i32, ptr @test_count, align 4, !tbaa !5
  %11221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11222 = load i32, ptr %11221, align 4, !tbaa !5
  %11223 = call ptr @s2n_strerror(i32 noundef %11222, ptr noundef @.str.4)
  %11224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11225 = load i32, ptr %11224, align 4, !tbaa !5
  %11226 = call ptr @s2n_strerror_debug(i32 noundef %11225, ptr noundef @.str.4)
  %11227 = call ptr @__errno_location() #12
  %11228 = load i32, ptr %11227, align 4, !tbaa !5
  %11229 = call ptr @strerror(i32 noundef %11228) #11
  %11230 = call ptr @__errno_location() #12
  %11231 = load i32, ptr %11230, align 4, !tbaa !5
  %11232 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11219, ptr noundef @.str.2, i32 noundef %11220, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11223, ptr noundef %11226, ptr noundef %11229, i32 noundef %11231) #11
  br label %11250

11233:                                            ; preds = %11211, %11204
  %11234 = load i32, ptr %209, align 4, !tbaa !5
  %11235 = call ptr @__errno_location() #12
  store i32 %11234, ptr %11235, align 4, !tbaa !5
  %11236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11237 = load i32, ptr @test_count, align 4, !tbaa !5
  %11238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11239 = load i32, ptr %11238, align 4, !tbaa !5
  %11240 = call ptr @s2n_strerror(i32 noundef %11239, ptr noundef @.str.4)
  %11241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11242 = load i32, ptr %11241, align 4, !tbaa !5
  %11243 = call ptr @s2n_strerror_debug(i32 noundef %11242, ptr noundef @.str.4)
  %11244 = call ptr @__errno_location() #12
  %11245 = load i32, ptr %11244, align 4, !tbaa !5
  %11246 = call ptr @strerror(i32 noundef %11245) #11
  %11247 = call ptr @__errno_location() #12
  %11248 = load i32, ptr %11247, align 4, !tbaa !5
  %11249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11236, ptr noundef @.str.5, i32 noundef %11237, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11240, ptr noundef %11243, ptr noundef %11246, i32 noundef %11248) #11
  br label %11250

11250:                                            ; preds = %11233, %11216
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %11251

11251:                                            ; preds = %11250
  br label %11252

11252:                                            ; preds = %11251
  call void @exit(i32 noundef 1) #13
  unreachable

11253:                                            ; No predecessors!
  br label %11254

11254:                                            ; preds = %11253
  br label %11255

11255:                                            ; preds = %11254, %11197
  br label %11256

11256:                                            ; preds = %11255
  br label %11257

11257:                                            ; preds = %11256
  br label %11258

11258:                                            ; preds = %11257
  %11259 = load i32, ptr @test_count, align 4, !tbaa !5
  %11260 = add nsw i32 %11259, 1
  store i32 %11260, ptr @test_count, align 4, !tbaa !5
  %11261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11262 = load i32, ptr %11261, align 4, !tbaa !5
  %11263 = icmp eq i32 %11262, 0
  br i1 %11263, label %11264, label %11317

11264:                                            ; preds = %11258
  br label %11265

11265:                                            ; preds = %11264
  br label %11266

11266:                                            ; preds = %11265
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %11267 = call ptr @__errno_location() #12
  %11268 = load i32, ptr %11267, align 4, !tbaa !5
  store i32 %11268, ptr %210, align 4, !tbaa !5
  %11269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11270 = call i32 @s2n_print_stacktrace(ptr noundef %11269)
  %11271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11272 = trunc i8 %11271 to i1
  br i1 %11272, label %11273, label %11295

11273:                                            ; preds = %11266
  %11274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11275 = call i32 @fileno(ptr noundef %11274) #11
  %11276 = call i32 @isatty(i32 noundef %11275) #11
  %11277 = icmp ne i32 %11276, 0
  br i1 %11277, label %11278, label %11295

11278:                                            ; preds = %11273
  %11279 = load i32, ptr %210, align 4, !tbaa !5
  %11280 = call ptr @__errno_location() #12
  store i32 %11279, ptr %11280, align 4, !tbaa !5
  %11281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11282 = load i32, ptr @test_count, align 4, !tbaa !5
  %11283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11284 = load i32, ptr %11283, align 4, !tbaa !5
  %11285 = call ptr @s2n_strerror(i32 noundef %11284, ptr noundef @.str.4)
  %11286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11287 = load i32, ptr %11286, align 4, !tbaa !5
  %11288 = call ptr @s2n_strerror_debug(i32 noundef %11287, ptr noundef @.str.4)
  %11289 = call ptr @__errno_location() #12
  %11290 = load i32, ptr %11289, align 4, !tbaa !5
  %11291 = call ptr @strerror(i32 noundef %11290) #11
  %11292 = call ptr @__errno_location() #12
  %11293 = load i32, ptr %11292, align 4, !tbaa !5
  %11294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11281, ptr noundef @.str.2, i32 noundef %11282, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11285, ptr noundef %11288, ptr noundef %11291, i32 noundef %11293) #11
  br label %11312

11295:                                            ; preds = %11273, %11266
  %11296 = load i32, ptr %210, align 4, !tbaa !5
  %11297 = call ptr @__errno_location() #12
  store i32 %11296, ptr %11297, align 4, !tbaa !5
  %11298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11299 = load i32, ptr @test_count, align 4, !tbaa !5
  %11300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11301 = load i32, ptr %11300, align 4, !tbaa !5
  %11302 = call ptr @s2n_strerror(i32 noundef %11301, ptr noundef @.str.4)
  %11303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11304 = load i32, ptr %11303, align 4, !tbaa !5
  %11305 = call ptr @s2n_strerror_debug(i32 noundef %11304, ptr noundef @.str.4)
  %11306 = call ptr @__errno_location() #12
  %11307 = load i32, ptr %11306, align 4, !tbaa !5
  %11308 = call ptr @strerror(i32 noundef %11307) #11
  %11309 = call ptr @__errno_location() #12
  %11310 = load i32, ptr %11309, align 4, !tbaa !5
  %11311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11298, ptr noundef @.str.5, i32 noundef %11299, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11302, ptr noundef %11305, ptr noundef %11308, i32 noundef %11310) #11
  br label %11312

11312:                                            ; preds = %11295, %11278
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %11313

11313:                                            ; preds = %11312
  br label %11314

11314:                                            ; preds = %11313
  call void @exit(i32 noundef 1) #13
  unreachable

11315:                                            ; No predecessors!
  br label %11316

11316:                                            ; preds = %11315
  br label %11317

11317:                                            ; preds = %11316, %11258
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318
  br label %11320

11320:                                            ; preds = %11319
  %11321 = load i32, ptr @test_count, align 4, !tbaa !5
  %11322 = add nsw i32 %11321, 1
  store i32 %11322, ptr @test_count, align 4, !tbaa !5
  %11323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11324 = load i32, ptr %11323, align 4, !tbaa !5
  %11325 = call ptr @s2n_strerror_debug(i32 noundef %11324, ptr noundef @.str.4)
  %11326 = icmp eq ptr %11325, null
  br i1 %11326, label %11327, label %11380

11327:                                            ; preds = %11320
  br label %11328

11328:                                            ; preds = %11327
  br label %11329

11329:                                            ; preds = %11328
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %11330 = call ptr @__errno_location() #12
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  store i32 %11331, ptr %211, align 4, !tbaa !5
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @s2n_print_stacktrace(ptr noundef %11332)
  %11334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11335 = trunc i8 %11334 to i1
  br i1 %11335, label %11336, label %11358

11336:                                            ; preds = %11329
  %11337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11338 = call i32 @fileno(ptr noundef %11337) #11
  %11339 = call i32 @isatty(i32 noundef %11338) #11
  %11340 = icmp ne i32 %11339, 0
  br i1 %11340, label %11341, label %11358

11341:                                            ; preds = %11336
  %11342 = load i32, ptr %211, align 4, !tbaa !5
  %11343 = call ptr @__errno_location() #12
  store i32 %11342, ptr %11343, align 4, !tbaa !5
  %11344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11345 = load i32, ptr @test_count, align 4, !tbaa !5
  %11346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11347 = load i32, ptr %11346, align 4, !tbaa !5
  %11348 = call ptr @s2n_strerror(i32 noundef %11347, ptr noundef @.str.4)
  %11349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11350 = load i32, ptr %11349, align 4, !tbaa !5
  %11351 = call ptr @s2n_strerror_debug(i32 noundef %11350, ptr noundef @.str.4)
  %11352 = call ptr @__errno_location() #12
  %11353 = load i32, ptr %11352, align 4, !tbaa !5
  %11354 = call ptr @strerror(i32 noundef %11353) #11
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11344, ptr noundef @.str.2, i32 noundef %11345, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11348, ptr noundef %11351, ptr noundef %11354, i32 noundef %11356) #11
  br label %11375

11358:                                            ; preds = %11336, %11329
  %11359 = load i32, ptr %211, align 4, !tbaa !5
  %11360 = call ptr @__errno_location() #12
  store i32 %11359, ptr %11360, align 4, !tbaa !5
  %11361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11362 = load i32, ptr @test_count, align 4, !tbaa !5
  %11363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11364 = load i32, ptr %11363, align 4, !tbaa !5
  %11365 = call ptr @s2n_strerror(i32 noundef %11364, ptr noundef @.str.4)
  %11366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11367 = load i32, ptr %11366, align 4, !tbaa !5
  %11368 = call ptr @s2n_strerror_debug(i32 noundef %11367, ptr noundef @.str.4)
  %11369 = call ptr @__errno_location() #12
  %11370 = load i32, ptr %11369, align 4, !tbaa !5
  %11371 = call ptr @strerror(i32 noundef %11370) #11
  %11372 = call ptr @__errno_location() #12
  %11373 = load i32, ptr %11372, align 4, !tbaa !5
  %11374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11361, ptr noundef @.str.5, i32 noundef %11362, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 290, ptr noundef %11365, ptr noundef %11368, ptr noundef %11371, i32 noundef %11373) #11
  br label %11375

11375:                                            ; preds = %11358, %11341
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

11377:                                            ; preds = %11376
  call void @exit(i32 noundef 1) #13
  unreachable

11378:                                            ; No predecessors!
  br label %11379

11379:                                            ; preds = %11378
  br label %11380

11380:                                            ; preds = %11379, %11320
  br label %11381

11381:                                            ; preds = %11380
  br label %11382

11382:                                            ; preds = %11381
  br label %11383

11383:                                            ; preds = %11382
  %11384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11384, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11385 = call ptr @__errno_location() #12
  store i32 0, ptr %11385, align 4, !tbaa !5
  br label %11386

11386:                                            ; preds = %11383
  br label %11387

11387:                                            ; preds = %11386
  br label %11388

11388:                                            ; preds = %11387
  br label %11389

11389:                                            ; preds = %11388
  br label %11390

11390:                                            ; preds = %11389
  %11391 = load i32, ptr @test_count, align 4, !tbaa !5
  %11392 = add nsw i32 %11391, 1
  store i32 %11392, ptr @test_count, align 4, !tbaa !5
  %11393 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %11394 = icmp eq i32 %11393, -1
  br i1 %11394, label %11395, label %11448

11395:                                            ; preds = %11390
  br label %11396

11396:                                            ; preds = %11395
  br label %11397

11397:                                            ; preds = %11396
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %11398 = call ptr @__errno_location() #12
  %11399 = load i32, ptr %11398, align 4, !tbaa !5
  store i32 %11399, ptr %212, align 4, !tbaa !5
  %11400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11401 = call i32 @s2n_print_stacktrace(ptr noundef %11400)
  %11402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11403 = trunc i8 %11402 to i1
  br i1 %11403, label %11404, label %11426

11404:                                            ; preds = %11397
  %11405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11406 = call i32 @fileno(ptr noundef %11405) #11
  %11407 = call i32 @isatty(i32 noundef %11406) #11
  %11408 = icmp ne i32 %11407, 0
  br i1 %11408, label %11409, label %11426

11409:                                            ; preds = %11404
  %11410 = load i32, ptr %212, align 4, !tbaa !5
  %11411 = call ptr @__errno_location() #12
  store i32 %11410, ptr %11411, align 4, !tbaa !5
  %11412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11413 = load i32, ptr @test_count, align 4, !tbaa !5
  %11414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror(i32 noundef %11415, ptr noundef @.str.4)
  %11417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11418 = load i32, ptr %11417, align 4, !tbaa !5
  %11419 = call ptr @s2n_strerror_debug(i32 noundef %11418, ptr noundef @.str.4)
  %11420 = call ptr @__errno_location() #12
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call ptr @strerror(i32 noundef %11421) #11
  %11423 = call ptr @__errno_location() #12
  %11424 = load i32, ptr %11423, align 4, !tbaa !5
  %11425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11412, ptr noundef @.str.2, i32 noundef %11413, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 292, ptr noundef %11416, ptr noundef %11419, ptr noundef %11422, i32 noundef %11424) #11
  br label %11443

11426:                                            ; preds = %11404, %11397
  %11427 = load i32, ptr %212, align 4, !tbaa !5
  %11428 = call ptr @__errno_location() #12
  store i32 %11427, ptr %11428, align 4, !tbaa !5
  %11429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11430 = load i32, ptr @test_count, align 4, !tbaa !5
  %11431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11432 = load i32, ptr %11431, align 4, !tbaa !5
  %11433 = call ptr @s2n_strerror(i32 noundef %11432, ptr noundef @.str.4)
  %11434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @s2n_strerror_debug(i32 noundef %11435, ptr noundef @.str.4)
  %11437 = call ptr @__errno_location() #12
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call ptr @strerror(i32 noundef %11438) #11
  %11440 = call ptr @__errno_location() #12
  %11441 = load i32, ptr %11440, align 4, !tbaa !5
  %11442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11429, ptr noundef @.str.5, i32 noundef %11430, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 292, ptr noundef %11433, ptr noundef %11436, ptr noundef %11439, i32 noundef %11441) #11
  br label %11443

11443:                                            ; preds = %11426, %11409
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %11444

11444:                                            ; preds = %11443
  br label %11445

11445:                                            ; preds = %11444
  call void @exit(i32 noundef 1) #13
  unreachable

11446:                                            ; No predecessors!
  br label %11447

11447:                                            ; preds = %11446
  br label %11448

11448:                                            ; preds = %11447, %11390
  br label %11449

11449:                                            ; preds = %11448
  br label %11450

11450:                                            ; preds = %11449
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  store i32 0, ptr %213, align 4, !tbaa !5
  br label %11451

11451:                                            ; preds = %11524, %11450
  %11452 = load i32, ptr %213, align 4, !tbaa !5
  %11453 = icmp slt i32 %11452, 48
  br i1 %11453, label %11455, label %11454

11454:                                            ; preds = %11451
  store i32 1165, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %11527

11455:                                            ; preds = %11451
  br label %11456

11456:                                            ; preds = %11455
  %11457 = load i32, ptr @test_count, align 4, !tbaa !5
  %11458 = add nsw i32 %11457, 1
  store i32 %11458, ptr @test_count, align 4, !tbaa !5
  %11459 = load i32, ptr %213, align 4, !tbaa !5
  %11460 = sext i32 %11459 to i64
  %11461 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %11460
  %11462 = load i8, ptr %11461, align 1, !tbaa !17
  %11463 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %11462)
  %11464 = getelementptr inbounds %struct.s2n_result, ptr %214, i32 0, i32 0
  store i32 %11463, ptr %11464, align 4
  %11465 = getelementptr inbounds %struct.s2n_result, ptr %214, i32 0, i32 0
  %11466 = load i32, ptr %11465, align 4
  %11467 = call zeroext i1 @s2n_result_is_ok(i32 %11466)
  br i1 %11467, label %11521, label %11468

11468:                                            ; preds = %11456
  br label %11469

11469:                                            ; preds = %11468
  br label %11470

11470:                                            ; preds = %11469
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %11471 = call ptr @__errno_location() #12
  %11472 = load i32, ptr %11471, align 4, !tbaa !5
  store i32 %11472, ptr %215, align 4, !tbaa !5
  %11473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11474 = call i32 @s2n_print_stacktrace(ptr noundef %11473)
  %11475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11476 = trunc i8 %11475 to i1
  br i1 %11476, label %11477, label %11499

11477:                                            ; preds = %11470
  %11478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11479 = call i32 @fileno(ptr noundef %11478) #11
  %11480 = call i32 @isatty(i32 noundef %11479) #11
  %11481 = icmp ne i32 %11480, 0
  br i1 %11481, label %11482, label %11499

11482:                                            ; preds = %11477
  %11483 = load i32, ptr %215, align 4, !tbaa !5
  %11484 = call ptr @__errno_location() #12
  store i32 %11483, ptr %11484, align 4, !tbaa !5
  %11485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11486 = load i32, ptr @test_count, align 4, !tbaa !5
  %11487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11488 = load i32, ptr %11487, align 4, !tbaa !5
  %11489 = call ptr @s2n_strerror(i32 noundef %11488, ptr noundef @.str.4)
  %11490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11491 = load i32, ptr %11490, align 4, !tbaa !5
  %11492 = call ptr @s2n_strerror_debug(i32 noundef %11491, ptr noundef @.str.4)
  %11493 = call ptr @__errno_location() #12
  %11494 = load i32, ptr %11493, align 4, !tbaa !5
  %11495 = call ptr @strerror(i32 noundef %11494) #11
  %11496 = call ptr @__errno_location() #12
  %11497 = load i32, ptr %11496, align 4, !tbaa !5
  %11498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11485, ptr noundef @.str.2, i32 noundef %11486, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 294, ptr noundef %11489, ptr noundef %11492, ptr noundef %11495, i32 noundef %11497) #11
  br label %11516

11499:                                            ; preds = %11477, %11470
  %11500 = load i32, ptr %215, align 4, !tbaa !5
  %11501 = call ptr @__errno_location() #12
  store i32 %11500, ptr %11501, align 4, !tbaa !5
  %11502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11503 = load i32, ptr @test_count, align 4, !tbaa !5
  %11504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11505 = load i32, ptr %11504, align 4, !tbaa !5
  %11506 = call ptr @s2n_strerror(i32 noundef %11505, ptr noundef @.str.4)
  %11507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11508 = load i32, ptr %11507, align 4, !tbaa !5
  %11509 = call ptr @s2n_strerror_debug(i32 noundef %11508, ptr noundef @.str.4)
  %11510 = call ptr @__errno_location() #12
  %11511 = load i32, ptr %11510, align 4, !tbaa !5
  %11512 = call ptr @strerror(i32 noundef %11511) #11
  %11513 = call ptr @__errno_location() #12
  %11514 = load i32, ptr %11513, align 4, !tbaa !5
  %11515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11502, ptr noundef @.str.5, i32 noundef %11503, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 294, ptr noundef %11506, ptr noundef %11509, ptr noundef %11512, i32 noundef %11514) #11
  br label %11516

11516:                                            ; preds = %11499, %11482
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %11517

11517:                                            ; preds = %11516
  br label %11518

11518:                                            ; preds = %11517
  call void @exit(i32 noundef 1) #13
  unreachable

11519:                                            ; No predecessors!
  br label %11520

11520:                                            ; preds = %11519
  br label %11521

11521:                                            ; preds = %11520, %11456
  br label %11522

11522:                                            ; preds = %11521
  br label %11523

11523:                                            ; preds = %11522
  br label %11524

11524:                                            ; preds = %11523
  %11525 = load i32, ptr %213, align 4, !tbaa !5
  %11526 = add nsw i32 %11525, 1
  store i32 %11526, ptr %213, align 4, !tbaa !5
  br label %11451, !llvm.loop !26

11527:                                            ; preds = %11454
  br label %11528

11528:                                            ; preds = %11527
  %11529 = load i32, ptr @test_count, align 4, !tbaa !5
  %11530 = add nsw i32 %11529, 1
  store i32 %11530, ptr @test_count, align 4, !tbaa !5
  %11531 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %11532 = call i32 @memcmp(ptr noundef %11531, ptr noundef @.str.61, i64 noundef 96) #14
  %11533 = icmp eq i32 %11532, 0
  br i1 %11533, label %11587, label %11534

11534:                                            ; preds = %11528
  br label %11535

11535:                                            ; preds = %11534
  br label %11536

11536:                                            ; preds = %11535
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %11537 = call ptr @__errno_location() #12
  %11538 = load i32, ptr %11537, align 4, !tbaa !5
  store i32 %11538, ptr %216, align 4, !tbaa !5
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = call i32 @s2n_print_stacktrace(ptr noundef %11539)
  %11541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11542 = trunc i8 %11541 to i1
  br i1 %11542, label %11543, label %11565

11543:                                            ; preds = %11536
  %11544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11545 = call i32 @fileno(ptr noundef %11544) #11
  %11546 = call i32 @isatty(i32 noundef %11545) #11
  %11547 = icmp ne i32 %11546, 0
  br i1 %11547, label %11548, label %11565

11548:                                            ; preds = %11543
  %11549 = load i32, ptr %216, align 4, !tbaa !5
  %11550 = call ptr @__errno_location() #12
  store i32 %11549, ptr %11550, align 4, !tbaa !5
  %11551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11552 = load i32, ptr @test_count, align 4, !tbaa !5
  %11553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11554 = load i32, ptr %11553, align 4, !tbaa !5
  %11555 = call ptr @s2n_strerror(i32 noundef %11554, ptr noundef @.str.4)
  %11556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11557 = load i32, ptr %11556, align 4, !tbaa !5
  %11558 = call ptr @s2n_strerror_debug(i32 noundef %11557, ptr noundef @.str.4)
  %11559 = call ptr @__errno_location() #12
  %11560 = load i32, ptr %11559, align 4, !tbaa !5
  %11561 = call ptr @strerror(i32 noundef %11560) #11
  %11562 = call ptr @__errno_location() #12
  %11563 = load i32, ptr %11562, align 4, !tbaa !5
  %11564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11551, ptr noundef @.str.2, i32 noundef %11552, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 298, ptr noundef %11555, ptr noundef %11558, ptr noundef %11561, i32 noundef %11563) #11
  br label %11582

11565:                                            ; preds = %11543, %11536
  %11566 = load i32, ptr %216, align 4, !tbaa !5
  %11567 = call ptr @__errno_location() #12
  store i32 %11566, ptr %11567, align 4, !tbaa !5
  %11568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11569 = load i32, ptr @test_count, align 4, !tbaa !5
  %11570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11571 = load i32, ptr %11570, align 4, !tbaa !5
  %11572 = call ptr @s2n_strerror(i32 noundef %11571, ptr noundef @.str.4)
  %11573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11574 = load i32, ptr %11573, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror_debug(i32 noundef %11574, ptr noundef @.str.4)
  %11576 = call ptr @__errno_location() #12
  %11577 = load i32, ptr %11576, align 4, !tbaa !5
  %11578 = call ptr @strerror(i32 noundef %11577) #11
  %11579 = call ptr @__errno_location() #12
  %11580 = load i32, ptr %11579, align 4, !tbaa !5
  %11581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11568, ptr noundef @.str.5, i32 noundef %11569, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 298, ptr noundef %11572, ptr noundef %11575, ptr noundef %11578, i32 noundef %11580) #11
  br label %11582

11582:                                            ; preds = %11565, %11548
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %11583

11583:                                            ; preds = %11582
  br label %11584

11584:                                            ; preds = %11583
  call void @exit(i32 noundef 1) #13
  unreachable

11585:                                            ; No predecessors!
  br label %11586

11586:                                            ; preds = %11585
  br label %11587

11587:                                            ; preds = %11586, %11528
  br label %11588

11588:                                            ; preds = %11587
  br label %11589

11589:                                            ; preds = %11588
  br label %11590

11590:                                            ; preds = %11589
  %11591 = call i32 @s2n_hash_reset(ptr noundef %12)
  %11592 = icmp sgt i32 %11591, -1
  br i1 %11592, label %11594, label %11593

11593:                                            ; preds = %11590
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13329

11594:                                            ; preds = %11590
  br label %11595

11595:                                            ; preds = %11594
  br label %11596

11596:                                            ; preds = %11595
  br label %11597

11597:                                            ; preds = %11596
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = add nsw i32 %11598, 1
  store i32 %11599, ptr @test_count, align 4, !tbaa !5
  %11600 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %11601 = icmp ne i32 %11600, 0
  br i1 %11601, label %11655, label %11602

11602:                                            ; preds = %11597
  br label %11603

11603:                                            ; preds = %11602
  br label %11604

11604:                                            ; preds = %11603
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %11605 = call ptr @__errno_location() #12
  %11606 = load i32, ptr %11605, align 4, !tbaa !5
  store i32 %11606, ptr %217, align 4, !tbaa !5
  %11607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11608 = call i32 @s2n_print_stacktrace(ptr noundef %11607)
  %11609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11610 = trunc i8 %11609 to i1
  br i1 %11610, label %11611, label %11633

11611:                                            ; preds = %11604
  %11612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11613 = call i32 @fileno(ptr noundef %11612) #11
  %11614 = call i32 @isatty(i32 noundef %11613) #11
  %11615 = icmp ne i32 %11614, 0
  br i1 %11615, label %11616, label %11633

11616:                                            ; preds = %11611
  %11617 = load i32, ptr %217, align 4, !tbaa !5
  %11618 = call ptr @__errno_location() #12
  store i32 %11617, ptr %11618, align 4, !tbaa !5
  %11619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11620 = load i32, ptr @test_count, align 4, !tbaa !5
  %11621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11622 = load i32, ptr %11621, align 4, !tbaa !5
  %11623 = call ptr @s2n_strerror(i32 noundef %11622, ptr noundef @.str.4)
  %11624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11625 = load i32, ptr %11624, align 4, !tbaa !5
  %11626 = call ptr @s2n_strerror_debug(i32 noundef %11625, ptr noundef @.str.4)
  %11627 = call ptr @__errno_location() #12
  %11628 = load i32, ptr %11627, align 4, !tbaa !5
  %11629 = call ptr @strerror(i32 noundef %11628) #11
  %11630 = call ptr @__errno_location() #12
  %11631 = load i32, ptr %11630, align 4, !tbaa !5
  %11632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11619, ptr noundef @.str.2, i32 noundef %11620, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 301, ptr noundef %11623, ptr noundef %11626, ptr noundef %11629, i32 noundef %11631) #11
  br label %11650

11633:                                            ; preds = %11611, %11604
  %11634 = load i32, ptr %217, align 4, !tbaa !5
  %11635 = call ptr @__errno_location() #12
  store i32 %11634, ptr %11635, align 4, !tbaa !5
  %11636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11637 = load i32, ptr @test_count, align 4, !tbaa !5
  %11638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11639 = load i32, ptr %11638, align 4, !tbaa !5
  %11640 = call ptr @s2n_strerror(i32 noundef %11639, ptr noundef @.str.4)
  %11641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11642 = load i32, ptr %11641, align 4, !tbaa !5
  %11643 = call ptr @s2n_strerror_debug(i32 noundef %11642, ptr noundef @.str.4)
  %11644 = call ptr @__errno_location() #12
  %11645 = load i32, ptr %11644, align 4, !tbaa !5
  %11646 = call ptr @strerror(i32 noundef %11645) #11
  %11647 = call ptr @__errno_location() #12
  %11648 = load i32, ptr %11647, align 4, !tbaa !5
  %11649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11636, ptr noundef @.str.5, i32 noundef %11637, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 301, ptr noundef %11640, ptr noundef %11643, ptr noundef %11646, i32 noundef %11648) #11
  br label %11650

11650:                                            ; preds = %11633, %11616
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %11651

11651:                                            ; preds = %11650
  br label %11652

11652:                                            ; preds = %11651
  call void @exit(i32 noundef 1) #13
  unreachable

11653:                                            ; No predecessors!
  br label %11654

11654:                                            ; preds = %11653
  br label %11655

11655:                                            ; preds = %11654, %11597
  br label %11656

11656:                                            ; preds = %11655
  br label %11657

11657:                                            ; preds = %11656
  br label %11658

11658:                                            ; preds = %11657
  %11659 = load i32, ptr @test_count, align 4, !tbaa !5
  %11660 = add nsw i32 %11659, 1
  store i32 %11660, ptr @test_count, align 4, !tbaa !5
  %11661 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %11662 = icmp eq i32 %11661, -1
  br i1 %11662, label %11663, label %11716

11663:                                            ; preds = %11658
  br label %11664

11664:                                            ; preds = %11663
  br label %11665

11665:                                            ; preds = %11664
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %11666 = call ptr @__errno_location() #12
  %11667 = load i32, ptr %11666, align 4, !tbaa !5
  store i32 %11667, ptr %218, align 4, !tbaa !5
  %11668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11669 = call i32 @s2n_print_stacktrace(ptr noundef %11668)
  %11670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11671 = trunc i8 %11670 to i1
  br i1 %11671, label %11672, label %11694

11672:                                            ; preds = %11665
  %11673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11674 = call i32 @fileno(ptr noundef %11673) #11
  %11675 = call i32 @isatty(i32 noundef %11674) #11
  %11676 = icmp ne i32 %11675, 0
  br i1 %11676, label %11677, label %11694

11677:                                            ; preds = %11672
  %11678 = load i32, ptr %218, align 4, !tbaa !5
  %11679 = call ptr @__errno_location() #12
  store i32 %11678, ptr %11679, align 4, !tbaa !5
  %11680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11681 = load i32, ptr @test_count, align 4, !tbaa !5
  %11682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11683 = load i32, ptr %11682, align 4, !tbaa !5
  %11684 = call ptr @s2n_strerror(i32 noundef %11683, ptr noundef @.str.4)
  %11685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11686 = load i32, ptr %11685, align 4, !tbaa !5
  %11687 = call ptr @s2n_strerror_debug(i32 noundef %11686, ptr noundef @.str.4)
  %11688 = call ptr @__errno_location() #12
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @strerror(i32 noundef %11689) #11
  %11691 = call ptr @__errno_location() #12
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11680, ptr noundef @.str.2, i32 noundef %11681, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 302, ptr noundef %11684, ptr noundef %11687, ptr noundef %11690, i32 noundef %11692) #11
  br label %11711

11694:                                            ; preds = %11672, %11665
  %11695 = load i32, ptr %218, align 4, !tbaa !5
  %11696 = call ptr @__errno_location() #12
  store i32 %11695, ptr %11696, align 4, !tbaa !5
  %11697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11698 = load i32, ptr @test_count, align 4, !tbaa !5
  %11699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11700 = load i32, ptr %11699, align 4, !tbaa !5
  %11701 = call ptr @s2n_strerror(i32 noundef %11700, ptr noundef @.str.4)
  %11702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11703 = load i32, ptr %11702, align 4, !tbaa !5
  %11704 = call ptr @s2n_strerror_debug(i32 noundef %11703, ptr noundef @.str.4)
  %11705 = call ptr @__errno_location() #12
  %11706 = load i32, ptr %11705, align 4, !tbaa !5
  %11707 = call ptr @strerror(i32 noundef %11706) #11
  %11708 = call ptr @__errno_location() #12
  %11709 = load i32, ptr %11708, align 4, !tbaa !5
  %11710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11697, ptr noundef @.str.5, i32 noundef %11698, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 302, ptr noundef %11701, ptr noundef %11704, ptr noundef %11707, i32 noundef %11709) #11
  br label %11711

11711:                                            ; preds = %11694, %11677
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %11712

11712:                                            ; preds = %11711
  br label %11713

11713:                                            ; preds = %11712
  call void @exit(i32 noundef 1) #13
  unreachable

11714:                                            ; No predecessors!
  br label %11715

11715:                                            ; preds = %11714
  br label %11716

11716:                                            ; preds = %11715, %11658
  br label %11717

11717:                                            ; preds = %11716
  br label %11718

11718:                                            ; preds = %11717
  br label %11719

11719:                                            ; preds = %11718
  %11720 = load i32, ptr @test_count, align 4, !tbaa !5
  %11721 = add nsw i32 %11720, 1
  store i32 %11721, ptr @test_count, align 4, !tbaa !5
  %11722 = load i64, ptr %16, align 8, !tbaa !11
  %11723 = icmp eq i64 %11722, 0
  br i1 %11723, label %11777, label %11724

11724:                                            ; preds = %11719
  br label %11725

11725:                                            ; preds = %11724
  br label %11726

11726:                                            ; preds = %11725
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %11727 = call ptr @__errno_location() #12
  %11728 = load i32, ptr %11727, align 4, !tbaa !5
  store i32 %11728, ptr %219, align 4, !tbaa !5
  %11729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11730 = call i32 @s2n_print_stacktrace(ptr noundef %11729)
  %11731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11732 = trunc i8 %11731 to i1
  br i1 %11732, label %11733, label %11755

11733:                                            ; preds = %11726
  %11734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11735 = call i32 @fileno(ptr noundef %11734) #11
  %11736 = call i32 @isatty(i32 noundef %11735) #11
  %11737 = icmp ne i32 %11736, 0
  br i1 %11737, label %11738, label %11755

11738:                                            ; preds = %11733
  %11739 = load i32, ptr %219, align 4, !tbaa !5
  %11740 = call ptr @__errno_location() #12
  store i32 %11739, ptr %11740, align 4, !tbaa !5
  %11741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11742 = load i32, ptr @test_count, align 4, !tbaa !5
  %11743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11744 = load i32, ptr %11743, align 4, !tbaa !5
  %11745 = call ptr @s2n_strerror(i32 noundef %11744, ptr noundef @.str.4)
  %11746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11747 = load i32, ptr %11746, align 4, !tbaa !5
  %11748 = call ptr @s2n_strerror_debug(i32 noundef %11747, ptr noundef @.str.4)
  %11749 = call ptr @__errno_location() #12
  %11750 = load i32, ptr %11749, align 4, !tbaa !5
  %11751 = call ptr @strerror(i32 noundef %11750) #11
  %11752 = call ptr @__errno_location() #12
  %11753 = load i32, ptr %11752, align 4, !tbaa !5
  %11754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11741, ptr noundef @.str.2, i32 noundef %11742, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 303, ptr noundef %11745, ptr noundef %11748, ptr noundef %11751, i32 noundef %11753) #11
  br label %11772

11755:                                            ; preds = %11733, %11726
  %11756 = load i32, ptr %219, align 4, !tbaa !5
  %11757 = call ptr @__errno_location() #12
  store i32 %11756, ptr %11757, align 4, !tbaa !5
  %11758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11759 = load i32, ptr @test_count, align 4, !tbaa !5
  %11760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11761 = load i32, ptr %11760, align 4, !tbaa !5
  %11762 = call ptr @s2n_strerror(i32 noundef %11761, ptr noundef @.str.4)
  %11763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11764 = load i32, ptr %11763, align 4, !tbaa !5
  %11765 = call ptr @s2n_strerror_debug(i32 noundef %11764, ptr noundef @.str.4)
  %11766 = call ptr @__errno_location() #12
  %11767 = load i32, ptr %11766, align 4, !tbaa !5
  %11768 = call ptr @strerror(i32 noundef %11767) #11
  %11769 = call ptr @__errno_location() #12
  %11770 = load i32, ptr %11769, align 4, !tbaa !5
  %11771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11758, ptr noundef @.str.5, i32 noundef %11759, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 303, ptr noundef %11762, ptr noundef %11765, ptr noundef %11768, i32 noundef %11770) #11
  br label %11772

11772:                                            ; preds = %11755, %11738
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %11773

11773:                                            ; preds = %11772
  br label %11774

11774:                                            ; preds = %11773
  call void @exit(i32 noundef 1) #13
  unreachable

11775:                                            ; No predecessors!
  br label %11776

11776:                                            ; preds = %11775
  br label %11777

11777:                                            ; preds = %11776, %11719
  br label %11778

11778:                                            ; preds = %11777
  br label %11779

11779:                                            ; preds = %11778
  call void @llvm.lifetime.start.p0(i64 1, ptr %220) #11
  store i8 0, ptr %220, align 1, !tbaa !17
  br label %11780

11780:                                            ; preds = %11779
  %11781 = call i32 @s2n_hash_digest_size(i32 noundef 6, ptr noundef %220)
  %11782 = icmp sgt i32 %11781, -1
  br i1 %11782, label %11784, label %11783

11783:                                            ; preds = %11780
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13328

11784:                                            ; preds = %11780
  br label %11785

11785:                                            ; preds = %11784
  br label %11786

11786:                                            ; preds = %11785
  br label %11787

11787:                                            ; preds = %11786
  %11788 = load i32, ptr @test_count, align 4, !tbaa !5
  %11789 = add nsw i32 %11788, 1
  store i32 %11789, ptr @test_count, align 4, !tbaa !5
  %11790 = load i8, ptr %220, align 1, !tbaa !17
  %11791 = zext i8 %11790 to i32
  %11792 = icmp eq i32 %11791, 64
  br i1 %11792, label %11846, label %11793

11793:                                            ; preds = %11787
  br label %11794

11794:                                            ; preds = %11793
  br label %11795

11795:                                            ; preds = %11794
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %11796 = call ptr @__errno_location() #12
  %11797 = load i32, ptr %11796, align 4, !tbaa !5
  store i32 %11797, ptr %221, align 4, !tbaa !5
  %11798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11799 = call i32 @s2n_print_stacktrace(ptr noundef %11798)
  %11800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11801 = trunc i8 %11800 to i1
  br i1 %11801, label %11802, label %11824

11802:                                            ; preds = %11795
  %11803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11804 = call i32 @fileno(ptr noundef %11803) #11
  %11805 = call i32 @isatty(i32 noundef %11804) #11
  %11806 = icmp ne i32 %11805, 0
  br i1 %11806, label %11807, label %11824

11807:                                            ; preds = %11802
  %11808 = load i32, ptr %221, align 4, !tbaa !5
  %11809 = call ptr @__errno_location() #12
  store i32 %11808, ptr %11809, align 4, !tbaa !5
  %11810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11811 = load i32, ptr @test_count, align 4, !tbaa !5
  %11812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11813 = load i32, ptr %11812, align 4, !tbaa !5
  %11814 = call ptr @s2n_strerror(i32 noundef %11813, ptr noundef @.str.4)
  %11815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11816 = load i32, ptr %11815, align 4, !tbaa !5
  %11817 = call ptr @s2n_strerror_debug(i32 noundef %11816, ptr noundef @.str.4)
  %11818 = call ptr @__errno_location() #12
  %11819 = load i32, ptr %11818, align 4, !tbaa !5
  %11820 = call ptr @strerror(i32 noundef %11819) #11
  %11821 = call ptr @__errno_location() #12
  %11822 = load i32, ptr %11821, align 4, !tbaa !5
  %11823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11810, ptr noundef @.str.2, i32 noundef %11811, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 308, ptr noundef %11814, ptr noundef %11817, ptr noundef %11820, i32 noundef %11822) #11
  br label %11841

11824:                                            ; preds = %11802, %11795
  %11825 = load i32, ptr %221, align 4, !tbaa !5
  %11826 = call ptr @__errno_location() #12
  store i32 %11825, ptr %11826, align 4, !tbaa !5
  %11827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11828 = load i32, ptr @test_count, align 4, !tbaa !5
  %11829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11830 = load i32, ptr %11829, align 4, !tbaa !5
  %11831 = call ptr @s2n_strerror(i32 noundef %11830, ptr noundef @.str.4)
  %11832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11833 = load i32, ptr %11832, align 4, !tbaa !5
  %11834 = call ptr @s2n_strerror_debug(i32 noundef %11833, ptr noundef @.str.4)
  %11835 = call ptr @__errno_location() #12
  %11836 = load i32, ptr %11835, align 4, !tbaa !5
  %11837 = call ptr @strerror(i32 noundef %11836) #11
  %11838 = call ptr @__errno_location() #12
  %11839 = load i32, ptr %11838, align 4, !tbaa !5
  %11840 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11827, ptr noundef @.str.5, i32 noundef %11828, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 308, ptr noundef %11831, ptr noundef %11834, ptr noundef %11837, i32 noundef %11839) #11
  br label %11841

11841:                                            ; preds = %11824, %11807
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %11842

11842:                                            ; preds = %11841
  br label %11843

11843:                                            ; preds = %11842
  call void @exit(i32 noundef 1) #13
  unreachable

11844:                                            ; No predecessors!
  br label %11845

11845:                                            ; preds = %11844
  br label %11846

11846:                                            ; preds = %11845, %11787
  br label %11847

11847:                                            ; preds = %11846
  br label %11848

11848:                                            ; preds = %11847
  br label %11849

11849:                                            ; preds = %11848
  %11850 = load i32, ptr @test_count, align 4, !tbaa !5
  %11851 = add nsw i32 %11850, 1
  store i32 %11851, ptr @test_count, align 4, !tbaa !5
  %11852 = call i32 @s2n_hash_init(ptr noundef %12, i32 noundef 6)
  %11853 = icmp eq i32 %11852, -1
  br i1 %11853, label %11854, label %11907

11854:                                            ; preds = %11849
  br label %11855

11855:                                            ; preds = %11854
  br label %11856

11856:                                            ; preds = %11855
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %11857 = call ptr @__errno_location() #12
  %11858 = load i32, ptr %11857, align 4, !tbaa !5
  store i32 %11858, ptr %222, align 4, !tbaa !5
  %11859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11860 = call i32 @s2n_print_stacktrace(ptr noundef %11859)
  %11861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11862 = trunc i8 %11861 to i1
  br i1 %11862, label %11863, label %11885

11863:                                            ; preds = %11856
  %11864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11865 = call i32 @fileno(ptr noundef %11864) #11
  %11866 = call i32 @isatty(i32 noundef %11865) #11
  %11867 = icmp ne i32 %11866, 0
  br i1 %11867, label %11868, label %11885

11868:                                            ; preds = %11863
  %11869 = load i32, ptr %222, align 4, !tbaa !5
  %11870 = call ptr @__errno_location() #12
  store i32 %11869, ptr %11870, align 4, !tbaa !5
  %11871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11872 = load i32, ptr @test_count, align 4, !tbaa !5
  %11873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11874 = load i32, ptr %11873, align 4, !tbaa !5
  %11875 = call ptr @s2n_strerror(i32 noundef %11874, ptr noundef @.str.4)
  %11876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11877 = load i32, ptr %11876, align 4, !tbaa !5
  %11878 = call ptr @s2n_strerror_debug(i32 noundef %11877, ptr noundef @.str.4)
  %11879 = call ptr @__errno_location() #12
  %11880 = load i32, ptr %11879, align 4, !tbaa !5
  %11881 = call ptr @strerror(i32 noundef %11880) #11
  %11882 = call ptr @__errno_location() #12
  %11883 = load i32, ptr %11882, align 4, !tbaa !5
  %11884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11871, ptr noundef @.str.2, i32 noundef %11872, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 309, ptr noundef %11875, ptr noundef %11878, ptr noundef %11881, i32 noundef %11883) #11
  br label %11902

11885:                                            ; preds = %11863, %11856
  %11886 = load i32, ptr %222, align 4, !tbaa !5
  %11887 = call ptr @__errno_location() #12
  store i32 %11886, ptr %11887, align 4, !tbaa !5
  %11888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11889 = load i32, ptr @test_count, align 4, !tbaa !5
  %11890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11891 = load i32, ptr %11890, align 4, !tbaa !5
  %11892 = call ptr @s2n_strerror(i32 noundef %11891, ptr noundef @.str.4)
  %11893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11894 = load i32, ptr %11893, align 4, !tbaa !5
  %11895 = call ptr @s2n_strerror_debug(i32 noundef %11894, ptr noundef @.str.4)
  %11896 = call ptr @__errno_location() #12
  %11897 = load i32, ptr %11896, align 4, !tbaa !5
  %11898 = call ptr @strerror(i32 noundef %11897) #11
  %11899 = call ptr @__errno_location() #12
  %11900 = load i32, ptr %11899, align 4, !tbaa !5
  %11901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11888, ptr noundef @.str.5, i32 noundef %11889, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 309, ptr noundef %11892, ptr noundef %11895, ptr noundef %11898, i32 noundef %11900) #11
  br label %11902

11902:                                            ; preds = %11885, %11868
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %11903

11903:                                            ; preds = %11902
  br label %11904

11904:                                            ; preds = %11903
  call void @exit(i32 noundef 1) #13
  unreachable

11905:                                            ; No predecessors!
  br label %11906

11906:                                            ; preds = %11905
  br label %11907

11907:                                            ; preds = %11906, %11849
  br label %11908

11908:                                            ; preds = %11907
  br label %11909

11909:                                            ; preds = %11908
  br label %11910

11910:                                            ; preds = %11909
  %11911 = load i32, ptr @test_count, align 4, !tbaa !5
  %11912 = add nsw i32 %11911, 1
  store i32 %11912, ptr @test_count, align 4, !tbaa !5
  %11913 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %11914 = icmp ne i32 %11913, 0
  br i1 %11914, label %11968, label %11915

11915:                                            ; preds = %11910
  br label %11916

11916:                                            ; preds = %11915
  br label %11917

11917:                                            ; preds = %11916
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %11918 = call ptr @__errno_location() #12
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  store i32 %11919, ptr %223, align 4, !tbaa !5
  %11920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11921 = call i32 @s2n_print_stacktrace(ptr noundef %11920)
  %11922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11923 = trunc i8 %11922 to i1
  br i1 %11923, label %11924, label %11946

11924:                                            ; preds = %11917
  %11925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11926 = call i32 @fileno(ptr noundef %11925) #11
  %11927 = call i32 @isatty(i32 noundef %11926) #11
  %11928 = icmp ne i32 %11927, 0
  br i1 %11928, label %11929, label %11946

11929:                                            ; preds = %11924
  %11930 = load i32, ptr %223, align 4, !tbaa !5
  %11931 = call ptr @__errno_location() #12
  store i32 %11930, ptr %11931, align 4, !tbaa !5
  %11932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11933 = load i32, ptr @test_count, align 4, !tbaa !5
  %11934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11935 = load i32, ptr %11934, align 4, !tbaa !5
  %11936 = call ptr @s2n_strerror(i32 noundef %11935, ptr noundef @.str.4)
  %11937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11938 = load i32, ptr %11937, align 4, !tbaa !5
  %11939 = call ptr @s2n_strerror_debug(i32 noundef %11938, ptr noundef @.str.4)
  %11940 = call ptr @__errno_location() #12
  %11941 = load i32, ptr %11940, align 4, !tbaa !5
  %11942 = call ptr @strerror(i32 noundef %11941) #11
  %11943 = call ptr @__errno_location() #12
  %11944 = load i32, ptr %11943, align 4, !tbaa !5
  %11945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11932, ptr noundef @.str.2, i32 noundef %11933, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 310, ptr noundef %11936, ptr noundef %11939, ptr noundef %11942, i32 noundef %11944) #11
  br label %11963

11946:                                            ; preds = %11924, %11917
  %11947 = load i32, ptr %223, align 4, !tbaa !5
  %11948 = call ptr @__errno_location() #12
  store i32 %11947, ptr %11948, align 4, !tbaa !5
  %11949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11950 = load i32, ptr @test_count, align 4, !tbaa !5
  %11951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11952 = load i32, ptr %11951, align 4, !tbaa !5
  %11953 = call ptr @s2n_strerror(i32 noundef %11952, ptr noundef @.str.4)
  %11954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11955 = load i32, ptr %11954, align 4, !tbaa !5
  %11956 = call ptr @s2n_strerror_debug(i32 noundef %11955, ptr noundef @.str.4)
  %11957 = call ptr @__errno_location() #12
  %11958 = load i32, ptr %11957, align 4, !tbaa !5
  %11959 = call ptr @strerror(i32 noundef %11958) #11
  %11960 = call ptr @__errno_location() #12
  %11961 = load i32, ptr %11960, align 4, !tbaa !5
  %11962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11949, ptr noundef @.str.5, i32 noundef %11950, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 310, ptr noundef %11953, ptr noundef %11956, ptr noundef %11959, i32 noundef %11961) #11
  br label %11963

11963:                                            ; preds = %11946, %11929
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %11964

11964:                                            ; preds = %11963
  br label %11965

11965:                                            ; preds = %11964
  call void @exit(i32 noundef 1) #13
  unreachable

11966:                                            ; No predecessors!
  br label %11967

11967:                                            ; preds = %11966
  br label %11968

11968:                                            ; preds = %11967, %11910
  br label %11969

11969:                                            ; preds = %11968
  br label %11970

11970:                                            ; preds = %11969
  br label %11971

11971:                                            ; preds = %11970
  %11972 = load i32, ptr @test_count, align 4, !tbaa !5
  %11973 = add nsw i32 %11972, 1
  store i32 %11973, ptr @test_count, align 4, !tbaa !5
  %11974 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %11975 = icmp eq i32 %11974, -1
  br i1 %11975, label %11976, label %12029

11976:                                            ; preds = %11971
  br label %11977

11977:                                            ; preds = %11976
  br label %11978

11978:                                            ; preds = %11977
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %11979 = call ptr @__errno_location() #12
  %11980 = load i32, ptr %11979, align 4, !tbaa !5
  store i32 %11980, ptr %224, align 4, !tbaa !5
  %11981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11982 = call i32 @s2n_print_stacktrace(ptr noundef %11981)
  %11983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %11984 = trunc i8 %11983 to i1
  br i1 %11984, label %11985, label %12007

11985:                                            ; preds = %11978
  %11986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11987 = call i32 @fileno(ptr noundef %11986) #11
  %11988 = call i32 @isatty(i32 noundef %11987) #11
  %11989 = icmp ne i32 %11988, 0
  br i1 %11989, label %11990, label %12007

11990:                                            ; preds = %11985
  %11991 = load i32, ptr %224, align 4, !tbaa !5
  %11992 = call ptr @__errno_location() #12
  store i32 %11991, ptr %11992, align 4, !tbaa !5
  %11993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11994 = load i32, ptr @test_count, align 4, !tbaa !5
  %11995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11996 = load i32, ptr %11995, align 4, !tbaa !5
  %11997 = call ptr @s2n_strerror(i32 noundef %11996, ptr noundef @.str.4)
  %11998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11999 = load i32, ptr %11998, align 4, !tbaa !5
  %12000 = call ptr @s2n_strerror_debug(i32 noundef %11999, ptr noundef @.str.4)
  %12001 = call ptr @__errno_location() #12
  %12002 = load i32, ptr %12001, align 4, !tbaa !5
  %12003 = call ptr @strerror(i32 noundef %12002) #11
  %12004 = call ptr @__errno_location() #12
  %12005 = load i32, ptr %12004, align 4, !tbaa !5
  %12006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11993, ptr noundef @.str.2, i32 noundef %11994, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 311, ptr noundef %11997, ptr noundef %12000, ptr noundef %12003, i32 noundef %12005) #11
  br label %12024

12007:                                            ; preds = %11985, %11978
  %12008 = load i32, ptr %224, align 4, !tbaa !5
  %12009 = call ptr @__errno_location() #12
  store i32 %12008, ptr %12009, align 4, !tbaa !5
  %12010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12011 = load i32, ptr @test_count, align 4, !tbaa !5
  %12012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12013 = load i32, ptr %12012, align 4, !tbaa !5
  %12014 = call ptr @s2n_strerror(i32 noundef %12013, ptr noundef @.str.4)
  %12015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12016 = load i32, ptr %12015, align 4, !tbaa !5
  %12017 = call ptr @s2n_strerror_debug(i32 noundef %12016, ptr noundef @.str.4)
  %12018 = call ptr @__errno_location() #12
  %12019 = load i32, ptr %12018, align 4, !tbaa !5
  %12020 = call ptr @strerror(i32 noundef %12019) #11
  %12021 = call ptr @__errno_location() #12
  %12022 = load i32, ptr %12021, align 4, !tbaa !5
  %12023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12010, ptr noundef @.str.5, i32 noundef %12011, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 311, ptr noundef %12014, ptr noundef %12017, ptr noundef %12020, i32 noundef %12022) #11
  br label %12024

12024:                                            ; preds = %12007, %11990
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %12025

12025:                                            ; preds = %12024
  br label %12026

12026:                                            ; preds = %12025
  call void @exit(i32 noundef 1) #13
  unreachable

12027:                                            ; No predecessors!
  br label %12028

12028:                                            ; preds = %12027
  br label %12029

12029:                                            ; preds = %12028, %11971
  br label %12030

12030:                                            ; preds = %12029
  br label %12031

12031:                                            ; preds = %12030
  br label %12032

12032:                                            ; preds = %12031
  %12033 = load i32, ptr @test_count, align 4, !tbaa !5
  %12034 = add nsw i32 %12033, 1
  store i32 %12034, ptr @test_count, align 4, !tbaa !5
  %12035 = load i64, ptr %16, align 8, !tbaa !11
  %12036 = icmp eq i64 %12035, 0
  br i1 %12036, label %12090, label %12037

12037:                                            ; preds = %12032
  br label %12038

12038:                                            ; preds = %12037
  br label %12039

12039:                                            ; preds = %12038
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %12040 = call ptr @__errno_location() #12
  %12041 = load i32, ptr %12040, align 4, !tbaa !5
  store i32 %12041, ptr %225, align 4, !tbaa !5
  %12042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12043 = call i32 @s2n_print_stacktrace(ptr noundef %12042)
  %12044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12045 = trunc i8 %12044 to i1
  br i1 %12045, label %12046, label %12068

12046:                                            ; preds = %12039
  %12047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12048 = call i32 @fileno(ptr noundef %12047) #11
  %12049 = call i32 @isatty(i32 noundef %12048) #11
  %12050 = icmp ne i32 %12049, 0
  br i1 %12050, label %12051, label %12068

12051:                                            ; preds = %12046
  %12052 = load i32, ptr %225, align 4, !tbaa !5
  %12053 = call ptr @__errno_location() #12
  store i32 %12052, ptr %12053, align 4, !tbaa !5
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = load i32, ptr @test_count, align 4, !tbaa !5
  %12056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12057 = load i32, ptr %12056, align 4, !tbaa !5
  %12058 = call ptr @s2n_strerror(i32 noundef %12057, ptr noundef @.str.4)
  %12059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12060 = load i32, ptr %12059, align 4, !tbaa !5
  %12061 = call ptr @s2n_strerror_debug(i32 noundef %12060, ptr noundef @.str.4)
  %12062 = call ptr @__errno_location() #12
  %12063 = load i32, ptr %12062, align 4, !tbaa !5
  %12064 = call ptr @strerror(i32 noundef %12063) #11
  %12065 = call ptr @__errno_location() #12
  %12066 = load i32, ptr %12065, align 4, !tbaa !5
  %12067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12054, ptr noundef @.str.2, i32 noundef %12055, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 312, ptr noundef %12058, ptr noundef %12061, ptr noundef %12064, i32 noundef %12066) #11
  br label %12085

12068:                                            ; preds = %12046, %12039
  %12069 = load i32, ptr %225, align 4, !tbaa !5
  %12070 = call ptr @__errno_location() #12
  store i32 %12069, ptr %12070, align 4, !tbaa !5
  %12071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12072 = load i32, ptr @test_count, align 4, !tbaa !5
  %12073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12074 = load i32, ptr %12073, align 4, !tbaa !5
  %12075 = call ptr @s2n_strerror(i32 noundef %12074, ptr noundef @.str.4)
  %12076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12077 = load i32, ptr %12076, align 4, !tbaa !5
  %12078 = call ptr @s2n_strerror_debug(i32 noundef %12077, ptr noundef @.str.4)
  %12079 = call ptr @__errno_location() #12
  %12080 = load i32, ptr %12079, align 4, !tbaa !5
  %12081 = call ptr @strerror(i32 noundef %12080) #11
  %12082 = call ptr @__errno_location() #12
  %12083 = load i32, ptr %12082, align 4, !tbaa !5
  %12084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12071, ptr noundef @.str.5, i32 noundef %12072, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 312, ptr noundef %12075, ptr noundef %12078, ptr noundef %12081, i32 noundef %12083) #11
  br label %12085

12085:                                            ; preds = %12068, %12051
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %12086

12086:                                            ; preds = %12085
  br label %12087

12087:                                            ; preds = %12086
  call void @exit(i32 noundef 1) #13
  unreachable

12088:                                            ; No predecessors!
  br label %12089

12089:                                            ; preds = %12088
  br label %12090

12090:                                            ; preds = %12089, %12032
  br label %12091

12091:                                            ; preds = %12090
  br label %12092

12092:                                            ; preds = %12091
  br label %12093

12093:                                            ; preds = %12092
  %12094 = load i32, ptr @test_count, align 4, !tbaa !5
  %12095 = add nsw i32 %12094, 1
  store i32 %12095, ptr @test_count, align 4, !tbaa !5
  %12096 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %12097 = getelementptr inbounds [14 x i8], ptr %8, i64 0, i64 0
  %12098 = call i64 @strlen(ptr noundef %12097) #14
  %12099 = trunc i64 %12098 to i32
  %12100 = call i32 @s2n_hash_update(ptr noundef %12, ptr noundef %12096, i32 noundef %12099)
  %12101 = icmp eq i32 %12100, -1
  br i1 %12101, label %12102, label %12155

12102:                                            ; preds = %12093
  br label %12103

12103:                                            ; preds = %12102
  br label %12104

12104:                                            ; preds = %12103
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %12105 = call ptr @__errno_location() #12
  %12106 = load i32, ptr %12105, align 4, !tbaa !5
  store i32 %12106, ptr %226, align 4, !tbaa !5
  %12107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12108 = call i32 @s2n_print_stacktrace(ptr noundef %12107)
  %12109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12110 = trunc i8 %12109 to i1
  br i1 %12110, label %12111, label %12133

12111:                                            ; preds = %12104
  %12112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12113 = call i32 @fileno(ptr noundef %12112) #11
  %12114 = call i32 @isatty(i32 noundef %12113) #11
  %12115 = icmp ne i32 %12114, 0
  br i1 %12115, label %12116, label %12133

12116:                                            ; preds = %12111
  %12117 = load i32, ptr %226, align 4, !tbaa !5
  %12118 = call ptr @__errno_location() #12
  store i32 %12117, ptr %12118, align 4, !tbaa !5
  %12119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12120 = load i32, ptr @test_count, align 4, !tbaa !5
  %12121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12122 = load i32, ptr %12121, align 4, !tbaa !5
  %12123 = call ptr @s2n_strerror(i32 noundef %12122, ptr noundef @.str.4)
  %12124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12125 = load i32, ptr %12124, align 4, !tbaa !5
  %12126 = call ptr @s2n_strerror_debug(i32 noundef %12125, ptr noundef @.str.4)
  %12127 = call ptr @__errno_location() #12
  %12128 = load i32, ptr %12127, align 4, !tbaa !5
  %12129 = call ptr @strerror(i32 noundef %12128) #11
  %12130 = call ptr @__errno_location() #12
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  %12132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12119, ptr noundef @.str.2, i32 noundef %12120, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 314, ptr noundef %12123, ptr noundef %12126, ptr noundef %12129, i32 noundef %12131) #11
  br label %12150

12133:                                            ; preds = %12111, %12104
  %12134 = load i32, ptr %226, align 4, !tbaa !5
  %12135 = call ptr @__errno_location() #12
  store i32 %12134, ptr %12135, align 4, !tbaa !5
  %12136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12137 = load i32, ptr @test_count, align 4, !tbaa !5
  %12138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12139 = load i32, ptr %12138, align 4, !tbaa !5
  %12140 = call ptr @s2n_strerror(i32 noundef %12139, ptr noundef @.str.4)
  %12141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12142 = load i32, ptr %12141, align 4, !tbaa !5
  %12143 = call ptr @s2n_strerror_debug(i32 noundef %12142, ptr noundef @.str.4)
  %12144 = call ptr @__errno_location() #12
  %12145 = load i32, ptr %12144, align 4, !tbaa !5
  %12146 = call ptr @strerror(i32 noundef %12145) #11
  %12147 = call ptr @__errno_location() #12
  %12148 = load i32, ptr %12147, align 4, !tbaa !5
  %12149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12136, ptr noundef @.str.5, i32 noundef %12137, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 314, ptr noundef %12140, ptr noundef %12143, ptr noundef %12146, i32 noundef %12148) #11
  br label %12150

12150:                                            ; preds = %12133, %12116
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %12151

12151:                                            ; preds = %12150
  br label %12152

12152:                                            ; preds = %12151
  call void @exit(i32 noundef 1) #13
  unreachable

12153:                                            ; No predecessors!
  br label %12154

12154:                                            ; preds = %12153
  br label %12155

12155:                                            ; preds = %12154, %12093
  br label %12156

12156:                                            ; preds = %12155
  br label %12157

12157:                                            ; preds = %12156
  br label %12158

12158:                                            ; preds = %12157
  %12159 = load i32, ptr @test_count, align 4, !tbaa !5
  %12160 = add nsw i32 %12159, 1
  store i32 %12160, ptr @test_count, align 4, !tbaa !5
  %12161 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %12162 = icmp ne i32 %12161, 0
  br i1 %12162, label %12216, label %12163

12163:                                            ; preds = %12158
  br label %12164

12164:                                            ; preds = %12163
  br label %12165

12165:                                            ; preds = %12164
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %12166 = call ptr @__errno_location() #12
  %12167 = load i32, ptr %12166, align 4, !tbaa !5
  store i32 %12167, ptr %227, align 4, !tbaa !5
  %12168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12169 = call i32 @s2n_print_stacktrace(ptr noundef %12168)
  %12170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12171 = trunc i8 %12170 to i1
  br i1 %12171, label %12172, label %12194

12172:                                            ; preds = %12165
  %12173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12174 = call i32 @fileno(ptr noundef %12173) #11
  %12175 = call i32 @isatty(i32 noundef %12174) #11
  %12176 = icmp ne i32 %12175, 0
  br i1 %12176, label %12177, label %12194

12177:                                            ; preds = %12172
  %12178 = load i32, ptr %227, align 4, !tbaa !5
  %12179 = call ptr @__errno_location() #12
  store i32 %12178, ptr %12179, align 4, !tbaa !5
  %12180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12181 = load i32, ptr @test_count, align 4, !tbaa !5
  %12182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12183 = load i32, ptr %12182, align 4, !tbaa !5
  %12184 = call ptr @s2n_strerror(i32 noundef %12183, ptr noundef @.str.4)
  %12185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12186 = load i32, ptr %12185, align 4, !tbaa !5
  %12187 = call ptr @s2n_strerror_debug(i32 noundef %12186, ptr noundef @.str.4)
  %12188 = call ptr @__errno_location() #12
  %12189 = load i32, ptr %12188, align 4, !tbaa !5
  %12190 = call ptr @strerror(i32 noundef %12189) #11
  %12191 = call ptr @__errno_location() #12
  %12192 = load i32, ptr %12191, align 4, !tbaa !5
  %12193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12180, ptr noundef @.str.2, i32 noundef %12181, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 315, ptr noundef %12184, ptr noundef %12187, ptr noundef %12190, i32 noundef %12192) #11
  br label %12211

12194:                                            ; preds = %12172, %12165
  %12195 = load i32, ptr %227, align 4, !tbaa !5
  %12196 = call ptr @__errno_location() #12
  store i32 %12195, ptr %12196, align 4, !tbaa !5
  %12197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12198 = load i32, ptr @test_count, align 4, !tbaa !5
  %12199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12200 = load i32, ptr %12199, align 4, !tbaa !5
  %12201 = call ptr @s2n_strerror(i32 noundef %12200, ptr noundef @.str.4)
  %12202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12203 = load i32, ptr %12202, align 4, !tbaa !5
  %12204 = call ptr @s2n_strerror_debug(i32 noundef %12203, ptr noundef @.str.4)
  %12205 = call ptr @__errno_location() #12
  %12206 = load i32, ptr %12205, align 4, !tbaa !5
  %12207 = call ptr @strerror(i32 noundef %12206) #11
  %12208 = call ptr @__errno_location() #12
  %12209 = load i32, ptr %12208, align 4, !tbaa !5
  %12210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12197, ptr noundef @.str.5, i32 noundef %12198, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 315, ptr noundef %12201, ptr noundef %12204, ptr noundef %12207, i32 noundef %12209) #11
  br label %12211

12211:                                            ; preds = %12194, %12177
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

12213:                                            ; preds = %12212
  call void @exit(i32 noundef 1) #13
  unreachable

12214:                                            ; No predecessors!
  br label %12215

12215:                                            ; preds = %12214
  br label %12216

12216:                                            ; preds = %12215, %12158
  br label %12217

12217:                                            ; preds = %12216
  br label %12218

12218:                                            ; preds = %12217
  br label %12219

12219:                                            ; preds = %12218
  %12220 = load i32, ptr @test_count, align 4, !tbaa !5
  %12221 = add nsw i32 %12220, 1
  store i32 %12221, ptr @test_count, align 4, !tbaa !5
  %12222 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %12223 = icmp eq i32 %12222, -1
  br i1 %12223, label %12224, label %12277

12224:                                            ; preds = %12219
  br label %12225

12225:                                            ; preds = %12224
  br label %12226

12226:                                            ; preds = %12225
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %12227 = call ptr @__errno_location() #12
  %12228 = load i32, ptr %12227, align 4, !tbaa !5
  store i32 %12228, ptr %228, align 4, !tbaa !5
  %12229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12230 = call i32 @s2n_print_stacktrace(ptr noundef %12229)
  %12231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12232 = trunc i8 %12231 to i1
  br i1 %12232, label %12233, label %12255

12233:                                            ; preds = %12226
  %12234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12235 = call i32 @fileno(ptr noundef %12234) #11
  %12236 = call i32 @isatty(i32 noundef %12235) #11
  %12237 = icmp ne i32 %12236, 0
  br i1 %12237, label %12238, label %12255

12238:                                            ; preds = %12233
  %12239 = load i32, ptr %228, align 4, !tbaa !5
  %12240 = call ptr @__errno_location() #12
  store i32 %12239, ptr %12240, align 4, !tbaa !5
  %12241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12242 = load i32, ptr @test_count, align 4, !tbaa !5
  %12243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12244 = load i32, ptr %12243, align 4, !tbaa !5
  %12245 = call ptr @s2n_strerror(i32 noundef %12244, ptr noundef @.str.4)
  %12246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12247 = load i32, ptr %12246, align 4, !tbaa !5
  %12248 = call ptr @s2n_strerror_debug(i32 noundef %12247, ptr noundef @.str.4)
  %12249 = call ptr @__errno_location() #12
  %12250 = load i32, ptr %12249, align 4, !tbaa !5
  %12251 = call ptr @strerror(i32 noundef %12250) #11
  %12252 = call ptr @__errno_location() #12
  %12253 = load i32, ptr %12252, align 4, !tbaa !5
  %12254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12241, ptr noundef @.str.2, i32 noundef %12242, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 316, ptr noundef %12245, ptr noundef %12248, ptr noundef %12251, i32 noundef %12253) #11
  br label %12272

12255:                                            ; preds = %12233, %12226
  %12256 = load i32, ptr %228, align 4, !tbaa !5
  %12257 = call ptr @__errno_location() #12
  store i32 %12256, ptr %12257, align 4, !tbaa !5
  %12258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12259 = load i32, ptr @test_count, align 4, !tbaa !5
  %12260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12261 = load i32, ptr %12260, align 4, !tbaa !5
  %12262 = call ptr @s2n_strerror(i32 noundef %12261, ptr noundef @.str.4)
  %12263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12264 = load i32, ptr %12263, align 4, !tbaa !5
  %12265 = call ptr @s2n_strerror_debug(i32 noundef %12264, ptr noundef @.str.4)
  %12266 = call ptr @__errno_location() #12
  %12267 = load i32, ptr %12266, align 4, !tbaa !5
  %12268 = call ptr @strerror(i32 noundef %12267) #11
  %12269 = call ptr @__errno_location() #12
  %12270 = load i32, ptr %12269, align 4, !tbaa !5
  %12271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12258, ptr noundef @.str.5, i32 noundef %12259, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 316, ptr noundef %12262, ptr noundef %12265, ptr noundef %12268, i32 noundef %12270) #11
  br label %12272

12272:                                            ; preds = %12255, %12238
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %12273

12273:                                            ; preds = %12272
  br label %12274

12274:                                            ; preds = %12273
  call void @exit(i32 noundef 1) #13
  unreachable

12275:                                            ; No predecessors!
  br label %12276

12276:                                            ; preds = %12275
  br label %12277

12277:                                            ; preds = %12276, %12219
  br label %12278

12278:                                            ; preds = %12277
  br label %12279

12279:                                            ; preds = %12278
  br label %12280

12280:                                            ; preds = %12279
  %12281 = load i32, ptr @test_count, align 4, !tbaa !5
  %12282 = add nsw i32 %12281, 1
  store i32 %12282, ptr @test_count, align 4, !tbaa !5
  %12283 = load i64, ptr %16, align 8, !tbaa !11
  %12284 = icmp eq i64 %12283, 13
  br i1 %12284, label %12338, label %12285

12285:                                            ; preds = %12280
  br label %12286

12286:                                            ; preds = %12285
  br label %12287

12287:                                            ; preds = %12286
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %12288 = call ptr @__errno_location() #12
  %12289 = load i32, ptr %12288, align 4, !tbaa !5
  store i32 %12289, ptr %229, align 4, !tbaa !5
  %12290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12291 = call i32 @s2n_print_stacktrace(ptr noundef %12290)
  %12292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12293 = trunc i8 %12292 to i1
  br i1 %12293, label %12294, label %12316

12294:                                            ; preds = %12287
  %12295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12296 = call i32 @fileno(ptr noundef %12295) #11
  %12297 = call i32 @isatty(i32 noundef %12296) #11
  %12298 = icmp ne i32 %12297, 0
  br i1 %12298, label %12299, label %12316

12299:                                            ; preds = %12294
  %12300 = load i32, ptr %229, align 4, !tbaa !5
  %12301 = call ptr @__errno_location() #12
  store i32 %12300, ptr %12301, align 4, !tbaa !5
  %12302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12303 = load i32, ptr @test_count, align 4, !tbaa !5
  %12304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12305 = load i32, ptr %12304, align 4, !tbaa !5
  %12306 = call ptr @s2n_strerror(i32 noundef %12305, ptr noundef @.str.4)
  %12307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12308 = load i32, ptr %12307, align 4, !tbaa !5
  %12309 = call ptr @s2n_strerror_debug(i32 noundef %12308, ptr noundef @.str.4)
  %12310 = call ptr @__errno_location() #12
  %12311 = load i32, ptr %12310, align 4, !tbaa !5
  %12312 = call ptr @strerror(i32 noundef %12311) #11
  %12313 = call ptr @__errno_location() #12
  %12314 = load i32, ptr %12313, align 4, !tbaa !5
  %12315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12302, ptr noundef @.str.2, i32 noundef %12303, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 317, ptr noundef %12306, ptr noundef %12309, ptr noundef %12312, i32 noundef %12314) #11
  br label %12333

12316:                                            ; preds = %12294, %12287
  %12317 = load i32, ptr %229, align 4, !tbaa !5
  %12318 = call ptr @__errno_location() #12
  store i32 %12317, ptr %12318, align 4, !tbaa !5
  %12319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12320 = load i32, ptr @test_count, align 4, !tbaa !5
  %12321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12322 = load i32, ptr %12321, align 4, !tbaa !5
  %12323 = call ptr @s2n_strerror(i32 noundef %12322, ptr noundef @.str.4)
  %12324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12325 = load i32, ptr %12324, align 4, !tbaa !5
  %12326 = call ptr @s2n_strerror_debug(i32 noundef %12325, ptr noundef @.str.4)
  %12327 = call ptr @__errno_location() #12
  %12328 = load i32, ptr %12327, align 4, !tbaa !5
  %12329 = call ptr @strerror(i32 noundef %12328) #11
  %12330 = call ptr @__errno_location() #12
  %12331 = load i32, ptr %12330, align 4, !tbaa !5
  %12332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12319, ptr noundef @.str.5, i32 noundef %12320, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 317, ptr noundef %12323, ptr noundef %12326, ptr noundef %12329, i32 noundef %12331) #11
  br label %12333

12333:                                            ; preds = %12316, %12299
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %12334

12334:                                            ; preds = %12333
  br label %12335

12335:                                            ; preds = %12334
  call void @exit(i32 noundef 1) #13
  unreachable

12336:                                            ; No predecessors!
  br label %12337

12337:                                            ; preds = %12336
  br label %12338

12338:                                            ; preds = %12337, %12280
  br label %12339

12339:                                            ; preds = %12338
  br label %12340

12340:                                            ; preds = %12339
  br label %12341

12341:                                            ; preds = %12340
  %12342 = load i32, ptr @test_count, align 4, !tbaa !5
  %12343 = add nsw i32 %12342, 1
  store i32 %12343, ptr @test_count, align 4, !tbaa !5
  %12344 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 0
  %12345 = call i32 @s2n_hash_digest(ptr noundef %12, ptr noundef %12344, i32 noundef 64)
  %12346 = icmp eq i32 %12345, -1
  br i1 %12346, label %12347, label %12400

12347:                                            ; preds = %12341
  br label %12348

12348:                                            ; preds = %12347
  br label %12349

12349:                                            ; preds = %12348
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %12350 = call ptr @__errno_location() #12
  %12351 = load i32, ptr %12350, align 4, !tbaa !5
  store i32 %12351, ptr %230, align 4, !tbaa !5
  %12352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12353 = call i32 @s2n_print_stacktrace(ptr noundef %12352)
  %12354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12355 = trunc i8 %12354 to i1
  br i1 %12355, label %12356, label %12378

12356:                                            ; preds = %12349
  %12357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12358 = call i32 @fileno(ptr noundef %12357) #11
  %12359 = call i32 @isatty(i32 noundef %12358) #11
  %12360 = icmp ne i32 %12359, 0
  br i1 %12360, label %12361, label %12378

12361:                                            ; preds = %12356
  %12362 = load i32, ptr %230, align 4, !tbaa !5
  %12363 = call ptr @__errno_location() #12
  store i32 %12362, ptr %12363, align 4, !tbaa !5
  %12364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12365 = load i32, ptr @test_count, align 4, !tbaa !5
  %12366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12367 = load i32, ptr %12366, align 4, !tbaa !5
  %12368 = call ptr @s2n_strerror(i32 noundef %12367, ptr noundef @.str.4)
  %12369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12370 = load i32, ptr %12369, align 4, !tbaa !5
  %12371 = call ptr @s2n_strerror_debug(i32 noundef %12370, ptr noundef @.str.4)
  %12372 = call ptr @__errno_location() #12
  %12373 = load i32, ptr %12372, align 4, !tbaa !5
  %12374 = call ptr @strerror(i32 noundef %12373) #11
  %12375 = call ptr @__errno_location() #12
  %12376 = load i32, ptr %12375, align 4, !tbaa !5
  %12377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12364, ptr noundef @.str.2, i32 noundef %12365, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12368, ptr noundef %12371, ptr noundef %12374, i32 noundef %12376) #11
  br label %12395

12378:                                            ; preds = %12356, %12349
  %12379 = load i32, ptr %230, align 4, !tbaa !5
  %12380 = call ptr @__errno_location() #12
  store i32 %12379, ptr %12380, align 4, !tbaa !5
  %12381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12382 = load i32, ptr @test_count, align 4, !tbaa !5
  %12383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12384 = load i32, ptr %12383, align 4, !tbaa !5
  %12385 = call ptr @s2n_strerror(i32 noundef %12384, ptr noundef @.str.4)
  %12386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12387 = load i32, ptr %12386, align 4, !tbaa !5
  %12388 = call ptr @s2n_strerror_debug(i32 noundef %12387, ptr noundef @.str.4)
  %12389 = call ptr @__errno_location() #12
  %12390 = load i32, ptr %12389, align 4, !tbaa !5
  %12391 = call ptr @strerror(i32 noundef %12390) #11
  %12392 = call ptr @__errno_location() #12
  %12393 = load i32, ptr %12392, align 4, !tbaa !5
  %12394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12381, ptr noundef @.str.5, i32 noundef %12382, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 319, ptr noundef %12385, ptr noundef %12388, ptr noundef %12391, i32 noundef %12393) #11
  br label %12395

12395:                                            ; preds = %12378, %12361
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %12396

12396:                                            ; preds = %12395
  br label %12397

12397:                                            ; preds = %12396
  call void @exit(i32 noundef 1) #13
  unreachable

12398:                                            ; No predecessors!
  br label %12399

12399:                                            ; preds = %12398
  br label %12400

12400:                                            ; preds = %12399, %12341
  br label %12401

12401:                                            ; preds = %12400
  br label %12402

12402:                                            ; preds = %12401
  br label %12403

12403:                                            ; preds = %12402
  %12404 = load i32, ptr @test_count, align 4, !tbaa !5
  %12405 = add nsw i32 %12404, 1
  store i32 %12405, ptr @test_count, align 4, !tbaa !5
  %12406 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %12407 = icmp ne i32 %12406, 0
  br i1 %12407, label %12408, label %12461

12408:                                            ; preds = %12403
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

12410:                                            ; preds = %12409
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %12411 = call ptr @__errno_location() #12
  %12412 = load i32, ptr %12411, align 4, !tbaa !5
  store i32 %12412, ptr %231, align 4, !tbaa !5
  %12413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12414 = call i32 @s2n_print_stacktrace(ptr noundef %12413)
  %12415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12416 = trunc i8 %12415 to i1
  br i1 %12416, label %12417, label %12439

12417:                                            ; preds = %12410
  %12418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12419 = call i32 @fileno(ptr noundef %12418) #11
  %12420 = call i32 @isatty(i32 noundef %12419) #11
  %12421 = icmp ne i32 %12420, 0
  br i1 %12421, label %12422, label %12439

12422:                                            ; preds = %12417
  %12423 = load i32, ptr %231, align 4, !tbaa !5
  %12424 = call ptr @__errno_location() #12
  store i32 %12423, ptr %12424, align 4, !tbaa !5
  %12425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12426 = load i32, ptr @test_count, align 4, !tbaa !5
  %12427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12428 = load i32, ptr %12427, align 4, !tbaa !5
  %12429 = call ptr @s2n_strerror(i32 noundef %12428, ptr noundef @.str.4)
  %12430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12431 = load i32, ptr %12430, align 4, !tbaa !5
  %12432 = call ptr @s2n_strerror_debug(i32 noundef %12431, ptr noundef @.str.4)
  %12433 = call ptr @__errno_location() #12
  %12434 = load i32, ptr %12433, align 4, !tbaa !5
  %12435 = call ptr @strerror(i32 noundef %12434) #11
  %12436 = call ptr @__errno_location() #12
  %12437 = load i32, ptr %12436, align 4, !tbaa !5
  %12438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12425, ptr noundef @.str.2, i32 noundef %12426, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 320, ptr noundef %12429, ptr noundef %12432, ptr noundef %12435, i32 noundef %12437) #11
  br label %12456

12439:                                            ; preds = %12417, %12410
  %12440 = load i32, ptr %231, align 4, !tbaa !5
  %12441 = call ptr @__errno_location() #12
  store i32 %12440, ptr %12441, align 4, !tbaa !5
  %12442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12443 = load i32, ptr @test_count, align 4, !tbaa !5
  %12444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12445 = load i32, ptr %12444, align 4, !tbaa !5
  %12446 = call ptr @s2n_strerror(i32 noundef %12445, ptr noundef @.str.4)
  %12447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12448 = load i32, ptr %12447, align 4, !tbaa !5
  %12449 = call ptr @s2n_strerror_debug(i32 noundef %12448, ptr noundef @.str.4)
  %12450 = call ptr @__errno_location() #12
  %12451 = load i32, ptr %12450, align 4, !tbaa !5
  %12452 = call ptr @strerror(i32 noundef %12451) #11
  %12453 = call ptr @__errno_location() #12
  %12454 = load i32, ptr %12453, align 4, !tbaa !5
  %12455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12442, ptr noundef @.str.5, i32 noundef %12443, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 320, ptr noundef %12446, ptr noundef %12449, ptr noundef %12452, i32 noundef %12454) #11
  br label %12456

12456:                                            ; preds = %12439, %12422
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %12457

12457:                                            ; preds = %12456
  br label %12458

12458:                                            ; preds = %12457
  call void @exit(i32 noundef 1) #13
  unreachable

12459:                                            ; No predecessors!
  br label %12460

12460:                                            ; preds = %12459
  br label %12461

12461:                                            ; preds = %12460, %12403
  br label %12462

12462:                                            ; preds = %12461
  br label %12463

12463:                                            ; preds = %12462
  br label %12464

12464:                                            ; preds = %12463
  br label %12465

12465:                                            ; preds = %12464
  %12466 = load i32, ptr @test_count, align 4, !tbaa !5
  %12467 = add nsw i32 %12466, 1
  store i32 %12467, ptr @test_count, align 4, !tbaa !5
  %12468 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %12469 = icmp eq i32 %12468, -1
  br i1 %12469, label %12523, label %12470

12470:                                            ; preds = %12465
  br label %12471

12471:                                            ; preds = %12470
  br label %12472

12472:                                            ; preds = %12471
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %12473 = call ptr @__errno_location() #12
  %12474 = load i32, ptr %12473, align 4, !tbaa !5
  store i32 %12474, ptr %232, align 4, !tbaa !5
  %12475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12476 = call i32 @s2n_print_stacktrace(ptr noundef %12475)
  %12477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12478 = trunc i8 %12477 to i1
  br i1 %12478, label %12479, label %12501

12479:                                            ; preds = %12472
  %12480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12481 = call i32 @fileno(ptr noundef %12480) #11
  %12482 = call i32 @isatty(i32 noundef %12481) #11
  %12483 = icmp ne i32 %12482, 0
  br i1 %12483, label %12484, label %12501

12484:                                            ; preds = %12479
  %12485 = load i32, ptr %232, align 4, !tbaa !5
  %12486 = call ptr @__errno_location() #12
  store i32 %12485, ptr %12486, align 4, !tbaa !5
  %12487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12488 = load i32, ptr @test_count, align 4, !tbaa !5
  %12489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12490 = load i32, ptr %12489, align 4, !tbaa !5
  %12491 = call ptr @s2n_strerror(i32 noundef %12490, ptr noundef @.str.4)
  %12492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12493 = load i32, ptr %12492, align 4, !tbaa !5
  %12494 = call ptr @s2n_strerror_debug(i32 noundef %12493, ptr noundef @.str.4)
  %12495 = call ptr @__errno_location() #12
  %12496 = load i32, ptr %12495, align 4, !tbaa !5
  %12497 = call ptr @strerror(i32 noundef %12496) #11
  %12498 = call ptr @__errno_location() #12
  %12499 = load i32, ptr %12498, align 4, !tbaa !5
  %12500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12487, ptr noundef @.str.2, i32 noundef %12488, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12491, ptr noundef %12494, ptr noundef %12497, i32 noundef %12499) #11
  br label %12518

12501:                                            ; preds = %12479, %12472
  %12502 = load i32, ptr %232, align 4, !tbaa !5
  %12503 = call ptr @__errno_location() #12
  store i32 %12502, ptr %12503, align 4, !tbaa !5
  %12504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12505 = load i32, ptr @test_count, align 4, !tbaa !5
  %12506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12507 = load i32, ptr %12506, align 4, !tbaa !5
  %12508 = call ptr @s2n_strerror(i32 noundef %12507, ptr noundef @.str.4)
  %12509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12510 = load i32, ptr %12509, align 4, !tbaa !5
  %12511 = call ptr @s2n_strerror_debug(i32 noundef %12510, ptr noundef @.str.4)
  %12512 = call ptr @__errno_location() #12
  %12513 = load i32, ptr %12512, align 4, !tbaa !5
  %12514 = call ptr @strerror(i32 noundef %12513) #11
  %12515 = call ptr @__errno_location() #12
  %12516 = load i32, ptr %12515, align 4, !tbaa !5
  %12517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12504, ptr noundef @.str.5, i32 noundef %12505, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12508, ptr noundef %12511, ptr noundef %12514, i32 noundef %12516) #11
  br label %12518

12518:                                            ; preds = %12501, %12484
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %12519

12519:                                            ; preds = %12518
  br label %12520

12520:                                            ; preds = %12519
  call void @exit(i32 noundef 1) #13
  unreachable

12521:                                            ; No predecessors!
  br label %12522

12522:                                            ; preds = %12521
  br label %12523

12523:                                            ; preds = %12522, %12465
  br label %12524

12524:                                            ; preds = %12523
  br label %12525

12525:                                            ; preds = %12524
  br label %12526

12526:                                            ; preds = %12525
  %12527 = load i32, ptr @test_count, align 4, !tbaa !5
  %12528 = add nsw i32 %12527, 1
  store i32 %12528, ptr @test_count, align 4, !tbaa !5
  %12529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12530 = load i32, ptr %12529, align 4, !tbaa !5
  %12531 = icmp eq i32 %12530, 0
  br i1 %12531, label %12532, label %12585

12532:                                            ; preds = %12526
  br label %12533

12533:                                            ; preds = %12532
  br label %12534

12534:                                            ; preds = %12533
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %12535 = call ptr @__errno_location() #12
  %12536 = load i32, ptr %12535, align 4, !tbaa !5
  store i32 %12536, ptr %233, align 4, !tbaa !5
  %12537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12538 = call i32 @s2n_print_stacktrace(ptr noundef %12537)
  %12539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12540 = trunc i8 %12539 to i1
  br i1 %12540, label %12541, label %12563

12541:                                            ; preds = %12534
  %12542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12543 = call i32 @fileno(ptr noundef %12542) #11
  %12544 = call i32 @isatty(i32 noundef %12543) #11
  %12545 = icmp ne i32 %12544, 0
  br i1 %12545, label %12546, label %12563

12546:                                            ; preds = %12541
  %12547 = load i32, ptr %233, align 4, !tbaa !5
  %12548 = call ptr @__errno_location() #12
  store i32 %12547, ptr %12548, align 4, !tbaa !5
  %12549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12550 = load i32, ptr @test_count, align 4, !tbaa !5
  %12551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12552 = load i32, ptr %12551, align 4, !tbaa !5
  %12553 = call ptr @s2n_strerror(i32 noundef %12552, ptr noundef @.str.4)
  %12554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12555 = load i32, ptr %12554, align 4, !tbaa !5
  %12556 = call ptr @s2n_strerror_debug(i32 noundef %12555, ptr noundef @.str.4)
  %12557 = call ptr @__errno_location() #12
  %12558 = load i32, ptr %12557, align 4, !tbaa !5
  %12559 = call ptr @strerror(i32 noundef %12558) #11
  %12560 = call ptr @__errno_location() #12
  %12561 = load i32, ptr %12560, align 4, !tbaa !5
  %12562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12549, ptr noundef @.str.2, i32 noundef %12550, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12553, ptr noundef %12556, ptr noundef %12559, i32 noundef %12561) #11
  br label %12580

12563:                                            ; preds = %12541, %12534
  %12564 = load i32, ptr %233, align 4, !tbaa !5
  %12565 = call ptr @__errno_location() #12
  store i32 %12564, ptr %12565, align 4, !tbaa !5
  %12566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12567 = load i32, ptr @test_count, align 4, !tbaa !5
  %12568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12569 = load i32, ptr %12568, align 4, !tbaa !5
  %12570 = call ptr @s2n_strerror(i32 noundef %12569, ptr noundef @.str.4)
  %12571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12572 = load i32, ptr %12571, align 4, !tbaa !5
  %12573 = call ptr @s2n_strerror_debug(i32 noundef %12572, ptr noundef @.str.4)
  %12574 = call ptr @__errno_location() #12
  %12575 = load i32, ptr %12574, align 4, !tbaa !5
  %12576 = call ptr @strerror(i32 noundef %12575) #11
  %12577 = call ptr @__errno_location() #12
  %12578 = load i32, ptr %12577, align 4, !tbaa !5
  %12579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12566, ptr noundef @.str.5, i32 noundef %12567, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12570, ptr noundef %12573, ptr noundef %12576, i32 noundef %12578) #11
  br label %12580

12580:                                            ; preds = %12563, %12546
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %12581

12581:                                            ; preds = %12580
  br label %12582

12582:                                            ; preds = %12581
  call void @exit(i32 noundef 1) #13
  unreachable

12583:                                            ; No predecessors!
  br label %12584

12584:                                            ; preds = %12583
  br label %12585

12585:                                            ; preds = %12584, %12526
  br label %12586

12586:                                            ; preds = %12585
  br label %12587

12587:                                            ; preds = %12586
  br label %12588

12588:                                            ; preds = %12587
  %12589 = load i32, ptr @test_count, align 4, !tbaa !5
  %12590 = add nsw i32 %12589, 1
  store i32 %12590, ptr @test_count, align 4, !tbaa !5
  %12591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12592 = load i32, ptr %12591, align 4, !tbaa !5
  %12593 = call ptr @s2n_strerror_debug(i32 noundef %12592, ptr noundef @.str.4)
  %12594 = icmp eq ptr %12593, null
  br i1 %12594, label %12595, label %12648

12595:                                            ; preds = %12588
  br label %12596

12596:                                            ; preds = %12595
  br label %12597

12597:                                            ; preds = %12596
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %12598 = call ptr @__errno_location() #12
  %12599 = load i32, ptr %12598, align 4, !tbaa !5
  store i32 %12599, ptr %234, align 4, !tbaa !5
  %12600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12601 = call i32 @s2n_print_stacktrace(ptr noundef %12600)
  %12602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12603 = trunc i8 %12602 to i1
  br i1 %12603, label %12604, label %12626

12604:                                            ; preds = %12597
  %12605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12606 = call i32 @fileno(ptr noundef %12605) #11
  %12607 = call i32 @isatty(i32 noundef %12606) #11
  %12608 = icmp ne i32 %12607, 0
  br i1 %12608, label %12609, label %12626

12609:                                            ; preds = %12604
  %12610 = load i32, ptr %234, align 4, !tbaa !5
  %12611 = call ptr @__errno_location() #12
  store i32 %12610, ptr %12611, align 4, !tbaa !5
  %12612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12613 = load i32, ptr @test_count, align 4, !tbaa !5
  %12614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12615 = load i32, ptr %12614, align 4, !tbaa !5
  %12616 = call ptr @s2n_strerror(i32 noundef %12615, ptr noundef @.str.4)
  %12617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12618 = load i32, ptr %12617, align 4, !tbaa !5
  %12619 = call ptr @s2n_strerror_debug(i32 noundef %12618, ptr noundef @.str.4)
  %12620 = call ptr @__errno_location() #12
  %12621 = load i32, ptr %12620, align 4, !tbaa !5
  %12622 = call ptr @strerror(i32 noundef %12621) #11
  %12623 = call ptr @__errno_location() #12
  %12624 = load i32, ptr %12623, align 4, !tbaa !5
  %12625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12612, ptr noundef @.str.2, i32 noundef %12613, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12616, ptr noundef %12619, ptr noundef %12622, i32 noundef %12624) #11
  br label %12643

12626:                                            ; preds = %12604, %12597
  %12627 = load i32, ptr %234, align 4, !tbaa !5
  %12628 = call ptr @__errno_location() #12
  store i32 %12627, ptr %12628, align 4, !tbaa !5
  %12629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12630 = load i32, ptr @test_count, align 4, !tbaa !5
  %12631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12632 = load i32, ptr %12631, align 4, !tbaa !5
  %12633 = call ptr @s2n_strerror(i32 noundef %12632, ptr noundef @.str.4)
  %12634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12635 = load i32, ptr %12634, align 4, !tbaa !5
  %12636 = call ptr @s2n_strerror_debug(i32 noundef %12635, ptr noundef @.str.4)
  %12637 = call ptr @__errno_location() #12
  %12638 = load i32, ptr %12637, align 4, !tbaa !5
  %12639 = call ptr @strerror(i32 noundef %12638) #11
  %12640 = call ptr @__errno_location() #12
  %12641 = load i32, ptr %12640, align 4, !tbaa !5
  %12642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12629, ptr noundef @.str.5, i32 noundef %12630, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 321, ptr noundef %12633, ptr noundef %12636, ptr noundef %12639, i32 noundef %12641) #11
  br label %12643

12643:                                            ; preds = %12626, %12609
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %12644

12644:                                            ; preds = %12643
  br label %12645

12645:                                            ; preds = %12644
  call void @exit(i32 noundef 1) #13
  unreachable

12646:                                            ; No predecessors!
  br label %12647

12647:                                            ; preds = %12646
  br label %12648

12648:                                            ; preds = %12647, %12588
  br label %12649

12649:                                            ; preds = %12648
  br label %12650

12650:                                            ; preds = %12649
  br label %12651

12651:                                            ; preds = %12650
  %12652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12652, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12653 = call ptr @__errno_location() #12
  store i32 0, ptr %12653, align 4, !tbaa !5
  br label %12654

12654:                                            ; preds = %12651
  br label %12655

12655:                                            ; preds = %12654
  br label %12656

12656:                                            ; preds = %12655
  br label %12657

12657:                                            ; preds = %12656
  br label %12658

12658:                                            ; preds = %12657
  %12659 = load i32, ptr @test_count, align 4, !tbaa !5
  %12660 = add nsw i32 %12659, 1
  store i32 %12660, ptr @test_count, align 4, !tbaa !5
  %12661 = call i32 @s2n_hash_free(ptr noundef %12)
  %12662 = icmp eq i32 %12661, -1
  br i1 %12662, label %12663, label %12716

12663:                                            ; preds = %12658
  br label %12664

12664:                                            ; preds = %12663
  br label %12665

12665:                                            ; preds = %12664
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %12666 = call ptr @__errno_location() #12
  %12667 = load i32, ptr %12666, align 4, !tbaa !5
  store i32 %12667, ptr %235, align 4, !tbaa !5
  %12668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12669 = call i32 @s2n_print_stacktrace(ptr noundef %12668)
  %12670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12671 = trunc i8 %12670 to i1
  br i1 %12671, label %12672, label %12694

12672:                                            ; preds = %12665
  %12673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12674 = call i32 @fileno(ptr noundef %12673) #11
  %12675 = call i32 @isatty(i32 noundef %12674) #11
  %12676 = icmp ne i32 %12675, 0
  br i1 %12676, label %12677, label %12694

12677:                                            ; preds = %12672
  %12678 = load i32, ptr %235, align 4, !tbaa !5
  %12679 = call ptr @__errno_location() #12
  store i32 %12678, ptr %12679, align 4, !tbaa !5
  %12680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12681 = load i32, ptr @test_count, align 4, !tbaa !5
  %12682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12683 = load i32, ptr %12682, align 4, !tbaa !5
  %12684 = call ptr @s2n_strerror(i32 noundef %12683, ptr noundef @.str.4)
  %12685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12686 = load i32, ptr %12685, align 4, !tbaa !5
  %12687 = call ptr @s2n_strerror_debug(i32 noundef %12686, ptr noundef @.str.4)
  %12688 = call ptr @__errno_location() #12
  %12689 = load i32, ptr %12688, align 4, !tbaa !5
  %12690 = call ptr @strerror(i32 noundef %12689) #11
  %12691 = call ptr @__errno_location() #12
  %12692 = load i32, ptr %12691, align 4, !tbaa !5
  %12693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12680, ptr noundef @.str.2, i32 noundef %12681, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 323, ptr noundef %12684, ptr noundef %12687, ptr noundef %12690, i32 noundef %12692) #11
  br label %12711

12694:                                            ; preds = %12672, %12665
  %12695 = load i32, ptr %235, align 4, !tbaa !5
  %12696 = call ptr @__errno_location() #12
  store i32 %12695, ptr %12696, align 4, !tbaa !5
  %12697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12698 = load i32, ptr @test_count, align 4, !tbaa !5
  %12699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12700 = load i32, ptr %12699, align 4, !tbaa !5
  %12701 = call ptr @s2n_strerror(i32 noundef %12700, ptr noundef @.str.4)
  %12702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12703 = load i32, ptr %12702, align 4, !tbaa !5
  %12704 = call ptr @s2n_strerror_debug(i32 noundef %12703, ptr noundef @.str.4)
  %12705 = call ptr @__errno_location() #12
  %12706 = load i32, ptr %12705, align 4, !tbaa !5
  %12707 = call ptr @strerror(i32 noundef %12706) #11
  %12708 = call ptr @__errno_location() #12
  %12709 = load i32, ptr %12708, align 4, !tbaa !5
  %12710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12697, ptr noundef @.str.5, i32 noundef %12698, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 323, ptr noundef %12701, ptr noundef %12704, ptr noundef %12707, i32 noundef %12709) #11
  br label %12711

12711:                                            ; preds = %12694, %12677
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %12712

12712:                                            ; preds = %12711
  br label %12713

12713:                                            ; preds = %12712
  call void @exit(i32 noundef 1) #13
  unreachable

12714:                                            ; No predecessors!
  br label %12715

12715:                                            ; preds = %12714
  br label %12716

12716:                                            ; preds = %12715, %12658
  br label %12717

12717:                                            ; preds = %12716
  br label %12718

12718:                                            ; preds = %12717
  br label %12719

12719:                                            ; preds = %12718
  %12720 = load i32, ptr @test_count, align 4, !tbaa !5
  %12721 = add nsw i32 %12720, 1
  store i32 %12721, ptr @test_count, align 4, !tbaa !5
  %12722 = call i32 @s2n_hash_is_ready_for_input(ptr noundef %12)
  %12723 = icmp ne i32 %12722, 0
  br i1 %12723, label %12724, label %12777

12724:                                            ; preds = %12719
  br label %12725

12725:                                            ; preds = %12724
  br label %12726

12726:                                            ; preds = %12725
  call void @llvm.lifetime.start.p0(i64 4, ptr %236) #11
  %12727 = call ptr @__errno_location() #12
  %12728 = load i32, ptr %12727, align 4, !tbaa !5
  store i32 %12728, ptr %236, align 4, !tbaa !5
  %12729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12730 = call i32 @s2n_print_stacktrace(ptr noundef %12729)
  %12731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12732 = trunc i8 %12731 to i1
  br i1 %12732, label %12733, label %12755

12733:                                            ; preds = %12726
  %12734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12735 = call i32 @fileno(ptr noundef %12734) #11
  %12736 = call i32 @isatty(i32 noundef %12735) #11
  %12737 = icmp ne i32 %12736, 0
  br i1 %12737, label %12738, label %12755

12738:                                            ; preds = %12733
  %12739 = load i32, ptr %236, align 4, !tbaa !5
  %12740 = call ptr @__errno_location() #12
  store i32 %12739, ptr %12740, align 4, !tbaa !5
  %12741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12742 = load i32, ptr @test_count, align 4, !tbaa !5
  %12743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12744 = load i32, ptr %12743, align 4, !tbaa !5
  %12745 = call ptr @s2n_strerror(i32 noundef %12744, ptr noundef @.str.4)
  %12746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12747 = load i32, ptr %12746, align 4, !tbaa !5
  %12748 = call ptr @s2n_strerror_debug(i32 noundef %12747, ptr noundef @.str.4)
  %12749 = call ptr @__errno_location() #12
  %12750 = load i32, ptr %12749, align 4, !tbaa !5
  %12751 = call ptr @strerror(i32 noundef %12750) #11
  %12752 = call ptr @__errno_location() #12
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12741, ptr noundef @.str.2, i32 noundef %12742, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 324, ptr noundef %12745, ptr noundef %12748, ptr noundef %12751, i32 noundef %12753) #11
  br label %12772

12755:                                            ; preds = %12733, %12726
  %12756 = load i32, ptr %236, align 4, !tbaa !5
  %12757 = call ptr @__errno_location() #12
  store i32 %12756, ptr %12757, align 4, !tbaa !5
  %12758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12759 = load i32, ptr @test_count, align 4, !tbaa !5
  %12760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12761 = load i32, ptr %12760, align 4, !tbaa !5
  %12762 = call ptr @s2n_strerror(i32 noundef %12761, ptr noundef @.str.4)
  %12763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12764 = load i32, ptr %12763, align 4, !tbaa !5
  %12765 = call ptr @s2n_strerror_debug(i32 noundef %12764, ptr noundef @.str.4)
  %12766 = call ptr @__errno_location() #12
  %12767 = load i32, ptr %12766, align 4, !tbaa !5
  %12768 = call ptr @strerror(i32 noundef %12767) #11
  %12769 = call ptr @__errno_location() #12
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12758, ptr noundef @.str.5, i32 noundef %12759, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 324, ptr noundef %12762, ptr noundef %12765, ptr noundef %12768, i32 noundef %12770) #11
  br label %12772

12772:                                            ; preds = %12755, %12738
  call void @llvm.lifetime.end.p0(i64 4, ptr %236) #11
  br label %12773

12773:                                            ; preds = %12772
  br label %12774

12774:                                            ; preds = %12773
  call void @exit(i32 noundef 1) #13
  unreachable

12775:                                            ; No predecessors!
  br label %12776

12776:                                            ; preds = %12775
  br label %12777

12777:                                            ; preds = %12776, %12719
  br label %12778

12778:                                            ; preds = %12777
  br label %12779

12779:                                            ; preds = %12778
  br label %12780

12780:                                            ; preds = %12779
  br label %12781

12781:                                            ; preds = %12780
  %12782 = load i32, ptr @test_count, align 4, !tbaa !5
  %12783 = add nsw i32 %12782, 1
  store i32 %12783, ptr @test_count, align 4, !tbaa !5
  %12784 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef %12, ptr noundef %16)
  %12785 = icmp eq i32 %12784, -1
  br i1 %12785, label %12839, label %12786

12786:                                            ; preds = %12781
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787
  call void @llvm.lifetime.start.p0(i64 4, ptr %237) #11
  %12789 = call ptr @__errno_location() #12
  %12790 = load i32, ptr %12789, align 4, !tbaa !5
  store i32 %12790, ptr %237, align 4, !tbaa !5
  %12791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12792 = call i32 @s2n_print_stacktrace(ptr noundef %12791)
  %12793 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12794 = trunc i8 %12793 to i1
  br i1 %12794, label %12795, label %12817

12795:                                            ; preds = %12788
  %12796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12797 = call i32 @fileno(ptr noundef %12796) #11
  %12798 = call i32 @isatty(i32 noundef %12797) #11
  %12799 = icmp ne i32 %12798, 0
  br i1 %12799, label %12800, label %12817

12800:                                            ; preds = %12795
  %12801 = load i32, ptr %237, align 4, !tbaa !5
  %12802 = call ptr @__errno_location() #12
  store i32 %12801, ptr %12802, align 4, !tbaa !5
  %12803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12804 = load i32, ptr @test_count, align 4, !tbaa !5
  %12805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12806 = load i32, ptr %12805, align 4, !tbaa !5
  %12807 = call ptr @s2n_strerror(i32 noundef %12806, ptr noundef @.str.4)
  %12808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12809 = load i32, ptr %12808, align 4, !tbaa !5
  %12810 = call ptr @s2n_strerror_debug(i32 noundef %12809, ptr noundef @.str.4)
  %12811 = call ptr @__errno_location() #12
  %12812 = load i32, ptr %12811, align 4, !tbaa !5
  %12813 = call ptr @strerror(i32 noundef %12812) #11
  %12814 = call ptr @__errno_location() #12
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12803, ptr noundef @.str.2, i32 noundef %12804, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12807, ptr noundef %12810, ptr noundef %12813, i32 noundef %12815) #11
  br label %12834

12817:                                            ; preds = %12795, %12788
  %12818 = load i32, ptr %237, align 4, !tbaa !5
  %12819 = call ptr @__errno_location() #12
  store i32 %12818, ptr %12819, align 4, !tbaa !5
  %12820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12821 = load i32, ptr @test_count, align 4, !tbaa !5
  %12822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12823 = load i32, ptr %12822, align 4, !tbaa !5
  %12824 = call ptr @s2n_strerror(i32 noundef %12823, ptr noundef @.str.4)
  %12825 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12826 = load i32, ptr %12825, align 4, !tbaa !5
  %12827 = call ptr @s2n_strerror_debug(i32 noundef %12826, ptr noundef @.str.4)
  %12828 = call ptr @__errno_location() #12
  %12829 = load i32, ptr %12828, align 4, !tbaa !5
  %12830 = call ptr @strerror(i32 noundef %12829) #11
  %12831 = call ptr @__errno_location() #12
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12820, ptr noundef @.str.5, i32 noundef %12821, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12824, ptr noundef %12827, ptr noundef %12830, i32 noundef %12832) #11
  br label %12834

12834:                                            ; preds = %12817, %12800
  call void @llvm.lifetime.end.p0(i64 4, ptr %237) #11
  br label %12835

12835:                                            ; preds = %12834
  br label %12836

12836:                                            ; preds = %12835
  call void @exit(i32 noundef 1) #13
  unreachable

12837:                                            ; No predecessors!
  br label %12838

12838:                                            ; preds = %12837
  br label %12839

12839:                                            ; preds = %12838, %12781
  br label %12840

12840:                                            ; preds = %12839
  br label %12841

12841:                                            ; preds = %12840
  br label %12842

12842:                                            ; preds = %12841
  %12843 = load i32, ptr @test_count, align 4, !tbaa !5
  %12844 = add nsw i32 %12843, 1
  store i32 %12844, ptr @test_count, align 4, !tbaa !5
  %12845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12846 = load i32, ptr %12845, align 4, !tbaa !5
  %12847 = icmp eq i32 %12846, 0
  br i1 %12847, label %12848, label %12901

12848:                                            ; preds = %12842
  br label %12849

12849:                                            ; preds = %12848
  br label %12850

12850:                                            ; preds = %12849
  call void @llvm.lifetime.start.p0(i64 4, ptr %238) #11
  %12851 = call ptr @__errno_location() #12
  %12852 = load i32, ptr %12851, align 4, !tbaa !5
  store i32 %12852, ptr %238, align 4, !tbaa !5
  %12853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12854 = call i32 @s2n_print_stacktrace(ptr noundef %12853)
  %12855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12856 = trunc i8 %12855 to i1
  br i1 %12856, label %12857, label %12879

12857:                                            ; preds = %12850
  %12858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12859 = call i32 @fileno(ptr noundef %12858) #11
  %12860 = call i32 @isatty(i32 noundef %12859) #11
  %12861 = icmp ne i32 %12860, 0
  br i1 %12861, label %12862, label %12879

12862:                                            ; preds = %12857
  %12863 = load i32, ptr %238, align 4, !tbaa !5
  %12864 = call ptr @__errno_location() #12
  store i32 %12863, ptr %12864, align 4, !tbaa !5
  %12865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12866 = load i32, ptr @test_count, align 4, !tbaa !5
  %12867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12868 = load i32, ptr %12867, align 4, !tbaa !5
  %12869 = call ptr @s2n_strerror(i32 noundef %12868, ptr noundef @.str.4)
  %12870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12871 = load i32, ptr %12870, align 4, !tbaa !5
  %12872 = call ptr @s2n_strerror_debug(i32 noundef %12871, ptr noundef @.str.4)
  %12873 = call ptr @__errno_location() #12
  %12874 = load i32, ptr %12873, align 4, !tbaa !5
  %12875 = call ptr @strerror(i32 noundef %12874) #11
  %12876 = call ptr @__errno_location() #12
  %12877 = load i32, ptr %12876, align 4, !tbaa !5
  %12878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12865, ptr noundef @.str.2, i32 noundef %12866, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12869, ptr noundef %12872, ptr noundef %12875, i32 noundef %12877) #11
  br label %12896

12879:                                            ; preds = %12857, %12850
  %12880 = load i32, ptr %238, align 4, !tbaa !5
  %12881 = call ptr @__errno_location() #12
  store i32 %12880, ptr %12881, align 4, !tbaa !5
  %12882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12883 = load i32, ptr @test_count, align 4, !tbaa !5
  %12884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call ptr @s2n_strerror(i32 noundef %12885, ptr noundef @.str.4)
  %12887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12888 = load i32, ptr %12887, align 4, !tbaa !5
  %12889 = call ptr @s2n_strerror_debug(i32 noundef %12888, ptr noundef @.str.4)
  %12890 = call ptr @__errno_location() #12
  %12891 = load i32, ptr %12890, align 4, !tbaa !5
  %12892 = call ptr @strerror(i32 noundef %12891) #11
  %12893 = call ptr @__errno_location() #12
  %12894 = load i32, ptr %12893, align 4, !tbaa !5
  %12895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12882, ptr noundef @.str.5, i32 noundef %12883, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12886, ptr noundef %12889, ptr noundef %12892, i32 noundef %12894) #11
  br label %12896

12896:                                            ; preds = %12879, %12862
  call void @llvm.lifetime.end.p0(i64 4, ptr %238) #11
  br label %12897

12897:                                            ; preds = %12896
  br label %12898

12898:                                            ; preds = %12897
  call void @exit(i32 noundef 1) #13
  unreachable

12899:                                            ; No predecessors!
  br label %12900

12900:                                            ; preds = %12899
  br label %12901

12901:                                            ; preds = %12900, %12842
  br label %12902

12902:                                            ; preds = %12901
  br label %12903

12903:                                            ; preds = %12902
  br label %12904

12904:                                            ; preds = %12903
  %12905 = load i32, ptr @test_count, align 4, !tbaa !5
  %12906 = add nsw i32 %12905, 1
  store i32 %12906, ptr @test_count, align 4, !tbaa !5
  %12907 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12908 = load i32, ptr %12907, align 4, !tbaa !5
  %12909 = call ptr @s2n_strerror_debug(i32 noundef %12908, ptr noundef @.str.4)
  %12910 = icmp eq ptr %12909, null
  br i1 %12910, label %12911, label %12964

12911:                                            ; preds = %12904
  br label %12912

12912:                                            ; preds = %12911
  br label %12913

12913:                                            ; preds = %12912
  call void @llvm.lifetime.start.p0(i64 4, ptr %239) #11
  %12914 = call ptr @__errno_location() #12
  %12915 = load i32, ptr %12914, align 4, !tbaa !5
  store i32 %12915, ptr %239, align 4, !tbaa !5
  %12916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12917 = call i32 @s2n_print_stacktrace(ptr noundef %12916)
  %12918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12919 = trunc i8 %12918 to i1
  br i1 %12919, label %12920, label %12942

12920:                                            ; preds = %12913
  %12921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12922 = call i32 @fileno(ptr noundef %12921) #11
  %12923 = call i32 @isatty(i32 noundef %12922) #11
  %12924 = icmp ne i32 %12923, 0
  br i1 %12924, label %12925, label %12942

12925:                                            ; preds = %12920
  %12926 = load i32, ptr %239, align 4, !tbaa !5
  %12927 = call ptr @__errno_location() #12
  store i32 %12926, ptr %12927, align 4, !tbaa !5
  %12928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12929 = load i32, ptr @test_count, align 4, !tbaa !5
  %12930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12931 = load i32, ptr %12930, align 4, !tbaa !5
  %12932 = call ptr @s2n_strerror(i32 noundef %12931, ptr noundef @.str.4)
  %12933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12934 = load i32, ptr %12933, align 4, !tbaa !5
  %12935 = call ptr @s2n_strerror_debug(i32 noundef %12934, ptr noundef @.str.4)
  %12936 = call ptr @__errno_location() #12
  %12937 = load i32, ptr %12936, align 4, !tbaa !5
  %12938 = call ptr @strerror(i32 noundef %12937) #11
  %12939 = call ptr @__errno_location() #12
  %12940 = load i32, ptr %12939, align 4, !tbaa !5
  %12941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12928, ptr noundef @.str.2, i32 noundef %12929, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12932, ptr noundef %12935, ptr noundef %12938, i32 noundef %12940) #11
  br label %12959

12942:                                            ; preds = %12920, %12913
  %12943 = load i32, ptr %239, align 4, !tbaa !5
  %12944 = call ptr @__errno_location() #12
  store i32 %12943, ptr %12944, align 4, !tbaa !5
  %12945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12946 = load i32, ptr @test_count, align 4, !tbaa !5
  %12947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12948 = load i32, ptr %12947, align 4, !tbaa !5
  %12949 = call ptr @s2n_strerror(i32 noundef %12948, ptr noundef @.str.4)
  %12950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12951 = load i32, ptr %12950, align 4, !tbaa !5
  %12952 = call ptr @s2n_strerror_debug(i32 noundef %12951, ptr noundef @.str.4)
  %12953 = call ptr @__errno_location() #12
  %12954 = load i32, ptr %12953, align 4, !tbaa !5
  %12955 = call ptr @strerror(i32 noundef %12954) #11
  %12956 = call ptr @__errno_location() #12
  %12957 = load i32, ptr %12956, align 4, !tbaa !5
  %12958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12945, ptr noundef @.str.5, i32 noundef %12946, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 325, ptr noundef %12949, ptr noundef %12952, ptr noundef %12955, i32 noundef %12957) #11
  br label %12959

12959:                                            ; preds = %12942, %12925
  call void @llvm.lifetime.end.p0(i64 4, ptr %239) #11
  br label %12960

12960:                                            ; preds = %12959
  br label %12961

12961:                                            ; preds = %12960
  call void @exit(i32 noundef 1) #13
  unreachable

12962:                                            ; No predecessors!
  br label %12963

12963:                                            ; preds = %12962
  br label %12964

12964:                                            ; preds = %12963, %12904
  br label %12965

12965:                                            ; preds = %12964
  br label %12966

12966:                                            ; preds = %12965
  br label %12967

12967:                                            ; preds = %12966
  %12968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12968, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12969 = call ptr @__errno_location() #12
  store i32 0, ptr %12969, align 4, !tbaa !5
  br label %12970

12970:                                            ; preds = %12967
  br label %12971

12971:                                            ; preds = %12970
  br label %12972

12972:                                            ; preds = %12971
  br label %12973

12973:                                            ; preds = %12972
  br label %12974

12974:                                            ; preds = %12973
  %12975 = load i32, ptr @test_count, align 4, !tbaa !5
  %12976 = add nsw i32 %12975, 1
  store i32 %12976, ptr @test_count, align 4, !tbaa !5
  %12977 = call i32 @s2n_stuffer_init(ptr noundef %11, ptr noundef %14)
  %12978 = icmp eq i32 %12977, -1
  br i1 %12978, label %12979, label %13032

12979:                                            ; preds = %12974
  br label %12980

12980:                                            ; preds = %12979
  br label %12981

12981:                                            ; preds = %12980
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %12982 = call ptr @__errno_location() #12
  %12983 = load i32, ptr %12982, align 4, !tbaa !5
  store i32 %12983, ptr %240, align 4, !tbaa !5
  %12984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12985 = call i32 @s2n_print_stacktrace(ptr noundef %12984)
  %12986 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %12987 = trunc i8 %12986 to i1
  br i1 %12987, label %12988, label %13010

12988:                                            ; preds = %12981
  %12989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12990 = call i32 @fileno(ptr noundef %12989) #11
  %12991 = call i32 @isatty(i32 noundef %12990) #11
  %12992 = icmp ne i32 %12991, 0
  br i1 %12992, label %12993, label %13010

12993:                                            ; preds = %12988
  %12994 = load i32, ptr %240, align 4, !tbaa !5
  %12995 = call ptr @__errno_location() #12
  store i32 %12994, ptr %12995, align 4, !tbaa !5
  %12996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12997 = load i32, ptr @test_count, align 4, !tbaa !5
  %12998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12999 = load i32, ptr %12998, align 4, !tbaa !5
  %13000 = call ptr @s2n_strerror(i32 noundef %12999, ptr noundef @.str.4)
  %13001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13002 = load i32, ptr %13001, align 4, !tbaa !5
  %13003 = call ptr @s2n_strerror_debug(i32 noundef %13002, ptr noundef @.str.4)
  %13004 = call ptr @__errno_location() #12
  %13005 = load i32, ptr %13004, align 4, !tbaa !5
  %13006 = call ptr @strerror(i32 noundef %13005) #11
  %13007 = call ptr @__errno_location() #12
  %13008 = load i32, ptr %13007, align 4, !tbaa !5
  %13009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12996, ptr noundef @.str.2, i32 noundef %12997, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 327, ptr noundef %13000, ptr noundef %13003, ptr noundef %13006, i32 noundef %13008) #11
  br label %13027

13010:                                            ; preds = %12988, %12981
  %13011 = load i32, ptr %240, align 4, !tbaa !5
  %13012 = call ptr @__errno_location() #12
  store i32 %13011, ptr %13012, align 4, !tbaa !5
  %13013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13014 = load i32, ptr @test_count, align 4, !tbaa !5
  %13015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13016 = load i32, ptr %13015, align 4, !tbaa !5
  %13017 = call ptr @s2n_strerror(i32 noundef %13016, ptr noundef @.str.4)
  %13018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13019 = load i32, ptr %13018, align 4, !tbaa !5
  %13020 = call ptr @s2n_strerror_debug(i32 noundef %13019, ptr noundef @.str.4)
  %13021 = call ptr @__errno_location() #12
  %13022 = load i32, ptr %13021, align 4, !tbaa !5
  %13023 = call ptr @strerror(i32 noundef %13022) #11
  %13024 = call ptr @__errno_location() #12
  %13025 = load i32, ptr %13024, align 4, !tbaa !5
  %13026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13013, ptr noundef @.str.5, i32 noundef %13014, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 327, ptr noundef %13017, ptr noundef %13020, ptr noundef %13023, i32 noundef %13025) #11
  br label %13027

13027:                                            ; preds = %13010, %12993
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %13028

13028:                                            ; preds = %13027
  br label %13029

13029:                                            ; preds = %13028
  call void @exit(i32 noundef 1) #13
  unreachable

13030:                                            ; No predecessors!
  br label %13031

13031:                                            ; preds = %13030
  br label %13032

13032:                                            ; preds = %13031, %12974
  br label %13033

13033:                                            ; preds = %13032
  br label %13034

13034:                                            ; preds = %13033
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  store i32 0, ptr %241, align 4, !tbaa !5
  br label %13035

13035:                                            ; preds = %13108, %13034
  %13036 = load i32, ptr %241, align 4, !tbaa !5
  %13037 = icmp slt i32 %13036, 64
  br i1 %13037, label %13039, label %13038

13038:                                            ; preds = %13035
  store i32 1330, ptr %15, align 4
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %13111

13039:                                            ; preds = %13035
  br label %13040

13040:                                            ; preds = %13039
  %13041 = load i32, ptr @test_count, align 4, !tbaa !5
  %13042 = add nsw i32 %13041, 1
  store i32 %13042, ptr @test_count, align 4, !tbaa !5
  %13043 = load i32, ptr %241, align 4, !tbaa !5
  %13044 = sext i32 %13043 to i64
  %13045 = getelementptr inbounds [64 x i8], ptr %6, i64 0, i64 %13044
  %13046 = load i8, ptr %13045, align 1, !tbaa !17
  %13047 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef %11, i8 noundef zeroext %13046)
  %13048 = getelementptr inbounds %struct.s2n_result, ptr %242, i32 0, i32 0
  store i32 %13047, ptr %13048, align 4
  %13049 = getelementptr inbounds %struct.s2n_result, ptr %242, i32 0, i32 0
  %13050 = load i32, ptr %13049, align 4
  %13051 = call zeroext i1 @s2n_result_is_ok(i32 %13050)
  br i1 %13051, label %13105, label %13052

13052:                                            ; preds = %13040
  br label %13053

13053:                                            ; preds = %13052
  br label %13054

13054:                                            ; preds = %13053
  call void @llvm.lifetime.start.p0(i64 4, ptr %243) #11
  %13055 = call ptr @__errno_location() #12
  %13056 = load i32, ptr %13055, align 4, !tbaa !5
  store i32 %13056, ptr %243, align 4, !tbaa !5
  %13057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13058 = call i32 @s2n_print_stacktrace(ptr noundef %13057)
  %13059 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %13060 = trunc i8 %13059 to i1
  br i1 %13060, label %13061, label %13083

13061:                                            ; preds = %13054
  %13062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13063 = call i32 @fileno(ptr noundef %13062) #11
  %13064 = call i32 @isatty(i32 noundef %13063) #11
  %13065 = icmp ne i32 %13064, 0
  br i1 %13065, label %13066, label %13083

13066:                                            ; preds = %13061
  %13067 = load i32, ptr %243, align 4, !tbaa !5
  %13068 = call ptr @__errno_location() #12
  store i32 %13067, ptr %13068, align 4, !tbaa !5
  %13069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13070 = load i32, ptr @test_count, align 4, !tbaa !5
  %13071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @s2n_strerror(i32 noundef %13072, ptr noundef @.str.4)
  %13074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call ptr @s2n_strerror_debug(i32 noundef %13075, ptr noundef @.str.4)
  %13077 = call ptr @__errno_location() #12
  %13078 = load i32, ptr %13077, align 4, !tbaa !5
  %13079 = call ptr @strerror(i32 noundef %13078) #11
  %13080 = call ptr @__errno_location() #12
  %13081 = load i32, ptr %13080, align 4, !tbaa !5
  %13082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13069, ptr noundef @.str.2, i32 noundef %13070, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 329, ptr noundef %13073, ptr noundef %13076, ptr noundef %13079, i32 noundef %13081) #11
  br label %13100

13083:                                            ; preds = %13061, %13054
  %13084 = load i32, ptr %243, align 4, !tbaa !5
  %13085 = call ptr @__errno_location() #12
  store i32 %13084, ptr %13085, align 4, !tbaa !5
  %13086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13087 = load i32, ptr @test_count, align 4, !tbaa !5
  %13088 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call ptr @s2n_strerror(i32 noundef %13089, ptr noundef @.str.4)
  %13091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call ptr @s2n_strerror_debug(i32 noundef %13092, ptr noundef @.str.4)
  %13094 = call ptr @__errno_location() #12
  %13095 = load i32, ptr %13094, align 4, !tbaa !5
  %13096 = call ptr @strerror(i32 noundef %13095) #11
  %13097 = call ptr @__errno_location() #12
  %13098 = load i32, ptr %13097, align 4, !tbaa !5
  %13099 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13086, ptr noundef @.str.5, i32 noundef %13087, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 329, ptr noundef %13090, ptr noundef %13093, ptr noundef %13096, i32 noundef %13098) #11
  br label %13100

13100:                                            ; preds = %13083, %13066
  call void @llvm.lifetime.end.p0(i64 4, ptr %243) #11
  br label %13101

13101:                                            ; preds = %13100
  br label %13102

13102:                                            ; preds = %13101
  call void @exit(i32 noundef 1) #13
  unreachable

13103:                                            ; No predecessors!
  br label %13104

13104:                                            ; preds = %13103
  br label %13105

13105:                                            ; preds = %13104, %13040
  br label %13106

13106:                                            ; preds = %13105
  br label %13107

13107:                                            ; preds = %13106
  br label %13108

13108:                                            ; preds = %13107
  %13109 = load i32, ptr %241, align 4, !tbaa !5
  %13110 = add nsw i32 %13109, 1
  store i32 %13110, ptr %241, align 4, !tbaa !5
  br label %13035, !llvm.loop !27

13111:                                            ; preds = %13038
  br label %13112

13112:                                            ; preds = %13111
  %13113 = load i32, ptr @test_count, align 4, !tbaa !5
  %13114 = add nsw i32 %13113, 1
  store i32 %13114, ptr @test_count, align 4, !tbaa !5
  %13115 = getelementptr inbounds [128 x i8], ptr %7, i64 0, i64 0
  %13116 = call i32 @memcmp(ptr noundef %13115, ptr noundef @.str.66, i64 noundef 128) #14
  %13117 = icmp eq i32 %13116, 0
  br i1 %13117, label %13171, label %13118

13118:                                            ; preds = %13112
  br label %13119

13119:                                            ; preds = %13118
  br label %13120

13120:                                            ; preds = %13119
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  %13121 = call ptr @__errno_location() #12
  %13122 = load i32, ptr %13121, align 4, !tbaa !5
  store i32 %13122, ptr %244, align 4, !tbaa !5
  %13123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13124 = call i32 @s2n_print_stacktrace(ptr noundef %13123)
  %13125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %13126 = trunc i8 %13125 to i1
  br i1 %13126, label %13127, label %13149

13127:                                            ; preds = %13120
  %13128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13129 = call i32 @fileno(ptr noundef %13128) #11
  %13130 = call i32 @isatty(i32 noundef %13129) #11
  %13131 = icmp ne i32 %13130, 0
  br i1 %13131, label %13132, label %13149

13132:                                            ; preds = %13127
  %13133 = load i32, ptr %244, align 4, !tbaa !5
  %13134 = call ptr @__errno_location() #12
  store i32 %13133, ptr %13134, align 4, !tbaa !5
  %13135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13136 = load i32, ptr @test_count, align 4, !tbaa !5
  %13137 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13138 = load i32, ptr %13137, align 4, !tbaa !5
  %13139 = call ptr @s2n_strerror(i32 noundef %13138, ptr noundef @.str.4)
  %13140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13141 = load i32, ptr %13140, align 4, !tbaa !5
  %13142 = call ptr @s2n_strerror_debug(i32 noundef %13141, ptr noundef @.str.4)
  %13143 = call ptr @__errno_location() #12
  %13144 = load i32, ptr %13143, align 4, !tbaa !5
  %13145 = call ptr @strerror(i32 noundef %13144) #11
  %13146 = call ptr @__errno_location() #12
  %13147 = load i32, ptr %13146, align 4, !tbaa !5
  %13148 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13135, ptr noundef @.str.2, i32 noundef %13136, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 333, ptr noundef %13139, ptr noundef %13142, ptr noundef %13145, i32 noundef %13147) #11
  br label %13166

13149:                                            ; preds = %13127, %13120
  %13150 = load i32, ptr %244, align 4, !tbaa !5
  %13151 = call ptr @__errno_location() #12
  store i32 %13150, ptr %13151, align 4, !tbaa !5
  %13152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13153 = load i32, ptr @test_count, align 4, !tbaa !5
  %13154 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13155 = load i32, ptr %13154, align 4, !tbaa !5
  %13156 = call ptr @s2n_strerror(i32 noundef %13155, ptr noundef @.str.4)
  %13157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13158 = load i32, ptr %13157, align 4, !tbaa !5
  %13159 = call ptr @s2n_strerror_debug(i32 noundef %13158, ptr noundef @.str.4)
  %13160 = call ptr @__errno_location() #12
  %13161 = load i32, ptr %13160, align 4, !tbaa !5
  %13162 = call ptr @strerror(i32 noundef %13161) #11
  %13163 = call ptr @__errno_location() #12
  %13164 = load i32, ptr %13163, align 4, !tbaa !5
  %13165 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13152, ptr noundef @.str.5, i32 noundef %13153, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 333, ptr noundef %13156, ptr noundef %13159, ptr noundef %13162, i32 noundef %13164) #11
  br label %13166

13166:                                            ; preds = %13149, %13132
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  br label %13167

13167:                                            ; preds = %13166
  br label %13168

13168:                                            ; preds = %13167
  call void @exit(i32 noundef 1) #13
  unreachable

13169:                                            ; No predecessors!
  br label %13170

13170:                                            ; preds = %13169
  br label %13171

13171:                                            ; preds = %13170, %13112
  br label %13172

13172:                                            ; preds = %13171
  br label %13173

13173:                                            ; preds = %13172
  br label %13174

13174:                                            ; preds = %13173
  br label %13175

13175:                                            ; preds = %13174
  %13176 = call i32 @s2n_cleanup()
  %13177 = icmp eq i32 %13176, -1
  br i1 %13177, label %13178, label %13231

13178:                                            ; preds = %13175
  br label %13179

13179:                                            ; preds = %13178
  br label %13180

13180:                                            ; preds = %13179
  call void @llvm.lifetime.start.p0(i64 4, ptr %245) #11
  %13181 = call ptr @__errno_location() #12
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  store i32 %13182, ptr %245, align 4, !tbaa !5
  %13183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13184 = call i32 @s2n_print_stacktrace(ptr noundef %13183)
  %13185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %13186 = trunc i8 %13185 to i1
  br i1 %13186, label %13187, label %13209

13187:                                            ; preds = %13180
  %13188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13189 = call i32 @fileno(ptr noundef %13188) #11
  %13190 = call i32 @isatty(i32 noundef %13189) #11
  %13191 = icmp ne i32 %13190, 0
  br i1 %13191, label %13192, label %13209

13192:                                            ; preds = %13187
  %13193 = load i32, ptr %245, align 4, !tbaa !5
  %13194 = call ptr @__errno_location() #12
  store i32 %13193, ptr %13194, align 4, !tbaa !5
  %13195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13196 = load i32, ptr @test_count, align 4, !tbaa !5
  %13197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13198 = load i32, ptr %13197, align 4, !tbaa !5
  %13199 = call ptr @s2n_strerror(i32 noundef %13198, ptr noundef @.str.4)
  %13200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror_debug(i32 noundef %13201, ptr noundef @.str.4)
  %13203 = call ptr @__errno_location() #12
  %13204 = load i32, ptr %13203, align 4, !tbaa !5
  %13205 = call ptr @strerror(i32 noundef %13204) #11
  %13206 = call ptr @__errno_location() #12
  %13207 = load i32, ptr %13206, align 4, !tbaa !5
  %13208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13195, ptr noundef @.str.2, i32 noundef %13196, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 335, ptr noundef %13199, ptr noundef %13202, ptr noundef %13205, i32 noundef %13207) #11
  br label %13226

13209:                                            ; preds = %13187, %13180
  %13210 = load i32, ptr %245, align 4, !tbaa !5
  %13211 = call ptr @__errno_location() #12
  store i32 %13210, ptr %13211, align 4, !tbaa !5
  %13212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13213 = load i32, ptr @test_count, align 4, !tbaa !5
  %13214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call ptr @s2n_strerror(i32 noundef %13215, ptr noundef @.str.4)
  %13217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call ptr @s2n_strerror_debug(i32 noundef %13218, ptr noundef @.str.4)
  %13220 = call ptr @__errno_location() #12
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  %13222 = call ptr @strerror(i32 noundef %13221) #11
  %13223 = call ptr @__errno_location() #12
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13212, ptr noundef @.str.5, i32 noundef %13213, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 335, ptr noundef %13216, ptr noundef %13219, ptr noundef %13222, i32 noundef %13224) #11
  br label %13226

13226:                                            ; preds = %13209, %13192
  call void @llvm.lifetime.end.p0(i64 4, ptr %245) #11
  br label %13227

13227:                                            ; preds = %13226
  br label %13228

13228:                                            ; preds = %13227
  call void @exit(i32 noundef 1) #13
  unreachable

13229:                                            ; No predecessors!
  br label %13230

13230:                                            ; preds = %13229
  br label %13231

13231:                                            ; preds = %13230, %13175
  br label %13232

13232:                                            ; preds = %13231
  br label %13233

13233:                                            ; preds = %13232
  br label %13234

13234:                                            ; preds = %13233
  br label %13235

13235:                                            ; preds = %13234
  %13236 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %13237 = icmp eq i32 %13236, -1
  br i1 %13237, label %13238, label %13291

13238:                                            ; preds = %13235
  br label %13239

13239:                                            ; preds = %13238
  br label %13240

13240:                                            ; preds = %13239
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %13241 = call ptr @__errno_location() #12
  %13242 = load i32, ptr %13241, align 4, !tbaa !5
  store i32 %13242, ptr %246, align 4, !tbaa !5
  %13243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13244 = call i32 @s2n_print_stacktrace(ptr noundef %13243)
  %13245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %13246 = trunc i8 %13245 to i1
  br i1 %13246, label %13247, label %13269

13247:                                            ; preds = %13240
  %13248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13249 = call i32 @fileno(ptr noundef %13248) #11
  %13250 = call i32 @isatty(i32 noundef %13249) #11
  %13251 = icmp ne i32 %13250, 0
  br i1 %13251, label %13252, label %13269

13252:                                            ; preds = %13247
  %13253 = load i32, ptr %246, align 4, !tbaa !5
  %13254 = call ptr @__errno_location() #12
  store i32 %13253, ptr %13254, align 4, !tbaa !5
  %13255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13256 = load i32, ptr @test_count, align 4, !tbaa !5
  %13257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13258 = load i32, ptr %13257, align 4, !tbaa !5
  %13259 = call ptr @s2n_strerror(i32 noundef %13258, ptr noundef @.str.4)
  %13260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13261 = load i32, ptr %13260, align 4, !tbaa !5
  %13262 = call ptr @s2n_strerror_debug(i32 noundef %13261, ptr noundef @.str.4)
  %13263 = call ptr @__errno_location() #12
  %13264 = load i32, ptr %13263, align 4, !tbaa !5
  %13265 = call ptr @strerror(i32 noundef %13264) #11
  %13266 = call ptr @__errno_location() #12
  %13267 = load i32, ptr %13266, align 4, !tbaa !5
  %13268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13255, ptr noundef @.str.2, i32 noundef %13256, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 335, ptr noundef %13259, ptr noundef %13262, ptr noundef %13265, i32 noundef %13267) #11
  br label %13286

13269:                                            ; preds = %13247, %13240
  %13270 = load i32, ptr %246, align 4, !tbaa !5
  %13271 = call ptr @__errno_location() #12
  store i32 %13270, ptr %13271, align 4, !tbaa !5
  %13272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13273 = load i32, ptr @test_count, align 4, !tbaa !5
  %13274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13275 = load i32, ptr %13274, align 4, !tbaa !5
  %13276 = call ptr @s2n_strerror(i32 noundef %13275, ptr noundef @.str.4)
  %13277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13278 = load i32, ptr %13277, align 4, !tbaa !5
  %13279 = call ptr @s2n_strerror_debug(i32 noundef %13278, ptr noundef @.str.4)
  %13280 = call ptr @__errno_location() #12
  %13281 = load i32, ptr %13280, align 4, !tbaa !5
  %13282 = call ptr @strerror(i32 noundef %13281) #11
  %13283 = call ptr @__errno_location() #12
  %13284 = load i32, ptr %13283, align 4, !tbaa !5
  %13285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13272, ptr noundef @.str.5, i32 noundef %13273, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 335, ptr noundef %13276, ptr noundef %13279, ptr noundef %13282, i32 noundef %13284) #11
  br label %13286

13286:                                            ; preds = %13269, %13252
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %13287

13287:                                            ; preds = %13286
  br label %13288

13288:                                            ; preds = %13287
  call void @exit(i32 noundef 1) #13
  unreachable

13289:                                            ; No predecessors!
  br label %13290

13290:                                            ; preds = %13289
  br label %13291

13291:                                            ; preds = %13290, %13235
  br label %13292

13292:                                            ; preds = %13291
  br label %13293

13293:                                            ; preds = %13292
  %13294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %13295 = trunc i8 %13294 to i1
  br i1 %13295, label %13296, label %13312

13296:                                            ; preds = %13293
  %13297 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13298 = call i32 @fileno(ptr noundef %13297) #11
  %13299 = call i32 @isatty(i32 noundef %13298) #11
  %13300 = icmp ne i32 %13299, 0
  br i1 %13300, label %13301, label %13312

13301:                                            ; preds = %13296
  %13302 = load i32, ptr @test_count, align 4, !tbaa !5
  %13303 = icmp ne i32 %13302, 0
  br i1 %13303, label %13304, label %13308

13304:                                            ; preds = %13301
  %13305 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13306 = load i32, ptr @test_count, align 4, !tbaa !5
  %13307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13305, ptr noundef @.str.70, i32 noundef %13306) #11
  br label %13311

13308:                                            ; preds = %13301
  %13309 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13309, ptr noundef @.str.71) #11
  br label %13311

13311:                                            ; preds = %13308, %13304
  br label %13323

13312:                                            ; preds = %13296, %13293
  %13313 = load i32, ptr @test_count, align 4, !tbaa !5
  %13314 = icmp ne i32 %13313, 0
  br i1 %13314, label %13315, label %13319

13315:                                            ; preds = %13312
  %13316 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13317 = load i32, ptr @test_count, align 4, !tbaa !5
  %13318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13316, ptr noundef @.str.72, i32 noundef %13317) #11
  br label %13322

13319:                                            ; preds = %13312
  %13320 = load ptr, ptr @stdout, align 8, !tbaa !9
  %13321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13320, ptr noundef @.str.73) #11
  br label %13322

13322:                                            ; preds = %13319, %13315
  br label %13323

13323:                                            ; preds = %13322, %13311
  store i32 0, ptr %3, align 4
  store i32 1, ptr %15, align 4
  br label %13328

13324:                                            ; No predecessors!
  br label %13325

13325:                                            ; preds = %13324
  br label %13326

13326:                                            ; preds = %13325
  br label %13327

13327:                                            ; preds = %13326
  store i32 0, ptr %15, align 4
  br label %13328

13328:                                            ; preds = %13327, %13323, %11783
  call void @llvm.lifetime.end.p0(i64 1, ptr %220) #11
  br label %13329

13329:                                            ; preds = %13328, %11593, %10515
  call void @llvm.lifetime.end.p0(i64 1, ptr %197) #11
  br label %13330

13330:                                            ; preds = %13329, %10325, %9247
  call void @llvm.lifetime.end.p0(i64 1, ptr %174) #11
  br label %13331

13331:                                            ; preds = %13330, %8985, %7591
  call void @llvm.lifetime.end.p0(i64 1, ptr %145) #11
  br label %13332

13332:                                            ; preds = %13331, %7401, %2370
  call void @llvm.lifetime.end.p0(i64 1, ptr %53) #11
  br label %13333

13333:                                            ; preds = %13332, %2363, %834, %572
  call void @llvm.lifetime.end.p0(i64 8, ptr %16) #11
  br label %13334

13334:                                            ; preds = %13333, %251
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 56, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %11) #11
  call void @llvm.lifetime.end.p0(i64 14, ptr %10) #11
  call void @llvm.lifetime.end.p0(i64 10, ptr %9) #11
  call void @llvm.lifetime.end.p0(i64 14, ptr %8) #11
  call void @llvm.lifetime.end.p0(i64 128, ptr %7) #11
  call void @llvm.lifetime.end.p0(i64 64, ptr %6) #11
  %13335 = load i32, ptr %15, align 4
  switch i32 %13335, label %13338 [
    i32 0, label %13336
    i32 1, label %13336
  ]

13336:                                            ; preds = %13334, %13334
  %13337 = load i32, ptr %3, align 4
  ret i32 %13337

13338:                                            ; preds = %13334
  unreachable
}

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

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #4

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

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #5

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #5

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #4

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #7

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #8

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

declare i32 @s2n_disable_tls13_in_test(...) #4

declare zeroext i1 @s2n_libcrypto_is_awslc() #4

declare ptr @s2n_hash_alg_to_evp_md(i32 noundef) #4

declare i32 @s2n_hash_new(ptr noundef) #4

declare i32 @s2n_hash_is_ready_for_input(ptr noundef) #4

declare i32 @s2n_hash_get_currently_in_hash_total(ptr noundef, ptr noundef) #4

declare void @s2n_debug_info_reset() #4

declare zeroext i1 @s2n_hash_is_available(i32 noundef) #4

declare i32 @s2n_hash_digest_size(i32 noundef, ptr noundef) #4

declare i32 @s2n_hash_init(ptr noundef, i32 noundef) #4

declare i32 @s2n_hash_update(ptr noundef, ptr noundef, i32 noundef) #4

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #9

declare i32 @s2n_hash_digest(ptr noundef, ptr noundef, i32 noundef) #4

declare i32 @s2n_stuffer_init(ptr noundef, ptr noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #10

declare i32 @s2n_stuffer_write_uint8_hex(ptr noundef, i8 noundef zeroext) #4

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #9

declare i32 @s2n_hash_reset(ptr noundef) #4

declare i32 @s2n_hash_copy(ptr noundef, ptr noundef) #4

declare i32 @s2n_hash_free(ptr noundef) #4

declare i32 @s2n_cleanup() #4

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

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

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


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon }
%union.anon = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@__const.main.hello = external hidden unnamed_addr constant [14 x i8], align 1
@__const.main.string1 = external hidden unnamed_addr constant [10 x i8], align 1
@__const.main.string2 = external hidden unnamed_addr constant [14 x 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 [72 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 [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [40 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [149 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [129 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [181 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.73 = 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 [64 x i8], align 16
  %4 = alloca [128 x i8], align 16
  %5 = alloca [14 x i8], align 1
  %6 = alloca [10 x i8], align 1
  %7 = alloca [14 x i8], align 1
  %8 = alloca %struct.s2n_stuffer, align 8
  %9 = alloca %struct.s2n_hash_state, align 8
  %10 = alloca %struct.s2n_hash_state, align 8
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca i64, align 8
  %13 = alloca i8, align 1
  %14 = alloca i8, align 1
  %15 = alloca i8, align 1
  %16 = alloca i8, align 1
  %17 = alloca i8, align 1
  %18 = alloca i8, align 1
  call void @llvm.lifetime.start.p0(i64 64, ptr nonnull %3) #13
  call void @llvm.lifetime.start.p0(i64 128, ptr nonnull %4) #13
  call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %5) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(14) %5, ptr noundef nonnull align 1 dereferenceable(14) @__const.main.hello, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 10, ptr nonnull %6) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(10) %6, ptr noundef nonnull align 1 dereferenceable(10) @__const.main.string1, i64 10, i1 false)
  call void @llvm.lifetime.start.p0(i64 14, ptr nonnull %7) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(14) %7, ptr noundef nonnull align 1 dereferenceable(14) @__const.main.string2, i64 14, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %9) #13
  call void @llvm.lifetime.start.p0(i64 56, ptr nonnull %10) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %11) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %11, i8 0, i64 24, i1 false)
  %19 = call i32 @s2n_blob_init(ptr noundef nonnull %11, ptr noundef nonnull %4, i32 noundef 128) #13
  %20 = icmp sgt i32 %19, -1
  br i1 %20, label %21, label %6089

21:                                               ; preds = %2
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %12) #13
  store i64 0, ptr %12, align 8, !tbaa !5
  store i32 0, ptr @test_count, align 4, !tbaa !9
  %22 = load ptr, ptr @stdout, align 8, !tbaa !11
  %23 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #13
  %24 = load ptr, ptr @stdout, align 8, !tbaa !11
  %25 = call i32 @fflush(ptr noundef %24)
  %26 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #13
  %27 = icmp eq i32 %26, -1
  br i1 %27, label %28, label %52

28:                                               ; preds = %21
  %29 = tail call ptr @__errno_location() #14
  %30 = load i32, ptr %29, align 4, !tbaa !9
  %31 = load ptr, ptr @stderr, align 8, !tbaa !11
  %32 = call i32 @s2n_print_stacktrace(ptr noundef %31) #13
  %33 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %34 = trunc nuw i8 %33 to i1
  br i1 %34, label %35, label %39

35:                                               ; preds = %28
  %36 = load ptr, ptr @stderr, align 8, !tbaa !11
  %37 = call i32 @fileno(ptr noundef %36) #13
  %38 = call i32 @isatty(i32 noundef %37) #13
  %.not716 = icmp eq i32 %38, 0
  br i1 %.not716, label %39, label %40

39:                                               ; preds = %35, %28
  br label %40

40:                                               ; preds = %35, %39
  %.str.5.sink = phi ptr [ @.str.5, %39 ], [ @.str.2, %35 ]
  store i32 %30, ptr %29, align 4, !tbaa !9
  %41 = load ptr, ptr @stderr, align 8, !tbaa !11
  %42 = load i32, ptr @test_count, align 4, !tbaa !9
  %43 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %44 = load i32, ptr %43, align 4, !tbaa !9
  %45 = call ptr @s2n_strerror(i32 noundef %44, ptr noundef nonnull @.str.4) #13
  %46 = load i32, ptr %43, align 4, !tbaa !9
  %47 = call ptr @s2n_strerror_debug(i32 noundef %46, ptr noundef nonnull @.str.4) #13
  %48 = load i32, ptr %29, align 4, !tbaa !9
  %49 = call ptr @strerror(i32 noundef %48) #13
  %50 = load i32, ptr %29, align 4, !tbaa !9
  %51 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %41, ptr noundef nonnull %.str.5.sink, i32 noundef %42, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %45, ptr noundef %47, ptr noundef %49, i32 noundef %50) #15
  call void @exit(i32 noundef 1) #16
  unreachable

52:                                               ; preds = %21
  %53 = load i32, ptr @test_count, align 4, !tbaa !9
  %54 = add nsw i32 %53, 1
  store i32 %54, ptr @test_count, align 4, !tbaa !9
  %55 = call i32 @s2n_enable_atexit() #13
  %56 = icmp eq i32 %55, -1
  br i1 %56, label %57, label %81

57:                                               ; preds = %52
  %58 = tail call ptr @__errno_location() #14
  %59 = load i32, ptr %58, align 4, !tbaa !9
  %60 = load ptr, ptr @stderr, align 8, !tbaa !11
  %61 = call i32 @s2n_print_stacktrace(ptr noundef %60) #13
  %62 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %63 = trunc nuw i8 %62 to i1
  br i1 %63, label %64, label %68

64:                                               ; preds = %57
  %65 = load ptr, ptr @stderr, align 8, !tbaa !11
  %66 = call i32 @fileno(ptr noundef %65) #13
  %67 = call i32 @isatty(i32 noundef %66) #13
  %.not715 = icmp eq i32 %67, 0
  br i1 %.not715, label %68, label %69

68:                                               ; preds = %64, %57
  br label %69

69:                                               ; preds = %64, %68
  %.str.5.sink764 = phi ptr [ @.str.5, %68 ], [ @.str.2, %64 ]
  store i32 %59, ptr %58, align 4, !tbaa !9
  %70 = load ptr, ptr @stderr, align 8, !tbaa !11
  %71 = load i32, ptr @test_count, align 4, !tbaa !9
  %72 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %73 = load i32, ptr %72, align 4, !tbaa !9
  %74 = call ptr @s2n_strerror(i32 noundef %73, ptr noundef nonnull @.str.4) #13
  %75 = load i32, ptr %72, align 4, !tbaa !9
  %76 = call ptr @s2n_strerror_debug(i32 noundef %75, ptr noundef nonnull @.str.4) #13
  %77 = load i32, ptr %58, align 4, !tbaa !9
  %78 = call ptr @strerror(i32 noundef %77) #13
  %79 = load i32, ptr %58, align 4, !tbaa !9
  %80 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %70, ptr noundef nonnull %.str.5.sink764, i32 noundef %71, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %74, ptr noundef %76, ptr noundef %78, i32 noundef %79) #15
  call void @exit(i32 noundef 1) #16
  unreachable

81:                                               ; preds = %52
  %82 = call i32 @s2n_init() #13
  %83 = icmp eq i32 %82, -1
  br i1 %83, label %84, label %108

84:                                               ; preds = %81
  %85 = tail call ptr @__errno_location() #14
  %86 = load i32, ptr %85, align 4, !tbaa !9
  %87 = load ptr, ptr @stderr, align 8, !tbaa !11
  %88 = call i32 @s2n_print_stacktrace(ptr noundef %87) #13
  %89 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %90 = trunc nuw i8 %89 to i1
  br i1 %90, label %91, label %95

91:                                               ; preds = %84
  %92 = load ptr, ptr @stderr, align 8, !tbaa !11
  %93 = call i32 @fileno(ptr noundef %92) #13
  %94 = call i32 @isatty(i32 noundef %93) #13
  %.not714 = icmp eq i32 %94, 0
  br i1 %.not714, label %95, label %96

95:                                               ; preds = %91, %84
  br label %96

96:                                               ; preds = %91, %95
  %.str.5.sink775 = phi ptr [ @.str.5, %95 ], [ @.str.2, %91 ]
  store i32 %86, ptr %85, align 4, !tbaa !9
  %97 = load ptr, ptr @stderr, align 8, !tbaa !11
  %98 = load i32, ptr @test_count, align 4, !tbaa !9
  %99 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %100 = load i32, ptr %99, align 4, !tbaa !9
  %101 = call ptr @s2n_strerror(i32 noundef %100, ptr noundef nonnull @.str.4) #13
  %102 = load i32, ptr %99, align 4, !tbaa !9
  %103 = call ptr @s2n_strerror_debug(i32 noundef %102, ptr noundef nonnull @.str.4) #13
  %104 = load i32, ptr %85, align 4, !tbaa !9
  %105 = call ptr @strerror(i32 noundef %104) #13
  %106 = load i32, ptr %85, align 4, !tbaa !9
  %107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %97, ptr noundef nonnull %.str.5.sink775, i32 noundef %98, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 41, ptr noundef %101, ptr noundef %103, ptr noundef %105, i32 noundef %106) #15
  call void @exit(i32 noundef 1) #16
  unreachable

108:                                              ; preds = %81
  %109 = load i32, ptr @test_count, align 4, !tbaa !9
  %110 = add nsw i32 %109, 1
  store i32 %110, ptr @test_count, align 4, !tbaa !9
  %111 = call i32 (...) @s2n_disable_tls13_in_test() #13
  %112 = icmp eq i32 %111, -1
  br i1 %112, label %113, label %137

113:                                              ; preds = %108
  %114 = tail call ptr @__errno_location() #14
  %115 = load i32, ptr %114, align 4, !tbaa !9
  %116 = load ptr, ptr @stderr, align 8, !tbaa !11
  %117 = call i32 @s2n_print_stacktrace(ptr noundef %116) #13
  %118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %119 = trunc nuw i8 %118 to i1
  br i1 %119, label %120, label %124

120:                                              ; preds = %113
  %121 = load ptr, ptr @stderr, align 8, !tbaa !11
  %122 = call i32 @fileno(ptr noundef %121) #13
  %123 = call i32 @isatty(i32 noundef %122) #13
  %.not713 = icmp eq i32 %123, 0
  br i1 %.not713, label %124, label %125

124:                                              ; preds = %120, %113
  br label %125

125:                                              ; preds = %120, %124
  %.str.5.sink786 = phi ptr [ @.str.5, %124 ], [ @.str.2, %120 ]
  store i32 %115, ptr %114, align 4, !tbaa !9
  %126 = load ptr, ptr @stderr, align 8, !tbaa !11
  %127 = load i32, ptr @test_count, align 4, !tbaa !9
  %128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %129 = load i32, ptr %128, align 4, !tbaa !9
  %130 = call ptr @s2n_strerror(i32 noundef %129, ptr noundef nonnull @.str.4) #13
  %131 = load i32, ptr %128, align 4, !tbaa !9
  %132 = call ptr @s2n_strerror_debug(i32 noundef %131, ptr noundef nonnull @.str.4) #13
  %133 = load i32, ptr %114, align 4, !tbaa !9
  %134 = call ptr @strerror(i32 noundef %133) #13
  %135 = load i32, ptr %114, align 4, !tbaa !9
  %136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %126, ptr noundef nonnull %.str.5.sink786, i32 noundef %127, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 42, ptr noundef %130, ptr noundef %132, ptr noundef %134, i32 noundef %135) #15
  call void @exit(i32 noundef 1) #16
  unreachable

137:                                              ; preds = %108
  %138 = call zeroext i1 @s2n_libcrypto_is_awslc() #13
  br i1 %138, label %139, label %168

139:                                              ; preds = %137
  %140 = load i32, ptr @test_count, align 4, !tbaa !9
  %141 = add nsw i32 %140, 1
  store i32 %141, ptr @test_count, align 4, !tbaa !9
  %142 = call ptr @s2n_hash_alg_to_evp_md(i32 noundef 7) #13
  %143 = icmp eq ptr %142, null
  br i1 %143, label %144, label %168

144:                                              ; preds = %139
  %145 = tail call ptr @__errno_location() #14
  %146 = load i32, ptr %145, align 4, !tbaa !9
  %147 = load ptr, ptr @stderr, align 8, !tbaa !11
  %148 = call i32 @s2n_print_stacktrace(ptr noundef %147) #13
  %149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %150 = trunc nuw i8 %149 to i1
  br i1 %150, label %151, label %155

151:                                              ; preds = %144
  %152 = load ptr, ptr @stderr, align 8, !tbaa !11
  %153 = call i32 @fileno(ptr noundef %152) #13
  %154 = call i32 @isatty(i32 noundef %153) #13
  %.not712 = icmp eq i32 %154, 0
  br i1 %.not712, label %155, label %156

155:                                              ; preds = %151, %144
  br label %156

156:                                              ; preds = %151, %155
  %.str.5.sink797 = phi ptr [ @.str.5, %155 ], [ @.str.2, %151 ]
  store i32 %146, ptr %145, align 4, !tbaa !9
  %157 = load ptr, ptr @stderr, align 8, !tbaa !11
  %158 = load i32, ptr @test_count, align 4, !tbaa !9
  %159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %160 = load i32, ptr %159, align 4, !tbaa !9
  %161 = call ptr @s2n_strerror(i32 noundef %160, ptr noundef nonnull @.str.4) #13
  %162 = load i32, ptr %159, align 4, !tbaa !9
  %163 = call ptr @s2n_strerror_debug(i32 noundef %162, ptr noundef nonnull @.str.4) #13
  %164 = load i32, ptr %145, align 4, !tbaa !9
  %165 = call ptr @strerror(i32 noundef %164) #13
  %166 = load i32, ptr %145, align 4, !tbaa !9
  %167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %157, ptr noundef nonnull %.str.5.sink797, i32 noundef %158, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %161, ptr noundef %163, ptr noundef %165, i32 noundef %166) #15
  call void @exit(i32 noundef 1) #16
  unreachable

168:                                              ; preds = %137, %139
  %169 = call i32 @s2n_hash_new(ptr noundef nonnull %9) #13
  %170 = icmp sgt i32 %169, -1
  br i1 %170, label %171, label %6088

171:                                              ; preds = %168
  %172 = load i32, ptr @test_count, align 4, !tbaa !9
  %173 = add nsw i32 %172, 1
  store i32 %173, ptr @test_count, align 4, !tbaa !9
  %174 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not = icmp eq i32 %174, 0
  br i1 %.not, label %199, label %175

175:                                              ; preds = %171
  %176 = tail call ptr @__errno_location() #14
  %177 = load i32, ptr %176, align 4, !tbaa !9
  %178 = load ptr, ptr @stderr, align 8, !tbaa !11
  %179 = call i32 @s2n_print_stacktrace(ptr noundef %178) #13
  %180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %181 = trunc nuw i8 %180 to i1
  br i1 %181, label %182, label %186

182:                                              ; preds = %175
  %183 = load ptr, ptr @stderr, align 8, !tbaa !11
  %184 = call i32 @fileno(ptr noundef %183) #13
  %185 = call i32 @isatty(i32 noundef %184) #13
  %.not711 = icmp eq i32 %185, 0
  br i1 %.not711, label %186, label %187

186:                                              ; preds = %182, %175
  br label %187

187:                                              ; preds = %182, %186
  %.str.5.sink808 = phi ptr [ @.str.5, %186 ], [ @.str.2, %182 ]
  store i32 %177, ptr %176, align 4, !tbaa !9
  %188 = load ptr, ptr @stderr, align 8, !tbaa !11
  %189 = load i32, ptr @test_count, align 4, !tbaa !9
  %190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %191 = load i32, ptr %190, align 4, !tbaa !9
  %192 = call ptr @s2n_strerror(i32 noundef %191, ptr noundef nonnull @.str.4) #13
  %193 = load i32, ptr %190, align 4, !tbaa !9
  %194 = call ptr @s2n_strerror_debug(i32 noundef %193, ptr noundef nonnull @.str.4) #13
  %195 = load i32, ptr %176, align 4, !tbaa !9
  %196 = call ptr @strerror(i32 noundef %195) #13
  %197 = load i32, ptr %176, align 4, !tbaa !9
  %198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %188, ptr noundef nonnull %.str.5.sink808, i32 noundef %189, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %192, ptr noundef %194, ptr noundef %196, i32 noundef %197) #15
  call void @exit(i32 noundef 1) #16
  unreachable

199:                                              ; preds = %171
  %200 = load i32, ptr @test_count, align 4, !tbaa !9
  %201 = add nsw i32 %200, 1
  store i32 %201, ptr @test_count, align 4, !tbaa !9
  %202 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %203 = icmp eq i32 %202, -1
  br i1 %203, label %228, label %204

204:                                              ; preds = %199
  %205 = tail call ptr @__errno_location() #14
  %206 = load i32, ptr %205, align 4, !tbaa !9
  %207 = load ptr, ptr @stderr, align 8, !tbaa !11
  %208 = call i32 @s2n_print_stacktrace(ptr noundef %207) #13
  %209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %210 = trunc nuw i8 %209 to i1
  br i1 %210, label %211, label %215

211:                                              ; preds = %204
  %212 = load ptr, ptr @stderr, align 8, !tbaa !11
  %213 = call i32 @fileno(ptr noundef %212) #13
  %214 = call i32 @isatty(i32 noundef %213) #13
  %.not461 = icmp eq i32 %214, 0
  br i1 %.not461, label %215, label %216

215:                                              ; preds = %211, %204
  br label %216

216:                                              ; preds = %211, %215
  %.str.5.sink819 = phi ptr [ @.str.5, %215 ], [ @.str.2, %211 ]
  store i32 %206, ptr %205, align 4, !tbaa !9
  %217 = load ptr, ptr @stderr, align 8, !tbaa !11
  %218 = load i32, ptr @test_count, align 4, !tbaa !9
  %219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %220 = load i32, ptr %219, align 4, !tbaa !9
  %221 = call ptr @s2n_strerror(i32 noundef %220, ptr noundef nonnull @.str.4) #13
  %222 = load i32, ptr %219, align 4, !tbaa !9
  %223 = call ptr @s2n_strerror_debug(i32 noundef %222, ptr noundef nonnull @.str.4) #13
  %224 = load i32, ptr %205, align 4, !tbaa !9
  %225 = call ptr @strerror(i32 noundef %224) #13
  %226 = load i32, ptr %205, align 4, !tbaa !9
  %227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %217, ptr noundef nonnull %.str.5.sink819, i32 noundef %218, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %221, ptr noundef %223, ptr noundef %225, i32 noundef %226) #15
  call void @exit(i32 noundef 1) #16
  unreachable

228:                                              ; preds = %199
  %229 = load i32, ptr @test_count, align 4, !tbaa !9
  %230 = add nsw i32 %229, 1
  store i32 %230, ptr @test_count, align 4, !tbaa !9
  %231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %232 = load i32, ptr %231, align 4, !tbaa !9
  %233 = icmp eq i32 %232, 0
  br i1 %233, label %234, label %257

234:                                              ; preds = %228
  %235 = tail call ptr @__errno_location() #14
  %236 = load i32, ptr %235, align 4, !tbaa !9
  %237 = load ptr, ptr @stderr, align 8, !tbaa !11
  %238 = call i32 @s2n_print_stacktrace(ptr noundef %237) #13
  %239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %240 = trunc nuw i8 %239 to i1
  br i1 %240, label %241, label %245

241:                                              ; preds = %234
  %242 = load ptr, ptr @stderr, align 8, !tbaa !11
  %243 = call i32 @fileno(ptr noundef %242) #13
  %244 = call i32 @isatty(i32 noundef %243) #13
  %.not710 = icmp eq i32 %244, 0
  br i1 %.not710, label %245, label %246

245:                                              ; preds = %241, %234
  br label %246

246:                                              ; preds = %241, %245
  %.str.5.sink830 = phi ptr [ @.str.5, %245 ], [ @.str.2, %241 ]
  store i32 %236, ptr %235, align 4, !tbaa !9
  %247 = load ptr, ptr @stderr, align 8, !tbaa !11
  %248 = load i32, ptr @test_count, align 4, !tbaa !9
  %249 = load i32, ptr %231, align 4, !tbaa !9
  %250 = call ptr @s2n_strerror(i32 noundef %249, ptr noundef nonnull @.str.4) #13
  %251 = load i32, ptr %231, align 4, !tbaa !9
  %252 = call ptr @s2n_strerror_debug(i32 noundef %251, ptr noundef nonnull @.str.4) #13
  %253 = load i32, ptr %235, align 4, !tbaa !9
  %254 = call ptr @strerror(i32 noundef %253) #13
  %255 = load i32, ptr %235, align 4, !tbaa !9
  %256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %247, ptr noundef nonnull %.str.5.sink830, i32 noundef %248, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %250, ptr noundef %252, ptr noundef %254, i32 noundef %255) #15
  call void @exit(i32 noundef 1) #16
  unreachable

257:                                              ; preds = %228
  %258 = add nsw i32 %229, 2
  store i32 %258, ptr @test_count, align 4, !tbaa !9
  %259 = call ptr @s2n_strerror_debug(i32 noundef %232, ptr noundef nonnull @.str.4) #13
  %260 = icmp eq ptr %259, null
  br i1 %260, label %261, label %284

261:                                              ; preds = %257
  %262 = tail call ptr @__errno_location() #14
  %263 = load i32, ptr %262, align 4, !tbaa !9
  %264 = load ptr, ptr @stderr, align 8, !tbaa !11
  %265 = call i32 @s2n_print_stacktrace(ptr noundef %264) #13
  %266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %267 = trunc nuw i8 %266 to i1
  br i1 %267, label %268, label %272

268:                                              ; preds = %261
  %269 = load ptr, ptr @stderr, align 8, !tbaa !11
  %270 = call i32 @fileno(ptr noundef %269) #13
  %271 = call i32 @isatty(i32 noundef %270) #13
  %.not709 = icmp eq i32 %271, 0
  br i1 %.not709, label %272, label %273

272:                                              ; preds = %268, %261
  br label %273

273:                                              ; preds = %268, %272
  %.str.5.sink839 = phi ptr [ @.str.5, %272 ], [ @.str.2, %268 ]
  store i32 %263, ptr %262, align 4, !tbaa !9
  %274 = load ptr, ptr @stderr, align 8, !tbaa !11
  %275 = load i32, ptr @test_count, align 4, !tbaa !9
  %276 = load i32, ptr %231, align 4, !tbaa !9
  %277 = call ptr @s2n_strerror(i32 noundef %276, ptr noundef nonnull @.str.4) #13
  %278 = load i32, ptr %231, align 4, !tbaa !9
  %279 = call ptr @s2n_strerror_debug(i32 noundef %278, ptr noundef nonnull @.str.4) #13
  %280 = load i32, ptr %262, align 4, !tbaa !9
  %281 = call ptr @strerror(i32 noundef %280) #13
  %282 = load i32, ptr %262, align 4, !tbaa !9
  %283 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %274, ptr noundef nonnull %.str.5.sink839, i32 noundef %275, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %277, ptr noundef %279, ptr noundef %281, i32 noundef %282) #15
  call void @exit(i32 noundef 1) #16
  unreachable

284:                                              ; preds = %257
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  %285 = tail call ptr @__errno_location() #14
  store i32 0, ptr %285, align 4, !tbaa !9
  %286 = call i32 @s2n_hash_new(ptr noundef nonnull %10) #13
  %287 = icmp sgt i32 %286, -1
  br i1 %287, label %288, label %6088

288:                                              ; preds = %284
  %289 = load i32, ptr @test_count, align 4, !tbaa !9
  %290 = add nsw i32 %289, 1
  store i32 %290, ptr @test_count, align 4, !tbaa !9
  %291 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not462 = icmp eq i32 %291, 0
  br i1 %.not462, label %314, label %292

292:                                              ; preds = %288
  %293 = load i32, ptr %285, align 4, !tbaa !9
  %294 = load ptr, ptr @stderr, align 8, !tbaa !11
  %295 = call i32 @s2n_print_stacktrace(ptr noundef %294) #13
  %296 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %297 = trunc nuw i8 %296 to i1
  br i1 %297, label %298, label %302

298:                                              ; preds = %292
  %299 = load ptr, ptr @stderr, align 8, !tbaa !11
  %300 = call i32 @fileno(ptr noundef %299) #13
  %301 = call i32 @isatty(i32 noundef %300) #13
  %.not708 = icmp eq i32 %301, 0
  br i1 %.not708, label %302, label %303

302:                                              ; preds = %298, %292
  br label %303

303:                                              ; preds = %298, %302
  %.str.5.sink848 = phi ptr [ @.str.5, %302 ], [ @.str.2, %298 ]
  store i32 %293, ptr %285, align 4, !tbaa !9
  %304 = load ptr, ptr @stderr, align 8, !tbaa !11
  %305 = load i32, ptr @test_count, align 4, !tbaa !9
  %306 = load i32, ptr %231, align 4, !tbaa !9
  %307 = call ptr @s2n_strerror(i32 noundef %306, ptr noundef nonnull @.str.4) #13
  %308 = load i32, ptr %231, align 4, !tbaa !9
  %309 = call ptr @s2n_strerror_debug(i32 noundef %308, ptr noundef nonnull @.str.4) #13
  %310 = load i32, ptr %285, align 4, !tbaa !9
  %311 = call ptr @strerror(i32 noundef %310) #13
  %312 = load i32, ptr %285, align 4, !tbaa !9
  %313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %304, ptr noundef nonnull %.str.5.sink848, i32 noundef %305, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %307, ptr noundef %309, ptr noundef %311, i32 noundef %312) #15
  call void @exit(i32 noundef 1) #16
  unreachable

314:                                              ; preds = %288
  %315 = load i32, ptr @test_count, align 4, !tbaa !9
  %316 = add nsw i32 %315, 1
  store i32 %316, ptr @test_count, align 4, !tbaa !9
  %317 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %318 = icmp eq i32 %317, -1
  br i1 %318, label %341, label %319

319:                                              ; preds = %314
  %320 = load i32, ptr %285, align 4, !tbaa !9
  %321 = load ptr, ptr @stderr, align 8, !tbaa !11
  %322 = call i32 @s2n_print_stacktrace(ptr noundef %321) #13
  %323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %324 = trunc nuw i8 %323 to i1
  br i1 %324, label %325, label %329

325:                                              ; preds = %319
  %326 = load ptr, ptr @stderr, align 8, !tbaa !11
  %327 = call i32 @fileno(ptr noundef %326) #13
  %328 = call i32 @isatty(i32 noundef %327) #13
  %.not463 = icmp eq i32 %328, 0
  br i1 %.not463, label %329, label %330

329:                                              ; preds = %325, %319
  br label %330

330:                                              ; preds = %325, %329
  %.str.5.sink857 = phi ptr [ @.str.5, %329 ], [ @.str.2, %325 ]
  store i32 %320, ptr %285, align 4, !tbaa !9
  %331 = load ptr, ptr @stderr, align 8, !tbaa !11
  %332 = load i32, ptr @test_count, align 4, !tbaa !9
  %333 = load i32, ptr %231, align 4, !tbaa !9
  %334 = call ptr @s2n_strerror(i32 noundef %333, ptr noundef nonnull @.str.4) #13
  %335 = load i32, ptr %231, align 4, !tbaa !9
  %336 = call ptr @s2n_strerror_debug(i32 noundef %335, ptr noundef nonnull @.str.4) #13
  %337 = load i32, ptr %285, align 4, !tbaa !9
  %338 = call ptr @strerror(i32 noundef %337) #13
  %339 = load i32, ptr %285, align 4, !tbaa !9
  %340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %331, ptr noundef nonnull %.str.5.sink857, i32 noundef %332, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %334, ptr noundef %336, ptr noundef %338, i32 noundef %339) #15
  call void @exit(i32 noundef 1) #16
  unreachable

341:                                              ; preds = %314
  %342 = load i32, ptr @test_count, align 4, !tbaa !9
  %343 = add nsw i32 %342, 1
  store i32 %343, ptr @test_count, align 4, !tbaa !9
  %344 = load i32, ptr %231, align 4, !tbaa !9
  %345 = icmp eq i32 %344, 0
  br i1 %345, label %346, label %368

346:                                              ; preds = %341
  %347 = load i32, ptr %285, align 4, !tbaa !9
  %348 = load ptr, ptr @stderr, align 8, !tbaa !11
  %349 = call i32 @s2n_print_stacktrace(ptr noundef %348) #13
  %350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %351 = trunc nuw i8 %350 to i1
  br i1 %351, label %352, label %356

352:                                              ; preds = %346
  %353 = load ptr, ptr @stderr, align 8, !tbaa !11
  %354 = call i32 @fileno(ptr noundef %353) #13
  %355 = call i32 @isatty(i32 noundef %354) #13
  %.not707 = icmp eq i32 %355, 0
  br i1 %.not707, label %356, label %357

356:                                              ; preds = %352, %346
  br label %357

357:                                              ; preds = %352, %356
  %.str.5.sink866 = phi ptr [ @.str.5, %356 ], [ @.str.2, %352 ]
  store i32 %347, ptr %285, align 4, !tbaa !9
  %358 = load ptr, ptr @stderr, align 8, !tbaa !11
  %359 = load i32, ptr @test_count, align 4, !tbaa !9
  %360 = load i32, ptr %231, align 4, !tbaa !9
  %361 = call ptr @s2n_strerror(i32 noundef %360, ptr noundef nonnull @.str.4) #13
  %362 = load i32, ptr %231, align 4, !tbaa !9
  %363 = call ptr @s2n_strerror_debug(i32 noundef %362, ptr noundef nonnull @.str.4) #13
  %364 = load i32, ptr %285, align 4, !tbaa !9
  %365 = call ptr @strerror(i32 noundef %364) #13
  %366 = load i32, ptr %285, align 4, !tbaa !9
  %367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %358, ptr noundef nonnull %.str.5.sink866, i32 noundef %359, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %361, ptr noundef %363, ptr noundef %365, i32 noundef %366) #15
  call void @exit(i32 noundef 1) #16
  unreachable

368:                                              ; preds = %341
  %369 = add nsw i32 %342, 2
  store i32 %369, ptr @test_count, align 4, !tbaa !9
  %370 = call ptr @s2n_strerror_debug(i32 noundef %344, ptr noundef nonnull @.str.4) #13
  %371 = icmp eq ptr %370, null
  br i1 %371, label %372, label %394

372:                                              ; preds = %368
  %373 = load i32, ptr %285, align 4, !tbaa !9
  %374 = load ptr, ptr @stderr, align 8, !tbaa !11
  %375 = call i32 @s2n_print_stacktrace(ptr noundef %374) #13
  %376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %377 = trunc nuw i8 %376 to i1
  br i1 %377, label %378, label %382

378:                                              ; preds = %372
  %379 = load ptr, ptr @stderr, align 8, !tbaa !11
  %380 = call i32 @fileno(ptr noundef %379) #13
  %381 = call i32 @isatty(i32 noundef %380) #13
  %.not706 = icmp eq i32 %381, 0
  br i1 %.not706, label %382, label %383

382:                                              ; preds = %378, %372
  br label %383

383:                                              ; preds = %378, %382
  %.str.5.sink875 = phi ptr [ @.str.5, %382 ], [ @.str.2, %378 ]
  store i32 %373, ptr %285, align 4, !tbaa !9
  %384 = load ptr, ptr @stderr, align 8, !tbaa !11
  %385 = load i32, ptr @test_count, align 4, !tbaa !9
  %386 = load i32, ptr %231, align 4, !tbaa !9
  %387 = call ptr @s2n_strerror(i32 noundef %386, ptr noundef nonnull @.str.4) #13
  %388 = load i32, ptr %231, align 4, !tbaa !9
  %389 = call ptr @s2n_strerror_debug(i32 noundef %388, ptr noundef nonnull @.str.4) #13
  %390 = load i32, ptr %285, align 4, !tbaa !9
  %391 = call ptr @strerror(i32 noundef %390) #13
  %392 = load i32, ptr %285, align 4, !tbaa !9
  %393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %384, ptr noundef nonnull %.str.5.sink875, i32 noundef %385, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %387, ptr noundef %389, ptr noundef %391, i32 noundef %392) #15
  call void @exit(i32 noundef 1) #16
  unreachable

394:                                              ; preds = %368
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %395 = call zeroext i1 @s2n_hash_is_available(i32 noundef 1) #13
  br i1 %395, label %396, label %1026

396:                                              ; preds = %394
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %13) #13
  store i8 0, ptr %13, align 1, !tbaa !17
  %397 = call i32 @s2n_hash_digest_size(i32 noundef 1, ptr noundef nonnull %13) #13
  %398 = icmp sgt i32 %397, -1
  br i1 %398, label %399, label %.thread

399:                                              ; preds = %396
  %400 = load i32, ptr @test_count, align 4, !tbaa !9
  %401 = add nsw i32 %400, 1
  store i32 %401, ptr @test_count, align 4, !tbaa !9
  %402 = load i8, ptr %13, align 1, !tbaa !17
  %403 = icmp eq i8 %402, 16
  br i1 %403, label %426, label %404

404:                                              ; preds = %399
  %405 = load i32, ptr %285, align 4, !tbaa !9
  %406 = load ptr, ptr @stderr, align 8, !tbaa !11
  %407 = call i32 @s2n_print_stacktrace(ptr noundef %406) #13
  %408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %409 = trunc nuw i8 %408 to i1
  br i1 %409, label %410, label %414

410:                                              ; preds = %404
  %411 = load ptr, ptr @stderr, align 8, !tbaa !11
  %412 = call i32 @fileno(ptr noundef %411) #13
  %413 = call i32 @isatty(i32 noundef %412) #13
  %.not464 = icmp eq i32 %413, 0
  br i1 %.not464, label %414, label %415

414:                                              ; preds = %410, %404
  br label %415

415:                                              ; preds = %410, %414
  %.str.5.sink884 = phi ptr [ @.str.5, %414 ], [ @.str.2, %410 ]
  store i32 %405, ptr %285, align 4, !tbaa !9
  %416 = load ptr, ptr @stderr, align 8, !tbaa !11
  %417 = load i32, ptr @test_count, align 4, !tbaa !9
  %418 = load i32, ptr %231, align 4, !tbaa !9
  %419 = call ptr @s2n_strerror(i32 noundef %418, ptr noundef nonnull @.str.4) #13
  %420 = load i32, ptr %231, align 4, !tbaa !9
  %421 = call ptr @s2n_strerror_debug(i32 noundef %420, ptr noundef nonnull @.str.4) #13
  %422 = load i32, ptr %285, align 4, !tbaa !9
  %423 = call ptr @strerror(i32 noundef %422) #13
  %424 = load i32, ptr %285, align 4, !tbaa !9
  %425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %416, ptr noundef nonnull %.str.5.sink884, i32 noundef %417, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %419, ptr noundef %421, ptr noundef %423, i32 noundef %424) #15
  call void @exit(i32 noundef 1) #16
  unreachable

426:                                              ; preds = %399
  %427 = add nsw i32 %400, 2
  store i32 %427, ptr @test_count, align 4, !tbaa !9
  %428 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 1) #13
  %429 = icmp eq i32 %428, -1
  br i1 %429, label %430, label %452

430:                                              ; preds = %426
  %431 = load i32, ptr %285, align 4, !tbaa !9
  %432 = load ptr, ptr @stderr, align 8, !tbaa !11
  %433 = call i32 @s2n_print_stacktrace(ptr noundef %432) #13
  %434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %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 !11
  %438 = call i32 @fileno(ptr noundef %437) #13
  %439 = call i32 @isatty(i32 noundef %438) #13
  %.not705 = icmp eq i32 %439, 0
  br i1 %.not705, label %440, label %441

440:                                              ; preds = %436, %430
  br label %441

441:                                              ; preds = %436, %440
  %.str.5.sink893 = phi ptr [ @.str.5, %440 ], [ @.str.2, %436 ]
  store i32 %431, ptr %285, align 4, !tbaa !9
  %442 = load ptr, ptr @stderr, align 8, !tbaa !11
  %443 = load i32, ptr @test_count, align 4, !tbaa !9
  %444 = load i32, ptr %231, align 4, !tbaa !9
  %445 = call ptr @s2n_strerror(i32 noundef %444, ptr noundef nonnull @.str.4) #13
  %446 = load i32, ptr %231, align 4, !tbaa !9
  %447 = call ptr @s2n_strerror_debug(i32 noundef %446, ptr noundef nonnull @.str.4) #13
  %448 = load i32, ptr %285, align 4, !tbaa !9
  %449 = call ptr @strerror(i32 noundef %448) #13
  %450 = load i32, ptr %285, align 4, !tbaa !9
  %451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %442, ptr noundef nonnull %.str.5.sink893, i32 noundef %443, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %445, ptr noundef %447, ptr noundef %449, i32 noundef %450) #15
  call void @exit(i32 noundef 1) #16
  unreachable

452:                                              ; preds = %426
  %453 = load i32, ptr @test_count, align 4, !tbaa !9
  %454 = add nsw i32 %453, 1
  store i32 %454, ptr @test_count, align 4, !tbaa !9
  %455 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not465 = icmp eq i32 %455, 0
  br i1 %.not465, label %456, label %478

456:                                              ; preds = %452
  %457 = load i32, ptr %285, align 4, !tbaa !9
  %458 = load ptr, ptr @stderr, align 8, !tbaa !11
  %459 = call i32 @s2n_print_stacktrace(ptr noundef %458) #13
  %460 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %461 = trunc nuw i8 %460 to i1
  br i1 %461, label %462, label %466

462:                                              ; preds = %456
  %463 = load ptr, ptr @stderr, align 8, !tbaa !11
  %464 = call i32 @fileno(ptr noundef %463) #13
  %465 = call i32 @isatty(i32 noundef %464) #13
  %.not466 = icmp eq i32 %465, 0
  br i1 %.not466, label %466, label %467

466:                                              ; preds = %462, %456
  br label %467

467:                                              ; preds = %462, %466
  %.str.5.sink902 = phi ptr [ @.str.5, %466 ], [ @.str.2, %462 ]
  store i32 %457, ptr %285, align 4, !tbaa !9
  %468 = load ptr, ptr @stderr, align 8, !tbaa !11
  %469 = load i32, ptr @test_count, align 4, !tbaa !9
  %470 = load i32, ptr %231, align 4, !tbaa !9
  %471 = call ptr @s2n_strerror(i32 noundef %470, ptr noundef nonnull @.str.4) #13
  %472 = load i32, ptr %231, align 4, !tbaa !9
  %473 = call ptr @s2n_strerror_debug(i32 noundef %472, ptr noundef nonnull @.str.4) #13
  %474 = load i32, ptr %285, align 4, !tbaa !9
  %475 = call ptr @strerror(i32 noundef %474) #13
  %476 = load i32, ptr %285, align 4, !tbaa !9
  %477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %468, ptr noundef nonnull %.str.5.sink902, i32 noundef %469, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 65, ptr noundef %471, ptr noundef %473, ptr noundef %475, i32 noundef %476) #15
  call void @exit(i32 noundef 1) #16
  unreachable

478:                                              ; preds = %452
  %479 = load i32, ptr @test_count, align 4, !tbaa !9
  %480 = add nsw i32 %479, 1
  store i32 %480, ptr @test_count, align 4, !tbaa !9
  %481 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %482 = icmp eq i32 %481, -1
  br i1 %482, label %483, label %505

483:                                              ; preds = %478
  %484 = load i32, ptr %285, align 4, !tbaa !9
  %485 = load ptr, ptr @stderr, align 8, !tbaa !11
  %486 = call i32 @s2n_print_stacktrace(ptr noundef %485) #13
  %487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %488 = trunc nuw i8 %487 to i1
  br i1 %488, label %489, label %493

489:                                              ; preds = %483
  %490 = load ptr, ptr @stderr, align 8, !tbaa !11
  %491 = call i32 @fileno(ptr noundef %490) #13
  %492 = call i32 @isatty(i32 noundef %491) #13
  %.not704 = icmp eq i32 %492, 0
  br i1 %.not704, label %493, label %494

493:                                              ; preds = %489, %483
  br label %494

494:                                              ; preds = %489, %493
  %.str.5.sink911 = phi ptr [ @.str.5, %493 ], [ @.str.2, %489 ]
  store i32 %484, ptr %285, align 4, !tbaa !9
  %495 = load ptr, ptr @stderr, align 8, !tbaa !11
  %496 = load i32, ptr @test_count, align 4, !tbaa !9
  %497 = load i32, ptr %231, align 4, !tbaa !9
  %498 = call ptr @s2n_strerror(i32 noundef %497, ptr noundef nonnull @.str.4) #13
  %499 = load i32, ptr %231, align 4, !tbaa !9
  %500 = call ptr @s2n_strerror_debug(i32 noundef %499, ptr noundef nonnull @.str.4) #13
  %501 = load i32, ptr %285, align 4, !tbaa !9
  %502 = call ptr @strerror(i32 noundef %501) #13
  %503 = load i32, ptr %285, align 4, !tbaa !9
  %504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %495, ptr noundef nonnull %.str.5.sink911, i32 noundef %496, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %498, ptr noundef %500, ptr noundef %502, i32 noundef %503) #15
  call void @exit(i32 noundef 1) #16
  unreachable

505:                                              ; preds = %478
  %506 = load i32, ptr @test_count, align 4, !tbaa !9
  %507 = add nsw i32 %506, 1
  store i32 %507, ptr @test_count, align 4, !tbaa !9
  %508 = load i64, ptr %12, align 8, !tbaa !5
  %509 = icmp eq i64 %508, 0
  br i1 %509, label %532, label %510

510:                                              ; preds = %505
  %511 = load i32, ptr %285, align 4, !tbaa !9
  %512 = load ptr, ptr @stderr, align 8, !tbaa !11
  %513 = call i32 @s2n_print_stacktrace(ptr noundef %512) #13
  %514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %515 = trunc nuw i8 %514 to i1
  br i1 %515, label %516, label %520

516:                                              ; preds = %510
  %517 = load ptr, ptr @stderr, align 8, !tbaa !11
  %518 = call i32 @fileno(ptr noundef %517) #13
  %519 = call i32 @isatty(i32 noundef %518) #13
  %.not467 = icmp eq i32 %519, 0
  br i1 %.not467, label %520, label %521

520:                                              ; preds = %516, %510
  br label %521

521:                                              ; preds = %516, %520
  %.str.5.sink920 = phi ptr [ @.str.5, %520 ], [ @.str.2, %516 ]
  store i32 %511, ptr %285, align 4, !tbaa !9
  %522 = load ptr, ptr @stderr, align 8, !tbaa !11
  %523 = load i32, ptr @test_count, align 4, !tbaa !9
  %524 = load i32, ptr %231, align 4, !tbaa !9
  %525 = call ptr @s2n_strerror(i32 noundef %524, ptr noundef nonnull @.str.4) #13
  %526 = load i32, ptr %231, align 4, !tbaa !9
  %527 = call ptr @s2n_strerror_debug(i32 noundef %526, ptr noundef nonnull @.str.4) #13
  %528 = load i32, ptr %285, align 4, !tbaa !9
  %529 = call ptr @strerror(i32 noundef %528) #13
  %530 = load i32, ptr %285, align 4, !tbaa !9
  %531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %522, ptr noundef nonnull %.str.5.sink920, i32 noundef %523, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %525, ptr noundef %527, ptr noundef %529, i32 noundef %530) #15
  call void @exit(i32 noundef 1) #16
  unreachable

532:                                              ; preds = %505
  %533 = add nsw i32 %506, 2
  store i32 %533, ptr @test_count, align 4, !tbaa !9
  %534 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %535 = trunc i64 %534 to i32
  %536 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %535) #13
  %537 = icmp eq i32 %536, -1
  br i1 %537, label %538, label %560

538:                                              ; preds = %532
  %539 = load i32, ptr %285, align 4, !tbaa !9
  %540 = load ptr, ptr @stderr, align 8, !tbaa !11
  %541 = call i32 @s2n_print_stacktrace(ptr noundef %540) #13
  %542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %543 = trunc nuw i8 %542 to i1
  br i1 %543, label %544, label %548

544:                                              ; preds = %538
  %545 = load ptr, ptr @stderr, align 8, !tbaa !11
  %546 = call i32 @fileno(ptr noundef %545) #13
  %547 = call i32 @isatty(i32 noundef %546) #13
  %.not703 = icmp eq i32 %547, 0
  br i1 %.not703, label %548, label %549

548:                                              ; preds = %544, %538
  br label %549

549:                                              ; preds = %544, %548
  %.str.5.sink929 = phi ptr [ @.str.5, %548 ], [ @.str.2, %544 ]
  store i32 %539, ptr %285, align 4, !tbaa !9
  %550 = load ptr, ptr @stderr, align 8, !tbaa !11
  %551 = load i32, ptr @test_count, align 4, !tbaa !9
  %552 = load i32, ptr %231, align 4, !tbaa !9
  %553 = call ptr @s2n_strerror(i32 noundef %552, ptr noundef nonnull @.str.4) #13
  %554 = load i32, ptr %231, align 4, !tbaa !9
  %555 = call ptr @s2n_strerror_debug(i32 noundef %554, ptr noundef nonnull @.str.4) #13
  %556 = load i32, ptr %285, align 4, !tbaa !9
  %557 = call ptr @strerror(i32 noundef %556) #13
  %558 = load i32, ptr %285, align 4, !tbaa !9
  %559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %550, ptr noundef nonnull %.str.5.sink929, i32 noundef %551, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 69, ptr noundef %553, ptr noundef %555, ptr noundef %557, i32 noundef %558) #15
  call void @exit(i32 noundef 1) #16
  unreachable

560:                                              ; preds = %532
  %561 = load i32, ptr @test_count, align 4, !tbaa !9
  %562 = add nsw i32 %561, 1
  store i32 %562, ptr @test_count, align 4, !tbaa !9
  %563 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not468 = icmp eq i32 %563, 0
  br i1 %.not468, label %564, label %586

564:                                              ; preds = %560
  %565 = load i32, ptr %285, align 4, !tbaa !9
  %566 = load ptr, ptr @stderr, align 8, !tbaa !11
  %567 = call i32 @s2n_print_stacktrace(ptr noundef %566) #13
  %568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %569 = trunc nuw i8 %568 to i1
  br i1 %569, label %570, label %574

570:                                              ; preds = %564
  %571 = load ptr, ptr @stderr, align 8, !tbaa !11
  %572 = call i32 @fileno(ptr noundef %571) #13
  %573 = call i32 @isatty(i32 noundef %572) #13
  %.not469 = icmp eq i32 %573, 0
  br i1 %.not469, label %574, label %575

574:                                              ; preds = %570, %564
  br label %575

575:                                              ; preds = %570, %574
  %.str.5.sink938 = phi ptr [ @.str.5, %574 ], [ @.str.2, %570 ]
  store i32 %565, ptr %285, align 4, !tbaa !9
  %576 = load ptr, ptr @stderr, align 8, !tbaa !11
  %577 = load i32, ptr @test_count, align 4, !tbaa !9
  %578 = load i32, ptr %231, align 4, !tbaa !9
  %579 = call ptr @s2n_strerror(i32 noundef %578, ptr noundef nonnull @.str.4) #13
  %580 = load i32, ptr %231, align 4, !tbaa !9
  %581 = call ptr @s2n_strerror_debug(i32 noundef %580, ptr noundef nonnull @.str.4) #13
  %582 = load i32, ptr %285, align 4, !tbaa !9
  %583 = call ptr @strerror(i32 noundef %582) #13
  %584 = load i32, ptr %285, align 4, !tbaa !9
  %585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %576, ptr noundef nonnull %.str.5.sink938, i32 noundef %577, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 70, ptr noundef %579, ptr noundef %581, ptr noundef %583, i32 noundef %584) #15
  call void @exit(i32 noundef 1) #16
  unreachable

586:                                              ; preds = %560
  %587 = load i32, ptr @test_count, align 4, !tbaa !9
  %588 = add nsw i32 %587, 1
  store i32 %588, ptr @test_count, align 4, !tbaa !9
  %589 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %590 = icmp eq i32 %589, -1
  br i1 %590, label %591, label %613

591:                                              ; preds = %586
  %592 = load i32, ptr %285, align 4, !tbaa !9
  %593 = load ptr, ptr @stderr, align 8, !tbaa !11
  %594 = call i32 @s2n_print_stacktrace(ptr noundef %593) #13
  %595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %596 = trunc nuw i8 %595 to i1
  br i1 %596, label %597, label %601

597:                                              ; preds = %591
  %598 = load ptr, ptr @stderr, align 8, !tbaa !11
  %599 = call i32 @fileno(ptr noundef %598) #13
  %600 = call i32 @isatty(i32 noundef %599) #13
  %.not702 = icmp eq i32 %600, 0
  br i1 %.not702, label %601, label %602

601:                                              ; preds = %597, %591
  br label %602

602:                                              ; preds = %597, %601
  %.str.5.sink947 = phi ptr [ @.str.5, %601 ], [ @.str.2, %597 ]
  store i32 %592, ptr %285, align 4, !tbaa !9
  %603 = load ptr, ptr @stderr, align 8, !tbaa !11
  %604 = load i32, ptr @test_count, align 4, !tbaa !9
  %605 = load i32, ptr %231, align 4, !tbaa !9
  %606 = call ptr @s2n_strerror(i32 noundef %605, ptr noundef nonnull @.str.4) #13
  %607 = load i32, ptr %231, align 4, !tbaa !9
  %608 = call ptr @s2n_strerror_debug(i32 noundef %607, ptr noundef nonnull @.str.4) #13
  %609 = load i32, ptr %285, align 4, !tbaa !9
  %610 = call ptr @strerror(i32 noundef %609) #13
  %611 = load i32, ptr %285, align 4, !tbaa !9
  %612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %603, ptr noundef nonnull %.str.5.sink947, i32 noundef %604, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %606, ptr noundef %608, ptr noundef %610, i32 noundef %611) #15
  call void @exit(i32 noundef 1) #16
  unreachable

613:                                              ; preds = %586
  %614 = load i32, ptr @test_count, align 4, !tbaa !9
  %615 = add nsw i32 %614, 1
  store i32 %615, ptr @test_count, align 4, !tbaa !9
  %616 = load i64, ptr %12, align 8, !tbaa !5
  %617 = icmp eq i64 %616, 13
  br i1 %617, label %640, label %618

618:                                              ; preds = %613
  %619 = load i32, ptr %285, align 4, !tbaa !9
  %620 = load ptr, ptr @stderr, align 8, !tbaa !11
  %621 = call i32 @s2n_print_stacktrace(ptr noundef %620) #13
  %622 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %623 = trunc nuw i8 %622 to i1
  br i1 %623, label %624, label %628

624:                                              ; preds = %618
  %625 = load ptr, ptr @stderr, align 8, !tbaa !11
  %626 = call i32 @fileno(ptr noundef %625) #13
  %627 = call i32 @isatty(i32 noundef %626) #13
  %.not470 = icmp eq i32 %627, 0
  br i1 %.not470, label %628, label %629

628:                                              ; preds = %624, %618
  br label %629

629:                                              ; preds = %624, %628
  %.str.5.sink956 = phi ptr [ @.str.5, %628 ], [ @.str.2, %624 ]
  store i32 %619, ptr %285, align 4, !tbaa !9
  %630 = load ptr, ptr @stderr, align 8, !tbaa !11
  %631 = load i32, ptr @test_count, align 4, !tbaa !9
  %632 = load i32, ptr %231, align 4, !tbaa !9
  %633 = call ptr @s2n_strerror(i32 noundef %632, ptr noundef nonnull @.str.4) #13
  %634 = load i32, ptr %231, align 4, !tbaa !9
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef nonnull @.str.4) #13
  %636 = load i32, ptr %285, align 4, !tbaa !9
  %637 = call ptr @strerror(i32 noundef %636) #13
  %638 = load i32, ptr %285, align 4, !tbaa !9
  %639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %630, ptr noundef nonnull %.str.5.sink956, i32 noundef %631, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %633, ptr noundef %635, ptr noundef %637, i32 noundef %638) #15
  call void @exit(i32 noundef 1) #16
  unreachable

640:                                              ; preds = %613
  %641 = add nsw i32 %614, 2
  store i32 %641, ptr @test_count, align 4, !tbaa !9
  %642 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 16) #13
  %643 = icmp eq i32 %642, -1
  br i1 %643, label %644, label %666

644:                                              ; preds = %640
  %645 = load i32, ptr %285, align 4, !tbaa !9
  %646 = load ptr, ptr @stderr, align 8, !tbaa !11
  %647 = call i32 @s2n_print_stacktrace(ptr noundef %646) #13
  %648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %649 = trunc nuw i8 %648 to i1
  br i1 %649, label %650, label %654

650:                                              ; preds = %644
  %651 = load ptr, ptr @stderr, align 8, !tbaa !11
  %652 = call i32 @fileno(ptr noundef %651) #13
  %653 = call i32 @isatty(i32 noundef %652) #13
  %.not701 = icmp eq i32 %653, 0
  br i1 %.not701, label %654, label %655

654:                                              ; preds = %650, %644
  br label %655

655:                                              ; preds = %650, %654
  %.str.5.sink965 = phi ptr [ @.str.5, %654 ], [ @.str.2, %650 ]
  store i32 %645, ptr %285, align 4, !tbaa !9
  %656 = load ptr, ptr @stderr, align 8, !tbaa !11
  %657 = load i32, ptr @test_count, align 4, !tbaa !9
  %658 = load i32, ptr %231, align 4, !tbaa !9
  %659 = call ptr @s2n_strerror(i32 noundef %658, ptr noundef nonnull @.str.4) #13
  %660 = load i32, ptr %231, align 4, !tbaa !9
  %661 = call ptr @s2n_strerror_debug(i32 noundef %660, ptr noundef nonnull @.str.4) #13
  %662 = load i32, ptr %285, align 4, !tbaa !9
  %663 = call ptr @strerror(i32 noundef %662) #13
  %664 = load i32, ptr %285, align 4, !tbaa !9
  %665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %656, ptr noundef nonnull %.str.5.sink965, i32 noundef %657, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %659, ptr noundef %661, ptr noundef %663, i32 noundef %664) #15
  call void @exit(i32 noundef 1) #16
  unreachable

666:                                              ; preds = %640
  %667 = load i32, ptr @test_count, align 4, !tbaa !9
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @test_count, align 4, !tbaa !9
  %669 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not471 = icmp eq i32 %669, 0
  br i1 %.not471, label %692, label %670

670:                                              ; preds = %666
  %671 = load i32, ptr %285, align 4, !tbaa !9
  %672 = load ptr, ptr @stderr, align 8, !tbaa !11
  %673 = call i32 @s2n_print_stacktrace(ptr noundef %672) #13
  %674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %675 = trunc nuw i8 %674 to i1
  br i1 %675, label %676, label %680

676:                                              ; preds = %670
  %677 = load ptr, ptr @stderr, align 8, !tbaa !11
  %678 = call i32 @fileno(ptr noundef %677) #13
  %679 = call i32 @isatty(i32 noundef %678) #13
  %.not700 = icmp eq i32 %679, 0
  br i1 %.not700, label %680, label %681

680:                                              ; preds = %676, %670
  br label %681

681:                                              ; preds = %676, %680
  %.str.5.sink974 = phi ptr [ @.str.5, %680 ], [ @.str.2, %676 ]
  store i32 %671, ptr %285, align 4, !tbaa !9
  %682 = load ptr, ptr @stderr, align 8, !tbaa !11
  %683 = load i32, ptr @test_count, align 4, !tbaa !9
  %684 = load i32, ptr %231, align 4, !tbaa !9
  %685 = call ptr @s2n_strerror(i32 noundef %684, ptr noundef nonnull @.str.4) #13
  %686 = load i32, ptr %231, align 4, !tbaa !9
  %687 = call ptr @s2n_strerror_debug(i32 noundef %686, ptr noundef nonnull @.str.4) #13
  %688 = load i32, ptr %285, align 4, !tbaa !9
  %689 = call ptr @strerror(i32 noundef %688) #13
  %690 = load i32, ptr %285, align 4, !tbaa !9
  %691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %682, ptr noundef nonnull %.str.5.sink974, i32 noundef %683, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 75, ptr noundef %685, ptr noundef %687, ptr noundef %689, i32 noundef %690) #15
  call void @exit(i32 noundef 1) #16
  unreachable

692:                                              ; preds = %666
  %693 = load i32, ptr @test_count, align 4, !tbaa !9
  %694 = add nsw i32 %693, 1
  store i32 %694, ptr @test_count, align 4, !tbaa !9
  %695 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %696 = icmp eq i32 %695, -1
  br i1 %696, label %719, label %697

697:                                              ; preds = %692
  %698 = load i32, ptr %285, align 4, !tbaa !9
  %699 = load ptr, ptr @stderr, align 8, !tbaa !11
  %700 = call i32 @s2n_print_stacktrace(ptr noundef %699) #13
  %701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %702 = trunc nuw i8 %701 to i1
  br i1 %702, label %703, label %707

703:                                              ; preds = %697
  %704 = load ptr, ptr @stderr, align 8, !tbaa !11
  %705 = call i32 @fileno(ptr noundef %704) #13
  %706 = call i32 @isatty(i32 noundef %705) #13
  %.not472 = icmp eq i32 %706, 0
  br i1 %.not472, label %707, label %708

707:                                              ; preds = %703, %697
  br label %708

708:                                              ; preds = %703, %707
  %.str.5.sink983 = phi ptr [ @.str.5, %707 ], [ @.str.2, %703 ]
  store i32 %698, ptr %285, align 4, !tbaa !9
  %709 = load ptr, ptr @stderr, align 8, !tbaa !11
  %710 = load i32, ptr @test_count, align 4, !tbaa !9
  %711 = load i32, ptr %231, align 4, !tbaa !9
  %712 = call ptr @s2n_strerror(i32 noundef %711, ptr noundef nonnull @.str.4) #13
  %713 = load i32, ptr %231, align 4, !tbaa !9
  %714 = call ptr @s2n_strerror_debug(i32 noundef %713, ptr noundef nonnull @.str.4) #13
  %715 = load i32, ptr %285, align 4, !tbaa !9
  %716 = call ptr @strerror(i32 noundef %715) #13
  %717 = load i32, ptr %285, align 4, !tbaa !9
  %718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %709, ptr noundef nonnull %.str.5.sink983, i32 noundef %710, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %712, ptr noundef %714, ptr noundef %716, i32 noundef %717) #15
  call void @exit(i32 noundef 1) #16
  unreachable

719:                                              ; preds = %692
  %720 = load i32, ptr @test_count, align 4, !tbaa !9
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @test_count, align 4, !tbaa !9
  %722 = load i32, ptr %231, align 4, !tbaa !9
  %723 = icmp eq i32 %722, 0
  br i1 %723, label %724, label %746

724:                                              ; preds = %719
  %725 = load i32, ptr %285, align 4, !tbaa !9
  %726 = load ptr, ptr @stderr, align 8, !tbaa !11
  %727 = call i32 @s2n_print_stacktrace(ptr noundef %726) #13
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %729 = trunc nuw i8 %728 to i1
  br i1 %729, label %730, label %734

730:                                              ; preds = %724
  %731 = load ptr, ptr @stderr, align 8, !tbaa !11
  %732 = call i32 @fileno(ptr noundef %731) #13
  %733 = call i32 @isatty(i32 noundef %732) #13
  %.not699 = icmp eq i32 %733, 0
  br i1 %.not699, label %734, label %735

734:                                              ; preds = %730, %724
  br label %735

735:                                              ; preds = %730, %734
  %.str.5.sink992 = phi ptr [ @.str.5, %734 ], [ @.str.2, %730 ]
  store i32 %725, ptr %285, align 4, !tbaa !9
  %736 = load ptr, ptr @stderr, align 8, !tbaa !11
  %737 = load i32, ptr @test_count, align 4, !tbaa !9
  %738 = load i32, ptr %231, align 4, !tbaa !9
  %739 = call ptr @s2n_strerror(i32 noundef %738, ptr noundef nonnull @.str.4) #13
  %740 = load i32, ptr %231, align 4, !tbaa !9
  %741 = call ptr @s2n_strerror_debug(i32 noundef %740, ptr noundef nonnull @.str.4) #13
  %742 = load i32, ptr %285, align 4, !tbaa !9
  %743 = call ptr @strerror(i32 noundef %742) #13
  %744 = load i32, ptr %285, align 4, !tbaa !9
  %745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.5.sink992, i32 noundef %737, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %739, ptr noundef %741, ptr noundef %743, i32 noundef %744) #15
  call void @exit(i32 noundef 1) #16
  unreachable

746:                                              ; preds = %719
  %747 = add nsw i32 %720, 2
  store i32 %747, ptr @test_count, align 4, !tbaa !9
  %748 = call ptr @s2n_strerror_debug(i32 noundef %722, ptr noundef nonnull @.str.4) #13
  %749 = icmp eq ptr %748, null
  br i1 %749, label %750, label %772

750:                                              ; preds = %746
  %751 = load i32, ptr %285, align 4, !tbaa !9
  %752 = load ptr, ptr @stderr, align 8, !tbaa !11
  %753 = call i32 @s2n_print_stacktrace(ptr noundef %752) #13
  %754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %755 = trunc nuw i8 %754 to i1
  br i1 %755, label %756, label %760

756:                                              ; preds = %750
  %757 = load ptr, ptr @stderr, align 8, !tbaa !11
  %758 = call i32 @fileno(ptr noundef %757) #13
  %759 = call i32 @isatty(i32 noundef %758) #13
  %.not698 = icmp eq i32 %759, 0
  br i1 %.not698, label %760, label %761

760:                                              ; preds = %756, %750
  br label %761

761:                                              ; preds = %756, %760
  %.str.5.sink1001 = phi ptr [ @.str.5, %760 ], [ @.str.2, %756 ]
  store i32 %751, ptr %285, align 4, !tbaa !9
  %762 = load ptr, ptr @stderr, align 8, !tbaa !11
  %763 = load i32, ptr @test_count, align 4, !tbaa !9
  %764 = load i32, ptr %231, align 4, !tbaa !9
  %765 = call ptr @s2n_strerror(i32 noundef %764, ptr noundef nonnull @.str.4) #13
  %766 = load i32, ptr %231, align 4, !tbaa !9
  %767 = call ptr @s2n_strerror_debug(i32 noundef %766, ptr noundef nonnull @.str.4) #13
  %768 = load i32, ptr %285, align 4, !tbaa !9
  %769 = call ptr @strerror(i32 noundef %768) #13
  %770 = load i32, ptr %285, align 4, !tbaa !9
  %771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %762, ptr noundef nonnull %.str.5.sink1001, i32 noundef %763, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 76, ptr noundef %765, ptr noundef %767, ptr noundef %769, i32 noundef %770) #15
  call void @exit(i32 noundef 1) #16
  unreachable

772:                                              ; preds = %746
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %773 = load i32, ptr @test_count, align 4, !tbaa !9
  %774 = add nsw i32 %773, 1
  store i32 %774, ptr @test_count, align 4, !tbaa !9
  %775 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %776 = icmp eq i32 %775, -1
  br i1 %776, label %782, label %.preheader726.preheader

.preheader726.preheader:                          ; preds = %772
  %777 = load i32, ptr @test_count, align 4, !tbaa !9
  %778 = add nsw i32 %777, 1
  store i32 %778, ptr @test_count, align 4, !tbaa !9
  %779 = load i8, ptr %3, align 16, !tbaa !17
  %780 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %779) #13
  %781 = call zeroext i1 @s2n_result_is_ok(i32 %780)
  br i1 %781, label %.preheader726.1, label %898

782:                                              ; preds = %772
  %783 = load i32, ptr %285, align 4, !tbaa !9
  %784 = load ptr, ptr @stderr, align 8, !tbaa !11
  %785 = call i32 @s2n_print_stacktrace(ptr noundef %784) #13
  %786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %787 = trunc nuw i8 %786 to i1
  br i1 %787, label %788, label %792

788:                                              ; preds = %782
  %789 = load ptr, ptr @stderr, align 8, !tbaa !11
  %790 = call i32 @fileno(ptr noundef %789) #13
  %791 = call i32 @isatty(i32 noundef %790) #13
  %.not697 = icmp eq i32 %791, 0
  br i1 %.not697, label %792, label %793

792:                                              ; preds = %788, %782
  br label %793

793:                                              ; preds = %788, %792
  %.str.5.sink1010 = phi ptr [ @.str.5, %792 ], [ @.str.2, %788 ]
  store i32 %783, ptr %285, align 4, !tbaa !9
  %794 = load ptr, ptr @stderr, align 8, !tbaa !11
  %795 = load i32, ptr @test_count, align 4, !tbaa !9
  %796 = load i32, ptr %231, align 4, !tbaa !9
  %797 = call ptr @s2n_strerror(i32 noundef %796, ptr noundef nonnull @.str.4) #13
  %798 = load i32, ptr %231, align 4, !tbaa !9
  %799 = call ptr @s2n_strerror_debug(i32 noundef %798, ptr noundef nonnull @.str.4) #13
  %800 = load i32, ptr %285, align 4, !tbaa !9
  %801 = call ptr @strerror(i32 noundef %800) #13
  %802 = load i32, ptr %285, align 4, !tbaa !9
  %803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %794, ptr noundef nonnull %.str.5.sink1010, i32 noundef %795, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 78, ptr noundef %797, ptr noundef %799, ptr noundef %801, i32 noundef %802) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader726.1:                                  ; preds = %.preheader726.preheader
  %804 = load i32, ptr @test_count, align 4, !tbaa !9
  %805 = add nsw i32 %804, 1
  store i32 %805, ptr @test_count, align 4, !tbaa !9
  %806 = getelementptr inbounds i8, ptr %3, i64 1
  %807 = load i8, ptr %806, align 1, !tbaa !17
  %808 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %807) #13
  %809 = call zeroext i1 @s2n_result_is_ok(i32 %808)
  br i1 %809, label %.preheader726.2, label %898

.preheader726.2:                                  ; preds = %.preheader726.1
  %810 = load i32, ptr @test_count, align 4, !tbaa !9
  %811 = add nsw i32 %810, 1
  store i32 %811, ptr @test_count, align 4, !tbaa !9
  %812 = getelementptr inbounds i8, ptr %3, i64 2
  %813 = load i8, ptr %812, align 2, !tbaa !17
  %814 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %813) #13
  %815 = call zeroext i1 @s2n_result_is_ok(i32 %814)
  br i1 %815, label %.preheader726.3, label %898

.preheader726.3:                                  ; preds = %.preheader726.2
  %816 = load i32, ptr @test_count, align 4, !tbaa !9
  %817 = add nsw i32 %816, 1
  store i32 %817, ptr @test_count, align 4, !tbaa !9
  %818 = getelementptr inbounds i8, ptr %3, i64 3
  %819 = load i8, ptr %818, align 1, !tbaa !17
  %820 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %819) #13
  %821 = call zeroext i1 @s2n_result_is_ok(i32 %820)
  br i1 %821, label %.preheader726.4, label %898

.preheader726.4:                                  ; preds = %.preheader726.3
  %822 = load i32, ptr @test_count, align 4, !tbaa !9
  %823 = add nsw i32 %822, 1
  store i32 %823, ptr @test_count, align 4, !tbaa !9
  %824 = getelementptr inbounds i8, ptr %3, i64 4
  %825 = load i8, ptr %824, align 4, !tbaa !17
  %826 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %825) #13
  %827 = call zeroext i1 @s2n_result_is_ok(i32 %826)
  br i1 %827, label %.preheader726.5, label %898

.preheader726.5:                                  ; preds = %.preheader726.4
  %828 = load i32, ptr @test_count, align 4, !tbaa !9
  %829 = add nsw i32 %828, 1
  store i32 %829, ptr @test_count, align 4, !tbaa !9
  %830 = getelementptr inbounds i8, ptr %3, i64 5
  %831 = load i8, ptr %830, align 1, !tbaa !17
  %832 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %831) #13
  %833 = call zeroext i1 @s2n_result_is_ok(i32 %832)
  br i1 %833, label %.preheader726.6, label %898

.preheader726.6:                                  ; preds = %.preheader726.5
  %834 = load i32, ptr @test_count, align 4, !tbaa !9
  %835 = add nsw i32 %834, 1
  store i32 %835, ptr @test_count, align 4, !tbaa !9
  %836 = getelementptr inbounds i8, ptr %3, i64 6
  %837 = load i8, ptr %836, align 2, !tbaa !17
  %838 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %837) #13
  %839 = call zeroext i1 @s2n_result_is_ok(i32 %838)
  br i1 %839, label %.preheader726.7, label %898

.preheader726.7:                                  ; preds = %.preheader726.6
  %840 = load i32, ptr @test_count, align 4, !tbaa !9
  %841 = add nsw i32 %840, 1
  store i32 %841, ptr @test_count, align 4, !tbaa !9
  %842 = getelementptr inbounds i8, ptr %3, i64 7
  %843 = load i8, ptr %842, align 1, !tbaa !17
  %844 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %843) #13
  %845 = call zeroext i1 @s2n_result_is_ok(i32 %844)
  br i1 %845, label %.preheader726.8, label %898

.preheader726.8:                                  ; preds = %.preheader726.7
  %846 = load i32, ptr @test_count, align 4, !tbaa !9
  %847 = add nsw i32 %846, 1
  store i32 %847, ptr @test_count, align 4, !tbaa !9
  %848 = getelementptr inbounds i8, ptr %3, i64 8
  %849 = load i8, ptr %848, align 8, !tbaa !17
  %850 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %849) #13
  %851 = call zeroext i1 @s2n_result_is_ok(i32 %850)
  br i1 %851, label %.preheader726.9, label %898

.preheader726.9:                                  ; preds = %.preheader726.8
  %852 = load i32, ptr @test_count, align 4, !tbaa !9
  %853 = add nsw i32 %852, 1
  store i32 %853, ptr @test_count, align 4, !tbaa !9
  %854 = getelementptr inbounds i8, ptr %3, i64 9
  %855 = load i8, ptr %854, align 1, !tbaa !17
  %856 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %855) #13
  %857 = call zeroext i1 @s2n_result_is_ok(i32 %856)
  br i1 %857, label %.preheader726.10, label %898

.preheader726.10:                                 ; preds = %.preheader726.9
  %858 = load i32, ptr @test_count, align 4, !tbaa !9
  %859 = add nsw i32 %858, 1
  store i32 %859, ptr @test_count, align 4, !tbaa !9
  %860 = getelementptr inbounds i8, ptr %3, i64 10
  %861 = load i8, ptr %860, align 2, !tbaa !17
  %862 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %861) #13
  %863 = call zeroext i1 @s2n_result_is_ok(i32 %862)
  br i1 %863, label %.preheader726.11, label %898

.preheader726.11:                                 ; preds = %.preheader726.10
  %864 = load i32, ptr @test_count, align 4, !tbaa !9
  %865 = add nsw i32 %864, 1
  store i32 %865, ptr @test_count, align 4, !tbaa !9
  %866 = getelementptr inbounds i8, ptr %3, i64 11
  %867 = load i8, ptr %866, align 1, !tbaa !17
  %868 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %867) #13
  %869 = call zeroext i1 @s2n_result_is_ok(i32 %868)
  br i1 %869, label %.preheader726.12, label %898

.preheader726.12:                                 ; preds = %.preheader726.11
  %870 = load i32, ptr @test_count, align 4, !tbaa !9
  %871 = add nsw i32 %870, 1
  store i32 %871, ptr @test_count, align 4, !tbaa !9
  %872 = getelementptr inbounds i8, ptr %3, i64 12
  %873 = load i8, ptr %872, align 4, !tbaa !17
  %874 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %873) #13
  %875 = call zeroext i1 @s2n_result_is_ok(i32 %874)
  br i1 %875, label %.preheader726.13, label %898

.preheader726.13:                                 ; preds = %.preheader726.12
  %876 = load i32, ptr @test_count, align 4, !tbaa !9
  %877 = add nsw i32 %876, 1
  store i32 %877, ptr @test_count, align 4, !tbaa !9
  %878 = getelementptr inbounds i8, ptr %3, i64 13
  %879 = load i8, ptr %878, align 1, !tbaa !17
  %880 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %879) #13
  %881 = call zeroext i1 @s2n_result_is_ok(i32 %880)
  br i1 %881, label %.preheader726.14, label %898

.preheader726.14:                                 ; preds = %.preheader726.13
  %882 = load i32, ptr @test_count, align 4, !tbaa !9
  %883 = add nsw i32 %882, 1
  store i32 %883, ptr @test_count, align 4, !tbaa !9
  %884 = getelementptr inbounds i8, ptr %3, i64 14
  %885 = load i8, ptr %884, align 2, !tbaa !17
  %886 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %885) #13
  %887 = call zeroext i1 @s2n_result_is_ok(i32 %886)
  br i1 %887, label %.preheader726.15, label %898

.preheader726.15:                                 ; preds = %.preheader726.14
  %888 = load i32, ptr @test_count, align 4, !tbaa !9
  %889 = add nsw i32 %888, 1
  store i32 %889, ptr @test_count, align 4, !tbaa !9
  %890 = getelementptr inbounds i8, ptr %3, i64 15
  %891 = load i8, ptr %890, align 1, !tbaa !17
  %892 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %891) #13
  %893 = call zeroext i1 @s2n_result_is_ok(i32 %892)
  br i1 %893, label %894, label %898

894:                                              ; preds = %.preheader726.15
  %895 = load i32, ptr @test_count, align 4, !tbaa !9
  %896 = add nsw i32 %895, 1
  store i32 %896, ptr @test_count, align 4, !tbaa !9
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(32) %4, ptr noundef nonnull dereferenceable(32) @.str.26, i64 32)
  %897 = icmp eq i32 %bcmp, 0
  br i1 %897, label %942, label %920

898:                                              ; preds = %.preheader726.15, %.preheader726.14, %.preheader726.13, %.preheader726.12, %.preheader726.11, %.preheader726.10, %.preheader726.9, %.preheader726.8, %.preheader726.7, %.preheader726.6, %.preheader726.5, %.preheader726.4, %.preheader726.3, %.preheader726.2, %.preheader726.1, %.preheader726.preheader
  %899 = load i32, ptr %285, align 4, !tbaa !9
  %900 = load ptr, ptr @stderr, align 8, !tbaa !11
  %901 = call i32 @s2n_print_stacktrace(ptr noundef %900) #13
  %902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %903 = trunc nuw i8 %902 to i1
  br i1 %903, label %904, label %908

904:                                              ; preds = %898
  %905 = load ptr, ptr @stderr, align 8, !tbaa !11
  %906 = call i32 @fileno(ptr noundef %905) #13
  %907 = call i32 @isatty(i32 noundef %906) #13
  %.not696 = icmp eq i32 %907, 0
  br i1 %.not696, label %908, label %909

908:                                              ; preds = %904, %898
  br label %909

909:                                              ; preds = %904, %908
  %.str.5.sink1019 = phi ptr [ @.str.5, %908 ], [ @.str.2, %904 ]
  store i32 %899, ptr %285, align 4, !tbaa !9
  %910 = load ptr, ptr @stderr, align 8, !tbaa !11
  %911 = load i32, ptr @test_count, align 4, !tbaa !9
  %912 = load i32, ptr %231, align 4, !tbaa !9
  %913 = call ptr @s2n_strerror(i32 noundef %912, ptr noundef nonnull @.str.4) #13
  %914 = load i32, ptr %231, align 4, !tbaa !9
  %915 = call ptr @s2n_strerror_debug(i32 noundef %914, ptr noundef nonnull @.str.4) #13
  %916 = load i32, ptr %285, align 4, !tbaa !9
  %917 = call ptr @strerror(i32 noundef %916) #13
  %918 = load i32, ptr %285, align 4, !tbaa !9
  %919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %910, ptr noundef nonnull %.str.5.sink1019, i32 noundef %911, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %913, ptr noundef %915, ptr noundef %917, i32 noundef %918) #15
  call void @exit(i32 noundef 1) #16
  unreachable

920:                                              ; preds = %894
  %921 = load i32, ptr %285, align 4, !tbaa !9
  %922 = load ptr, ptr @stderr, align 8, !tbaa !11
  %923 = call i32 @s2n_print_stacktrace(ptr noundef %922) #13
  %924 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %925 = trunc nuw i8 %924 to i1
  br i1 %925, label %926, label %930

926:                                              ; preds = %920
  %927 = load ptr, ptr @stderr, align 8, !tbaa !11
  %928 = call i32 @fileno(ptr noundef %927) #13
  %929 = call i32 @isatty(i32 noundef %928) #13
  %.not473 = icmp eq i32 %929, 0
  br i1 %.not473, label %930, label %931

930:                                              ; preds = %926, %920
  br label %931

931:                                              ; preds = %926, %930
  %.str.5.sink1028 = phi ptr [ @.str.5, %930 ], [ @.str.2, %926 ]
  store i32 %921, ptr %285, align 4, !tbaa !9
  %932 = load ptr, ptr @stderr, align 8, !tbaa !11
  %933 = load i32, ptr @test_count, align 4, !tbaa !9
  %934 = load i32, ptr %231, align 4, !tbaa !9
  %935 = call ptr @s2n_strerror(i32 noundef %934, ptr noundef nonnull @.str.4) #13
  %936 = load i32, ptr %231, align 4, !tbaa !9
  %937 = call ptr @s2n_strerror_debug(i32 noundef %936, ptr noundef nonnull @.str.4) #13
  %938 = load i32, ptr %285, align 4, !tbaa !9
  %939 = call ptr @strerror(i32 noundef %938) #13
  %940 = load i32, ptr %285, align 4, !tbaa !9
  %941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %932, ptr noundef nonnull %.str.5.sink1028, i32 noundef %933, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %935, ptr noundef %937, ptr noundef %939, i32 noundef %940) #15
  call void @exit(i32 noundef 1) #16
  unreachable

942:                                              ; preds = %894
  %943 = call i32 @s2n_hash_reset(ptr noundef nonnull %9) #13
  %944 = icmp sgt i32 %943, -1
  br i1 %944, label %945, label %.thread

945:                                              ; preds = %942
  %946 = load i32, ptr @test_count, align 4, !tbaa !9
  %947 = add nsw i32 %946, 1
  store i32 %947, ptr @test_count, align 4, !tbaa !9
  %948 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not474 = icmp eq i32 %948, 0
  br i1 %.not474, label %949, label %971

949:                                              ; preds = %945
  %950 = load i32, ptr %285, align 4, !tbaa !9
  %951 = load ptr, ptr @stderr, align 8, !tbaa !11
  %952 = call i32 @s2n_print_stacktrace(ptr noundef %951) #13
  %953 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %954 = trunc nuw i8 %953 to i1
  br i1 %954, label %955, label %959

955:                                              ; preds = %949
  %956 = load ptr, ptr @stderr, align 8, !tbaa !11
  %957 = call i32 @fileno(ptr noundef %956) #13
  %958 = call i32 @isatty(i32 noundef %957) #13
  %.not475 = icmp eq i32 %958, 0
  br i1 %.not475, label %959, label %960

959:                                              ; preds = %955, %949
  br label %960

960:                                              ; preds = %955, %959
  %.str.5.sink1037 = phi ptr [ @.str.5, %959 ], [ @.str.2, %955 ]
  store i32 %950, ptr %285, align 4, !tbaa !9
  %961 = load ptr, ptr @stderr, align 8, !tbaa !11
  %962 = load i32, ptr @test_count, align 4, !tbaa !9
  %963 = load i32, ptr %231, align 4, !tbaa !9
  %964 = call ptr @s2n_strerror(i32 noundef %963, ptr noundef nonnull @.str.4) #13
  %965 = load i32, ptr %231, align 4, !tbaa !9
  %966 = call ptr @s2n_strerror_debug(i32 noundef %965, ptr noundef nonnull @.str.4) #13
  %967 = load i32, ptr %285, align 4, !tbaa !9
  %968 = call ptr @strerror(i32 noundef %967) #13
  %969 = load i32, ptr %285, align 4, !tbaa !9
  %970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %961, ptr noundef nonnull %.str.5.sink1037, i32 noundef %962, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 87, ptr noundef %964, ptr noundef %966, ptr noundef %968, i32 noundef %969) #15
  call void @exit(i32 noundef 1) #16
  unreachable

971:                                              ; preds = %945
  %972 = load i32, ptr @test_count, align 4, !tbaa !9
  %973 = add nsw i32 %972, 1
  store i32 %973, ptr @test_count, align 4, !tbaa !9
  %974 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %975 = icmp eq i32 %974, -1
  br i1 %975, label %976, label %998

976:                                              ; preds = %971
  %977 = load i32, ptr %285, align 4, !tbaa !9
  %978 = load ptr, ptr @stderr, align 8, !tbaa !11
  %979 = call i32 @s2n_print_stacktrace(ptr noundef %978) #13
  %980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %981 = trunc nuw i8 %980 to i1
  br i1 %981, label %982, label %986

982:                                              ; preds = %976
  %983 = load ptr, ptr @stderr, align 8, !tbaa !11
  %984 = call i32 @fileno(ptr noundef %983) #13
  %985 = call i32 @isatty(i32 noundef %984) #13
  %.not695 = icmp eq i32 %985, 0
  br i1 %.not695, label %986, label %987

986:                                              ; preds = %982, %976
  br label %987

987:                                              ; preds = %982, %986
  %.str.5.sink1046 = phi ptr [ @.str.5, %986 ], [ @.str.2, %982 ]
  store i32 %977, ptr %285, align 4, !tbaa !9
  %988 = load ptr, ptr @stderr, align 8, !tbaa !11
  %989 = load i32, ptr @test_count, align 4, !tbaa !9
  %990 = load i32, ptr %231, align 4, !tbaa !9
  %991 = call ptr @s2n_strerror(i32 noundef %990, ptr noundef nonnull @.str.4) #13
  %992 = load i32, ptr %231, align 4, !tbaa !9
  %993 = call ptr @s2n_strerror_debug(i32 noundef %992, ptr noundef nonnull @.str.4) #13
  %994 = load i32, ptr %285, align 4, !tbaa !9
  %995 = call ptr @strerror(i32 noundef %994) #13
  %996 = load i32, ptr %285, align 4, !tbaa !9
  %997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %988, ptr noundef nonnull %.str.5.sink1046, i32 noundef %989, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %991, ptr noundef %993, ptr noundef %995, i32 noundef %996) #15
  call void @exit(i32 noundef 1) #16
  unreachable

998:                                              ; preds = %971
  %999 = load i32, ptr @test_count, align 4, !tbaa !9
  %1000 = add nsw i32 %999, 1
  store i32 %1000, ptr @test_count, align 4, !tbaa !9
  %1001 = load i64, ptr %12, align 8, !tbaa !5
  %1002 = icmp eq i64 %1001, 0
  br i1 %1002, label %1025, label %1003

1003:                                             ; preds = %998
  %1004 = load i32, ptr %285, align 4, !tbaa !9
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1006 = call i32 @s2n_print_stacktrace(ptr noundef %1005) #13
  %1007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1008 = trunc nuw i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1003
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1011 = call i32 @fileno(ptr noundef %1010) #13
  %1012 = call i32 @isatty(i32 noundef %1011) #13
  %.not476 = icmp eq i32 %1012, 0
  br i1 %.not476, label %1013, label %1014

1013:                                             ; preds = %1009, %1003
  br label %1014

1014:                                             ; preds = %1009, %1013
  %.str.5.sink1055 = phi ptr [ @.str.5, %1013 ], [ @.str.2, %1009 ]
  store i32 %1004, ptr %285, align 4, !tbaa !9
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1016 = load i32, ptr @test_count, align 4, !tbaa !9
  %1017 = load i32, ptr %231, align 4, !tbaa !9
  %1018 = call ptr @s2n_strerror(i32 noundef %1017, ptr noundef nonnull @.str.4) #13
  %1019 = load i32, ptr %231, align 4, !tbaa !9
  %1020 = call ptr @s2n_strerror_debug(i32 noundef %1019, ptr noundef nonnull @.str.4) #13
  %1021 = load i32, ptr %285, align 4, !tbaa !9
  %1022 = call ptr @strerror(i32 noundef %1021) #13
  %1023 = load i32, ptr %285, align 4, !tbaa !9
  %1024 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef nonnull %.str.5.sink1055, i32 noundef %1016, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %1018, ptr noundef %1020, ptr noundef %1022, i32 noundef %1023) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.thread:                                          ; preds = %396, %942
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #13
  br label %6088

1025:                                             ; preds = %998
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %13) #13
  br label %1026

1026:                                             ; preds = %1025, %394
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %14) #13
  store i8 0, ptr %14, align 1, !tbaa !17
  %1027 = call i32 @s2n_hash_digest_size(i32 noundef 2, ptr noundef nonnull %14) #13
  %1028 = icmp sgt i32 %1027, -1
  br i1 %1028, label %1029, label %6087

1029:                                             ; preds = %1026
  %1030 = load i32, ptr @test_count, align 4, !tbaa !9
  %1031 = add nsw i32 %1030, 1
  store i32 %1031, ptr @test_count, align 4, !tbaa !9
  %1032 = load i8, ptr %14, align 1, !tbaa !17
  %1033 = icmp eq i8 %1032, 20
  br i1 %1033, label %1056, label %1034

1034:                                             ; preds = %1029
  %1035 = load i32, ptr %285, align 4, !tbaa !9
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1037 = call i32 @s2n_print_stacktrace(ptr noundef %1036) #13
  %1038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1039 = trunc nuw i8 %1038 to i1
  br i1 %1039, label %1040, label %1044

1040:                                             ; preds = %1034
  %1041 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1042 = call i32 @fileno(ptr noundef %1041) #13
  %1043 = call i32 @isatty(i32 noundef %1042) #13
  %.not477 = icmp eq i32 %1043, 0
  br i1 %.not477, label %1044, label %1045

1044:                                             ; preds = %1040, %1034
  br label %1045

1045:                                             ; preds = %1040, %1044
  %.str.5.sink1064 = phi ptr [ @.str.5, %1044 ], [ @.str.2, %1040 ]
  store i32 %1035, ptr %285, align 4, !tbaa !9
  %1046 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1047 = load i32, ptr @test_count, align 4, !tbaa !9
  %1048 = load i32, ptr %231, align 4, !tbaa !9
  %1049 = call ptr @s2n_strerror(i32 noundef %1048, ptr noundef nonnull @.str.4) #13
  %1050 = load i32, ptr %231, align 4, !tbaa !9
  %1051 = call ptr @s2n_strerror_debug(i32 noundef %1050, ptr noundef nonnull @.str.4) #13
  %1052 = load i32, ptr %285, align 4, !tbaa !9
  %1053 = call ptr @strerror(i32 noundef %1052) #13
  %1054 = load i32, ptr %285, align 4, !tbaa !9
  %1055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1046, ptr noundef nonnull %.str.5.sink1064, i32 noundef %1047, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %1049, ptr noundef %1051, ptr noundef %1053, i32 noundef %1054) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1056:                                             ; preds = %1029
  %1057 = add nsw i32 %1030, 2
  store i32 %1057, ptr @test_count, align 4, !tbaa !9
  %1058 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 2) #13
  %1059 = icmp eq i32 %1058, -1
  br i1 %1059, label %1060, label %1082

1060:                                             ; preds = %1056
  %1061 = load i32, ptr %285, align 4, !tbaa !9
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1063 = call i32 @s2n_print_stacktrace(ptr noundef %1062) #13
  %1064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1065 = trunc nuw i8 %1064 to i1
  br i1 %1065, label %1066, label %1070

1066:                                             ; preds = %1060
  %1067 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1068 = call i32 @fileno(ptr noundef %1067) #13
  %1069 = call i32 @isatty(i32 noundef %1068) #13
  %.not694 = icmp eq i32 %1069, 0
  br i1 %.not694, label %1070, label %1071

1070:                                             ; preds = %1066, %1060
  br label %1071

1071:                                             ; preds = %1066, %1070
  %.str.5.sink1073 = phi ptr [ @.str.5, %1070 ], [ @.str.2, %1066 ]
  store i32 %1061, ptr %285, align 4, !tbaa !9
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1073 = load i32, ptr @test_count, align 4, !tbaa !9
  %1074 = load i32, ptr %231, align 4, !tbaa !9
  %1075 = call ptr @s2n_strerror(i32 noundef %1074, ptr noundef nonnull @.str.4) #13
  %1076 = load i32, ptr %231, align 4, !tbaa !9
  %1077 = call ptr @s2n_strerror_debug(i32 noundef %1076, ptr noundef nonnull @.str.4) #13
  %1078 = load i32, ptr %285, align 4, !tbaa !9
  %1079 = call ptr @strerror(i32 noundef %1078) #13
  %1080 = load i32, ptr %285, align 4, !tbaa !9
  %1081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef nonnull %.str.5.sink1073, i32 noundef %1073, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %1075, ptr noundef %1077, ptr noundef %1079, i32 noundef %1080) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1082:                                             ; preds = %1056
  %1083 = load i32, ptr @test_count, align 4, !tbaa !9
  %1084 = add nsw i32 %1083, 1
  store i32 %1084, ptr @test_count, align 4, !tbaa !9
  %1085 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not478 = icmp eq i32 %1085, 0
  br i1 %.not478, label %1086, label %1108

1086:                                             ; preds = %1082
  %1087 = load i32, ptr %285, align 4, !tbaa !9
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1089 = call i32 @s2n_print_stacktrace(ptr noundef %1088) #13
  %1090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1091 = trunc nuw i8 %1090 to i1
  br i1 %1091, label %1092, label %1096

1092:                                             ; preds = %1086
  %1093 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1094 = call i32 @fileno(ptr noundef %1093) #13
  %1095 = call i32 @isatty(i32 noundef %1094) #13
  %.not479 = icmp eq i32 %1095, 0
  br i1 %.not479, label %1096, label %1097

1096:                                             ; preds = %1092, %1086
  br label %1097

1097:                                             ; preds = %1092, %1096
  %.str.5.sink1082 = phi ptr [ @.str.5, %1096 ], [ @.str.2, %1092 ]
  store i32 %1087, ptr %285, align 4, !tbaa !9
  %1098 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1099 = load i32, ptr @test_count, align 4, !tbaa !9
  %1100 = load i32, ptr %231, align 4, !tbaa !9
  %1101 = call ptr @s2n_strerror(i32 noundef %1100, ptr noundef nonnull @.str.4) #13
  %1102 = load i32, ptr %231, align 4, !tbaa !9
  %1103 = call ptr @s2n_strerror_debug(i32 noundef %1102, ptr noundef nonnull @.str.4) #13
  %1104 = load i32, ptr %285, align 4, !tbaa !9
  %1105 = call ptr @strerror(i32 noundef %1104) #13
  %1106 = load i32, ptr %285, align 4, !tbaa !9
  %1107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1098, ptr noundef nonnull %.str.5.sink1082, i32 noundef %1099, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %1101, ptr noundef %1103, ptr noundef %1105, i32 noundef %1106) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1108:                                             ; preds = %1082
  %1109 = load i32, ptr @test_count, align 4, !tbaa !9
  %1110 = add nsw i32 %1109, 1
  store i32 %1110, ptr @test_count, align 4, !tbaa !9
  %1111 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %1112 = icmp eq i32 %1111, -1
  br i1 %1112, label %1113, label %1135

1113:                                             ; preds = %1108
  %1114 = load i32, ptr %285, align 4, !tbaa !9
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1116 = call i32 @s2n_print_stacktrace(ptr noundef %1115) #13
  %1117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1118 = trunc nuw i8 %1117 to i1
  br i1 %1118, label %1119, label %1123

1119:                                             ; preds = %1113
  %1120 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1121 = call i32 @fileno(ptr noundef %1120) #13
  %1122 = call i32 @isatty(i32 noundef %1121) #13
  %.not693 = icmp eq i32 %1122, 0
  br i1 %.not693, label %1123, label %1124

1123:                                             ; preds = %1119, %1113
  br label %1124

1124:                                             ; preds = %1119, %1123
  %.str.5.sink1091 = phi ptr [ @.str.5, %1123 ], [ @.str.2, %1119 ]
  store i32 %1114, ptr %285, align 4, !tbaa !9
  %1125 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1126 = load i32, ptr @test_count, align 4, !tbaa !9
  %1127 = load i32, ptr %231, align 4, !tbaa !9
  %1128 = call ptr @s2n_strerror(i32 noundef %1127, ptr noundef nonnull @.str.4) #13
  %1129 = load i32, ptr %231, align 4, !tbaa !9
  %1130 = call ptr @s2n_strerror_debug(i32 noundef %1129, ptr noundef nonnull @.str.4) #13
  %1131 = load i32, ptr %285, align 4, !tbaa !9
  %1132 = call ptr @strerror(i32 noundef %1131) #13
  %1133 = load i32, ptr %285, align 4, !tbaa !9
  %1134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1125, ptr noundef nonnull %.str.5.sink1091, i32 noundef %1126, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %1128, ptr noundef %1130, ptr noundef %1132, i32 noundef %1133) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1135:                                             ; preds = %1108
  %1136 = load i32, ptr @test_count, align 4, !tbaa !9
  %1137 = add nsw i32 %1136, 1
  store i32 %1137, ptr @test_count, align 4, !tbaa !9
  %1138 = load i64, ptr %12, align 8, !tbaa !5
  %1139 = icmp eq i64 %1138, 0
  br i1 %1139, label %1162, label %1140

1140:                                             ; preds = %1135
  %1141 = load i32, ptr %285, align 4, !tbaa !9
  %1142 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1143 = call i32 @s2n_print_stacktrace(ptr noundef %1142) #13
  %1144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1145 = trunc nuw i8 %1144 to i1
  br i1 %1145, label %1146, label %1150

1146:                                             ; preds = %1140
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1148 = call i32 @fileno(ptr noundef %1147) #13
  %1149 = call i32 @isatty(i32 noundef %1148) #13
  %.not480 = icmp eq i32 %1149, 0
  br i1 %.not480, label %1150, label %1151

1150:                                             ; preds = %1146, %1140
  br label %1151

1151:                                             ; preds = %1146, %1150
  %.str.5.sink1100 = phi ptr [ @.str.5, %1150 ], [ @.str.2, %1146 ]
  store i32 %1141, ptr %285, align 4, !tbaa !9
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1153 = load i32, ptr @test_count, align 4, !tbaa !9
  %1154 = load i32, ptr %231, align 4, !tbaa !9
  %1155 = call ptr @s2n_strerror(i32 noundef %1154, ptr noundef nonnull @.str.4) #13
  %1156 = load i32, ptr %231, align 4, !tbaa !9
  %1157 = call ptr @s2n_strerror_debug(i32 noundef %1156, ptr noundef nonnull @.str.4) #13
  %1158 = load i32, ptr %285, align 4, !tbaa !9
  %1159 = call ptr @strerror(i32 noundef %1158) #13
  %1160 = load i32, ptr %285, align 4, !tbaa !9
  %1161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1152, ptr noundef nonnull %.str.5.sink1100, i32 noundef %1153, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 99, ptr noundef %1155, ptr noundef %1157, ptr noundef %1159, i32 noundef %1160) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1162:                                             ; preds = %1135
  %1163 = add nsw i32 %1136, 2
  store i32 %1163, ptr @test_count, align 4, !tbaa !9
  %1164 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %1165 = trunc i64 %1164 to i32
  %1166 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %1165) #13
  %1167 = icmp eq i32 %1166, -1
  br i1 %1167, label %1168, label %1190

1168:                                             ; preds = %1162
  %1169 = load i32, ptr %285, align 4, !tbaa !9
  %1170 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1171 = call i32 @s2n_print_stacktrace(ptr noundef %1170) #13
  %1172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1173 = trunc nuw i8 %1172 to i1
  br i1 %1173, label %1174, label %1178

1174:                                             ; preds = %1168
  %1175 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1176 = call i32 @fileno(ptr noundef %1175) #13
  %1177 = call i32 @isatty(i32 noundef %1176) #13
  %.not692 = icmp eq i32 %1177, 0
  br i1 %.not692, label %1178, label %1179

1178:                                             ; preds = %1174, %1168
  br label %1179

1179:                                             ; preds = %1174, %1178
  %.str.5.sink1109 = phi ptr [ @.str.5, %1178 ], [ @.str.2, %1174 ]
  store i32 %1169, ptr %285, align 4, !tbaa !9
  %1180 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1181 = load i32, ptr @test_count, align 4, !tbaa !9
  %1182 = load i32, ptr %231, align 4, !tbaa !9
  %1183 = call ptr @s2n_strerror(i32 noundef %1182, ptr noundef nonnull @.str.4) #13
  %1184 = load i32, ptr %231, align 4, !tbaa !9
  %1185 = call ptr @s2n_strerror_debug(i32 noundef %1184, ptr noundef nonnull @.str.4) #13
  %1186 = load i32, ptr %285, align 4, !tbaa !9
  %1187 = call ptr @strerror(i32 noundef %1186) #13
  %1188 = load i32, ptr %285, align 4, !tbaa !9
  %1189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1180, ptr noundef nonnull %.str.5.sink1109, i32 noundef %1181, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %1183, ptr noundef %1185, ptr noundef %1187, i32 noundef %1188) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1190:                                             ; preds = %1162
  %1191 = load i32, ptr @test_count, align 4, !tbaa !9
  %1192 = add nsw i32 %1191, 1
  store i32 %1192, ptr @test_count, align 4, !tbaa !9
  %1193 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not481 = icmp eq i32 %1193, 0
  br i1 %.not481, label %1194, label %1216

1194:                                             ; preds = %1190
  %1195 = load i32, ptr %285, align 4, !tbaa !9
  %1196 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1197 = call i32 @s2n_print_stacktrace(ptr noundef %1196) #13
  %1198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1199 = trunc nuw i8 %1198 to i1
  br i1 %1199, label %1200, label %1204

1200:                                             ; preds = %1194
  %1201 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1202 = call i32 @fileno(ptr noundef %1201) #13
  %1203 = call i32 @isatty(i32 noundef %1202) #13
  %.not482 = icmp eq i32 %1203, 0
  br i1 %.not482, label %1204, label %1205

1204:                                             ; preds = %1200, %1194
  br label %1205

1205:                                             ; preds = %1200, %1204
  %.str.5.sink1118 = phi ptr [ @.str.5, %1204 ], [ @.str.2, %1200 ]
  store i32 %1195, ptr %285, align 4, !tbaa !9
  %1206 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1207 = load i32, ptr @test_count, align 4, !tbaa !9
  %1208 = load i32, ptr %231, align 4, !tbaa !9
  %1209 = call ptr @s2n_strerror(i32 noundef %1208, ptr noundef nonnull @.str.4) #13
  %1210 = load i32, ptr %231, align 4, !tbaa !9
  %1211 = call ptr @s2n_strerror_debug(i32 noundef %1210, ptr noundef nonnull @.str.4) #13
  %1212 = load i32, ptr %285, align 4, !tbaa !9
  %1213 = call ptr @strerror(i32 noundef %1212) #13
  %1214 = load i32, ptr %285, align 4, !tbaa !9
  %1215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1206, ptr noundef nonnull %.str.5.sink1118, i32 noundef %1207, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 102, ptr noundef %1209, ptr noundef %1211, ptr noundef %1213, i32 noundef %1214) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1216:                                             ; preds = %1190
  %1217 = load i32, ptr @test_count, align 4, !tbaa !9
  %1218 = add nsw i32 %1217, 1
  store i32 %1218, ptr @test_count, align 4, !tbaa !9
  %1219 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %1220 = icmp eq i32 %1219, -1
  br i1 %1220, label %1221, label %1243

1221:                                             ; preds = %1216
  %1222 = load i32, ptr %285, align 4, !tbaa !9
  %1223 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1224 = call i32 @s2n_print_stacktrace(ptr noundef %1223) #13
  %1225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1226 = trunc nuw i8 %1225 to i1
  br i1 %1226, label %1227, label %1231

1227:                                             ; preds = %1221
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1229 = call i32 @fileno(ptr noundef %1228) #13
  %1230 = call i32 @isatty(i32 noundef %1229) #13
  %.not691 = icmp eq i32 %1230, 0
  br i1 %.not691, label %1231, label %1232

1231:                                             ; preds = %1227, %1221
  br label %1232

1232:                                             ; preds = %1227, %1231
  %.str.5.sink1127 = phi ptr [ @.str.5, %1231 ], [ @.str.2, %1227 ]
  store i32 %1222, ptr %285, align 4, !tbaa !9
  %1233 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1234 = load i32, ptr @test_count, align 4, !tbaa !9
  %1235 = load i32, ptr %231, align 4, !tbaa !9
  %1236 = call ptr @s2n_strerror(i32 noundef %1235, ptr noundef nonnull @.str.4) #13
  %1237 = load i32, ptr %231, align 4, !tbaa !9
  %1238 = call ptr @s2n_strerror_debug(i32 noundef %1237, ptr noundef nonnull @.str.4) #13
  %1239 = load i32, ptr %285, align 4, !tbaa !9
  %1240 = call ptr @strerror(i32 noundef %1239) #13
  %1241 = load i32, ptr %285, align 4, !tbaa !9
  %1242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1233, ptr noundef nonnull %.str.5.sink1127, i32 noundef %1234, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %1236, ptr noundef %1238, ptr noundef %1240, i32 noundef %1241) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1243:                                             ; preds = %1216
  %1244 = load i32, ptr @test_count, align 4, !tbaa !9
  %1245 = add nsw i32 %1244, 1
  store i32 %1245, ptr @test_count, align 4, !tbaa !9
  %1246 = load i64, ptr %12, align 8, !tbaa !5
  %1247 = icmp eq i64 %1246, 13
  br i1 %1247, label %1270, label %1248

1248:                                             ; preds = %1243
  %1249 = load i32, ptr %285, align 4, !tbaa !9
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1251 = call i32 @s2n_print_stacktrace(ptr noundef %1250) #13
  %1252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1253 = trunc nuw i8 %1252 to i1
  br i1 %1253, label %1254, label %1258

1254:                                             ; preds = %1248
  %1255 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1256 = call i32 @fileno(ptr noundef %1255) #13
  %1257 = call i32 @isatty(i32 noundef %1256) #13
  %.not483 = icmp eq i32 %1257, 0
  br i1 %.not483, label %1258, label %1259

1258:                                             ; preds = %1254, %1248
  br label %1259

1259:                                             ; preds = %1254, %1258
  %.str.5.sink1136 = phi ptr [ @.str.5, %1258 ], [ @.str.2, %1254 ]
  store i32 %1249, ptr %285, align 4, !tbaa !9
  %1260 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1261 = load i32, ptr @test_count, align 4, !tbaa !9
  %1262 = load i32, ptr %231, align 4, !tbaa !9
  %1263 = call ptr @s2n_strerror(i32 noundef %1262, ptr noundef nonnull @.str.4) #13
  %1264 = load i32, ptr %231, align 4, !tbaa !9
  %1265 = call ptr @s2n_strerror_debug(i32 noundef %1264, ptr noundef nonnull @.str.4) #13
  %1266 = load i32, ptr %285, align 4, !tbaa !9
  %1267 = call ptr @strerror(i32 noundef %1266) #13
  %1268 = load i32, ptr %285, align 4, !tbaa !9
  %1269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1260, ptr noundef nonnull %.str.5.sink1136, i32 noundef %1261, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %1263, ptr noundef %1265, ptr noundef %1267, i32 noundef %1268) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1270:                                             ; preds = %1243
  %1271 = add nsw i32 %1244, 2
  store i32 %1271, ptr @test_count, align 4, !tbaa !9
  %1272 = call i32 @s2n_hash_copy(ptr noundef nonnull %10, ptr noundef nonnull %9) #13
  %1273 = icmp eq i32 %1272, -1
  br i1 %1273, label %1274, label %1296

1274:                                             ; preds = %1270
  %1275 = load i32, ptr %285, align 4, !tbaa !9
  %1276 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1277 = call i32 @s2n_print_stacktrace(ptr noundef %1276) #13
  %1278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1279 = trunc nuw i8 %1278 to i1
  br i1 %1279, label %1280, label %1284

1280:                                             ; preds = %1274
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1282 = call i32 @fileno(ptr noundef %1281) #13
  %1283 = call i32 @isatty(i32 noundef %1282) #13
  %.not690 = icmp eq i32 %1283, 0
  br i1 %.not690, label %1284, label %1285

1284:                                             ; preds = %1280, %1274
  br label %1285

1285:                                             ; preds = %1280, %1284
  %.str.5.sink1145 = phi ptr [ @.str.5, %1284 ], [ @.str.2, %1280 ]
  store i32 %1275, ptr %285, align 4, !tbaa !9
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1287 = load i32, ptr @test_count, align 4, !tbaa !9
  %1288 = load i32, ptr %231, align 4, !tbaa !9
  %1289 = call ptr @s2n_strerror(i32 noundef %1288, ptr noundef nonnull @.str.4) #13
  %1290 = load i32, ptr %231, align 4, !tbaa !9
  %1291 = call ptr @s2n_strerror_debug(i32 noundef %1290, ptr noundef nonnull @.str.4) #13
  %1292 = load i32, ptr %285, align 4, !tbaa !9
  %1293 = call ptr @strerror(i32 noundef %1292) #13
  %1294 = load i32, ptr %285, align 4, !tbaa !9
  %1295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1286, ptr noundef nonnull %.str.5.sink1145, i32 noundef %1287, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 106, ptr noundef %1289, ptr noundef %1291, ptr noundef %1293, i32 noundef %1294) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1296:                                             ; preds = %1270
  %1297 = load i32, ptr @test_count, align 4, !tbaa !9
  %1298 = add nsw i32 %1297, 1
  store i32 %1298, ptr @test_count, align 4, !tbaa !9
  %1299 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not484 = icmp eq i32 %1299, 0
  br i1 %.not484, label %1300, label %1322

1300:                                             ; preds = %1296
  %1301 = load i32, ptr %285, align 4, !tbaa !9
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1303 = call i32 @s2n_print_stacktrace(ptr noundef %1302) #13
  %1304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1305 = trunc nuw i8 %1304 to i1
  br i1 %1305, label %1306, label %1310

1306:                                             ; preds = %1300
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1308 = call i32 @fileno(ptr noundef %1307) #13
  %1309 = call i32 @isatty(i32 noundef %1308) #13
  %.not485 = icmp eq i32 %1309, 0
  br i1 %.not485, label %1310, label %1311

1310:                                             ; preds = %1306, %1300
  br label %1311

1311:                                             ; preds = %1306, %1310
  %.str.5.sink1154 = phi ptr [ @.str.5, %1310 ], [ @.str.2, %1306 ]
  store i32 %1301, ptr %285, align 4, !tbaa !9
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1313 = load i32, ptr @test_count, align 4, !tbaa !9
  %1314 = load i32, ptr %231, align 4, !tbaa !9
  %1315 = call ptr @s2n_strerror(i32 noundef %1314, ptr noundef nonnull @.str.4) #13
  %1316 = load i32, ptr %231, align 4, !tbaa !9
  %1317 = call ptr @s2n_strerror_debug(i32 noundef %1316, ptr noundef nonnull @.str.4) #13
  %1318 = load i32, ptr %285, align 4, !tbaa !9
  %1319 = call ptr @strerror(i32 noundef %1318) #13
  %1320 = load i32, ptr %285, align 4, !tbaa !9
  %1321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1312, ptr noundef nonnull %.str.5.sink1154, i32 noundef %1313, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %1315, ptr noundef %1317, ptr noundef %1319, i32 noundef %1320) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1322:                                             ; preds = %1296
  %1323 = load i32, ptr @test_count, align 4, !tbaa !9
  %1324 = add nsw i32 %1323, 1
  store i32 %1324, ptr @test_count, align 4, !tbaa !9
  %1325 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1327, label %1349

1327:                                             ; preds = %1322
  %1328 = load i32, ptr %285, align 4, !tbaa !9
  %1329 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1330 = call i32 @s2n_print_stacktrace(ptr noundef %1329) #13
  %1331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1332 = trunc nuw i8 %1331 to i1
  br i1 %1332, label %1333, label %1337

1333:                                             ; preds = %1327
  %1334 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1335 = call i32 @fileno(ptr noundef %1334) #13
  %1336 = call i32 @isatty(i32 noundef %1335) #13
  %.not689 = icmp eq i32 %1336, 0
  br i1 %.not689, label %1337, label %1338

1337:                                             ; preds = %1333, %1327
  br label %1338

1338:                                             ; preds = %1333, %1337
  %.str.5.sink1163 = phi ptr [ @.str.5, %1337 ], [ @.str.2, %1333 ]
  store i32 %1328, ptr %285, align 4, !tbaa !9
  %1339 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1340 = load i32, ptr @test_count, align 4, !tbaa !9
  %1341 = load i32, ptr %231, align 4, !tbaa !9
  %1342 = call ptr @s2n_strerror(i32 noundef %1341, ptr noundef nonnull @.str.4) #13
  %1343 = load i32, ptr %231, align 4, !tbaa !9
  %1344 = call ptr @s2n_strerror_debug(i32 noundef %1343, ptr noundef nonnull @.str.4) #13
  %1345 = load i32, ptr %285, align 4, !tbaa !9
  %1346 = call ptr @strerror(i32 noundef %1345) #13
  %1347 = load i32, ptr %285, align 4, !tbaa !9
  %1348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1339, ptr noundef nonnull %.str.5.sink1163, i32 noundef %1340, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %1342, ptr noundef %1344, ptr noundef %1346, i32 noundef %1347) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1349:                                             ; preds = %1322
  %1350 = load i32, ptr @test_count, align 4, !tbaa !9
  %1351 = add nsw i32 %1350, 1
  store i32 %1351, ptr @test_count, align 4, !tbaa !9
  %1352 = load i64, ptr %12, align 8, !tbaa !5
  %1353 = icmp eq i64 %1352, 13
  br i1 %1353, label %1376, label %1354

1354:                                             ; preds = %1349
  %1355 = load i32, ptr %285, align 4, !tbaa !9
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1357 = call i32 @s2n_print_stacktrace(ptr noundef %1356) #13
  %1358 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1359 = trunc nuw i8 %1358 to i1
  br i1 %1359, label %1360, label %1364

1360:                                             ; preds = %1354
  %1361 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1362 = call i32 @fileno(ptr noundef %1361) #13
  %1363 = call i32 @isatty(i32 noundef %1362) #13
  %.not486 = icmp eq i32 %1363, 0
  br i1 %.not486, label %1364, label %1365

1364:                                             ; preds = %1360, %1354
  br label %1365

1365:                                             ; preds = %1360, %1364
  %.str.5.sink1172 = phi ptr [ @.str.5, %1364 ], [ @.str.2, %1360 ]
  store i32 %1355, ptr %285, align 4, !tbaa !9
  %1366 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1367 = load i32, ptr @test_count, align 4, !tbaa !9
  %1368 = load i32, ptr %231, align 4, !tbaa !9
  %1369 = call ptr @s2n_strerror(i32 noundef %1368, ptr noundef nonnull @.str.4) #13
  %1370 = load i32, ptr %231, align 4, !tbaa !9
  %1371 = call ptr @s2n_strerror_debug(i32 noundef %1370, ptr noundef nonnull @.str.4) #13
  %1372 = load i32, ptr %285, align 4, !tbaa !9
  %1373 = call ptr @strerror(i32 noundef %1372) #13
  %1374 = load i32, ptr %285, align 4, !tbaa !9
  %1375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1366, ptr noundef nonnull %.str.5.sink1172, i32 noundef %1367, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 109, ptr noundef %1369, ptr noundef %1371, ptr noundef %1373, i32 noundef %1374) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1376:                                             ; preds = %1349
  %1377 = add nsw i32 %1350, 2
  store i32 %1377, ptr @test_count, align 4, !tbaa !9
  %1378 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not487 = icmp eq i32 %1378, 0
  br i1 %.not487, label %1379, label %1401

1379:                                             ; preds = %1376
  %1380 = load i32, ptr %285, align 4, !tbaa !9
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1382 = call i32 @s2n_print_stacktrace(ptr noundef %1381) #13
  %1383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1384 = trunc nuw i8 %1383 to i1
  br i1 %1384, label %1385, label %1389

1385:                                             ; preds = %1379
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1387 = call i32 @fileno(ptr noundef %1386) #13
  %1388 = call i32 @isatty(i32 noundef %1387) #13
  %.not488 = icmp eq i32 %1388, 0
  br i1 %.not488, label %1389, label %1390

1389:                                             ; preds = %1385, %1379
  br label %1390

1390:                                             ; preds = %1385, %1389
  %.str.5.sink1181 = phi ptr [ @.str.5, %1389 ], [ @.str.2, %1385 ]
  store i32 %1380, ptr %285, align 4, !tbaa !9
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1392 = load i32, ptr @test_count, align 4, !tbaa !9
  %1393 = load i32, ptr %231, align 4, !tbaa !9
  %1394 = call ptr @s2n_strerror(i32 noundef %1393, ptr noundef nonnull @.str.4) #13
  %1395 = load i32, ptr %231, align 4, !tbaa !9
  %1396 = call ptr @s2n_strerror_debug(i32 noundef %1395, ptr noundef nonnull @.str.4) #13
  %1397 = load i32, ptr %285, align 4, !tbaa !9
  %1398 = call ptr @strerror(i32 noundef %1397) #13
  %1399 = load i32, ptr %285, align 4, !tbaa !9
  %1400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1391, ptr noundef nonnull %.str.5.sink1181, i32 noundef %1392, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %1394, ptr noundef %1396, ptr noundef %1398, i32 noundef %1399) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1401:                                             ; preds = %1376
  %1402 = load i32, ptr @test_count, align 4, !tbaa !9
  %1403 = add nsw i32 %1402, 1
  store i32 %1403, ptr @test_count, align 4, !tbaa !9
  %1404 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %1405 = icmp eq i32 %1404, -1
  br i1 %1405, label %1406, label %1428

1406:                                             ; preds = %1401
  %1407 = load i32, ptr %285, align 4, !tbaa !9
  %1408 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1409 = call i32 @s2n_print_stacktrace(ptr noundef %1408) #13
  %1410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %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 !11
  %1414 = call i32 @fileno(ptr noundef %1413) #13
  %1415 = call i32 @isatty(i32 noundef %1414) #13
  %.not688 = icmp eq i32 %1415, 0
  br i1 %.not688, label %1416, label %1417

1416:                                             ; preds = %1412, %1406
  br label %1417

1417:                                             ; preds = %1412, %1416
  %.str.5.sink1190 = phi ptr [ @.str.5, %1416 ], [ @.str.2, %1412 ]
  store i32 %1407, ptr %285, align 4, !tbaa !9
  %1418 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1419 = load i32, ptr @test_count, align 4, !tbaa !9
  %1420 = load i32, ptr %231, align 4, !tbaa !9
  %1421 = call ptr @s2n_strerror(i32 noundef %1420, ptr noundef nonnull @.str.4) #13
  %1422 = load i32, ptr %231, align 4, !tbaa !9
  %1423 = call ptr @s2n_strerror_debug(i32 noundef %1422, ptr noundef nonnull @.str.4) #13
  %1424 = load i32, ptr %285, align 4, !tbaa !9
  %1425 = call ptr @strerror(i32 noundef %1424) #13
  %1426 = load i32, ptr %285, align 4, !tbaa !9
  %1427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1418, ptr noundef nonnull %.str.5.sink1190, i32 noundef %1419, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 112, ptr noundef %1421, ptr noundef %1423, ptr noundef %1425, i32 noundef %1426) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1428:                                             ; preds = %1401
  %1429 = load i32, ptr @test_count, align 4, !tbaa !9
  %1430 = add nsw i32 %1429, 1
  store i32 %1430, ptr @test_count, align 4, !tbaa !9
  %1431 = load i64, ptr %12, align 8, !tbaa !5
  %1432 = icmp eq i64 %1431, 13
  br i1 %1432, label %1455, label %1433

1433:                                             ; preds = %1428
  %1434 = load i32, ptr %285, align 4, !tbaa !9
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1436 = call i32 @s2n_print_stacktrace(ptr noundef %1435) #13
  %1437 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1438 = trunc nuw i8 %1437 to i1
  br i1 %1438, label %1439, label %1443

1439:                                             ; preds = %1433
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1441 = call i32 @fileno(ptr noundef %1440) #13
  %1442 = call i32 @isatty(i32 noundef %1441) #13
  %.not489 = icmp eq i32 %1442, 0
  br i1 %.not489, label %1443, label %1444

1443:                                             ; preds = %1439, %1433
  br label %1444

1444:                                             ; preds = %1439, %1443
  %.str.5.sink1199 = phi ptr [ @.str.5, %1443 ], [ @.str.2, %1439 ]
  store i32 %1434, ptr %285, align 4, !tbaa !9
  %1445 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1446 = load i32, ptr @test_count, align 4, !tbaa !9
  %1447 = load i32, ptr %231, align 4, !tbaa !9
  %1448 = call ptr @s2n_strerror(i32 noundef %1447, ptr noundef nonnull @.str.4) #13
  %1449 = load i32, ptr %231, align 4, !tbaa !9
  %1450 = call ptr @s2n_strerror_debug(i32 noundef %1449, ptr noundef nonnull @.str.4) #13
  %1451 = load i32, ptr %285, align 4, !tbaa !9
  %1452 = call ptr @strerror(i32 noundef %1451) #13
  %1453 = load i32, ptr %285, align 4, !tbaa !9
  %1454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1445, ptr noundef nonnull %.str.5.sink1199, i32 noundef %1446, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %1448, ptr noundef %1450, ptr noundef %1452, i32 noundef %1453) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1455:                                             ; preds = %1428
  %1456 = add nsw i32 %1429, 2
  store i32 %1456, ptr @test_count, align 4, !tbaa !9
  %1457 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 20) #13
  %1458 = icmp eq i32 %1457, -1
  br i1 %1458, label %1459, label %1481

1459:                                             ; preds = %1455
  %1460 = load i32, ptr %285, align 4, !tbaa !9
  %1461 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1462 = call i32 @s2n_print_stacktrace(ptr noundef %1461) #13
  %1463 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1464 = trunc nuw i8 %1463 to i1
  br i1 %1464, label %1465, label %1469

1465:                                             ; preds = %1459
  %1466 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1467 = call i32 @fileno(ptr noundef %1466) #13
  %1468 = call i32 @isatty(i32 noundef %1467) #13
  %.not687 = icmp eq i32 %1468, 0
  br i1 %.not687, label %1469, label %1470

1469:                                             ; preds = %1465, %1459
  br label %1470

1470:                                             ; preds = %1465, %1469
  %.str.5.sink1208 = phi ptr [ @.str.5, %1469 ], [ @.str.2, %1465 ]
  store i32 %1460, ptr %285, align 4, !tbaa !9
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1472 = load i32, ptr @test_count, align 4, !tbaa !9
  %1473 = load i32, ptr %231, align 4, !tbaa !9
  %1474 = call ptr @s2n_strerror(i32 noundef %1473, ptr noundef nonnull @.str.4) #13
  %1475 = load i32, ptr %231, align 4, !tbaa !9
  %1476 = call ptr @s2n_strerror_debug(i32 noundef %1475, ptr noundef nonnull @.str.4) #13
  %1477 = load i32, ptr %285, align 4, !tbaa !9
  %1478 = call ptr @strerror(i32 noundef %1477) #13
  %1479 = load i32, ptr %285, align 4, !tbaa !9
  %1480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1471, ptr noundef nonnull %.str.5.sink1208, i32 noundef %1472, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %1474, ptr noundef %1476, ptr noundef %1478, i32 noundef %1479) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1481:                                             ; preds = %1455
  %1482 = load i32, ptr @test_count, align 4, !tbaa !9
  %1483 = add nsw i32 %1482, 1
  store i32 %1483, ptr @test_count, align 4, !tbaa !9
  %1484 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not490 = icmp eq i32 %1484, 0
  br i1 %.not490, label %1507, label %1485

1485:                                             ; preds = %1481
  %1486 = load i32, ptr %285, align 4, !tbaa !9
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1488 = call i32 @s2n_print_stacktrace(ptr noundef %1487) #13
  %1489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1490 = trunc nuw i8 %1489 to i1
  br i1 %1490, label %1491, label %1495

1491:                                             ; preds = %1485
  %1492 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1493 = call i32 @fileno(ptr noundef %1492) #13
  %1494 = call i32 @isatty(i32 noundef %1493) #13
  %.not686 = icmp eq i32 %1494, 0
  br i1 %.not686, label %1495, label %1496

1495:                                             ; preds = %1491, %1485
  br label %1496

1496:                                             ; preds = %1491, %1495
  %.str.5.sink1217 = phi ptr [ @.str.5, %1495 ], [ @.str.2, %1491 ]
  store i32 %1486, ptr %285, align 4, !tbaa !9
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1498 = load i32, ptr @test_count, align 4, !tbaa !9
  %1499 = load i32, ptr %231, align 4, !tbaa !9
  %1500 = call ptr @s2n_strerror(i32 noundef %1499, ptr noundef nonnull @.str.4) #13
  %1501 = load i32, ptr %231, align 4, !tbaa !9
  %1502 = call ptr @s2n_strerror_debug(i32 noundef %1501, ptr noundef nonnull @.str.4) #13
  %1503 = load i32, ptr %285, align 4, !tbaa !9
  %1504 = call ptr @strerror(i32 noundef %1503) #13
  %1505 = load i32, ptr %285, align 4, !tbaa !9
  %1506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1497, ptr noundef nonnull %.str.5.sink1217, i32 noundef %1498, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %1500, ptr noundef %1502, ptr noundef %1504, i32 noundef %1505) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1507:                                             ; preds = %1481
  %1508 = load i32, ptr @test_count, align 4, !tbaa !9
  %1509 = add nsw i32 %1508, 1
  store i32 %1509, ptr @test_count, align 4, !tbaa !9
  %1510 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %1511 = icmp eq i32 %1510, -1
  br i1 %1511, label %1534, label %1512

1512:                                             ; preds = %1507
  %1513 = load i32, ptr %285, align 4, !tbaa !9
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1515 = call i32 @s2n_print_stacktrace(ptr noundef %1514) #13
  %1516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1517 = trunc nuw i8 %1516 to i1
  br i1 %1517, label %1518, label %1522

1518:                                             ; preds = %1512
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1520 = call i32 @fileno(ptr noundef %1519) #13
  %1521 = call i32 @isatty(i32 noundef %1520) #13
  %.not491 = icmp eq i32 %1521, 0
  br i1 %.not491, label %1522, label %1523

1522:                                             ; preds = %1518, %1512
  br label %1523

1523:                                             ; preds = %1518, %1522
  %.str.5.sink1226 = phi ptr [ @.str.5, %1522 ], [ @.str.2, %1518 ]
  store i32 %1513, ptr %285, align 4, !tbaa !9
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1525 = load i32, ptr @test_count, align 4, !tbaa !9
  %1526 = load i32, ptr %231, align 4, !tbaa !9
  %1527 = call ptr @s2n_strerror(i32 noundef %1526, ptr noundef nonnull @.str.4) #13
  %1528 = load i32, ptr %231, align 4, !tbaa !9
  %1529 = call ptr @s2n_strerror_debug(i32 noundef %1528, ptr noundef nonnull @.str.4) #13
  %1530 = load i32, ptr %285, align 4, !tbaa !9
  %1531 = call ptr @strerror(i32 noundef %1530) #13
  %1532 = load i32, ptr %285, align 4, !tbaa !9
  %1533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1524, ptr noundef nonnull %.str.5.sink1226, i32 noundef %1525, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1527, ptr noundef %1529, ptr noundef %1531, i32 noundef %1532) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1534:                                             ; preds = %1507
  %1535 = load i32, ptr @test_count, align 4, !tbaa !9
  %1536 = add nsw i32 %1535, 1
  store i32 %1536, ptr @test_count, align 4, !tbaa !9
  %1537 = load i32, ptr %231, align 4, !tbaa !9
  %1538 = icmp eq i32 %1537, 0
  br i1 %1538, label %1539, label %1561

1539:                                             ; preds = %1534
  %1540 = load i32, ptr %285, align 4, !tbaa !9
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1542 = call i32 @s2n_print_stacktrace(ptr noundef %1541) #13
  %1543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1544 = trunc nuw i8 %1543 to i1
  br i1 %1544, label %1545, label %1549

1545:                                             ; preds = %1539
  %1546 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1547 = call i32 @fileno(ptr noundef %1546) #13
  %1548 = call i32 @isatty(i32 noundef %1547) #13
  %.not685 = icmp eq i32 %1548, 0
  br i1 %.not685, label %1549, label %1550

1549:                                             ; preds = %1545, %1539
  br label %1550

1550:                                             ; preds = %1545, %1549
  %.str.5.sink1235 = phi ptr [ @.str.5, %1549 ], [ @.str.2, %1545 ]
  store i32 %1540, ptr %285, align 4, !tbaa !9
  %1551 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1552 = load i32, ptr @test_count, align 4, !tbaa !9
  %1553 = load i32, ptr %231, align 4, !tbaa !9
  %1554 = call ptr @s2n_strerror(i32 noundef %1553, ptr noundef nonnull @.str.4) #13
  %1555 = load i32, ptr %231, align 4, !tbaa !9
  %1556 = call ptr @s2n_strerror_debug(i32 noundef %1555, ptr noundef nonnull @.str.4) #13
  %1557 = load i32, ptr %285, align 4, !tbaa !9
  %1558 = call ptr @strerror(i32 noundef %1557) #13
  %1559 = load i32, ptr %285, align 4, !tbaa !9
  %1560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1551, ptr noundef nonnull %.str.5.sink1235, i32 noundef %1552, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1554, ptr noundef %1556, ptr noundef %1558, i32 noundef %1559) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1561:                                             ; preds = %1534
  %1562 = add nsw i32 %1535, 2
  store i32 %1562, ptr @test_count, align 4, !tbaa !9
  %1563 = call ptr @s2n_strerror_debug(i32 noundef %1537, ptr noundef nonnull @.str.4) #13
  %1564 = icmp eq ptr %1563, null
  br i1 %1564, label %1565, label %1587

1565:                                             ; preds = %1561
  %1566 = load i32, ptr %285, align 4, !tbaa !9
  %1567 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1568 = call i32 @s2n_print_stacktrace(ptr noundef %1567) #13
  %1569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %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 !11
  %1573 = call i32 @fileno(ptr noundef %1572) #13
  %1574 = call i32 @isatty(i32 noundef %1573) #13
  %.not684 = icmp eq i32 %1574, 0
  br i1 %.not684, label %1575, label %1576

1575:                                             ; preds = %1571, %1565
  br label %1576

1576:                                             ; preds = %1571, %1575
  %.str.5.sink1244 = phi ptr [ @.str.5, %1575 ], [ @.str.2, %1571 ]
  store i32 %1566, ptr %285, align 4, !tbaa !9
  %1577 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1578 = load i32, ptr @test_count, align 4, !tbaa !9
  %1579 = load i32, ptr %231, align 4, !tbaa !9
  %1580 = call ptr @s2n_strerror(i32 noundef %1579, ptr noundef nonnull @.str.4) #13
  %1581 = load i32, ptr %231, align 4, !tbaa !9
  %1582 = call ptr @s2n_strerror_debug(i32 noundef %1581, ptr noundef nonnull @.str.4) #13
  %1583 = load i32, ptr %285, align 4, !tbaa !9
  %1584 = call ptr @strerror(i32 noundef %1583) #13
  %1585 = load i32, ptr %285, align 4, !tbaa !9
  %1586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1577, ptr noundef nonnull %.str.5.sink1244, i32 noundef %1578, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1580, ptr noundef %1582, ptr noundef %1584, i32 noundef %1585) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1587:                                             ; preds = %1561
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %1588 = load i32, ptr @test_count, align 4, !tbaa !9
  %1589 = add nsw i32 %1588, 1
  store i32 %1589, ptr @test_count, align 4, !tbaa !9
  %1590 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %1591 = icmp eq i32 %1590, -1
  br i1 %1591, label %1597, label %.preheader725.preheader

.preheader725.preheader:                          ; preds = %1587
  %1592 = load i32, ptr @test_count, align 4, !tbaa !9
  %1593 = add nsw i32 %1592, 1
  store i32 %1593, ptr @test_count, align 4, !tbaa !9
  %1594 = load i8, ptr %3, align 16, !tbaa !17
  %1595 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1594) #13
  %1596 = call zeroext i1 @s2n_result_is_ok(i32 %1595)
  br i1 %1596, label %.preheader725.1, label %1737

1597:                                             ; preds = %1587
  %1598 = load i32, ptr %285, align 4, !tbaa !9
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1600 = call i32 @s2n_print_stacktrace(ptr noundef %1599) #13
  %1601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %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 !11
  %1605 = call i32 @fileno(ptr noundef %1604) #13
  %1606 = call i32 @isatty(i32 noundef %1605) #13
  %.not683 = icmp eq i32 %1606, 0
  br i1 %.not683, label %1607, label %1608

1607:                                             ; preds = %1603, %1597
  br label %1608

1608:                                             ; preds = %1603, %1607
  %.str.5.sink1253 = phi ptr [ @.str.5, %1607 ], [ @.str.2, %1603 ]
  store i32 %1598, ptr %285, align 4, !tbaa !9
  %1609 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1610 = load i32, ptr @test_count, align 4, !tbaa !9
  %1611 = load i32, ptr %231, align 4, !tbaa !9
  %1612 = call ptr @s2n_strerror(i32 noundef %1611, ptr noundef nonnull @.str.4) #13
  %1613 = load i32, ptr %231, align 4, !tbaa !9
  %1614 = call ptr @s2n_strerror_debug(i32 noundef %1613, ptr noundef nonnull @.str.4) #13
  %1615 = load i32, ptr %285, align 4, !tbaa !9
  %1616 = call ptr @strerror(i32 noundef %1615) #13
  %1617 = load i32, ptr %285, align 4, !tbaa !9
  %1618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1609, ptr noundef nonnull %.str.5.sink1253, i32 noundef %1610, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1612, ptr noundef %1614, ptr noundef %1616, i32 noundef %1617) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader725.1:                                  ; preds = %.preheader725.preheader
  %1619 = load i32, ptr @test_count, align 4, !tbaa !9
  %1620 = add nsw i32 %1619, 1
  store i32 %1620, ptr @test_count, align 4, !tbaa !9
  %1621 = getelementptr inbounds i8, ptr %3, i64 1
  %1622 = load i8, ptr %1621, align 1, !tbaa !17
  %1623 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1622) #13
  %1624 = call zeroext i1 @s2n_result_is_ok(i32 %1623)
  br i1 %1624, label %.preheader725.2, label %1737

.preheader725.2:                                  ; preds = %.preheader725.1
  %1625 = load i32, ptr @test_count, align 4, !tbaa !9
  %1626 = add nsw i32 %1625, 1
  store i32 %1626, ptr @test_count, align 4, !tbaa !9
  %1627 = getelementptr inbounds i8, ptr %3, i64 2
  %1628 = load i8, ptr %1627, align 2, !tbaa !17
  %1629 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1628) #13
  %1630 = call zeroext i1 @s2n_result_is_ok(i32 %1629)
  br i1 %1630, label %.preheader725.3, label %1737

.preheader725.3:                                  ; preds = %.preheader725.2
  %1631 = load i32, ptr @test_count, align 4, !tbaa !9
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr @test_count, align 4, !tbaa !9
  %1633 = getelementptr inbounds i8, ptr %3, i64 3
  %1634 = load i8, ptr %1633, align 1, !tbaa !17
  %1635 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1634) #13
  %1636 = call zeroext i1 @s2n_result_is_ok(i32 %1635)
  br i1 %1636, label %.preheader725.4, label %1737

.preheader725.4:                                  ; preds = %.preheader725.3
  %1637 = load i32, ptr @test_count, align 4, !tbaa !9
  %1638 = add nsw i32 %1637, 1
  store i32 %1638, ptr @test_count, align 4, !tbaa !9
  %1639 = getelementptr inbounds i8, ptr %3, i64 4
  %1640 = load i8, ptr %1639, align 4, !tbaa !17
  %1641 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1640) #13
  %1642 = call zeroext i1 @s2n_result_is_ok(i32 %1641)
  br i1 %1642, label %.preheader725.5, label %1737

.preheader725.5:                                  ; preds = %.preheader725.4
  %1643 = load i32, ptr @test_count, align 4, !tbaa !9
  %1644 = add nsw i32 %1643, 1
  store i32 %1644, ptr @test_count, align 4, !tbaa !9
  %1645 = getelementptr inbounds i8, ptr %3, i64 5
  %1646 = load i8, ptr %1645, align 1, !tbaa !17
  %1647 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1646) #13
  %1648 = call zeroext i1 @s2n_result_is_ok(i32 %1647)
  br i1 %1648, label %.preheader725.6, label %1737

.preheader725.6:                                  ; preds = %.preheader725.5
  %1649 = load i32, ptr @test_count, align 4, !tbaa !9
  %1650 = add nsw i32 %1649, 1
  store i32 %1650, ptr @test_count, align 4, !tbaa !9
  %1651 = getelementptr inbounds i8, ptr %3, i64 6
  %1652 = load i8, ptr %1651, align 2, !tbaa !17
  %1653 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1652) #13
  %1654 = call zeroext i1 @s2n_result_is_ok(i32 %1653)
  br i1 %1654, label %.preheader725.7, label %1737

.preheader725.7:                                  ; preds = %.preheader725.6
  %1655 = load i32, ptr @test_count, align 4, !tbaa !9
  %1656 = add nsw i32 %1655, 1
  store i32 %1656, ptr @test_count, align 4, !tbaa !9
  %1657 = getelementptr inbounds i8, ptr %3, i64 7
  %1658 = load i8, ptr %1657, align 1, !tbaa !17
  %1659 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1658) #13
  %1660 = call zeroext i1 @s2n_result_is_ok(i32 %1659)
  br i1 %1660, label %.preheader725.8, label %1737

.preheader725.8:                                  ; preds = %.preheader725.7
  %1661 = load i32, ptr @test_count, align 4, !tbaa !9
  %1662 = add nsw i32 %1661, 1
  store i32 %1662, ptr @test_count, align 4, !tbaa !9
  %1663 = getelementptr inbounds i8, ptr %3, i64 8
  %1664 = load i8, ptr %1663, align 8, !tbaa !17
  %1665 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1664) #13
  %1666 = call zeroext i1 @s2n_result_is_ok(i32 %1665)
  br i1 %1666, label %.preheader725.9, label %1737

.preheader725.9:                                  ; preds = %.preheader725.8
  %1667 = load i32, ptr @test_count, align 4, !tbaa !9
  %1668 = add nsw i32 %1667, 1
  store i32 %1668, ptr @test_count, align 4, !tbaa !9
  %1669 = getelementptr inbounds i8, ptr %3, i64 9
  %1670 = load i8, ptr %1669, align 1, !tbaa !17
  %1671 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1670) #13
  %1672 = call zeroext i1 @s2n_result_is_ok(i32 %1671)
  br i1 %1672, label %.preheader725.10, label %1737

.preheader725.10:                                 ; preds = %.preheader725.9
  %1673 = load i32, ptr @test_count, align 4, !tbaa !9
  %1674 = add nsw i32 %1673, 1
  store i32 %1674, ptr @test_count, align 4, !tbaa !9
  %1675 = getelementptr inbounds i8, ptr %3, i64 10
  %1676 = load i8, ptr %1675, align 2, !tbaa !17
  %1677 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1676) #13
  %1678 = call zeroext i1 @s2n_result_is_ok(i32 %1677)
  br i1 %1678, label %.preheader725.11, label %1737

.preheader725.11:                                 ; preds = %.preheader725.10
  %1679 = load i32, ptr @test_count, align 4, !tbaa !9
  %1680 = add nsw i32 %1679, 1
  store i32 %1680, ptr @test_count, align 4, !tbaa !9
  %1681 = getelementptr inbounds i8, ptr %3, i64 11
  %1682 = load i8, ptr %1681, align 1, !tbaa !17
  %1683 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1682) #13
  %1684 = call zeroext i1 @s2n_result_is_ok(i32 %1683)
  br i1 %1684, label %.preheader725.12, label %1737

.preheader725.12:                                 ; preds = %.preheader725.11
  %1685 = load i32, ptr @test_count, align 4, !tbaa !9
  %1686 = add nsw i32 %1685, 1
  store i32 %1686, ptr @test_count, align 4, !tbaa !9
  %1687 = getelementptr inbounds i8, ptr %3, i64 12
  %1688 = load i8, ptr %1687, align 4, !tbaa !17
  %1689 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1688) #13
  %1690 = call zeroext i1 @s2n_result_is_ok(i32 %1689)
  br i1 %1690, label %.preheader725.13, label %1737

.preheader725.13:                                 ; preds = %.preheader725.12
  %1691 = load i32, ptr @test_count, align 4, !tbaa !9
  %1692 = add nsw i32 %1691, 1
  store i32 %1692, ptr @test_count, align 4, !tbaa !9
  %1693 = getelementptr inbounds i8, ptr %3, i64 13
  %1694 = load i8, ptr %1693, align 1, !tbaa !17
  %1695 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1694) #13
  %1696 = call zeroext i1 @s2n_result_is_ok(i32 %1695)
  br i1 %1696, label %.preheader725.14, label %1737

.preheader725.14:                                 ; preds = %.preheader725.13
  %1697 = load i32, ptr @test_count, align 4, !tbaa !9
  %1698 = add nsw i32 %1697, 1
  store i32 %1698, ptr @test_count, align 4, !tbaa !9
  %1699 = getelementptr inbounds i8, ptr %3, i64 14
  %1700 = load i8, ptr %1699, align 2, !tbaa !17
  %1701 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1700) #13
  %1702 = call zeroext i1 @s2n_result_is_ok(i32 %1701)
  br i1 %1702, label %.preheader725.15, label %1737

.preheader725.15:                                 ; preds = %.preheader725.14
  %1703 = load i32, ptr @test_count, align 4, !tbaa !9
  %1704 = add nsw i32 %1703, 1
  store i32 %1704, ptr @test_count, align 4, !tbaa !9
  %1705 = getelementptr inbounds i8, ptr %3, i64 15
  %1706 = load i8, ptr %1705, align 1, !tbaa !17
  %1707 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1706) #13
  %1708 = call zeroext i1 @s2n_result_is_ok(i32 %1707)
  br i1 %1708, label %.preheader725.16, label %1737

.preheader725.16:                                 ; preds = %.preheader725.15
  %1709 = load i32, ptr @test_count, align 4, !tbaa !9
  %1710 = add nsw i32 %1709, 1
  store i32 %1710, ptr @test_count, align 4, !tbaa !9
  %1711 = getelementptr inbounds i8, ptr %3, i64 16
  %1712 = load i8, ptr %1711, align 16, !tbaa !17
  %1713 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1712) #13
  %1714 = call zeroext i1 @s2n_result_is_ok(i32 %1713)
  br i1 %1714, label %.preheader725.17, label %1737

.preheader725.17:                                 ; preds = %.preheader725.16
  %1715 = load i32, ptr @test_count, align 4, !tbaa !9
  %1716 = add nsw i32 %1715, 1
  store i32 %1716, ptr @test_count, align 4, !tbaa !9
  %1717 = getelementptr inbounds i8, ptr %3, i64 17
  %1718 = load i8, ptr %1717, align 1, !tbaa !17
  %1719 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1718) #13
  %1720 = call zeroext i1 @s2n_result_is_ok(i32 %1719)
  br i1 %1720, label %.preheader725.18, label %1737

.preheader725.18:                                 ; preds = %.preheader725.17
  %1721 = load i32, ptr @test_count, align 4, !tbaa !9
  %1722 = add nsw i32 %1721, 1
  store i32 %1722, ptr @test_count, align 4, !tbaa !9
  %1723 = getelementptr inbounds i8, ptr %3, i64 18
  %1724 = load i8, ptr %1723, align 2, !tbaa !17
  %1725 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1724) #13
  %1726 = call zeroext i1 @s2n_result_is_ok(i32 %1725)
  br i1 %1726, label %.preheader725.19, label %1737

.preheader725.19:                                 ; preds = %.preheader725.18
  %1727 = load i32, ptr @test_count, align 4, !tbaa !9
  %1728 = add nsw i32 %1727, 1
  store i32 %1728, ptr @test_count, align 4, !tbaa !9
  %1729 = getelementptr inbounds i8, ptr %3, i64 19
  %1730 = load i8, ptr %1729, align 1, !tbaa !17
  %1731 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1730) #13
  %1732 = call zeroext i1 @s2n_result_is_ok(i32 %1731)
  br i1 %1732, label %1733, label %1737

1733:                                             ; preds = %.preheader725.19
  %1734 = load i32, ptr @test_count, align 4, !tbaa !9
  %1735 = add nsw i32 %1734, 1
  store i32 %1735, ptr @test_count, align 4, !tbaa !9
  %bcmp492 = call i32 @bcmp(ptr noundef nonnull dereferenceable(40) %4, ptr noundef nonnull dereferenceable(40) @.str.34, i64 40)
  %1736 = icmp eq i32 %bcmp492, 0
  br i1 %1736, label %1781, label %1759

1737:                                             ; preds = %.preheader725.19, %.preheader725.18, %.preheader725.17, %.preheader725.16, %.preheader725.15, %.preheader725.14, %.preheader725.13, %.preheader725.12, %.preheader725.11, %.preheader725.10, %.preheader725.9, %.preheader725.8, %.preheader725.7, %.preheader725.6, %.preheader725.5, %.preheader725.4, %.preheader725.3, %.preheader725.2, %.preheader725.1, %.preheader725.preheader
  %1738 = load i32, ptr %285, align 4, !tbaa !9
  %1739 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1740 = call i32 @s2n_print_stacktrace(ptr noundef %1739) #13
  %1741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1742 = trunc nuw i8 %1741 to i1
  br i1 %1742, label %1743, label %1747

1743:                                             ; preds = %1737
  %1744 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1745 = call i32 @fileno(ptr noundef %1744) #13
  %1746 = call i32 @isatty(i32 noundef %1745) #13
  %.not682 = icmp eq i32 %1746, 0
  br i1 %.not682, label %1747, label %1748

1747:                                             ; preds = %1743, %1737
  br label %1748

1748:                                             ; preds = %1743, %1747
  %.str.5.sink1262 = phi ptr [ @.str.5, %1747 ], [ @.str.2, %1743 ]
  store i32 %1738, ptr %285, align 4, !tbaa !9
  %1749 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1750 = load i32, ptr @test_count, align 4, !tbaa !9
  %1751 = load i32, ptr %231, align 4, !tbaa !9
  %1752 = call ptr @s2n_strerror(i32 noundef %1751, ptr noundef nonnull @.str.4) #13
  %1753 = load i32, ptr %231, align 4, !tbaa !9
  %1754 = call ptr @s2n_strerror_debug(i32 noundef %1753, ptr noundef nonnull @.str.4) #13
  %1755 = load i32, ptr %285, align 4, !tbaa !9
  %1756 = call ptr @strerror(i32 noundef %1755) #13
  %1757 = load i32, ptr %285, align 4, !tbaa !9
  %1758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1749, ptr noundef nonnull %.str.5.sink1262, i32 noundef %1750, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %1752, ptr noundef %1754, ptr noundef %1756, i32 noundef %1757) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1759:                                             ; preds = %1733
  %1760 = load i32, ptr %285, align 4, !tbaa !9
  %1761 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1762 = call i32 @s2n_print_stacktrace(ptr noundef %1761) #13
  %1763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1764 = trunc nuw i8 %1763 to i1
  br i1 %1764, label %1765, label %1769

1765:                                             ; preds = %1759
  %1766 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1767 = call i32 @fileno(ptr noundef %1766) #13
  %1768 = call i32 @isatty(i32 noundef %1767) #13
  %.not493 = icmp eq i32 %1768, 0
  br i1 %.not493, label %1769, label %1770

1769:                                             ; preds = %1765, %1759
  br label %1770

1770:                                             ; preds = %1765, %1769
  %.str.5.sink1271 = phi ptr [ @.str.5, %1769 ], [ @.str.2, %1765 ]
  store i32 %1760, ptr %285, align 4, !tbaa !9
  %1771 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1772 = load i32, ptr @test_count, align 4, !tbaa !9
  %1773 = load i32, ptr %231, align 4, !tbaa !9
  %1774 = call ptr @s2n_strerror(i32 noundef %1773, ptr noundef nonnull @.str.4) #13
  %1775 = load i32, ptr %231, align 4, !tbaa !9
  %1776 = call ptr @s2n_strerror_debug(i32 noundef %1775, ptr noundef nonnull @.str.4) #13
  %1777 = load i32, ptr %285, align 4, !tbaa !9
  %1778 = call ptr @strerror(i32 noundef %1777) #13
  %1779 = load i32, ptr %285, align 4, !tbaa !9
  %1780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1771, ptr noundef nonnull %.str.5.sink1271, i32 noundef %1772, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %1774, ptr noundef %1776, ptr noundef %1778, i32 noundef %1779) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1781:                                             ; preds = %1733
  %1782 = add nsw i32 %1734, 2
  store i32 %1782, ptr @test_count, align 4, !tbaa !9
  %1783 = call i32 @s2n_hash_digest(ptr noundef nonnull %10, ptr noundef nonnull %3, i32 noundef 20) #13
  %1784 = icmp eq i32 %1783, -1
  br i1 %1784, label %1785, label %1807

1785:                                             ; preds = %1781
  %1786 = load i32, ptr %285, align 4, !tbaa !9
  %1787 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1788 = call i32 @s2n_print_stacktrace(ptr noundef %1787) #13
  %1789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1790 = trunc nuw i8 %1789 to i1
  br i1 %1790, label %1791, label %1795

1791:                                             ; preds = %1785
  %1792 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1793 = call i32 @fileno(ptr noundef %1792) #13
  %1794 = call i32 @isatty(i32 noundef %1793) #13
  %.not681 = icmp eq i32 %1794, 0
  br i1 %.not681, label %1795, label %1796

1795:                                             ; preds = %1791, %1785
  br label %1796

1796:                                             ; preds = %1791, %1795
  %.str.5.sink1280 = phi ptr [ @.str.5, %1795 ], [ @.str.2, %1791 ]
  store i32 %1786, ptr %285, align 4, !tbaa !9
  %1797 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1798 = load i32, ptr @test_count, align 4, !tbaa !9
  %1799 = load i32, ptr %231, align 4, !tbaa !9
  %1800 = call ptr @s2n_strerror(i32 noundef %1799, ptr noundef nonnull @.str.4) #13
  %1801 = load i32, ptr %231, align 4, !tbaa !9
  %1802 = call ptr @s2n_strerror_debug(i32 noundef %1801, ptr noundef nonnull @.str.4) #13
  %1803 = load i32, ptr %285, align 4, !tbaa !9
  %1804 = call ptr @strerror(i32 noundef %1803) #13
  %1805 = load i32, ptr %285, align 4, !tbaa !9
  %1806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1797, ptr noundef nonnull %.str.5.sink1280, i32 noundef %1798, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %1800, ptr noundef %1802, ptr noundef %1804, i32 noundef %1805) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1807:                                             ; preds = %1781
  %1808 = load i32, ptr @test_count, align 4, !tbaa !9
  %1809 = add nsw i32 %1808, 1
  store i32 %1809, ptr @test_count, align 4, !tbaa !9
  %1810 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not494 = icmp eq i32 %1810, 0
  br i1 %.not494, label %1833, label %1811

1811:                                             ; preds = %1807
  %1812 = load i32, ptr %285, align 4, !tbaa !9
  %1813 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1814 = call i32 @s2n_print_stacktrace(ptr noundef %1813) #13
  %1815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1816 = trunc nuw i8 %1815 to i1
  br i1 %1816, label %1817, label %1821

1817:                                             ; preds = %1811
  %1818 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1819 = call i32 @fileno(ptr noundef %1818) #13
  %1820 = call i32 @isatty(i32 noundef %1819) #13
  %.not680 = icmp eq i32 %1820, 0
  br i1 %.not680, label %1821, label %1822

1821:                                             ; preds = %1817, %1811
  br label %1822

1822:                                             ; preds = %1817, %1821
  %.str.5.sink1289 = phi ptr [ @.str.5, %1821 ], [ @.str.2, %1817 ]
  store i32 %1812, ptr %285, align 4, !tbaa !9
  %1823 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1824 = load i32, ptr @test_count, align 4, !tbaa !9
  %1825 = load i32, ptr %231, align 4, !tbaa !9
  %1826 = call ptr @s2n_strerror(i32 noundef %1825, ptr noundef nonnull @.str.4) #13
  %1827 = load i32, ptr %231, align 4, !tbaa !9
  %1828 = call ptr @s2n_strerror_debug(i32 noundef %1827, ptr noundef nonnull @.str.4) #13
  %1829 = load i32, ptr %285, align 4, !tbaa !9
  %1830 = call ptr @strerror(i32 noundef %1829) #13
  %1831 = load i32, ptr %285, align 4, !tbaa !9
  %1832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1823, ptr noundef nonnull %.str.5.sink1289, i32 noundef %1824, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 129, ptr noundef %1826, ptr noundef %1828, ptr noundef %1830, i32 noundef %1831) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1833:                                             ; preds = %1807
  %1834 = load i32, ptr @test_count, align 4, !tbaa !9
  %1835 = add nsw i32 %1834, 1
  store i32 %1835, ptr @test_count, align 4, !tbaa !9
  %1836 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %1837 = icmp eq i32 %1836, -1
  br i1 %1837, label %1860, label %1838

1838:                                             ; preds = %1833
  %1839 = load i32, ptr %285, align 4, !tbaa !9
  %1840 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1841 = call i32 @s2n_print_stacktrace(ptr noundef %1840) #13
  %1842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1843 = trunc nuw i8 %1842 to i1
  br i1 %1843, label %1844, label %1848

1844:                                             ; preds = %1838
  %1845 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1846 = call i32 @fileno(ptr noundef %1845) #13
  %1847 = call i32 @isatty(i32 noundef %1846) #13
  %.not495 = icmp eq i32 %1847, 0
  br i1 %.not495, label %1848, label %1849

1848:                                             ; preds = %1844, %1838
  br label %1849

1849:                                             ; preds = %1844, %1848
  %.str.5.sink1298 = phi ptr [ @.str.5, %1848 ], [ @.str.2, %1844 ]
  store i32 %1839, ptr %285, align 4, !tbaa !9
  %1850 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1851 = load i32, ptr @test_count, align 4, !tbaa !9
  %1852 = load i32, ptr %231, align 4, !tbaa !9
  %1853 = call ptr @s2n_strerror(i32 noundef %1852, ptr noundef nonnull @.str.4) #13
  %1854 = load i32, ptr %231, align 4, !tbaa !9
  %1855 = call ptr @s2n_strerror_debug(i32 noundef %1854, ptr noundef nonnull @.str.4) #13
  %1856 = load i32, ptr %285, align 4, !tbaa !9
  %1857 = call ptr @strerror(i32 noundef %1856) #13
  %1858 = load i32, ptr %285, align 4, !tbaa !9
  %1859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1850, ptr noundef nonnull %.str.5.sink1298, i32 noundef %1851, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1853, ptr noundef %1855, ptr noundef %1857, i32 noundef %1858) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1860:                                             ; preds = %1833
  %1861 = load i32, ptr @test_count, align 4, !tbaa !9
  %1862 = add nsw i32 %1861, 1
  store i32 %1862, ptr @test_count, align 4, !tbaa !9
  %1863 = load i32, ptr %231, align 4, !tbaa !9
  %1864 = icmp eq i32 %1863, 0
  br i1 %1864, label %1865, label %1887

1865:                                             ; preds = %1860
  %1866 = load i32, ptr %285, align 4, !tbaa !9
  %1867 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1868 = call i32 @s2n_print_stacktrace(ptr noundef %1867) #13
  %1869 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1870 = trunc nuw i8 %1869 to i1
  br i1 %1870, label %1871, label %1875

1871:                                             ; preds = %1865
  %1872 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1873 = call i32 @fileno(ptr noundef %1872) #13
  %1874 = call i32 @isatty(i32 noundef %1873) #13
  %.not679 = icmp eq i32 %1874, 0
  br i1 %.not679, label %1875, label %1876

1875:                                             ; preds = %1871, %1865
  br label %1876

1876:                                             ; preds = %1871, %1875
  %.str.5.sink1307 = phi ptr [ @.str.5, %1875 ], [ @.str.2, %1871 ]
  store i32 %1866, ptr %285, align 4, !tbaa !9
  %1877 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1878 = load i32, ptr @test_count, align 4, !tbaa !9
  %1879 = load i32, ptr %231, align 4, !tbaa !9
  %1880 = call ptr @s2n_strerror(i32 noundef %1879, ptr noundef nonnull @.str.4) #13
  %1881 = load i32, ptr %231, align 4, !tbaa !9
  %1882 = call ptr @s2n_strerror_debug(i32 noundef %1881, ptr noundef nonnull @.str.4) #13
  %1883 = load i32, ptr %285, align 4, !tbaa !9
  %1884 = call ptr @strerror(i32 noundef %1883) #13
  %1885 = load i32, ptr %285, align 4, !tbaa !9
  %1886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1877, ptr noundef nonnull %.str.5.sink1307, i32 noundef %1878, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1880, ptr noundef %1882, ptr noundef %1884, i32 noundef %1885) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1887:                                             ; preds = %1860
  %1888 = add nsw i32 %1861, 2
  store i32 %1888, ptr @test_count, align 4, !tbaa !9
  %1889 = call ptr @s2n_strerror_debug(i32 noundef %1863, ptr noundef nonnull @.str.4) #13
  %1890 = icmp eq ptr %1889, null
  br i1 %1890, label %1891, label %1913

1891:                                             ; preds = %1887
  %1892 = load i32, ptr %285, align 4, !tbaa !9
  %1893 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1894 = call i32 @s2n_print_stacktrace(ptr noundef %1893) #13
  %1895 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1896 = trunc nuw i8 %1895 to i1
  br i1 %1896, label %1897, label %1901

1897:                                             ; preds = %1891
  %1898 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1899 = call i32 @fileno(ptr noundef %1898) #13
  %1900 = call i32 @isatty(i32 noundef %1899) #13
  %.not678 = icmp eq i32 %1900, 0
  br i1 %.not678, label %1901, label %1902

1901:                                             ; preds = %1897, %1891
  br label %1902

1902:                                             ; preds = %1897, %1901
  %.str.5.sink1316 = phi ptr [ @.str.5, %1901 ], [ @.str.2, %1897 ]
  store i32 %1892, ptr %285, align 4, !tbaa !9
  %1903 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1904 = load i32, ptr @test_count, align 4, !tbaa !9
  %1905 = load i32, ptr %231, align 4, !tbaa !9
  %1906 = call ptr @s2n_strerror(i32 noundef %1905, ptr noundef nonnull @.str.4) #13
  %1907 = load i32, ptr %231, align 4, !tbaa !9
  %1908 = call ptr @s2n_strerror_debug(i32 noundef %1907, ptr noundef nonnull @.str.4) #13
  %1909 = load i32, ptr %285, align 4, !tbaa !9
  %1910 = call ptr @strerror(i32 noundef %1909) #13
  %1911 = load i32, ptr %285, align 4, !tbaa !9
  %1912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1903, ptr noundef nonnull %.str.5.sink1316, i32 noundef %1904, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 130, ptr noundef %1906, ptr noundef %1908, ptr noundef %1910, i32 noundef %1911) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1913:                                             ; preds = %1887
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %1914 = load i32, ptr @test_count, align 4, !tbaa !9
  %1915 = add nsw i32 %1914, 1
  store i32 %1915, ptr @test_count, align 4, !tbaa !9
  %1916 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %1917 = icmp eq i32 %1916, -1
  br i1 %1917, label %1923, label %.preheader724.preheader

.preheader724.preheader:                          ; preds = %1913
  %1918 = load i32, ptr @test_count, align 4, !tbaa !9
  %1919 = add nsw i32 %1918, 1
  store i32 %1919, ptr @test_count, align 4, !tbaa !9
  %1920 = load i8, ptr %3, align 16, !tbaa !17
  %1921 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1920) #13
  %1922 = call zeroext i1 @s2n_result_is_ok(i32 %1921)
  br i1 %1922, label %.preheader724.1, label %2044

1923:                                             ; preds = %1913
  %1924 = load i32, ptr %285, align 4, !tbaa !9
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1926 = call i32 @s2n_print_stacktrace(ptr noundef %1925) #13
  %1927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %1928 = trunc nuw i8 %1927 to i1
  br i1 %1928, label %1929, label %1933

1929:                                             ; preds = %1923
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1931 = call i32 @fileno(ptr noundef %1930) #13
  %1932 = call i32 @isatty(i32 noundef %1931) #13
  %.not677 = icmp eq i32 %1932, 0
  br i1 %.not677, label %1933, label %1934

1933:                                             ; preds = %1929, %1923
  br label %1934

1934:                                             ; preds = %1929, %1933
  %.str.5.sink1325 = phi ptr [ @.str.5, %1933 ], [ @.str.2, %1929 ]
  store i32 %1924, ptr %285, align 4, !tbaa !9
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !11
  %1936 = load i32, ptr @test_count, align 4, !tbaa !9
  %1937 = load i32, ptr %231, align 4, !tbaa !9
  %1938 = call ptr @s2n_strerror(i32 noundef %1937, ptr noundef nonnull @.str.4) #13
  %1939 = load i32, ptr %231, align 4, !tbaa !9
  %1940 = call ptr @s2n_strerror_debug(i32 noundef %1939, ptr noundef nonnull @.str.4) #13
  %1941 = load i32, ptr %285, align 4, !tbaa !9
  %1942 = call ptr @strerror(i32 noundef %1941) #13
  %1943 = load i32, ptr %285, align 4, !tbaa !9
  %1944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1935, ptr noundef nonnull %.str.5.sink1325, i32 noundef %1936, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1938, ptr noundef %1940, ptr noundef %1942, i32 noundef %1943) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader724.1:                                  ; preds = %.preheader724.preheader
  %1945 = load i32, ptr @test_count, align 4, !tbaa !9
  %1946 = add nsw i32 %1945, 1
  store i32 %1946, ptr @test_count, align 4, !tbaa !9
  %1947 = load i8, ptr %1621, align 1, !tbaa !17
  %1948 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1947) #13
  %1949 = call zeroext i1 @s2n_result_is_ok(i32 %1948)
  br i1 %1949, label %.preheader724.2, label %2044

.preheader724.2:                                  ; preds = %.preheader724.1
  %1950 = load i32, ptr @test_count, align 4, !tbaa !9
  %1951 = add nsw i32 %1950, 1
  store i32 %1951, ptr @test_count, align 4, !tbaa !9
  %1952 = load i8, ptr %1627, align 2, !tbaa !17
  %1953 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1952) #13
  %1954 = call zeroext i1 @s2n_result_is_ok(i32 %1953)
  br i1 %1954, label %.preheader724.3, label %2044

.preheader724.3:                                  ; preds = %.preheader724.2
  %1955 = load i32, ptr @test_count, align 4, !tbaa !9
  %1956 = add nsw i32 %1955, 1
  store i32 %1956, ptr @test_count, align 4, !tbaa !9
  %1957 = load i8, ptr %1633, align 1, !tbaa !17
  %1958 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1957) #13
  %1959 = call zeroext i1 @s2n_result_is_ok(i32 %1958)
  br i1 %1959, label %.preheader724.4, label %2044

.preheader724.4:                                  ; preds = %.preheader724.3
  %1960 = load i32, ptr @test_count, align 4, !tbaa !9
  %1961 = add nsw i32 %1960, 1
  store i32 %1961, ptr @test_count, align 4, !tbaa !9
  %1962 = load i8, ptr %1639, align 4, !tbaa !17
  %1963 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1962) #13
  %1964 = call zeroext i1 @s2n_result_is_ok(i32 %1963)
  br i1 %1964, label %.preheader724.5, label %2044

.preheader724.5:                                  ; preds = %.preheader724.4
  %1965 = load i32, ptr @test_count, align 4, !tbaa !9
  %1966 = add nsw i32 %1965, 1
  store i32 %1966, ptr @test_count, align 4, !tbaa !9
  %1967 = load i8, ptr %1645, align 1, !tbaa !17
  %1968 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1967) #13
  %1969 = call zeroext i1 @s2n_result_is_ok(i32 %1968)
  br i1 %1969, label %.preheader724.6, label %2044

.preheader724.6:                                  ; preds = %.preheader724.5
  %1970 = load i32, ptr @test_count, align 4, !tbaa !9
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !9
  %1972 = load i8, ptr %1651, align 2, !tbaa !17
  %1973 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1972) #13
  %1974 = call zeroext i1 @s2n_result_is_ok(i32 %1973)
  br i1 %1974, label %.preheader724.7, label %2044

.preheader724.7:                                  ; preds = %.preheader724.6
  %1975 = load i32, ptr @test_count, align 4, !tbaa !9
  %1976 = add nsw i32 %1975, 1
  store i32 %1976, ptr @test_count, align 4, !tbaa !9
  %1977 = load i8, ptr %1657, align 1, !tbaa !17
  %1978 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1977) #13
  %1979 = call zeroext i1 @s2n_result_is_ok(i32 %1978)
  br i1 %1979, label %.preheader724.8, label %2044

.preheader724.8:                                  ; preds = %.preheader724.7
  %1980 = load i32, ptr @test_count, align 4, !tbaa !9
  %1981 = add nsw i32 %1980, 1
  store i32 %1981, ptr @test_count, align 4, !tbaa !9
  %1982 = load i8, ptr %1663, align 8, !tbaa !17
  %1983 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1982) #13
  %1984 = call zeroext i1 @s2n_result_is_ok(i32 %1983)
  br i1 %1984, label %.preheader724.9, label %2044

.preheader724.9:                                  ; preds = %.preheader724.8
  %1985 = load i32, ptr @test_count, align 4, !tbaa !9
  %1986 = add nsw i32 %1985, 1
  store i32 %1986, ptr @test_count, align 4, !tbaa !9
  %1987 = load i8, ptr %1669, align 1, !tbaa !17
  %1988 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1987) #13
  %1989 = call zeroext i1 @s2n_result_is_ok(i32 %1988)
  br i1 %1989, label %.preheader724.10, label %2044

.preheader724.10:                                 ; preds = %.preheader724.9
  %1990 = load i32, ptr @test_count, align 4, !tbaa !9
  %1991 = add nsw i32 %1990, 1
  store i32 %1991, ptr @test_count, align 4, !tbaa !9
  %1992 = load i8, ptr %1675, align 2, !tbaa !17
  %1993 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1992) #13
  %1994 = call zeroext i1 @s2n_result_is_ok(i32 %1993)
  br i1 %1994, label %.preheader724.11, label %2044

.preheader724.11:                                 ; preds = %.preheader724.10
  %1995 = load i32, ptr @test_count, align 4, !tbaa !9
  %1996 = add nsw i32 %1995, 1
  store i32 %1996, ptr @test_count, align 4, !tbaa !9
  %1997 = load i8, ptr %1681, align 1, !tbaa !17
  %1998 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %1997) #13
  %1999 = call zeroext i1 @s2n_result_is_ok(i32 %1998)
  br i1 %1999, label %.preheader724.12, label %2044

.preheader724.12:                                 ; preds = %.preheader724.11
  %2000 = load i32, ptr @test_count, align 4, !tbaa !9
  %2001 = add nsw i32 %2000, 1
  store i32 %2001, ptr @test_count, align 4, !tbaa !9
  %2002 = load i8, ptr %1687, align 4, !tbaa !17
  %2003 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2002) #13
  %2004 = call zeroext i1 @s2n_result_is_ok(i32 %2003)
  br i1 %2004, label %.preheader724.13, label %2044

.preheader724.13:                                 ; preds = %.preheader724.12
  %2005 = load i32, ptr @test_count, align 4, !tbaa !9
  %2006 = add nsw i32 %2005, 1
  store i32 %2006, ptr @test_count, align 4, !tbaa !9
  %2007 = load i8, ptr %1693, align 1, !tbaa !17
  %2008 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2007) #13
  %2009 = call zeroext i1 @s2n_result_is_ok(i32 %2008)
  br i1 %2009, label %.preheader724.14, label %2044

.preheader724.14:                                 ; preds = %.preheader724.13
  %2010 = load i32, ptr @test_count, align 4, !tbaa !9
  %2011 = add nsw i32 %2010, 1
  store i32 %2011, ptr @test_count, align 4, !tbaa !9
  %2012 = load i8, ptr %1699, align 2, !tbaa !17
  %2013 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2012) #13
  %2014 = call zeroext i1 @s2n_result_is_ok(i32 %2013)
  br i1 %2014, label %.preheader724.15, label %2044

.preheader724.15:                                 ; preds = %.preheader724.14
  %2015 = load i32, ptr @test_count, align 4, !tbaa !9
  %2016 = add nsw i32 %2015, 1
  store i32 %2016, ptr @test_count, align 4, !tbaa !9
  %2017 = load i8, ptr %1705, align 1, !tbaa !17
  %2018 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2017) #13
  %2019 = call zeroext i1 @s2n_result_is_ok(i32 %2018)
  br i1 %2019, label %.preheader724.16, label %2044

.preheader724.16:                                 ; preds = %.preheader724.15
  %2020 = load i32, ptr @test_count, align 4, !tbaa !9
  %2021 = add nsw i32 %2020, 1
  store i32 %2021, ptr @test_count, align 4, !tbaa !9
  %2022 = load i8, ptr %1711, align 16, !tbaa !17
  %2023 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2022) #13
  %2024 = call zeroext i1 @s2n_result_is_ok(i32 %2023)
  br i1 %2024, label %.preheader724.17, label %2044

.preheader724.17:                                 ; preds = %.preheader724.16
  %2025 = load i32, ptr @test_count, align 4, !tbaa !9
  %2026 = add nsw i32 %2025, 1
  store i32 %2026, ptr @test_count, align 4, !tbaa !9
  %2027 = load i8, ptr %1717, align 1, !tbaa !17
  %2028 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2027) #13
  %2029 = call zeroext i1 @s2n_result_is_ok(i32 %2028)
  br i1 %2029, label %.preheader724.18, label %2044

.preheader724.18:                                 ; preds = %.preheader724.17
  %2030 = load i32, ptr @test_count, align 4, !tbaa !9
  %2031 = add nsw i32 %2030, 1
  store i32 %2031, ptr @test_count, align 4, !tbaa !9
  %2032 = load i8, ptr %1723, align 2, !tbaa !17
  %2033 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2032) #13
  %2034 = call zeroext i1 @s2n_result_is_ok(i32 %2033)
  br i1 %2034, label %.preheader724.19, label %2044

.preheader724.19:                                 ; preds = %.preheader724.18
  %2035 = load i32, ptr @test_count, align 4, !tbaa !9
  %2036 = add nsw i32 %2035, 1
  store i32 %2036, ptr @test_count, align 4, !tbaa !9
  %2037 = load i8, ptr %1729, align 1, !tbaa !17
  %2038 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2037) #13
  %2039 = call zeroext i1 @s2n_result_is_ok(i32 %2038)
  br i1 %2039, label %2040, label %2044

2040:                                             ; preds = %.preheader724.19
  %2041 = load i32, ptr @test_count, align 4, !tbaa !9
  %2042 = add nsw i32 %2041, 1
  store i32 %2042, ptr @test_count, align 4, !tbaa !9
  %bcmp496 = call i32 @bcmp(ptr noundef nonnull dereferenceable(40) %4, ptr noundef nonnull dereferenceable(40) @.str.34, i64 40)
  %2043 = icmp eq i32 %bcmp496, 0
  br i1 %2043, label %2088, label %2066

2044:                                             ; preds = %.preheader724.19, %.preheader724.18, %.preheader724.17, %.preheader724.16, %.preheader724.15, %.preheader724.14, %.preheader724.13, %.preheader724.12, %.preheader724.11, %.preheader724.10, %.preheader724.9, %.preheader724.8, %.preheader724.7, %.preheader724.6, %.preheader724.5, %.preheader724.4, %.preheader724.3, %.preheader724.2, %.preheader724.1, %.preheader724.preheader
  %2045 = load i32, ptr %285, align 4, !tbaa !9
  %2046 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2047 = call i32 @s2n_print_stacktrace(ptr noundef %2046) #13
  %2048 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2049 = trunc nuw i8 %2048 to i1
  br i1 %2049, label %2050, label %2054

2050:                                             ; preds = %2044
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2052 = call i32 @fileno(ptr noundef %2051) #13
  %2053 = call i32 @isatty(i32 noundef %2052) #13
  %.not676 = icmp eq i32 %2053, 0
  br i1 %.not676, label %2054, label %2055

2054:                                             ; preds = %2050, %2044
  br label %2055

2055:                                             ; preds = %2050, %2054
  %.str.5.sink1334 = phi ptr [ @.str.5, %2054 ], [ @.str.2, %2050 ]
  store i32 %2045, ptr %285, align 4, !tbaa !9
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2057 = load i32, ptr @test_count, align 4, !tbaa !9
  %2058 = load i32, ptr %231, align 4, !tbaa !9
  %2059 = call ptr @s2n_strerror(i32 noundef %2058, ptr noundef nonnull @.str.4) #13
  %2060 = load i32, ptr %231, align 4, !tbaa !9
  %2061 = call ptr @s2n_strerror_debug(i32 noundef %2060, ptr noundef nonnull @.str.4) #13
  %2062 = load i32, ptr %285, align 4, !tbaa !9
  %2063 = call ptr @strerror(i32 noundef %2062) #13
  %2064 = load i32, ptr %285, align 4, !tbaa !9
  %2065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2056, ptr noundef nonnull %.str.5.sink1334, i32 noundef %2057, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 134, ptr noundef %2059, ptr noundef %2061, ptr noundef %2063, i32 noundef %2064) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2066:                                             ; preds = %2040
  %2067 = load i32, ptr %285, align 4, !tbaa !9
  %2068 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2069 = call i32 @s2n_print_stacktrace(ptr noundef %2068) #13
  %2070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2071 = trunc nuw i8 %2070 to i1
  br i1 %2071, label %2072, label %2076

2072:                                             ; preds = %2066
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2074 = call i32 @fileno(ptr noundef %2073) #13
  %2075 = call i32 @isatty(i32 noundef %2074) #13
  %.not497 = icmp eq i32 %2075, 0
  br i1 %.not497, label %2076, label %2077

2076:                                             ; preds = %2072, %2066
  br label %2077

2077:                                             ; preds = %2072, %2076
  %.str.5.sink1343 = phi ptr [ @.str.5, %2076 ], [ @.str.2, %2072 ]
  store i32 %2067, ptr %285, align 4, !tbaa !9
  %2078 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2079 = load i32, ptr @test_count, align 4, !tbaa !9
  %2080 = load i32, ptr %231, align 4, !tbaa !9
  %2081 = call ptr @s2n_strerror(i32 noundef %2080, ptr noundef nonnull @.str.4) #13
  %2082 = load i32, ptr %231, align 4, !tbaa !9
  %2083 = call ptr @s2n_strerror_debug(i32 noundef %2082, ptr noundef nonnull @.str.4) #13
  %2084 = load i32, ptr %285, align 4, !tbaa !9
  %2085 = call ptr @strerror(i32 noundef %2084) #13
  %2086 = load i32, ptr %285, align 4, !tbaa !9
  %2087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2078, ptr noundef nonnull %.str.5.sink1343, i32 noundef %2079, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %2081, ptr noundef %2083, ptr noundef %2085, i32 noundef %2086) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2088:                                             ; preds = %2040
  %2089 = add nsw i32 %2041, 2
  store i32 %2089, ptr @test_count, align 4, !tbaa !9
  %2090 = call i32 @s2n_hash_reset(ptr noundef nonnull %9) #13
  %2091 = icmp eq i32 %2090, -1
  br i1 %2091, label %2092, label %2114

2092:                                             ; preds = %2088
  %2093 = load i32, ptr %285, align 4, !tbaa !9
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2095 = call i32 @s2n_print_stacktrace(ptr noundef %2094) #13
  %2096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2097 = trunc nuw i8 %2096 to i1
  br i1 %2097, label %2098, label %2102

2098:                                             ; preds = %2092
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2100 = call i32 @fileno(ptr noundef %2099) #13
  %2101 = call i32 @isatty(i32 noundef %2100) #13
  %.not675 = icmp eq i32 %2101, 0
  br i1 %.not675, label %2102, label %2103

2102:                                             ; preds = %2098, %2092
  br label %2103

2103:                                             ; preds = %2098, %2102
  %.str.5.sink1352 = phi ptr [ @.str.5, %2102 ], [ @.str.2, %2098 ]
  store i32 %2093, ptr %285, align 4, !tbaa !9
  %2104 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2105 = load i32, ptr @test_count, align 4, !tbaa !9
  %2106 = load i32, ptr %231, align 4, !tbaa !9
  %2107 = call ptr @s2n_strerror(i32 noundef %2106, ptr noundef nonnull @.str.4) #13
  %2108 = load i32, ptr %231, align 4, !tbaa !9
  %2109 = call ptr @s2n_strerror_debug(i32 noundef %2108, ptr noundef nonnull @.str.4) #13
  %2110 = load i32, ptr %285, align 4, !tbaa !9
  %2111 = call ptr @strerror(i32 noundef %2110) #13
  %2112 = load i32, ptr %285, align 4, !tbaa !9
  %2113 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2104, ptr noundef nonnull %.str.5.sink1352, i32 noundef %2105, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %2107, ptr noundef %2109, ptr noundef %2111, i32 noundef %2112) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2114:                                             ; preds = %2088
  %2115 = load i32, ptr @test_count, align 4, !tbaa !9
  %2116 = add nsw i32 %2115, 1
  store i32 %2116, ptr @test_count, align 4, !tbaa !9
  %2117 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not498 = icmp eq i32 %2117, 0
  br i1 %.not498, label %2118, label %2140

2118:                                             ; preds = %2114
  %2119 = load i32, ptr %285, align 4, !tbaa !9
  %2120 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2121 = call i32 @s2n_print_stacktrace(ptr noundef %2120) #13
  %2122 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2123 = trunc nuw i8 %2122 to i1
  br i1 %2123, label %2124, label %2128

2124:                                             ; preds = %2118
  %2125 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2126 = call i32 @fileno(ptr noundef %2125) #13
  %2127 = call i32 @isatty(i32 noundef %2126) #13
  %.not499 = icmp eq i32 %2127, 0
  br i1 %.not499, label %2128, label %2129

2128:                                             ; preds = %2124, %2118
  br label %2129

2129:                                             ; preds = %2124, %2128
  %.str.5.sink1361 = phi ptr [ @.str.5, %2128 ], [ @.str.2, %2124 ]
  store i32 %2119, ptr %285, align 4, !tbaa !9
  %2130 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2131 = load i32, ptr @test_count, align 4, !tbaa !9
  %2132 = load i32, ptr %231, align 4, !tbaa !9
  %2133 = call ptr @s2n_strerror(i32 noundef %2132, ptr noundef nonnull @.str.4) #13
  %2134 = load i32, ptr %231, align 4, !tbaa !9
  %2135 = call ptr @s2n_strerror_debug(i32 noundef %2134, ptr noundef nonnull @.str.4) #13
  %2136 = load i32, ptr %285, align 4, !tbaa !9
  %2137 = call ptr @strerror(i32 noundef %2136) #13
  %2138 = load i32, ptr %285, align 4, !tbaa !9
  %2139 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2130, ptr noundef nonnull %.str.5.sink1361, i32 noundef %2131, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %2133, ptr noundef %2135, ptr noundef %2137, i32 noundef %2138) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2140:                                             ; preds = %2114
  %2141 = load i32, ptr @test_count, align 4, !tbaa !9
  %2142 = add nsw i32 %2141, 1
  store i32 %2142, ptr @test_count, align 4, !tbaa !9
  %2143 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %2144 = icmp eq i32 %2143, -1
  br i1 %2144, label %2145, label %2167

2145:                                             ; preds = %2140
  %2146 = load i32, ptr %285, align 4, !tbaa !9
  %2147 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2148 = call i32 @s2n_print_stacktrace(ptr noundef %2147) #13
  %2149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2150 = trunc nuw i8 %2149 to i1
  br i1 %2150, label %2151, label %2155

2151:                                             ; preds = %2145
  %2152 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2153 = call i32 @fileno(ptr noundef %2152) #13
  %2154 = call i32 @isatty(i32 noundef %2153) #13
  %.not674 = icmp eq i32 %2154, 0
  br i1 %.not674, label %2155, label %2156

2155:                                             ; preds = %2151, %2145
  br label %2156

2156:                                             ; preds = %2151, %2155
  %.str.5.sink1370 = phi ptr [ @.str.5, %2155 ], [ @.str.2, %2151 ]
  store i32 %2146, ptr %285, align 4, !tbaa !9
  %2157 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2158 = load i32, ptr @test_count, align 4, !tbaa !9
  %2159 = load i32, ptr %231, align 4, !tbaa !9
  %2160 = call ptr @s2n_strerror(i32 noundef %2159, ptr noundef nonnull @.str.4) #13
  %2161 = load i32, ptr %231, align 4, !tbaa !9
  %2162 = call ptr @s2n_strerror_debug(i32 noundef %2161, ptr noundef nonnull @.str.4) #13
  %2163 = load i32, ptr %285, align 4, !tbaa !9
  %2164 = call ptr @strerror(i32 noundef %2163) #13
  %2165 = load i32, ptr %285, align 4, !tbaa !9
  %2166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2157, ptr noundef nonnull %.str.5.sink1370, i32 noundef %2158, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %2160, ptr noundef %2162, ptr noundef %2164, i32 noundef %2165) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2167:                                             ; preds = %2140
  %2168 = load i32, ptr @test_count, align 4, !tbaa !9
  %2169 = add nsw i32 %2168, 1
  store i32 %2169, ptr @test_count, align 4, !tbaa !9
  %2170 = load i64, ptr %12, align 8, !tbaa !5
  %2171 = icmp eq i64 %2170, 0
  br i1 %2171, label %2194, label %2172

2172:                                             ; preds = %2167
  %2173 = load i32, ptr %285, align 4, !tbaa !9
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2175 = call i32 @s2n_print_stacktrace(ptr noundef %2174) #13
  %2176 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2177 = trunc nuw i8 %2176 to i1
  br i1 %2177, label %2178, label %2182

2178:                                             ; preds = %2172
  %2179 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2180 = call i32 @fileno(ptr noundef %2179) #13
  %2181 = call i32 @isatty(i32 noundef %2180) #13
  %.not500 = icmp eq i32 %2181, 0
  br i1 %.not500, label %2182, label %2183

2182:                                             ; preds = %2178, %2172
  br label %2183

2183:                                             ; preds = %2178, %2182
  %.str.5.sink1379 = phi ptr [ @.str.5, %2182 ], [ @.str.2, %2178 ]
  store i32 %2173, ptr %285, align 4, !tbaa !9
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2185 = load i32, ptr @test_count, align 4, !tbaa !9
  %2186 = load i32, ptr %231, align 4, !tbaa !9
  %2187 = call ptr @s2n_strerror(i32 noundef %2186, ptr noundef nonnull @.str.4) #13
  %2188 = load i32, ptr %231, align 4, !tbaa !9
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef nonnull @.str.4) #13
  %2190 = load i32, ptr %285, align 4, !tbaa !9
  %2191 = call ptr @strerror(i32 noundef %2190) #13
  %2192 = load i32, ptr %285, align 4, !tbaa !9
  %2193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef nonnull %.str.5.sink1379, i32 noundef %2185, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %2187, ptr noundef %2189, ptr noundef %2191, i32 noundef %2192) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2194:                                             ; preds = %2167
  %2195 = add nsw i32 %2168, 2
  store i32 %2195, ptr @test_count, align 4, !tbaa !9
  %2196 = call i32 @s2n_hash_reset(ptr noundef nonnull %10) #13
  %2197 = icmp eq i32 %2196, -1
  br i1 %2197, label %2198, label %2220

2198:                                             ; preds = %2194
  %2199 = load i32, ptr %285, align 4, !tbaa !9
  %2200 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2201 = call i32 @s2n_print_stacktrace(ptr noundef %2200) #13
  %2202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %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 !11
  %2206 = call i32 @fileno(ptr noundef %2205) #13
  %2207 = call i32 @isatty(i32 noundef %2206) #13
  %.not673 = icmp eq i32 %2207, 0
  br i1 %.not673, label %2208, label %2209

2208:                                             ; preds = %2204, %2198
  br label %2209

2209:                                             ; preds = %2204, %2208
  %.str.5.sink1388 = phi ptr [ @.str.5, %2208 ], [ @.str.2, %2204 ]
  store i32 %2199, ptr %285, align 4, !tbaa !9
  %2210 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2211 = load i32, ptr @test_count, align 4, !tbaa !9
  %2212 = load i32, ptr %231, align 4, !tbaa !9
  %2213 = call ptr @s2n_strerror(i32 noundef %2212, ptr noundef nonnull @.str.4) #13
  %2214 = load i32, ptr %231, align 4, !tbaa !9
  %2215 = call ptr @s2n_strerror_debug(i32 noundef %2214, ptr noundef nonnull @.str.4) #13
  %2216 = load i32, ptr %285, align 4, !tbaa !9
  %2217 = call ptr @strerror(i32 noundef %2216) #13
  %2218 = load i32, ptr %285, align 4, !tbaa !9
  %2219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2210, ptr noundef nonnull %.str.5.sink1388, i32 noundef %2211, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %2213, ptr noundef %2215, ptr noundef %2217, i32 noundef %2218) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2220:                                             ; preds = %2194
  %2221 = load i32, ptr @test_count, align 4, !tbaa !9
  %2222 = add nsw i32 %2221, 1
  store i32 %2222, ptr @test_count, align 4, !tbaa !9
  %2223 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not501 = icmp eq i32 %2223, 0
  br i1 %.not501, label %2224, label %2246

2224:                                             ; preds = %2220
  %2225 = load i32, ptr %285, align 4, !tbaa !9
  %2226 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2227 = call i32 @s2n_print_stacktrace(ptr noundef %2226) #13
  %2228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2229 = trunc nuw i8 %2228 to i1
  br i1 %2229, label %2230, label %2234

2230:                                             ; preds = %2224
  %2231 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2232 = call i32 @fileno(ptr noundef %2231) #13
  %2233 = call i32 @isatty(i32 noundef %2232) #13
  %.not502 = icmp eq i32 %2233, 0
  br i1 %.not502, label %2234, label %2235

2234:                                             ; preds = %2230, %2224
  br label %2235

2235:                                             ; preds = %2230, %2234
  %.str.5.sink1397 = phi ptr [ @.str.5, %2234 ], [ @.str.2, %2230 ]
  store i32 %2225, ptr %285, align 4, !tbaa !9
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2237 = load i32, ptr @test_count, align 4, !tbaa !9
  %2238 = load i32, ptr %231, align 4, !tbaa !9
  %2239 = call ptr @s2n_strerror(i32 noundef %2238, ptr noundef nonnull @.str.4) #13
  %2240 = load i32, ptr %231, align 4, !tbaa !9
  %2241 = call ptr @s2n_strerror_debug(i32 noundef %2240, ptr noundef nonnull @.str.4) #13
  %2242 = load i32, ptr %285, align 4, !tbaa !9
  %2243 = call ptr @strerror(i32 noundef %2242) #13
  %2244 = load i32, ptr %285, align 4, !tbaa !9
  %2245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2236, ptr noundef nonnull %.str.5.sink1397, i32 noundef %2237, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %2239, ptr noundef %2241, ptr noundef %2243, i32 noundef %2244) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2246:                                             ; preds = %2220
  %2247 = load i32, ptr @test_count, align 4, !tbaa !9
  %2248 = add nsw i32 %2247, 1
  store i32 %2248, ptr @test_count, align 4, !tbaa !9
  %2249 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %2250 = icmp eq i32 %2249, -1
  br i1 %2250, label %2251, label %2273

2251:                                             ; preds = %2246
  %2252 = load i32, ptr %285, align 4, !tbaa !9
  %2253 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2254 = call i32 @s2n_print_stacktrace(ptr noundef %2253) #13
  %2255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2256 = trunc nuw i8 %2255 to i1
  br i1 %2256, label %2257, label %2261

2257:                                             ; preds = %2251
  %2258 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2259 = call i32 @fileno(ptr noundef %2258) #13
  %2260 = call i32 @isatty(i32 noundef %2259) #13
  %.not672 = icmp eq i32 %2260, 0
  br i1 %.not672, label %2261, label %2262

2261:                                             ; preds = %2257, %2251
  br label %2262

2262:                                             ; preds = %2257, %2261
  %.str.5.sink1406 = phi ptr [ @.str.5, %2261 ], [ @.str.2, %2257 ]
  store i32 %2252, ptr %285, align 4, !tbaa !9
  %2263 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2264 = load i32, ptr @test_count, align 4, !tbaa !9
  %2265 = load i32, ptr %231, align 4, !tbaa !9
  %2266 = call ptr @s2n_strerror(i32 noundef %2265, ptr noundef nonnull @.str.4) #13
  %2267 = load i32, ptr %231, align 4, !tbaa !9
  %2268 = call ptr @s2n_strerror_debug(i32 noundef %2267, ptr noundef nonnull @.str.4) #13
  %2269 = load i32, ptr %285, align 4, !tbaa !9
  %2270 = call ptr @strerror(i32 noundef %2269) #13
  %2271 = load i32, ptr %285, align 4, !tbaa !9
  %2272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2263, ptr noundef nonnull %.str.5.sink1406, i32 noundef %2264, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %2266, ptr noundef %2268, ptr noundef %2270, i32 noundef %2271) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2273:                                             ; preds = %2246
  %2274 = load i32, ptr @test_count, align 4, !tbaa !9
  %2275 = add nsw i32 %2274, 1
  store i32 %2275, ptr @test_count, align 4, !tbaa !9
  %2276 = load i64, ptr %12, align 8, !tbaa !5
  %2277 = icmp eq i64 %2276, 0
  br i1 %2277, label %2300, label %2278

2278:                                             ; preds = %2273
  %2279 = load i32, ptr %285, align 4, !tbaa !9
  %2280 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2281 = call i32 @s2n_print_stacktrace(ptr noundef %2280) #13
  %2282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2283 = trunc nuw i8 %2282 to i1
  br i1 %2283, label %2284, label %2288

2284:                                             ; preds = %2278
  %2285 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2286 = call i32 @fileno(ptr noundef %2285) #13
  %2287 = call i32 @isatty(i32 noundef %2286) #13
  %.not503 = icmp eq i32 %2287, 0
  br i1 %.not503, label %2288, label %2289

2288:                                             ; preds = %2284, %2278
  br label %2289

2289:                                             ; preds = %2284, %2288
  %.str.5.sink1415 = phi ptr [ @.str.5, %2288 ], [ @.str.2, %2284 ]
  store i32 %2279, ptr %285, align 4, !tbaa !9
  %2290 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2291 = load i32, ptr @test_count, align 4, !tbaa !9
  %2292 = load i32, ptr %231, align 4, !tbaa !9
  %2293 = call ptr @s2n_strerror(i32 noundef %2292, ptr noundef nonnull @.str.4) #13
  %2294 = load i32, ptr %231, align 4, !tbaa !9
  %2295 = call ptr @s2n_strerror_debug(i32 noundef %2294, ptr noundef nonnull @.str.4) #13
  %2296 = load i32, ptr %285, align 4, !tbaa !9
  %2297 = call ptr @strerror(i32 noundef %2296) #13
  %2298 = load i32, ptr %285, align 4, !tbaa !9
  %2299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2290, ptr noundef nonnull %.str.5.sink1415, i32 noundef %2291, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 148, ptr noundef %2293, ptr noundef %2295, ptr noundef %2297, i32 noundef %2298) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2300:                                             ; preds = %2273
  %2301 = add nsw i32 %2274, 2
  store i32 %2301, ptr @test_count, align 4, !tbaa !9
  %2302 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %6) #17
  %2303 = trunc i64 %2302 to i32
  %2304 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %6, i32 noundef %2303) #13
  %2305 = icmp eq i32 %2304, -1
  br i1 %2305, label %2306, label %2328

2306:                                             ; preds = %2300
  %2307 = load i32, ptr %285, align 4, !tbaa !9
  %2308 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2309 = call i32 @s2n_print_stacktrace(ptr noundef %2308) #13
  %2310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2311 = trunc nuw i8 %2310 to i1
  br i1 %2311, label %2312, label %2316

2312:                                             ; preds = %2306
  %2313 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2314 = call i32 @fileno(ptr noundef %2313) #13
  %2315 = call i32 @isatty(i32 noundef %2314) #13
  %.not671 = icmp eq i32 %2315, 0
  br i1 %.not671, label %2316, label %2317

2316:                                             ; preds = %2312, %2306
  br label %2317

2317:                                             ; preds = %2312, %2316
  %.str.5.sink1424 = phi ptr [ @.str.5, %2316 ], [ @.str.2, %2312 ]
  store i32 %2307, ptr %285, align 4, !tbaa !9
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2319 = load i32, ptr @test_count, align 4, !tbaa !9
  %2320 = load i32, ptr %231, align 4, !tbaa !9
  %2321 = call ptr @s2n_strerror(i32 noundef %2320, ptr noundef nonnull @.str.4) #13
  %2322 = load i32, ptr %231, align 4, !tbaa !9
  %2323 = call ptr @s2n_strerror_debug(i32 noundef %2322, ptr noundef nonnull @.str.4) #13
  %2324 = load i32, ptr %285, align 4, !tbaa !9
  %2325 = call ptr @strerror(i32 noundef %2324) #13
  %2326 = load i32, ptr %285, align 4, !tbaa !9
  %2327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2318, ptr noundef nonnull %.str.5.sink1424, i32 noundef %2319, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %2321, ptr noundef %2323, ptr noundef %2325, i32 noundef %2326) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2328:                                             ; preds = %2300
  %2329 = load i32, ptr @test_count, align 4, !tbaa !9
  %2330 = add nsw i32 %2329, 1
  store i32 %2330, ptr @test_count, align 4, !tbaa !9
  %2331 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not504 = icmp eq i32 %2331, 0
  br i1 %.not504, label %2332, label %2354

2332:                                             ; preds = %2328
  %2333 = load i32, ptr %285, align 4, !tbaa !9
  %2334 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2335 = call i32 @s2n_print_stacktrace(ptr noundef %2334) #13
  %2336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2337 = trunc nuw i8 %2336 to i1
  br i1 %2337, label %2338, label %2342

2338:                                             ; preds = %2332
  %2339 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2340 = call i32 @fileno(ptr noundef %2339) #13
  %2341 = call i32 @isatty(i32 noundef %2340) #13
  %.not505 = icmp eq i32 %2341, 0
  br i1 %.not505, label %2342, label %2343

2342:                                             ; preds = %2338, %2332
  br label %2343

2343:                                             ; preds = %2338, %2342
  %.str.5.sink1433 = phi ptr [ @.str.5, %2342 ], [ @.str.2, %2338 ]
  store i32 %2333, ptr %285, align 4, !tbaa !9
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2345 = load i32, ptr @test_count, align 4, !tbaa !9
  %2346 = load i32, ptr %231, align 4, !tbaa !9
  %2347 = call ptr @s2n_strerror(i32 noundef %2346, ptr noundef nonnull @.str.4) #13
  %2348 = load i32, ptr %231, align 4, !tbaa !9
  %2349 = call ptr @s2n_strerror_debug(i32 noundef %2348, ptr noundef nonnull @.str.4) #13
  %2350 = load i32, ptr %285, align 4, !tbaa !9
  %2351 = call ptr @strerror(i32 noundef %2350) #13
  %2352 = load i32, ptr %285, align 4, !tbaa !9
  %2353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2344, ptr noundef nonnull %.str.5.sink1433, i32 noundef %2345, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %2347, ptr noundef %2349, ptr noundef %2351, i32 noundef %2352) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2354:                                             ; preds = %2328
  %2355 = load i32, ptr @test_count, align 4, !tbaa !9
  %2356 = add nsw i32 %2355, 1
  store i32 %2356, ptr @test_count, align 4, !tbaa !9
  %2357 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %2358 = icmp eq i32 %2357, -1
  br i1 %2358, label %2359, label %2381

2359:                                             ; preds = %2354
  %2360 = load i32, ptr %285, align 4, !tbaa !9
  %2361 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2362 = call i32 @s2n_print_stacktrace(ptr noundef %2361) #13
  %2363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2364 = trunc nuw i8 %2363 to i1
  br i1 %2364, label %2365, label %2369

2365:                                             ; preds = %2359
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2367 = call i32 @fileno(ptr noundef %2366) #13
  %2368 = call i32 @isatty(i32 noundef %2367) #13
  %.not670 = icmp eq i32 %2368, 0
  br i1 %.not670, label %2369, label %2370

2369:                                             ; preds = %2365, %2359
  br label %2370

2370:                                             ; preds = %2365, %2369
  %.str.5.sink1442 = phi ptr [ @.str.5, %2369 ], [ @.str.2, %2365 ]
  store i32 %2360, ptr %285, align 4, !tbaa !9
  %2371 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2372 = load i32, ptr @test_count, align 4, !tbaa !9
  %2373 = load i32, ptr %231, align 4, !tbaa !9
  %2374 = call ptr @s2n_strerror(i32 noundef %2373, ptr noundef nonnull @.str.4) #13
  %2375 = load i32, ptr %231, align 4, !tbaa !9
  %2376 = call ptr @s2n_strerror_debug(i32 noundef %2375, ptr noundef nonnull @.str.4) #13
  %2377 = load i32, ptr %285, align 4, !tbaa !9
  %2378 = call ptr @strerror(i32 noundef %2377) #13
  %2379 = load i32, ptr %285, align 4, !tbaa !9
  %2380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2371, ptr noundef nonnull %.str.5.sink1442, i32 noundef %2372, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %2374, ptr noundef %2376, ptr noundef %2378, i32 noundef %2379) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2381:                                             ; preds = %2354
  %2382 = load i32, ptr @test_count, align 4, !tbaa !9
  %2383 = add nsw i32 %2382, 1
  store i32 %2383, ptr @test_count, align 4, !tbaa !9
  %2384 = load i64, ptr %12, align 8, !tbaa !5
  %2385 = icmp eq i64 %2384, 9
  br i1 %2385, label %2408, label %2386

2386:                                             ; preds = %2381
  %2387 = load i32, ptr %285, align 4, !tbaa !9
  %2388 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2389 = call i32 @s2n_print_stacktrace(ptr noundef %2388) #13
  %2390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2391 = trunc nuw i8 %2390 to i1
  br i1 %2391, label %2392, label %2396

2392:                                             ; preds = %2386
  %2393 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2394 = call i32 @fileno(ptr noundef %2393) #13
  %2395 = call i32 @isatty(i32 noundef %2394) #13
  %.not506 = icmp eq i32 %2395, 0
  br i1 %.not506, label %2396, label %2397

2396:                                             ; preds = %2392, %2386
  br label %2397

2397:                                             ; preds = %2392, %2396
  %.str.5.sink1451 = phi ptr [ @.str.5, %2396 ], [ @.str.2, %2392 ]
  store i32 %2387, ptr %285, align 4, !tbaa !9
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2399 = load i32, ptr @test_count, align 4, !tbaa !9
  %2400 = load i32, ptr %231, align 4, !tbaa !9
  %2401 = call ptr @s2n_strerror(i32 noundef %2400, ptr noundef nonnull @.str.4) #13
  %2402 = load i32, ptr %231, align 4, !tbaa !9
  %2403 = call ptr @s2n_strerror_debug(i32 noundef %2402, ptr noundef nonnull @.str.4) #13
  %2404 = load i32, ptr %285, align 4, !tbaa !9
  %2405 = call ptr @strerror(i32 noundef %2404) #13
  %2406 = load i32, ptr %285, align 4, !tbaa !9
  %2407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2398, ptr noundef nonnull %.str.5.sink1451, i32 noundef %2399, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %2401, ptr noundef %2403, ptr noundef %2405, i32 noundef %2406) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2408:                                             ; preds = %2381
  %2409 = add nsw i32 %2382, 2
  store i32 %2409, ptr @test_count, align 4, !tbaa !9
  %2410 = call i32 @s2n_hash_copy(ptr noundef nonnull %10, ptr noundef nonnull %9) #13
  %2411 = icmp eq i32 %2410, -1
  br i1 %2411, label %2412, label %2434

2412:                                             ; preds = %2408
  %2413 = load i32, ptr %285, align 4, !tbaa !9
  %2414 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2415 = call i32 @s2n_print_stacktrace(ptr noundef %2414) #13
  %2416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2417 = trunc nuw i8 %2416 to i1
  br i1 %2417, label %2418, label %2422

2418:                                             ; preds = %2412
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2420 = call i32 @fileno(ptr noundef %2419) #13
  %2421 = call i32 @isatty(i32 noundef %2420) #13
  %.not669 = icmp eq i32 %2421, 0
  br i1 %.not669, label %2422, label %2423

2422:                                             ; preds = %2418, %2412
  br label %2423

2423:                                             ; preds = %2418, %2422
  %.str.5.sink1460 = phi ptr [ @.str.5, %2422 ], [ @.str.2, %2418 ]
  store i32 %2413, ptr %285, align 4, !tbaa !9
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2425 = load i32, ptr @test_count, align 4, !tbaa !9
  %2426 = load i32, ptr %231, align 4, !tbaa !9
  %2427 = call ptr @s2n_strerror(i32 noundef %2426, ptr noundef nonnull @.str.4) #13
  %2428 = load i32, ptr %231, align 4, !tbaa !9
  %2429 = call ptr @s2n_strerror_debug(i32 noundef %2428, ptr noundef nonnull @.str.4) #13
  %2430 = load i32, ptr %285, align 4, !tbaa !9
  %2431 = call ptr @strerror(i32 noundef %2430) #13
  %2432 = load i32, ptr %285, align 4, !tbaa !9
  %2433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2424, ptr noundef nonnull %.str.5.sink1460, i32 noundef %2425, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %2427, ptr noundef %2429, ptr noundef %2431, i32 noundef %2432) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2434:                                             ; preds = %2408
  %2435 = load i32, ptr @test_count, align 4, !tbaa !9
  %2436 = add nsw i32 %2435, 1
  store i32 %2436, ptr @test_count, align 4, !tbaa !9
  %2437 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not507 = icmp eq i32 %2437, 0
  br i1 %.not507, label %2438, label %2460

2438:                                             ; preds = %2434
  %2439 = load i32, ptr %285, align 4, !tbaa !9
  %2440 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2441 = call i32 @s2n_print_stacktrace(ptr noundef %2440) #13
  %2442 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2443 = trunc nuw i8 %2442 to i1
  br i1 %2443, label %2444, label %2448

2444:                                             ; preds = %2438
  %2445 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2446 = call i32 @fileno(ptr noundef %2445) #13
  %2447 = call i32 @isatty(i32 noundef %2446) #13
  %.not508 = icmp eq i32 %2447, 0
  br i1 %.not508, label %2448, label %2449

2448:                                             ; preds = %2444, %2438
  br label %2449

2449:                                             ; preds = %2444, %2448
  %.str.5.sink1469 = phi ptr [ @.str.5, %2448 ], [ @.str.2, %2444 ]
  store i32 %2439, ptr %285, align 4, !tbaa !9
  %2450 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2451 = load i32, ptr @test_count, align 4, !tbaa !9
  %2452 = load i32, ptr %231, align 4, !tbaa !9
  %2453 = call ptr @s2n_strerror(i32 noundef %2452, ptr noundef nonnull @.str.4) #13
  %2454 = load i32, ptr %231, align 4, !tbaa !9
  %2455 = call ptr @s2n_strerror_debug(i32 noundef %2454, ptr noundef nonnull @.str.4) #13
  %2456 = load i32, ptr %285, align 4, !tbaa !9
  %2457 = call ptr @strerror(i32 noundef %2456) #13
  %2458 = load i32, ptr %285, align 4, !tbaa !9
  %2459 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2450, ptr noundef nonnull %.str.5.sink1469, i32 noundef %2451, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %2453, ptr noundef %2455, ptr noundef %2457, i32 noundef %2458) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2460:                                             ; preds = %2434
  %2461 = load i32, ptr @test_count, align 4, !tbaa !9
  %2462 = add nsw i32 %2461, 1
  store i32 %2462, ptr @test_count, align 4, !tbaa !9
  %2463 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %2464 = icmp eq i32 %2463, -1
  br i1 %2464, label %2465, label %2487

2465:                                             ; preds = %2460
  %2466 = load i32, ptr %285, align 4, !tbaa !9
  %2467 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2468 = call i32 @s2n_print_stacktrace(ptr noundef %2467) #13
  %2469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2470 = trunc nuw i8 %2469 to i1
  br i1 %2470, label %2471, label %2475

2471:                                             ; preds = %2465
  %2472 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2473 = call i32 @fileno(ptr noundef %2472) #13
  %2474 = call i32 @isatty(i32 noundef %2473) #13
  %.not668 = icmp eq i32 %2474, 0
  br i1 %.not668, label %2475, label %2476

2475:                                             ; preds = %2471, %2465
  br label %2476

2476:                                             ; preds = %2471, %2475
  %.str.5.sink1478 = phi ptr [ @.str.5, %2475 ], [ @.str.2, %2471 ]
  store i32 %2466, ptr %285, align 4, !tbaa !9
  %2477 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2478 = load i32, ptr @test_count, align 4, !tbaa !9
  %2479 = load i32, ptr %231, align 4, !tbaa !9
  %2480 = call ptr @s2n_strerror(i32 noundef %2479, ptr noundef nonnull @.str.4) #13
  %2481 = load i32, ptr %231, align 4, !tbaa !9
  %2482 = call ptr @s2n_strerror_debug(i32 noundef %2481, ptr noundef nonnull @.str.4) #13
  %2483 = load i32, ptr %285, align 4, !tbaa !9
  %2484 = call ptr @strerror(i32 noundef %2483) #13
  %2485 = load i32, ptr %285, align 4, !tbaa !9
  %2486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2477, ptr noundef nonnull %.str.5.sink1478, i32 noundef %2478, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %2480, ptr noundef %2482, ptr noundef %2484, i32 noundef %2485) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2487:                                             ; preds = %2460
  %2488 = load i32, ptr @test_count, align 4, !tbaa !9
  %2489 = add nsw i32 %2488, 1
  store i32 %2489, ptr @test_count, align 4, !tbaa !9
  %2490 = load i64, ptr %12, align 8, !tbaa !5
  %2491 = icmp eq i64 %2490, 9
  br i1 %2491, label %2514, label %2492

2492:                                             ; preds = %2487
  %2493 = load i32, ptr %285, align 4, !tbaa !9
  %2494 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2495 = call i32 @s2n_print_stacktrace(ptr noundef %2494) #13
  %2496 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2497 = trunc nuw i8 %2496 to i1
  br i1 %2497, label %2498, label %2502

2498:                                             ; preds = %2492
  %2499 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2500 = call i32 @fileno(ptr noundef %2499) #13
  %2501 = call i32 @isatty(i32 noundef %2500) #13
  %.not509 = icmp eq i32 %2501, 0
  br i1 %.not509, label %2502, label %2503

2502:                                             ; preds = %2498, %2492
  br label %2503

2503:                                             ; preds = %2498, %2502
  %.str.5.sink1487 = phi ptr [ @.str.5, %2502 ], [ @.str.2, %2498 ]
  store i32 %2493, ptr %285, align 4, !tbaa !9
  %2504 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2505 = load i32, ptr @test_count, align 4, !tbaa !9
  %2506 = load i32, ptr %231, align 4, !tbaa !9
  %2507 = call ptr @s2n_strerror(i32 noundef %2506, ptr noundef nonnull @.str.4) #13
  %2508 = load i32, ptr %231, align 4, !tbaa !9
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef nonnull @.str.4) #13
  %2510 = load i32, ptr %285, align 4, !tbaa !9
  %2511 = call ptr @strerror(i32 noundef %2510) #13
  %2512 = load i32, ptr %285, align 4, !tbaa !9
  %2513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2504, ptr noundef nonnull %.str.5.sink1487, i32 noundef %2505, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 159, ptr noundef %2507, ptr noundef %2509, ptr noundef %2511, i32 noundef %2512) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2514:                                             ; preds = %2487
  %2515 = add nsw i32 %2488, 2
  store i32 %2515, ptr @test_count, align 4, !tbaa !9
  %2516 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not510 = icmp eq i32 %2516, 0
  br i1 %.not510, label %2517, label %2539

2517:                                             ; preds = %2514
  %2518 = load i32, ptr %285, align 4, !tbaa !9
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2520 = call i32 @s2n_print_stacktrace(ptr noundef %2519) #13
  %2521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2522 = trunc nuw i8 %2521 to i1
  br i1 %2522, label %2523, label %2527

2523:                                             ; preds = %2517
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2525 = call i32 @fileno(ptr noundef %2524) #13
  %2526 = call i32 @isatty(i32 noundef %2525) #13
  %.not511 = icmp eq i32 %2526, 0
  br i1 %.not511, label %2527, label %2528

2527:                                             ; preds = %2523, %2517
  br label %2528

2528:                                             ; preds = %2523, %2527
  %.str.5.sink1496 = phi ptr [ @.str.5, %2527 ], [ @.str.2, %2523 ]
  store i32 %2518, ptr %285, align 4, !tbaa !9
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2530 = load i32, ptr @test_count, align 4, !tbaa !9
  %2531 = load i32, ptr %231, align 4, !tbaa !9
  %2532 = call ptr @s2n_strerror(i32 noundef %2531, ptr noundef nonnull @.str.4) #13
  %2533 = load i32, ptr %231, align 4, !tbaa !9
  %2534 = call ptr @s2n_strerror_debug(i32 noundef %2533, ptr noundef nonnull @.str.4) #13
  %2535 = load i32, ptr %285, align 4, !tbaa !9
  %2536 = call ptr @strerror(i32 noundef %2535) #13
  %2537 = load i32, ptr %285, align 4, !tbaa !9
  %2538 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2529, ptr noundef nonnull %.str.5.sink1496, i32 noundef %2530, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 161, ptr noundef %2532, ptr noundef %2534, ptr noundef %2536, i32 noundef %2537) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2539:                                             ; preds = %2514
  %2540 = load i32, ptr @test_count, align 4, !tbaa !9
  %2541 = add nsw i32 %2540, 1
  store i32 %2541, ptr @test_count, align 4, !tbaa !9
  %2542 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %2543 = icmp eq i32 %2542, -1
  br i1 %2543, label %2544, label %2566

2544:                                             ; preds = %2539
  %2545 = load i32, ptr %285, align 4, !tbaa !9
  %2546 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2547 = call i32 @s2n_print_stacktrace(ptr noundef %2546) #13
  %2548 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2549 = trunc nuw i8 %2548 to i1
  br i1 %2549, label %2550, label %2554

2550:                                             ; preds = %2544
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2552 = call i32 @fileno(ptr noundef %2551) #13
  %2553 = call i32 @isatty(i32 noundef %2552) #13
  %.not667 = icmp eq i32 %2553, 0
  br i1 %.not667, label %2554, label %2555

2554:                                             ; preds = %2550, %2544
  br label %2555

2555:                                             ; preds = %2550, %2554
  %.str.5.sink1505 = phi ptr [ @.str.5, %2554 ], [ @.str.2, %2550 ]
  store i32 %2545, ptr %285, align 4, !tbaa !9
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2557 = load i32, ptr @test_count, align 4, !tbaa !9
  %2558 = load i32, ptr %231, align 4, !tbaa !9
  %2559 = call ptr @s2n_strerror(i32 noundef %2558, ptr noundef nonnull @.str.4) #13
  %2560 = load i32, ptr %231, align 4, !tbaa !9
  %2561 = call ptr @s2n_strerror_debug(i32 noundef %2560, ptr noundef nonnull @.str.4) #13
  %2562 = load i32, ptr %285, align 4, !tbaa !9
  %2563 = call ptr @strerror(i32 noundef %2562) #13
  %2564 = load i32, ptr %285, align 4, !tbaa !9
  %2565 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2556, ptr noundef nonnull %.str.5.sink1505, i32 noundef %2557, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 162, ptr noundef %2559, ptr noundef %2561, ptr noundef %2563, i32 noundef %2564) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2566:                                             ; preds = %2539
  %2567 = load i32, ptr @test_count, align 4, !tbaa !9
  %2568 = add nsw i32 %2567, 1
  store i32 %2568, ptr @test_count, align 4, !tbaa !9
  %2569 = load i64, ptr %12, align 8, !tbaa !5
  %2570 = icmp eq i64 %2569, 9
  br i1 %2570, label %2593, label %2571

2571:                                             ; preds = %2566
  %2572 = load i32, ptr %285, align 4, !tbaa !9
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2574 = call i32 @s2n_print_stacktrace(ptr noundef %2573) #13
  %2575 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2576 = trunc nuw i8 %2575 to i1
  br i1 %2576, label %2577, label %2581

2577:                                             ; preds = %2571
  %2578 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2579 = call i32 @fileno(ptr noundef %2578) #13
  %2580 = call i32 @isatty(i32 noundef %2579) #13
  %.not512 = icmp eq i32 %2580, 0
  br i1 %.not512, label %2581, label %2582

2581:                                             ; preds = %2577, %2571
  br label %2582

2582:                                             ; preds = %2577, %2581
  %.str.5.sink1514 = phi ptr [ @.str.5, %2581 ], [ @.str.2, %2577 ]
  store i32 %2572, ptr %285, align 4, !tbaa !9
  %2583 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2584 = load i32, ptr @test_count, align 4, !tbaa !9
  %2585 = load i32, ptr %231, align 4, !tbaa !9
  %2586 = call ptr @s2n_strerror(i32 noundef %2585, ptr noundef nonnull @.str.4) #13
  %2587 = load i32, ptr %231, align 4, !tbaa !9
  %2588 = call ptr @s2n_strerror_debug(i32 noundef %2587, ptr noundef nonnull @.str.4) #13
  %2589 = load i32, ptr %285, align 4, !tbaa !9
  %2590 = call ptr @strerror(i32 noundef %2589) #13
  %2591 = load i32, ptr %285, align 4, !tbaa !9
  %2592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2583, ptr noundef nonnull %.str.5.sink1514, i32 noundef %2584, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 163, ptr noundef %2586, ptr noundef %2588, ptr noundef %2590, i32 noundef %2591) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2593:                                             ; preds = %2566
  %2594 = add nsw i32 %2567, 2
  store i32 %2594, ptr @test_count, align 4, !tbaa !9
  %2595 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %7) #17
  %2596 = trunc i64 %2595 to i32
  %2597 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %7, i32 noundef %2596) #13
  %2598 = icmp eq i32 %2597, -1
  br i1 %2598, label %2599, label %2621

2599:                                             ; preds = %2593
  %2600 = load i32, ptr %285, align 4, !tbaa !9
  %2601 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2602 = call i32 @s2n_print_stacktrace(ptr noundef %2601) #13
  %2603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2604 = trunc nuw i8 %2603 to i1
  br i1 %2604, label %2605, label %2609

2605:                                             ; preds = %2599
  %2606 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2607 = call i32 @fileno(ptr noundef %2606) #13
  %2608 = call i32 @isatty(i32 noundef %2607) #13
  %.not666 = icmp eq i32 %2608, 0
  br i1 %.not666, label %2609, label %2610

2609:                                             ; preds = %2605, %2599
  br label %2610

2610:                                             ; preds = %2605, %2609
  %.str.5.sink1523 = phi ptr [ @.str.5, %2609 ], [ @.str.2, %2605 ]
  store i32 %2600, ptr %285, align 4, !tbaa !9
  %2611 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2612 = load i32, ptr @test_count, align 4, !tbaa !9
  %2613 = load i32, ptr %231, align 4, !tbaa !9
  %2614 = call ptr @s2n_strerror(i32 noundef %2613, ptr noundef nonnull @.str.4) #13
  %2615 = load i32, ptr %231, align 4, !tbaa !9
  %2616 = call ptr @s2n_strerror_debug(i32 noundef %2615, ptr noundef nonnull @.str.4) #13
  %2617 = load i32, ptr %285, align 4, !tbaa !9
  %2618 = call ptr @strerror(i32 noundef %2617) #13
  %2619 = load i32, ptr %285, align 4, !tbaa !9
  %2620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2611, ptr noundef nonnull %.str.5.sink1523, i32 noundef %2612, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %2614, ptr noundef %2616, ptr noundef %2618, i32 noundef %2619) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2621:                                             ; preds = %2593
  %2622 = load i32, ptr @test_count, align 4, !tbaa !9
  %2623 = add nsw i32 %2622, 1
  store i32 %2623, ptr @test_count, align 4, !tbaa !9
  %2624 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not513 = icmp eq i32 %2624, 0
  br i1 %.not513, label %2625, label %2647

2625:                                             ; preds = %2621
  %2626 = load i32, ptr %285, align 4, !tbaa !9
  %2627 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2628 = call i32 @s2n_print_stacktrace(ptr noundef %2627) #13
  %2629 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2630 = trunc nuw i8 %2629 to i1
  br i1 %2630, label %2631, label %2635

2631:                                             ; preds = %2625
  %2632 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2633 = call i32 @fileno(ptr noundef %2632) #13
  %2634 = call i32 @isatty(i32 noundef %2633) #13
  %.not514 = icmp eq i32 %2634, 0
  br i1 %.not514, label %2635, label %2636

2635:                                             ; preds = %2631, %2625
  br label %2636

2636:                                             ; preds = %2631, %2635
  %.str.5.sink1532 = phi ptr [ @.str.5, %2635 ], [ @.str.2, %2631 ]
  store i32 %2626, ptr %285, align 4, !tbaa !9
  %2637 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2638 = load i32, ptr @test_count, align 4, !tbaa !9
  %2639 = load i32, ptr %231, align 4, !tbaa !9
  %2640 = call ptr @s2n_strerror(i32 noundef %2639, ptr noundef nonnull @.str.4) #13
  %2641 = load i32, ptr %231, align 4, !tbaa !9
  %2642 = call ptr @s2n_strerror_debug(i32 noundef %2641, ptr noundef nonnull @.str.4) #13
  %2643 = load i32, ptr %285, align 4, !tbaa !9
  %2644 = call ptr @strerror(i32 noundef %2643) #13
  %2645 = load i32, ptr %285, align 4, !tbaa !9
  %2646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2637, ptr noundef nonnull %.str.5.sink1532, i32 noundef %2638, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %2640, ptr noundef %2642, ptr noundef %2644, i32 noundef %2645) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2647:                                             ; preds = %2621
  %2648 = load i32, ptr @test_count, align 4, !tbaa !9
  %2649 = add nsw i32 %2648, 1
  store i32 %2649, ptr @test_count, align 4, !tbaa !9
  %2650 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %2651 = icmp eq i32 %2650, -1
  br i1 %2651, label %2652, label %2674

2652:                                             ; preds = %2647
  %2653 = load i32, ptr %285, align 4, !tbaa !9
  %2654 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2655 = call i32 @s2n_print_stacktrace(ptr noundef %2654) #13
  %2656 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2657 = trunc nuw i8 %2656 to i1
  br i1 %2657, label %2658, label %2662

2658:                                             ; preds = %2652
  %2659 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2660 = call i32 @fileno(ptr noundef %2659) #13
  %2661 = call i32 @isatty(i32 noundef %2660) #13
  %.not665 = icmp eq i32 %2661, 0
  br i1 %.not665, label %2662, label %2663

2662:                                             ; preds = %2658, %2652
  br label %2663

2663:                                             ; preds = %2658, %2662
  %.str.5.sink1541 = phi ptr [ @.str.5, %2662 ], [ @.str.2, %2658 ]
  store i32 %2653, ptr %285, align 4, !tbaa !9
  %2664 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2665 = load i32, ptr @test_count, align 4, !tbaa !9
  %2666 = load i32, ptr %231, align 4, !tbaa !9
  %2667 = call ptr @s2n_strerror(i32 noundef %2666, ptr noundef nonnull @.str.4) #13
  %2668 = load i32, ptr %231, align 4, !tbaa !9
  %2669 = call ptr @s2n_strerror_debug(i32 noundef %2668, ptr noundef nonnull @.str.4) #13
  %2670 = load i32, ptr %285, align 4, !tbaa !9
  %2671 = call ptr @strerror(i32 noundef %2670) #13
  %2672 = load i32, ptr %285, align 4, !tbaa !9
  %2673 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2664, ptr noundef nonnull %.str.5.sink1541, i32 noundef %2665, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %2667, ptr noundef %2669, ptr noundef %2671, i32 noundef %2672) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2674:                                             ; preds = %2647
  %2675 = load i32, ptr @test_count, align 4, !tbaa !9
  %2676 = add nsw i32 %2675, 1
  store i32 %2676, ptr @test_count, align 4, !tbaa !9
  %2677 = load i64, ptr %12, align 8, !tbaa !5
  %2678 = icmp eq i64 %2677, 22
  br i1 %2678, label %2701, label %2679

2679:                                             ; preds = %2674
  %2680 = load i32, ptr %285, align 4, !tbaa !9
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2682 = call i32 @s2n_print_stacktrace(ptr noundef %2681) #13
  %2683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2684 = trunc nuw i8 %2683 to i1
  br i1 %2684, label %2685, label %2689

2685:                                             ; preds = %2679
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2687 = call i32 @fileno(ptr noundef %2686) #13
  %2688 = call i32 @isatty(i32 noundef %2687) #13
  %.not515 = icmp eq i32 %2688, 0
  br i1 %.not515, label %2689, label %2690

2689:                                             ; preds = %2685, %2679
  br label %2690

2690:                                             ; preds = %2685, %2689
  %.str.5.sink1550 = phi ptr [ @.str.5, %2689 ], [ @.str.2, %2685 ]
  store i32 %2680, ptr %285, align 4, !tbaa !9
  %2691 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2692 = load i32, ptr @test_count, align 4, !tbaa !9
  %2693 = load i32, ptr %231, align 4, !tbaa !9
  %2694 = call ptr @s2n_strerror(i32 noundef %2693, ptr noundef nonnull @.str.4) #13
  %2695 = load i32, ptr %231, align 4, !tbaa !9
  %2696 = call ptr @s2n_strerror_debug(i32 noundef %2695, ptr noundef nonnull @.str.4) #13
  %2697 = load i32, ptr %285, align 4, !tbaa !9
  %2698 = call ptr @strerror(i32 noundef %2697) #13
  %2699 = load i32, ptr %285, align 4, !tbaa !9
  %2700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2691, ptr noundef nonnull %.str.5.sink1550, i32 noundef %2692, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %2694, ptr noundef %2696, ptr noundef %2698, i32 noundef %2699) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2701:                                             ; preds = %2674
  %2702 = add nsw i32 %2675, 2
  store i32 %2702, ptr @test_count, align 4, !tbaa !9
  %2703 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 20) #13
  %2704 = icmp eq i32 %2703, -1
  br i1 %2704, label %2705, label %2727

2705:                                             ; preds = %2701
  %2706 = load i32, ptr %285, align 4, !tbaa !9
  %2707 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2708 = call i32 @s2n_print_stacktrace(ptr noundef %2707) #13
  %2709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2710 = trunc nuw i8 %2709 to i1
  br i1 %2710, label %2711, label %2715

2711:                                             ; preds = %2705
  %2712 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2713 = call i32 @fileno(ptr noundef %2712) #13
  %2714 = call i32 @isatty(i32 noundef %2713) #13
  %.not664 = icmp eq i32 %2714, 0
  br i1 %.not664, label %2715, label %2716

2715:                                             ; preds = %2711, %2705
  br label %2716

2716:                                             ; preds = %2711, %2715
  %.str.5.sink1559 = phi ptr [ @.str.5, %2715 ], [ @.str.2, %2711 ]
  store i32 %2706, ptr %285, align 4, !tbaa !9
  %2717 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2718 = load i32, ptr @test_count, align 4, !tbaa !9
  %2719 = load i32, ptr %231, align 4, !tbaa !9
  %2720 = call ptr @s2n_strerror(i32 noundef %2719, ptr noundef nonnull @.str.4) #13
  %2721 = load i32, ptr %231, align 4, !tbaa !9
  %2722 = call ptr @s2n_strerror_debug(i32 noundef %2721, ptr noundef nonnull @.str.4) #13
  %2723 = load i32, ptr %285, align 4, !tbaa !9
  %2724 = call ptr @strerror(i32 noundef %2723) #13
  %2725 = load i32, ptr %285, align 4, !tbaa !9
  %2726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2717, ptr noundef nonnull %.str.5.sink1559, i32 noundef %2718, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %2720, ptr noundef %2722, ptr noundef %2724, i32 noundef %2725) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2727:                                             ; preds = %2701
  %2728 = load i32, ptr @test_count, align 4, !tbaa !9
  %2729 = add nsw i32 %2728, 1
  store i32 %2729, ptr @test_count, align 4, !tbaa !9
  %2730 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not516 = icmp eq i32 %2730, 0
  br i1 %.not516, label %2753, label %2731

2731:                                             ; preds = %2727
  %2732 = load i32, ptr %285, align 4, !tbaa !9
  %2733 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2734 = call i32 @s2n_print_stacktrace(ptr noundef %2733) #13
  %2735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2736 = trunc nuw i8 %2735 to i1
  br i1 %2736, label %2737, label %2741

2737:                                             ; preds = %2731
  %2738 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2739 = call i32 @fileno(ptr noundef %2738) #13
  %2740 = call i32 @isatty(i32 noundef %2739) #13
  %.not663 = icmp eq i32 %2740, 0
  br i1 %.not663, label %2741, label %2742

2741:                                             ; preds = %2737, %2731
  br label %2742

2742:                                             ; preds = %2737, %2741
  %.str.5.sink1568 = phi ptr [ @.str.5, %2741 ], [ @.str.2, %2737 ]
  store i32 %2732, ptr %285, align 4, !tbaa !9
  %2743 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2744 = load i32, ptr @test_count, align 4, !tbaa !9
  %2745 = load i32, ptr %231, align 4, !tbaa !9
  %2746 = call ptr @s2n_strerror(i32 noundef %2745, ptr noundef nonnull @.str.4) #13
  %2747 = load i32, ptr %231, align 4, !tbaa !9
  %2748 = call ptr @s2n_strerror_debug(i32 noundef %2747, ptr noundef nonnull @.str.4) #13
  %2749 = load i32, ptr %285, align 4, !tbaa !9
  %2750 = call ptr @strerror(i32 noundef %2749) #13
  %2751 = load i32, ptr %285, align 4, !tbaa !9
  %2752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2743, ptr noundef nonnull %.str.5.sink1568, i32 noundef %2744, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %2746, ptr noundef %2748, ptr noundef %2750, i32 noundef %2751) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2753:                                             ; preds = %2727
  %2754 = load i32, ptr @test_count, align 4, !tbaa !9
  %2755 = add nsw i32 %2754, 1
  store i32 %2755, ptr @test_count, align 4, !tbaa !9
  %2756 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %2757 = icmp eq i32 %2756, -1
  br i1 %2757, label %2780, label %2758

2758:                                             ; preds = %2753
  %2759 = load i32, ptr %285, align 4, !tbaa !9
  %2760 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2761 = call i32 @s2n_print_stacktrace(ptr noundef %2760) #13
  %2762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2763 = trunc nuw i8 %2762 to i1
  br i1 %2763, label %2764, label %2768

2764:                                             ; preds = %2758
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2766 = call i32 @fileno(ptr noundef %2765) #13
  %2767 = call i32 @isatty(i32 noundef %2766) #13
  %.not517 = icmp eq i32 %2767, 0
  br i1 %.not517, label %2768, label %2769

2768:                                             ; preds = %2764, %2758
  br label %2769

2769:                                             ; preds = %2764, %2768
  %.str.5.sink1577 = phi ptr [ @.str.5, %2768 ], [ @.str.2, %2764 ]
  store i32 %2759, ptr %285, align 4, !tbaa !9
  %2770 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2771 = load i32, ptr @test_count, align 4, !tbaa !9
  %2772 = load i32, ptr %231, align 4, !tbaa !9
  %2773 = call ptr @s2n_strerror(i32 noundef %2772, ptr noundef nonnull @.str.4) #13
  %2774 = load i32, ptr %231, align 4, !tbaa !9
  %2775 = call ptr @s2n_strerror_debug(i32 noundef %2774, ptr noundef nonnull @.str.4) #13
  %2776 = load i32, ptr %285, align 4, !tbaa !9
  %2777 = call ptr @strerror(i32 noundef %2776) #13
  %2778 = load i32, ptr %285, align 4, !tbaa !9
  %2779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2770, ptr noundef nonnull %.str.5.sink1577, i32 noundef %2771, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2773, ptr noundef %2775, ptr noundef %2777, i32 noundef %2778) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2780:                                             ; preds = %2753
  %2781 = load i32, ptr @test_count, align 4, !tbaa !9
  %2782 = add nsw i32 %2781, 1
  store i32 %2782, ptr @test_count, align 4, !tbaa !9
  %2783 = load i32, ptr %231, align 4, !tbaa !9
  %2784 = icmp eq i32 %2783, 0
  br i1 %2784, label %2785, label %2807

2785:                                             ; preds = %2780
  %2786 = load i32, ptr %285, align 4, !tbaa !9
  %2787 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2788 = call i32 @s2n_print_stacktrace(ptr noundef %2787) #13
  %2789 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2790 = trunc nuw i8 %2789 to i1
  br i1 %2790, label %2791, label %2795

2791:                                             ; preds = %2785
  %2792 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2793 = call i32 @fileno(ptr noundef %2792) #13
  %2794 = call i32 @isatty(i32 noundef %2793) #13
  %.not662 = icmp eq i32 %2794, 0
  br i1 %.not662, label %2795, label %2796

2795:                                             ; preds = %2791, %2785
  br label %2796

2796:                                             ; preds = %2791, %2795
  %.str.5.sink1586 = phi ptr [ @.str.5, %2795 ], [ @.str.2, %2791 ]
  store i32 %2786, ptr %285, align 4, !tbaa !9
  %2797 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2798 = load i32, ptr @test_count, align 4, !tbaa !9
  %2799 = load i32, ptr %231, align 4, !tbaa !9
  %2800 = call ptr @s2n_strerror(i32 noundef %2799, ptr noundef nonnull @.str.4) #13
  %2801 = load i32, ptr %231, align 4, !tbaa !9
  %2802 = call ptr @s2n_strerror_debug(i32 noundef %2801, ptr noundef nonnull @.str.4) #13
  %2803 = load i32, ptr %285, align 4, !tbaa !9
  %2804 = call ptr @strerror(i32 noundef %2803) #13
  %2805 = load i32, ptr %285, align 4, !tbaa !9
  %2806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2797, ptr noundef nonnull %.str.5.sink1586, i32 noundef %2798, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2800, ptr noundef %2802, ptr noundef %2804, i32 noundef %2805) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2807:                                             ; preds = %2780
  %2808 = add nsw i32 %2781, 2
  store i32 %2808, ptr @test_count, align 4, !tbaa !9
  %2809 = call ptr @s2n_strerror_debug(i32 noundef %2783, ptr noundef nonnull @.str.4) #13
  %2810 = icmp eq ptr %2809, null
  br i1 %2810, label %2811, label %2833

2811:                                             ; preds = %2807
  %2812 = load i32, ptr %285, align 4, !tbaa !9
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2814 = call i32 @s2n_print_stacktrace(ptr noundef %2813) #13
  %2815 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2816 = trunc nuw i8 %2815 to i1
  br i1 %2816, label %2817, label %2821

2817:                                             ; preds = %2811
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2819 = call i32 @fileno(ptr noundef %2818) #13
  %2820 = call i32 @isatty(i32 noundef %2819) #13
  %.not661 = icmp eq i32 %2820, 0
  br i1 %.not661, label %2821, label %2822

2821:                                             ; preds = %2817, %2811
  br label %2822

2822:                                             ; preds = %2817, %2821
  %.str.5.sink1595 = phi ptr [ @.str.5, %2821 ], [ @.str.2, %2817 ]
  store i32 %2812, ptr %285, align 4, !tbaa !9
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2824 = load i32, ptr @test_count, align 4, !tbaa !9
  %2825 = load i32, ptr %231, align 4, !tbaa !9
  %2826 = call ptr @s2n_strerror(i32 noundef %2825, ptr noundef nonnull @.str.4) #13
  %2827 = load i32, ptr %231, align 4, !tbaa !9
  %2828 = call ptr @s2n_strerror_debug(i32 noundef %2827, ptr noundef nonnull @.str.4) #13
  %2829 = load i32, ptr %285, align 4, !tbaa !9
  %2830 = call ptr @strerror(i32 noundef %2829) #13
  %2831 = load i32, ptr %285, align 4, !tbaa !9
  %2832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2823, ptr noundef nonnull %.str.5.sink1595, i32 noundef %2824, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %2826, ptr noundef %2828, ptr noundef %2830, i32 noundef %2831) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2833:                                             ; preds = %2807
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %2834 = load i32, ptr @test_count, align 4, !tbaa !9
  %2835 = add nsw i32 %2834, 1
  store i32 %2835, ptr @test_count, align 4, !tbaa !9
  %2836 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %2837 = icmp eq i32 %2836, -1
  br i1 %2837, label %2843, label %.preheader723.preheader

.preheader723.preheader:                          ; preds = %2833
  %2838 = load i32, ptr @test_count, align 4, !tbaa !9
  %2839 = add nsw i32 %2838, 1
  store i32 %2839, ptr @test_count, align 4, !tbaa !9
  %2840 = load i8, ptr %3, align 16, !tbaa !17
  %2841 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2840) #13
  %2842 = call zeroext i1 @s2n_result_is_ok(i32 %2841)
  br i1 %2842, label %.preheader723.1, label %2964

2843:                                             ; preds = %2833
  %2844 = load i32, ptr %285, align 4, !tbaa !9
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2846 = call i32 @s2n_print_stacktrace(ptr noundef %2845) #13
  %2847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2848 = trunc nuw i8 %2847 to i1
  br i1 %2848, label %2849, label %2853

2849:                                             ; preds = %2843
  %2850 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2851 = call i32 @fileno(ptr noundef %2850) #13
  %2852 = call i32 @isatty(i32 noundef %2851) #13
  %.not660 = icmp eq i32 %2852, 0
  br i1 %.not660, label %2853, label %2854

2853:                                             ; preds = %2849, %2843
  br label %2854

2854:                                             ; preds = %2849, %2853
  %.str.5.sink1604 = phi ptr [ @.str.5, %2853 ], [ @.str.2, %2849 ]
  store i32 %2844, ptr %285, align 4, !tbaa !9
  %2855 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2856 = load i32, ptr @test_count, align 4, !tbaa !9
  %2857 = load i32, ptr %231, align 4, !tbaa !9
  %2858 = call ptr @s2n_strerror(i32 noundef %2857, ptr noundef nonnull @.str.4) #13
  %2859 = load i32, ptr %231, align 4, !tbaa !9
  %2860 = call ptr @s2n_strerror_debug(i32 noundef %2859, ptr noundef nonnull @.str.4) #13
  %2861 = load i32, ptr %285, align 4, !tbaa !9
  %2862 = call ptr @strerror(i32 noundef %2861) #13
  %2863 = load i32, ptr %285, align 4, !tbaa !9
  %2864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2855, ptr noundef nonnull %.str.5.sink1604, i32 noundef %2856, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %2858, ptr noundef %2860, ptr noundef %2862, i32 noundef %2863) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader723.1:                                  ; preds = %.preheader723.preheader
  %2865 = load i32, ptr @test_count, align 4, !tbaa !9
  %2866 = add nsw i32 %2865, 1
  store i32 %2866, ptr @test_count, align 4, !tbaa !9
  %2867 = load i8, ptr %1621, align 1, !tbaa !17
  %2868 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2867) #13
  %2869 = call zeroext i1 @s2n_result_is_ok(i32 %2868)
  br i1 %2869, label %.preheader723.2, label %2964

.preheader723.2:                                  ; preds = %.preheader723.1
  %2870 = load i32, ptr @test_count, align 4, !tbaa !9
  %2871 = add nsw i32 %2870, 1
  store i32 %2871, ptr @test_count, align 4, !tbaa !9
  %2872 = load i8, ptr %1627, align 2, !tbaa !17
  %2873 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2872) #13
  %2874 = call zeroext i1 @s2n_result_is_ok(i32 %2873)
  br i1 %2874, label %.preheader723.3, label %2964

.preheader723.3:                                  ; preds = %.preheader723.2
  %2875 = load i32, ptr @test_count, align 4, !tbaa !9
  %2876 = add nsw i32 %2875, 1
  store i32 %2876, ptr @test_count, align 4, !tbaa !9
  %2877 = load i8, ptr %1633, align 1, !tbaa !17
  %2878 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2877) #13
  %2879 = call zeroext i1 @s2n_result_is_ok(i32 %2878)
  br i1 %2879, label %.preheader723.4, label %2964

.preheader723.4:                                  ; preds = %.preheader723.3
  %2880 = load i32, ptr @test_count, align 4, !tbaa !9
  %2881 = add nsw i32 %2880, 1
  store i32 %2881, ptr @test_count, align 4, !tbaa !9
  %2882 = load i8, ptr %1639, align 4, !tbaa !17
  %2883 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2882) #13
  %2884 = call zeroext i1 @s2n_result_is_ok(i32 %2883)
  br i1 %2884, label %.preheader723.5, label %2964

.preheader723.5:                                  ; preds = %.preheader723.4
  %2885 = load i32, ptr @test_count, align 4, !tbaa !9
  %2886 = add nsw i32 %2885, 1
  store i32 %2886, ptr @test_count, align 4, !tbaa !9
  %2887 = load i8, ptr %1645, align 1, !tbaa !17
  %2888 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2887) #13
  %2889 = call zeroext i1 @s2n_result_is_ok(i32 %2888)
  br i1 %2889, label %.preheader723.6, label %2964

.preheader723.6:                                  ; preds = %.preheader723.5
  %2890 = load i32, ptr @test_count, align 4, !tbaa !9
  %2891 = add nsw i32 %2890, 1
  store i32 %2891, ptr @test_count, align 4, !tbaa !9
  %2892 = load i8, ptr %1651, align 2, !tbaa !17
  %2893 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2892) #13
  %2894 = call zeroext i1 @s2n_result_is_ok(i32 %2893)
  br i1 %2894, label %.preheader723.7, label %2964

.preheader723.7:                                  ; preds = %.preheader723.6
  %2895 = load i32, ptr @test_count, align 4, !tbaa !9
  %2896 = add nsw i32 %2895, 1
  store i32 %2896, ptr @test_count, align 4, !tbaa !9
  %2897 = load i8, ptr %1657, align 1, !tbaa !17
  %2898 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2897) #13
  %2899 = call zeroext i1 @s2n_result_is_ok(i32 %2898)
  br i1 %2899, label %.preheader723.8, label %2964

.preheader723.8:                                  ; preds = %.preheader723.7
  %2900 = load i32, ptr @test_count, align 4, !tbaa !9
  %2901 = add nsw i32 %2900, 1
  store i32 %2901, ptr @test_count, align 4, !tbaa !9
  %2902 = load i8, ptr %1663, align 8, !tbaa !17
  %2903 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2902) #13
  %2904 = call zeroext i1 @s2n_result_is_ok(i32 %2903)
  br i1 %2904, label %.preheader723.9, label %2964

.preheader723.9:                                  ; preds = %.preheader723.8
  %2905 = load i32, ptr @test_count, align 4, !tbaa !9
  %2906 = add nsw i32 %2905, 1
  store i32 %2906, ptr @test_count, align 4, !tbaa !9
  %2907 = load i8, ptr %1669, align 1, !tbaa !17
  %2908 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2907) #13
  %2909 = call zeroext i1 @s2n_result_is_ok(i32 %2908)
  br i1 %2909, label %.preheader723.10, label %2964

.preheader723.10:                                 ; preds = %.preheader723.9
  %2910 = load i32, ptr @test_count, align 4, !tbaa !9
  %2911 = add nsw i32 %2910, 1
  store i32 %2911, ptr @test_count, align 4, !tbaa !9
  %2912 = load i8, ptr %1675, align 2, !tbaa !17
  %2913 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2912) #13
  %2914 = call zeroext i1 @s2n_result_is_ok(i32 %2913)
  br i1 %2914, label %.preheader723.11, label %2964

.preheader723.11:                                 ; preds = %.preheader723.10
  %2915 = load i32, ptr @test_count, align 4, !tbaa !9
  %2916 = add nsw i32 %2915, 1
  store i32 %2916, ptr @test_count, align 4, !tbaa !9
  %2917 = load i8, ptr %1681, align 1, !tbaa !17
  %2918 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2917) #13
  %2919 = call zeroext i1 @s2n_result_is_ok(i32 %2918)
  br i1 %2919, label %.preheader723.12, label %2964

.preheader723.12:                                 ; preds = %.preheader723.11
  %2920 = load i32, ptr @test_count, align 4, !tbaa !9
  %2921 = add nsw i32 %2920, 1
  store i32 %2921, ptr @test_count, align 4, !tbaa !9
  %2922 = load i8, ptr %1687, align 4, !tbaa !17
  %2923 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2922) #13
  %2924 = call zeroext i1 @s2n_result_is_ok(i32 %2923)
  br i1 %2924, label %.preheader723.13, label %2964

.preheader723.13:                                 ; preds = %.preheader723.12
  %2925 = load i32, ptr @test_count, align 4, !tbaa !9
  %2926 = add nsw i32 %2925, 1
  store i32 %2926, ptr @test_count, align 4, !tbaa !9
  %2927 = load i8, ptr %1693, align 1, !tbaa !17
  %2928 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2927) #13
  %2929 = call zeroext i1 @s2n_result_is_ok(i32 %2928)
  br i1 %2929, label %.preheader723.14, label %2964

.preheader723.14:                                 ; preds = %.preheader723.13
  %2930 = load i32, ptr @test_count, align 4, !tbaa !9
  %2931 = add nsw i32 %2930, 1
  store i32 %2931, ptr @test_count, align 4, !tbaa !9
  %2932 = load i8, ptr %1699, align 2, !tbaa !17
  %2933 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2932) #13
  %2934 = call zeroext i1 @s2n_result_is_ok(i32 %2933)
  br i1 %2934, label %.preheader723.15, label %2964

.preheader723.15:                                 ; preds = %.preheader723.14
  %2935 = load i32, ptr @test_count, align 4, !tbaa !9
  %2936 = add nsw i32 %2935, 1
  store i32 %2936, ptr @test_count, align 4, !tbaa !9
  %2937 = load i8, ptr %1705, align 1, !tbaa !17
  %2938 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2937) #13
  %2939 = call zeroext i1 @s2n_result_is_ok(i32 %2938)
  br i1 %2939, label %.preheader723.16, label %2964

.preheader723.16:                                 ; preds = %.preheader723.15
  %2940 = load i32, ptr @test_count, align 4, !tbaa !9
  %2941 = add nsw i32 %2940, 1
  store i32 %2941, ptr @test_count, align 4, !tbaa !9
  %2942 = load i8, ptr %1711, align 16, !tbaa !17
  %2943 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2942) #13
  %2944 = call zeroext i1 @s2n_result_is_ok(i32 %2943)
  br i1 %2944, label %.preheader723.17, label %2964

.preheader723.17:                                 ; preds = %.preheader723.16
  %2945 = load i32, ptr @test_count, align 4, !tbaa !9
  %2946 = add nsw i32 %2945, 1
  store i32 %2946, ptr @test_count, align 4, !tbaa !9
  %2947 = load i8, ptr %1717, align 1, !tbaa !17
  %2948 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2947) #13
  %2949 = call zeroext i1 @s2n_result_is_ok(i32 %2948)
  br i1 %2949, label %.preheader723.18, label %2964

.preheader723.18:                                 ; preds = %.preheader723.17
  %2950 = load i32, ptr @test_count, align 4, !tbaa !9
  %2951 = add nsw i32 %2950, 1
  store i32 %2951, ptr @test_count, align 4, !tbaa !9
  %2952 = load i8, ptr %1723, align 2, !tbaa !17
  %2953 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2952) #13
  %2954 = call zeroext i1 @s2n_result_is_ok(i32 %2953)
  br i1 %2954, label %.preheader723.19, label %2964

.preheader723.19:                                 ; preds = %.preheader723.18
  %2955 = load i32, ptr @test_count, align 4, !tbaa !9
  %2956 = add nsw i32 %2955, 1
  store i32 %2956, ptr @test_count, align 4, !tbaa !9
  %2957 = load i8, ptr %1729, align 1, !tbaa !17
  %2958 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %2957) #13
  %2959 = call zeroext i1 @s2n_result_is_ok(i32 %2958)
  br i1 %2959, label %2960, label %2964

2960:                                             ; preds = %.preheader723.19
  %2961 = load i32, ptr @test_count, align 4, !tbaa !9
  %2962 = add nsw i32 %2961, 1
  store i32 %2962, ptr @test_count, align 4, !tbaa !9
  %bcmp518 = call i32 @bcmp(ptr noundef nonnull dereferenceable(40) %4, ptr noundef nonnull dereferenceable(40) @.str.43, i64 40)
  %2963 = icmp eq i32 %bcmp518, 0
  br i1 %2963, label %3008, label %2986

2964:                                             ; preds = %.preheader723.19, %.preheader723.18, %.preheader723.17, %.preheader723.16, %.preheader723.15, %.preheader723.14, %.preheader723.13, %.preheader723.12, %.preheader723.11, %.preheader723.10, %.preheader723.9, %.preheader723.8, %.preheader723.7, %.preheader723.6, %.preheader723.5, %.preheader723.4, %.preheader723.3, %.preheader723.2, %.preheader723.1, %.preheader723.preheader
  %2965 = load i32, ptr %285, align 4, !tbaa !9
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2967 = call i32 @s2n_print_stacktrace(ptr noundef %2966) #13
  %2968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2969 = trunc nuw i8 %2968 to i1
  br i1 %2969, label %2970, label %2974

2970:                                             ; preds = %2964
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2972 = call i32 @fileno(ptr noundef %2971) #13
  %2973 = call i32 @isatty(i32 noundef %2972) #13
  %.not659 = icmp eq i32 %2973, 0
  br i1 %.not659, label %2974, label %2975

2974:                                             ; preds = %2970, %2964
  br label %2975

2975:                                             ; preds = %2970, %2974
  %.str.5.sink1613 = phi ptr [ @.str.5, %2974 ], [ @.str.2, %2970 ]
  store i32 %2965, ptr %285, align 4, !tbaa !9
  %2976 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2977 = load i32, ptr @test_count, align 4, !tbaa !9
  %2978 = load i32, ptr %231, align 4, !tbaa !9
  %2979 = call ptr @s2n_strerror(i32 noundef %2978, ptr noundef nonnull @.str.4) #13
  %2980 = load i32, ptr %231, align 4, !tbaa !9
  %2981 = call ptr @s2n_strerror_debug(i32 noundef %2980, ptr noundef nonnull @.str.4) #13
  %2982 = load i32, ptr %285, align 4, !tbaa !9
  %2983 = call ptr @strerror(i32 noundef %2982) #13
  %2984 = load i32, ptr %285, align 4, !tbaa !9
  %2985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2976, ptr noundef nonnull %.str.5.sink1613, i32 noundef %2977, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 176, ptr noundef %2979, ptr noundef %2981, ptr noundef %2983, i32 noundef %2984) #15
  call void @exit(i32 noundef 1) #16
  unreachable

2986:                                             ; preds = %2960
  %2987 = load i32, ptr %285, align 4, !tbaa !9
  %2988 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2989 = call i32 @s2n_print_stacktrace(ptr noundef %2988) #13
  %2990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %2991 = trunc nuw i8 %2990 to i1
  br i1 %2991, label %2992, label %2996

2992:                                             ; preds = %2986
  %2993 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2994 = call i32 @fileno(ptr noundef %2993) #13
  %2995 = call i32 @isatty(i32 noundef %2994) #13
  %.not519 = icmp eq i32 %2995, 0
  br i1 %.not519, label %2996, label %2997

2996:                                             ; preds = %2992, %2986
  br label %2997

2997:                                             ; preds = %2992, %2996
  %.str.5.sink1622 = phi ptr [ @.str.5, %2996 ], [ @.str.2, %2992 ]
  store i32 %2987, ptr %285, align 4, !tbaa !9
  %2998 = load ptr, ptr @stderr, align 8, !tbaa !11
  %2999 = load i32, ptr @test_count, align 4, !tbaa !9
  %3000 = load i32, ptr %231, align 4, !tbaa !9
  %3001 = call ptr @s2n_strerror(i32 noundef %3000, ptr noundef nonnull @.str.4) #13
  %3002 = load i32, ptr %231, align 4, !tbaa !9
  %3003 = call ptr @s2n_strerror_debug(i32 noundef %3002, ptr noundef nonnull @.str.4) #13
  %3004 = load i32, ptr %285, align 4, !tbaa !9
  %3005 = call ptr @strerror(i32 noundef %3004) #13
  %3006 = load i32, ptr %285, align 4, !tbaa !9
  %3007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2998, ptr noundef nonnull %.str.5.sink1622, i32 noundef %2999, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %3001, ptr noundef %3003, ptr noundef %3005, i32 noundef %3006) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3008:                                             ; preds = %2960
  %3009 = add nsw i32 %2961, 2
  store i32 %3009, ptr @test_count, align 4, !tbaa !9
  %3010 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %7) #17
  %3011 = trunc i64 %3010 to i32
  %3012 = call i32 @s2n_hash_update(ptr noundef nonnull %10, ptr noundef nonnull %7, i32 noundef %3011) #13
  %3013 = icmp eq i32 %3012, -1
  br i1 %3013, label %3014, label %3036

3014:                                             ; preds = %3008
  %3015 = load i32, ptr %285, align 4, !tbaa !9
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3017 = call i32 @s2n_print_stacktrace(ptr noundef %3016) #13
  %3018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3019 = trunc nuw i8 %3018 to i1
  br i1 %3019, label %3020, label %3024

3020:                                             ; preds = %3014
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3022 = call i32 @fileno(ptr noundef %3021) #13
  %3023 = call i32 @isatty(i32 noundef %3022) #13
  %.not658 = icmp eq i32 %3023, 0
  br i1 %.not658, label %3024, label %3025

3024:                                             ; preds = %3020, %3014
  br label %3025

3025:                                             ; preds = %3020, %3024
  %.str.5.sink1631 = phi ptr [ @.str.5, %3024 ], [ @.str.2, %3020 ]
  store i32 %3015, ptr %285, align 4, !tbaa !9
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3027 = load i32, ptr @test_count, align 4, !tbaa !9
  %3028 = load i32, ptr %231, align 4, !tbaa !9
  %3029 = call ptr @s2n_strerror(i32 noundef %3028, ptr noundef nonnull @.str.4) #13
  %3030 = load i32, ptr %231, align 4, !tbaa !9
  %3031 = call ptr @s2n_strerror_debug(i32 noundef %3030, ptr noundef nonnull @.str.4) #13
  %3032 = load i32, ptr %285, align 4, !tbaa !9
  %3033 = call ptr @strerror(i32 noundef %3032) #13
  %3034 = load i32, ptr %285, align 4, !tbaa !9
  %3035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3026, ptr noundef nonnull %.str.5.sink1631, i32 noundef %3027, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 183, ptr noundef %3029, ptr noundef %3031, ptr noundef %3033, i32 noundef %3034) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3036:                                             ; preds = %3008
  %3037 = load i32, ptr @test_count, align 4, !tbaa !9
  %3038 = add nsw i32 %3037, 1
  store i32 %3038, ptr @test_count, align 4, !tbaa !9
  %3039 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not520 = icmp eq i32 %3039, 0
  br i1 %.not520, label %3040, label %3062

3040:                                             ; preds = %3036
  %3041 = load i32, ptr %285, align 4, !tbaa !9
  %3042 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3043 = call i32 @s2n_print_stacktrace(ptr noundef %3042) #13
  %3044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3045 = trunc nuw i8 %3044 to i1
  br i1 %3045, label %3046, label %3050

3046:                                             ; preds = %3040
  %3047 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3048 = call i32 @fileno(ptr noundef %3047) #13
  %3049 = call i32 @isatty(i32 noundef %3048) #13
  %.not521 = icmp eq i32 %3049, 0
  br i1 %.not521, label %3050, label %3051

3050:                                             ; preds = %3046, %3040
  br label %3051

3051:                                             ; preds = %3046, %3050
  %.str.5.sink1640 = phi ptr [ @.str.5, %3050 ], [ @.str.2, %3046 ]
  store i32 %3041, ptr %285, align 4, !tbaa !9
  %3052 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3053 = load i32, ptr @test_count, align 4, !tbaa !9
  %3054 = load i32, ptr %231, align 4, !tbaa !9
  %3055 = call ptr @s2n_strerror(i32 noundef %3054, ptr noundef nonnull @.str.4) #13
  %3056 = load i32, ptr %231, align 4, !tbaa !9
  %3057 = call ptr @s2n_strerror_debug(i32 noundef %3056, ptr noundef nonnull @.str.4) #13
  %3058 = load i32, ptr %285, align 4, !tbaa !9
  %3059 = call ptr @strerror(i32 noundef %3058) #13
  %3060 = load i32, ptr %285, align 4, !tbaa !9
  %3061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3052, ptr noundef nonnull %.str.5.sink1640, i32 noundef %3053, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %3055, ptr noundef %3057, ptr noundef %3059, i32 noundef %3060) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3062:                                             ; preds = %3036
  %3063 = load i32, ptr @test_count, align 4, !tbaa !9
  %3064 = add nsw i32 %3063, 1
  store i32 %3064, ptr @test_count, align 4, !tbaa !9
  %3065 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %3066 = icmp eq i32 %3065, -1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3062
  %3068 = load i32, ptr %285, align 4, !tbaa !9
  %3069 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3070 = call i32 @s2n_print_stacktrace(ptr noundef %3069) #13
  %3071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3072 = trunc nuw i8 %3071 to i1
  br i1 %3072, label %3073, label %3077

3073:                                             ; preds = %3067
  %3074 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3075 = call i32 @fileno(ptr noundef %3074) #13
  %3076 = call i32 @isatty(i32 noundef %3075) #13
  %.not657 = icmp eq i32 %3076, 0
  br i1 %.not657, label %3077, label %3078

3077:                                             ; preds = %3073, %3067
  br label %3078

3078:                                             ; preds = %3073, %3077
  %.str.5.sink1649 = phi ptr [ @.str.5, %3077 ], [ @.str.2, %3073 ]
  store i32 %3068, ptr %285, align 4, !tbaa !9
  %3079 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3080 = load i32, ptr @test_count, align 4, !tbaa !9
  %3081 = load i32, ptr %231, align 4, !tbaa !9
  %3082 = call ptr @s2n_strerror(i32 noundef %3081, ptr noundef nonnull @.str.4) #13
  %3083 = load i32, ptr %231, align 4, !tbaa !9
  %3084 = call ptr @s2n_strerror_debug(i32 noundef %3083, ptr noundef nonnull @.str.4) #13
  %3085 = load i32, ptr %285, align 4, !tbaa !9
  %3086 = call ptr @strerror(i32 noundef %3085) #13
  %3087 = load i32, ptr %285, align 4, !tbaa !9
  %3088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3079, ptr noundef nonnull %.str.5.sink1649, i32 noundef %3080, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %3082, ptr noundef %3084, ptr noundef %3086, i32 noundef %3087) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3089:                                             ; preds = %3062
  %3090 = load i32, ptr @test_count, align 4, !tbaa !9
  %3091 = add nsw i32 %3090, 1
  store i32 %3091, ptr @test_count, align 4, !tbaa !9
  %3092 = load i64, ptr %12, align 8, !tbaa !5
  %3093 = icmp eq i64 %3092, 22
  br i1 %3093, label %3116, label %3094

3094:                                             ; preds = %3089
  %3095 = load i32, ptr %285, align 4, !tbaa !9
  %3096 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3097 = call i32 @s2n_print_stacktrace(ptr noundef %3096) #13
  %3098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3099 = trunc nuw i8 %3098 to i1
  br i1 %3099, label %3100, label %3104

3100:                                             ; preds = %3094
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3102 = call i32 @fileno(ptr noundef %3101) #13
  %3103 = call i32 @isatty(i32 noundef %3102) #13
  %.not522 = icmp eq i32 %3103, 0
  br i1 %.not522, label %3104, label %3105

3104:                                             ; preds = %3100, %3094
  br label %3105

3105:                                             ; preds = %3100, %3104
  %.str.5.sink1658 = phi ptr [ @.str.5, %3104 ], [ @.str.2, %3100 ]
  store i32 %3095, ptr %285, align 4, !tbaa !9
  %3106 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3107 = load i32, ptr @test_count, align 4, !tbaa !9
  %3108 = load i32, ptr %231, align 4, !tbaa !9
  %3109 = call ptr @s2n_strerror(i32 noundef %3108, ptr noundef nonnull @.str.4) #13
  %3110 = load i32, ptr %231, align 4, !tbaa !9
  %3111 = call ptr @s2n_strerror_debug(i32 noundef %3110, ptr noundef nonnull @.str.4) #13
  %3112 = load i32, ptr %285, align 4, !tbaa !9
  %3113 = call ptr @strerror(i32 noundef %3112) #13
  %3114 = load i32, ptr %285, align 4, !tbaa !9
  %3115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3106, ptr noundef nonnull %.str.5.sink1658, i32 noundef %3107, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %3109, ptr noundef %3111, ptr noundef %3113, i32 noundef %3114) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3116:                                             ; preds = %3089
  %3117 = add nsw i32 %3090, 2
  store i32 %3117, ptr @test_count, align 4, !tbaa !9
  %3118 = call i32 @s2n_hash_digest(ptr noundef nonnull %10, ptr noundef nonnull %3, i32 noundef 20) #13
  %3119 = icmp eq i32 %3118, -1
  br i1 %3119, label %3120, label %3142

3120:                                             ; preds = %3116
  %3121 = load i32, ptr %285, align 4, !tbaa !9
  %3122 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3123 = call i32 @s2n_print_stacktrace(ptr noundef %3122) #13
  %3124 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3125 = trunc nuw i8 %3124 to i1
  br i1 %3125, label %3126, label %3130

3126:                                             ; preds = %3120
  %3127 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3128 = call i32 @fileno(ptr noundef %3127) #13
  %3129 = call i32 @isatty(i32 noundef %3128) #13
  %.not656 = icmp eq i32 %3129, 0
  br i1 %.not656, label %3130, label %3131

3130:                                             ; preds = %3126, %3120
  br label %3131

3131:                                             ; preds = %3126, %3130
  %.str.5.sink1667 = phi ptr [ @.str.5, %3130 ], [ @.str.2, %3126 ]
  store i32 %3121, ptr %285, align 4, !tbaa !9
  %3132 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3133 = load i32, ptr @test_count, align 4, !tbaa !9
  %3134 = load i32, ptr %231, align 4, !tbaa !9
  %3135 = call ptr @s2n_strerror(i32 noundef %3134, ptr noundef nonnull @.str.4) #13
  %3136 = load i32, ptr %231, align 4, !tbaa !9
  %3137 = call ptr @s2n_strerror_debug(i32 noundef %3136, ptr noundef nonnull @.str.4) #13
  %3138 = load i32, ptr %285, align 4, !tbaa !9
  %3139 = call ptr @strerror(i32 noundef %3138) #13
  %3140 = load i32, ptr %285, align 4, !tbaa !9
  %3141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3132, ptr noundef nonnull %.str.5.sink1667, i32 noundef %3133, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %3135, ptr noundef %3137, ptr noundef %3139, i32 noundef %3140) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3142:                                             ; preds = %3116
  %3143 = load i32, ptr @test_count, align 4, !tbaa !9
  %3144 = add nsw i32 %3143, 1
  store i32 %3144, ptr @test_count, align 4, !tbaa !9
  %3145 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not523 = icmp eq i32 %3145, 0
  br i1 %.not523, label %3168, label %3146

3146:                                             ; preds = %3142
  %3147 = load i32, ptr %285, align 4, !tbaa !9
  %3148 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3149 = call i32 @s2n_print_stacktrace(ptr noundef %3148) #13
  %3150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3151 = trunc nuw i8 %3150 to i1
  br i1 %3151, label %3152, label %3156

3152:                                             ; preds = %3146
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3154 = call i32 @fileno(ptr noundef %3153) #13
  %3155 = call i32 @isatty(i32 noundef %3154) #13
  %.not655 = icmp eq i32 %3155, 0
  br i1 %.not655, label %3156, label %3157

3156:                                             ; preds = %3152, %3146
  br label %3157

3157:                                             ; preds = %3152, %3156
  %.str.5.sink1676 = phi ptr [ @.str.5, %3156 ], [ @.str.2, %3152 ]
  store i32 %3147, ptr %285, align 4, !tbaa !9
  %3158 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3159 = load i32, ptr @test_count, align 4, !tbaa !9
  %3160 = load i32, ptr %231, align 4, !tbaa !9
  %3161 = call ptr @s2n_strerror(i32 noundef %3160, ptr noundef nonnull @.str.4) #13
  %3162 = load i32, ptr %231, align 4, !tbaa !9
  %3163 = call ptr @s2n_strerror_debug(i32 noundef %3162, ptr noundef nonnull @.str.4) #13
  %3164 = load i32, ptr %285, align 4, !tbaa !9
  %3165 = call ptr @strerror(i32 noundef %3164) #13
  %3166 = load i32, ptr %285, align 4, !tbaa !9
  %3167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3158, ptr noundef nonnull %.str.5.sink1676, i32 noundef %3159, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 189, ptr noundef %3161, ptr noundef %3163, ptr noundef %3165, i32 noundef %3166) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3168:                                             ; preds = %3142
  %3169 = load i32, ptr @test_count, align 4, !tbaa !9
  %3170 = add nsw i32 %3169, 1
  store i32 %3170, ptr @test_count, align 4, !tbaa !9
  %3171 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %3172 = icmp eq i32 %3171, -1
  br i1 %3172, label %3195, label %3173

3173:                                             ; preds = %3168
  %3174 = load i32, ptr %285, align 4, !tbaa !9
  %3175 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3176 = call i32 @s2n_print_stacktrace(ptr noundef %3175) #13
  %3177 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3178 = trunc nuw i8 %3177 to i1
  br i1 %3178, label %3179, label %3183

3179:                                             ; preds = %3173
  %3180 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3181 = call i32 @fileno(ptr noundef %3180) #13
  %3182 = call i32 @isatty(i32 noundef %3181) #13
  %.not524 = icmp eq i32 %3182, 0
  br i1 %.not524, label %3183, label %3184

3183:                                             ; preds = %3179, %3173
  br label %3184

3184:                                             ; preds = %3179, %3183
  %.str.5.sink1685 = phi ptr [ @.str.5, %3183 ], [ @.str.2, %3179 ]
  store i32 %3174, ptr %285, align 4, !tbaa !9
  %3185 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3186 = load i32, ptr @test_count, align 4, !tbaa !9
  %3187 = load i32, ptr %231, align 4, !tbaa !9
  %3188 = call ptr @s2n_strerror(i32 noundef %3187, ptr noundef nonnull @.str.4) #13
  %3189 = load i32, ptr %231, align 4, !tbaa !9
  %3190 = call ptr @s2n_strerror_debug(i32 noundef %3189, ptr noundef nonnull @.str.4) #13
  %3191 = load i32, ptr %285, align 4, !tbaa !9
  %3192 = call ptr @strerror(i32 noundef %3191) #13
  %3193 = load i32, ptr %285, align 4, !tbaa !9
  %3194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3185, ptr noundef nonnull %.str.5.sink1685, i32 noundef %3186, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %3188, ptr noundef %3190, ptr noundef %3192, i32 noundef %3193) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3195:                                             ; preds = %3168
  %3196 = load i32, ptr @test_count, align 4, !tbaa !9
  %3197 = add nsw i32 %3196, 1
  store i32 %3197, ptr @test_count, align 4, !tbaa !9
  %3198 = load i32, ptr %231, align 4, !tbaa !9
  %3199 = icmp eq i32 %3198, 0
  br i1 %3199, label %3200, label %3222

3200:                                             ; preds = %3195
  %3201 = load i32, ptr %285, align 4, !tbaa !9
  %3202 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3203 = call i32 @s2n_print_stacktrace(ptr noundef %3202) #13
  %3204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3205 = trunc nuw i8 %3204 to i1
  br i1 %3205, label %3206, label %3210

3206:                                             ; preds = %3200
  %3207 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3208 = call i32 @fileno(ptr noundef %3207) #13
  %3209 = call i32 @isatty(i32 noundef %3208) #13
  %.not654 = icmp eq i32 %3209, 0
  br i1 %.not654, label %3210, label %3211

3210:                                             ; preds = %3206, %3200
  br label %3211

3211:                                             ; preds = %3206, %3210
  %.str.5.sink1694 = phi ptr [ @.str.5, %3210 ], [ @.str.2, %3206 ]
  store i32 %3201, ptr %285, align 4, !tbaa !9
  %3212 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3213 = load i32, ptr @test_count, align 4, !tbaa !9
  %3214 = load i32, ptr %231, align 4, !tbaa !9
  %3215 = call ptr @s2n_strerror(i32 noundef %3214, ptr noundef nonnull @.str.4) #13
  %3216 = load i32, ptr %231, align 4, !tbaa !9
  %3217 = call ptr @s2n_strerror_debug(i32 noundef %3216, ptr noundef nonnull @.str.4) #13
  %3218 = load i32, ptr %285, align 4, !tbaa !9
  %3219 = call ptr @strerror(i32 noundef %3218) #13
  %3220 = load i32, ptr %285, align 4, !tbaa !9
  %3221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3212, ptr noundef nonnull %.str.5.sink1694, i32 noundef %3213, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %3215, ptr noundef %3217, ptr noundef %3219, i32 noundef %3220) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3222:                                             ; preds = %3195
  %3223 = add nsw i32 %3196, 2
  store i32 %3223, ptr @test_count, align 4, !tbaa !9
  %3224 = call ptr @s2n_strerror_debug(i32 noundef %3198, ptr noundef nonnull @.str.4) #13
  %3225 = icmp eq ptr %3224, null
  br i1 %3225, label %3226, label %3248

3226:                                             ; preds = %3222
  %3227 = load i32, ptr %285, align 4, !tbaa !9
  %3228 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3229 = call i32 @s2n_print_stacktrace(ptr noundef %3228) #13
  %3230 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3231 = trunc nuw i8 %3230 to i1
  br i1 %3231, label %3232, label %3236

3232:                                             ; preds = %3226
  %3233 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3234 = call i32 @fileno(ptr noundef %3233) #13
  %3235 = call i32 @isatty(i32 noundef %3234) #13
  %.not653 = icmp eq i32 %3235, 0
  br i1 %.not653, label %3236, label %3237

3236:                                             ; preds = %3232, %3226
  br label %3237

3237:                                             ; preds = %3232, %3236
  %.str.5.sink1703 = phi ptr [ @.str.5, %3236 ], [ @.str.2, %3232 ]
  store i32 %3227, ptr %285, align 4, !tbaa !9
  %3238 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3239 = load i32, ptr @test_count, align 4, !tbaa !9
  %3240 = load i32, ptr %231, align 4, !tbaa !9
  %3241 = call ptr @s2n_strerror(i32 noundef %3240, ptr noundef nonnull @.str.4) #13
  %3242 = load i32, ptr %231, align 4, !tbaa !9
  %3243 = call ptr @s2n_strerror_debug(i32 noundef %3242, ptr noundef nonnull @.str.4) #13
  %3244 = load i32, ptr %285, align 4, !tbaa !9
  %3245 = call ptr @strerror(i32 noundef %3244) #13
  %3246 = load i32, ptr %285, align 4, !tbaa !9
  %3247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3238, ptr noundef nonnull %.str.5.sink1703, i32 noundef %3239, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 190, ptr noundef %3241, ptr noundef %3243, ptr noundef %3245, i32 noundef %3246) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3248:                                             ; preds = %3222
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %3249 = load i32, ptr @test_count, align 4, !tbaa !9
  %3250 = add nsw i32 %3249, 1
  store i32 %3250, ptr @test_count, align 4, !tbaa !9
  %3251 = call i32 @s2n_hash_free(ptr noundef nonnull %10) #13
  %3252 = icmp eq i32 %3251, -1
  br i1 %3252, label %3253, label %3275

3253:                                             ; preds = %3248
  %3254 = load i32, ptr %285, align 4, !tbaa !9
  %3255 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3256 = call i32 @s2n_print_stacktrace(ptr noundef %3255) #13
  %3257 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3258 = trunc nuw i8 %3257 to i1
  br i1 %3258, label %3259, label %3263

3259:                                             ; preds = %3253
  %3260 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3261 = call i32 @fileno(ptr noundef %3260) #13
  %3262 = call i32 @isatty(i32 noundef %3261) #13
  %.not652 = icmp eq i32 %3262, 0
  br i1 %.not652, label %3263, label %3264

3263:                                             ; preds = %3259, %3253
  br label %3264

3264:                                             ; preds = %3259, %3263
  %.str.5.sink1712 = phi ptr [ @.str.5, %3263 ], [ @.str.2, %3259 ]
  store i32 %3254, ptr %285, align 4, !tbaa !9
  %3265 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3266 = load i32, ptr @test_count, align 4, !tbaa !9
  %3267 = load i32, ptr %231, align 4, !tbaa !9
  %3268 = call ptr @s2n_strerror(i32 noundef %3267, ptr noundef nonnull @.str.4) #13
  %3269 = load i32, ptr %231, align 4, !tbaa !9
  %3270 = call ptr @s2n_strerror_debug(i32 noundef %3269, ptr noundef nonnull @.str.4) #13
  %3271 = load i32, ptr %285, align 4, !tbaa !9
  %3272 = call ptr @strerror(i32 noundef %3271) #13
  %3273 = load i32, ptr %285, align 4, !tbaa !9
  %3274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3265, ptr noundef nonnull %.str.5.sink1712, i32 noundef %3266, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %3268, ptr noundef %3270, ptr noundef %3272, i32 noundef %3273) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3275:                                             ; preds = %3248
  %3276 = load i32, ptr @test_count, align 4, !tbaa !9
  %3277 = add nsw i32 %3276, 1
  store i32 %3277, ptr @test_count, align 4, !tbaa !9
  %3278 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %10) #13
  %.not525 = icmp eq i32 %3278, 0
  br i1 %.not525, label %3301, label %3279

3279:                                             ; preds = %3275
  %3280 = load i32, ptr %285, align 4, !tbaa !9
  %3281 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3282 = call i32 @s2n_print_stacktrace(ptr noundef %3281) #13
  %3283 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3284 = trunc nuw i8 %3283 to i1
  br i1 %3284, label %3285, label %3289

3285:                                             ; preds = %3279
  %3286 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3287 = call i32 @fileno(ptr noundef %3286) #13
  %3288 = call i32 @isatty(i32 noundef %3287) #13
  %.not651 = icmp eq i32 %3288, 0
  br i1 %.not651, label %3289, label %3290

3289:                                             ; preds = %3285, %3279
  br label %3290

3290:                                             ; preds = %3285, %3289
  %.str.5.sink1721 = phi ptr [ @.str.5, %3289 ], [ @.str.2, %3285 ]
  store i32 %3280, ptr %285, align 4, !tbaa !9
  %3291 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3292 = load i32, ptr @test_count, align 4, !tbaa !9
  %3293 = load i32, ptr %231, align 4, !tbaa !9
  %3294 = call ptr @s2n_strerror(i32 noundef %3293, ptr noundef nonnull @.str.4) #13
  %3295 = load i32, ptr %231, align 4, !tbaa !9
  %3296 = call ptr @s2n_strerror_debug(i32 noundef %3295, ptr noundef nonnull @.str.4) #13
  %3297 = load i32, ptr %285, align 4, !tbaa !9
  %3298 = call ptr @strerror(i32 noundef %3297) #13
  %3299 = load i32, ptr %285, align 4, !tbaa !9
  %3300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3291, ptr noundef nonnull %.str.5.sink1721, i32 noundef %3292, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 193, ptr noundef %3294, ptr noundef %3296, ptr noundef %3298, i32 noundef %3299) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3301:                                             ; preds = %3275
  %3302 = load i32, ptr @test_count, align 4, !tbaa !9
  %3303 = add nsw i32 %3302, 1
  store i32 %3303, ptr @test_count, align 4, !tbaa !9
  %3304 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %10, ptr noundef nonnull %12) #13
  %3305 = icmp eq i32 %3304, -1
  br i1 %3305, label %3328, label %3306

3306:                                             ; preds = %3301
  %3307 = load i32, ptr %285, align 4, !tbaa !9
  %3308 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3309 = call i32 @s2n_print_stacktrace(ptr noundef %3308) #13
  %3310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3311 = trunc nuw i8 %3310 to i1
  br i1 %3311, label %3312, label %3316

3312:                                             ; preds = %3306
  %3313 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3314 = call i32 @fileno(ptr noundef %3313) #13
  %3315 = call i32 @isatty(i32 noundef %3314) #13
  %.not526 = icmp eq i32 %3315, 0
  br i1 %.not526, label %3316, label %3317

3316:                                             ; preds = %3312, %3306
  br label %3317

3317:                                             ; preds = %3312, %3316
  %.str.5.sink1730 = phi ptr [ @.str.5, %3316 ], [ @.str.2, %3312 ]
  store i32 %3307, ptr %285, align 4, !tbaa !9
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3319 = load i32, ptr @test_count, align 4, !tbaa !9
  %3320 = load i32, ptr %231, align 4, !tbaa !9
  %3321 = call ptr @s2n_strerror(i32 noundef %3320, ptr noundef nonnull @.str.4) #13
  %3322 = load i32, ptr %231, align 4, !tbaa !9
  %3323 = call ptr @s2n_strerror_debug(i32 noundef %3322, ptr noundef nonnull @.str.4) #13
  %3324 = load i32, ptr %285, align 4, !tbaa !9
  %3325 = call ptr @strerror(i32 noundef %3324) #13
  %3326 = load i32, ptr %285, align 4, !tbaa !9
  %3327 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3318, ptr noundef nonnull %.str.5.sink1730, i32 noundef %3319, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %3321, ptr noundef %3323, ptr noundef %3325, i32 noundef %3326) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3328:                                             ; preds = %3301
  %3329 = load i32, ptr @test_count, align 4, !tbaa !9
  %3330 = add nsw i32 %3329, 1
  store i32 %3330, ptr @test_count, align 4, !tbaa !9
  %3331 = load i32, ptr %231, align 4, !tbaa !9
  %3332 = icmp eq i32 %3331, 0
  br i1 %3332, label %3333, label %3355

3333:                                             ; preds = %3328
  %3334 = load i32, ptr %285, align 4, !tbaa !9
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3336 = call i32 @s2n_print_stacktrace(ptr noundef %3335) #13
  %3337 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3338 = trunc nuw i8 %3337 to i1
  br i1 %3338, label %3339, label %3343

3339:                                             ; preds = %3333
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3341 = call i32 @fileno(ptr noundef %3340) #13
  %3342 = call i32 @isatty(i32 noundef %3341) #13
  %.not650 = icmp eq i32 %3342, 0
  br i1 %.not650, label %3343, label %3344

3343:                                             ; preds = %3339, %3333
  br label %3344

3344:                                             ; preds = %3339, %3343
  %.str.5.sink1739 = phi ptr [ @.str.5, %3343 ], [ @.str.2, %3339 ]
  store i32 %3334, ptr %285, align 4, !tbaa !9
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3346 = load i32, ptr @test_count, align 4, !tbaa !9
  %3347 = load i32, ptr %231, align 4, !tbaa !9
  %3348 = call ptr @s2n_strerror(i32 noundef %3347, ptr noundef nonnull @.str.4) #13
  %3349 = load i32, ptr %231, align 4, !tbaa !9
  %3350 = call ptr @s2n_strerror_debug(i32 noundef %3349, ptr noundef nonnull @.str.4) #13
  %3351 = load i32, ptr %285, align 4, !tbaa !9
  %3352 = call ptr @strerror(i32 noundef %3351) #13
  %3353 = load i32, ptr %285, align 4, !tbaa !9
  %3354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3345, ptr noundef nonnull %.str.5.sink1739, i32 noundef %3346, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %3348, ptr noundef %3350, ptr noundef %3352, i32 noundef %3353) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3355:                                             ; preds = %3328
  %3356 = add nsw i32 %3329, 2
  store i32 %3356, ptr @test_count, align 4, !tbaa !9
  %3357 = call ptr @s2n_strerror_debug(i32 noundef %3331, ptr noundef nonnull @.str.4) #13
  %3358 = icmp eq ptr %3357, null
  br i1 %3358, label %3359, label %3381

3359:                                             ; preds = %3355
  %3360 = load i32, ptr %285, align 4, !tbaa !9
  %3361 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3362 = call i32 @s2n_print_stacktrace(ptr noundef %3361) #13
  %3363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3364 = trunc nuw i8 %3363 to i1
  br i1 %3364, label %3365, label %3369

3365:                                             ; preds = %3359
  %3366 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3367 = call i32 @fileno(ptr noundef %3366) #13
  %3368 = call i32 @isatty(i32 noundef %3367) #13
  %.not649 = icmp eq i32 %3368, 0
  br i1 %.not649, label %3369, label %3370

3369:                                             ; preds = %3365, %3359
  br label %3370

3370:                                             ; preds = %3365, %3369
  %.str.5.sink1748 = phi ptr [ @.str.5, %3369 ], [ @.str.2, %3365 ]
  store i32 %3360, ptr %285, align 4, !tbaa !9
  %3371 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3372 = load i32, ptr @test_count, align 4, !tbaa !9
  %3373 = load i32, ptr %231, align 4, !tbaa !9
  %3374 = call ptr @s2n_strerror(i32 noundef %3373, ptr noundef nonnull @.str.4) #13
  %3375 = load i32, ptr %231, align 4, !tbaa !9
  %3376 = call ptr @s2n_strerror_debug(i32 noundef %3375, ptr noundef nonnull @.str.4) #13
  %3377 = load i32, ptr %285, align 4, !tbaa !9
  %3378 = call ptr @strerror(i32 noundef %3377) #13
  %3379 = load i32, ptr %285, align 4, !tbaa !9
  %3380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3371, ptr noundef nonnull %.str.5.sink1748, i32 noundef %3372, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %3374, ptr noundef %3376, ptr noundef %3378, i32 noundef %3379) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3381:                                             ; preds = %3355
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %3382 = load i32, ptr @test_count, align 4, !tbaa !9
  %3383 = add nsw i32 %3382, 1
  store i32 %3383, ptr @test_count, align 4, !tbaa !9
  %3384 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %3385 = icmp eq i32 %3384, -1
  br i1 %3385, label %3391, label %.preheader722.preheader

.preheader722.preheader:                          ; preds = %3381
  %3386 = load i32, ptr @test_count, align 4, !tbaa !9
  %3387 = add nsw i32 %3386, 1
  store i32 %3387, ptr @test_count, align 4, !tbaa !9
  %3388 = load i8, ptr %3, align 16, !tbaa !17
  %3389 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3388) #13
  %3390 = call zeroext i1 @s2n_result_is_ok(i32 %3389)
  br i1 %3390, label %.preheader722.1, label %3512

3391:                                             ; preds = %3381
  %3392 = load i32, ptr %285, align 4, !tbaa !9
  %3393 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3394 = call i32 @s2n_print_stacktrace(ptr noundef %3393) #13
  %3395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3396 = trunc nuw i8 %3395 to i1
  br i1 %3396, label %3397, label %3401

3397:                                             ; preds = %3391
  %3398 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3399 = call i32 @fileno(ptr noundef %3398) #13
  %3400 = call i32 @isatty(i32 noundef %3399) #13
  %.not648 = icmp eq i32 %3400, 0
  br i1 %.not648, label %3401, label %3402

3401:                                             ; preds = %3397, %3391
  br label %3402

3402:                                             ; preds = %3397, %3401
  %.str.5.sink1757 = phi ptr [ @.str.5, %3401 ], [ @.str.2, %3397 ]
  store i32 %3392, ptr %285, align 4, !tbaa !9
  %3403 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3404 = load i32, ptr @test_count, align 4, !tbaa !9
  %3405 = load i32, ptr %231, align 4, !tbaa !9
  %3406 = call ptr @s2n_strerror(i32 noundef %3405, ptr noundef nonnull @.str.4) #13
  %3407 = load i32, ptr %231, align 4, !tbaa !9
  %3408 = call ptr @s2n_strerror_debug(i32 noundef %3407, ptr noundef nonnull @.str.4) #13
  %3409 = load i32, ptr %285, align 4, !tbaa !9
  %3410 = call ptr @strerror(i32 noundef %3409) #13
  %3411 = load i32, ptr %285, align 4, !tbaa !9
  %3412 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3403, ptr noundef nonnull %.str.5.sink1757, i32 noundef %3404, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %3406, ptr noundef %3408, ptr noundef %3410, i32 noundef %3411) #15
  call void @exit(i32 noundef 1) #16
  unreachable

.preheader722.1:                                  ; preds = %.preheader722.preheader
  %3413 = load i32, ptr @test_count, align 4, !tbaa !9
  %3414 = add nsw i32 %3413, 1
  store i32 %3414, ptr @test_count, align 4, !tbaa !9
  %3415 = load i8, ptr %1621, align 1, !tbaa !17
  %3416 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3415) #13
  %3417 = call zeroext i1 @s2n_result_is_ok(i32 %3416)
  br i1 %3417, label %.preheader722.2, label %3512

.preheader722.2:                                  ; preds = %.preheader722.1
  %3418 = load i32, ptr @test_count, align 4, !tbaa !9
  %3419 = add nsw i32 %3418, 1
  store i32 %3419, ptr @test_count, align 4, !tbaa !9
  %3420 = load i8, ptr %1627, align 2, !tbaa !17
  %3421 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3420) #13
  %3422 = call zeroext i1 @s2n_result_is_ok(i32 %3421)
  br i1 %3422, label %.preheader722.3, label %3512

.preheader722.3:                                  ; preds = %.preheader722.2
  %3423 = load i32, ptr @test_count, align 4, !tbaa !9
  %3424 = add nsw i32 %3423, 1
  store i32 %3424, ptr @test_count, align 4, !tbaa !9
  %3425 = load i8, ptr %1633, align 1, !tbaa !17
  %3426 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3425) #13
  %3427 = call zeroext i1 @s2n_result_is_ok(i32 %3426)
  br i1 %3427, label %.preheader722.4, label %3512

.preheader722.4:                                  ; preds = %.preheader722.3
  %3428 = load i32, ptr @test_count, align 4, !tbaa !9
  %3429 = add nsw i32 %3428, 1
  store i32 %3429, ptr @test_count, align 4, !tbaa !9
  %3430 = load i8, ptr %1639, align 4, !tbaa !17
  %3431 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3430) #13
  %3432 = call zeroext i1 @s2n_result_is_ok(i32 %3431)
  br i1 %3432, label %.preheader722.5, label %3512

.preheader722.5:                                  ; preds = %.preheader722.4
  %3433 = load i32, ptr @test_count, align 4, !tbaa !9
  %3434 = add nsw i32 %3433, 1
  store i32 %3434, ptr @test_count, align 4, !tbaa !9
  %3435 = load i8, ptr %1645, align 1, !tbaa !17
  %3436 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3435) #13
  %3437 = call zeroext i1 @s2n_result_is_ok(i32 %3436)
  br i1 %3437, label %.preheader722.6, label %3512

.preheader722.6:                                  ; preds = %.preheader722.5
  %3438 = load i32, ptr @test_count, align 4, !tbaa !9
  %3439 = add nsw i32 %3438, 1
  store i32 %3439, ptr @test_count, align 4, !tbaa !9
  %3440 = load i8, ptr %1651, align 2, !tbaa !17
  %3441 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3440) #13
  %3442 = call zeroext i1 @s2n_result_is_ok(i32 %3441)
  br i1 %3442, label %.preheader722.7, label %3512

.preheader722.7:                                  ; preds = %.preheader722.6
  %3443 = load i32, ptr @test_count, align 4, !tbaa !9
  %3444 = add nsw i32 %3443, 1
  store i32 %3444, ptr @test_count, align 4, !tbaa !9
  %3445 = load i8, ptr %1657, align 1, !tbaa !17
  %3446 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3445) #13
  %3447 = call zeroext i1 @s2n_result_is_ok(i32 %3446)
  br i1 %3447, label %.preheader722.8, label %3512

.preheader722.8:                                  ; preds = %.preheader722.7
  %3448 = load i32, ptr @test_count, align 4, !tbaa !9
  %3449 = add nsw i32 %3448, 1
  store i32 %3449, ptr @test_count, align 4, !tbaa !9
  %3450 = load i8, ptr %1663, align 8, !tbaa !17
  %3451 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3450) #13
  %3452 = call zeroext i1 @s2n_result_is_ok(i32 %3451)
  br i1 %3452, label %.preheader722.9, label %3512

.preheader722.9:                                  ; preds = %.preheader722.8
  %3453 = load i32, ptr @test_count, align 4, !tbaa !9
  %3454 = add nsw i32 %3453, 1
  store i32 %3454, ptr @test_count, align 4, !tbaa !9
  %3455 = load i8, ptr %1669, align 1, !tbaa !17
  %3456 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3455) #13
  %3457 = call zeroext i1 @s2n_result_is_ok(i32 %3456)
  br i1 %3457, label %.preheader722.10, label %3512

.preheader722.10:                                 ; preds = %.preheader722.9
  %3458 = load i32, ptr @test_count, align 4, !tbaa !9
  %3459 = add nsw i32 %3458, 1
  store i32 %3459, ptr @test_count, align 4, !tbaa !9
  %3460 = load i8, ptr %1675, align 2, !tbaa !17
  %3461 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3460) #13
  %3462 = call zeroext i1 @s2n_result_is_ok(i32 %3461)
  br i1 %3462, label %.preheader722.11, label %3512

.preheader722.11:                                 ; preds = %.preheader722.10
  %3463 = load i32, ptr @test_count, align 4, !tbaa !9
  %3464 = add nsw i32 %3463, 1
  store i32 %3464, ptr @test_count, align 4, !tbaa !9
  %3465 = load i8, ptr %1681, align 1, !tbaa !17
  %3466 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3465) #13
  %3467 = call zeroext i1 @s2n_result_is_ok(i32 %3466)
  br i1 %3467, label %.preheader722.12, label %3512

.preheader722.12:                                 ; preds = %.preheader722.11
  %3468 = load i32, ptr @test_count, align 4, !tbaa !9
  %3469 = add nsw i32 %3468, 1
  store i32 %3469, ptr @test_count, align 4, !tbaa !9
  %3470 = load i8, ptr %1687, align 4, !tbaa !17
  %3471 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3470) #13
  %3472 = call zeroext i1 @s2n_result_is_ok(i32 %3471)
  br i1 %3472, label %.preheader722.13, label %3512

.preheader722.13:                                 ; preds = %.preheader722.12
  %3473 = load i32, ptr @test_count, align 4, !tbaa !9
  %3474 = add nsw i32 %3473, 1
  store i32 %3474, ptr @test_count, align 4, !tbaa !9
  %3475 = load i8, ptr %1693, align 1, !tbaa !17
  %3476 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3475) #13
  %3477 = call zeroext i1 @s2n_result_is_ok(i32 %3476)
  br i1 %3477, label %.preheader722.14, label %3512

.preheader722.14:                                 ; preds = %.preheader722.13
  %3478 = load i32, ptr @test_count, align 4, !tbaa !9
  %3479 = add nsw i32 %3478, 1
  store i32 %3479, ptr @test_count, align 4, !tbaa !9
  %3480 = load i8, ptr %1699, align 2, !tbaa !17
  %3481 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3480) #13
  %3482 = call zeroext i1 @s2n_result_is_ok(i32 %3481)
  br i1 %3482, label %.preheader722.15, label %3512

.preheader722.15:                                 ; preds = %.preheader722.14
  %3483 = load i32, ptr @test_count, align 4, !tbaa !9
  %3484 = add nsw i32 %3483, 1
  store i32 %3484, ptr @test_count, align 4, !tbaa !9
  %3485 = load i8, ptr %1705, align 1, !tbaa !17
  %3486 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3485) #13
  %3487 = call zeroext i1 @s2n_result_is_ok(i32 %3486)
  br i1 %3487, label %.preheader722.16, label %3512

.preheader722.16:                                 ; preds = %.preheader722.15
  %3488 = load i32, ptr @test_count, align 4, !tbaa !9
  %3489 = add nsw i32 %3488, 1
  store i32 %3489, ptr @test_count, align 4, !tbaa !9
  %3490 = load i8, ptr %1711, align 16, !tbaa !17
  %3491 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3490) #13
  %3492 = call zeroext i1 @s2n_result_is_ok(i32 %3491)
  br i1 %3492, label %.preheader722.17, label %3512

.preheader722.17:                                 ; preds = %.preheader722.16
  %3493 = load i32, ptr @test_count, align 4, !tbaa !9
  %3494 = add nsw i32 %3493, 1
  store i32 %3494, ptr @test_count, align 4, !tbaa !9
  %3495 = load i8, ptr %1717, align 1, !tbaa !17
  %3496 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3495) #13
  %3497 = call zeroext i1 @s2n_result_is_ok(i32 %3496)
  br i1 %3497, label %.preheader722.18, label %3512

.preheader722.18:                                 ; preds = %.preheader722.17
  %3498 = load i32, ptr @test_count, align 4, !tbaa !9
  %3499 = add nsw i32 %3498, 1
  store i32 %3499, ptr @test_count, align 4, !tbaa !9
  %3500 = load i8, ptr %1723, align 2, !tbaa !17
  %3501 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3500) #13
  %3502 = call zeroext i1 @s2n_result_is_ok(i32 %3501)
  br i1 %3502, label %.preheader722.19, label %3512

.preheader722.19:                                 ; preds = %.preheader722.18
  %3503 = load i32, ptr @test_count, align 4, !tbaa !9
  %3504 = add nsw i32 %3503, 1
  store i32 %3504, ptr @test_count, align 4, !tbaa !9
  %3505 = load i8, ptr %1729, align 1, !tbaa !17
  %3506 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %3505) #13
  %3507 = call zeroext i1 @s2n_result_is_ok(i32 %3506)
  br i1 %3507, label %3508, label %3512

3508:                                             ; preds = %.preheader722.19
  %3509 = load i32, ptr @test_count, align 4, !tbaa !9
  %3510 = add nsw i32 %3509, 1
  store i32 %3510, ptr @test_count, align 4, !tbaa !9
  %bcmp527 = call i32 @bcmp(ptr noundef nonnull dereferenceable(40) %4, ptr noundef nonnull dereferenceable(40) @.str.43, i64 40)
  %3511 = icmp eq i32 %bcmp527, 0
  br i1 %3511, label %3556, label %3534

3512:                                             ; preds = %.preheader722.19, %.preheader722.18, %.preheader722.17, %.preheader722.16, %.preheader722.15, %.preheader722.14, %.preheader722.13, %.preheader722.12, %.preheader722.11, %.preheader722.10, %.preheader722.9, %.preheader722.8, %.preheader722.7, %.preheader722.6, %.preheader722.5, %.preheader722.4, %.preheader722.3, %.preheader722.2, %.preheader722.1, %.preheader722.preheader
  %3513 = load i32, ptr %285, align 4, !tbaa !9
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3515 = call i32 @s2n_print_stacktrace(ptr noundef %3514) #13
  %3516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3517 = trunc nuw i8 %3516 to i1
  br i1 %3517, label %3518, label %3522

3518:                                             ; preds = %3512
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3520 = call i32 @fileno(ptr noundef %3519) #13
  %3521 = call i32 @isatty(i32 noundef %3520) #13
  %.not647 = icmp eq i32 %3521, 0
  br i1 %.not647, label %3522, label %3523

3522:                                             ; preds = %3518, %3512
  br label %3523

3523:                                             ; preds = %3518, %3522
  %.str.5.sink1766 = phi ptr [ @.str.5, %3522 ], [ @.str.2, %3518 ]
  store i32 %3513, ptr %285, align 4, !tbaa !9
  %3524 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3525 = load i32, ptr @test_count, align 4, !tbaa !9
  %3526 = load i32, ptr %231, align 4, !tbaa !9
  %3527 = call ptr @s2n_strerror(i32 noundef %3526, ptr noundef nonnull @.str.4) #13
  %3528 = load i32, ptr %231, align 4, !tbaa !9
  %3529 = call ptr @s2n_strerror_debug(i32 noundef %3528, ptr noundef nonnull @.str.4) #13
  %3530 = load i32, ptr %285, align 4, !tbaa !9
  %3531 = call ptr @strerror(i32 noundef %3530) #13
  %3532 = load i32, ptr %285, align 4, !tbaa !9
  %3533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3524, ptr noundef nonnull %.str.5.sink1766, i32 noundef %3525, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %3527, ptr noundef %3529, ptr noundef %3531, i32 noundef %3532) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3534:                                             ; preds = %3508
  %3535 = load i32, ptr %285, align 4, !tbaa !9
  %3536 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3537 = call i32 @s2n_print_stacktrace(ptr noundef %3536) #13
  %3538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3539 = trunc nuw i8 %3538 to i1
  br i1 %3539, label %3540, label %3544

3540:                                             ; preds = %3534
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3542 = call i32 @fileno(ptr noundef %3541) #13
  %3543 = call i32 @isatty(i32 noundef %3542) #13
  %.not528 = icmp eq i32 %3543, 0
  br i1 %.not528, label %3544, label %3545

3544:                                             ; preds = %3540, %3534
  br label %3545

3545:                                             ; preds = %3540, %3544
  %.str.5.sink1775 = phi ptr [ @.str.5, %3544 ], [ @.str.2, %3540 ]
  store i32 %3535, ptr %285, align 4, !tbaa !9
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3547 = load i32, ptr @test_count, align 4, !tbaa !9
  %3548 = load i32, ptr %231, align 4, !tbaa !9
  %3549 = call ptr @s2n_strerror(i32 noundef %3548, ptr noundef nonnull @.str.4) #13
  %3550 = load i32, ptr %231, align 4, !tbaa !9
  %3551 = call ptr @s2n_strerror_debug(i32 noundef %3550, ptr noundef nonnull @.str.4) #13
  %3552 = load i32, ptr %285, align 4, !tbaa !9
  %3553 = call ptr @strerror(i32 noundef %3552) #13
  %3554 = load i32, ptr %285, align 4, !tbaa !9
  %3555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3546, ptr noundef nonnull %.str.5.sink1775, i32 noundef %3547, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %3549, ptr noundef %3551, ptr noundef %3553, i32 noundef %3554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3556:                                             ; preds = %3508
  %3557 = call i32 @s2n_hash_reset(ptr noundef nonnull %9) #13
  %3558 = icmp sgt i32 %3557, -1
  br i1 %3558, label %3559, label %6087

3559:                                             ; preds = %3556
  %3560 = load i32, ptr @test_count, align 4, !tbaa !9
  %3561 = add nsw i32 %3560, 1
  store i32 %3561, ptr @test_count, align 4, !tbaa !9
  %3562 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not529 = icmp eq i32 %3562, 0
  br i1 %.not529, label %3563, label %3585

3563:                                             ; preds = %3559
  %3564 = load i32, ptr %285, align 4, !tbaa !9
  %3565 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3566 = call i32 @s2n_print_stacktrace(ptr noundef %3565) #13
  %3567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3568 = trunc nuw i8 %3567 to i1
  br i1 %3568, label %3569, label %3573

3569:                                             ; preds = %3563
  %3570 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3571 = call i32 @fileno(ptr noundef %3570) #13
  %3572 = call i32 @isatty(i32 noundef %3571) #13
  %.not530 = icmp eq i32 %3572, 0
  br i1 %.not530, label %3573, label %3574

3573:                                             ; preds = %3569, %3563
  br label %3574

3574:                                             ; preds = %3569, %3573
  %.str.5.sink1784 = phi ptr [ @.str.5, %3573 ], [ @.str.2, %3569 ]
  store i32 %3564, ptr %285, align 4, !tbaa !9
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3576 = load i32, ptr @test_count, align 4, !tbaa !9
  %3577 = load i32, ptr %231, align 4, !tbaa !9
  %3578 = call ptr @s2n_strerror(i32 noundef %3577, ptr noundef nonnull @.str.4) #13
  %3579 = load i32, ptr %231, align 4, !tbaa !9
  %3580 = call ptr @s2n_strerror_debug(i32 noundef %3579, ptr noundef nonnull @.str.4) #13
  %3581 = load i32, ptr %285, align 4, !tbaa !9
  %3582 = call ptr @strerror(i32 noundef %3581) #13
  %3583 = load i32, ptr %285, align 4, !tbaa !9
  %3584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3575, ptr noundef nonnull %.str.5.sink1784, i32 noundef %3576, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %3578, ptr noundef %3580, ptr noundef %3582, i32 noundef %3583) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3585:                                             ; preds = %3559
  %3586 = load i32, ptr @test_count, align 4, !tbaa !9
  %3587 = add nsw i32 %3586, 1
  store i32 %3587, ptr @test_count, align 4, !tbaa !9
  %3588 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %3589 = icmp eq i32 %3588, -1
  br i1 %3589, label %3590, label %3612

3590:                                             ; preds = %3585
  %3591 = load i32, ptr %285, align 4, !tbaa !9
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3593 = call i32 @s2n_print_stacktrace(ptr noundef %3592) #13
  %3594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3595 = trunc nuw i8 %3594 to i1
  br i1 %3595, label %3596, label %3600

3596:                                             ; preds = %3590
  %3597 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3598 = call i32 @fileno(ptr noundef %3597) #13
  %3599 = call i32 @isatty(i32 noundef %3598) #13
  %.not646 = icmp eq i32 %3599, 0
  br i1 %.not646, label %3600, label %3601

3600:                                             ; preds = %3596, %3590
  br label %3601

3601:                                             ; preds = %3596, %3600
  %.str.5.sink1793 = phi ptr [ @.str.5, %3600 ], [ @.str.2, %3596 ]
  store i32 %3591, ptr %285, align 4, !tbaa !9
  %3602 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3603 = load i32, ptr @test_count, align 4, !tbaa !9
  %3604 = load i32, ptr %231, align 4, !tbaa !9
  %3605 = call ptr @s2n_strerror(i32 noundef %3604, ptr noundef nonnull @.str.4) #13
  %3606 = load i32, ptr %231, align 4, !tbaa !9
  %3607 = call ptr @s2n_strerror_debug(i32 noundef %3606, ptr noundef nonnull @.str.4) #13
  %3608 = load i32, ptr %285, align 4, !tbaa !9
  %3609 = call ptr @strerror(i32 noundef %3608) #13
  %3610 = load i32, ptr %285, align 4, !tbaa !9
  %3611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3602, ptr noundef nonnull %.str.5.sink1793, i32 noundef %3603, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %3605, ptr noundef %3607, ptr noundef %3609, i32 noundef %3610) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3612:                                             ; preds = %3585
  %3613 = load i32, ptr @test_count, align 4, !tbaa !9
  %3614 = add nsw i32 %3613, 1
  store i32 %3614, ptr @test_count, align 4, !tbaa !9
  %3615 = load i64, ptr %12, align 8, !tbaa !5
  %3616 = icmp eq i64 %3615, 0
  br i1 %3616, label %3639, label %3617

3617:                                             ; preds = %3612
  %3618 = load i32, ptr %285, align 4, !tbaa !9
  %3619 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3620 = call i32 @s2n_print_stacktrace(ptr noundef %3619) #13
  %3621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3622 = trunc nuw i8 %3621 to i1
  br i1 %3622, label %3623, label %3627

3623:                                             ; preds = %3617
  %3624 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3625 = call i32 @fileno(ptr noundef %3624) #13
  %3626 = call i32 @isatty(i32 noundef %3625) #13
  %.not531 = icmp eq i32 %3626, 0
  br i1 %.not531, label %3627, label %3628

3627:                                             ; preds = %3623, %3617
  br label %3628

3628:                                             ; preds = %3623, %3627
  %.str.5.sink1802 = phi ptr [ @.str.5, %3627 ], [ @.str.2, %3623 ]
  store i32 %3618, ptr %285, align 4, !tbaa !9
  %3629 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3630 = load i32, ptr @test_count, align 4, !tbaa !9
  %3631 = load i32, ptr %231, align 4, !tbaa !9
  %3632 = call ptr @s2n_strerror(i32 noundef %3631, ptr noundef nonnull @.str.4) #13
  %3633 = load i32, ptr %231, align 4, !tbaa !9
  %3634 = call ptr @s2n_strerror_debug(i32 noundef %3633, ptr noundef nonnull @.str.4) #13
  %3635 = load i32, ptr %285, align 4, !tbaa !9
  %3636 = call ptr @strerror(i32 noundef %3635) #13
  %3637 = load i32, ptr %285, align 4, !tbaa !9
  %3638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3629, ptr noundef nonnull %.str.5.sink1802, i32 noundef %3630, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 207, ptr noundef %3632, ptr noundef %3634, ptr noundef %3636, i32 noundef %3637) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3639:                                             ; preds = %3612
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %15) #13
  store i8 0, ptr %15, align 1, !tbaa !17
  %3640 = call i32 @s2n_hash_digest_size(i32 noundef 3, ptr noundef nonnull %15) #13
  %3641 = icmp sgt i32 %3640, -1
  br i1 %3641, label %3642, label %6086

3642:                                             ; preds = %3639
  %3643 = load i32, ptr @test_count, align 4, !tbaa !9
  %3644 = add nsw i32 %3643, 1
  store i32 %3644, ptr @test_count, align 4, !tbaa !9
  %3645 = load i8, ptr %15, align 1, !tbaa !17
  %3646 = icmp eq i8 %3645, 28
  br i1 %3646, label %3669, label %3647

3647:                                             ; preds = %3642
  %3648 = load i32, ptr %285, align 4, !tbaa !9
  %3649 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3650 = call i32 @s2n_print_stacktrace(ptr noundef %3649) #13
  %3651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3652 = trunc nuw i8 %3651 to i1
  br i1 %3652, label %3653, label %3657

3653:                                             ; preds = %3647
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3655 = call i32 @fileno(ptr noundef %3654) #13
  %3656 = call i32 @isatty(i32 noundef %3655) #13
  %.not532 = icmp eq i32 %3656, 0
  br i1 %.not532, label %3657, label %3658

3657:                                             ; preds = %3653, %3647
  br label %3658

3658:                                             ; preds = %3653, %3657
  %.str.5.sink1811 = phi ptr [ @.str.5, %3657 ], [ @.str.2, %3653 ]
  store i32 %3648, ptr %285, align 4, !tbaa !9
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3660 = load i32, ptr @test_count, align 4, !tbaa !9
  %3661 = load i32, ptr %231, align 4, !tbaa !9
  %3662 = call ptr @s2n_strerror(i32 noundef %3661, ptr noundef nonnull @.str.4) #13
  %3663 = load i32, ptr %231, align 4, !tbaa !9
  %3664 = call ptr @s2n_strerror_debug(i32 noundef %3663, ptr noundef nonnull @.str.4) #13
  %3665 = load i32, ptr %285, align 4, !tbaa !9
  %3666 = call ptr @strerror(i32 noundef %3665) #13
  %3667 = load i32, ptr %285, align 4, !tbaa !9
  %3668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3659, ptr noundef nonnull %.str.5.sink1811, i32 noundef %3660, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %3662, ptr noundef %3664, ptr noundef %3666, i32 noundef %3667) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3669:                                             ; preds = %3642
  %3670 = add nsw i32 %3643, 2
  store i32 %3670, ptr @test_count, align 4, !tbaa !9
  %3671 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 3) #13
  %3672 = icmp eq i32 %3671, -1
  br i1 %3672, label %3673, label %3695

3673:                                             ; preds = %3669
  %3674 = load i32, ptr %285, align 4, !tbaa !9
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3676 = call i32 @s2n_print_stacktrace(ptr noundef %3675) #13
  %3677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3678 = trunc nuw i8 %3677 to i1
  br i1 %3678, label %3679, label %3683

3679:                                             ; preds = %3673
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3681 = call i32 @fileno(ptr noundef %3680) #13
  %3682 = call i32 @isatty(i32 noundef %3681) #13
  %.not645 = icmp eq i32 %3682, 0
  br i1 %.not645, label %3683, label %3684

3683:                                             ; preds = %3679, %3673
  br label %3684

3684:                                             ; preds = %3679, %3683
  %.str.5.sink1820 = phi ptr [ @.str.5, %3683 ], [ @.str.2, %3679 ]
  store i32 %3674, ptr %285, align 4, !tbaa !9
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3686 = load i32, ptr @test_count, align 4, !tbaa !9
  %3687 = load i32, ptr %231, align 4, !tbaa !9
  %3688 = call ptr @s2n_strerror(i32 noundef %3687, ptr noundef nonnull @.str.4) #13
  %3689 = load i32, ptr %231, align 4, !tbaa !9
  %3690 = call ptr @s2n_strerror_debug(i32 noundef %3689, ptr noundef nonnull @.str.4) #13
  %3691 = load i32, ptr %285, align 4, !tbaa !9
  %3692 = call ptr @strerror(i32 noundef %3691) #13
  %3693 = load i32, ptr %285, align 4, !tbaa !9
  %3694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3685, ptr noundef nonnull %.str.5.sink1820, i32 noundef %3686, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %3688, ptr noundef %3690, ptr noundef %3692, i32 noundef %3693) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3695:                                             ; preds = %3669
  %3696 = load i32, ptr @test_count, align 4, !tbaa !9
  %3697 = add nsw i32 %3696, 1
  store i32 %3697, ptr @test_count, align 4, !tbaa !9
  %3698 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not533 = icmp eq i32 %3698, 0
  br i1 %.not533, label %3699, label %3721

3699:                                             ; preds = %3695
  %3700 = load i32, ptr %285, align 4, !tbaa !9
  %3701 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3702 = call i32 @s2n_print_stacktrace(ptr noundef %3701) #13
  %3703 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3704 = trunc nuw i8 %3703 to i1
  br i1 %3704, label %3705, label %3709

3705:                                             ; preds = %3699
  %3706 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3707 = call i32 @fileno(ptr noundef %3706) #13
  %3708 = call i32 @isatty(i32 noundef %3707) #13
  %.not534 = icmp eq i32 %3708, 0
  br i1 %.not534, label %3709, label %3710

3709:                                             ; preds = %3705, %3699
  br label %3710

3710:                                             ; preds = %3705, %3709
  %.str.5.sink1829 = phi ptr [ @.str.5, %3709 ], [ @.str.2, %3705 ]
  store i32 %3700, ptr %285, align 4, !tbaa !9
  %3711 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3712 = load i32, ptr @test_count, align 4, !tbaa !9
  %3713 = load i32, ptr %231, align 4, !tbaa !9
  %3714 = call ptr @s2n_strerror(i32 noundef %3713, ptr noundef nonnull @.str.4) #13
  %3715 = load i32, ptr %231, align 4, !tbaa !9
  %3716 = call ptr @s2n_strerror_debug(i32 noundef %3715, ptr noundef nonnull @.str.4) #13
  %3717 = load i32, ptr %285, align 4, !tbaa !9
  %3718 = call ptr @strerror(i32 noundef %3717) #13
  %3719 = load i32, ptr %285, align 4, !tbaa !9
  %3720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3711, ptr noundef nonnull %.str.5.sink1829, i32 noundef %3712, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 214, ptr noundef %3714, ptr noundef %3716, ptr noundef %3718, i32 noundef %3719) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3721:                                             ; preds = %3695
  %3722 = load i32, ptr @test_count, align 4, !tbaa !9
  %3723 = add nsw i32 %3722, 1
  store i32 %3723, ptr @test_count, align 4, !tbaa !9
  %3724 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %3725 = icmp eq i32 %3724, -1
  br i1 %3725, label %3726, label %3748

3726:                                             ; preds = %3721
  %3727 = load i32, ptr %285, align 4, !tbaa !9
  %3728 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3729 = call i32 @s2n_print_stacktrace(ptr noundef %3728) #13
  %3730 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3731 = trunc nuw i8 %3730 to i1
  br i1 %3731, label %3732, label %3736

3732:                                             ; preds = %3726
  %3733 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3734 = call i32 @fileno(ptr noundef %3733) #13
  %3735 = call i32 @isatty(i32 noundef %3734) #13
  %.not644 = icmp eq i32 %3735, 0
  br i1 %.not644, label %3736, label %3737

3736:                                             ; preds = %3732, %3726
  br label %3737

3737:                                             ; preds = %3732, %3736
  %.str.5.sink1838 = phi ptr [ @.str.5, %3736 ], [ @.str.2, %3732 ]
  store i32 %3727, ptr %285, align 4, !tbaa !9
  %3738 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3739 = load i32, ptr @test_count, align 4, !tbaa !9
  %3740 = load i32, ptr %231, align 4, !tbaa !9
  %3741 = call ptr @s2n_strerror(i32 noundef %3740, ptr noundef nonnull @.str.4) #13
  %3742 = load i32, ptr %231, align 4, !tbaa !9
  %3743 = call ptr @s2n_strerror_debug(i32 noundef %3742, ptr noundef nonnull @.str.4) #13
  %3744 = load i32, ptr %285, align 4, !tbaa !9
  %3745 = call ptr @strerror(i32 noundef %3744) #13
  %3746 = load i32, ptr %285, align 4, !tbaa !9
  %3747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3738, ptr noundef nonnull %.str.5.sink1838, i32 noundef %3739, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 215, ptr noundef %3741, ptr noundef %3743, ptr noundef %3745, i32 noundef %3746) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3748:                                             ; preds = %3721
  %3749 = load i32, ptr @test_count, align 4, !tbaa !9
  %3750 = add nsw i32 %3749, 1
  store i32 %3750, ptr @test_count, align 4, !tbaa !9
  %3751 = load i64, ptr %12, align 8, !tbaa !5
  %3752 = icmp eq i64 %3751, 0
  br i1 %3752, label %3775, label %3753

3753:                                             ; preds = %3748
  %3754 = load i32, ptr %285, align 4, !tbaa !9
  %3755 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3756 = call i32 @s2n_print_stacktrace(ptr noundef %3755) #13
  %3757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3758 = trunc nuw i8 %3757 to i1
  br i1 %3758, label %3759, label %3763

3759:                                             ; preds = %3753
  %3760 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3761 = call i32 @fileno(ptr noundef %3760) #13
  %3762 = call i32 @isatty(i32 noundef %3761) #13
  %.not535 = icmp eq i32 %3762, 0
  br i1 %.not535, label %3763, label %3764

3763:                                             ; preds = %3759, %3753
  br label %3764

3764:                                             ; preds = %3759, %3763
  %.str.5.sink1847 = phi ptr [ @.str.5, %3763 ], [ @.str.2, %3759 ]
  store i32 %3754, ptr %285, align 4, !tbaa !9
  %3765 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3766 = load i32, ptr @test_count, align 4, !tbaa !9
  %3767 = load i32, ptr %231, align 4, !tbaa !9
  %3768 = call ptr @s2n_strerror(i32 noundef %3767, ptr noundef nonnull @.str.4) #13
  %3769 = load i32, ptr %231, align 4, !tbaa !9
  %3770 = call ptr @s2n_strerror_debug(i32 noundef %3769, ptr noundef nonnull @.str.4) #13
  %3771 = load i32, ptr %285, align 4, !tbaa !9
  %3772 = call ptr @strerror(i32 noundef %3771) #13
  %3773 = load i32, ptr %285, align 4, !tbaa !9
  %3774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3765, ptr noundef nonnull %.str.5.sink1847, i32 noundef %3766, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %3768, ptr noundef %3770, ptr noundef %3772, i32 noundef %3773) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3775:                                             ; preds = %3748
  %3776 = add nsw i32 %3749, 2
  store i32 %3776, ptr @test_count, align 4, !tbaa !9
  %3777 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %3778 = trunc i64 %3777 to i32
  %3779 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %3778) #13
  %3780 = icmp eq i32 %3779, -1
  br i1 %3780, label %3781, label %3803

3781:                                             ; preds = %3775
  %3782 = load i32, ptr %285, align 4, !tbaa !9
  %3783 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3784 = call i32 @s2n_print_stacktrace(ptr noundef %3783) #13
  %3785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3786 = trunc nuw i8 %3785 to i1
  br i1 %3786, label %3787, label %3791

3787:                                             ; preds = %3781
  %3788 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3789 = call i32 @fileno(ptr noundef %3788) #13
  %3790 = call i32 @isatty(i32 noundef %3789) #13
  %.not643 = icmp eq i32 %3790, 0
  br i1 %.not643, label %3791, label %3792

3791:                                             ; preds = %3787, %3781
  br label %3792

3792:                                             ; preds = %3787, %3791
  %.str.5.sink1856 = phi ptr [ @.str.5, %3791 ], [ @.str.2, %3787 ]
  store i32 %3782, ptr %285, align 4, !tbaa !9
  %3793 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3794 = load i32, ptr @test_count, align 4, !tbaa !9
  %3795 = load i32, ptr %231, align 4, !tbaa !9
  %3796 = call ptr @s2n_strerror(i32 noundef %3795, ptr noundef nonnull @.str.4) #13
  %3797 = load i32, ptr %231, align 4, !tbaa !9
  %3798 = call ptr @s2n_strerror_debug(i32 noundef %3797, ptr noundef nonnull @.str.4) #13
  %3799 = load i32, ptr %285, align 4, !tbaa !9
  %3800 = call ptr @strerror(i32 noundef %3799) #13
  %3801 = load i32, ptr %285, align 4, !tbaa !9
  %3802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3793, ptr noundef nonnull %.str.5.sink1856, i32 noundef %3794, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %3796, ptr noundef %3798, ptr noundef %3800, i32 noundef %3801) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3803:                                             ; preds = %3775
  %3804 = load i32, ptr @test_count, align 4, !tbaa !9
  %3805 = add nsw i32 %3804, 1
  store i32 %3805, ptr @test_count, align 4, !tbaa !9
  %3806 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not536 = icmp eq i32 %3806, 0
  br i1 %.not536, label %3807, label %3829

3807:                                             ; preds = %3803
  %3808 = load i32, ptr %285, align 4, !tbaa !9
  %3809 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3810 = call i32 @s2n_print_stacktrace(ptr noundef %3809) #13
  %3811 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3812 = trunc nuw i8 %3811 to i1
  br i1 %3812, label %3813, label %3817

3813:                                             ; preds = %3807
  %3814 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3815 = call i32 @fileno(ptr noundef %3814) #13
  %3816 = call i32 @isatty(i32 noundef %3815) #13
  %.not537 = icmp eq i32 %3816, 0
  br i1 %.not537, label %3817, label %3818

3817:                                             ; preds = %3813, %3807
  br label %3818

3818:                                             ; preds = %3813, %3817
  %.str.5.sink1865 = phi ptr [ @.str.5, %3817 ], [ @.str.2, %3813 ]
  store i32 %3808, ptr %285, align 4, !tbaa !9
  %3819 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3820 = load i32, ptr @test_count, align 4, !tbaa !9
  %3821 = load i32, ptr %231, align 4, !tbaa !9
  %3822 = call ptr @s2n_strerror(i32 noundef %3821, ptr noundef nonnull @.str.4) #13
  %3823 = load i32, ptr %231, align 4, !tbaa !9
  %3824 = call ptr @s2n_strerror_debug(i32 noundef %3823, ptr noundef nonnull @.str.4) #13
  %3825 = load i32, ptr %285, align 4, !tbaa !9
  %3826 = call ptr @strerror(i32 noundef %3825) #13
  %3827 = load i32, ptr %285, align 4, !tbaa !9
  %3828 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3819, ptr noundef nonnull %.str.5.sink1865, i32 noundef %3820, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 219, ptr noundef %3822, ptr noundef %3824, ptr noundef %3826, i32 noundef %3827) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3829:                                             ; preds = %3803
  %3830 = load i32, ptr @test_count, align 4, !tbaa !9
  %3831 = add nsw i32 %3830, 1
  store i32 %3831, ptr @test_count, align 4, !tbaa !9
  %3832 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %3833 = icmp eq i32 %3832, -1
  br i1 %3833, label %3834, label %3856

3834:                                             ; preds = %3829
  %3835 = load i32, ptr %285, align 4, !tbaa !9
  %3836 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3837 = call i32 @s2n_print_stacktrace(ptr noundef %3836) #13
  %3838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3839 = trunc nuw i8 %3838 to i1
  br i1 %3839, label %3840, label %3844

3840:                                             ; preds = %3834
  %3841 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3842 = call i32 @fileno(ptr noundef %3841) #13
  %3843 = call i32 @isatty(i32 noundef %3842) #13
  %.not642 = icmp eq i32 %3843, 0
  br i1 %.not642, label %3844, label %3845

3844:                                             ; preds = %3840, %3834
  br label %3845

3845:                                             ; preds = %3840, %3844
  %.str.5.sink1874 = phi ptr [ @.str.5, %3844 ], [ @.str.2, %3840 ]
  store i32 %3835, ptr %285, align 4, !tbaa !9
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3847 = load i32, ptr @test_count, align 4, !tbaa !9
  %3848 = load i32, ptr %231, align 4, !tbaa !9
  %3849 = call ptr @s2n_strerror(i32 noundef %3848, ptr noundef nonnull @.str.4) #13
  %3850 = load i32, ptr %231, align 4, !tbaa !9
  %3851 = call ptr @s2n_strerror_debug(i32 noundef %3850, ptr noundef nonnull @.str.4) #13
  %3852 = load i32, ptr %285, align 4, !tbaa !9
  %3853 = call ptr @strerror(i32 noundef %3852) #13
  %3854 = load i32, ptr %285, align 4, !tbaa !9
  %3855 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef nonnull %.str.5.sink1874, i32 noundef %3847, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %3849, ptr noundef %3851, ptr noundef %3853, i32 noundef %3854) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3856:                                             ; preds = %3829
  %3857 = load i32, ptr @test_count, align 4, !tbaa !9
  %3858 = add nsw i32 %3857, 1
  store i32 %3858, ptr @test_count, align 4, !tbaa !9
  %3859 = load i64, ptr %12, align 8, !tbaa !5
  %3860 = icmp eq i64 %3859, 13
  br i1 %3860, label %3883, label %3861

3861:                                             ; preds = %3856
  %3862 = load i32, ptr %285, align 4, !tbaa !9
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #13
  %3865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3866 = trunc nuw i8 %3865 to i1
  br i1 %3866, label %3867, label %3871

3867:                                             ; preds = %3861
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3869 = call i32 @fileno(ptr noundef %3868) #13
  %3870 = call i32 @isatty(i32 noundef %3869) #13
  %.not538 = icmp eq i32 %3870, 0
  br i1 %.not538, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.5.sink1883 = phi ptr [ @.str.5, %3871 ], [ @.str.2, %3867 ]
  store i32 %3862, ptr %285, align 4, !tbaa !9
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3874 = load i32, ptr @test_count, align 4, !tbaa !9
  %3875 = load i32, ptr %231, align 4, !tbaa !9
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.4) #13
  %3877 = load i32, ptr %231, align 4, !tbaa !9
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.4) #13
  %3879 = load i32, ptr %285, align 4, !tbaa !9
  %3880 = call ptr @strerror(i32 noundef %3879) #13
  %3881 = load i32, ptr %285, align 4, !tbaa !9
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.5.sink1883, i32 noundef %3874, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3883:                                             ; preds = %3856
  %3884 = add nsw i32 %3857, 2
  store i32 %3884, ptr @test_count, align 4, !tbaa !9
  %3885 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 28) #13
  %3886 = icmp eq i32 %3885, -1
  br i1 %3886, label %3887, label %3909

3887:                                             ; preds = %3883
  %3888 = load i32, ptr %285, align 4, !tbaa !9
  %3889 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3890 = call i32 @s2n_print_stacktrace(ptr noundef %3889) #13
  %3891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3892 = trunc nuw i8 %3891 to i1
  br i1 %3892, label %3893, label %3897

3893:                                             ; preds = %3887
  %3894 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3895 = call i32 @fileno(ptr noundef %3894) #13
  %3896 = call i32 @isatty(i32 noundef %3895) #13
  %.not641 = icmp eq i32 %3896, 0
  br i1 %.not641, label %3897, label %3898

3897:                                             ; preds = %3893, %3887
  br label %3898

3898:                                             ; preds = %3893, %3897
  %.str.5.sink1892 = phi ptr [ @.str.5, %3897 ], [ @.str.2, %3893 ]
  store i32 %3888, ptr %285, align 4, !tbaa !9
  %3899 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3900 = load i32, ptr @test_count, align 4, !tbaa !9
  %3901 = load i32, ptr %231, align 4, !tbaa !9
  %3902 = call ptr @s2n_strerror(i32 noundef %3901, ptr noundef nonnull @.str.4) #13
  %3903 = load i32, ptr %231, align 4, !tbaa !9
  %3904 = call ptr @s2n_strerror_debug(i32 noundef %3903, ptr noundef nonnull @.str.4) #13
  %3905 = load i32, ptr %285, align 4, !tbaa !9
  %3906 = call ptr @strerror(i32 noundef %3905) #13
  %3907 = load i32, ptr %285, align 4, !tbaa !9
  %3908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3899, ptr noundef nonnull %.str.5.sink1892, i32 noundef %3900, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %3902, ptr noundef %3904, ptr noundef %3906, i32 noundef %3907) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3909:                                             ; preds = %3883
  %3910 = load i32, ptr @test_count, align 4, !tbaa !9
  %3911 = add nsw i32 %3910, 1
  store i32 %3911, ptr @test_count, align 4, !tbaa !9
  %3912 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not539 = icmp eq i32 %3912, 0
  br i1 %.not539, label %3935, label %3913

3913:                                             ; preds = %3909
  %3914 = load i32, ptr %285, align 4, !tbaa !9
  %3915 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3916 = call i32 @s2n_print_stacktrace(ptr noundef %3915) #13
  %3917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3918 = trunc nuw i8 %3917 to i1
  br i1 %3918, label %3919, label %3923

3919:                                             ; preds = %3913
  %3920 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3921 = call i32 @fileno(ptr noundef %3920) #13
  %3922 = call i32 @isatty(i32 noundef %3921) #13
  %.not640 = icmp eq i32 %3922, 0
  br i1 %.not640, label %3923, label %3924

3923:                                             ; preds = %3919, %3913
  br label %3924

3924:                                             ; preds = %3919, %3923
  %.str.5.sink1901 = phi ptr [ @.str.5, %3923 ], [ @.str.2, %3919 ]
  store i32 %3914, ptr %285, align 4, !tbaa !9
  %3925 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3926 = load i32, ptr @test_count, align 4, !tbaa !9
  %3927 = load i32, ptr %231, align 4, !tbaa !9
  %3928 = call ptr @s2n_strerror(i32 noundef %3927, ptr noundef nonnull @.str.4) #13
  %3929 = load i32, ptr %231, align 4, !tbaa !9
  %3930 = call ptr @s2n_strerror_debug(i32 noundef %3929, ptr noundef nonnull @.str.4) #13
  %3931 = load i32, ptr %285, align 4, !tbaa !9
  %3932 = call ptr @strerror(i32 noundef %3931) #13
  %3933 = load i32, ptr %285, align 4, !tbaa !9
  %3934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3925, ptr noundef nonnull %.str.5.sink1901, i32 noundef %3926, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %3928, ptr noundef %3930, ptr noundef %3932, i32 noundef %3933) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3935:                                             ; preds = %3909
  %3936 = load i32, ptr @test_count, align 4, !tbaa !9
  %3937 = add nsw i32 %3936, 1
  store i32 %3937, ptr @test_count, align 4, !tbaa !9
  %3938 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %3939 = icmp eq i32 %3938, -1
  br i1 %3939, label %3962, label %3940

3940:                                             ; preds = %3935
  %3941 = load i32, ptr %285, align 4, !tbaa !9
  %3942 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3943 = call i32 @s2n_print_stacktrace(ptr noundef %3942) #13
  %3944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3945 = trunc nuw i8 %3944 to i1
  br i1 %3945, label %3946, label %3950

3946:                                             ; preds = %3940
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3948 = call i32 @fileno(ptr noundef %3947) #13
  %3949 = call i32 @isatty(i32 noundef %3948) #13
  %.not540 = icmp eq i32 %3949, 0
  br i1 %.not540, label %3950, label %3951

3950:                                             ; preds = %3946, %3940
  br label %3951

3951:                                             ; preds = %3946, %3950
  %.str.5.sink1910 = phi ptr [ @.str.5, %3950 ], [ @.str.2, %3946 ]
  store i32 %3941, ptr %285, align 4, !tbaa !9
  %3952 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3953 = load i32, ptr @test_count, align 4, !tbaa !9
  %3954 = load i32, ptr %231, align 4, !tbaa !9
  %3955 = call ptr @s2n_strerror(i32 noundef %3954, ptr noundef nonnull @.str.4) #13
  %3956 = load i32, ptr %231, align 4, !tbaa !9
  %3957 = call ptr @s2n_strerror_debug(i32 noundef %3956, ptr noundef nonnull @.str.4) #13
  %3958 = load i32, ptr %285, align 4, !tbaa !9
  %3959 = call ptr @strerror(i32 noundef %3958) #13
  %3960 = load i32, ptr %285, align 4, !tbaa !9
  %3961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3952, ptr noundef nonnull %.str.5.sink1910, i32 noundef %3953, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %3955, ptr noundef %3957, ptr noundef %3959, i32 noundef %3960) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3962:                                             ; preds = %3935
  %3963 = load i32, ptr @test_count, align 4, !tbaa !9
  %3964 = add nsw i32 %3963, 1
  store i32 %3964, ptr @test_count, align 4, !tbaa !9
  %3965 = load i32, ptr %231, align 4, !tbaa !9
  %3966 = icmp eq i32 %3965, 0
  br i1 %3966, label %3967, label %3989

3967:                                             ; preds = %3962
  %3968 = load i32, ptr %285, align 4, !tbaa !9
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3970 = call i32 @s2n_print_stacktrace(ptr noundef %3969) #13
  %3971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3972 = trunc nuw i8 %3971 to i1
  br i1 %3972, label %3973, label %3977

3973:                                             ; preds = %3967
  %3974 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3975 = call i32 @fileno(ptr noundef %3974) #13
  %3976 = call i32 @isatty(i32 noundef %3975) #13
  %.not639 = icmp eq i32 %3976, 0
  br i1 %.not639, label %3977, label %3978

3977:                                             ; preds = %3973, %3967
  br label %3978

3978:                                             ; preds = %3973, %3977
  %.str.5.sink1919 = phi ptr [ @.str.5, %3977 ], [ @.str.2, %3973 ]
  store i32 %3968, ptr %285, align 4, !tbaa !9
  %3979 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3980 = load i32, ptr @test_count, align 4, !tbaa !9
  %3981 = load i32, ptr %231, align 4, !tbaa !9
  %3982 = call ptr @s2n_strerror(i32 noundef %3981, ptr noundef nonnull @.str.4) #13
  %3983 = load i32, ptr %231, align 4, !tbaa !9
  %3984 = call ptr @s2n_strerror_debug(i32 noundef %3983, ptr noundef nonnull @.str.4) #13
  %3985 = load i32, ptr %285, align 4, !tbaa !9
  %3986 = call ptr @strerror(i32 noundef %3985) #13
  %3987 = load i32, ptr %285, align 4, !tbaa !9
  %3988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3979, ptr noundef nonnull %.str.5.sink1919, i32 noundef %3980, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %3982, ptr noundef %3984, ptr noundef %3986, i32 noundef %3987) #15
  call void @exit(i32 noundef 1) #16
  unreachable

3989:                                             ; preds = %3962
  %3990 = add nsw i32 %3963, 2
  store i32 %3990, ptr @test_count, align 4, !tbaa !9
  %3991 = call ptr @s2n_strerror_debug(i32 noundef %3965, ptr noundef nonnull @.str.4) #13
  %3992 = icmp eq ptr %3991, null
  br i1 %3992, label %3993, label %4015

3993:                                             ; preds = %3989
  %3994 = load i32, ptr %285, align 4, !tbaa !9
  %3995 = load ptr, ptr @stderr, align 8, !tbaa !11
  %3996 = call i32 @s2n_print_stacktrace(ptr noundef %3995) #13
  %3997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %3998 = trunc nuw i8 %3997 to i1
  br i1 %3998, label %3999, label %4003

3999:                                             ; preds = %3993
  %4000 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4001 = call i32 @fileno(ptr noundef %4000) #13
  %4002 = call i32 @isatty(i32 noundef %4001) #13
  %.not638 = icmp eq i32 %4002, 0
  br i1 %.not638, label %4003, label %4004

4003:                                             ; preds = %3999, %3993
  br label %4004

4004:                                             ; preds = %3999, %4003
  %.str.5.sink1928 = phi ptr [ @.str.5, %4003 ], [ @.str.2, %3999 ]
  store i32 %3994, ptr %285, align 4, !tbaa !9
  %4005 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4006 = load i32, ptr @test_count, align 4, !tbaa !9
  %4007 = load i32, ptr %231, align 4, !tbaa !9
  %4008 = call ptr @s2n_strerror(i32 noundef %4007, ptr noundef nonnull @.str.4) #13
  %4009 = load i32, ptr %231, align 4, !tbaa !9
  %4010 = call ptr @s2n_strerror_debug(i32 noundef %4009, ptr noundef nonnull @.str.4) #13
  %4011 = load i32, ptr %285, align 4, !tbaa !9
  %4012 = call ptr @strerror(i32 noundef %4011) #13
  %4013 = load i32, ptr %285, align 4, !tbaa !9
  %4014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4005, ptr noundef nonnull %.str.5.sink1928, i32 noundef %4006, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %4008, ptr noundef %4010, ptr noundef %4012, i32 noundef %4013) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4015:                                             ; preds = %3989
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %4016 = load i32, ptr @test_count, align 4, !tbaa !9
  %4017 = add nsw i32 %4016, 1
  store i32 %4017, ptr @test_count, align 4, !tbaa !9
  %4018 = call i32 @s2n_hash_free(ptr noundef nonnull %9) #13
  %4019 = icmp eq i32 %4018, -1
  br i1 %4019, label %4020, label %4042

4020:                                             ; preds = %4015
  %4021 = load i32, ptr %285, align 4, !tbaa !9
  %4022 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4023 = call i32 @s2n_print_stacktrace(ptr noundef %4022) #13
  %4024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4025 = trunc nuw i8 %4024 to i1
  br i1 %4025, label %4026, label %4030

4026:                                             ; preds = %4020
  %4027 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4028 = call i32 @fileno(ptr noundef %4027) #13
  %4029 = call i32 @isatty(i32 noundef %4028) #13
  %.not637 = icmp eq i32 %4029, 0
  br i1 %.not637, label %4030, label %4031

4030:                                             ; preds = %4026, %4020
  br label %4031

4031:                                             ; preds = %4026, %4030
  %.str.5.sink1937 = phi ptr [ @.str.5, %4030 ], [ @.str.2, %4026 ]
  store i32 %4021, ptr %285, align 4, !tbaa !9
  %4032 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4033 = load i32, ptr @test_count, align 4, !tbaa !9
  %4034 = load i32, ptr %231, align 4, !tbaa !9
  %4035 = call ptr @s2n_strerror(i32 noundef %4034, ptr noundef nonnull @.str.4) #13
  %4036 = load i32, ptr %231, align 4, !tbaa !9
  %4037 = call ptr @s2n_strerror_debug(i32 noundef %4036, ptr noundef nonnull @.str.4) #13
  %4038 = load i32, ptr %285, align 4, !tbaa !9
  %4039 = call ptr @strerror(i32 noundef %4038) #13
  %4040 = load i32, ptr %285, align 4, !tbaa !9
  %4041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4032, ptr noundef nonnull %.str.5.sink1937, i32 noundef %4033, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 227, ptr noundef %4035, ptr noundef %4037, ptr noundef %4039, i32 noundef %4040) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4042:                                             ; preds = %4015
  %4043 = load i32, ptr @test_count, align 4, !tbaa !9
  %4044 = add nsw i32 %4043, 1
  store i32 %4044, ptr @test_count, align 4, !tbaa !9
  %4045 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not541 = icmp eq i32 %4045, 0
  br i1 %.not541, label %4068, label %4046

4046:                                             ; preds = %4042
  %4047 = load i32, ptr %285, align 4, !tbaa !9
  %4048 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4049 = call i32 @s2n_print_stacktrace(ptr noundef %4048) #13
  %4050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4051 = trunc nuw i8 %4050 to i1
  br i1 %4051, label %4052, label %4056

4052:                                             ; preds = %4046
  %4053 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4054 = call i32 @fileno(ptr noundef %4053) #13
  %4055 = call i32 @isatty(i32 noundef %4054) #13
  %.not636 = icmp eq i32 %4055, 0
  br i1 %.not636, label %4056, label %4057

4056:                                             ; preds = %4052, %4046
  br label %4057

4057:                                             ; preds = %4052, %4056
  %.str.5.sink1946 = phi ptr [ @.str.5, %4056 ], [ @.str.2, %4052 ]
  store i32 %4047, ptr %285, align 4, !tbaa !9
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4059 = load i32, ptr @test_count, align 4, !tbaa !9
  %4060 = load i32, ptr %231, align 4, !tbaa !9
  %4061 = call ptr @s2n_strerror(i32 noundef %4060, ptr noundef nonnull @.str.4) #13
  %4062 = load i32, ptr %231, align 4, !tbaa !9
  %4063 = call ptr @s2n_strerror_debug(i32 noundef %4062, ptr noundef nonnull @.str.4) #13
  %4064 = load i32, ptr %285, align 4, !tbaa !9
  %4065 = call ptr @strerror(i32 noundef %4064) #13
  %4066 = load i32, ptr %285, align 4, !tbaa !9
  %4067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4058, ptr noundef nonnull %.str.5.sink1946, i32 noundef %4059, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %4061, ptr noundef %4063, ptr noundef %4065, i32 noundef %4066) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4068:                                             ; preds = %4042
  %4069 = load i32, ptr @test_count, align 4, !tbaa !9
  %4070 = add nsw i32 %4069, 1
  store i32 %4070, ptr @test_count, align 4, !tbaa !9
  %4071 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4072 = icmp eq i32 %4071, -1
  br i1 %4072, label %4095, label %4073

4073:                                             ; preds = %4068
  %4074 = load i32, ptr %285, align 4, !tbaa !9
  %4075 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4076 = call i32 @s2n_print_stacktrace(ptr noundef %4075) #13
  %4077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4078 = trunc nuw i8 %4077 to i1
  br i1 %4078, label %4079, label %4083

4079:                                             ; preds = %4073
  %4080 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4081 = call i32 @fileno(ptr noundef %4080) #13
  %4082 = call i32 @isatty(i32 noundef %4081) #13
  %.not542 = icmp eq i32 %4082, 0
  br i1 %.not542, label %4083, label %4084

4083:                                             ; preds = %4079, %4073
  br label %4084

4084:                                             ; preds = %4079, %4083
  %.str.5.sink1955 = phi ptr [ @.str.5, %4083 ], [ @.str.2, %4079 ]
  store i32 %4074, ptr %285, align 4, !tbaa !9
  %4085 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4086 = load i32, ptr @test_count, align 4, !tbaa !9
  %4087 = load i32, ptr %231, align 4, !tbaa !9
  %4088 = call ptr @s2n_strerror(i32 noundef %4087, ptr noundef nonnull @.str.4) #13
  %4089 = load i32, ptr %231, align 4, !tbaa !9
  %4090 = call ptr @s2n_strerror_debug(i32 noundef %4089, ptr noundef nonnull @.str.4) #13
  %4091 = load i32, ptr %285, align 4, !tbaa !9
  %4092 = call ptr @strerror(i32 noundef %4091) #13
  %4093 = load i32, ptr %285, align 4, !tbaa !9
  %4094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4085, ptr noundef nonnull %.str.5.sink1955, i32 noundef %4086, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %4088, ptr noundef %4090, ptr noundef %4092, i32 noundef %4093) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4095:                                             ; preds = %4068
  %4096 = load i32, ptr @test_count, align 4, !tbaa !9
  %4097 = add nsw i32 %4096, 1
  store i32 %4097, ptr @test_count, align 4, !tbaa !9
  %4098 = load i32, ptr %231, align 4, !tbaa !9
  %4099 = icmp eq i32 %4098, 0
  br i1 %4099, label %4100, label %4122

4100:                                             ; preds = %4095
  %4101 = load i32, ptr %285, align 4, !tbaa !9
  %4102 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4103 = call i32 @s2n_print_stacktrace(ptr noundef %4102) #13
  %4104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4105 = trunc nuw i8 %4104 to i1
  br i1 %4105, label %4106, label %4110

4106:                                             ; preds = %4100
  %4107 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4108 = call i32 @fileno(ptr noundef %4107) #13
  %4109 = call i32 @isatty(i32 noundef %4108) #13
  %.not635 = icmp eq i32 %4109, 0
  br i1 %.not635, label %4110, label %4111

4110:                                             ; preds = %4106, %4100
  br label %4111

4111:                                             ; preds = %4106, %4110
  %.str.5.sink1964 = phi ptr [ @.str.5, %4110 ], [ @.str.2, %4106 ]
  store i32 %4101, ptr %285, align 4, !tbaa !9
  %4112 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4113 = load i32, ptr @test_count, align 4, !tbaa !9
  %4114 = load i32, ptr %231, align 4, !tbaa !9
  %4115 = call ptr @s2n_strerror(i32 noundef %4114, ptr noundef nonnull @.str.4) #13
  %4116 = load i32, ptr %231, align 4, !tbaa !9
  %4117 = call ptr @s2n_strerror_debug(i32 noundef %4116, ptr noundef nonnull @.str.4) #13
  %4118 = load i32, ptr %285, align 4, !tbaa !9
  %4119 = call ptr @strerror(i32 noundef %4118) #13
  %4120 = load i32, ptr %285, align 4, !tbaa !9
  %4121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4112, ptr noundef nonnull %.str.5.sink1964, i32 noundef %4113, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %4115, ptr noundef %4117, ptr noundef %4119, i32 noundef %4120) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4122:                                             ; preds = %4095
  %4123 = add nsw i32 %4096, 2
  store i32 %4123, ptr @test_count, align 4, !tbaa !9
  %4124 = call ptr @s2n_strerror_debug(i32 noundef %4098, ptr noundef nonnull @.str.4) #13
  %4125 = icmp eq ptr %4124, null
  br i1 %4125, label %4126, label %4148

4126:                                             ; preds = %4122
  %4127 = load i32, ptr %285, align 4, !tbaa !9
  %4128 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4129 = call i32 @s2n_print_stacktrace(ptr noundef %4128) #13
  %4130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4131 = trunc nuw i8 %4130 to i1
  br i1 %4131, label %4132, label %4136

4132:                                             ; preds = %4126
  %4133 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4134 = call i32 @fileno(ptr noundef %4133) #13
  %4135 = call i32 @isatty(i32 noundef %4134) #13
  %.not634 = icmp eq i32 %4135, 0
  br i1 %.not634, label %4136, label %4137

4136:                                             ; preds = %4132, %4126
  br label %4137

4137:                                             ; preds = %4132, %4136
  %.str.5.sink1973 = phi ptr [ @.str.5, %4136 ], [ @.str.2, %4132 ]
  store i32 %4127, ptr %285, align 4, !tbaa !9
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4139 = load i32, ptr @test_count, align 4, !tbaa !9
  %4140 = load i32, ptr %231, align 4, !tbaa !9
  %4141 = call ptr @s2n_strerror(i32 noundef %4140, ptr noundef nonnull @.str.4) #13
  %4142 = load i32, ptr %231, align 4, !tbaa !9
  %4143 = call ptr @s2n_strerror_debug(i32 noundef %4142, ptr noundef nonnull @.str.4) #13
  %4144 = load i32, ptr %285, align 4, !tbaa !9
  %4145 = call ptr @strerror(i32 noundef %4144) #13
  %4146 = load i32, ptr %285, align 4, !tbaa !9
  %4147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4138, ptr noundef nonnull %.str.5.sink1973, i32 noundef %4139, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %4141, ptr noundef %4143, ptr noundef %4145, i32 noundef %4146) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4148:                                             ; preds = %4122
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %4149 = load i32, ptr @test_count, align 4, !tbaa !9
  %4150 = add nsw i32 %4149, 1
  store i32 %4150, ptr @test_count, align 4, !tbaa !9
  %4151 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %4152 = icmp eq i32 %4151, -1
  br i1 %4152, label %4153, label %.preheader721

4153:                                             ; preds = %4148
  %4154 = load i32, ptr %285, align 4, !tbaa !9
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4156 = call i32 @s2n_print_stacktrace(ptr noundef %4155) #13
  %4157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4158 = trunc nuw i8 %4157 to i1
  br i1 %4158, label %4159, label %4163

4159:                                             ; preds = %4153
  %4160 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4161 = call i32 @fileno(ptr noundef %4160) #13
  %4162 = call i32 @isatty(i32 noundef %4161) #13
  %.not633 = icmp eq i32 %4162, 0
  br i1 %.not633, label %4163, label %4164

4163:                                             ; preds = %4159, %4153
  br label %4164

4164:                                             ; preds = %4159, %4163
  %.str.5.sink1982 = phi ptr [ @.str.5, %4163 ], [ @.str.2, %4159 ]
  store i32 %4154, ptr %285, align 4, !tbaa !9
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4166 = load i32, ptr @test_count, align 4, !tbaa !9
  %4167 = load i32, ptr %231, align 4, !tbaa !9
  %4168 = call ptr @s2n_strerror(i32 noundef %4167, ptr noundef nonnull @.str.4) #13
  %4169 = load i32, ptr %231, align 4, !tbaa !9
  %4170 = call ptr @s2n_strerror_debug(i32 noundef %4169, ptr noundef nonnull @.str.4) #13
  %4171 = load i32, ptr %285, align 4, !tbaa !9
  %4172 = call ptr @strerror(i32 noundef %4171) #13
  %4173 = load i32, ptr %285, align 4, !tbaa !9
  %4174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4165, ptr noundef nonnull %.str.5.sink1982, i32 noundef %4166, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 231, ptr noundef %4168, ptr noundef %4170, ptr noundef %4172, i32 noundef %4173) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4175:                                             ; preds = %.preheader721
  %indvars.iv.next = add nuw nsw i64 %indvars.iv, 1
  %exitcond.not = icmp eq i64 %indvars.iv.next, 28
  br i1 %exitcond.not, label %4176, label %.preheader721, !llvm.loop !18

4176:                                             ; preds = %4175
  %4177 = load i32, ptr @test_count, align 4, !tbaa !9
  %4178 = add nsw i32 %4177, 1
  store i32 %4178, ptr @test_count, align 4, !tbaa !9
  %bcmp543 = call i32 @bcmp(ptr noundef nonnull dereferenceable(56) %4, ptr noundef nonnull dereferenceable(56) @.str.51, i64 56)
  %4179 = icmp eq i32 %bcmp543, 0
  br i1 %4179, label %4230, label %4208

.preheader721:                                    ; preds = %4148, %4175
  %indvars.iv = phi i64 [ %indvars.iv.next, %4175 ], [ 0, %4148 ]
  %4180 = load i32, ptr @test_count, align 4, !tbaa !9
  %4181 = add nsw i32 %4180, 1
  store i32 %4181, ptr @test_count, align 4, !tbaa !9
  %4182 = getelementptr inbounds [64 x i8], ptr %3, i64 0, i64 %indvars.iv
  %4183 = load i8, ptr %4182, align 1, !tbaa !17
  %4184 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %4183) #13
  %4185 = call zeroext i1 @s2n_result_is_ok(i32 %4184)
  br i1 %4185, label %4175, label %4186

4186:                                             ; preds = %.preheader721
  %4187 = load i32, ptr %285, align 4, !tbaa !9
  %4188 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4189 = call i32 @s2n_print_stacktrace(ptr noundef %4188) #13
  %4190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4191 = trunc nuw i8 %4190 to i1
  br i1 %4191, label %4192, label %4196

4192:                                             ; preds = %4186
  %4193 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4194 = call i32 @fileno(ptr noundef %4193) #13
  %4195 = call i32 @isatty(i32 noundef %4194) #13
  %.not632 = icmp eq i32 %4195, 0
  br i1 %.not632, label %4196, label %4197

4196:                                             ; preds = %4192, %4186
  br label %4197

4197:                                             ; preds = %4192, %4196
  %.str.5.sink1991 = phi ptr [ @.str.5, %4196 ], [ @.str.2, %4192 ]
  store i32 %4187, ptr %285, align 4, !tbaa !9
  %4198 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4199 = load i32, ptr @test_count, align 4, !tbaa !9
  %4200 = load i32, ptr %231, align 4, !tbaa !9
  %4201 = call ptr @s2n_strerror(i32 noundef %4200, ptr noundef nonnull @.str.4) #13
  %4202 = load i32, ptr %231, align 4, !tbaa !9
  %4203 = call ptr @s2n_strerror_debug(i32 noundef %4202, ptr noundef nonnull @.str.4) #13
  %4204 = load i32, ptr %285, align 4, !tbaa !9
  %4205 = call ptr @strerror(i32 noundef %4204) #13
  %4206 = load i32, ptr %285, align 4, !tbaa !9
  %4207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4198, ptr noundef nonnull %.str.5.sink1991, i32 noundef %4199, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %4201, ptr noundef %4203, ptr noundef %4205, i32 noundef %4206) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4208:                                             ; preds = %4176
  %4209 = load i32, ptr %285, align 4, !tbaa !9
  %4210 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4211 = call i32 @s2n_print_stacktrace(ptr noundef %4210) #13
  %4212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4213 = trunc nuw i8 %4212 to i1
  br i1 %4213, label %4214, label %4218

4214:                                             ; preds = %4208
  %4215 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4216 = call i32 @fileno(ptr noundef %4215) #13
  %4217 = call i32 @isatty(i32 noundef %4216) #13
  %.not544 = icmp eq i32 %4217, 0
  br i1 %.not544, label %4218, label %4219

4218:                                             ; preds = %4214, %4208
  br label %4219

4219:                                             ; preds = %4214, %4218
  %.str.5.sink2000 = phi ptr [ @.str.5, %4218 ], [ @.str.2, %4214 ]
  store i32 %4209, ptr %285, align 4, !tbaa !9
  %4220 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4221 = load i32, ptr @test_count, align 4, !tbaa !9
  %4222 = load i32, ptr %231, align 4, !tbaa !9
  %4223 = call ptr @s2n_strerror(i32 noundef %4222, ptr noundef nonnull @.str.4) #13
  %4224 = load i32, ptr %231, align 4, !tbaa !9
  %4225 = call ptr @s2n_strerror_debug(i32 noundef %4224, ptr noundef nonnull @.str.4) #13
  %4226 = load i32, ptr %285, align 4, !tbaa !9
  %4227 = call ptr @strerror(i32 noundef %4226) #13
  %4228 = load i32, ptr %285, align 4, !tbaa !9
  %4229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4220, ptr noundef nonnull %.str.5.sink2000, i32 noundef %4221, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %4223, ptr noundef %4225, ptr noundef %4227, i32 noundef %4228) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4230:                                             ; preds = %4176
  %4231 = call i32 @s2n_hash_new(ptr noundef nonnull %9) #13
  %4232 = icmp sgt i32 %4231, -1
  br i1 %4232, label %4233, label %6086

4233:                                             ; preds = %4230
  %4234 = load i32, ptr @test_count, align 4, !tbaa !9
  %4235 = add nsw i32 %4234, 1
  store i32 %4235, ptr @test_count, align 4, !tbaa !9
  %4236 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not545 = icmp eq i32 %4236, 0
  br i1 %.not545, label %4259, label %4237

4237:                                             ; preds = %4233
  %4238 = load i32, ptr %285, align 4, !tbaa !9
  %4239 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4240 = call i32 @s2n_print_stacktrace(ptr noundef %4239) #13
  %4241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4242 = trunc nuw i8 %4241 to i1
  br i1 %4242, label %4243, label %4247

4243:                                             ; preds = %4237
  %4244 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4245 = call i32 @fileno(ptr noundef %4244) #13
  %4246 = call i32 @isatty(i32 noundef %4245) #13
  %.not631 = icmp eq i32 %4246, 0
  br i1 %.not631, label %4247, label %4248

4247:                                             ; preds = %4243, %4237
  br label %4248

4248:                                             ; preds = %4243, %4247
  %.str.5.sink2009 = phi ptr [ @.str.5, %4247 ], [ @.str.2, %4243 ]
  store i32 %4238, ptr %285, align 4, !tbaa !9
  %4249 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4250 = load i32, ptr @test_count, align 4, !tbaa !9
  %4251 = load i32, ptr %231, align 4, !tbaa !9
  %4252 = call ptr @s2n_strerror(i32 noundef %4251, ptr noundef nonnull @.str.4) #13
  %4253 = load i32, ptr %231, align 4, !tbaa !9
  %4254 = call ptr @s2n_strerror_debug(i32 noundef %4253, ptr noundef nonnull @.str.4) #13
  %4255 = load i32, ptr %285, align 4, !tbaa !9
  %4256 = call ptr @strerror(i32 noundef %4255) #13
  %4257 = load i32, ptr %285, align 4, !tbaa !9
  %4258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4249, ptr noundef nonnull %.str.5.sink2009, i32 noundef %4250, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %4252, ptr noundef %4254, ptr noundef %4256, i32 noundef %4257) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4259:                                             ; preds = %4233
  %4260 = load i32, ptr @test_count, align 4, !tbaa !9
  %4261 = add nsw i32 %4260, 1
  store i32 %4261, ptr @test_count, align 4, !tbaa !9
  %4262 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4263 = icmp eq i32 %4262, -1
  br i1 %4263, label %4286, label %4264

4264:                                             ; preds = %4259
  %4265 = load i32, ptr %285, align 4, !tbaa !9
  %4266 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4267 = call i32 @s2n_print_stacktrace(ptr noundef %4266) #13
  %4268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4269 = trunc nuw i8 %4268 to i1
  br i1 %4269, label %4270, label %4274

4270:                                             ; preds = %4264
  %4271 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4272 = call i32 @fileno(ptr noundef %4271) #13
  %4273 = call i32 @isatty(i32 noundef %4272) #13
  %.not546 = icmp eq i32 %4273, 0
  br i1 %.not546, label %4274, label %4275

4274:                                             ; preds = %4270, %4264
  br label %4275

4275:                                             ; preds = %4270, %4274
  %.str.5.sink2018 = phi ptr [ @.str.5, %4274 ], [ @.str.2, %4270 ]
  store i32 %4265, ptr %285, align 4, !tbaa !9
  %4276 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4277 = load i32, ptr @test_count, align 4, !tbaa !9
  %4278 = load i32, ptr %231, align 4, !tbaa !9
  %4279 = call ptr @s2n_strerror(i32 noundef %4278, ptr noundef nonnull @.str.4) #13
  %4280 = load i32, ptr %231, align 4, !tbaa !9
  %4281 = call ptr @s2n_strerror_debug(i32 noundef %4280, ptr noundef nonnull @.str.4) #13
  %4282 = load i32, ptr %285, align 4, !tbaa !9
  %4283 = call ptr @strerror(i32 noundef %4282) #13
  %4284 = load i32, ptr %285, align 4, !tbaa !9
  %4285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4276, ptr noundef nonnull %.str.5.sink2018, i32 noundef %4277, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %4279, ptr noundef %4281, ptr noundef %4283, i32 noundef %4284) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4286:                                             ; preds = %4259
  %4287 = load i32, ptr @test_count, align 4, !tbaa !9
  %4288 = add nsw i32 %4287, 1
  store i32 %4288, ptr @test_count, align 4, !tbaa !9
  %4289 = load i32, ptr %231, align 4, !tbaa !9
  %4290 = icmp eq i32 %4289, 0
  br i1 %4290, label %4291, label %4313

4291:                                             ; preds = %4286
  %4292 = load i32, ptr %285, align 4, !tbaa !9
  %4293 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4294 = call i32 @s2n_print_stacktrace(ptr noundef %4293) #13
  %4295 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4296 = trunc nuw i8 %4295 to i1
  br i1 %4296, label %4297, label %4301

4297:                                             ; preds = %4291
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4299 = call i32 @fileno(ptr noundef %4298) #13
  %4300 = call i32 @isatty(i32 noundef %4299) #13
  %.not630 = icmp eq i32 %4300, 0
  br i1 %.not630, label %4301, label %4302

4301:                                             ; preds = %4297, %4291
  br label %4302

4302:                                             ; preds = %4297, %4301
  %.str.5.sink2027 = phi ptr [ @.str.5, %4301 ], [ @.str.2, %4297 ]
  store i32 %4292, ptr %285, align 4, !tbaa !9
  %4303 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4304 = load i32, ptr @test_count, align 4, !tbaa !9
  %4305 = load i32, ptr %231, align 4, !tbaa !9
  %4306 = call ptr @s2n_strerror(i32 noundef %4305, ptr noundef nonnull @.str.4) #13
  %4307 = load i32, ptr %231, align 4, !tbaa !9
  %4308 = call ptr @s2n_strerror_debug(i32 noundef %4307, ptr noundef nonnull @.str.4) #13
  %4309 = load i32, ptr %285, align 4, !tbaa !9
  %4310 = call ptr @strerror(i32 noundef %4309) #13
  %4311 = load i32, ptr %285, align 4, !tbaa !9
  %4312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4303, ptr noundef nonnull %.str.5.sink2027, i32 noundef %4304, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %4306, ptr noundef %4308, ptr noundef %4310, i32 noundef %4311) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4313:                                             ; preds = %4286
  %4314 = add nsw i32 %4287, 2
  store i32 %4314, ptr @test_count, align 4, !tbaa !9
  %4315 = call ptr @s2n_strerror_debug(i32 noundef %4289, ptr noundef nonnull @.str.4) #13
  %4316 = icmp eq ptr %4315, null
  br i1 %4316, label %4317, label %4339

4317:                                             ; preds = %4313
  %4318 = load i32, ptr %285, align 4, !tbaa !9
  %4319 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4320 = call i32 @s2n_print_stacktrace(ptr noundef %4319) #13
  %4321 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4322 = trunc nuw i8 %4321 to i1
  br i1 %4322, label %4323, label %4327

4323:                                             ; preds = %4317
  %4324 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4325 = call i32 @fileno(ptr noundef %4324) #13
  %4326 = call i32 @isatty(i32 noundef %4325) #13
  %.not629 = icmp eq i32 %4326, 0
  br i1 %.not629, label %4327, label %4328

4327:                                             ; preds = %4323, %4317
  br label %4328

4328:                                             ; preds = %4323, %4327
  %.str.5.sink2036 = phi ptr [ @.str.5, %4327 ], [ @.str.2, %4323 ]
  store i32 %4318, ptr %285, align 4, !tbaa !9
  %4329 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4330 = load i32, ptr @test_count, align 4, !tbaa !9
  %4331 = load i32, ptr %231, align 4, !tbaa !9
  %4332 = call ptr @s2n_strerror(i32 noundef %4331, ptr noundef nonnull @.str.4) #13
  %4333 = load i32, ptr %231, align 4, !tbaa !9
  %4334 = call ptr @s2n_strerror_debug(i32 noundef %4333, ptr noundef nonnull @.str.4) #13
  %4335 = load i32, ptr %285, align 4, !tbaa !9
  %4336 = call ptr @strerror(i32 noundef %4335) #13
  %4337 = load i32, ptr %285, align 4, !tbaa !9
  %4338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4329, ptr noundef nonnull %.str.5.sink2036, i32 noundef %4330, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 242, ptr noundef %4332, ptr noundef %4334, ptr noundef %4336, i32 noundef %4337) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4339:                                             ; preds = %4313
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #13
  store i8 0, ptr %16, align 1, !tbaa !17
  %4340 = call i32 @s2n_hash_digest_size(i32 noundef 4, ptr noundef nonnull %16) #13
  %4341 = icmp sgt i32 %4340, -1
  br i1 %4341, label %4342, label %6085

4342:                                             ; preds = %4339
  %4343 = load i32, ptr @test_count, align 4, !tbaa !9
  %4344 = add nsw i32 %4343, 1
  store i32 %4344, ptr @test_count, align 4, !tbaa !9
  %4345 = load i8, ptr %16, align 1, !tbaa !17
  %4346 = icmp eq i8 %4345, 32
  br i1 %4346, label %4369, label %4347

4347:                                             ; preds = %4342
  %4348 = load i32, ptr %285, align 4, !tbaa !9
  %4349 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4350 = call i32 @s2n_print_stacktrace(ptr noundef %4349) #13
  %4351 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4352 = trunc nuw i8 %4351 to i1
  br i1 %4352, label %4353, label %4357

4353:                                             ; preds = %4347
  %4354 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4355 = call i32 @fileno(ptr noundef %4354) #13
  %4356 = call i32 @isatty(i32 noundef %4355) #13
  %.not547 = icmp eq i32 %4356, 0
  br i1 %.not547, label %4357, label %4358

4357:                                             ; preds = %4353, %4347
  br label %4358

4358:                                             ; preds = %4353, %4357
  %.str.5.sink2045 = phi ptr [ @.str.5, %4357 ], [ @.str.2, %4353 ]
  store i32 %4348, ptr %285, align 4, !tbaa !9
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4360 = load i32, ptr @test_count, align 4, !tbaa !9
  %4361 = load i32, ptr %231, align 4, !tbaa !9
  %4362 = call ptr @s2n_strerror(i32 noundef %4361, ptr noundef nonnull @.str.4) #13
  %4363 = load i32, ptr %231, align 4, !tbaa !9
  %4364 = call ptr @s2n_strerror_debug(i32 noundef %4363, ptr noundef nonnull @.str.4) #13
  %4365 = load i32, ptr %285, align 4, !tbaa !9
  %4366 = call ptr @strerror(i32 noundef %4365) #13
  %4367 = load i32, ptr %285, align 4, !tbaa !9
  %4368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4359, ptr noundef nonnull %.str.5.sink2045, i32 noundef %4360, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 246, ptr noundef %4362, ptr noundef %4364, ptr noundef %4366, i32 noundef %4367) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4369:                                             ; preds = %4342
  %4370 = add nsw i32 %4343, 2
  store i32 %4370, ptr @test_count, align 4, !tbaa !9
  %4371 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 4) #13
  %4372 = icmp eq i32 %4371, -1
  br i1 %4372, label %4373, label %4395

4373:                                             ; preds = %4369
  %4374 = load i32, ptr %285, align 4, !tbaa !9
  %4375 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4376 = call i32 @s2n_print_stacktrace(ptr noundef %4375) #13
  %4377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4378 = trunc nuw i8 %4377 to i1
  br i1 %4378, label %4379, label %4383

4379:                                             ; preds = %4373
  %4380 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4381 = call i32 @fileno(ptr noundef %4380) #13
  %4382 = call i32 @isatty(i32 noundef %4381) #13
  %.not628 = icmp eq i32 %4382, 0
  br i1 %.not628, label %4383, label %4384

4383:                                             ; preds = %4379, %4373
  br label %4384

4384:                                             ; preds = %4379, %4383
  %.str.5.sink2054 = phi ptr [ @.str.5, %4383 ], [ @.str.2, %4379 ]
  store i32 %4374, ptr %285, align 4, !tbaa !9
  %4385 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4386 = load i32, ptr @test_count, align 4, !tbaa !9
  %4387 = load i32, ptr %231, align 4, !tbaa !9
  %4388 = call ptr @s2n_strerror(i32 noundef %4387, ptr noundef nonnull @.str.4) #13
  %4389 = load i32, ptr %231, align 4, !tbaa !9
  %4390 = call ptr @s2n_strerror_debug(i32 noundef %4389, ptr noundef nonnull @.str.4) #13
  %4391 = load i32, ptr %285, align 4, !tbaa !9
  %4392 = call ptr @strerror(i32 noundef %4391) #13
  %4393 = load i32, ptr %285, align 4, !tbaa !9
  %4394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4385, ptr noundef nonnull %.str.5.sink2054, i32 noundef %4386, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %4388, ptr noundef %4390, ptr noundef %4392, i32 noundef %4393) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4395:                                             ; preds = %4369
  %4396 = load i32, ptr @test_count, align 4, !tbaa !9
  %4397 = add nsw i32 %4396, 1
  store i32 %4397, ptr @test_count, align 4, !tbaa !9
  %4398 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not548 = icmp eq i32 %4398, 0
  br i1 %.not548, label %4399, label %4421

4399:                                             ; preds = %4395
  %4400 = load i32, ptr %285, align 4, !tbaa !9
  %4401 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4402 = call i32 @s2n_print_stacktrace(ptr noundef %4401) #13
  %4403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4404 = trunc nuw i8 %4403 to i1
  br i1 %4404, label %4405, label %4409

4405:                                             ; preds = %4399
  %4406 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4407 = call i32 @fileno(ptr noundef %4406) #13
  %4408 = call i32 @isatty(i32 noundef %4407) #13
  %.not549 = icmp eq i32 %4408, 0
  br i1 %.not549, label %4409, label %4410

4409:                                             ; preds = %4405, %4399
  br label %4410

4410:                                             ; preds = %4405, %4409
  %.str.5.sink2063 = phi ptr [ @.str.5, %4409 ], [ @.str.2, %4405 ]
  store i32 %4400, ptr %285, align 4, !tbaa !9
  %4411 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4412 = load i32, ptr @test_count, align 4, !tbaa !9
  %4413 = load i32, ptr %231, align 4, !tbaa !9
  %4414 = call ptr @s2n_strerror(i32 noundef %4413, ptr noundef nonnull @.str.4) #13
  %4415 = load i32, ptr %231, align 4, !tbaa !9
  %4416 = call ptr @s2n_strerror_debug(i32 noundef %4415, ptr noundef nonnull @.str.4) #13
  %4417 = load i32, ptr %285, align 4, !tbaa !9
  %4418 = call ptr @strerror(i32 noundef %4417) #13
  %4419 = load i32, ptr %285, align 4, !tbaa !9
  %4420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4411, ptr noundef nonnull %.str.5.sink2063, i32 noundef %4412, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %4414, ptr noundef %4416, ptr noundef %4418, i32 noundef %4419) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4421:                                             ; preds = %4395
  %4422 = load i32, ptr @test_count, align 4, !tbaa !9
  %4423 = add nsw i32 %4422, 1
  store i32 %4423, ptr @test_count, align 4, !tbaa !9
  %4424 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4425 = icmp eq i32 %4424, -1
  br i1 %4425, label %4426, label %4448

4426:                                             ; preds = %4421
  %4427 = load i32, ptr %285, align 4, !tbaa !9
  %4428 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4429 = call i32 @s2n_print_stacktrace(ptr noundef %4428) #13
  %4430 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4431 = trunc nuw i8 %4430 to i1
  br i1 %4431, label %4432, label %4436

4432:                                             ; preds = %4426
  %4433 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4434 = call i32 @fileno(ptr noundef %4433) #13
  %4435 = call i32 @isatty(i32 noundef %4434) #13
  %.not627 = icmp eq i32 %4435, 0
  br i1 %.not627, label %4436, label %4437

4436:                                             ; preds = %4432, %4426
  br label %4437

4437:                                             ; preds = %4432, %4436
  %.str.5.sink2072 = phi ptr [ @.str.5, %4436 ], [ @.str.2, %4432 ]
  store i32 %4427, ptr %285, align 4, !tbaa !9
  %4438 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4439 = load i32, ptr @test_count, align 4, !tbaa !9
  %4440 = load i32, ptr %231, align 4, !tbaa !9
  %4441 = call ptr @s2n_strerror(i32 noundef %4440, ptr noundef nonnull @.str.4) #13
  %4442 = load i32, ptr %231, align 4, !tbaa !9
  %4443 = call ptr @s2n_strerror_debug(i32 noundef %4442, ptr noundef nonnull @.str.4) #13
  %4444 = load i32, ptr %285, align 4, !tbaa !9
  %4445 = call ptr @strerror(i32 noundef %4444) #13
  %4446 = load i32, ptr %285, align 4, !tbaa !9
  %4447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4438, ptr noundef nonnull %.str.5.sink2072, i32 noundef %4439, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %4441, ptr noundef %4443, ptr noundef %4445, i32 noundef %4446) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4448:                                             ; preds = %4421
  %4449 = load i32, ptr @test_count, align 4, !tbaa !9
  %4450 = add nsw i32 %4449, 1
  store i32 %4450, ptr @test_count, align 4, !tbaa !9
  %4451 = load i64, ptr %12, align 8, !tbaa !5
  %4452 = icmp eq i64 %4451, 0
  br i1 %4452, label %4475, label %4453

4453:                                             ; preds = %4448
  %4454 = load i32, ptr %285, align 4, !tbaa !9
  %4455 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4456 = call i32 @s2n_print_stacktrace(ptr noundef %4455) #13
  %4457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4458 = trunc nuw i8 %4457 to i1
  br i1 %4458, label %4459, label %4463

4459:                                             ; preds = %4453
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4461 = call i32 @fileno(ptr noundef %4460) #13
  %4462 = call i32 @isatty(i32 noundef %4461) #13
  %.not550 = icmp eq i32 %4462, 0
  br i1 %.not550, label %4463, label %4464

4463:                                             ; preds = %4459, %4453
  br label %4464

4464:                                             ; preds = %4459, %4463
  %.str.5.sink2081 = phi ptr [ @.str.5, %4463 ], [ @.str.2, %4459 ]
  store i32 %4454, ptr %285, align 4, !tbaa !9
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4466 = load i32, ptr @test_count, align 4, !tbaa !9
  %4467 = load i32, ptr %231, align 4, !tbaa !9
  %4468 = call ptr @s2n_strerror(i32 noundef %4467, ptr noundef nonnull @.str.4) #13
  %4469 = load i32, ptr %231, align 4, !tbaa !9
  %4470 = call ptr @s2n_strerror_debug(i32 noundef %4469, ptr noundef nonnull @.str.4) #13
  %4471 = load i32, ptr %285, align 4, !tbaa !9
  %4472 = call ptr @strerror(i32 noundef %4471) #13
  %4473 = load i32, ptr %285, align 4, !tbaa !9
  %4474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4465, ptr noundef nonnull %.str.5.sink2081, i32 noundef %4466, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %4468, ptr noundef %4470, ptr noundef %4472, i32 noundef %4473) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4475:                                             ; preds = %4448
  %4476 = add nsw i32 %4449, 2
  store i32 %4476, ptr @test_count, align 4, !tbaa !9
  %4477 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %4478 = trunc i64 %4477 to i32
  %4479 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %4478) #13
  %4480 = icmp eq i32 %4479, -1
  br i1 %4480, label %4481, label %4503

4481:                                             ; preds = %4475
  %4482 = load i32, ptr %285, align 4, !tbaa !9
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4484 = call i32 @s2n_print_stacktrace(ptr noundef %4483) #13
  %4485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4486 = trunc nuw i8 %4485 to i1
  br i1 %4486, label %4487, label %4491

4487:                                             ; preds = %4481
  %4488 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4489 = call i32 @fileno(ptr noundef %4488) #13
  %4490 = call i32 @isatty(i32 noundef %4489) #13
  %.not626 = icmp eq i32 %4490, 0
  br i1 %.not626, label %4491, label %4492

4491:                                             ; preds = %4487, %4481
  br label %4492

4492:                                             ; preds = %4487, %4491
  %.str.5.sink2090 = phi ptr [ @.str.5, %4491 ], [ @.str.2, %4487 ]
  store i32 %4482, ptr %285, align 4, !tbaa !9
  %4493 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4494 = load i32, ptr @test_count, align 4, !tbaa !9
  %4495 = load i32, ptr %231, align 4, !tbaa !9
  %4496 = call ptr @s2n_strerror(i32 noundef %4495, ptr noundef nonnull @.str.4) #13
  %4497 = load i32, ptr %231, align 4, !tbaa !9
  %4498 = call ptr @s2n_strerror_debug(i32 noundef %4497, ptr noundef nonnull @.str.4) #13
  %4499 = load i32, ptr %285, align 4, !tbaa !9
  %4500 = call ptr @strerror(i32 noundef %4499) #13
  %4501 = load i32, ptr %285, align 4, !tbaa !9
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4493, ptr noundef nonnull %.str.5.sink2090, i32 noundef %4494, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %4496, ptr noundef %4498, ptr noundef %4500, i32 noundef %4501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4503:                                             ; preds = %4475
  %4504 = load i32, ptr @test_count, align 4, !tbaa !9
  %4505 = add nsw i32 %4504, 1
  store i32 %4505, ptr @test_count, align 4, !tbaa !9
  %4506 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not551 = icmp eq i32 %4506, 0
  br i1 %.not551, label %4507, label %4529

4507:                                             ; preds = %4503
  %4508 = load i32, ptr %285, align 4, !tbaa !9
  %4509 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4510 = call i32 @s2n_print_stacktrace(ptr noundef %4509) #13
  %4511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4512 = trunc nuw i8 %4511 to i1
  br i1 %4512, label %4513, label %4517

4513:                                             ; preds = %4507
  %4514 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4515 = call i32 @fileno(ptr noundef %4514) #13
  %4516 = call i32 @isatty(i32 noundef %4515) #13
  %.not552 = icmp eq i32 %4516, 0
  br i1 %.not552, label %4517, label %4518

4517:                                             ; preds = %4513, %4507
  br label %4518

4518:                                             ; preds = %4513, %4517
  %.str.5.sink2099 = phi ptr [ @.str.5, %4517 ], [ @.str.2, %4513 ]
  store i32 %4508, ptr %285, align 4, !tbaa !9
  %4519 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4520 = load i32, ptr @test_count, align 4, !tbaa !9
  %4521 = load i32, ptr %231, align 4, !tbaa !9
  %4522 = call ptr @s2n_strerror(i32 noundef %4521, ptr noundef nonnull @.str.4) #13
  %4523 = load i32, ptr %231, align 4, !tbaa !9
  %4524 = call ptr @s2n_strerror_debug(i32 noundef %4523, ptr noundef nonnull @.str.4) #13
  %4525 = load i32, ptr %285, align 4, !tbaa !9
  %4526 = call ptr @strerror(i32 noundef %4525) #13
  %4527 = load i32, ptr %285, align 4, !tbaa !9
  %4528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4519, ptr noundef nonnull %.str.5.sink2099, i32 noundef %4520, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %4522, ptr noundef %4524, ptr noundef %4526, i32 noundef %4527) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4529:                                             ; preds = %4503
  %4530 = load i32, ptr @test_count, align 4, !tbaa !9
  %4531 = add nsw i32 %4530, 1
  store i32 %4531, ptr @test_count, align 4, !tbaa !9
  %4532 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4533 = icmp eq i32 %4532, -1
  br i1 %4533, label %4534, label %4556

4534:                                             ; preds = %4529
  %4535 = load i32, ptr %285, align 4, !tbaa !9
  %4536 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4537 = call i32 @s2n_print_stacktrace(ptr noundef %4536) #13
  %4538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4539 = trunc nuw i8 %4538 to i1
  br i1 %4539, label %4540, label %4544

4540:                                             ; preds = %4534
  %4541 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4542 = call i32 @fileno(ptr noundef %4541) #13
  %4543 = call i32 @isatty(i32 noundef %4542) #13
  %.not625 = icmp eq i32 %4543, 0
  br i1 %.not625, label %4544, label %4545

4544:                                             ; preds = %4540, %4534
  br label %4545

4545:                                             ; preds = %4540, %4544
  %.str.5.sink2108 = phi ptr [ @.str.5, %4544 ], [ @.str.2, %4540 ]
  store i32 %4535, ptr %285, align 4, !tbaa !9
  %4546 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4547 = load i32, ptr @test_count, align 4, !tbaa !9
  %4548 = load i32, ptr %231, align 4, !tbaa !9
  %4549 = call ptr @s2n_strerror(i32 noundef %4548, ptr noundef nonnull @.str.4) #13
  %4550 = load i32, ptr %231, align 4, !tbaa !9
  %4551 = call ptr @s2n_strerror_debug(i32 noundef %4550, ptr noundef nonnull @.str.4) #13
  %4552 = load i32, ptr %285, align 4, !tbaa !9
  %4553 = call ptr @strerror(i32 noundef %4552) #13
  %4554 = load i32, ptr %285, align 4, !tbaa !9
  %4555 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4546, ptr noundef nonnull %.str.5.sink2108, i32 noundef %4547, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %4549, ptr noundef %4551, ptr noundef %4553, i32 noundef %4554) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4556:                                             ; preds = %4529
  %4557 = load i32, ptr @test_count, align 4, !tbaa !9
  %4558 = add nsw i32 %4557, 1
  store i32 %4558, ptr @test_count, align 4, !tbaa !9
  %4559 = load i64, ptr %12, align 8, !tbaa !5
  %4560 = icmp eq i64 %4559, 13
  br i1 %4560, label %4583, label %4561

4561:                                             ; preds = %4556
  %4562 = load i32, ptr %285, align 4, !tbaa !9
  %4563 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4564 = call i32 @s2n_print_stacktrace(ptr noundef %4563) #13
  %4565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4566 = trunc nuw i8 %4565 to i1
  br i1 %4566, label %4567, label %4571

4567:                                             ; preds = %4561
  %4568 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4569 = call i32 @fileno(ptr noundef %4568) #13
  %4570 = call i32 @isatty(i32 noundef %4569) #13
  %.not553 = icmp eq i32 %4570, 0
  br i1 %.not553, label %4571, label %4572

4571:                                             ; preds = %4567, %4561
  br label %4572

4572:                                             ; preds = %4567, %4571
  %.str.5.sink2117 = phi ptr [ @.str.5, %4571 ], [ @.str.2, %4567 ]
  store i32 %4562, ptr %285, align 4, !tbaa !9
  %4573 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4574 = load i32, ptr @test_count, align 4, !tbaa !9
  %4575 = load i32, ptr %231, align 4, !tbaa !9
  %4576 = call ptr @s2n_strerror(i32 noundef %4575, ptr noundef nonnull @.str.4) #13
  %4577 = load i32, ptr %231, align 4, !tbaa !9
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef nonnull @.str.4) #13
  %4579 = load i32, ptr %285, align 4, !tbaa !9
  %4580 = call ptr @strerror(i32 noundef %4579) #13
  %4581 = load i32, ptr %285, align 4, !tbaa !9
  %4582 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4573, ptr noundef nonnull %.str.5.sink2117, i32 noundef %4574, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %4576, ptr noundef %4578, ptr noundef %4580, i32 noundef %4581) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4583:                                             ; preds = %4556
  %4584 = add nsw i32 %4557, 2
  store i32 %4584, ptr @test_count, align 4, !tbaa !9
  %4585 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 32) #13
  %4586 = icmp eq i32 %4585, -1
  br i1 %4586, label %4587, label %4609

4587:                                             ; preds = %4583
  %4588 = load i32, ptr %285, align 4, !tbaa !9
  %4589 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4590 = call i32 @s2n_print_stacktrace(ptr noundef %4589) #13
  %4591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4592 = trunc nuw i8 %4591 to i1
  br i1 %4592, label %4593, label %4597

4593:                                             ; preds = %4587
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4595 = call i32 @fileno(ptr noundef %4594) #13
  %4596 = call i32 @isatty(i32 noundef %4595) #13
  %.not624 = icmp eq i32 %4596, 0
  br i1 %.not624, label %4597, label %4598

4597:                                             ; preds = %4593, %4587
  br label %4598

4598:                                             ; preds = %4593, %4597
  %.str.5.sink2126 = phi ptr [ @.str.5, %4597 ], [ @.str.2, %4593 ]
  store i32 %4588, ptr %285, align 4, !tbaa !9
  %4599 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4600 = load i32, ptr @test_count, align 4, !tbaa !9
  %4601 = load i32, ptr %231, align 4, !tbaa !9
  %4602 = call ptr @s2n_strerror(i32 noundef %4601, ptr noundef nonnull @.str.4) #13
  %4603 = load i32, ptr %231, align 4, !tbaa !9
  %4604 = call ptr @s2n_strerror_debug(i32 noundef %4603, ptr noundef nonnull @.str.4) #13
  %4605 = load i32, ptr %285, align 4, !tbaa !9
  %4606 = call ptr @strerror(i32 noundef %4605) #13
  %4607 = load i32, ptr %285, align 4, !tbaa !9
  %4608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4599, ptr noundef nonnull %.str.5.sink2126, i32 noundef %4600, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %4602, ptr noundef %4604, ptr noundef %4606, i32 noundef %4607) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4609:                                             ; preds = %4583
  %4610 = load i32, ptr @test_count, align 4, !tbaa !9
  %4611 = add nsw i32 %4610, 1
  store i32 %4611, ptr @test_count, align 4, !tbaa !9
  %4612 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not554 = icmp eq i32 %4612, 0
  br i1 %.not554, label %4635, label %4613

4613:                                             ; preds = %4609
  %4614 = load i32, ptr %285, align 4, !tbaa !9
  %4615 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4616 = call i32 @s2n_print_stacktrace(ptr noundef %4615) #13
  %4617 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4618 = trunc nuw i8 %4617 to i1
  br i1 %4618, label %4619, label %4623

4619:                                             ; preds = %4613
  %4620 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4621 = call i32 @fileno(ptr noundef %4620) #13
  %4622 = call i32 @isatty(i32 noundef %4621) #13
  %.not623 = icmp eq i32 %4622, 0
  br i1 %.not623, label %4623, label %4624

4623:                                             ; preds = %4619, %4613
  br label %4624

4624:                                             ; preds = %4619, %4623
  %.str.5.sink2135 = phi ptr [ @.str.5, %4623 ], [ @.str.2, %4619 ]
  store i32 %4614, ptr %285, align 4, !tbaa !9
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4626 = load i32, ptr @test_count, align 4, !tbaa !9
  %4627 = load i32, ptr %231, align 4, !tbaa !9
  %4628 = call ptr @s2n_strerror(i32 noundef %4627, ptr noundef nonnull @.str.4) #13
  %4629 = load i32, ptr %231, align 4, !tbaa !9
  %4630 = call ptr @s2n_strerror_debug(i32 noundef %4629, ptr noundef nonnull @.str.4) #13
  %4631 = load i32, ptr %285, align 4, !tbaa !9
  %4632 = call ptr @strerror(i32 noundef %4631) #13
  %4633 = load i32, ptr %285, align 4, !tbaa !9
  %4634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4625, ptr noundef nonnull %.str.5.sink2135, i32 noundef %4626, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 258, ptr noundef %4628, ptr noundef %4630, ptr noundef %4632, i32 noundef %4633) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4635:                                             ; preds = %4609
  %4636 = load i32, ptr @test_count, align 4, !tbaa !9
  %4637 = add nsw i32 %4636, 1
  store i32 %4637, ptr @test_count, align 4, !tbaa !9
  %4638 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4639 = icmp eq i32 %4638, -1
  br i1 %4639, label %4662, label %4640

4640:                                             ; preds = %4635
  %4641 = load i32, ptr %285, align 4, !tbaa !9
  %4642 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4643 = call i32 @s2n_print_stacktrace(ptr noundef %4642) #13
  %4644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4645 = trunc nuw i8 %4644 to i1
  br i1 %4645, label %4646, label %4650

4646:                                             ; preds = %4640
  %4647 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4648 = call i32 @fileno(ptr noundef %4647) #13
  %4649 = call i32 @isatty(i32 noundef %4648) #13
  %.not555 = icmp eq i32 %4649, 0
  br i1 %.not555, label %4650, label %4651

4650:                                             ; preds = %4646, %4640
  br label %4651

4651:                                             ; preds = %4646, %4650
  %.str.5.sink2144 = phi ptr [ @.str.5, %4650 ], [ @.str.2, %4646 ]
  store i32 %4641, ptr %285, align 4, !tbaa !9
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4653 = load i32, ptr @test_count, align 4, !tbaa !9
  %4654 = load i32, ptr %231, align 4, !tbaa !9
  %4655 = call ptr @s2n_strerror(i32 noundef %4654, ptr noundef nonnull @.str.4) #13
  %4656 = load i32, ptr %231, align 4, !tbaa !9
  %4657 = call ptr @s2n_strerror_debug(i32 noundef %4656, ptr noundef nonnull @.str.4) #13
  %4658 = load i32, ptr %285, align 4, !tbaa !9
  %4659 = call ptr @strerror(i32 noundef %4658) #13
  %4660 = load i32, ptr %285, align 4, !tbaa !9
  %4661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4652, ptr noundef nonnull %.str.5.sink2144, i32 noundef %4653, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %4655, ptr noundef %4657, ptr noundef %4659, i32 noundef %4660) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4662:                                             ; preds = %4635
  %4663 = load i32, ptr @test_count, align 4, !tbaa !9
  %4664 = add nsw i32 %4663, 1
  store i32 %4664, ptr @test_count, align 4, !tbaa !9
  %4665 = load i32, ptr %231, align 4, !tbaa !9
  %4666 = icmp eq i32 %4665, 0
  br i1 %4666, label %4667, label %4689

4667:                                             ; preds = %4662
  %4668 = load i32, ptr %285, align 4, !tbaa !9
  %4669 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4670 = call i32 @s2n_print_stacktrace(ptr noundef %4669) #13
  %4671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4672 = trunc nuw i8 %4671 to i1
  br i1 %4672, label %4673, label %4677

4673:                                             ; preds = %4667
  %4674 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4675 = call i32 @fileno(ptr noundef %4674) #13
  %4676 = call i32 @isatty(i32 noundef %4675) #13
  %.not622 = icmp eq i32 %4676, 0
  br i1 %.not622, label %4677, label %4678

4677:                                             ; preds = %4673, %4667
  br label %4678

4678:                                             ; preds = %4673, %4677
  %.str.5.sink2153 = phi ptr [ @.str.5, %4677 ], [ @.str.2, %4673 ]
  store i32 %4668, ptr %285, align 4, !tbaa !9
  %4679 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4680 = load i32, ptr @test_count, align 4, !tbaa !9
  %4681 = load i32, ptr %231, align 4, !tbaa !9
  %4682 = call ptr @s2n_strerror(i32 noundef %4681, ptr noundef nonnull @.str.4) #13
  %4683 = load i32, ptr %231, align 4, !tbaa !9
  %4684 = call ptr @s2n_strerror_debug(i32 noundef %4683, ptr noundef nonnull @.str.4) #13
  %4685 = load i32, ptr %285, align 4, !tbaa !9
  %4686 = call ptr @strerror(i32 noundef %4685) #13
  %4687 = load i32, ptr %285, align 4, !tbaa !9
  %4688 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4679, ptr noundef nonnull %.str.5.sink2153, i32 noundef %4680, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %4682, ptr noundef %4684, ptr noundef %4686, i32 noundef %4687) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4689:                                             ; preds = %4662
  %4690 = add nsw i32 %4663, 2
  store i32 %4690, ptr @test_count, align 4, !tbaa !9
  %4691 = call ptr @s2n_strerror_debug(i32 noundef %4665, ptr noundef nonnull @.str.4) #13
  %4692 = icmp eq ptr %4691, null
  br i1 %4692, label %4693, label %4715

4693:                                             ; preds = %4689
  %4694 = load i32, ptr %285, align 4, !tbaa !9
  %4695 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4696 = call i32 @s2n_print_stacktrace(ptr noundef %4695) #13
  %4697 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4698 = trunc nuw i8 %4697 to i1
  br i1 %4698, label %4699, label %4703

4699:                                             ; preds = %4693
  %4700 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4701 = call i32 @fileno(ptr noundef %4700) #13
  %4702 = call i32 @isatty(i32 noundef %4701) #13
  %.not621 = icmp eq i32 %4702, 0
  br i1 %.not621, label %4703, label %4704

4703:                                             ; preds = %4699, %4693
  br label %4704

4704:                                             ; preds = %4699, %4703
  %.str.5.sink2162 = phi ptr [ @.str.5, %4703 ], [ @.str.2, %4699 ]
  store i32 %4694, ptr %285, align 4, !tbaa !9
  %4705 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4706 = load i32, ptr @test_count, align 4, !tbaa !9
  %4707 = load i32, ptr %231, align 4, !tbaa !9
  %4708 = call ptr @s2n_strerror(i32 noundef %4707, ptr noundef nonnull @.str.4) #13
  %4709 = load i32, ptr %231, align 4, !tbaa !9
  %4710 = call ptr @s2n_strerror_debug(i32 noundef %4709, ptr noundef nonnull @.str.4) #13
  %4711 = load i32, ptr %285, align 4, !tbaa !9
  %4712 = call ptr @strerror(i32 noundef %4711) #13
  %4713 = load i32, ptr %285, align 4, !tbaa !9
  %4714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4705, ptr noundef nonnull %.str.5.sink2162, i32 noundef %4706, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 259, ptr noundef %4708, ptr noundef %4710, ptr noundef %4712, i32 noundef %4713) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4715:                                             ; preds = %4689
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %4716 = load i32, ptr @test_count, align 4, !tbaa !9
  %4717 = add nsw i32 %4716, 1
  store i32 %4717, ptr @test_count, align 4, !tbaa !9
  %4718 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %4719 = icmp eq i32 %4718, -1
  br i1 %4719, label %4720, label %.preheader720

4720:                                             ; preds = %4715
  %4721 = load i32, ptr %285, align 4, !tbaa !9
  %4722 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4723 = call i32 @s2n_print_stacktrace(ptr noundef %4722) #13
  %4724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4725 = trunc nuw i8 %4724 to i1
  br i1 %4725, label %4726, label %4730

4726:                                             ; preds = %4720
  %4727 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4728 = call i32 @fileno(ptr noundef %4727) #13
  %4729 = call i32 @isatty(i32 noundef %4728) #13
  %.not620 = icmp eq i32 %4729, 0
  br i1 %.not620, label %4730, label %4731

4730:                                             ; preds = %4726, %4720
  br label %4731

4731:                                             ; preds = %4726, %4730
  %.str.5.sink2171 = phi ptr [ @.str.5, %4730 ], [ @.str.2, %4726 ]
  store i32 %4721, ptr %285, align 4, !tbaa !9
  %4732 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4733 = load i32, ptr @test_count, align 4, !tbaa !9
  %4734 = load i32, ptr %231, align 4, !tbaa !9
  %4735 = call ptr @s2n_strerror(i32 noundef %4734, ptr noundef nonnull @.str.4) #13
  %4736 = load i32, ptr %231, align 4, !tbaa !9
  %4737 = call ptr @s2n_strerror_debug(i32 noundef %4736, ptr noundef nonnull @.str.4) #13
  %4738 = load i32, ptr %285, align 4, !tbaa !9
  %4739 = call ptr @strerror(i32 noundef %4738) #13
  %4740 = load i32, ptr %285, align 4, !tbaa !9
  %4741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4732, ptr noundef nonnull %.str.5.sink2171, i32 noundef %4733, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 261, ptr noundef %4735, ptr noundef %4737, ptr noundef %4739, i32 noundef %4740) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4742:                                             ; preds = %.preheader720
  %indvars.iv.next743 = add nuw nsw i64 %indvars.iv742, 1
  %exitcond745.not = icmp eq i64 %indvars.iv.next743, 32
  br i1 %exitcond745.not, label %4743, label %.preheader720, !llvm.loop !20

4743:                                             ; preds = %4742
  %4744 = load i32, ptr @test_count, align 4, !tbaa !9
  %4745 = add nsw i32 %4744, 1
  store i32 %4745, ptr @test_count, align 4, !tbaa !9
  %bcmp556 = call i32 @bcmp(ptr noundef nonnull dereferenceable(64) %4, ptr noundef nonnull dereferenceable(64) @.str.56, i64 64)
  %4746 = icmp eq i32 %bcmp556, 0
  br i1 %4746, label %4797, label %4775

.preheader720:                                    ; preds = %4715, %4742
  %indvars.iv742 = phi i64 [ %indvars.iv.next743, %4742 ], [ 0, %4715 ]
  %4747 = load i32, ptr @test_count, align 4, !tbaa !9
  %4748 = add nsw i32 %4747, 1
  store i32 %4748, ptr @test_count, align 4, !tbaa !9
  %4749 = getelementptr inbounds [64 x i8], ptr %3, i64 0, i64 %indvars.iv742
  %4750 = load i8, ptr %4749, align 1, !tbaa !17
  %4751 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %4750) #13
  %4752 = call zeroext i1 @s2n_result_is_ok(i32 %4751)
  br i1 %4752, label %4742, label %4753

4753:                                             ; preds = %.preheader720
  %4754 = load i32, ptr %285, align 4, !tbaa !9
  %4755 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4756 = call i32 @s2n_print_stacktrace(ptr noundef %4755) #13
  %4757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4758 = trunc nuw i8 %4757 to i1
  br i1 %4758, label %4759, label %4763

4759:                                             ; preds = %4753
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4761 = call i32 @fileno(ptr noundef %4760) #13
  %4762 = call i32 @isatty(i32 noundef %4761) #13
  %.not619 = icmp eq i32 %4762, 0
  br i1 %.not619, label %4763, label %4764

4763:                                             ; preds = %4759, %4753
  br label %4764

4764:                                             ; preds = %4759, %4763
  %.str.5.sink2180 = phi ptr [ @.str.5, %4763 ], [ @.str.2, %4759 ]
  store i32 %4754, ptr %285, align 4, !tbaa !9
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4766 = load i32, ptr @test_count, align 4, !tbaa !9
  %4767 = load i32, ptr %231, align 4, !tbaa !9
  %4768 = call ptr @s2n_strerror(i32 noundef %4767, ptr noundef nonnull @.str.4) #13
  %4769 = load i32, ptr %231, align 4, !tbaa !9
  %4770 = call ptr @s2n_strerror_debug(i32 noundef %4769, ptr noundef nonnull @.str.4) #13
  %4771 = load i32, ptr %285, align 4, !tbaa !9
  %4772 = call ptr @strerror(i32 noundef %4771) #13
  %4773 = load i32, ptr %285, align 4, !tbaa !9
  %4774 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4765, ptr noundef nonnull %.str.5.sink2180, i32 noundef %4766, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %4768, ptr noundef %4770, ptr noundef %4772, i32 noundef %4773) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4775:                                             ; preds = %4743
  %4776 = load i32, ptr %285, align 4, !tbaa !9
  %4777 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4778 = call i32 @s2n_print_stacktrace(ptr noundef %4777) #13
  %4779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4780 = trunc nuw i8 %4779 to i1
  br i1 %4780, label %4781, label %4785

4781:                                             ; preds = %4775
  %4782 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4783 = call i32 @fileno(ptr noundef %4782) #13
  %4784 = call i32 @isatty(i32 noundef %4783) #13
  %.not557 = icmp eq i32 %4784, 0
  br i1 %.not557, label %4785, label %4786

4785:                                             ; preds = %4781, %4775
  br label %4786

4786:                                             ; preds = %4781, %4785
  %.str.5.sink2189 = phi ptr [ @.str.5, %4785 ], [ @.str.2, %4781 ]
  store i32 %4776, ptr %285, align 4, !tbaa !9
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4788 = load i32, ptr @test_count, align 4, !tbaa !9
  %4789 = load i32, ptr %231, align 4, !tbaa !9
  %4790 = call ptr @s2n_strerror(i32 noundef %4789, ptr noundef nonnull @.str.4) #13
  %4791 = load i32, ptr %231, align 4, !tbaa !9
  %4792 = call ptr @s2n_strerror_debug(i32 noundef %4791, ptr noundef nonnull @.str.4) #13
  %4793 = load i32, ptr %285, align 4, !tbaa !9
  %4794 = call ptr @strerror(i32 noundef %4793) #13
  %4795 = load i32, ptr %285, align 4, !tbaa !9
  %4796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4787, ptr noundef nonnull %.str.5.sink2189, i32 noundef %4788, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %4790, ptr noundef %4792, ptr noundef %4794, i32 noundef %4795) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4797:                                             ; preds = %4743
  %4798 = call i32 @s2n_hash_reset(ptr noundef nonnull %9) #13
  %4799 = icmp sgt i32 %4798, -1
  br i1 %4799, label %4800, label %6085

4800:                                             ; preds = %4797
  %4801 = load i32, ptr @test_count, align 4, !tbaa !9
  %4802 = add nsw i32 %4801, 1
  store i32 %4802, ptr @test_count, align 4, !tbaa !9
  %4803 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not558 = icmp eq i32 %4803, 0
  br i1 %.not558, label %4804, label %4826

4804:                                             ; preds = %4800
  %4805 = load i32, ptr %285, align 4, !tbaa !9
  %4806 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4807 = call i32 @s2n_print_stacktrace(ptr noundef %4806) #13
  %4808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4809 = trunc nuw i8 %4808 to i1
  br i1 %4809, label %4810, label %4814

4810:                                             ; preds = %4804
  %4811 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4812 = call i32 @fileno(ptr noundef %4811) #13
  %4813 = call i32 @isatty(i32 noundef %4812) #13
  %.not559 = icmp eq i32 %4813, 0
  br i1 %.not559, label %4814, label %4815

4814:                                             ; preds = %4810, %4804
  br label %4815

4815:                                             ; preds = %4810, %4814
  %.str.5.sink2198 = phi ptr [ @.str.5, %4814 ], [ @.str.2, %4810 ]
  store i32 %4805, ptr %285, align 4, !tbaa !9
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4817 = load i32, ptr @test_count, align 4, !tbaa !9
  %4818 = load i32, ptr %231, align 4, !tbaa !9
  %4819 = call ptr @s2n_strerror(i32 noundef %4818, ptr noundef nonnull @.str.4) #13
  %4820 = load i32, ptr %231, align 4, !tbaa !9
  %4821 = call ptr @s2n_strerror_debug(i32 noundef %4820, ptr noundef nonnull @.str.4) #13
  %4822 = load i32, ptr %285, align 4, !tbaa !9
  %4823 = call ptr @strerror(i32 noundef %4822) #13
  %4824 = load i32, ptr %285, align 4, !tbaa !9
  %4825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4816, ptr noundef nonnull %.str.5.sink2198, i32 noundef %4817, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %4819, ptr noundef %4821, ptr noundef %4823, i32 noundef %4824) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4826:                                             ; preds = %4800
  %4827 = load i32, ptr @test_count, align 4, !tbaa !9
  %4828 = add nsw i32 %4827, 1
  store i32 %4828, ptr @test_count, align 4, !tbaa !9
  %4829 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4830 = icmp eq i32 %4829, -1
  br i1 %4830, label %4831, label %4853

4831:                                             ; preds = %4826
  %4832 = load i32, ptr %285, align 4, !tbaa !9
  %4833 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4834 = call i32 @s2n_print_stacktrace(ptr noundef %4833) #13
  %4835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4836 = trunc nuw i8 %4835 to i1
  br i1 %4836, label %4837, label %4841

4837:                                             ; preds = %4831
  %4838 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4839 = call i32 @fileno(ptr noundef %4838) #13
  %4840 = call i32 @isatty(i32 noundef %4839) #13
  %.not618 = icmp eq i32 %4840, 0
  br i1 %.not618, label %4841, label %4842

4841:                                             ; preds = %4837, %4831
  br label %4842

4842:                                             ; preds = %4837, %4841
  %.str.5.sink2207 = phi ptr [ @.str.5, %4841 ], [ @.str.2, %4837 ]
  store i32 %4832, ptr %285, align 4, !tbaa !9
  %4843 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4844 = load i32, ptr @test_count, align 4, !tbaa !9
  %4845 = load i32, ptr %231, align 4, !tbaa !9
  %4846 = call ptr @s2n_strerror(i32 noundef %4845, ptr noundef nonnull @.str.4) #13
  %4847 = load i32, ptr %231, align 4, !tbaa !9
  %4848 = call ptr @s2n_strerror_debug(i32 noundef %4847, ptr noundef nonnull @.str.4) #13
  %4849 = load i32, ptr %285, align 4, !tbaa !9
  %4850 = call ptr @strerror(i32 noundef %4849) #13
  %4851 = load i32, ptr %285, align 4, !tbaa !9
  %4852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4843, ptr noundef nonnull %.str.5.sink2207, i32 noundef %4844, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %4846, ptr noundef %4848, ptr noundef %4850, i32 noundef %4851) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4853:                                             ; preds = %4826
  %4854 = load i32, ptr @test_count, align 4, !tbaa !9
  %4855 = add nsw i32 %4854, 1
  store i32 %4855, ptr @test_count, align 4, !tbaa !9
  %4856 = load i64, ptr %12, align 8, !tbaa !5
  %4857 = icmp eq i64 %4856, 0
  br i1 %4857, label %4880, label %4858

4858:                                             ; preds = %4853
  %4859 = load i32, ptr %285, align 4, !tbaa !9
  %4860 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4861 = call i32 @s2n_print_stacktrace(ptr noundef %4860) #13
  %4862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4863 = trunc nuw i8 %4862 to i1
  br i1 %4863, label %4864, label %4868

4864:                                             ; preds = %4858
  %4865 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4866 = call i32 @fileno(ptr noundef %4865) #13
  %4867 = call i32 @isatty(i32 noundef %4866) #13
  %.not560 = icmp eq i32 %4867, 0
  br i1 %.not560, label %4868, label %4869

4868:                                             ; preds = %4864, %4858
  br label %4869

4869:                                             ; preds = %4864, %4868
  %.str.5.sink2216 = phi ptr [ @.str.5, %4868 ], [ @.str.2, %4864 ]
  store i32 %4859, ptr %285, align 4, !tbaa !9
  %4870 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4871 = load i32, ptr @test_count, align 4, !tbaa !9
  %4872 = load i32, ptr %231, align 4, !tbaa !9
  %4873 = call ptr @s2n_strerror(i32 noundef %4872, ptr noundef nonnull @.str.4) #13
  %4874 = load i32, ptr %231, align 4, !tbaa !9
  %4875 = call ptr @s2n_strerror_debug(i32 noundef %4874, ptr noundef nonnull @.str.4) #13
  %4876 = load i32, ptr %285, align 4, !tbaa !9
  %4877 = call ptr @strerror(i32 noundef %4876) #13
  %4878 = load i32, ptr %285, align 4, !tbaa !9
  %4879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4870, ptr noundef nonnull %.str.5.sink2216, i32 noundef %4871, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 272, ptr noundef %4873, ptr noundef %4875, ptr noundef %4877, i32 noundef %4878) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4880:                                             ; preds = %4853
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %17) #13
  store i8 0, ptr %17, align 1, !tbaa !17
  %4881 = call i32 @s2n_hash_digest_size(i32 noundef 5, ptr noundef nonnull %17) #13
  %4882 = icmp sgt i32 %4881, -1
  br i1 %4882, label %4883, label %6084

4883:                                             ; preds = %4880
  %4884 = load i32, ptr @test_count, align 4, !tbaa !9
  %4885 = add nsw i32 %4884, 1
  store i32 %4885, ptr @test_count, align 4, !tbaa !9
  %4886 = load i8, ptr %17, align 1, !tbaa !17
  %4887 = icmp eq i8 %4886, 48
  br i1 %4887, label %4910, label %4888

4888:                                             ; preds = %4883
  %4889 = load i32, ptr %285, align 4, !tbaa !9
  %4890 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4891 = call i32 @s2n_print_stacktrace(ptr noundef %4890) #13
  %4892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4893 = trunc nuw i8 %4892 to i1
  br i1 %4893, label %4894, label %4898

4894:                                             ; preds = %4888
  %4895 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4896 = call i32 @fileno(ptr noundef %4895) #13
  %4897 = call i32 @isatty(i32 noundef %4896) #13
  %.not561 = icmp eq i32 %4897, 0
  br i1 %.not561, label %4898, label %4899

4898:                                             ; preds = %4894, %4888
  br label %4899

4899:                                             ; preds = %4894, %4898
  %.str.5.sink2225 = phi ptr [ @.str.5, %4898 ], [ @.str.2, %4894 ]
  store i32 %4889, ptr %285, align 4, !tbaa !9
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4901 = load i32, ptr @test_count, align 4, !tbaa !9
  %4902 = load i32, ptr %231, align 4, !tbaa !9
  %4903 = call ptr @s2n_strerror(i32 noundef %4902, ptr noundef nonnull @.str.4) #13
  %4904 = load i32, ptr %231, align 4, !tbaa !9
  %4905 = call ptr @s2n_strerror_debug(i32 noundef %4904, ptr noundef nonnull @.str.4) #13
  %4906 = load i32, ptr %285, align 4, !tbaa !9
  %4907 = call ptr @strerror(i32 noundef %4906) #13
  %4908 = load i32, ptr %285, align 4, !tbaa !9
  %4909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4900, ptr noundef nonnull %.str.5.sink2225, i32 noundef %4901, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %4903, ptr noundef %4905, ptr noundef %4907, i32 noundef %4908) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4910:                                             ; preds = %4883
  %4911 = add nsw i32 %4884, 2
  store i32 %4911, ptr @test_count, align 4, !tbaa !9
  %4912 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 5) #13
  %4913 = icmp eq i32 %4912, -1
  br i1 %4913, label %4914, label %4936

4914:                                             ; preds = %4910
  %4915 = load i32, ptr %285, align 4, !tbaa !9
  %4916 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4917 = call i32 @s2n_print_stacktrace(ptr noundef %4916) #13
  %4918 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4919 = trunc nuw i8 %4918 to i1
  br i1 %4919, label %4920, label %4924

4920:                                             ; preds = %4914
  %4921 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4922 = call i32 @fileno(ptr noundef %4921) #13
  %4923 = call i32 @isatty(i32 noundef %4922) #13
  %.not617 = icmp eq i32 %4923, 0
  br i1 %.not617, label %4924, label %4925

4924:                                             ; preds = %4920, %4914
  br label %4925

4925:                                             ; preds = %4920, %4924
  %.str.5.sink2234 = phi ptr [ @.str.5, %4924 ], [ @.str.2, %4920 ]
  store i32 %4915, ptr %285, align 4, !tbaa !9
  %4926 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4927 = load i32, ptr @test_count, align 4, !tbaa !9
  %4928 = load i32, ptr %231, align 4, !tbaa !9
  %4929 = call ptr @s2n_strerror(i32 noundef %4928, ptr noundef nonnull @.str.4) #13
  %4930 = load i32, ptr %231, align 4, !tbaa !9
  %4931 = call ptr @s2n_strerror_debug(i32 noundef %4930, ptr noundef nonnull @.str.4) #13
  %4932 = load i32, ptr %285, align 4, !tbaa !9
  %4933 = call ptr @strerror(i32 noundef %4932) #13
  %4934 = load i32, ptr %285, align 4, !tbaa !9
  %4935 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4926, ptr noundef nonnull %.str.5.sink2234, i32 noundef %4927, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %4929, ptr noundef %4931, ptr noundef %4933, i32 noundef %4934) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4936:                                             ; preds = %4910
  %4937 = load i32, ptr @test_count, align 4, !tbaa !9
  %4938 = add nsw i32 %4937, 1
  store i32 %4938, ptr @test_count, align 4, !tbaa !9
  %4939 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not562 = icmp eq i32 %4939, 0
  br i1 %.not562, label %4940, label %4962

4940:                                             ; preds = %4936
  %4941 = load i32, ptr %285, align 4, !tbaa !9
  %4942 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4943 = call i32 @s2n_print_stacktrace(ptr noundef %4942) #13
  %4944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4945 = trunc nuw i8 %4944 to i1
  br i1 %4945, label %4946, label %4950

4946:                                             ; preds = %4940
  %4947 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4948 = call i32 @fileno(ptr noundef %4947) #13
  %4949 = call i32 @isatty(i32 noundef %4948) #13
  %.not563 = icmp eq i32 %4949, 0
  br i1 %.not563, label %4950, label %4951

4950:                                             ; preds = %4946, %4940
  br label %4951

4951:                                             ; preds = %4946, %4950
  %.str.5.sink2243 = phi ptr [ @.str.5, %4950 ], [ @.str.2, %4946 ]
  store i32 %4941, ptr %285, align 4, !tbaa !9
  %4952 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4953 = load i32, ptr @test_count, align 4, !tbaa !9
  %4954 = load i32, ptr %231, align 4, !tbaa !9
  %4955 = call ptr @s2n_strerror(i32 noundef %4954, ptr noundef nonnull @.str.4) #13
  %4956 = load i32, ptr %231, align 4, !tbaa !9
  %4957 = call ptr @s2n_strerror_debug(i32 noundef %4956, ptr noundef nonnull @.str.4) #13
  %4958 = load i32, ptr %285, align 4, !tbaa !9
  %4959 = call ptr @strerror(i32 noundef %4958) #13
  %4960 = load i32, ptr %285, align 4, !tbaa !9
  %4961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4952, ptr noundef nonnull %.str.5.sink2243, i32 noundef %4953, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 279, ptr noundef %4955, ptr noundef %4957, ptr noundef %4959, i32 noundef %4960) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4962:                                             ; preds = %4936
  %4963 = load i32, ptr @test_count, align 4, !tbaa !9
  %4964 = add nsw i32 %4963, 1
  store i32 %4964, ptr @test_count, align 4, !tbaa !9
  %4965 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %4966 = icmp eq i32 %4965, -1
  br i1 %4966, label %4967, label %4989

4967:                                             ; preds = %4962
  %4968 = load i32, ptr %285, align 4, !tbaa !9
  %4969 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4970 = call i32 @s2n_print_stacktrace(ptr noundef %4969) #13
  %4971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4972 = trunc nuw i8 %4971 to i1
  br i1 %4972, label %4973, label %4977

4973:                                             ; preds = %4967
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4975 = call i32 @fileno(ptr noundef %4974) #13
  %4976 = call i32 @isatty(i32 noundef %4975) #13
  %.not616 = icmp eq i32 %4976, 0
  br i1 %.not616, label %4977, label %4978

4977:                                             ; preds = %4973, %4967
  br label %4978

4978:                                             ; preds = %4973, %4977
  %.str.5.sink2252 = phi ptr [ @.str.5, %4977 ], [ @.str.2, %4973 ]
  store i32 %4968, ptr %285, align 4, !tbaa !9
  %4979 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4980 = load i32, ptr @test_count, align 4, !tbaa !9
  %4981 = load i32, ptr %231, align 4, !tbaa !9
  %4982 = call ptr @s2n_strerror(i32 noundef %4981, ptr noundef nonnull @.str.4) #13
  %4983 = load i32, ptr %231, align 4, !tbaa !9
  %4984 = call ptr @s2n_strerror_debug(i32 noundef %4983, ptr noundef nonnull @.str.4) #13
  %4985 = load i32, ptr %285, align 4, !tbaa !9
  %4986 = call ptr @strerror(i32 noundef %4985) #13
  %4987 = load i32, ptr %285, align 4, !tbaa !9
  %4988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4979, ptr noundef nonnull %.str.5.sink2252, i32 noundef %4980, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 280, ptr noundef %4982, ptr noundef %4984, ptr noundef %4986, i32 noundef %4987) #15
  call void @exit(i32 noundef 1) #16
  unreachable

4989:                                             ; preds = %4962
  %4990 = load i32, ptr @test_count, align 4, !tbaa !9
  %4991 = add nsw i32 %4990, 1
  store i32 %4991, ptr @test_count, align 4, !tbaa !9
  %4992 = load i64, ptr %12, align 8, !tbaa !5
  %4993 = icmp eq i64 %4992, 0
  br i1 %4993, label %5016, label %4994

4994:                                             ; preds = %4989
  %4995 = load i32, ptr %285, align 4, !tbaa !9
  %4996 = load ptr, ptr @stderr, align 8, !tbaa !11
  %4997 = call i32 @s2n_print_stacktrace(ptr noundef %4996) #13
  %4998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %4999 = trunc nuw i8 %4998 to i1
  br i1 %4999, label %5000, label %5004

5000:                                             ; preds = %4994
  %5001 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5002 = call i32 @fileno(ptr noundef %5001) #13
  %5003 = call i32 @isatty(i32 noundef %5002) #13
  %.not564 = icmp eq i32 %5003, 0
  br i1 %.not564, label %5004, label %5005

5004:                                             ; preds = %5000, %4994
  br label %5005

5005:                                             ; preds = %5000, %5004
  %.str.5.sink2261 = phi ptr [ @.str.5, %5004 ], [ @.str.2, %5000 ]
  store i32 %4995, ptr %285, align 4, !tbaa !9
  %5006 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5007 = load i32, ptr @test_count, align 4, !tbaa !9
  %5008 = load i32, ptr %231, align 4, !tbaa !9
  %5009 = call ptr @s2n_strerror(i32 noundef %5008, ptr noundef nonnull @.str.4) #13
  %5010 = load i32, ptr %231, align 4, !tbaa !9
  %5011 = call ptr @s2n_strerror_debug(i32 noundef %5010, ptr noundef nonnull @.str.4) #13
  %5012 = load i32, ptr %285, align 4, !tbaa !9
  %5013 = call ptr @strerror(i32 noundef %5012) #13
  %5014 = load i32, ptr %285, align 4, !tbaa !9
  %5015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5006, ptr noundef nonnull %.str.5.sink2261, i32 noundef %5007, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %5009, ptr noundef %5011, ptr noundef %5013, i32 noundef %5014) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5016:                                             ; preds = %4989
  %5017 = add nsw i32 %4990, 2
  store i32 %5017, ptr @test_count, align 4, !tbaa !9
  %5018 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %5019 = trunc i64 %5018 to i32
  %5020 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %5019) #13
  %5021 = icmp eq i32 %5020, -1
  br i1 %5021, label %5022, label %5044

5022:                                             ; preds = %5016
  %5023 = load i32, ptr %285, align 4, !tbaa !9
  %5024 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5025 = call i32 @s2n_print_stacktrace(ptr noundef %5024) #13
  %5026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5027 = trunc nuw i8 %5026 to i1
  br i1 %5027, label %5028, label %5032

5028:                                             ; preds = %5022
  %5029 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5030 = call i32 @fileno(ptr noundef %5029) #13
  %5031 = call i32 @isatty(i32 noundef %5030) #13
  %.not615 = icmp eq i32 %5031, 0
  br i1 %.not615, label %5032, label %5033

5032:                                             ; preds = %5028, %5022
  br label %5033

5033:                                             ; preds = %5028, %5032
  %.str.5.sink2270 = phi ptr [ @.str.5, %5032 ], [ @.str.2, %5028 ]
  store i32 %5023, ptr %285, align 4, !tbaa !9
  %5034 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5035 = load i32, ptr @test_count, align 4, !tbaa !9
  %5036 = load i32, ptr %231, align 4, !tbaa !9
  %5037 = call ptr @s2n_strerror(i32 noundef %5036, ptr noundef nonnull @.str.4) #13
  %5038 = load i32, ptr %231, align 4, !tbaa !9
  %5039 = call ptr @s2n_strerror_debug(i32 noundef %5038, ptr noundef nonnull @.str.4) #13
  %5040 = load i32, ptr %285, align 4, !tbaa !9
  %5041 = call ptr @strerror(i32 noundef %5040) #13
  %5042 = load i32, ptr %285, align 4, !tbaa !9
  %5043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5034, ptr noundef nonnull %.str.5.sink2270, i32 noundef %5035, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %5037, ptr noundef %5039, ptr noundef %5041, i32 noundef %5042) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5044:                                             ; preds = %5016
  %5045 = load i32, ptr @test_count, align 4, !tbaa !9
  %5046 = add nsw i32 %5045, 1
  store i32 %5046, ptr @test_count, align 4, !tbaa !9
  %5047 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not565 = icmp eq i32 %5047, 0
  br i1 %.not565, label %5048, label %5070

5048:                                             ; preds = %5044
  %5049 = load i32, ptr %285, align 4, !tbaa !9
  %5050 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5051 = call i32 @s2n_print_stacktrace(ptr noundef %5050) #13
  %5052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5053 = trunc nuw i8 %5052 to i1
  br i1 %5053, label %5054, label %5058

5054:                                             ; preds = %5048
  %5055 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5056 = call i32 @fileno(ptr noundef %5055) #13
  %5057 = call i32 @isatty(i32 noundef %5056) #13
  %.not566 = icmp eq i32 %5057, 0
  br i1 %.not566, label %5058, label %5059

5058:                                             ; preds = %5054, %5048
  br label %5059

5059:                                             ; preds = %5054, %5058
  %.str.5.sink2279 = phi ptr [ @.str.5, %5058 ], [ @.str.2, %5054 ]
  store i32 %5049, ptr %285, align 4, !tbaa !9
  %5060 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5061 = load i32, ptr @test_count, align 4, !tbaa !9
  %5062 = load i32, ptr %231, align 4, !tbaa !9
  %5063 = call ptr @s2n_strerror(i32 noundef %5062, ptr noundef nonnull @.str.4) #13
  %5064 = load i32, ptr %231, align 4, !tbaa !9
  %5065 = call ptr @s2n_strerror_debug(i32 noundef %5064, ptr noundef nonnull @.str.4) #13
  %5066 = load i32, ptr %285, align 4, !tbaa !9
  %5067 = call ptr @strerror(i32 noundef %5066) #13
  %5068 = load i32, ptr %285, align 4, !tbaa !9
  %5069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5060, ptr noundef nonnull %.str.5.sink2279, i32 noundef %5061, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %5063, ptr noundef %5065, ptr noundef %5067, i32 noundef %5068) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5070:                                             ; preds = %5044
  %5071 = load i32, ptr @test_count, align 4, !tbaa !9
  %5072 = add nsw i32 %5071, 1
  store i32 %5072, ptr @test_count, align 4, !tbaa !9
  %5073 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5074 = icmp eq i32 %5073, -1
  br i1 %5074, label %5075, label %5097

5075:                                             ; preds = %5070
  %5076 = load i32, ptr %285, align 4, !tbaa !9
  %5077 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5078 = call i32 @s2n_print_stacktrace(ptr noundef %5077) #13
  %5079 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5080 = trunc nuw i8 %5079 to i1
  br i1 %5080, label %5081, label %5085

5081:                                             ; preds = %5075
  %5082 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5083 = call i32 @fileno(ptr noundef %5082) #13
  %5084 = call i32 @isatty(i32 noundef %5083) #13
  %.not614 = icmp eq i32 %5084, 0
  br i1 %.not614, label %5085, label %5086

5085:                                             ; preds = %5081, %5075
  br label %5086

5086:                                             ; preds = %5081, %5085
  %.str.5.sink2288 = phi ptr [ @.str.5, %5085 ], [ @.str.2, %5081 ]
  store i32 %5076, ptr %285, align 4, !tbaa !9
  %5087 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5088 = load i32, ptr @test_count, align 4, !tbaa !9
  %5089 = load i32, ptr %231, align 4, !tbaa !9
  %5090 = call ptr @s2n_strerror(i32 noundef %5089, ptr noundef nonnull @.str.4) #13
  %5091 = load i32, ptr %231, align 4, !tbaa !9
  %5092 = call ptr @s2n_strerror_debug(i32 noundef %5091, ptr noundef nonnull @.str.4) #13
  %5093 = load i32, ptr %285, align 4, !tbaa !9
  %5094 = call ptr @strerror(i32 noundef %5093) #13
  %5095 = load i32, ptr %285, align 4, !tbaa !9
  %5096 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5087, ptr noundef nonnull %.str.5.sink2288, i32 noundef %5088, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 285, ptr noundef %5090, ptr noundef %5092, ptr noundef %5094, i32 noundef %5095) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5097:                                             ; preds = %5070
  %5098 = load i32, ptr @test_count, align 4, !tbaa !9
  %5099 = add nsw i32 %5098, 1
  store i32 %5099, ptr @test_count, align 4, !tbaa !9
  %5100 = load i64, ptr %12, align 8, !tbaa !5
  %5101 = icmp eq i64 %5100, 13
  br i1 %5101, label %5124, label %5102

5102:                                             ; preds = %5097
  %5103 = load i32, ptr %285, align 4, !tbaa !9
  %5104 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5105 = call i32 @s2n_print_stacktrace(ptr noundef %5104) #13
  %5106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5107 = trunc nuw i8 %5106 to i1
  br i1 %5107, label %5108, label %5112

5108:                                             ; preds = %5102
  %5109 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5110 = call i32 @fileno(ptr noundef %5109) #13
  %5111 = call i32 @isatty(i32 noundef %5110) #13
  %.not567 = icmp eq i32 %5111, 0
  br i1 %.not567, label %5112, label %5113

5112:                                             ; preds = %5108, %5102
  br label %5113

5113:                                             ; preds = %5108, %5112
  %.str.5.sink2297 = phi ptr [ @.str.5, %5112 ], [ @.str.2, %5108 ]
  store i32 %5103, ptr %285, align 4, !tbaa !9
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5115 = load i32, ptr @test_count, align 4, !tbaa !9
  %5116 = load i32, ptr %231, align 4, !tbaa !9
  %5117 = call ptr @s2n_strerror(i32 noundef %5116, ptr noundef nonnull @.str.4) #13
  %5118 = load i32, ptr %231, align 4, !tbaa !9
  %5119 = call ptr @s2n_strerror_debug(i32 noundef %5118, ptr noundef nonnull @.str.4) #13
  %5120 = load i32, ptr %285, align 4, !tbaa !9
  %5121 = call ptr @strerror(i32 noundef %5120) #13
  %5122 = load i32, ptr %285, align 4, !tbaa !9
  %5123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5114, ptr noundef nonnull %.str.5.sink2297, i32 noundef %5115, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %5117, ptr noundef %5119, ptr noundef %5121, i32 noundef %5122) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5124:                                             ; preds = %5097
  %5125 = add nsw i32 %5098, 2
  store i32 %5125, ptr @test_count, align 4, !tbaa !9
  %5126 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 48) #13
  %5127 = icmp eq i32 %5126, -1
  br i1 %5127, label %5128, label %5150

5128:                                             ; preds = %5124
  %5129 = load i32, ptr %285, align 4, !tbaa !9
  %5130 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5131 = call i32 @s2n_print_stacktrace(ptr noundef %5130) #13
  %5132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5133 = trunc nuw i8 %5132 to i1
  br i1 %5133, label %5134, label %5138

5134:                                             ; preds = %5128
  %5135 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5136 = call i32 @fileno(ptr noundef %5135) #13
  %5137 = call i32 @isatty(i32 noundef %5136) #13
  %.not613 = icmp eq i32 %5137, 0
  br i1 %.not613, label %5138, label %5139

5138:                                             ; preds = %5134, %5128
  br label %5139

5139:                                             ; preds = %5134, %5138
  %.str.5.sink2306 = phi ptr [ @.str.5, %5138 ], [ @.str.2, %5134 ]
  store i32 %5129, ptr %285, align 4, !tbaa !9
  %5140 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5141 = load i32, ptr @test_count, align 4, !tbaa !9
  %5142 = load i32, ptr %231, align 4, !tbaa !9
  %5143 = call ptr @s2n_strerror(i32 noundef %5142, ptr noundef nonnull @.str.4) #13
  %5144 = load i32, ptr %231, align 4, !tbaa !9
  %5145 = call ptr @s2n_strerror_debug(i32 noundef %5144, ptr noundef nonnull @.str.4) #13
  %5146 = load i32, ptr %285, align 4, !tbaa !9
  %5147 = call ptr @strerror(i32 noundef %5146) #13
  %5148 = load i32, ptr %285, align 4, !tbaa !9
  %5149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5140, ptr noundef nonnull %.str.5.sink2306, i32 noundef %5141, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %5143, ptr noundef %5145, ptr noundef %5147, i32 noundef %5148) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5150:                                             ; preds = %5124
  %5151 = load i32, ptr @test_count, align 4, !tbaa !9
  %5152 = add nsw i32 %5151, 1
  store i32 %5152, ptr @test_count, align 4, !tbaa !9
  %5153 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not568 = icmp eq i32 %5153, 0
  br i1 %.not568, label %5176, label %5154

5154:                                             ; preds = %5150
  %5155 = load i32, ptr %285, align 4, !tbaa !9
  %5156 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5157 = call i32 @s2n_print_stacktrace(ptr noundef %5156) #13
  %5158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5159 = trunc nuw i8 %5158 to i1
  br i1 %5159, label %5160, label %5164

5160:                                             ; preds = %5154
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5162 = call i32 @fileno(ptr noundef %5161) #13
  %5163 = call i32 @isatty(i32 noundef %5162) #13
  %.not612 = icmp eq i32 %5163, 0
  br i1 %.not612, label %5164, label %5165

5164:                                             ; preds = %5160, %5154
  br label %5165

5165:                                             ; preds = %5160, %5164
  %.str.5.sink2315 = phi ptr [ @.str.5, %5164 ], [ @.str.2, %5160 ]
  store i32 %5155, ptr %285, align 4, !tbaa !9
  %5166 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5167 = load i32, ptr @test_count, align 4, !tbaa !9
  %5168 = load i32, ptr %231, align 4, !tbaa !9
  %5169 = call ptr @s2n_strerror(i32 noundef %5168, ptr noundef nonnull @.str.4) #13
  %5170 = load i32, ptr %231, align 4, !tbaa !9
  %5171 = call ptr @s2n_strerror_debug(i32 noundef %5170, ptr noundef nonnull @.str.4) #13
  %5172 = load i32, ptr %285, align 4, !tbaa !9
  %5173 = call ptr @strerror(i32 noundef %5172) #13
  %5174 = load i32, ptr %285, align 4, !tbaa !9
  %5175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5166, ptr noundef nonnull %.str.5.sink2315, i32 noundef %5167, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %5169, ptr noundef %5171, ptr noundef %5173, i32 noundef %5174) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5176:                                             ; preds = %5150
  %5177 = load i32, ptr @test_count, align 4, !tbaa !9
  %5178 = add nsw i32 %5177, 1
  store i32 %5178, ptr @test_count, align 4, !tbaa !9
  %5179 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5180 = icmp eq i32 %5179, -1
  br i1 %5180, label %5203, label %5181

5181:                                             ; preds = %5176
  %5182 = load i32, ptr %285, align 4, !tbaa !9
  %5183 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5184 = call i32 @s2n_print_stacktrace(ptr noundef %5183) #13
  %5185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5186 = trunc nuw i8 %5185 to i1
  br i1 %5186, label %5187, label %5191

5187:                                             ; preds = %5181
  %5188 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5189 = call i32 @fileno(ptr noundef %5188) #13
  %5190 = call i32 @isatty(i32 noundef %5189) #13
  %.not569 = icmp eq i32 %5190, 0
  br i1 %.not569, label %5191, label %5192

5191:                                             ; preds = %5187, %5181
  br label %5192

5192:                                             ; preds = %5187, %5191
  %.str.5.sink2324 = phi ptr [ @.str.5, %5191 ], [ @.str.2, %5187 ]
  store i32 %5182, ptr %285, align 4, !tbaa !9
  %5193 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5194 = load i32, ptr @test_count, align 4, !tbaa !9
  %5195 = load i32, ptr %231, align 4, !tbaa !9
  %5196 = call ptr @s2n_strerror(i32 noundef %5195, ptr noundef nonnull @.str.4) #13
  %5197 = load i32, ptr %231, align 4, !tbaa !9
  %5198 = call ptr @s2n_strerror_debug(i32 noundef %5197, ptr noundef nonnull @.str.4) #13
  %5199 = load i32, ptr %285, align 4, !tbaa !9
  %5200 = call ptr @strerror(i32 noundef %5199) #13
  %5201 = load i32, ptr %285, align 4, !tbaa !9
  %5202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5193, ptr noundef nonnull %.str.5.sink2324, i32 noundef %5194, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %5196, ptr noundef %5198, ptr noundef %5200, i32 noundef %5201) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5203:                                             ; preds = %5176
  %5204 = load i32, ptr @test_count, align 4, !tbaa !9
  %5205 = add nsw i32 %5204, 1
  store i32 %5205, ptr @test_count, align 4, !tbaa !9
  %5206 = load i32, ptr %231, align 4, !tbaa !9
  %5207 = icmp eq i32 %5206, 0
  br i1 %5207, label %5208, label %5230

5208:                                             ; preds = %5203
  %5209 = load i32, ptr %285, align 4, !tbaa !9
  %5210 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5211 = call i32 @s2n_print_stacktrace(ptr noundef %5210) #13
  %5212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5213 = trunc nuw i8 %5212 to i1
  br i1 %5213, label %5214, label %5218

5214:                                             ; preds = %5208
  %5215 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5216 = call i32 @fileno(ptr noundef %5215) #13
  %5217 = call i32 @isatty(i32 noundef %5216) #13
  %.not611 = icmp eq i32 %5217, 0
  br i1 %.not611, label %5218, label %5219

5218:                                             ; preds = %5214, %5208
  br label %5219

5219:                                             ; preds = %5214, %5218
  %.str.5.sink2333 = phi ptr [ @.str.5, %5218 ], [ @.str.2, %5214 ]
  store i32 %5209, ptr %285, align 4, !tbaa !9
  %5220 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5221 = load i32, ptr @test_count, align 4, !tbaa !9
  %5222 = load i32, ptr %231, align 4, !tbaa !9
  %5223 = call ptr @s2n_strerror(i32 noundef %5222, ptr noundef nonnull @.str.4) #13
  %5224 = load i32, ptr %231, align 4, !tbaa !9
  %5225 = call ptr @s2n_strerror_debug(i32 noundef %5224, ptr noundef nonnull @.str.4) #13
  %5226 = load i32, ptr %285, align 4, !tbaa !9
  %5227 = call ptr @strerror(i32 noundef %5226) #13
  %5228 = load i32, ptr %285, align 4, !tbaa !9
  %5229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5220, ptr noundef nonnull %.str.5.sink2333, i32 noundef %5221, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %5223, ptr noundef %5225, ptr noundef %5227, i32 noundef %5228) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5230:                                             ; preds = %5203
  %5231 = add nsw i32 %5204, 2
  store i32 %5231, ptr @test_count, align 4, !tbaa !9
  %5232 = call ptr @s2n_strerror_debug(i32 noundef %5206, ptr noundef nonnull @.str.4) #13
  %5233 = icmp eq ptr %5232, null
  br i1 %5233, label %5234, label %5256

5234:                                             ; preds = %5230
  %5235 = load i32, ptr %285, align 4, !tbaa !9
  %5236 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5237 = call i32 @s2n_print_stacktrace(ptr noundef %5236) #13
  %5238 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5239 = trunc nuw i8 %5238 to i1
  br i1 %5239, label %5240, label %5244

5240:                                             ; preds = %5234
  %5241 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5242 = call i32 @fileno(ptr noundef %5241) #13
  %5243 = call i32 @isatty(i32 noundef %5242) #13
  %.not610 = icmp eq i32 %5243, 0
  br i1 %.not610, label %5244, label %5245

5244:                                             ; preds = %5240, %5234
  br label %5245

5245:                                             ; preds = %5240, %5244
  %.str.5.sink2342 = phi ptr [ @.str.5, %5244 ], [ @.str.2, %5240 ]
  store i32 %5235, ptr %285, align 4, !tbaa !9
  %5246 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5247 = load i32, ptr @test_count, align 4, !tbaa !9
  %5248 = load i32, ptr %231, align 4, !tbaa !9
  %5249 = call ptr @s2n_strerror(i32 noundef %5248, ptr noundef nonnull @.str.4) #13
  %5250 = load i32, ptr %231, align 4, !tbaa !9
  %5251 = call ptr @s2n_strerror_debug(i32 noundef %5250, ptr noundef nonnull @.str.4) #13
  %5252 = load i32, ptr %285, align 4, !tbaa !9
  %5253 = call ptr @strerror(i32 noundef %5252) #13
  %5254 = load i32, ptr %285, align 4, !tbaa !9
  %5255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5246, ptr noundef nonnull %.str.5.sink2342, i32 noundef %5247, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %5249, ptr noundef %5251, ptr noundef %5253, i32 noundef %5254) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5256:                                             ; preds = %5230
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %5257 = load i32, ptr @test_count, align 4, !tbaa !9
  %5258 = add nsw i32 %5257, 1
  store i32 %5258, ptr @test_count, align 4, !tbaa !9
  %5259 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %5260 = icmp eq i32 %5259, -1
  br i1 %5260, label %5261, label %.preheader719

5261:                                             ; preds = %5256
  %5262 = load i32, ptr %285, align 4, !tbaa !9
  %5263 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5264 = call i32 @s2n_print_stacktrace(ptr noundef %5263) #13
  %5265 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5266 = trunc nuw i8 %5265 to i1
  br i1 %5266, label %5267, label %5271

5267:                                             ; preds = %5261
  %5268 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5269 = call i32 @fileno(ptr noundef %5268) #13
  %5270 = call i32 @isatty(i32 noundef %5269) #13
  %.not609 = icmp eq i32 %5270, 0
  br i1 %.not609, label %5271, label %5272

5271:                                             ; preds = %5267, %5261
  br label %5272

5272:                                             ; preds = %5267, %5271
  %.str.5.sink2351 = phi ptr [ @.str.5, %5271 ], [ @.str.2, %5267 ]
  store i32 %5262, ptr %285, align 4, !tbaa !9
  %5273 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5274 = load i32, ptr @test_count, align 4, !tbaa !9
  %5275 = load i32, ptr %231, align 4, !tbaa !9
  %5276 = call ptr @s2n_strerror(i32 noundef %5275, ptr noundef nonnull @.str.4) #13
  %5277 = load i32, ptr %231, align 4, !tbaa !9
  %5278 = call ptr @s2n_strerror_debug(i32 noundef %5277, ptr noundef nonnull @.str.4) #13
  %5279 = load i32, ptr %285, align 4, !tbaa !9
  %5280 = call ptr @strerror(i32 noundef %5279) #13
  %5281 = load i32, ptr %285, align 4, !tbaa !9
  %5282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5273, ptr noundef nonnull %.str.5.sink2351, i32 noundef %5274, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %5276, ptr noundef %5278, ptr noundef %5280, i32 noundef %5281) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5283:                                             ; preds = %.preheader719
  %indvars.iv.next747 = add nuw nsw i64 %indvars.iv746, 1
  %exitcond749.not = icmp eq i64 %indvars.iv.next747, 48
  br i1 %exitcond749.not, label %5284, label %.preheader719, !llvm.loop !21

5284:                                             ; preds = %5283
  %5285 = load i32, ptr @test_count, align 4, !tbaa !9
  %5286 = add nsw i32 %5285, 1
  store i32 %5286, ptr @test_count, align 4, !tbaa !9
  %bcmp570 = call i32 @bcmp(ptr noundef nonnull dereferenceable(96) %4, ptr noundef nonnull dereferenceable(96) @.str.61, i64 96)
  %5287 = icmp eq i32 %bcmp570, 0
  br i1 %5287, label %5338, label %5316

.preheader719:                                    ; preds = %5256, %5283
  %indvars.iv746 = phi i64 [ %indvars.iv.next747, %5283 ], [ 0, %5256 ]
  %5288 = load i32, ptr @test_count, align 4, !tbaa !9
  %5289 = add nsw i32 %5288, 1
  store i32 %5289, ptr @test_count, align 4, !tbaa !9
  %5290 = getelementptr inbounds [64 x i8], ptr %3, i64 0, i64 %indvars.iv746
  %5291 = load i8, ptr %5290, align 1, !tbaa !17
  %5292 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %5291) #13
  %5293 = call zeroext i1 @s2n_result_is_ok(i32 %5292)
  br i1 %5293, label %5283, label %5294

5294:                                             ; preds = %.preheader719
  %5295 = load i32, ptr %285, align 4, !tbaa !9
  %5296 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5297 = call i32 @s2n_print_stacktrace(ptr noundef %5296) #13
  %5298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5299 = trunc nuw i8 %5298 to i1
  br i1 %5299, label %5300, label %5304

5300:                                             ; preds = %5294
  %5301 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5302 = call i32 @fileno(ptr noundef %5301) #13
  %5303 = call i32 @isatty(i32 noundef %5302) #13
  %.not608 = icmp eq i32 %5303, 0
  br i1 %.not608, label %5304, label %5305

5304:                                             ; preds = %5300, %5294
  br label %5305

5305:                                             ; preds = %5300, %5304
  %.str.5.sink2360 = phi ptr [ @.str.5, %5304 ], [ @.str.2, %5300 ]
  store i32 %5295, ptr %285, align 4, !tbaa !9
  %5306 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5307 = load i32, ptr @test_count, align 4, !tbaa !9
  %5308 = load i32, ptr %231, align 4, !tbaa !9
  %5309 = call ptr @s2n_strerror(i32 noundef %5308, ptr noundef nonnull @.str.4) #13
  %5310 = load i32, ptr %231, align 4, !tbaa !9
  %5311 = call ptr @s2n_strerror_debug(i32 noundef %5310, ptr noundef nonnull @.str.4) #13
  %5312 = load i32, ptr %285, align 4, !tbaa !9
  %5313 = call ptr @strerror(i32 noundef %5312) #13
  %5314 = load i32, ptr %285, align 4, !tbaa !9
  %5315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5306, ptr noundef nonnull %.str.5.sink2360, i32 noundef %5307, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %5309, ptr noundef %5311, ptr noundef %5313, i32 noundef %5314) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5316:                                             ; preds = %5284
  %5317 = load i32, ptr %285, align 4, !tbaa !9
  %5318 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5319 = call i32 @s2n_print_stacktrace(ptr noundef %5318) #13
  %5320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5321 = trunc nuw i8 %5320 to i1
  br i1 %5321, label %5322, label %5326

5322:                                             ; preds = %5316
  %5323 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5324 = call i32 @fileno(ptr noundef %5323) #13
  %5325 = call i32 @isatty(i32 noundef %5324) #13
  %.not571 = icmp eq i32 %5325, 0
  br i1 %.not571, label %5326, label %5327

5326:                                             ; preds = %5322, %5316
  br label %5327

5327:                                             ; preds = %5322, %5326
  %.str.5.sink2369 = phi ptr [ @.str.5, %5326 ], [ @.str.2, %5322 ]
  store i32 %5317, ptr %285, align 4, !tbaa !9
  %5328 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5329 = load i32, ptr @test_count, align 4, !tbaa !9
  %5330 = load i32, ptr %231, align 4, !tbaa !9
  %5331 = call ptr @s2n_strerror(i32 noundef %5330, ptr noundef nonnull @.str.4) #13
  %5332 = load i32, ptr %231, align 4, !tbaa !9
  %5333 = call ptr @s2n_strerror_debug(i32 noundef %5332, ptr noundef nonnull @.str.4) #13
  %5334 = load i32, ptr %285, align 4, !tbaa !9
  %5335 = call ptr @strerror(i32 noundef %5334) #13
  %5336 = load i32, ptr %285, align 4, !tbaa !9
  %5337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5328, ptr noundef nonnull %.str.5.sink2369, i32 noundef %5329, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %5331, ptr noundef %5333, ptr noundef %5335, i32 noundef %5336) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5338:                                             ; preds = %5284
  %5339 = call i32 @s2n_hash_reset(ptr noundef nonnull %9) #13
  %5340 = icmp sgt i32 %5339, -1
  br i1 %5340, label %5341, label %6084

5341:                                             ; preds = %5338
  %5342 = load i32, ptr @test_count, align 4, !tbaa !9
  %5343 = add nsw i32 %5342, 1
  store i32 %5343, ptr @test_count, align 4, !tbaa !9
  %5344 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not572 = icmp eq i32 %5344, 0
  br i1 %.not572, label %5345, label %5367

5345:                                             ; preds = %5341
  %5346 = load i32, ptr %285, align 4, !tbaa !9
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5348 = call i32 @s2n_print_stacktrace(ptr noundef %5347) #13
  %5349 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5350 = trunc nuw i8 %5349 to i1
  br i1 %5350, label %5351, label %5355

5351:                                             ; preds = %5345
  %5352 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5353 = call i32 @fileno(ptr noundef %5352) #13
  %5354 = call i32 @isatty(i32 noundef %5353) #13
  %.not573 = icmp eq i32 %5354, 0
  br i1 %.not573, label %5355, label %5356

5355:                                             ; preds = %5351, %5345
  br label %5356

5356:                                             ; preds = %5351, %5355
  %.str.5.sink2378 = phi ptr [ @.str.5, %5355 ], [ @.str.2, %5351 ]
  store i32 %5346, ptr %285, align 4, !tbaa !9
  %5357 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5358 = load i32, ptr @test_count, align 4, !tbaa !9
  %5359 = load i32, ptr %231, align 4, !tbaa !9
  %5360 = call ptr @s2n_strerror(i32 noundef %5359, ptr noundef nonnull @.str.4) #13
  %5361 = load i32, ptr %231, align 4, !tbaa !9
  %5362 = call ptr @s2n_strerror_debug(i32 noundef %5361, ptr noundef nonnull @.str.4) #13
  %5363 = load i32, ptr %285, align 4, !tbaa !9
  %5364 = call ptr @strerror(i32 noundef %5363) #13
  %5365 = load i32, ptr %285, align 4, !tbaa !9
  %5366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5357, ptr noundef nonnull %.str.5.sink2378, i32 noundef %5358, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 301, ptr noundef %5360, ptr noundef %5362, ptr noundef %5364, i32 noundef %5365) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5367:                                             ; preds = %5341
  %5368 = load i32, ptr @test_count, align 4, !tbaa !9
  %5369 = add nsw i32 %5368, 1
  store i32 %5369, ptr @test_count, align 4, !tbaa !9
  %5370 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5371 = icmp eq i32 %5370, -1
  br i1 %5371, label %5372, label %5394

5372:                                             ; preds = %5367
  %5373 = load i32, ptr %285, align 4, !tbaa !9
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5375 = call i32 @s2n_print_stacktrace(ptr noundef %5374) #13
  %5376 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5377 = trunc nuw i8 %5376 to i1
  br i1 %5377, label %5378, label %5382

5378:                                             ; preds = %5372
  %5379 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5380 = call i32 @fileno(ptr noundef %5379) #13
  %5381 = call i32 @isatty(i32 noundef %5380) #13
  %.not607 = icmp eq i32 %5381, 0
  br i1 %.not607, label %5382, label %5383

5382:                                             ; preds = %5378, %5372
  br label %5383

5383:                                             ; preds = %5378, %5382
  %.str.5.sink2387 = phi ptr [ @.str.5, %5382 ], [ @.str.2, %5378 ]
  store i32 %5373, ptr %285, align 4, !tbaa !9
  %5384 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5385 = load i32, ptr @test_count, align 4, !tbaa !9
  %5386 = load i32, ptr %231, align 4, !tbaa !9
  %5387 = call ptr @s2n_strerror(i32 noundef %5386, ptr noundef nonnull @.str.4) #13
  %5388 = load i32, ptr %231, align 4, !tbaa !9
  %5389 = call ptr @s2n_strerror_debug(i32 noundef %5388, ptr noundef nonnull @.str.4) #13
  %5390 = load i32, ptr %285, align 4, !tbaa !9
  %5391 = call ptr @strerror(i32 noundef %5390) #13
  %5392 = load i32, ptr %285, align 4, !tbaa !9
  %5393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5384, ptr noundef nonnull %.str.5.sink2387, i32 noundef %5385, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %5387, ptr noundef %5389, ptr noundef %5391, i32 noundef %5392) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5394:                                             ; preds = %5367
  %5395 = load i32, ptr @test_count, align 4, !tbaa !9
  %5396 = add nsw i32 %5395, 1
  store i32 %5396, ptr @test_count, align 4, !tbaa !9
  %5397 = load i64, ptr %12, align 8, !tbaa !5
  %5398 = icmp eq i64 %5397, 0
  br i1 %5398, label %5421, label %5399

5399:                                             ; preds = %5394
  %5400 = load i32, ptr %285, align 4, !tbaa !9
  %5401 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5402 = call i32 @s2n_print_stacktrace(ptr noundef %5401) #13
  %5403 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5404 = trunc nuw i8 %5403 to i1
  br i1 %5404, label %5405, label %5409

5405:                                             ; preds = %5399
  %5406 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5407 = call i32 @fileno(ptr noundef %5406) #13
  %5408 = call i32 @isatty(i32 noundef %5407) #13
  %.not574 = icmp eq i32 %5408, 0
  br i1 %.not574, label %5409, label %5410

5409:                                             ; preds = %5405, %5399
  br label %5410

5410:                                             ; preds = %5405, %5409
  %.str.5.sink2396 = phi ptr [ @.str.5, %5409 ], [ @.str.2, %5405 ]
  store i32 %5400, ptr %285, align 4, !tbaa !9
  %5411 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5412 = load i32, ptr @test_count, align 4, !tbaa !9
  %5413 = load i32, ptr %231, align 4, !tbaa !9
  %5414 = call ptr @s2n_strerror(i32 noundef %5413, ptr noundef nonnull @.str.4) #13
  %5415 = load i32, ptr %231, align 4, !tbaa !9
  %5416 = call ptr @s2n_strerror_debug(i32 noundef %5415, ptr noundef nonnull @.str.4) #13
  %5417 = load i32, ptr %285, align 4, !tbaa !9
  %5418 = call ptr @strerror(i32 noundef %5417) #13
  %5419 = load i32, ptr %285, align 4, !tbaa !9
  %5420 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5411, ptr noundef nonnull %.str.5.sink2396, i32 noundef %5412, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 303, ptr noundef %5414, ptr noundef %5416, ptr noundef %5418, i32 noundef %5419) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5421:                                             ; preds = %5394
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %18) #13
  store i8 0, ptr %18, align 1, !tbaa !17
  %5422 = call i32 @s2n_hash_digest_size(i32 noundef 6, ptr noundef nonnull %18) #13
  %5423 = icmp sgt i32 %5422, -1
  br i1 %5423, label %5424, label %6083

5424:                                             ; preds = %5421
  %5425 = load i32, ptr @test_count, align 4, !tbaa !9
  %5426 = add nsw i32 %5425, 1
  store i32 %5426, ptr @test_count, align 4, !tbaa !9
  %5427 = load i8, ptr %18, align 1, !tbaa !17
  %5428 = icmp eq i8 %5427, 64
  br i1 %5428, label %5451, label %5429

5429:                                             ; preds = %5424
  %5430 = load i32, ptr %285, align 4, !tbaa !9
  %5431 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5432 = call i32 @s2n_print_stacktrace(ptr noundef %5431) #13
  %5433 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5434 = trunc nuw i8 %5433 to i1
  br i1 %5434, label %5435, label %5439

5435:                                             ; preds = %5429
  %5436 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5437 = call i32 @fileno(ptr noundef %5436) #13
  %5438 = call i32 @isatty(i32 noundef %5437) #13
  %.not575 = icmp eq i32 %5438, 0
  br i1 %.not575, label %5439, label %5440

5439:                                             ; preds = %5435, %5429
  br label %5440

5440:                                             ; preds = %5435, %5439
  %.str.5.sink2405 = phi ptr [ @.str.5, %5439 ], [ @.str.2, %5435 ]
  store i32 %5430, ptr %285, align 4, !tbaa !9
  %5441 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5442 = load i32, ptr @test_count, align 4, !tbaa !9
  %5443 = load i32, ptr %231, align 4, !tbaa !9
  %5444 = call ptr @s2n_strerror(i32 noundef %5443, ptr noundef nonnull @.str.4) #13
  %5445 = load i32, ptr %231, align 4, !tbaa !9
  %5446 = call ptr @s2n_strerror_debug(i32 noundef %5445, ptr noundef nonnull @.str.4) #13
  %5447 = load i32, ptr %285, align 4, !tbaa !9
  %5448 = call ptr @strerror(i32 noundef %5447) #13
  %5449 = load i32, ptr %285, align 4, !tbaa !9
  %5450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5441, ptr noundef nonnull %.str.5.sink2405, i32 noundef %5442, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 308, ptr noundef %5444, ptr noundef %5446, ptr noundef %5448, i32 noundef %5449) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5451:                                             ; preds = %5424
  %5452 = add nsw i32 %5425, 2
  store i32 %5452, ptr @test_count, align 4, !tbaa !9
  %5453 = call i32 @s2n_hash_init(ptr noundef nonnull %9, i32 noundef 6) #13
  %5454 = icmp eq i32 %5453, -1
  br i1 %5454, label %5455, label %5477

5455:                                             ; preds = %5451
  %5456 = load i32, ptr %285, align 4, !tbaa !9
  %5457 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5458 = call i32 @s2n_print_stacktrace(ptr noundef %5457) #13
  %5459 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5460 = trunc nuw i8 %5459 to i1
  br i1 %5460, label %5461, label %5465

5461:                                             ; preds = %5455
  %5462 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5463 = call i32 @fileno(ptr noundef %5462) #13
  %5464 = call i32 @isatty(i32 noundef %5463) #13
  %.not606 = icmp eq i32 %5464, 0
  br i1 %.not606, label %5465, label %5466

5465:                                             ; preds = %5461, %5455
  br label %5466

5466:                                             ; preds = %5461, %5465
  %.str.5.sink2414 = phi ptr [ @.str.5, %5465 ], [ @.str.2, %5461 ]
  store i32 %5456, ptr %285, align 4, !tbaa !9
  %5467 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5468 = load i32, ptr @test_count, align 4, !tbaa !9
  %5469 = load i32, ptr %231, align 4, !tbaa !9
  %5470 = call ptr @s2n_strerror(i32 noundef %5469, ptr noundef nonnull @.str.4) #13
  %5471 = load i32, ptr %231, align 4, !tbaa !9
  %5472 = call ptr @s2n_strerror_debug(i32 noundef %5471, ptr noundef nonnull @.str.4) #13
  %5473 = load i32, ptr %285, align 4, !tbaa !9
  %5474 = call ptr @strerror(i32 noundef %5473) #13
  %5475 = load i32, ptr %285, align 4, !tbaa !9
  %5476 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5467, ptr noundef nonnull %.str.5.sink2414, i32 noundef %5468, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 309, ptr noundef %5470, ptr noundef %5472, ptr noundef %5474, i32 noundef %5475) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5477:                                             ; preds = %5451
  %5478 = load i32, ptr @test_count, align 4, !tbaa !9
  %5479 = add nsw i32 %5478, 1
  store i32 %5479, ptr @test_count, align 4, !tbaa !9
  %5480 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not576 = icmp eq i32 %5480, 0
  br i1 %.not576, label %5481, label %5503

5481:                                             ; preds = %5477
  %5482 = load i32, ptr %285, align 4, !tbaa !9
  %5483 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5484 = call i32 @s2n_print_stacktrace(ptr noundef %5483) #13
  %5485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5486 = trunc nuw i8 %5485 to i1
  br i1 %5486, label %5487, label %5491

5487:                                             ; preds = %5481
  %5488 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5489 = call i32 @fileno(ptr noundef %5488) #13
  %5490 = call i32 @isatty(i32 noundef %5489) #13
  %.not577 = icmp eq i32 %5490, 0
  br i1 %.not577, label %5491, label %5492

5491:                                             ; preds = %5487, %5481
  br label %5492

5492:                                             ; preds = %5487, %5491
  %.str.5.sink2423 = phi ptr [ @.str.5, %5491 ], [ @.str.2, %5487 ]
  store i32 %5482, ptr %285, align 4, !tbaa !9
  %5493 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5494 = load i32, ptr @test_count, align 4, !tbaa !9
  %5495 = load i32, ptr %231, align 4, !tbaa !9
  %5496 = call ptr @s2n_strerror(i32 noundef %5495, ptr noundef nonnull @.str.4) #13
  %5497 = load i32, ptr %231, align 4, !tbaa !9
  %5498 = call ptr @s2n_strerror_debug(i32 noundef %5497, ptr noundef nonnull @.str.4) #13
  %5499 = load i32, ptr %285, align 4, !tbaa !9
  %5500 = call ptr @strerror(i32 noundef %5499) #13
  %5501 = load i32, ptr %285, align 4, !tbaa !9
  %5502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5493, ptr noundef nonnull %.str.5.sink2423, i32 noundef %5494, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 310, ptr noundef %5496, ptr noundef %5498, ptr noundef %5500, i32 noundef %5501) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5503:                                             ; preds = %5477
  %5504 = load i32, ptr @test_count, align 4, !tbaa !9
  %5505 = add nsw i32 %5504, 1
  store i32 %5505, ptr @test_count, align 4, !tbaa !9
  %5506 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5507 = icmp eq i32 %5506, -1
  br i1 %5507, label %5508, label %5530

5508:                                             ; preds = %5503
  %5509 = load i32, ptr %285, align 4, !tbaa !9
  %5510 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5511 = call i32 @s2n_print_stacktrace(ptr noundef %5510) #13
  %5512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5513 = trunc nuw i8 %5512 to i1
  br i1 %5513, label %5514, label %5518

5514:                                             ; preds = %5508
  %5515 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5516 = call i32 @fileno(ptr noundef %5515) #13
  %5517 = call i32 @isatty(i32 noundef %5516) #13
  %.not605 = icmp eq i32 %5517, 0
  br i1 %.not605, label %5518, label %5519

5518:                                             ; preds = %5514, %5508
  br label %5519

5519:                                             ; preds = %5514, %5518
  %.str.5.sink2432 = phi ptr [ @.str.5, %5518 ], [ @.str.2, %5514 ]
  store i32 %5509, ptr %285, align 4, !tbaa !9
  %5520 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5521 = load i32, ptr @test_count, align 4, !tbaa !9
  %5522 = load i32, ptr %231, align 4, !tbaa !9
  %5523 = call ptr @s2n_strerror(i32 noundef %5522, ptr noundef nonnull @.str.4) #13
  %5524 = load i32, ptr %231, align 4, !tbaa !9
  %5525 = call ptr @s2n_strerror_debug(i32 noundef %5524, ptr noundef nonnull @.str.4) #13
  %5526 = load i32, ptr %285, align 4, !tbaa !9
  %5527 = call ptr @strerror(i32 noundef %5526) #13
  %5528 = load i32, ptr %285, align 4, !tbaa !9
  %5529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5520, ptr noundef nonnull %.str.5.sink2432, i32 noundef %5521, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 311, ptr noundef %5523, ptr noundef %5525, ptr noundef %5527, i32 noundef %5528) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5530:                                             ; preds = %5503
  %5531 = load i32, ptr @test_count, align 4, !tbaa !9
  %5532 = add nsw i32 %5531, 1
  store i32 %5532, ptr @test_count, align 4, !tbaa !9
  %5533 = load i64, ptr %12, align 8, !tbaa !5
  %5534 = icmp eq i64 %5533, 0
  br i1 %5534, label %5557, label %5535

5535:                                             ; preds = %5530
  %5536 = load i32, ptr %285, align 4, !tbaa !9
  %5537 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5538 = call i32 @s2n_print_stacktrace(ptr noundef %5537) #13
  %5539 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5540 = trunc nuw i8 %5539 to i1
  br i1 %5540, label %5541, label %5545

5541:                                             ; preds = %5535
  %5542 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5543 = call i32 @fileno(ptr noundef %5542) #13
  %5544 = call i32 @isatty(i32 noundef %5543) #13
  %.not578 = icmp eq i32 %5544, 0
  br i1 %.not578, label %5545, label %5546

5545:                                             ; preds = %5541, %5535
  br label %5546

5546:                                             ; preds = %5541, %5545
  %.str.5.sink2441 = phi ptr [ @.str.5, %5545 ], [ @.str.2, %5541 ]
  store i32 %5536, ptr %285, align 4, !tbaa !9
  %5547 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5548 = load i32, ptr @test_count, align 4, !tbaa !9
  %5549 = load i32, ptr %231, align 4, !tbaa !9
  %5550 = call ptr @s2n_strerror(i32 noundef %5549, ptr noundef nonnull @.str.4) #13
  %5551 = load i32, ptr %231, align 4, !tbaa !9
  %5552 = call ptr @s2n_strerror_debug(i32 noundef %5551, ptr noundef nonnull @.str.4) #13
  %5553 = load i32, ptr %285, align 4, !tbaa !9
  %5554 = call ptr @strerror(i32 noundef %5553) #13
  %5555 = load i32, ptr %285, align 4, !tbaa !9
  %5556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5547, ptr noundef nonnull %.str.5.sink2441, i32 noundef %5548, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 312, ptr noundef %5550, ptr noundef %5552, ptr noundef %5554, i32 noundef %5555) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5557:                                             ; preds = %5530
  %5558 = add nsw i32 %5531, 2
  store i32 %5558, ptr @test_count, align 4, !tbaa !9
  %5559 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) %5) #17
  %5560 = trunc i64 %5559 to i32
  %5561 = call i32 @s2n_hash_update(ptr noundef nonnull %9, ptr noundef nonnull %5, i32 noundef %5560) #13
  %5562 = icmp eq i32 %5561, -1
  br i1 %5562, label %5563, label %5585

5563:                                             ; preds = %5557
  %5564 = load i32, ptr %285, align 4, !tbaa !9
  %5565 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5566 = call i32 @s2n_print_stacktrace(ptr noundef %5565) #13
  %5567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5568 = trunc nuw i8 %5567 to i1
  br i1 %5568, label %5569, label %5573

5569:                                             ; preds = %5563
  %5570 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5571 = call i32 @fileno(ptr noundef %5570) #13
  %5572 = call i32 @isatty(i32 noundef %5571) #13
  %.not604 = icmp eq i32 %5572, 0
  br i1 %.not604, label %5573, label %5574

5573:                                             ; preds = %5569, %5563
  br label %5574

5574:                                             ; preds = %5569, %5573
  %.str.5.sink2450 = phi ptr [ @.str.5, %5573 ], [ @.str.2, %5569 ]
  store i32 %5564, ptr %285, align 4, !tbaa !9
  %5575 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5576 = load i32, ptr @test_count, align 4, !tbaa !9
  %5577 = load i32, ptr %231, align 4, !tbaa !9
  %5578 = call ptr @s2n_strerror(i32 noundef %5577, ptr noundef nonnull @.str.4) #13
  %5579 = load i32, ptr %231, align 4, !tbaa !9
  %5580 = call ptr @s2n_strerror_debug(i32 noundef %5579, ptr noundef nonnull @.str.4) #13
  %5581 = load i32, ptr %285, align 4, !tbaa !9
  %5582 = call ptr @strerror(i32 noundef %5581) #13
  %5583 = load i32, ptr %285, align 4, !tbaa !9
  %5584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5575, ptr noundef nonnull %.str.5.sink2450, i32 noundef %5576, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %5578, ptr noundef %5580, ptr noundef %5582, i32 noundef %5583) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5585:                                             ; preds = %5557
  %5586 = load i32, ptr @test_count, align 4, !tbaa !9
  %5587 = add nsw i32 %5586, 1
  store i32 %5587, ptr @test_count, align 4, !tbaa !9
  %5588 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not579 = icmp eq i32 %5588, 0
  br i1 %.not579, label %5589, label %5611

5589:                                             ; preds = %5585
  %5590 = load i32, ptr %285, align 4, !tbaa !9
  %5591 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5592 = call i32 @s2n_print_stacktrace(ptr noundef %5591) #13
  %5593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5594 = trunc nuw i8 %5593 to i1
  br i1 %5594, label %5595, label %5599

5595:                                             ; preds = %5589
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5597 = call i32 @fileno(ptr noundef %5596) #13
  %5598 = call i32 @isatty(i32 noundef %5597) #13
  %.not580 = icmp eq i32 %5598, 0
  br i1 %.not580, label %5599, label %5600

5599:                                             ; preds = %5595, %5589
  br label %5600

5600:                                             ; preds = %5595, %5599
  %.str.5.sink2459 = phi ptr [ @.str.5, %5599 ], [ @.str.2, %5595 ]
  store i32 %5590, ptr %285, align 4, !tbaa !9
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5602 = load i32, ptr @test_count, align 4, !tbaa !9
  %5603 = load i32, ptr %231, align 4, !tbaa !9
  %5604 = call ptr @s2n_strerror(i32 noundef %5603, ptr noundef nonnull @.str.4) #13
  %5605 = load i32, ptr %231, align 4, !tbaa !9
  %5606 = call ptr @s2n_strerror_debug(i32 noundef %5605, ptr noundef nonnull @.str.4) #13
  %5607 = load i32, ptr %285, align 4, !tbaa !9
  %5608 = call ptr @strerror(i32 noundef %5607) #13
  %5609 = load i32, ptr %285, align 4, !tbaa !9
  %5610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5601, ptr noundef nonnull %.str.5.sink2459, i32 noundef %5602, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 315, ptr noundef %5604, ptr noundef %5606, ptr noundef %5608, i32 noundef %5609) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5611:                                             ; preds = %5585
  %5612 = load i32, ptr @test_count, align 4, !tbaa !9
  %5613 = add nsw i32 %5612, 1
  store i32 %5613, ptr @test_count, align 4, !tbaa !9
  %5614 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5615 = icmp eq i32 %5614, -1
  br i1 %5615, label %5616, label %5638

5616:                                             ; preds = %5611
  %5617 = load i32, ptr %285, align 4, !tbaa !9
  %5618 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5619 = call i32 @s2n_print_stacktrace(ptr noundef %5618) #13
  %5620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5621 = trunc nuw i8 %5620 to i1
  br i1 %5621, label %5622, label %5626

5622:                                             ; preds = %5616
  %5623 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5624 = call i32 @fileno(ptr noundef %5623) #13
  %5625 = call i32 @isatty(i32 noundef %5624) #13
  %.not603 = icmp eq i32 %5625, 0
  br i1 %.not603, label %5626, label %5627

5626:                                             ; preds = %5622, %5616
  br label %5627

5627:                                             ; preds = %5622, %5626
  %.str.5.sink2468 = phi ptr [ @.str.5, %5626 ], [ @.str.2, %5622 ]
  store i32 %5617, ptr %285, align 4, !tbaa !9
  %5628 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5629 = load i32, ptr @test_count, align 4, !tbaa !9
  %5630 = load i32, ptr %231, align 4, !tbaa !9
  %5631 = call ptr @s2n_strerror(i32 noundef %5630, ptr noundef nonnull @.str.4) #13
  %5632 = load i32, ptr %231, align 4, !tbaa !9
  %5633 = call ptr @s2n_strerror_debug(i32 noundef %5632, ptr noundef nonnull @.str.4) #13
  %5634 = load i32, ptr %285, align 4, !tbaa !9
  %5635 = call ptr @strerror(i32 noundef %5634) #13
  %5636 = load i32, ptr %285, align 4, !tbaa !9
  %5637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5628, ptr noundef nonnull %.str.5.sink2468, i32 noundef %5629, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %5631, ptr noundef %5633, ptr noundef %5635, i32 noundef %5636) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5638:                                             ; preds = %5611
  %5639 = load i32, ptr @test_count, align 4, !tbaa !9
  %5640 = add nsw i32 %5639, 1
  store i32 %5640, ptr @test_count, align 4, !tbaa !9
  %5641 = load i64, ptr %12, align 8, !tbaa !5
  %5642 = icmp eq i64 %5641, 13
  br i1 %5642, label %5665, label %5643

5643:                                             ; preds = %5638
  %5644 = load i32, ptr %285, align 4, !tbaa !9
  %5645 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5646 = call i32 @s2n_print_stacktrace(ptr noundef %5645) #13
  %5647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5648 = trunc nuw i8 %5647 to i1
  br i1 %5648, label %5649, label %5653

5649:                                             ; preds = %5643
  %5650 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5651 = call i32 @fileno(ptr noundef %5650) #13
  %5652 = call i32 @isatty(i32 noundef %5651) #13
  %.not581 = icmp eq i32 %5652, 0
  br i1 %.not581, label %5653, label %5654

5653:                                             ; preds = %5649, %5643
  br label %5654

5654:                                             ; preds = %5649, %5653
  %.str.5.sink2477 = phi ptr [ @.str.5, %5653 ], [ @.str.2, %5649 ]
  store i32 %5644, ptr %285, align 4, !tbaa !9
  %5655 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5656 = load i32, ptr @test_count, align 4, !tbaa !9
  %5657 = load i32, ptr %231, align 4, !tbaa !9
  %5658 = call ptr @s2n_strerror(i32 noundef %5657, ptr noundef nonnull @.str.4) #13
  %5659 = load i32, ptr %231, align 4, !tbaa !9
  %5660 = call ptr @s2n_strerror_debug(i32 noundef %5659, ptr noundef nonnull @.str.4) #13
  %5661 = load i32, ptr %285, align 4, !tbaa !9
  %5662 = call ptr @strerror(i32 noundef %5661) #13
  %5663 = load i32, ptr %285, align 4, !tbaa !9
  %5664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5655, ptr noundef nonnull %.str.5.sink2477, i32 noundef %5656, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %5658, ptr noundef %5660, ptr noundef %5662, i32 noundef %5663) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5665:                                             ; preds = %5638
  %5666 = add nsw i32 %5639, 2
  store i32 %5666, ptr @test_count, align 4, !tbaa !9
  %5667 = call i32 @s2n_hash_digest(ptr noundef nonnull %9, ptr noundef nonnull %3, i32 noundef 64) #13
  %5668 = icmp eq i32 %5667, -1
  br i1 %5668, label %5669, label %5691

5669:                                             ; preds = %5665
  %5670 = load i32, ptr %285, align 4, !tbaa !9
  %5671 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5672 = call i32 @s2n_print_stacktrace(ptr noundef %5671) #13
  %5673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5674 = trunc nuw i8 %5673 to i1
  br i1 %5674, label %5675, label %5679

5675:                                             ; preds = %5669
  %5676 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5677 = call i32 @fileno(ptr noundef %5676) #13
  %5678 = call i32 @isatty(i32 noundef %5677) #13
  %.not602 = icmp eq i32 %5678, 0
  br i1 %.not602, label %5679, label %5680

5679:                                             ; preds = %5675, %5669
  br label %5680

5680:                                             ; preds = %5675, %5679
  %.str.5.sink2486 = phi ptr [ @.str.5, %5679 ], [ @.str.2, %5675 ]
  store i32 %5670, ptr %285, align 4, !tbaa !9
  %5681 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5682 = load i32, ptr @test_count, align 4, !tbaa !9
  %5683 = load i32, ptr %231, align 4, !tbaa !9
  %5684 = call ptr @s2n_strerror(i32 noundef %5683, ptr noundef nonnull @.str.4) #13
  %5685 = load i32, ptr %231, align 4, !tbaa !9
  %5686 = call ptr @s2n_strerror_debug(i32 noundef %5685, ptr noundef nonnull @.str.4) #13
  %5687 = load i32, ptr %285, align 4, !tbaa !9
  %5688 = call ptr @strerror(i32 noundef %5687) #13
  %5689 = load i32, ptr %285, align 4, !tbaa !9
  %5690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5681, ptr noundef nonnull %.str.5.sink2486, i32 noundef %5682, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 319, ptr noundef %5684, ptr noundef %5686, ptr noundef %5688, i32 noundef %5689) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5691:                                             ; preds = %5665
  %5692 = load i32, ptr @test_count, align 4, !tbaa !9
  %5693 = add nsw i32 %5692, 1
  store i32 %5693, ptr @test_count, align 4, !tbaa !9
  %5694 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not582 = icmp eq i32 %5694, 0
  br i1 %.not582, label %5717, label %5695

5695:                                             ; preds = %5691
  %5696 = load i32, ptr %285, align 4, !tbaa !9
  %5697 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5698 = call i32 @s2n_print_stacktrace(ptr noundef %5697) #13
  %5699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5700 = trunc nuw i8 %5699 to i1
  br i1 %5700, label %5701, label %5705

5701:                                             ; preds = %5695
  %5702 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5703 = call i32 @fileno(ptr noundef %5702) #13
  %5704 = call i32 @isatty(i32 noundef %5703) #13
  %.not601 = icmp eq i32 %5704, 0
  br i1 %.not601, label %5705, label %5706

5705:                                             ; preds = %5701, %5695
  br label %5706

5706:                                             ; preds = %5701, %5705
  %.str.5.sink2495 = phi ptr [ @.str.5, %5705 ], [ @.str.2, %5701 ]
  store i32 %5696, ptr %285, align 4, !tbaa !9
  %5707 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5708 = load i32, ptr @test_count, align 4, !tbaa !9
  %5709 = load i32, ptr %231, align 4, !tbaa !9
  %5710 = call ptr @s2n_strerror(i32 noundef %5709, ptr noundef nonnull @.str.4) #13
  %5711 = load i32, ptr %231, align 4, !tbaa !9
  %5712 = call ptr @s2n_strerror_debug(i32 noundef %5711, ptr noundef nonnull @.str.4) #13
  %5713 = load i32, ptr %285, align 4, !tbaa !9
  %5714 = call ptr @strerror(i32 noundef %5713) #13
  %5715 = load i32, ptr %285, align 4, !tbaa !9
  %5716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5707, ptr noundef nonnull %.str.5.sink2495, i32 noundef %5708, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 320, ptr noundef %5710, ptr noundef %5712, ptr noundef %5714, i32 noundef %5715) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5717:                                             ; preds = %5691
  %5718 = load i32, ptr @test_count, align 4, !tbaa !9
  %5719 = add nsw i32 %5718, 1
  store i32 %5719, ptr @test_count, align 4, !tbaa !9
  %5720 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5721 = icmp eq i32 %5720, -1
  br i1 %5721, label %5744, label %5722

5722:                                             ; preds = %5717
  %5723 = load i32, ptr %285, align 4, !tbaa !9
  %5724 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5725 = call i32 @s2n_print_stacktrace(ptr noundef %5724) #13
  %5726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5727 = trunc nuw i8 %5726 to i1
  br i1 %5727, label %5728, label %5732

5728:                                             ; preds = %5722
  %5729 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5730 = call i32 @fileno(ptr noundef %5729) #13
  %5731 = call i32 @isatty(i32 noundef %5730) #13
  %.not583 = icmp eq i32 %5731, 0
  br i1 %.not583, label %5732, label %5733

5732:                                             ; preds = %5728, %5722
  br label %5733

5733:                                             ; preds = %5728, %5732
  %.str.5.sink2504 = phi ptr [ @.str.5, %5732 ], [ @.str.2, %5728 ]
  store i32 %5723, ptr %285, align 4, !tbaa !9
  %5734 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5735 = load i32, ptr @test_count, align 4, !tbaa !9
  %5736 = load i32, ptr %231, align 4, !tbaa !9
  %5737 = call ptr @s2n_strerror(i32 noundef %5736, ptr noundef nonnull @.str.4) #13
  %5738 = load i32, ptr %231, align 4, !tbaa !9
  %5739 = call ptr @s2n_strerror_debug(i32 noundef %5738, ptr noundef nonnull @.str.4) #13
  %5740 = load i32, ptr %285, align 4, !tbaa !9
  %5741 = call ptr @strerror(i32 noundef %5740) #13
  %5742 = load i32, ptr %285, align 4, !tbaa !9
  %5743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5734, ptr noundef nonnull %.str.5.sink2504, i32 noundef %5735, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %5737, ptr noundef %5739, ptr noundef %5741, i32 noundef %5742) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5744:                                             ; preds = %5717
  %5745 = load i32, ptr @test_count, align 4, !tbaa !9
  %5746 = add nsw i32 %5745, 1
  store i32 %5746, ptr @test_count, align 4, !tbaa !9
  %5747 = load i32, ptr %231, align 4, !tbaa !9
  %5748 = icmp eq i32 %5747, 0
  br i1 %5748, label %5749, label %5771

5749:                                             ; preds = %5744
  %5750 = load i32, ptr %285, align 4, !tbaa !9
  %5751 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5752 = call i32 @s2n_print_stacktrace(ptr noundef %5751) #13
  %5753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5754 = trunc nuw i8 %5753 to i1
  br i1 %5754, label %5755, label %5759

5755:                                             ; preds = %5749
  %5756 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5757 = call i32 @fileno(ptr noundef %5756) #13
  %5758 = call i32 @isatty(i32 noundef %5757) #13
  %.not600 = icmp eq i32 %5758, 0
  br i1 %.not600, label %5759, label %5760

5759:                                             ; preds = %5755, %5749
  br label %5760

5760:                                             ; preds = %5755, %5759
  %.str.5.sink2513 = phi ptr [ @.str.5, %5759 ], [ @.str.2, %5755 ]
  store i32 %5750, ptr %285, align 4, !tbaa !9
  %5761 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5762 = load i32, ptr @test_count, align 4, !tbaa !9
  %5763 = load i32, ptr %231, align 4, !tbaa !9
  %5764 = call ptr @s2n_strerror(i32 noundef %5763, ptr noundef nonnull @.str.4) #13
  %5765 = load i32, ptr %231, align 4, !tbaa !9
  %5766 = call ptr @s2n_strerror_debug(i32 noundef %5765, ptr noundef nonnull @.str.4) #13
  %5767 = load i32, ptr %285, align 4, !tbaa !9
  %5768 = call ptr @strerror(i32 noundef %5767) #13
  %5769 = load i32, ptr %285, align 4, !tbaa !9
  %5770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5761, ptr noundef nonnull %.str.5.sink2513, i32 noundef %5762, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %5764, ptr noundef %5766, ptr noundef %5768, i32 noundef %5769) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5771:                                             ; preds = %5744
  %5772 = add nsw i32 %5745, 2
  store i32 %5772, ptr @test_count, align 4, !tbaa !9
  %5773 = call ptr @s2n_strerror_debug(i32 noundef %5747, ptr noundef nonnull @.str.4) #13
  %5774 = icmp eq ptr %5773, null
  br i1 %5774, label %5775, label %5797

5775:                                             ; preds = %5771
  %5776 = load i32, ptr %285, align 4, !tbaa !9
  %5777 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5778 = call i32 @s2n_print_stacktrace(ptr noundef %5777) #13
  %5779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5780 = trunc nuw i8 %5779 to i1
  br i1 %5780, label %5781, label %5785

5781:                                             ; preds = %5775
  %5782 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5783 = call i32 @fileno(ptr noundef %5782) #13
  %5784 = call i32 @isatty(i32 noundef %5783) #13
  %.not599 = icmp eq i32 %5784, 0
  br i1 %.not599, label %5785, label %5786

5785:                                             ; preds = %5781, %5775
  br label %5786

5786:                                             ; preds = %5781, %5785
  %.str.5.sink2522 = phi ptr [ @.str.5, %5785 ], [ @.str.2, %5781 ]
  store i32 %5776, ptr %285, align 4, !tbaa !9
  %5787 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5788 = load i32, ptr @test_count, align 4, !tbaa !9
  %5789 = load i32, ptr %231, align 4, !tbaa !9
  %5790 = call ptr @s2n_strerror(i32 noundef %5789, ptr noundef nonnull @.str.4) #13
  %5791 = load i32, ptr %231, align 4, !tbaa !9
  %5792 = call ptr @s2n_strerror_debug(i32 noundef %5791, ptr noundef nonnull @.str.4) #13
  %5793 = load i32, ptr %285, align 4, !tbaa !9
  %5794 = call ptr @strerror(i32 noundef %5793) #13
  %5795 = load i32, ptr %285, align 4, !tbaa !9
  %5796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5787, ptr noundef nonnull %.str.5.sink2522, i32 noundef %5788, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 321, ptr noundef %5790, ptr noundef %5792, ptr noundef %5794, i32 noundef %5795) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5797:                                             ; preds = %5771
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %5798 = load i32, ptr @test_count, align 4, !tbaa !9
  %5799 = add nsw i32 %5798, 1
  store i32 %5799, ptr @test_count, align 4, !tbaa !9
  %5800 = call i32 @s2n_hash_free(ptr noundef nonnull %9) #13
  %5801 = icmp eq i32 %5800, -1
  br i1 %5801, label %5802, label %5824

5802:                                             ; preds = %5797
  %5803 = load i32, ptr %285, align 4, !tbaa !9
  %5804 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5805 = call i32 @s2n_print_stacktrace(ptr noundef %5804) #13
  %5806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5807 = trunc nuw i8 %5806 to i1
  br i1 %5807, label %5808, label %5812

5808:                                             ; preds = %5802
  %5809 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5810 = call i32 @fileno(ptr noundef %5809) #13
  %5811 = call i32 @isatty(i32 noundef %5810) #13
  %.not598 = icmp eq i32 %5811, 0
  br i1 %.not598, label %5812, label %5813

5812:                                             ; preds = %5808, %5802
  br label %5813

5813:                                             ; preds = %5808, %5812
  %.str.5.sink2531 = phi ptr [ @.str.5, %5812 ], [ @.str.2, %5808 ]
  store i32 %5803, ptr %285, align 4, !tbaa !9
  %5814 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5815 = load i32, ptr @test_count, align 4, !tbaa !9
  %5816 = load i32, ptr %231, align 4, !tbaa !9
  %5817 = call ptr @s2n_strerror(i32 noundef %5816, ptr noundef nonnull @.str.4) #13
  %5818 = load i32, ptr %231, align 4, !tbaa !9
  %5819 = call ptr @s2n_strerror_debug(i32 noundef %5818, ptr noundef nonnull @.str.4) #13
  %5820 = load i32, ptr %285, align 4, !tbaa !9
  %5821 = call ptr @strerror(i32 noundef %5820) #13
  %5822 = load i32, ptr %285, align 4, !tbaa !9
  %5823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5814, ptr noundef nonnull %.str.5.sink2531, i32 noundef %5815, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 323, ptr noundef %5817, ptr noundef %5819, ptr noundef %5821, i32 noundef %5822) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5824:                                             ; preds = %5797
  %5825 = load i32, ptr @test_count, align 4, !tbaa !9
  %5826 = add nsw i32 %5825, 1
  store i32 %5826, ptr @test_count, align 4, !tbaa !9
  %5827 = call i32 @s2n_hash_is_ready_for_input(ptr noundef nonnull %9) #13
  %.not584 = icmp eq i32 %5827, 0
  br i1 %.not584, label %5850, label %5828

5828:                                             ; preds = %5824
  %5829 = load i32, ptr %285, align 4, !tbaa !9
  %5830 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5831 = call i32 @s2n_print_stacktrace(ptr noundef %5830) #13
  %5832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5833 = trunc nuw i8 %5832 to i1
  br i1 %5833, label %5834, label %5838

5834:                                             ; preds = %5828
  %5835 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5836 = call i32 @fileno(ptr noundef %5835) #13
  %5837 = call i32 @isatty(i32 noundef %5836) #13
  %.not597 = icmp eq i32 %5837, 0
  br i1 %.not597, label %5838, label %5839

5838:                                             ; preds = %5834, %5828
  br label %5839

5839:                                             ; preds = %5834, %5838
  %.str.5.sink2540 = phi ptr [ @.str.5, %5838 ], [ @.str.2, %5834 ]
  store i32 %5829, ptr %285, align 4, !tbaa !9
  %5840 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5841 = load i32, ptr @test_count, align 4, !tbaa !9
  %5842 = load i32, ptr %231, align 4, !tbaa !9
  %5843 = call ptr @s2n_strerror(i32 noundef %5842, ptr noundef nonnull @.str.4) #13
  %5844 = load i32, ptr %231, align 4, !tbaa !9
  %5845 = call ptr @s2n_strerror_debug(i32 noundef %5844, ptr noundef nonnull @.str.4) #13
  %5846 = load i32, ptr %285, align 4, !tbaa !9
  %5847 = call ptr @strerror(i32 noundef %5846) #13
  %5848 = load i32, ptr %285, align 4, !tbaa !9
  %5849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5840, ptr noundef nonnull %.str.5.sink2540, i32 noundef %5841, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %5843, ptr noundef %5845, ptr noundef %5847, i32 noundef %5848) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5850:                                             ; preds = %5824
  %5851 = load i32, ptr @test_count, align 4, !tbaa !9
  %5852 = add nsw i32 %5851, 1
  store i32 %5852, ptr @test_count, align 4, !tbaa !9
  %5853 = call i32 @s2n_hash_get_currently_in_hash_total(ptr noundef nonnull %9, ptr noundef nonnull %12) #13
  %5854 = icmp eq i32 %5853, -1
  br i1 %5854, label %5877, label %5855

5855:                                             ; preds = %5850
  %5856 = load i32, ptr %285, align 4, !tbaa !9
  %5857 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5858 = call i32 @s2n_print_stacktrace(ptr noundef %5857) #13
  %5859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5860 = trunc nuw i8 %5859 to i1
  br i1 %5860, label %5861, label %5865

5861:                                             ; preds = %5855
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5863 = call i32 @fileno(ptr noundef %5862) #13
  %5864 = call i32 @isatty(i32 noundef %5863) #13
  %.not585 = icmp eq i32 %5864, 0
  br i1 %.not585, label %5865, label %5866

5865:                                             ; preds = %5861, %5855
  br label %5866

5866:                                             ; preds = %5861, %5865
  %.str.5.sink2549 = phi ptr [ @.str.5, %5865 ], [ @.str.2, %5861 ]
  store i32 %5856, ptr %285, align 4, !tbaa !9
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5868 = load i32, ptr @test_count, align 4, !tbaa !9
  %5869 = load i32, ptr %231, align 4, !tbaa !9
  %5870 = call ptr @s2n_strerror(i32 noundef %5869, ptr noundef nonnull @.str.4) #13
  %5871 = load i32, ptr %231, align 4, !tbaa !9
  %5872 = call ptr @s2n_strerror_debug(i32 noundef %5871, ptr noundef nonnull @.str.4) #13
  %5873 = load i32, ptr %285, align 4, !tbaa !9
  %5874 = call ptr @strerror(i32 noundef %5873) #13
  %5875 = load i32, ptr %285, align 4, !tbaa !9
  %5876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5867, ptr noundef nonnull %.str.5.sink2549, i32 noundef %5868, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %5870, ptr noundef %5872, ptr noundef %5874, i32 noundef %5875) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5877:                                             ; preds = %5850
  %5878 = load i32, ptr @test_count, align 4, !tbaa !9
  %5879 = add nsw i32 %5878, 1
  store i32 %5879, ptr @test_count, align 4, !tbaa !9
  %5880 = load i32, ptr %231, align 4, !tbaa !9
  %5881 = icmp eq i32 %5880, 0
  br i1 %5881, label %5882, label %5904

5882:                                             ; preds = %5877
  %5883 = load i32, ptr %285, align 4, !tbaa !9
  %5884 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5885 = call i32 @s2n_print_stacktrace(ptr noundef %5884) #13
  %5886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5887 = trunc nuw i8 %5886 to i1
  br i1 %5887, label %5888, label %5892

5888:                                             ; preds = %5882
  %5889 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5890 = call i32 @fileno(ptr noundef %5889) #13
  %5891 = call i32 @isatty(i32 noundef %5890) #13
  %.not596 = icmp eq i32 %5891, 0
  br i1 %.not596, label %5892, label %5893

5892:                                             ; preds = %5888, %5882
  br label %5893

5893:                                             ; preds = %5888, %5892
  %.str.5.sink2558 = phi ptr [ @.str.5, %5892 ], [ @.str.2, %5888 ]
  store i32 %5883, ptr %285, align 4, !tbaa !9
  %5894 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5895 = load i32, ptr @test_count, align 4, !tbaa !9
  %5896 = load i32, ptr %231, align 4, !tbaa !9
  %5897 = call ptr @s2n_strerror(i32 noundef %5896, ptr noundef nonnull @.str.4) #13
  %5898 = load i32, ptr %231, align 4, !tbaa !9
  %5899 = call ptr @s2n_strerror_debug(i32 noundef %5898, ptr noundef nonnull @.str.4) #13
  %5900 = load i32, ptr %285, align 4, !tbaa !9
  %5901 = call ptr @strerror(i32 noundef %5900) #13
  %5902 = load i32, ptr %285, align 4, !tbaa !9
  %5903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5894, ptr noundef nonnull %.str.5.sink2558, i32 noundef %5895, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %5897, ptr noundef %5899, ptr noundef %5901, i32 noundef %5902) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5904:                                             ; preds = %5877
  %5905 = add nsw i32 %5878, 2
  store i32 %5905, ptr @test_count, align 4, !tbaa !9
  %5906 = call ptr @s2n_strerror_debug(i32 noundef %5880, ptr noundef nonnull @.str.4) #13
  %5907 = icmp eq ptr %5906, null
  br i1 %5907, label %5908, label %5930

5908:                                             ; preds = %5904
  %5909 = load i32, ptr %285, align 4, !tbaa !9
  %5910 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5911 = call i32 @s2n_print_stacktrace(ptr noundef %5910) #13
  %5912 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5913 = trunc nuw i8 %5912 to i1
  br i1 %5913, label %5914, label %5918

5914:                                             ; preds = %5908
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5916 = call i32 @fileno(ptr noundef %5915) #13
  %5917 = call i32 @isatty(i32 noundef %5916) #13
  %.not595 = icmp eq i32 %5917, 0
  br i1 %.not595, label %5918, label %5919

5918:                                             ; preds = %5914, %5908
  br label %5919

5919:                                             ; preds = %5914, %5918
  %.str.5.sink2567 = phi ptr [ @.str.5, %5918 ], [ @.str.2, %5914 ]
  store i32 %5909, ptr %285, align 4, !tbaa !9
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5921 = load i32, ptr @test_count, align 4, !tbaa !9
  %5922 = load i32, ptr %231, align 4, !tbaa !9
  %5923 = call ptr @s2n_strerror(i32 noundef %5922, ptr noundef nonnull @.str.4) #13
  %5924 = load i32, ptr %231, align 4, !tbaa !9
  %5925 = call ptr @s2n_strerror_debug(i32 noundef %5924, ptr noundef nonnull @.str.4) #13
  %5926 = load i32, ptr %285, align 4, !tbaa !9
  %5927 = call ptr @strerror(i32 noundef %5926) #13
  %5928 = load i32, ptr %285, align 4, !tbaa !9
  %5929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5920, ptr noundef nonnull %.str.5.sink2567, i32 noundef %5921, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %5923, ptr noundef %5925, ptr noundef %5927, i32 noundef %5928) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5930:                                             ; preds = %5904
  store i32 0, ptr %231, align 4, !tbaa !9
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %285, align 4, !tbaa !9
  %5931 = load i32, ptr @test_count, align 4, !tbaa !9
  %5932 = add nsw i32 %5931, 1
  store i32 %5932, ptr @test_count, align 4, !tbaa !9
  %5933 = call i32 @s2n_stuffer_init(ptr noundef nonnull %8, ptr noundef nonnull %11) #13
  %5934 = icmp eq i32 %5933, -1
  br i1 %5934, label %5935, label %.preheader

5935:                                             ; preds = %5930
  %5936 = load i32, ptr %285, align 4, !tbaa !9
  %5937 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5938 = call i32 @s2n_print_stacktrace(ptr noundef %5937) #13
  %5939 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5940 = trunc nuw i8 %5939 to i1
  br i1 %5940, label %5941, label %5945

5941:                                             ; preds = %5935
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5943 = call i32 @fileno(ptr noundef %5942) #13
  %5944 = call i32 @isatty(i32 noundef %5943) #13
  %.not594 = icmp eq i32 %5944, 0
  br i1 %.not594, label %5945, label %5946

5945:                                             ; preds = %5941, %5935
  br label %5946

5946:                                             ; preds = %5941, %5945
  %.str.5.sink2576 = phi ptr [ @.str.5, %5945 ], [ @.str.2, %5941 ]
  store i32 %5936, ptr %285, align 4, !tbaa !9
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5948 = load i32, ptr @test_count, align 4, !tbaa !9
  %5949 = load i32, ptr %231, align 4, !tbaa !9
  %5950 = call ptr @s2n_strerror(i32 noundef %5949, ptr noundef nonnull @.str.4) #13
  %5951 = load i32, ptr %231, align 4, !tbaa !9
  %5952 = call ptr @s2n_strerror_debug(i32 noundef %5951, ptr noundef nonnull @.str.4) #13
  %5953 = load i32, ptr %285, align 4, !tbaa !9
  %5954 = call ptr @strerror(i32 noundef %5953) #13
  %5955 = load i32, ptr %285, align 4, !tbaa !9
  %5956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5947, ptr noundef nonnull %.str.5.sink2576, i32 noundef %5948, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 327, ptr noundef %5950, ptr noundef %5952, ptr noundef %5954, i32 noundef %5955) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5957:                                             ; preds = %.preheader
  %indvars.iv.next751 = add nuw nsw i64 %indvars.iv750, 1
  %exitcond753.not = icmp eq i64 %indvars.iv.next751, 64
  br i1 %exitcond753.not, label %5958, label %.preheader, !llvm.loop !22

5958:                                             ; preds = %5957
  %5959 = load i32, ptr @test_count, align 4, !tbaa !9
  %5960 = add nsw i32 %5959, 1
  store i32 %5960, ptr @test_count, align 4, !tbaa !9
  %bcmp586 = call i32 @bcmp(ptr noundef nonnull dereferenceable(128) %4, ptr noundef nonnull dereferenceable(128) @.str.66, i64 128)
  %5961 = icmp eq i32 %bcmp586, 0
  br i1 %5961, label %6012, label %5990

.preheader:                                       ; preds = %5930, %5957
  %indvars.iv750 = phi i64 [ %indvars.iv.next751, %5957 ], [ 0, %5930 ]
  %5962 = load i32, ptr @test_count, align 4, !tbaa !9
  %5963 = add nsw i32 %5962, 1
  store i32 %5963, ptr @test_count, align 4, !tbaa !9
  %5964 = getelementptr inbounds [64 x i8], ptr %3, i64 0, i64 %indvars.iv750
  %5965 = load i8, ptr %5964, align 1, !tbaa !17
  %5966 = call i32 @s2n_stuffer_write_uint8_hex(ptr noundef nonnull %8, i8 noundef zeroext %5965) #13
  %5967 = call zeroext i1 @s2n_result_is_ok(i32 %5966)
  br i1 %5967, label %5957, label %5968

5968:                                             ; preds = %.preheader
  %5969 = load i32, ptr %285, align 4, !tbaa !9
  %5970 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5971 = call i32 @s2n_print_stacktrace(ptr noundef %5970) #13
  %5972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5973 = trunc nuw i8 %5972 to i1
  br i1 %5973, label %5974, label %5978

5974:                                             ; preds = %5968
  %5975 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5976 = call i32 @fileno(ptr noundef %5975) #13
  %5977 = call i32 @isatty(i32 noundef %5976) #13
  %.not593 = icmp eq i32 %5977, 0
  br i1 %.not593, label %5978, label %5979

5978:                                             ; preds = %5974, %5968
  br label %5979

5979:                                             ; preds = %5974, %5978
  %.str.5.sink2585 = phi ptr [ @.str.5, %5978 ], [ @.str.2, %5974 ]
  store i32 %5969, ptr %285, align 4, !tbaa !9
  %5980 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5981 = load i32, ptr @test_count, align 4, !tbaa !9
  %5982 = load i32, ptr %231, align 4, !tbaa !9
  %5983 = call ptr @s2n_strerror(i32 noundef %5982, ptr noundef nonnull @.str.4) #13
  %5984 = load i32, ptr %231, align 4, !tbaa !9
  %5985 = call ptr @s2n_strerror_debug(i32 noundef %5984, ptr noundef nonnull @.str.4) #13
  %5986 = load i32, ptr %285, align 4, !tbaa !9
  %5987 = call ptr @strerror(i32 noundef %5986) #13
  %5988 = load i32, ptr %285, align 4, !tbaa !9
  %5989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5980, ptr noundef nonnull %.str.5.sink2585, i32 noundef %5981, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %5983, ptr noundef %5985, ptr noundef %5987, i32 noundef %5988) #15
  call void @exit(i32 noundef 1) #16
  unreachable

5990:                                             ; preds = %5958
  %5991 = load i32, ptr %285, align 4, !tbaa !9
  %5992 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5993 = call i32 @s2n_print_stacktrace(ptr noundef %5992) #13
  %5994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %5995 = trunc nuw i8 %5994 to i1
  br i1 %5995, label %5996, label %6000

5996:                                             ; preds = %5990
  %5997 = load ptr, ptr @stderr, align 8, !tbaa !11
  %5998 = call i32 @fileno(ptr noundef %5997) #13
  %5999 = call i32 @isatty(i32 noundef %5998) #13
  %.not587 = icmp eq i32 %5999, 0
  br i1 %.not587, label %6000, label %6001

6000:                                             ; preds = %5996, %5990
  br label %6001

6001:                                             ; preds = %5996, %6000
  %.str.5.sink2594 = phi ptr [ @.str.5, %6000 ], [ @.str.2, %5996 ]
  store i32 %5991, ptr %285, align 4, !tbaa !9
  %6002 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6003 = load i32, ptr @test_count, align 4, !tbaa !9
  %6004 = load i32, ptr %231, align 4, !tbaa !9
  %6005 = call ptr @s2n_strerror(i32 noundef %6004, ptr noundef nonnull @.str.4) #13
  %6006 = load i32, ptr %231, align 4, !tbaa !9
  %6007 = call ptr @s2n_strerror_debug(i32 noundef %6006, ptr noundef nonnull @.str.4) #13
  %6008 = load i32, ptr %285, align 4, !tbaa !9
  %6009 = call ptr @strerror(i32 noundef %6008) #13
  %6010 = load i32, ptr %285, align 4, !tbaa !9
  %6011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6002, ptr noundef nonnull %.str.5.sink2594, i32 noundef %6003, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %6005, ptr noundef %6007, ptr noundef %6009, i32 noundef %6010) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6012:                                             ; preds = %5958
  %6013 = call i32 @s2n_cleanup() #13
  %6014 = icmp eq i32 %6013, -1
  br i1 %6014, label %6015, label %6037

6015:                                             ; preds = %6012
  %6016 = load i32, ptr %285, align 4, !tbaa !9
  %6017 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6018 = call i32 @s2n_print_stacktrace(ptr noundef %6017) #13
  %6019 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6020 = trunc nuw i8 %6019 to i1
  br i1 %6020, label %6021, label %6025

6021:                                             ; preds = %6015
  %6022 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6023 = call i32 @fileno(ptr noundef %6022) #13
  %6024 = call i32 @isatty(i32 noundef %6023) #13
  %.not592 = icmp eq i32 %6024, 0
  br i1 %.not592, label %6025, label %6026

6025:                                             ; preds = %6021, %6015
  br label %6026

6026:                                             ; preds = %6021, %6025
  %.str.5.sink2603 = phi ptr [ @.str.5, %6025 ], [ @.str.2, %6021 ]
  store i32 %6016, ptr %285, align 4, !tbaa !9
  %6027 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6028 = load i32, ptr @test_count, align 4, !tbaa !9
  %6029 = load i32, ptr %231, align 4, !tbaa !9
  %6030 = call ptr @s2n_strerror(i32 noundef %6029, ptr noundef nonnull @.str.4) #13
  %6031 = load i32, ptr %231, align 4, !tbaa !9
  %6032 = call ptr @s2n_strerror_debug(i32 noundef %6031, ptr noundef nonnull @.str.4) #13
  %6033 = load i32, ptr %285, align 4, !tbaa !9
  %6034 = call ptr @strerror(i32 noundef %6033) #13
  %6035 = load i32, ptr %285, align 4, !tbaa !9
  %6036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6027, ptr noundef nonnull %.str.5.sink2603, i32 noundef %6028, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %6030, ptr noundef %6032, ptr noundef %6034, i32 noundef %6035) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6037:                                             ; preds = %6012
  %6038 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %6039 = icmp eq i32 %6038, -1
  br i1 %6039, label %6040, label %6062

6040:                                             ; preds = %6037
  %6041 = load i32, ptr %285, align 4, !tbaa !9
  %6042 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6043 = call i32 @s2n_print_stacktrace(ptr noundef %6042) #13
  %6044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6045 = trunc nuw i8 %6044 to i1
  br i1 %6045, label %6046, label %6050

6046:                                             ; preds = %6040
  %6047 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6048 = call i32 @fileno(ptr noundef %6047) #13
  %6049 = call i32 @isatty(i32 noundef %6048) #13
  %.not591 = icmp eq i32 %6049, 0
  br i1 %.not591, label %6050, label %6051

6050:                                             ; preds = %6046, %6040
  br label %6051

6051:                                             ; preds = %6046, %6050
  %.str.5.sink2612 = phi ptr [ @.str.5, %6050 ], [ @.str.2, %6046 ]
  store i32 %6041, ptr %285, align 4, !tbaa !9
  %6052 = load ptr, ptr @stderr, align 8, !tbaa !11
  %6053 = load i32, ptr @test_count, align 4, !tbaa !9
  %6054 = load i32, ptr %231, align 4, !tbaa !9
  %6055 = call ptr @s2n_strerror(i32 noundef %6054, ptr noundef nonnull @.str.4) #13
  %6056 = load i32, ptr %231, align 4, !tbaa !9
  %6057 = call ptr @s2n_strerror_debug(i32 noundef %6056, ptr noundef nonnull @.str.4) #13
  %6058 = load i32, ptr %285, align 4, !tbaa !9
  %6059 = call ptr @strerror(i32 noundef %6058) #13
  %6060 = load i32, ptr %285, align 4, !tbaa !9
  %6061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6052, ptr noundef nonnull %.str.5.sink2612, i32 noundef %6053, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 335, ptr noundef %6055, ptr noundef %6057, ptr noundef %6059, i32 noundef %6060) #15
  call void @exit(i32 noundef 1) #16
  unreachable

6062:                                             ; preds = %6037
  %6063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !13, !range !15, !noundef !16
  %6064 = trunc nuw i8 %6063 to i1
  br i1 %6064, label %6065, label %6076

6065:                                             ; preds = %6062
  %6066 = load ptr, ptr @stdout, align 8, !tbaa !11
  %6067 = call i32 @fileno(ptr noundef %6066) #13
  %6068 = call i32 @isatty(i32 noundef %6067) #13
  %.not588 = icmp eq i32 %6068, 0
  br i1 %.not588, label %6076, label %6069

6069:                                             ; preds = %6065
  %6070 = load i32, ptr @test_count, align 4, !tbaa !9
  %.not590 = icmp eq i32 %6070, 0
  %6071 = load ptr, ptr @stdout, align 8, !tbaa !11
  br i1 %.not590, label %6074, label %6072

6072:                                             ; preds = %6069
  %6073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6071, ptr noundef nonnull @.str.70, i32 noundef %6070) #13
  br label %6083

6074:                                             ; preds = %6069
  %6075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6071, ptr noundef nonnull @.str.71) #13
  br label %6083

6076:                                             ; preds = %6065, %6062
  %6077 = load i32, ptr @test_count, align 4, !tbaa !9
  %.not589 = icmp eq i32 %6077, 0
  %6078 = load ptr, ptr @stdout, align 8, !tbaa !11
  br i1 %.not589, label %6081, label %6079

6079:                                             ; preds = %6076
  %6080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef nonnull @.str.72, i32 noundef %6077) #13
  br label %6083

6081:                                             ; preds = %6076
  %6082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6078, ptr noundef nonnull @.str.73) #13
  br label %6083

6083:                                             ; preds = %6074, %6072, %6081, %6079, %5421
  %.1 = phi i32 [ -1, %5421 ], [ 0, %6079 ], [ 0, %6081 ], [ 0, %6072 ], [ 0, %6074 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %18) #13
  br label %6084

6084:                                             ; preds = %5338, %4880, %6083
  %.2 = phi i32 [ %.1, %6083 ], [ -1, %4880 ], [ -1, %5338 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %17) #13
  br label %6085

6085:                                             ; preds = %4797, %4339, %6084
  %.3 = phi i32 [ %.2, %6084 ], [ -1, %4339 ], [ -1, %4797 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #13
  br label %6086

6086:                                             ; preds = %4230, %3639, %6085
  %.4 = phi i32 [ %.3, %6085 ], [ -1, %3639 ], [ -1, %4230 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %15) #13
  br label %6087

6087:                                             ; preds = %3556, %1026, %6086
  %.5 = phi i32 [ %.4, %6086 ], [ -1, %1026 ], [ -1, %3556 ]
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %14) #13
  br label %6088

6088:                                             ; preds = %.thread, %284, %168, %6087
  %.6 = phi i32 [ %.5, %6087 ], [ -1, %168 ], [ -1, %284 ], [ -1, %.thread ]
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %12) #13
  br label %6089

6089:                                             ; preds = %2, %6088
  %.7 = phi i32 [ %.6, %6088 ], [ -1, %2 ]
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 56, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 10, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 14, ptr nonnull %5) #13
  call void @llvm.lifetime.end.p0(i64 128, ptr nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 64, ptr nonnull %3) #13
  ret i32 %.7
}

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

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #3

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #5

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #4

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #7

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #5

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #8

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #7

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #9

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #4

declare zeroext i1 @s2n_libcrypto_is_awslc() local_unnamed_addr #4

declare ptr @s2n_hash_alg_to_evp_md(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_hash_new(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hash_is_ready_for_input(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hash_get_currently_in_hash_total(ptr noundef, ptr noundef) local_unnamed_addr #4

declare void @s2n_debug_info_reset() local_unnamed_addr #4

declare zeroext i1 @s2n_hash_is_available(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_hash_digest_size(i32 noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hash_init(ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_hash_update(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #10

declare i32 @s2n_hash_digest(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #4

declare i32 @s2n_stuffer_init(ptr noundef, ptr noundef) local_unnamed_addr #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #11

declare i32 @s2n_stuffer_write_uint8_hex(ptr noundef, i8 noundef zeroext) local_unnamed_addr #4

declare i32 @s2n_hash_reset(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hash_copy(ptr noundef, ptr noundef) local_unnamed_addr #4

declare i32 @s2n_hash_free(ptr noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #12

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 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #2 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #3 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #4 = { "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 = { 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 #6 = { 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 #7 = { 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 nosync nounwind speculatable willreturn memory(none) }
attributes #9 = { 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 #10 = { mustprogress nofree nounwind willreturn memory(argmem: read) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { 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 #12 = { nofree nounwind willreturn memory(argmem: read) }
attributes #13 = { nounwind }
attributes #14 = { nounwind willreturn memory(none) }
attributes #15 = { cold nounwind }
attributes #16 = { noreturn nounwind }
attributes #17 = { nounwind willreturn memory(read) }

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

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


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,JumpThreadingPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass