; LLVM IR from aws/s2n-tls :: tests/unit (s2n_blob_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_blob = type { ptr, i32, i32, i8 }
%struct.s2n_result = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [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 [64 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.b1 = external hidden unnamed_addr constant %struct.s2n_blob, align 8
@.str.12 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [42 x i8], align 1
@__const.main.hello_world = external hidden unnamed_addr constant [12 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [33 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [80 x i8], align 1
@__const.main.hello = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.world = external hidden unnamed_addr constant [6 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca %struct.s2n_result, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca %struct.s2n_blob, align 8
  %15 = alloca %struct.s2n_result, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca %struct.s2n_blob, align 8
  %20 = alloca i32, align 4
  %21 = alloca %struct.s2n_result, align 4
  %22 = alloca i32, align 4
  %23 = alloca [12 x i8], align 1
  %24 = alloca %struct.s2n_blob, align 8
  %25 = alloca i32, align 4
  %26 = alloca %struct.s2n_result, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca %struct.s2n_blob, align 8
  %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 %struct.s2n_blob, align 8
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca %struct.s2n_blob, align 8
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca %struct.s2n_blob, align 8
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca %struct.s2n_blob, align 8
  %56 = alloca [12 x i8], align 1
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i64, align 8
  %60 = alloca i32, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca %struct.s2n_blob, align 8
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca %struct.s2n_blob, align 8
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca i32, align 4
  %72 = alloca %struct.s2n_blob, align 8
  %73 = alloca [7 x i8], align 1
  %74 = alloca [6 x i8], align 1
  %75 = alloca i32, align 4
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %81

81:                                               ; preds = %2
  br label %82

82:                                               ; preds = %81
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %83 = load ptr, ptr @stdout, align 8, !tbaa !9
  %84 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %83, ptr noundef @.str, ptr noundef @.str.1) #11
  %85 = load ptr, ptr @stdout, align 8, !tbaa !9
  %86 = call i32 @fflush(ptr noundef %85)
  br label %87

87:                                               ; preds = %82
  %88 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %89 = icmp eq i32 %88, -1
  br i1 %89, label %90, label %141

90:                                               ; preds = %87
  br label %91

91:                                               ; preds = %90
  br label %92

92:                                               ; preds = %91
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %93 = call ptr @__errno_location() #12
  %94 = load i32, ptr %93, align 4, !tbaa !5
  store i32 %94, ptr %6, align 4, !tbaa !5
  %95 = load ptr, ptr @stderr, align 8, !tbaa !9
  %96 = call i32 @s2n_print_stacktrace(ptr noundef %95)
  %97 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %98 = trunc i8 %97 to i1
  br i1 %98, label %99, label %121

99:                                               ; preds = %92
  %100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %101 = call i32 @fileno(ptr noundef %100) #11
  %102 = call i32 @isatty(i32 noundef %101) #11
  %103 = icmp ne i32 %102, 0
  br i1 %103, label %104, label %121

104:                                              ; preds = %99
  %105 = load i32, ptr %6, align 4, !tbaa !5
  %106 = call ptr @__errno_location() #12
  store i32 %105, ptr %106, align 4, !tbaa !5
  %107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %108 = load i32, ptr @test_count, align 4, !tbaa !5
  %109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %110 = load i32, ptr %109, align 4, !tbaa !5
  %111 = call ptr @s2n_strerror(i32 noundef %110, ptr noundef @.str.4)
  %112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %113 = load i32, ptr %112, align 4, !tbaa !5
  %114 = call ptr @s2n_strerror_debug(i32 noundef %113, ptr noundef @.str.4)
  %115 = call ptr @__errno_location() #12
  %116 = load i32, ptr %115, align 4, !tbaa !5
  %117 = call ptr @strerror(i32 noundef %116) #11
  %118 = call ptr @__errno_location() #12
  %119 = load i32, ptr %118, align 4, !tbaa !5
  %120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %107, ptr noundef @.str.2, i32 noundef %108, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 24, ptr noundef %111, ptr noundef %114, ptr noundef %117, i32 noundef %119) #11
  br label %138

121:                                              ; preds = %99, %92
  %122 = load i32, ptr %6, align 4, !tbaa !5
  %123 = call ptr @__errno_location() #12
  store i32 %122, ptr %123, align 4, !tbaa !5
  %124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %125 = load i32, ptr @test_count, align 4, !tbaa !5
  %126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %127 = load i32, ptr %126, align 4, !tbaa !5
  %128 = call ptr @s2n_strerror(i32 noundef %127, ptr noundef @.str.4)
  %129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %130 = load i32, ptr %129, align 4, !tbaa !5
  %131 = call ptr @s2n_strerror_debug(i32 noundef %130, ptr noundef @.str.4)
  %132 = call ptr @__errno_location() #12
  %133 = load i32, ptr %132, align 4, !tbaa !5
  %134 = call ptr @strerror(i32 noundef %133) #11
  %135 = call ptr @__errno_location() #12
  %136 = load i32, ptr %135, align 4, !tbaa !5
  %137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %124, ptr noundef @.str.5, i32 noundef %125, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 24, ptr noundef %128, ptr noundef %131, ptr noundef %134, i32 noundef %136) #11
  br label %138

138:                                              ; preds = %121, %104
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #11
  br label %139

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

140:                                              ; No predecessors!
  br label %141

141:                                              ; preds = %140, %87
  br label %142

142:                                              ; preds = %141
  br label %143

143:                                              ; preds = %142
  %144 = load i32, ptr @test_count, align 4, !tbaa !5
  %145 = add nsw i32 %144, 1
  store i32 %145, ptr @test_count, align 4, !tbaa !5
  %146 = call i32 @s2n_enable_atexit()
  %147 = icmp eq i32 %146, -1
  br i1 %147, label %148, label %199

148:                                              ; preds = %143
  br label %149

149:                                              ; preds = %148
  br label %150

150:                                              ; preds = %149
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %151 = call ptr @__errno_location() #12
  %152 = load i32, ptr %151, align 4, !tbaa !5
  store i32 %152, ptr %7, align 4, !tbaa !5
  %153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %154 = call i32 @s2n_print_stacktrace(ptr noundef %153)
  %155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %156 = trunc i8 %155 to i1
  br i1 %156, label %157, label %179

157:                                              ; preds = %150
  %158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %159 = call i32 @fileno(ptr noundef %158) #11
  %160 = call i32 @isatty(i32 noundef %159) #11
  %161 = icmp ne i32 %160, 0
  br i1 %161, label %162, label %179

162:                                              ; preds = %157
  %163 = load i32, ptr %7, align 4, !tbaa !5
  %164 = call ptr @__errno_location() #12
  store i32 %163, ptr %164, align 4, !tbaa !5
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = load i32, ptr @test_count, align 4, !tbaa !5
  %167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = call ptr @s2n_strerror(i32 noundef %168, ptr noundef @.str.4)
  %170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %171 = load i32, ptr %170, align 4, !tbaa !5
  %172 = call ptr @s2n_strerror_debug(i32 noundef %171, ptr noundef @.str.4)
  %173 = call ptr @__errno_location() #12
  %174 = load i32, ptr %173, align 4, !tbaa !5
  %175 = call ptr @strerror(i32 noundef %174) #11
  %176 = call ptr @__errno_location() #12
  %177 = load i32, ptr %176, align 4, !tbaa !5
  %178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef @.str.2, i32 noundef %166, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 24, ptr noundef %169, ptr noundef %172, ptr noundef %175, i32 noundef %177) #11
  br label %196

179:                                              ; preds = %157, %150
  %180 = load i32, ptr %7, align 4, !tbaa !5
  %181 = call ptr @__errno_location() #12
  store i32 %180, ptr %181, align 4, !tbaa !5
  %182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %183 = load i32, ptr @test_count, align 4, !tbaa !5
  %184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %185 = load i32, ptr %184, align 4, !tbaa !5
  %186 = call ptr @s2n_strerror(i32 noundef %185, ptr noundef @.str.4)
  %187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %188 = load i32, ptr %187, align 4, !tbaa !5
  %189 = call ptr @s2n_strerror_debug(i32 noundef %188, ptr noundef @.str.4)
  %190 = call ptr @__errno_location() #12
  %191 = load i32, ptr %190, align 4, !tbaa !5
  %192 = call ptr @strerror(i32 noundef %191) #11
  %193 = call ptr @__errno_location() #12
  %194 = load i32, ptr %193, align 4, !tbaa !5
  %195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %182, ptr noundef @.str.5, i32 noundef %183, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 24, ptr noundef %186, ptr noundef %189, ptr noundef %192, i32 noundef %194) #11
  br label %196

196:                                              ; preds = %179, %162
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %197

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

198:                                              ; No predecessors!
  br label %199

199:                                              ; preds = %198, %143
  br label %200

200:                                              ; preds = %199
  br label %201

201:                                              ; preds = %200
  br label %202

202:                                              ; preds = %201
  %203 = call i32 @s2n_init()
  %204 = icmp eq i32 %203, -1
  br i1 %204, label %205, label %256

205:                                              ; preds = %202
  br label %206

206:                                              ; preds = %205
  br label %207

207:                                              ; preds = %206
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %208 = call ptr @__errno_location() #12
  %209 = load i32, ptr %208, align 4, !tbaa !5
  store i32 %209, ptr %8, align 4, !tbaa !5
  %210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %211 = call i32 @s2n_print_stacktrace(ptr noundef %210)
  %212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %213 = trunc i8 %212 to i1
  br i1 %213, label %214, label %236

214:                                              ; preds = %207
  %215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %216 = call i32 @fileno(ptr noundef %215) #11
  %217 = call i32 @isatty(i32 noundef %216) #11
  %218 = icmp ne i32 %217, 0
  br i1 %218, label %219, label %236

219:                                              ; preds = %214
  %220 = load i32, ptr %8, align 4, !tbaa !5
  %221 = call ptr @__errno_location() #12
  store i32 %220, ptr %221, align 4, !tbaa !5
  %222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %223 = load i32, ptr @test_count, align 4, !tbaa !5
  %224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %225 = load i32, ptr %224, align 4, !tbaa !5
  %226 = call ptr @s2n_strerror(i32 noundef %225, ptr noundef @.str.4)
  %227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %228 = load i32, ptr %227, align 4, !tbaa !5
  %229 = call ptr @s2n_strerror_debug(i32 noundef %228, ptr noundef @.str.4)
  %230 = call ptr @__errno_location() #12
  %231 = load i32, ptr %230, align 4, !tbaa !5
  %232 = call ptr @strerror(i32 noundef %231) #11
  %233 = call ptr @__errno_location() #12
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %222, ptr noundef @.str.2, i32 noundef %223, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 24, ptr noundef %226, ptr noundef %229, ptr noundef %232, i32 noundef %234) #11
  br label %253

236:                                              ; preds = %214, %207
  %237 = load i32, ptr %8, align 4, !tbaa !5
  %238 = call ptr @__errno_location() #12
  store i32 %237, ptr %238, align 4, !tbaa !5
  %239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %240 = load i32, ptr @test_count, align 4, !tbaa !5
  %241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = call ptr @s2n_strerror(i32 noundef %242, ptr noundef @.str.4)
  %244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = call ptr @s2n_strerror_debug(i32 noundef %245, ptr noundef @.str.4)
  %247 = call ptr @__errno_location() #12
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call ptr @strerror(i32 noundef %248) #11
  %250 = call ptr @__errno_location() #12
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %239, ptr noundef @.str.5, i32 noundef %240, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 24, ptr noundef %243, ptr noundef %246, ptr noundef %249, i32 noundef %251) #11
  br label %253

253:                                              ; preds = %236, %219
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %254

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

255:                                              ; No predecessors!
  br label %256

256:                                              ; preds = %255, %202
  br label %257

257:                                              ; preds = %256
  br label %258

258:                                              ; preds = %257
  br label %259

259:                                              ; preds = %258
  %260 = load i32, ptr @test_count, align 4, !tbaa !5
  %261 = add nsw i32 %260, 1
  store i32 %261, ptr @test_count, align 4, !tbaa !5
  %262 = call i32 (...) @s2n_disable_tls13_in_test()
  %263 = icmp eq i32 %262, -1
  br i1 %263, label %264, label %315

264:                                              ; preds = %259
  br label %265

265:                                              ; preds = %264
  br label %266

266:                                              ; preds = %265
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #11
  %267 = call ptr @__errno_location() #12
  %268 = load i32, ptr %267, align 4, !tbaa !5
  store i32 %268, ptr %9, 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 !11, !range !13, !noundef !14
  %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 %9, 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.8, ptr noundef @.str.1, i32 noundef 25, ptr noundef %285, ptr noundef %288, ptr noundef %291, i32 noundef %293) #11
  br label %312

295:                                              ; preds = %273, %266
  %296 = load i32, ptr %9, 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.8, ptr noundef @.str.1, i32 noundef 25, 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 %9) #11
  br label %313

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

314:                                              ; No predecessors!
  br label %315

315:                                              ; preds = %314, %259
  br label %316

316:                                              ; preds = %315
  br label %317

317:                                              ; preds = %316
  br label %318

318:                                              ; preds = %317
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr @test_count, align 4, !tbaa !5
  %321 = call i32 @s2n_blob_validate(ptr noundef null)
  %322 = getelementptr inbounds %struct.s2n_result, ptr %10, i32 0, i32 0
  store i32 %321, ptr %322, align 4
  %323 = getelementptr inbounds %struct.s2n_result, ptr %10, i32 0, i32 0
  %324 = load i32, ptr %323, align 4
  %325 = call zeroext i1 @s2n_result_is_error(i32 %324)
  br i1 %325, label %377, label %326

326:                                              ; preds = %318
  br label %327

327:                                              ; preds = %326
  br label %328

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

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

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

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

374:                                              ; preds = %357, %340
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #11
  br label %375

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

376:                                              ; No predecessors!
  br label %377

377:                                              ; preds = %376, %318
  br label %378

378:                                              ; preds = %377
  br label %379

379:                                              ; preds = %378
  %380 = load i32, ptr @test_count, align 4, !tbaa !5
  %381 = add nsw i32 %380, 1
  store i32 %381, ptr @test_count, align 4, !tbaa !5
  %382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = icmp eq i32 %383, 0
  br i1 %384, label %385, label %436

385:                                              ; preds = %379
  br label %386

386:                                              ; preds = %385
  br label %387

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

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

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

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

433:                                              ; preds = %416, %399
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #11
  br label %434

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

435:                                              ; No predecessors!
  br label %436

436:                                              ; preds = %435, %379
  br label %437

437:                                              ; preds = %436
  br label %438

438:                                              ; preds = %437
  %439 = load i32, ptr @test_count, align 4, !tbaa !5
  %440 = add nsw i32 %439, 1
  store i32 %440, ptr @test_count, align 4, !tbaa !5
  %441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %442 = load i32, ptr %441, align 4, !tbaa !5
  %443 = call ptr @s2n_strerror_debug(i32 noundef %442, ptr noundef @.str.4)
  %444 = icmp eq ptr %443, null
  br i1 %444, label %445, label %496

445:                                              ; preds = %438
  br label %446

446:                                              ; preds = %445
  br label %447

447:                                              ; preds = %446
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #11
  %448 = call ptr @__errno_location() #12
  %449 = load i32, ptr %448, align 4, !tbaa !5
  store i32 %449, ptr %13, align 4, !tbaa !5
  %450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %451 = call i32 @s2n_print_stacktrace(ptr noundef %450)
  %452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %453 = trunc i8 %452 to i1
  br i1 %453, label %454, label %476

454:                                              ; preds = %447
  %455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %456 = call i32 @fileno(ptr noundef %455) #11
  %457 = call i32 @isatty(i32 noundef %456) #11
  %458 = icmp ne i32 %457, 0
  br i1 %458, label %459, label %476

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

476:                                              ; preds = %454, %447
  %477 = load i32, ptr %13, align 4, !tbaa !5
  %478 = call ptr @__errno_location() #12
  store i32 %477, ptr %478, align 4, !tbaa !5
  %479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %480 = load i32, ptr @test_count, align 4, !tbaa !5
  %481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %482 = load i32, ptr %481, align 4, !tbaa !5
  %483 = call ptr @s2n_strerror(i32 noundef %482, ptr noundef @.str.4)
  %484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = call ptr @s2n_strerror_debug(i32 noundef %485, ptr noundef @.str.4)
  %487 = call ptr @__errno_location() #12
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @strerror(i32 noundef %488) #11
  %490 = call ptr @__errno_location() #12
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %479, ptr noundef @.str.5, i32 noundef %480, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 28, ptr noundef %483, ptr noundef %486, ptr noundef %489, i32 noundef %491) #11
  br label %493

493:                                              ; preds = %476, %459
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #11
  br label %494

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

495:                                              ; No predecessors!
  br label %496

496:                                              ; preds = %495, %438
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  %499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %499, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %500 = call ptr @__errno_location() #12
  store i32 0, ptr %500, align 4, !tbaa !5
  br label %501

501:                                              ; preds = %498
  br label %502

502:                                              ; preds = %501
  call void @llvm.lifetime.start.p0(i64 24, ptr %14) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 @__const.main.b1, i64 24, i1 false)
  br label %503

503:                                              ; preds = %502
  br label %504

504:                                              ; preds = %503
  %505 = load i32, ptr @test_count, align 4, !tbaa !5
  %506 = add nsw i32 %505, 1
  store i32 %506, ptr @test_count, align 4, !tbaa !5
  %507 = call i32 @s2n_blob_validate(ptr noundef %14)
  %508 = getelementptr inbounds %struct.s2n_result, ptr %15, i32 0, i32 0
  store i32 %507, ptr %508, align 4
  %509 = getelementptr inbounds %struct.s2n_result, ptr %15, i32 0, i32 0
  %510 = load i32, ptr %509, align 4
  %511 = call zeroext i1 @s2n_result_is_error(i32 %510)
  br i1 %511, label %565, label %512

512:                                              ; preds = %504
  br label %513

513:                                              ; preds = %512
  br label %514

514:                                              ; preds = %513
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %515 = call ptr @__errno_location() #12
  %516 = load i32, ptr %515, align 4, !tbaa !5
  store i32 %516, ptr %16, 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 !11, !range !13, !noundef !14
  %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 %16, 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.12, ptr noundef @.str.1, i32 noundef 33, ptr noundef %533, ptr noundef %536, ptr noundef %539, i32 noundef %541) #11
  br label %560

543:                                              ; preds = %521, %514
  %544 = load i32, ptr %16, 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.12, ptr noundef @.str.1, i32 noundef 33, 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 %16) #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, %504
  br label %566

566:                                              ; preds = %565
  br label %567

567:                                              ; preds = %566
  br label %568

568:                                              ; preds = %567
  %569 = load i32, ptr @test_count, align 4, !tbaa !5
  %570 = add nsw i32 %569, 1
  store i32 %570, ptr @test_count, align 4, !tbaa !5
  %571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %572 = load i32, ptr %571, align 4, !tbaa !5
  %573 = icmp eq i32 %572, 0
  br i1 %573, label %574, label %627

574:                                              ; preds = %568
  br label %575

575:                                              ; preds = %574
  br label %576

576:                                              ; preds = %575
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #11
  %577 = call ptr @__errno_location() #12
  %578 = load i32, ptr %577, align 4, !tbaa !5
  store i32 %578, ptr %17, align 4, !tbaa !5
  %579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %580 = call i32 @s2n_print_stacktrace(ptr noundef %579)
  %581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %582 = trunc i8 %581 to i1
  br i1 %582, label %583, label %605

583:                                              ; preds = %576
  %584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %585 = call i32 @fileno(ptr noundef %584) #11
  %586 = call i32 @isatty(i32 noundef %585) #11
  %587 = icmp ne i32 %586, 0
  br i1 %587, label %588, label %605

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

605:                                              ; preds = %583, %576
  %606 = load i32, ptr %17, align 4, !tbaa !5
  %607 = call ptr @__errno_location() #12
  store i32 %606, ptr %607, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @s2n_strerror(i32 noundef %611, ptr noundef @.str.4)
  %613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call ptr @s2n_strerror_debug(i32 noundef %614, ptr noundef @.str.4)
  %616 = call ptr @__errno_location() #12
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @strerror(i32 noundef %617) #11
  %619 = call ptr @__errno_location() #12
  %620 = load i32, ptr %619, align 4, !tbaa !5
  %621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef @.str.5, i32 noundef %609, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 33, ptr noundef %612, ptr noundef %615, ptr noundef %618, i32 noundef %620) #11
  br label %622

622:                                              ; preds = %605, %588
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #11
  br label %623

623:                                              ; preds = %622
  br label %624

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

625:                                              ; No predecessors!
  br label %626

626:                                              ; preds = %625
  br label %627

627:                                              ; preds = %626, %568
  br label %628

628:                                              ; preds = %627
  br label %629

629:                                              ; preds = %628
  br label %630

630:                                              ; preds = %629
  %631 = load i32, ptr @test_count, align 4, !tbaa !5
  %632 = add nsw i32 %631, 1
  store i32 %632, ptr @test_count, align 4, !tbaa !5
  %633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %634 = load i32, ptr %633, align 4, !tbaa !5
  %635 = call ptr @s2n_strerror_debug(i32 noundef %634, ptr noundef @.str.4)
  %636 = icmp eq ptr %635, null
  br i1 %636, label %637, label %690

637:                                              ; preds = %630
  br label %638

638:                                              ; preds = %637
  br label %639

639:                                              ; preds = %638
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %640 = call ptr @__errno_location() #12
  %641 = load i32, ptr %640, align 4, !tbaa !5
  store i32 %641, ptr %18, align 4, !tbaa !5
  %642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %643 = call i32 @s2n_print_stacktrace(ptr noundef %642)
  %644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %645 = trunc i8 %644 to i1
  br i1 %645, label %646, label %668

646:                                              ; preds = %639
  %647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %648 = call i32 @fileno(ptr noundef %647) #11
  %649 = call i32 @isatty(i32 noundef %648) #11
  %650 = icmp ne i32 %649, 0
  br i1 %650, label %651, label %668

651:                                              ; preds = %646
  %652 = load i32, ptr %18, align 4, !tbaa !5
  %653 = call ptr @__errno_location() #12
  store i32 %652, ptr %653, align 4, !tbaa !5
  %654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %655 = load i32, ptr @test_count, align 4, !tbaa !5
  %656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %657 = load i32, ptr %656, align 4, !tbaa !5
  %658 = call ptr @s2n_strerror(i32 noundef %657, ptr noundef @.str.4)
  %659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %660 = load i32, ptr %659, align 4, !tbaa !5
  %661 = call ptr @s2n_strerror_debug(i32 noundef %660, ptr noundef @.str.4)
  %662 = call ptr @__errno_location() #12
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call ptr @strerror(i32 noundef %663) #11
  %665 = call ptr @__errno_location() #12
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %654, ptr noundef @.str.2, i32 noundef %655, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 33, ptr noundef %658, ptr noundef %661, ptr noundef %664, i32 noundef %666) #11
  br label %685

668:                                              ; preds = %646, %639
  %669 = load i32, ptr %18, align 4, !tbaa !5
  %670 = call ptr @__errno_location() #12
  store i32 %669, ptr %670, align 4, !tbaa !5
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %674 = load i32, ptr %673, align 4, !tbaa !5
  %675 = call ptr @s2n_strerror(i32 noundef %674, ptr noundef @.str.4)
  %676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %677 = load i32, ptr %676, align 4, !tbaa !5
  %678 = call ptr @s2n_strerror_debug(i32 noundef %677, ptr noundef @.str.4)
  %679 = call ptr @__errno_location() #12
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @strerror(i32 noundef %680) #11
  %682 = call ptr @__errno_location() #12
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %671, ptr noundef @.str.5, i32 noundef %672, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 33, ptr noundef %675, ptr noundef %678, ptr noundef %681, i32 noundef %683) #11
  br label %685

685:                                              ; preds = %668, %651
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %686

686:                                              ; preds = %685
  br label %687

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

688:                                              ; No predecessors!
  br label %689

689:                                              ; preds = %688
  br label %690

690:                                              ; preds = %689, %630
  br label %691

691:                                              ; preds = %690
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692
  %694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %694, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %695 = call ptr @__errno_location() #12
  store i32 0, ptr %695, align 4, !tbaa !5
  br label %696

696:                                              ; preds = %693
  br label %697

697:                                              ; preds = %696
  br label %698

698:                                              ; preds = %697
  br label %699

699:                                              ; preds = %698
  call void @llvm.lifetime.start.p0(i64 24, ptr %19) #11
  call void @llvm.memset.p0.i64(ptr align 8 %19, i8 0, i64 24, i1 false)
  br label %700

700:                                              ; preds = %699
  %701 = load i32, ptr @test_count, align 4, !tbaa !5
  %702 = add nsw i32 %701, 1
  store i32 %702, ptr @test_count, align 4, !tbaa !5
  %703 = call i32 @s2n_blob_init(ptr noundef %19, ptr noundef null, i32 noundef 0)
  %704 = icmp eq i32 %703, -1
  br i1 %704, label %705, label %758

705:                                              ; preds = %700
  br label %706

706:                                              ; preds = %705
  br label %707

707:                                              ; preds = %706
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #11
  %708 = call ptr @__errno_location() #12
  %709 = load i32, ptr %708, align 4, !tbaa !5
  store i32 %709, ptr %20, 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 !11, !range !13, !noundef !14
  %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 %20, 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.13, ptr noundef @.str.1, i32 noundef 38, ptr noundef %726, ptr noundef %729, ptr noundef %732, i32 noundef %734) #11
  br label %753

736:                                              ; preds = %714, %707
  %737 = load i32, ptr %20, 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.13, ptr noundef @.str.1, i32 noundef 38, 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 %20) #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, %700
  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 i32 @s2n_blob_validate(ptr noundef %19)
  %765 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  store i32 %764, ptr %765, align 4
  %766 = getelementptr inbounds %struct.s2n_result, ptr %21, i32 0, i32 0
  %767 = load i32, ptr %766, align 4
  %768 = call zeroext i1 @s2n_result_is_ok(i32 %767)
  br i1 %768, label %822, label %769

769:                                              ; preds = %761
  br label %770

770:                                              ; preds = %769
  br label %771

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

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

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

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

817:                                              ; preds = %800, %783
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %818

818:                                              ; preds = %817
  br label %819

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

820:                                              ; No predecessors!
  br label %821

821:                                              ; preds = %820
  br label %822

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

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823
  call void @llvm.lifetime.start.p0(i64 12, ptr %23) #11
  call void @llvm.lifetime.start.p0(i64 24, ptr %24) #11
  call void @llvm.memset.p0.i64(ptr align 8 %24, i8 0, i64 24, i1 false)
  br label %825

825:                                              ; preds = %824
  %826 = load i32, ptr @test_count, align 4, !tbaa !5
  %827 = add nsw i32 %826, 1
  store i32 %827, ptr @test_count, align 4, !tbaa !5
  %828 = getelementptr inbounds [12 x i8], ptr %23, i64 0, i64 0
  %829 = call i32 @s2n_blob_init(ptr noundef %24, ptr noundef %828, i32 noundef 12)
  %830 = icmp eq i32 %829, -1
  br i1 %830, label %831, label %884

831:                                              ; preds = %825
  br label %832

832:                                              ; preds = %831
  br label %833

833:                                              ; preds = %832
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #11
  %834 = call ptr @__errno_location() #12
  %835 = load i32, ptr %834, align 4, !tbaa !5
  store i32 %835, ptr %25, align 4, !tbaa !5
  %836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %837 = call i32 @s2n_print_stacktrace(ptr noundef %836)
  %838 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %839 = trunc i8 %838 to i1
  br i1 %839, label %840, label %862

840:                                              ; preds = %833
  %841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %842 = call i32 @fileno(ptr noundef %841) #11
  %843 = call i32 @isatty(i32 noundef %842) #11
  %844 = icmp ne i32 %843, 0
  br i1 %844, label %845, label %862

845:                                              ; preds = %840
  %846 = load i32, ptr %25, align 4, !tbaa !5
  %847 = call ptr @__errno_location() #12
  store i32 %846, ptr %847, align 4, !tbaa !5
  %848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %849 = load i32, ptr @test_count, align 4, !tbaa !5
  %850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %851 = load i32, ptr %850, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror(i32 noundef %851, ptr noundef @.str.4)
  %853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %854 = load i32, ptr %853, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef %854, ptr noundef @.str.4)
  %856 = call ptr @__errno_location() #12
  %857 = load i32, ptr %856, align 4, !tbaa !5
  %858 = call ptr @strerror(i32 noundef %857) #11
  %859 = call ptr @__errno_location() #12
  %860 = load i32, ptr %859, align 4, !tbaa !5
  %861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %848, ptr noundef @.str.2, i32 noundef %849, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 44, ptr noundef %852, ptr noundef %855, ptr noundef %858, i32 noundef %860) #11
  br label %879

862:                                              ; preds = %840, %833
  %863 = load i32, ptr %25, align 4, !tbaa !5
  %864 = call ptr @__errno_location() #12
  store i32 %863, ptr %864, align 4, !tbaa !5
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = load i32, ptr @test_count, align 4, !tbaa !5
  %867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %868 = load i32, ptr %867, align 4, !tbaa !5
  %869 = call ptr @s2n_strerror(i32 noundef %868, ptr noundef @.str.4)
  %870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %871 = load i32, ptr %870, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror_debug(i32 noundef %871, ptr noundef @.str.4)
  %873 = call ptr @__errno_location() #12
  %874 = load i32, ptr %873, align 4, !tbaa !5
  %875 = call ptr @strerror(i32 noundef %874) #11
  %876 = call ptr @__errno_location() #12
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %865, ptr noundef @.str.5, i32 noundef %866, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 44, ptr noundef %869, ptr noundef %872, ptr noundef %875, i32 noundef %877) #11
  br label %879

879:                                              ; preds = %862, %845
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #11
  br label %880

880:                                              ; preds = %879
  br label %881

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

882:                                              ; No predecessors!
  br label %883

883:                                              ; preds = %882
  br label %884

884:                                              ; preds = %883, %825
  br label %885

885:                                              ; preds = %884
  br label %886

886:                                              ; preds = %885
  br label %887

887:                                              ; preds = %886
  %888 = load i32, ptr @test_count, align 4, !tbaa !5
  %889 = add nsw i32 %888, 1
  store i32 %889, ptr @test_count, align 4, !tbaa !5
  %890 = call i32 @s2n_blob_validate(ptr noundef %24)
  %891 = getelementptr inbounds %struct.s2n_result, ptr %26, i32 0, i32 0
  store i32 %890, ptr %891, align 4
  %892 = getelementptr inbounds %struct.s2n_result, ptr %26, i32 0, i32 0
  %893 = load i32, ptr %892, align 4
  %894 = call zeroext i1 @s2n_result_is_ok(i32 %893)
  br i1 %894, label %948, label %895

895:                                              ; preds = %887
  br label %896

896:                                              ; preds = %895
  br label %897

897:                                              ; preds = %896
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #11
  %898 = call ptr @__errno_location() #12
  %899 = load i32, ptr %898, align 4, !tbaa !5
  store i32 %899, ptr %27, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = call i32 @s2n_print_stacktrace(ptr noundef %900)
  %902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %903 = trunc i8 %902 to i1
  br i1 %903, label %904, label %926

904:                                              ; preds = %897
  %905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %906 = call i32 @fileno(ptr noundef %905) #11
  %907 = call i32 @isatty(i32 noundef %906) #11
  %908 = icmp ne i32 %907, 0
  br i1 %908, label %909, label %926

909:                                              ; preds = %904
  %910 = load i32, ptr %27, align 4, !tbaa !5
  %911 = call ptr @__errno_location() #12
  store i32 %910, ptr %911, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = load i32, ptr @test_count, align 4, !tbaa !5
  %914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %915 = load i32, ptr %914, align 4, !tbaa !5
  %916 = call ptr @s2n_strerror(i32 noundef %915, ptr noundef @.str.4)
  %917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @s2n_strerror_debug(i32 noundef %918, ptr noundef @.str.4)
  %920 = call ptr @__errno_location() #12
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call ptr @strerror(i32 noundef %921) #11
  %923 = call ptr @__errno_location() #12
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %912, ptr noundef @.str.2, i32 noundef %913, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 45, ptr noundef %916, ptr noundef %919, ptr noundef %922, i32 noundef %924) #11
  br label %943

926:                                              ; preds = %904, %897
  %927 = load i32, ptr %27, align 4, !tbaa !5
  %928 = call ptr @__errno_location() #12
  store i32 %927, ptr %928, align 4, !tbaa !5
  %929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %930 = load i32, ptr @test_count, align 4, !tbaa !5
  %931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %932 = load i32, ptr %931, align 4, !tbaa !5
  %933 = call ptr @s2n_strerror(i32 noundef %932, ptr noundef @.str.4)
  %934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call ptr @s2n_strerror_debug(i32 noundef %935, ptr noundef @.str.4)
  %937 = call ptr @__errno_location() #12
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call ptr @strerror(i32 noundef %938) #11
  %940 = call ptr @__errno_location() #12
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %929, ptr noundef @.str.5, i32 noundef %930, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 45, ptr noundef %933, ptr noundef %936, ptr noundef %939, i32 noundef %941) #11
  br label %943

943:                                              ; preds = %926, %909
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #11
  br label %944

944:                                              ; preds = %943
  br label %945

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

946:                                              ; No predecessors!
  br label %947

947:                                              ; preds = %946
  br label %948

948:                                              ; preds = %947, %887
  br label %949

949:                                              ; preds = %948
  br label %950

950:                                              ; preds = %949
  br label %951

951:                                              ; preds = %950
  %952 = load i32, ptr @test_count, align 4, !tbaa !5
  %953 = add nsw i32 %952, 1
  store i32 %953, ptr @test_count, align 4, !tbaa !5
  %954 = call zeroext i1 @s2n_blob_is_growable(ptr noundef null)
  br i1 %954, label %955, label %1008

955:                                              ; preds = %951
  br label %956

956:                                              ; preds = %955
  br label %957

957:                                              ; preds = %956
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #11
  %958 = call ptr @__errno_location() #12
  %959 = load i32, ptr %958, align 4, !tbaa !5
  store i32 %959, ptr %28, align 4, !tbaa !5
  %960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %961 = call i32 @s2n_print_stacktrace(ptr noundef %960)
  %962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %963 = trunc i8 %962 to i1
  br i1 %963, label %964, label %986

964:                                              ; preds = %957
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @fileno(ptr noundef %965) #11
  %967 = call i32 @isatty(i32 noundef %966) #11
  %968 = icmp ne i32 %967, 0
  br i1 %968, label %969, label %986

969:                                              ; preds = %964
  %970 = load i32, ptr %28, align 4, !tbaa !5
  %971 = call ptr @__errno_location() #12
  store i32 %970, ptr %971, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = load i32, ptr @test_count, align 4, !tbaa !5
  %974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %975 = load i32, ptr %974, align 4, !tbaa !5
  %976 = call ptr @s2n_strerror(i32 noundef %975, ptr noundef @.str.4)
  %977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %978 = load i32, ptr %977, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror_debug(i32 noundef %978, ptr noundef @.str.4)
  %980 = call ptr @__errno_location() #12
  %981 = load i32, ptr %980, align 4, !tbaa !5
  %982 = call ptr @strerror(i32 noundef %981) #11
  %983 = call ptr @__errno_location() #12
  %984 = load i32, ptr %983, align 4, !tbaa !5
  %985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %972, ptr noundef @.str.2, i32 noundef %973, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 48, ptr noundef %976, ptr noundef %979, ptr noundef %982, i32 noundef %984) #11
  br label %1003

986:                                              ; preds = %964, %957
  %987 = load i32, ptr %28, align 4, !tbaa !5
  %988 = call ptr @__errno_location() #12
  store i32 %987, ptr %988, align 4, !tbaa !5
  %989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %990 = load i32, ptr @test_count, align 4, !tbaa !5
  %991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %992 = load i32, ptr %991, align 4, !tbaa !5
  %993 = call ptr @s2n_strerror(i32 noundef %992, ptr noundef @.str.4)
  %994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = call ptr @s2n_strerror_debug(i32 noundef %995, ptr noundef @.str.4)
  %997 = call ptr @__errno_location() #12
  %998 = load i32, ptr %997, align 4, !tbaa !5
  %999 = call ptr @strerror(i32 noundef %998) #11
  %1000 = call ptr @__errno_location() #12
  %1001 = load i32, ptr %1000, align 4, !tbaa !5
  %1002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %989, ptr noundef @.str.5, i32 noundef %990, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 48, ptr noundef %993, ptr noundef %996, ptr noundef %999, i32 noundef %1001) #11
  br label %1003

1003:                                             ; preds = %986, %969
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #11
  br label %1004

1004:                                             ; preds = %1003
  br label %1005

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

1006:                                             ; No predecessors!
  br label %1007

1007:                                             ; preds = %1006
  br label %1008

1008:                                             ; preds = %1007, %951
  br label %1009

1009:                                             ; preds = %1008
  br label %1010

1010:                                             ; preds = %1009
  br label %1011

1011:                                             ; preds = %1010
  br label %1012

1012:                                             ; preds = %1011
  %1013 = load i32, ptr @test_count, align 4, !tbaa !5
  %1014 = add nsw i32 %1013, 1
  store i32 %1014, ptr @test_count, align 4, !tbaa !5
  %1015 = call i32 @s2n_realloc(ptr noundef null, i32 noundef 24)
  %1016 = icmp eq i32 %1015, -1
  br i1 %1016, label %1070, label %1017

1017:                                             ; preds = %1012
  br label %1018

1018:                                             ; preds = %1017
  br label %1019

1019:                                             ; preds = %1018
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #11
  %1020 = call ptr @__errno_location() #12
  %1021 = load i32, ptr %1020, align 4, !tbaa !5
  store i32 %1021, ptr %29, align 4, !tbaa !5
  %1022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1023 = call i32 @s2n_print_stacktrace(ptr noundef %1022)
  %1024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1025 = trunc i8 %1024 to i1
  br i1 %1025, label %1026, label %1048

1026:                                             ; preds = %1019
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = call i32 @fileno(ptr noundef %1027) #11
  %1029 = call i32 @isatty(i32 noundef %1028) #11
  %1030 = icmp ne i32 %1029, 0
  br i1 %1030, label %1031, label %1048

1031:                                             ; preds = %1026
  %1032 = load i32, ptr %29, align 4, !tbaa !5
  %1033 = call ptr @__errno_location() #12
  store i32 %1032, ptr %1033, align 4, !tbaa !5
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = load i32, ptr @test_count, align 4, !tbaa !5
  %1036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1037 = load i32, ptr %1036, align 4, !tbaa !5
  %1038 = call ptr @s2n_strerror(i32 noundef %1037, ptr noundef @.str.4)
  %1039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1040 = load i32, ptr %1039, align 4, !tbaa !5
  %1041 = call ptr @s2n_strerror_debug(i32 noundef %1040, ptr noundef @.str.4)
  %1042 = call ptr @__errno_location() #12
  %1043 = load i32, ptr %1042, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #11
  %1045 = call ptr @__errno_location() #12
  %1046 = load i32, ptr %1045, align 4, !tbaa !5
  %1047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1034, ptr noundef @.str.2, i32 noundef %1035, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1038, ptr noundef %1041, ptr noundef %1044, i32 noundef %1046) #11
  br label %1065

1048:                                             ; preds = %1026, %1019
  %1049 = load i32, ptr %29, align 4, !tbaa !5
  %1050 = call ptr @__errno_location() #12
  store i32 %1049, ptr %1050, align 4, !tbaa !5
  %1051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1052 = load i32, ptr @test_count, align 4, !tbaa !5
  %1053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1054 = load i32, ptr %1053, align 4, !tbaa !5
  %1055 = call ptr @s2n_strerror(i32 noundef %1054, ptr noundef @.str.4)
  %1056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1057 = load i32, ptr %1056, align 4, !tbaa !5
  %1058 = call ptr @s2n_strerror_debug(i32 noundef %1057, ptr noundef @.str.4)
  %1059 = call ptr @__errno_location() #12
  %1060 = load i32, ptr %1059, align 4, !tbaa !5
  %1061 = call ptr @strerror(i32 noundef %1060) #11
  %1062 = call ptr @__errno_location() #12
  %1063 = load i32, ptr %1062, align 4, !tbaa !5
  %1064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1051, ptr noundef @.str.5, i32 noundef %1052, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1055, ptr noundef %1058, ptr noundef %1061, i32 noundef %1063) #11
  br label %1065

1065:                                             ; preds = %1048, %1031
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1066

1066:                                             ; preds = %1065
  br label %1067

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

1068:                                             ; No predecessors!
  br label %1069

1069:                                             ; preds = %1068
  br label %1070

1070:                                             ; preds = %1069, %1012
  br label %1071

1071:                                             ; preds = %1070
  br label %1072

1072:                                             ; preds = %1071
  br label %1073

1073:                                             ; preds = %1072
  %1074 = load i32, ptr @test_count, align 4, !tbaa !5
  %1075 = add nsw i32 %1074, 1
  store i32 %1075, ptr @test_count, align 4, !tbaa !5
  %1076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1077 = load i32, ptr %1076, align 4, !tbaa !5
  %1078 = icmp eq i32 %1077, 0
  br i1 %1078, label %1079, label %1132

1079:                                             ; preds = %1073
  br label %1080

1080:                                             ; preds = %1079
  br label %1081

1081:                                             ; preds = %1080
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #11
  %1082 = call ptr @__errno_location() #12
  %1083 = load i32, ptr %1082, align 4, !tbaa !5
  store i32 %1083, ptr %30, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = call i32 @s2n_print_stacktrace(ptr noundef %1084)
  %1086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1087 = trunc i8 %1086 to i1
  br i1 %1087, label %1088, label %1110

1088:                                             ; preds = %1081
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = call i32 @fileno(ptr noundef %1089) #11
  %1091 = call i32 @isatty(i32 noundef %1090) #11
  %1092 = icmp ne i32 %1091, 0
  br i1 %1092, label %1093, label %1110

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

1110:                                             ; preds = %1088, %1081
  %1111 = load i32, ptr %30, align 4, !tbaa !5
  %1112 = call ptr @__errno_location() #12
  store i32 %1111, ptr %1112, align 4, !tbaa !5
  %1113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1114 = load i32, ptr @test_count, align 4, !tbaa !5
  %1115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1116 = load i32, ptr %1115, align 4, !tbaa !5
  %1117 = call ptr @s2n_strerror(i32 noundef %1116, ptr noundef @.str.4)
  %1118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1119 = load i32, ptr %1118, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror_debug(i32 noundef %1119, ptr noundef @.str.4)
  %1121 = call ptr @__errno_location() #12
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = call ptr @strerror(i32 noundef %1122) #11
  %1124 = call ptr @__errno_location() #12
  %1125 = load i32, ptr %1124, align 4, !tbaa !5
  %1126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1113, ptr noundef @.str.5, i32 noundef %1114, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1117, ptr noundef %1120, ptr noundef %1123, i32 noundef %1125) #11
  br label %1127

1127:                                             ; preds = %1110, %1093
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1128

1128:                                             ; preds = %1127
  br label %1129

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

1130:                                             ; No predecessors!
  br label %1131

1131:                                             ; preds = %1130
  br label %1132

1132:                                             ; preds = %1131, %1073
  br label %1133

1133:                                             ; preds = %1132
  br label %1134

1134:                                             ; preds = %1133
  br label %1135

1135:                                             ; preds = %1134
  %1136 = load i32, ptr @test_count, align 4, !tbaa !5
  %1137 = add nsw i32 %1136, 1
  store i32 %1137, ptr @test_count, align 4, !tbaa !5
  %1138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1139 = load i32, ptr %1138, align 4, !tbaa !5
  %1140 = call ptr @s2n_strerror_debug(i32 noundef %1139, ptr noundef @.str.4)
  %1141 = icmp eq ptr %1140, null
  br i1 %1141, label %1142, label %1195

1142:                                             ; preds = %1135
  br label %1143

1143:                                             ; preds = %1142
  br label %1144

1144:                                             ; preds = %1143
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #11
  %1145 = call ptr @__errno_location() #12
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  store i32 %1146, ptr %31, align 4, !tbaa !5
  %1147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1148 = call i32 @s2n_print_stacktrace(ptr noundef %1147)
  %1149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1150 = trunc i8 %1149 to i1
  br i1 %1150, label %1151, label %1173

1151:                                             ; preds = %1144
  %1152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1153 = call i32 @fileno(ptr noundef %1152) #11
  %1154 = call i32 @isatty(i32 noundef %1153) #11
  %1155 = icmp ne i32 %1154, 0
  br i1 %1155, label %1156, label %1173

1156:                                             ; preds = %1151
  %1157 = load i32, ptr %31, align 4, !tbaa !5
  %1158 = call ptr @__errno_location() #12
  store i32 %1157, ptr %1158, align 4, !tbaa !5
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = load i32, ptr @test_count, align 4, !tbaa !5
  %1161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1162 = load i32, ptr %1161, align 4, !tbaa !5
  %1163 = call ptr @s2n_strerror(i32 noundef %1162, ptr noundef @.str.4)
  %1164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1165 = load i32, ptr %1164, align 4, !tbaa !5
  %1166 = call ptr @s2n_strerror_debug(i32 noundef %1165, ptr noundef @.str.4)
  %1167 = call ptr @__errno_location() #12
  %1168 = load i32, ptr %1167, align 4, !tbaa !5
  %1169 = call ptr @strerror(i32 noundef %1168) #11
  %1170 = call ptr @__errno_location() #12
  %1171 = load i32, ptr %1170, align 4, !tbaa !5
  %1172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1159, ptr noundef @.str.2, i32 noundef %1160, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1163, ptr noundef %1166, ptr noundef %1169, i32 noundef %1171) #11
  br label %1190

1173:                                             ; preds = %1151, %1144
  %1174 = load i32, ptr %31, align 4, !tbaa !5
  %1175 = call ptr @__errno_location() #12
  store i32 %1174, ptr %1175, align 4, !tbaa !5
  %1176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1177 = load i32, ptr @test_count, align 4, !tbaa !5
  %1178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1179 = load i32, ptr %1178, align 4, !tbaa !5
  %1180 = call ptr @s2n_strerror(i32 noundef %1179, ptr noundef @.str.4)
  %1181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1182 = load i32, ptr %1181, align 4, !tbaa !5
  %1183 = call ptr @s2n_strerror_debug(i32 noundef %1182, ptr noundef @.str.4)
  %1184 = call ptr @__errno_location() #12
  %1185 = load i32, ptr %1184, align 4, !tbaa !5
  %1186 = call ptr @strerror(i32 noundef %1185) #11
  %1187 = call ptr @__errno_location() #12
  %1188 = load i32, ptr %1187, align 4, !tbaa !5
  %1189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1176, ptr noundef @.str.5, i32 noundef %1177, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 49, ptr noundef %1180, ptr noundef %1183, ptr noundef %1186, i32 noundef %1188) #11
  br label %1190

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

1191:                                             ; preds = %1190
  br label %1192

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

1193:                                             ; No predecessors!
  br label %1194

1194:                                             ; preds = %1193
  br label %1195

1195:                                             ; preds = %1194, %1135
  br label %1196

1196:                                             ; preds = %1195
  br label %1197

1197:                                             ; preds = %1196
  br label %1198

1198:                                             ; preds = %1197
  %1199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1199, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1200 = call ptr @__errno_location() #12
  store i32 0, ptr %1200, align 4, !tbaa !5
  br label %1201

1201:                                             ; preds = %1198
  br label %1202

1202:                                             ; preds = %1201
  br label %1203

1203:                                             ; preds = %1202
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204
  br label %1206

1206:                                             ; preds = %1205
  %1207 = load i32, ptr @test_count, align 4, !tbaa !5
  %1208 = add nsw i32 %1207, 1
  store i32 %1208, ptr @test_count, align 4, !tbaa !5
  %1209 = call i32 @s2n_free(ptr noundef null)
  %1210 = icmp eq i32 %1209, -1
  br i1 %1210, label %1264, label %1211

1211:                                             ; preds = %1206
  br label %1212

1212:                                             ; preds = %1211
  br label %1213

1213:                                             ; preds = %1212
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #11
  %1214 = call ptr @__errno_location() #12
  %1215 = load i32, ptr %1214, align 4, !tbaa !5
  store i32 %1215, ptr %32, align 4, !tbaa !5
  %1216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1217 = call i32 @s2n_print_stacktrace(ptr noundef %1216)
  %1218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1219 = trunc i8 %1218 to i1
  br i1 %1219, label %1220, label %1242

1220:                                             ; preds = %1213
  %1221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1222 = call i32 @fileno(ptr noundef %1221) #11
  %1223 = call i32 @isatty(i32 noundef %1222) #11
  %1224 = icmp ne i32 %1223, 0
  br i1 %1224, label %1225, label %1242

1225:                                             ; preds = %1220
  %1226 = load i32, ptr %32, align 4, !tbaa !5
  %1227 = call ptr @__errno_location() #12
  store i32 %1226, ptr %1227, align 4, !tbaa !5
  %1228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1229 = load i32, ptr @test_count, align 4, !tbaa !5
  %1230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1231 = load i32, ptr %1230, align 4, !tbaa !5
  %1232 = call ptr @s2n_strerror(i32 noundef %1231, ptr noundef @.str.4)
  %1233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1234 = load i32, ptr %1233, align 4, !tbaa !5
  %1235 = call ptr @s2n_strerror_debug(i32 noundef %1234, ptr noundef @.str.4)
  %1236 = call ptr @__errno_location() #12
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @strerror(i32 noundef %1237) #11
  %1239 = call ptr @__errno_location() #12
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1228, ptr noundef @.str.2, i32 noundef %1229, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1232, ptr noundef %1235, ptr noundef %1238, i32 noundef %1240) #11
  br label %1259

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

1259:                                             ; preds = %1242, %1225
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1260

1260:                                             ; preds = %1259
  br label %1261

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

1262:                                             ; No predecessors!
  br label %1263

1263:                                             ; preds = %1262
  br label %1264

1264:                                             ; preds = %1263, %1206
  br label %1265

1265:                                             ; preds = %1264
  br label %1266

1266:                                             ; preds = %1265
  br label %1267

1267:                                             ; preds = %1266
  %1268 = load i32, ptr @test_count, align 4, !tbaa !5
  %1269 = add nsw i32 %1268, 1
  store i32 %1269, ptr @test_count, align 4, !tbaa !5
  %1270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1271 = load i32, ptr %1270, align 4, !tbaa !5
  %1272 = icmp eq i32 %1271, 0
  br i1 %1272, label %1273, label %1326

1273:                                             ; preds = %1267
  br label %1274

1274:                                             ; preds = %1273
  br label %1275

1275:                                             ; preds = %1274
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #11
  %1276 = call ptr @__errno_location() #12
  %1277 = load i32, ptr %1276, align 4, !tbaa !5
  store i32 %1277, ptr %33, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = call i32 @s2n_print_stacktrace(ptr noundef %1278)
  %1280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1281 = trunc i8 %1280 to i1
  br i1 %1281, label %1282, label %1304

1282:                                             ; preds = %1275
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = call i32 @fileno(ptr noundef %1283) #11
  %1285 = call i32 @isatty(i32 noundef %1284) #11
  %1286 = icmp ne i32 %1285, 0
  br i1 %1286, label %1287, label %1304

1287:                                             ; preds = %1282
  %1288 = load i32, ptr %33, align 4, !tbaa !5
  %1289 = call ptr @__errno_location() #12
  store i32 %1288, ptr %1289, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef @.str.4)
  %1295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror_debug(i32 noundef %1296, ptr noundef @.str.4)
  %1298 = call ptr @__errno_location() #12
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call ptr @strerror(i32 noundef %1299) #11
  %1301 = call ptr @__errno_location() #12
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1290, ptr noundef @.str.2, i32 noundef %1291, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1294, ptr noundef %1297, ptr noundef %1300, i32 noundef %1302) #11
  br label %1321

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

1321:                                             ; preds = %1304, %1287
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1322

1322:                                             ; preds = %1321
  br label %1323

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

1324:                                             ; No predecessors!
  br label %1325

1325:                                             ; preds = %1324
  br label %1326

1326:                                             ; preds = %1325, %1267
  br label %1327

1327:                                             ; preds = %1326
  br label %1328

1328:                                             ; preds = %1327
  br label %1329

1329:                                             ; preds = %1328
  %1330 = load i32, ptr @test_count, align 4, !tbaa !5
  %1331 = add nsw i32 %1330, 1
  store i32 %1331, ptr @test_count, align 4, !tbaa !5
  %1332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror_debug(i32 noundef %1333, ptr noundef @.str.4)
  %1335 = icmp eq ptr %1334, null
  br i1 %1335, label %1336, label %1389

1336:                                             ; preds = %1329
  br label %1337

1337:                                             ; preds = %1336
  br label %1338

1338:                                             ; preds = %1337
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #11
  %1339 = call ptr @__errno_location() #12
  %1340 = load i32, ptr %1339, align 4, !tbaa !5
  store i32 %1340, ptr %34, align 4, !tbaa !5
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = call i32 @s2n_print_stacktrace(ptr noundef %1341)
  %1343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1344 = trunc i8 %1343 to i1
  br i1 %1344, label %1345, label %1367

1345:                                             ; preds = %1338
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = call i32 @fileno(ptr noundef %1346) #11
  %1348 = call i32 @isatty(i32 noundef %1347) #11
  %1349 = icmp ne i32 %1348, 0
  br i1 %1349, label %1350, label %1367

1350:                                             ; preds = %1345
  %1351 = load i32, ptr %34, align 4, !tbaa !5
  %1352 = call ptr @__errno_location() #12
  store i32 %1351, ptr %1352, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = load i32, ptr @test_count, align 4, !tbaa !5
  %1355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1356 = load i32, ptr %1355, align 4, !tbaa !5
  %1357 = call ptr @s2n_strerror(i32 noundef %1356, ptr noundef @.str.4)
  %1358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = call ptr @s2n_strerror_debug(i32 noundef %1359, ptr noundef @.str.4)
  %1361 = call ptr @__errno_location() #12
  %1362 = load i32, ptr %1361, align 4, !tbaa !5
  %1363 = call ptr @strerror(i32 noundef %1362) #11
  %1364 = call ptr @__errno_location() #12
  %1365 = load i32, ptr %1364, align 4, !tbaa !5
  %1366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1353, ptr noundef @.str.2, i32 noundef %1354, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 50, ptr noundef %1357, ptr noundef %1360, ptr noundef %1363, i32 noundef %1365) #11
  br label %1384

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

1384:                                             ; preds = %1367, %1350
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #11
  br label %1385

1385:                                             ; preds = %1384
  br label %1386

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

1387:                                             ; No predecessors!
  br label %1388

1388:                                             ; preds = %1387
  br label %1389

1389:                                             ; preds = %1388, %1329
  br label %1390

1390:                                             ; preds = %1389
  br label %1391

1391:                                             ; preds = %1390
  br label %1392

1392:                                             ; preds = %1391
  %1393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1393, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1394 = call ptr @__errno_location() #12
  store i32 0, ptr %1394, align 4, !tbaa !5
  br label %1395

1395:                                             ; preds = %1392
  br label %1396

1396:                                             ; preds = %1395
  br label %1397

1397:                                             ; preds = %1396
  br label %1398

1398:                                             ; preds = %1397
  call void @llvm.lifetime.start.p0(i64 24, ptr %35) #11
  call void @llvm.memset.p0.i64(ptr align 8 %35, i8 0, i64 24, i1 false)
  br label %1399

1399:                                             ; preds = %1398
  %1400 = load i32, ptr @test_count, align 4, !tbaa !5
  %1401 = add nsw i32 %1400, 1
  store i32 %1401, ptr @test_count, align 4, !tbaa !5
  %1402 = getelementptr inbounds [12 x i8], ptr %23, i64 0, i64 0
  %1403 = call i32 @s2n_blob_init(ptr noundef %35, ptr noundef %1402, i32 noundef 12)
  %1404 = icmp eq i32 %1403, -1
  br i1 %1404, label %1405, label %1458

1405:                                             ; preds = %1399
  br label %1406

1406:                                             ; preds = %1405
  br label %1407

1407:                                             ; preds = %1406
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #11
  %1408 = call ptr @__errno_location() #12
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  store i32 %1409, ptr %36, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @s2n_print_stacktrace(ptr noundef %1410)
  %1412 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1413 = trunc i8 %1412 to i1
  br i1 %1413, label %1414, label %1436

1414:                                             ; preds = %1407
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = call i32 @fileno(ptr noundef %1415) #11
  %1417 = call i32 @isatty(i32 noundef %1416) #11
  %1418 = icmp ne i32 %1417, 0
  br i1 %1418, label %1419, label %1436

1419:                                             ; preds = %1414
  %1420 = load i32, ptr %36, align 4, !tbaa !5
  %1421 = call ptr @__errno_location() #12
  store i32 %1420, ptr %1421, align 4, !tbaa !5
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = load i32, ptr @test_count, align 4, !tbaa !5
  %1424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1425 = load i32, ptr %1424, align 4, !tbaa !5
  %1426 = call ptr @s2n_strerror(i32 noundef %1425, ptr noundef @.str.4)
  %1427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1428 = load i32, ptr %1427, align 4, !tbaa !5
  %1429 = call ptr @s2n_strerror_debug(i32 noundef %1428, ptr noundef @.str.4)
  %1430 = call ptr @__errno_location() #12
  %1431 = load i32, ptr %1430, align 4, !tbaa !5
  %1432 = call ptr @strerror(i32 noundef %1431) #11
  %1433 = call ptr @__errno_location() #12
  %1434 = load i32, ptr %1433, align 4, !tbaa !5
  %1435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1422, ptr noundef @.str.2, i32 noundef %1423, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1426, ptr noundef %1429, ptr noundef %1432, i32 noundef %1434) #11
  br label %1453

1436:                                             ; preds = %1414, %1407
  %1437 = load i32, ptr %36, align 4, !tbaa !5
  %1438 = call ptr @__errno_location() #12
  store i32 %1437, ptr %1438, align 4, !tbaa !5
  %1439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1440 = load i32, ptr @test_count, align 4, !tbaa !5
  %1441 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1442 = load i32, ptr %1441, align 4, !tbaa !5
  %1443 = call ptr @s2n_strerror(i32 noundef %1442, ptr noundef @.str.4)
  %1444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1445 = load i32, ptr %1444, align 4, !tbaa !5
  %1446 = call ptr @s2n_strerror_debug(i32 noundef %1445, ptr noundef @.str.4)
  %1447 = call ptr @__errno_location() #12
  %1448 = load i32, ptr %1447, align 4, !tbaa !5
  %1449 = call ptr @strerror(i32 noundef %1448) #11
  %1450 = call ptr @__errno_location() #12
  %1451 = load i32, ptr %1450, align 4, !tbaa !5
  %1452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1439, ptr noundef @.str.5, i32 noundef %1440, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 54, ptr noundef %1443, ptr noundef %1446, ptr noundef %1449, i32 noundef %1451) #11
  br label %1453

1453:                                             ; preds = %1436, %1419
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %1454

1454:                                             ; preds = %1453
  br label %1455

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

1456:                                             ; No predecessors!
  br label %1457

1457:                                             ; preds = %1456
  br label %1458

1458:                                             ; preds = %1457, %1399
  br label %1459

1459:                                             ; preds = %1458
  br label %1460

1460:                                             ; preds = %1459
  br label %1461

1461:                                             ; preds = %1460
  %1462 = load i32, ptr @test_count, align 4, !tbaa !5
  %1463 = add nsw i32 %1462, 1
  store i32 %1463, ptr @test_count, align 4, !tbaa !5
  %1464 = call zeroext i1 @s2n_blob_is_growable(ptr noundef %35)
  br i1 %1464, label %1465, label %1518

1465:                                             ; preds = %1461
  br label %1466

1466:                                             ; preds = %1465
  br label %1467

1467:                                             ; preds = %1466
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #11
  %1468 = call ptr @__errno_location() #12
  %1469 = load i32, ptr %1468, align 4, !tbaa !5
  store i32 %1469, ptr %37, align 4, !tbaa !5
  %1470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1471 = call i32 @s2n_print_stacktrace(ptr noundef %1470)
  %1472 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1473 = trunc i8 %1472 to i1
  br i1 %1473, label %1474, label %1496

1474:                                             ; preds = %1467
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @fileno(ptr noundef %1475) #11
  %1477 = call i32 @isatty(i32 noundef %1476) #11
  %1478 = icmp ne i32 %1477, 0
  br i1 %1478, label %1479, label %1496

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

1496:                                             ; preds = %1474, %1467
  %1497 = load i32, ptr %37, align 4, !tbaa !5
  %1498 = call ptr @__errno_location() #12
  store i32 %1497, ptr %1498, align 4, !tbaa !5
  %1499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1502 = load i32, ptr %1501, align 4, !tbaa !5
  %1503 = call ptr @s2n_strerror(i32 noundef %1502, ptr noundef @.str.4)
  %1504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1505 = load i32, ptr %1504, align 4, !tbaa !5
  %1506 = call ptr @s2n_strerror_debug(i32 noundef %1505, ptr noundef @.str.4)
  %1507 = call ptr @__errno_location() #12
  %1508 = load i32, ptr %1507, align 4, !tbaa !5
  %1509 = call ptr @strerror(i32 noundef %1508) #11
  %1510 = call ptr @__errno_location() #12
  %1511 = load i32, ptr %1510, align 4, !tbaa !5
  %1512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1499, ptr noundef @.str.5, i32 noundef %1500, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 55, ptr noundef %1503, ptr noundef %1506, ptr noundef %1509, i32 noundef %1511) #11
  br label %1513

1513:                                             ; preds = %1496, %1479
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %1514

1514:                                             ; preds = %1513
  br label %1515

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

1516:                                             ; No predecessors!
  br label %1517

1517:                                             ; preds = %1516
  br label %1518

1518:                                             ; preds = %1517, %1461
  br label %1519

1519:                                             ; preds = %1518
  br label %1520

1520:                                             ; preds = %1519
  br label %1521

1521:                                             ; preds = %1520
  br label %1522

1522:                                             ; preds = %1521
  %1523 = load i32, ptr @test_count, align 4, !tbaa !5
  %1524 = add nsw i32 %1523, 1
  store i32 %1524, ptr @test_count, align 4, !tbaa !5
  %1525 = call i32 @s2n_realloc(ptr noundef %35, i32 noundef 24)
  %1526 = icmp eq i32 %1525, -1
  br i1 %1526, label %1580, label %1527

1527:                                             ; preds = %1522
  br label %1528

1528:                                             ; preds = %1527
  br label %1529

1529:                                             ; preds = %1528
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #11
  %1530 = call ptr @__errno_location() #12
  %1531 = load i32, ptr %1530, align 4, !tbaa !5
  store i32 %1531, ptr %38, align 4, !tbaa !5
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @s2n_print_stacktrace(ptr noundef %1532)
  %1534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1535 = trunc i8 %1534 to i1
  br i1 %1535, label %1536, label %1558

1536:                                             ; preds = %1529
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = call i32 @fileno(ptr noundef %1537) #11
  %1539 = call i32 @isatty(i32 noundef %1538) #11
  %1540 = icmp ne i32 %1539, 0
  br i1 %1540, label %1541, label %1558

1541:                                             ; preds = %1536
  %1542 = load i32, ptr %38, align 4, !tbaa !5
  %1543 = call ptr @__errno_location() #12
  store i32 %1542, ptr %1543, align 4, !tbaa !5
  %1544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1547 = load i32, ptr %1546, align 4, !tbaa !5
  %1548 = call ptr @s2n_strerror(i32 noundef %1547, ptr noundef @.str.4)
  %1549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1550 = load i32, ptr %1549, align 4, !tbaa !5
  %1551 = call ptr @s2n_strerror_debug(i32 noundef %1550, ptr noundef @.str.4)
  %1552 = call ptr @__errno_location() #12
  %1553 = load i32, ptr %1552, align 4, !tbaa !5
  %1554 = call ptr @strerror(i32 noundef %1553) #11
  %1555 = call ptr @__errno_location() #12
  %1556 = load i32, ptr %1555, align 4, !tbaa !5
  %1557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1544, ptr noundef @.str.2, i32 noundef %1545, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1548, ptr noundef %1551, ptr noundef %1554, i32 noundef %1556) #11
  br label %1575

1558:                                             ; preds = %1536, %1529
  %1559 = load i32, ptr %38, align 4, !tbaa !5
  %1560 = call ptr @__errno_location() #12
  store i32 %1559, ptr %1560, align 4, !tbaa !5
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = load i32, ptr @test_count, align 4, !tbaa !5
  %1563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = call ptr @s2n_strerror(i32 noundef %1564, ptr noundef @.str.4)
  %1566 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1567 = load i32, ptr %1566, align 4, !tbaa !5
  %1568 = call ptr @s2n_strerror_debug(i32 noundef %1567, ptr noundef @.str.4)
  %1569 = call ptr @__errno_location() #12
  %1570 = load i32, ptr %1569, align 4, !tbaa !5
  %1571 = call ptr @strerror(i32 noundef %1570) #11
  %1572 = call ptr @__errno_location() #12
  %1573 = load i32, ptr %1572, align 4, !tbaa !5
  %1574 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1561, ptr noundef @.str.5, i32 noundef %1562, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1565, ptr noundef %1568, ptr noundef %1571, i32 noundef %1573) #11
  br label %1575

1575:                                             ; preds = %1558, %1541
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %1576

1576:                                             ; preds = %1575
  br label %1577

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

1578:                                             ; No predecessors!
  br label %1579

1579:                                             ; preds = %1578
  br label %1580

1580:                                             ; preds = %1579, %1522
  br label %1581

1581:                                             ; preds = %1580
  br label %1582

1582:                                             ; preds = %1581
  br label %1583

1583:                                             ; preds = %1582
  %1584 = load i32, ptr @test_count, align 4, !tbaa !5
  %1585 = add nsw i32 %1584, 1
  store i32 %1585, ptr @test_count, align 4, !tbaa !5
  %1586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = icmp eq i32 %1587, 0
  br i1 %1588, label %1589, label %1642

1589:                                             ; preds = %1583
  br label %1590

1590:                                             ; preds = %1589
  br label %1591

1591:                                             ; preds = %1590
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #11
  %1592 = call ptr @__errno_location() #12
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  store i32 %1593, ptr %39, align 4, !tbaa !5
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = call i32 @s2n_print_stacktrace(ptr noundef %1594)
  %1596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1597 = trunc i8 %1596 to i1
  br i1 %1597, label %1598, label %1620

1598:                                             ; preds = %1591
  %1599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1600 = call i32 @fileno(ptr noundef %1599) #11
  %1601 = call i32 @isatty(i32 noundef %1600) #11
  %1602 = icmp ne i32 %1601, 0
  br i1 %1602, label %1603, label %1620

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

1620:                                             ; preds = %1598, %1591
  %1621 = load i32, ptr %39, align 4, !tbaa !5
  %1622 = call ptr @__errno_location() #12
  store i32 %1621, ptr %1622, align 4, !tbaa !5
  %1623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1624 = load i32, ptr @test_count, align 4, !tbaa !5
  %1625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1626 = load i32, ptr %1625, align 4, !tbaa !5
  %1627 = call ptr @s2n_strerror(i32 noundef %1626, ptr noundef @.str.4)
  %1628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1629 = load i32, ptr %1628, align 4, !tbaa !5
  %1630 = call ptr @s2n_strerror_debug(i32 noundef %1629, ptr noundef @.str.4)
  %1631 = call ptr @__errno_location() #12
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = call ptr @strerror(i32 noundef %1632) #11
  %1634 = call ptr @__errno_location() #12
  %1635 = load i32, ptr %1634, align 4, !tbaa !5
  %1636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1623, ptr noundef @.str.5, i32 noundef %1624, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1627, ptr noundef %1630, ptr noundef %1633, i32 noundef %1635) #11
  br label %1637

1637:                                             ; preds = %1620, %1603
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %1638

1638:                                             ; preds = %1637
  br label %1639

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

1640:                                             ; No predecessors!
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

1642:                                             ; preds = %1641, %1583
  br label %1643

1643:                                             ; preds = %1642
  br label %1644

1644:                                             ; preds = %1643
  br label %1645

1645:                                             ; preds = %1644
  %1646 = load i32, ptr @test_count, align 4, !tbaa !5
  %1647 = add nsw i32 %1646, 1
  store i32 %1647, ptr @test_count, align 4, !tbaa !5
  %1648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1649 = load i32, ptr %1648, align 4, !tbaa !5
  %1650 = call ptr @s2n_strerror_debug(i32 noundef %1649, ptr noundef @.str.4)
  %1651 = icmp eq ptr %1650, null
  br i1 %1651, label %1652, label %1705

1652:                                             ; preds = %1645
  br label %1653

1653:                                             ; preds = %1652
  br label %1654

1654:                                             ; preds = %1653
  call void @llvm.lifetime.start.p0(i64 4, ptr %40) #11
  %1655 = call ptr @__errno_location() #12
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  store i32 %1656, ptr %40, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = call i32 @s2n_print_stacktrace(ptr noundef %1657)
  %1659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1660 = trunc i8 %1659 to i1
  br i1 %1660, label %1661, label %1683

1661:                                             ; preds = %1654
  %1662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1663 = call i32 @fileno(ptr noundef %1662) #11
  %1664 = call i32 @isatty(i32 noundef %1663) #11
  %1665 = icmp ne i32 %1664, 0
  br i1 %1665, label %1666, label %1683

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

1683:                                             ; preds = %1661, %1654
  %1684 = load i32, ptr %40, align 4, !tbaa !5
  %1685 = call ptr @__errno_location() #12
  store i32 %1684, ptr %1685, align 4, !tbaa !5
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = load i32, ptr @test_count, align 4, !tbaa !5
  %1688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1689 = load i32, ptr %1688, align 4, !tbaa !5
  %1690 = call ptr @s2n_strerror(i32 noundef %1689, ptr noundef @.str.4)
  %1691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1692 = load i32, ptr %1691, align 4, !tbaa !5
  %1693 = call ptr @s2n_strerror_debug(i32 noundef %1692, ptr noundef @.str.4)
  %1694 = call ptr @__errno_location() #12
  %1695 = load i32, ptr %1694, align 4, !tbaa !5
  %1696 = call ptr @strerror(i32 noundef %1695) #11
  %1697 = call ptr @__errno_location() #12
  %1698 = load i32, ptr %1697, align 4, !tbaa !5
  %1699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1686, ptr noundef @.str.5, i32 noundef %1687, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 56, ptr noundef %1690, ptr noundef %1693, ptr noundef %1696, i32 noundef %1698) #11
  br label %1700

1700:                                             ; preds = %1683, %1666
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %1701

1701:                                             ; preds = %1700
  br label %1702

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

1703:                                             ; No predecessors!
  br label %1704

1704:                                             ; preds = %1703
  br label %1705

1705:                                             ; preds = %1704, %1645
  br label %1706

1706:                                             ; preds = %1705
  br label %1707

1707:                                             ; preds = %1706
  br label %1708

1708:                                             ; preds = %1707
  %1709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1709, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1710 = call ptr @__errno_location() #12
  store i32 0, ptr %1710, align 4, !tbaa !5
  br label %1711

1711:                                             ; preds = %1708
  br label %1712

1712:                                             ; preds = %1711
  br label %1713

1713:                                             ; preds = %1712
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714
  br label %1716

1716:                                             ; preds = %1715
  %1717 = load i32, ptr @test_count, align 4, !tbaa !5
  %1718 = add nsw i32 %1717, 1
  store i32 %1718, ptr @test_count, align 4, !tbaa !5
  %1719 = call i32 @s2n_free(ptr noundef %35)
  %1720 = icmp eq i32 %1719, -1
  br i1 %1720, label %1774, label %1721

1721:                                             ; preds = %1716
  br label %1722

1722:                                             ; preds = %1721
  br label %1723

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

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

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

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

1769:                                             ; preds = %1752, %1735
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #11
  br label %1770

1770:                                             ; preds = %1769
  br label %1771

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

1772:                                             ; No predecessors!
  br label %1773

1773:                                             ; preds = %1772
  br label %1774

1774:                                             ; preds = %1773, %1716
  br label %1775

1775:                                             ; preds = %1774
  br label %1776

1776:                                             ; preds = %1775
  br label %1777

1777:                                             ; preds = %1776
  %1778 = load i32, ptr @test_count, align 4, !tbaa !5
  %1779 = add nsw i32 %1778, 1
  store i32 %1779, ptr @test_count, align 4, !tbaa !5
  %1780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = icmp eq i32 %1781, 0
  br i1 %1782, label %1783, label %1836

1783:                                             ; preds = %1777
  br label %1784

1784:                                             ; preds = %1783
  br label %1785

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

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

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

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

1831:                                             ; preds = %1814, %1797
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #11
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

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

1834:                                             ; No predecessors!
  br label %1835

1835:                                             ; preds = %1834
  br label %1836

1836:                                             ; preds = %1835, %1777
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837
  br label %1839

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

1846:                                             ; preds = %1839
  br label %1847

1847:                                             ; preds = %1846
  br label %1848

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

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

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

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

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

1895:                                             ; preds = %1894
  br label %1896

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

1897:                                             ; No predecessors!
  br label %1898

1898:                                             ; preds = %1897
  br label %1899

1899:                                             ; preds = %1898, %1839
  br label %1900

1900:                                             ; preds = %1899
  br label %1901

1901:                                             ; preds = %1900
  br label %1902

1902:                                             ; preds = %1901
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1903, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1904 = call ptr @__errno_location() #12
  store i32 0, ptr %1904, align 4, !tbaa !5
  br label %1905

1905:                                             ; preds = %1902
  br label %1906

1906:                                             ; preds = %1905
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

1908:                                             ; preds = %1907
  call void @llvm.lifetime.start.p0(i64 24, ptr %44) #11
  call void @llvm.memset.p0.i64(ptr align 8 %44, i8 0, i64 24, i1 false)
  br label %1909

1909:                                             ; preds = %1908
  %1910 = load i32, ptr @test_count, align 4, !tbaa !5
  %1911 = add nsw i32 %1910, 1
  store i32 %1911, ptr @test_count, align 4, !tbaa !5
  %1912 = call zeroext i1 @s2n_blob_is_growable(ptr noundef %44)
  br i1 %1912, label %1966, label %1913

1913:                                             ; preds = %1909
  br label %1914

1914:                                             ; preds = %1913
  br label %1915

1915:                                             ; preds = %1914
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #11
  %1916 = call ptr @__errno_location() #12
  %1917 = load i32, ptr %1916, align 4, !tbaa !5
  store i32 %1917, ptr %45, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @s2n_print_stacktrace(ptr noundef %1918)
  %1920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1921 = trunc i8 %1920 to i1
  br i1 %1921, label %1922, label %1944

1922:                                             ; preds = %1915
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = call i32 @fileno(ptr noundef %1923) #11
  %1925 = call i32 @isatty(i32 noundef %1924) #11
  %1926 = icmp ne i32 %1925, 0
  br i1 %1926, label %1927, label %1944

1927:                                             ; preds = %1922
  %1928 = load i32, ptr %45, align 4, !tbaa !5
  %1929 = call ptr @__errno_location() #12
  store i32 %1928, ptr %1929, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1933, ptr noundef @.str.4)
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror_debug(i32 noundef %1936, ptr noundef @.str.4)
  %1938 = call ptr @__errno_location() #12
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @strerror(i32 noundef %1939) #11
  %1941 = call ptr @__errno_location() #12
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1930, ptr noundef @.str.2, i32 noundef %1931, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1934, ptr noundef %1937, ptr noundef %1940, i32 noundef %1942) #11
  br label %1961

1944:                                             ; preds = %1922, %1915
  %1945 = load i32, ptr %45, align 4, !tbaa !5
  %1946 = call ptr @__errno_location() #12
  store i32 %1945, ptr %1946, align 4, !tbaa !5
  %1947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1948 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1950, ptr noundef @.str.4)
  %1952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror_debug(i32 noundef %1953, ptr noundef @.str.4)
  %1955 = call ptr @__errno_location() #12
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call ptr @strerror(i32 noundef %1956) #11
  %1958 = call ptr @__errno_location() #12
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1947, ptr noundef @.str.5, i32 noundef %1948, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1951, ptr noundef %1954, ptr noundef %1957, i32 noundef %1959) #11
  br label %1961

1961:                                             ; preds = %1944, %1927
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #11
  br label %1962

1962:                                             ; preds = %1961
  br label %1963

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

1964:                                             ; No predecessors!
  br label %1965

1965:                                             ; preds = %1964
  br label %1966

1966:                                             ; preds = %1965, %1909
  br label %1967

1967:                                             ; preds = %1966
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

1969:                                             ; preds = %1968
  %1970 = load i32, ptr @test_count, align 4, !tbaa !5
  %1971 = add nsw i32 %1970, 1
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = call i32 @s2n_free(ptr noundef %44)
  %1973 = icmp eq i32 %1972, -1
  br i1 %1973, label %1974, label %2027

1974:                                             ; preds = %1969
  br label %1975

1975:                                             ; preds = %1974
  br label %1976

1976:                                             ; preds = %1975
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #11
  %1977 = call ptr @__errno_location() #12
  %1978 = load i32, ptr %1977, align 4, !tbaa !5
  store i32 %1978, ptr %46, align 4, !tbaa !5
  %1979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1980 = call i32 @s2n_print_stacktrace(ptr noundef %1979)
  %1981 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1982 = trunc i8 %1981 to i1
  br i1 %1982, label %1983, label %2005

1983:                                             ; preds = %1976
  %1984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1985 = call i32 @fileno(ptr noundef %1984) #11
  %1986 = call i32 @isatty(i32 noundef %1985) #11
  %1987 = icmp ne i32 %1986, 0
  br i1 %1987, label %1988, label %2005

1988:                                             ; preds = %1983
  %1989 = load i32, ptr %46, align 4, !tbaa !5
  %1990 = call ptr @__errno_location() #12
  store i32 %1989, ptr %1990, align 4, !tbaa !5
  %1991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1992 = load i32, ptr @test_count, align 4, !tbaa !5
  %1993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1994 = load i32, ptr %1993, align 4, !tbaa !5
  %1995 = call ptr @s2n_strerror(i32 noundef %1994, ptr noundef @.str.4)
  %1996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call ptr @s2n_strerror_debug(i32 noundef %1997, ptr noundef @.str.4)
  %1999 = call ptr @__errno_location() #12
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call ptr @strerror(i32 noundef %2000) #11
  %2002 = call ptr @__errno_location() #12
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1991, ptr noundef @.str.2, i32 noundef %1992, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 62, ptr noundef %1995, ptr noundef %1998, ptr noundef %2001, i32 noundef %2003) #11
  br label %2022

2005:                                             ; preds = %1983, %1976
  %2006 = load i32, ptr %46, align 4, !tbaa !5
  %2007 = call ptr @__errno_location() #12
  store i32 %2006, ptr %2007, align 4, !tbaa !5
  %2008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2011 = load i32, ptr %2010, align 4, !tbaa !5
  %2012 = call ptr @s2n_strerror(i32 noundef %2011, ptr noundef @.str.4)
  %2013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  %2015 = call ptr @s2n_strerror_debug(i32 noundef %2014, ptr noundef @.str.4)
  %2016 = call ptr @__errno_location() #12
  %2017 = load i32, ptr %2016, align 4, !tbaa !5
  %2018 = call ptr @strerror(i32 noundef %2017) #11
  %2019 = call ptr @__errno_location() #12
  %2020 = load i32, ptr %2019, align 4, !tbaa !5
  %2021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2008, ptr noundef @.str.5, i32 noundef %2009, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 62, ptr noundef %2012, ptr noundef %2015, ptr noundef %2018, i32 noundef %2020) #11
  br label %2022

2022:                                             ; preds = %2005, %1988
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #11
  br label %2023

2023:                                             ; preds = %2022
  br label %2024

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

2025:                                             ; No predecessors!
  br label %2026

2026:                                             ; preds = %2025
  br label %2027

2027:                                             ; preds = %2026, %1969
  br label %2028

2028:                                             ; preds = %2027
  br label %2029

2029:                                             ; preds = %2028
  call void @llvm.lifetime.start.p0(i64 24, ptr %47) #11
  call void @llvm.memset.p0.i64(ptr align 8 %47, i8 0, i64 24, i1 false)
  br label %2030

2030:                                             ; preds = %2029
  %2031 = load i32, ptr @test_count, align 4, !tbaa !5
  %2032 = add nsw i32 %2031, 1
  store i32 %2032, ptr @test_count, align 4, !tbaa !5
  %2033 = call zeroext i1 @s2n_blob_is_growable(ptr noundef %47)
  br i1 %2033, label %2087, label %2034

2034:                                             ; preds = %2030
  br label %2035

2035:                                             ; preds = %2034
  br label %2036

2036:                                             ; preds = %2035
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2037 = call ptr @__errno_location() #12
  %2038 = load i32, ptr %2037, align 4, !tbaa !5
  store i32 %2038, ptr %48, align 4, !tbaa !5
  %2039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2040 = call i32 @s2n_print_stacktrace(ptr noundef %2039)
  %2041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2042 = trunc i8 %2041 to i1
  br i1 %2042, label %2043, label %2065

2043:                                             ; preds = %2036
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = call i32 @fileno(ptr noundef %2044) #11
  %2046 = call i32 @isatty(i32 noundef %2045) #11
  %2047 = icmp ne i32 %2046, 0
  br i1 %2047, label %2048, label %2065

2048:                                             ; preds = %2043
  %2049 = load i32, ptr %48, align 4, !tbaa !5
  %2050 = call ptr @__errno_location() #12
  store i32 %2049, ptr %2050, align 4, !tbaa !5
  %2051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2052 = load i32, ptr @test_count, align 4, !tbaa !5
  %2053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2054 = load i32, ptr %2053, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror(i32 noundef %2054, ptr noundef @.str.4)
  %2056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2057 = load i32, ptr %2056, align 4, !tbaa !5
  %2058 = call ptr @s2n_strerror_debug(i32 noundef %2057, ptr noundef @.str.4)
  %2059 = call ptr @__errno_location() #12
  %2060 = load i32, ptr %2059, align 4, !tbaa !5
  %2061 = call ptr @strerror(i32 noundef %2060) #11
  %2062 = call ptr @__errno_location() #12
  %2063 = load i32, ptr %2062, align 4, !tbaa !5
  %2064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2051, ptr noundef @.str.2, i32 noundef %2052, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 66, ptr noundef %2055, ptr noundef %2058, ptr noundef %2061, i32 noundef %2063) #11
  br label %2082

2065:                                             ; preds = %2043, %2036
  %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.5, i32 noundef %2069, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 66, ptr noundef %2072, ptr noundef %2075, ptr noundef %2078, i32 noundef %2080) #11
  br label %2082

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

2083:                                             ; preds = %2082
  br label %2084

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

2085:                                             ; No predecessors!
  br label %2086

2086:                                             ; preds = %2085
  br label %2087

2087:                                             ; preds = %2086, %2030
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

2089:                                             ; preds = %2088
  br label %2090

2090:                                             ; preds = %2089
  %2091 = load i32, ptr @test_count, align 4, !tbaa !5
  %2092 = add nsw i32 %2091, 1
  store i32 %2092, ptr @test_count, align 4, !tbaa !5
  %2093 = call i32 @s2n_realloc(ptr noundef %47, i32 noundef 24)
  %2094 = icmp eq i32 %2093, -1
  br i1 %2094, label %2095, label %2148

2095:                                             ; preds = %2090
  br label %2096

2096:                                             ; preds = %2095
  br label %2097

2097:                                             ; preds = %2096
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2098 = call ptr @__errno_location() #12
  %2099 = load i32, ptr %2098, align 4, !tbaa !5
  store i32 %2099, ptr %49, align 4, !tbaa !5
  %2100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2101 = call i32 @s2n_print_stacktrace(ptr noundef %2100)
  %2102 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2103 = trunc i8 %2102 to i1
  br i1 %2103, label %2104, label %2126

2104:                                             ; preds = %2097
  %2105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2106 = call i32 @fileno(ptr noundef %2105) #11
  %2107 = call i32 @isatty(i32 noundef %2106) #11
  %2108 = icmp ne i32 %2107, 0
  br i1 %2108, label %2109, label %2126

2109:                                             ; preds = %2104
  %2110 = load i32, ptr %49, align 4, !tbaa !5
  %2111 = call ptr @__errno_location() #12
  store i32 %2110, ptr %2111, align 4, !tbaa !5
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = load i32, ptr @test_count, align 4, !tbaa !5
  %2114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror(i32 noundef %2115, ptr noundef @.str.4)
  %2117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call ptr @s2n_strerror_debug(i32 noundef %2118, ptr noundef @.str.4)
  %2120 = call ptr @__errno_location() #12
  %2121 = load i32, ptr %2120, align 4, !tbaa !5
  %2122 = call ptr @strerror(i32 noundef %2121) #11
  %2123 = call ptr @__errno_location() #12
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2112, ptr noundef @.str.2, i32 noundef %2113, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 67, ptr noundef %2116, ptr noundef %2119, ptr noundef %2122, i32 noundef %2124) #11
  br label %2143

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

2143:                                             ; preds = %2126, %2109
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2144

2144:                                             ; preds = %2143
  br label %2145

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

2146:                                             ; No predecessors!
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147, %2090
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

2150:                                             ; preds = %2149
  br label %2151

2151:                                             ; preds = %2150
  %2152 = load i32, ptr @test_count, align 4, !tbaa !5
  %2153 = add nsw i32 %2152, 1
  store i32 %2153, ptr @test_count, align 4, !tbaa !5
  %2154 = call i32 @s2n_free(ptr noundef %47)
  %2155 = icmp eq i32 %2154, -1
  br i1 %2155, label %2156, label %2209

2156:                                             ; preds = %2151
  br label %2157

2157:                                             ; preds = %2156
  br label %2158

2158:                                             ; preds = %2157
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2159 = call ptr @__errno_location() #12
  %2160 = load i32, ptr %2159, align 4, !tbaa !5
  store i32 %2160, ptr %50, align 4, !tbaa !5
  %2161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2162 = call i32 @s2n_print_stacktrace(ptr noundef %2161)
  %2163 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2164 = trunc i8 %2163 to i1
  br i1 %2164, label %2165, label %2187

2165:                                             ; preds = %2158
  %2166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2167 = call i32 @fileno(ptr noundef %2166) #11
  %2168 = call i32 @isatty(i32 noundef %2167) #11
  %2169 = icmp ne i32 %2168, 0
  br i1 %2169, label %2170, label %2187

2170:                                             ; preds = %2165
  %2171 = load i32, ptr %50, align 4, !tbaa !5
  %2172 = call ptr @__errno_location() #12
  store i32 %2171, ptr %2172, align 4, !tbaa !5
  %2173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2174 = load i32, ptr @test_count, align 4, !tbaa !5
  %2175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call ptr @s2n_strerror(i32 noundef %2176, ptr noundef @.str.4)
  %2178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call ptr @s2n_strerror_debug(i32 noundef %2179, ptr noundef @.str.4)
  %2181 = call ptr @__errno_location() #12
  %2182 = load i32, ptr %2181, align 4, !tbaa !5
  %2183 = call ptr @strerror(i32 noundef %2182) #11
  %2184 = call ptr @__errno_location() #12
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2173, ptr noundef @.str.2, i32 noundef %2174, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 68, ptr noundef %2177, ptr noundef %2180, ptr noundef %2183, i32 noundef %2185) #11
  br label %2204

2187:                                             ; preds = %2165, %2158
  %2188 = load i32, ptr %50, align 4, !tbaa !5
  %2189 = call ptr @__errno_location() #12
  store i32 %2188, ptr %2189, align 4, !tbaa !5
  %2190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2191 = load i32, ptr @test_count, align 4, !tbaa !5
  %2192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror(i32 noundef %2193, ptr noundef @.str.4)
  %2195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call ptr @s2n_strerror_debug(i32 noundef %2196, ptr noundef @.str.4)
  %2198 = call ptr @__errno_location() #12
  %2199 = load i32, ptr %2198, align 4, !tbaa !5
  %2200 = call ptr @strerror(i32 noundef %2199) #11
  %2201 = call ptr @__errno_location() #12
  %2202 = load i32, ptr %2201, align 4, !tbaa !5
  %2203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2190, ptr noundef @.str.5, i32 noundef %2191, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 68, ptr noundef %2194, ptr noundef %2197, ptr noundef %2200, i32 noundef %2202) #11
  br label %2204

2204:                                             ; preds = %2187, %2170
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2205

2205:                                             ; preds = %2204
  br label %2206

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

2207:                                             ; No predecessors!
  br label %2208

2208:                                             ; preds = %2207
  br label %2209

2209:                                             ; preds = %2208, %2151
  br label %2210

2210:                                             ; preds = %2209
  br label %2211

2211:                                             ; preds = %2210
  call void @llvm.lifetime.start.p0(i64 24, ptr %51) #11
  call void @llvm.memset.p0.i64(ptr align 8 %51, i8 0, i64 24, i1 false)
  br label %2212

2212:                                             ; preds = %2211
  %2213 = load i32, ptr @test_count, align 4, !tbaa !5
  %2214 = add nsw i32 %2213, 1
  store i32 %2214, ptr @test_count, align 4, !tbaa !5
  %2215 = call i32 @s2n_alloc(ptr noundef %51, i32 noundef 12)
  %2216 = icmp eq i32 %2215, -1
  br i1 %2216, label %2217, label %2270

2217:                                             ; preds = %2212
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #11
  %2220 = call ptr @__errno_location() #12
  %2221 = load i32, ptr %2220, align 4, !tbaa !5
  store i32 %2221, ptr %52, align 4, !tbaa !5
  %2222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2223 = call i32 @s2n_print_stacktrace(ptr noundef %2222)
  %2224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2225 = trunc i8 %2224 to i1
  br i1 %2225, label %2226, label %2248

2226:                                             ; preds = %2219
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = call i32 @fileno(ptr noundef %2227) #11
  %2229 = call i32 @isatty(i32 noundef %2228) #11
  %2230 = icmp ne i32 %2229, 0
  br i1 %2230, label %2231, label %2248

2231:                                             ; preds = %2226
  %2232 = load i32, ptr %52, align 4, !tbaa !5
  %2233 = call ptr @__errno_location() #12
  store i32 %2232, ptr %2233, align 4, !tbaa !5
  %2234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2235 = load i32, ptr @test_count, align 4, !tbaa !5
  %2236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2237 = load i32, ptr %2236, align 4, !tbaa !5
  %2238 = call ptr @s2n_strerror(i32 noundef %2237, ptr noundef @.str.4)
  %2239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2240 = load i32, ptr %2239, align 4, !tbaa !5
  %2241 = call ptr @s2n_strerror_debug(i32 noundef %2240, ptr noundef @.str.4)
  %2242 = call ptr @__errno_location() #12
  %2243 = load i32, ptr %2242, align 4, !tbaa !5
  %2244 = call ptr @strerror(i32 noundef %2243) #11
  %2245 = call ptr @__errno_location() #12
  %2246 = load i32, ptr %2245, align 4, !tbaa !5
  %2247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2234, ptr noundef @.str.2, i32 noundef %2235, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 72, ptr noundef %2238, ptr noundef %2241, ptr noundef %2244, i32 noundef %2246) #11
  br label %2265

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

2265:                                             ; preds = %2248, %2231
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #11
  br label %2266

2266:                                             ; preds = %2265
  br label %2267

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

2268:                                             ; No predecessors!
  br label %2269

2269:                                             ; preds = %2268
  br label %2270

2270:                                             ; preds = %2269, %2212
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

2272:                                             ; preds = %2271
  br label %2273

2273:                                             ; preds = %2272
  %2274 = load i32, ptr @test_count, align 4, !tbaa !5
  %2275 = add nsw i32 %2274, 1
  store i32 %2275, ptr @test_count, align 4, !tbaa !5
  %2276 = call zeroext i1 @s2n_blob_is_growable(ptr noundef %51)
  br i1 %2276, label %2330, label %2277

2277:                                             ; preds = %2273
  br label %2278

2278:                                             ; preds = %2277
  br label %2279

2279:                                             ; preds = %2278
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #11
  %2280 = call ptr @__errno_location() #12
  %2281 = load i32, ptr %2280, align 4, !tbaa !5
  store i32 %2281, ptr %53, align 4, !tbaa !5
  %2282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2283 = call i32 @s2n_print_stacktrace(ptr noundef %2282)
  %2284 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2285 = trunc i8 %2284 to i1
  br i1 %2285, label %2286, label %2308

2286:                                             ; preds = %2279
  %2287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2288 = call i32 @fileno(ptr noundef %2287) #11
  %2289 = call i32 @isatty(i32 noundef %2288) #11
  %2290 = icmp ne i32 %2289, 0
  br i1 %2290, label %2291, label %2308

2291:                                             ; preds = %2286
  %2292 = load i32, ptr %53, align 4, !tbaa !5
  %2293 = call ptr @__errno_location() #12
  store i32 %2292, ptr %2293, align 4, !tbaa !5
  %2294 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2295 = load i32, ptr @test_count, align 4, !tbaa !5
  %2296 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror(i32 noundef %2297, ptr noundef @.str.4)
  %2299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2300 = load i32, ptr %2299, align 4, !tbaa !5
  %2301 = call ptr @s2n_strerror_debug(i32 noundef %2300, ptr noundef @.str.4)
  %2302 = call ptr @__errno_location() #12
  %2303 = load i32, ptr %2302, align 4, !tbaa !5
  %2304 = call ptr @strerror(i32 noundef %2303) #11
  %2305 = call ptr @__errno_location() #12
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2294, ptr noundef @.str.2, i32 noundef %2295, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 73, ptr noundef %2298, ptr noundef %2301, ptr noundef %2304, i32 noundef %2306) #11
  br label %2325

2308:                                             ; preds = %2286, %2279
  %2309 = load i32, ptr %53, align 4, !tbaa !5
  %2310 = call ptr @__errno_location() #12
  store i32 %2309, ptr %2310, align 4, !tbaa !5
  %2311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2312 = load i32, ptr @test_count, align 4, !tbaa !5
  %2313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2314 = load i32, ptr %2313, align 4, !tbaa !5
  %2315 = call ptr @s2n_strerror(i32 noundef %2314, ptr noundef @.str.4)
  %2316 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2317 = load i32, ptr %2316, align 4, !tbaa !5
  %2318 = call ptr @s2n_strerror_debug(i32 noundef %2317, ptr noundef @.str.4)
  %2319 = call ptr @__errno_location() #12
  %2320 = load i32, ptr %2319, align 4, !tbaa !5
  %2321 = call ptr @strerror(i32 noundef %2320) #11
  %2322 = call ptr @__errno_location() #12
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2311, ptr noundef @.str.5, i32 noundef %2312, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 73, ptr noundef %2315, ptr noundef %2318, ptr noundef %2321, i32 noundef %2323) #11
  br label %2325

2325:                                             ; preds = %2308, %2291
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #11
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

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

2328:                                             ; No predecessors!
  br label %2329

2329:                                             ; preds = %2328
  br label %2330

2330:                                             ; preds = %2329, %2273
  br label %2331

2331:                                             ; preds = %2330
  br label %2332

2332:                                             ; preds = %2331
  br label %2333

2333:                                             ; preds = %2332
  %2334 = load i32, ptr @test_count, align 4, !tbaa !5
  %2335 = add nsw i32 %2334, 1
  store i32 %2335, ptr @test_count, align 4, !tbaa !5
  %2336 = call i32 @s2n_free(ptr noundef %51)
  %2337 = icmp eq i32 %2336, -1
  br i1 %2337, label %2338, label %2391

2338:                                             ; preds = %2333
  br label %2339

2339:                                             ; preds = %2338
  br label %2340

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

2347:                                             ; preds = %2340
  %2348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2349 = call i32 @fileno(ptr noundef %2348) #11
  %2350 = call i32 @isatty(i32 noundef %2349) #11
  %2351 = icmp ne i32 %2350, 0
  br i1 %2351, label %2352, label %2369

2352:                                             ; preds = %2347
  %2353 = load i32, ptr %54, align 4, !tbaa !5
  %2354 = call ptr @__errno_location() #12
  store i32 %2353, ptr %2354, align 4, !tbaa !5
  %2355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2356 = load i32, ptr @test_count, align 4, !tbaa !5
  %2357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2358 = load i32, ptr %2357, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror(i32 noundef %2358, ptr noundef @.str.4)
  %2360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2361 = load i32, ptr %2360, align 4, !tbaa !5
  %2362 = call ptr @s2n_strerror_debug(i32 noundef %2361, ptr noundef @.str.4)
  %2363 = call ptr @__errno_location() #12
  %2364 = load i32, ptr %2363, align 4, !tbaa !5
  %2365 = call ptr @strerror(i32 noundef %2364) #11
  %2366 = call ptr @__errno_location() #12
  %2367 = load i32, ptr %2366, align 4, !tbaa !5
  %2368 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2355, ptr noundef @.str.2, i32 noundef %2356, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 74, ptr noundef %2359, ptr noundef %2362, ptr noundef %2365, i32 noundef %2367) #11
  br label %2386

2369:                                             ; preds = %2347, %2340
  %2370 = load i32, ptr %54, align 4, !tbaa !5
  %2371 = call ptr @__errno_location() #12
  store i32 %2370, ptr %2371, align 4, !tbaa !5
  %2372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2373 = load i32, ptr @test_count, align 4, !tbaa !5
  %2374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2375 = load i32, ptr %2374, align 4, !tbaa !5
  %2376 = call ptr @s2n_strerror(i32 noundef %2375, ptr noundef @.str.4)
  %2377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2378 = load i32, ptr %2377, align 4, !tbaa !5
  %2379 = call ptr @s2n_strerror_debug(i32 noundef %2378, ptr noundef @.str.4)
  %2380 = call ptr @__errno_location() #12
  %2381 = load i32, ptr %2380, align 4, !tbaa !5
  %2382 = call ptr @strerror(i32 noundef %2381) #11
  %2383 = call ptr @__errno_location() #12
  %2384 = load i32, ptr %2383, align 4, !tbaa !5
  %2385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2372, ptr noundef @.str.5, i32 noundef %2373, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 74, ptr noundef %2376, ptr noundef %2379, ptr noundef %2382, i32 noundef %2384) #11
  br label %2386

2386:                                             ; preds = %2369, %2352
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #11
  br label %2387

2387:                                             ; preds = %2386
  br label %2388

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

2389:                                             ; No predecessors!
  br label %2390

2390:                                             ; preds = %2389
  br label %2391

2391:                                             ; preds = %2390, %2333
  br label %2392

2392:                                             ; preds = %2391
  br label %2393

2393:                                             ; preds = %2392
  call void @llvm.lifetime.start.p0(i64 24, ptr %55) #11
  call void @llvm.memset.p0.i64(ptr align 8 %55, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 12, ptr %56) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %56, ptr align 1 @__const.main.hello_world, i64 12, i1 false)
  br label %2394

2394:                                             ; preds = %2393
  %2395 = load i32, ptr @test_count, align 4, !tbaa !5
  %2396 = add nsw i32 %2395, 1
  store i32 %2396, ptr @test_count, align 4, !tbaa !5
  %2397 = call i32 @s2n_alloc(ptr noundef %55, i32 noundef 12)
  %2398 = icmp eq i32 %2397, -1
  br i1 %2398, label %2399, label %2452

2399:                                             ; preds = %2394
  br label %2400

2400:                                             ; preds = %2399
  br label %2401

2401:                                             ; preds = %2400
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #11
  %2402 = call ptr @__errno_location() #12
  %2403 = load i32, ptr %2402, align 4, !tbaa !5
  store i32 %2403, ptr %57, align 4, !tbaa !5
  %2404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2405 = call i32 @s2n_print_stacktrace(ptr noundef %2404)
  %2406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2407 = trunc i8 %2406 to i1
  br i1 %2407, label %2408, label %2430

2408:                                             ; preds = %2401
  %2409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2410 = call i32 @fileno(ptr noundef %2409) #11
  %2411 = call i32 @isatty(i32 noundef %2410) #11
  %2412 = icmp ne i32 %2411, 0
  br i1 %2412, label %2413, label %2430

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

2430:                                             ; preds = %2408, %2401
  %2431 = load i32, ptr %57, align 4, !tbaa !5
  %2432 = call ptr @__errno_location() #12
  store i32 %2431, ptr %2432, align 4, !tbaa !5
  %2433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2434 = load i32, ptr @test_count, align 4, !tbaa !5
  %2435 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2436 = load i32, ptr %2435, align 4, !tbaa !5
  %2437 = call ptr @s2n_strerror(i32 noundef %2436, ptr noundef @.str.4)
  %2438 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2439 = load i32, ptr %2438, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef @.str.4)
  %2441 = call ptr @__errno_location() #12
  %2442 = load i32, ptr %2441, align 4, !tbaa !5
  %2443 = call ptr @strerror(i32 noundef %2442) #11
  %2444 = call ptr @__errno_location() #12
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2433, ptr noundef @.str.5, i32 noundef %2434, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 79, ptr noundef %2437, ptr noundef %2440, ptr noundef %2443, i32 noundef %2445) #11
  br label %2447

2447:                                             ; preds = %2430, %2413
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #11
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

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

2450:                                             ; No predecessors!
  br label %2451

2451:                                             ; preds = %2450
  br label %2452

2452:                                             ; preds = %2451, %2394
  br label %2453

2453:                                             ; preds = %2452
  br label %2454

2454:                                             ; preds = %2453
  br label %2455

2455:                                             ; preds = %2454
  %2456 = load i32, ptr @test_count, align 4, !tbaa !5
  %2457 = add nsw i32 %2456, 1
  store i32 %2457, ptr @test_count, align 4, !tbaa !5
  %2458 = call zeroext i1 @s2n_blob_is_growable(ptr noundef %55)
  br i1 %2458, label %2512, label %2459

2459:                                             ; preds = %2455
  br label %2460

2460:                                             ; preds = %2459
  br label %2461

2461:                                             ; preds = %2460
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #11
  %2462 = call ptr @__errno_location() #12
  %2463 = load i32, ptr %2462, align 4, !tbaa !5
  store i32 %2463, ptr %58, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = call i32 @s2n_print_stacktrace(ptr noundef %2464)
  %2466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2467 = trunc i8 %2466 to i1
  br i1 %2467, label %2468, label %2490

2468:                                             ; preds = %2461
  %2469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2470 = call i32 @fileno(ptr noundef %2469) #11
  %2471 = call i32 @isatty(i32 noundef %2470) #11
  %2472 = icmp ne i32 %2471, 0
  br i1 %2472, label %2473, label %2490

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

2490:                                             ; preds = %2468, %2461
  %2491 = load i32, ptr %58, align 4, !tbaa !5
  %2492 = call ptr @__errno_location() #12
  store i32 %2491, ptr %2492, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @s2n_strerror_debug(i32 noundef %2499, ptr noundef @.str.4)
  %2501 = call ptr @__errno_location() #12
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call ptr @strerror(i32 noundef %2502) #11
  %2504 = call ptr @__errno_location() #12
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef @.str.5, i32 noundef %2494, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 80, ptr noundef %2497, ptr noundef %2500, ptr noundef %2503, i32 noundef %2505) #11
  br label %2507

2507:                                             ; preds = %2490, %2473
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %2508

2508:                                             ; preds = %2507
  br label %2509

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

2510:                                             ; No predecessors!
  br label %2511

2511:                                             ; preds = %2510
  br label %2512

2512:                                             ; preds = %2511, %2455
  br label %2513

2513:                                             ; preds = %2512
  br label %2514

2514:                                             ; preds = %2513
  br label %2515

2515:                                             ; preds = %2514
  call void @llvm.lifetime.start.p0(i64 8, ptr %59) #11
  store i64 12, ptr %59, align 8, !tbaa !15
  %2516 = load i64, ptr %59, align 8, !tbaa !15
  %2517 = icmp ne i64 %2516, 0
  br i1 %2517, label %2518, label %2578

2518:                                             ; preds = %2515
  %2519 = getelementptr inbounds %struct.s2n_blob, ptr %55, i32 0, i32 0
  %2520 = load ptr, ptr %2519, align 8, !tbaa !17
  %2521 = getelementptr inbounds [12 x i8], ptr %56, i64 0, i64 0
  %2522 = load i64, ptr %59, align 8, !tbaa !15
  call void @llvm.memmove.p0.p0.i64(ptr align 1 %2520, ptr align 1 %2521, i64 %2522, i1 false)
  %2523 = icmp eq ptr %2520, null
  br i1 %2523, label %2524, label %2577

2524:                                             ; preds = %2518
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

2526:                                             ; preds = %2525
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %2527 = call ptr @__errno_location() #12
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  store i32 %2528, ptr %60, align 4, !tbaa !5
  %2529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2530 = call i32 @s2n_print_stacktrace(ptr noundef %2529)
  %2531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2532 = trunc i8 %2531 to i1
  br i1 %2532, label %2533, label %2555

2533:                                             ; preds = %2526
  %2534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2535 = call i32 @fileno(ptr noundef %2534) #11
  %2536 = call i32 @isatty(i32 noundef %2535) #11
  %2537 = icmp ne i32 %2536, 0
  br i1 %2537, label %2538, label %2555

2538:                                             ; preds = %2533
  %2539 = load i32, ptr %60, align 4, !tbaa !5
  %2540 = call ptr @__errno_location() #12
  store i32 %2539, ptr %2540, align 4, !tbaa !5
  %2541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2544 = load i32, ptr %2543, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror(i32 noundef %2544, ptr noundef @.str.4)
  %2546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2547 = load i32, ptr %2546, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror_debug(i32 noundef %2547, ptr noundef @.str.4)
  %2549 = call ptr @__errno_location() #12
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @strerror(i32 noundef %2550) #11
  %2552 = call ptr @__errno_location() #12
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2541, ptr noundef @.str.2, i32 noundef %2542, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 81, ptr noundef %2545, ptr noundef %2548, ptr noundef %2551, i32 noundef %2553) #11
  br label %2572

2555:                                             ; preds = %2533, %2526
  %2556 = load i32, ptr %60, align 4, !tbaa !5
  %2557 = call ptr @__errno_location() #12
  store i32 %2556, ptr %2557, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = load i32, ptr @test_count, align 4, !tbaa !5
  %2560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2561 = load i32, ptr %2560, align 4, !tbaa !5
  %2562 = call ptr @s2n_strerror(i32 noundef %2561, ptr noundef @.str.4)
  %2563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2564 = load i32, ptr %2563, align 4, !tbaa !5
  %2565 = call ptr @s2n_strerror_debug(i32 noundef %2564, ptr noundef @.str.4)
  %2566 = call ptr @__errno_location() #12
  %2567 = load i32, ptr %2566, align 4, !tbaa !5
  %2568 = call ptr @strerror(i32 noundef %2567) #11
  %2569 = call ptr @__errno_location() #12
  %2570 = load i32, ptr %2569, align 4, !tbaa !5
  %2571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2558, ptr noundef @.str.5, i32 noundef %2559, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 81, ptr noundef %2562, ptr noundef %2565, ptr noundef %2568, i32 noundef %2570) #11
  br label %2572

2572:                                             ; preds = %2555, %2538
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #11
  br label %2573

2573:                                             ; preds = %2572
  br label %2574

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

2575:                                             ; No predecessors!
  br label %2576

2576:                                             ; preds = %2575
  br label %2577

2577:                                             ; preds = %2576, %2518
  br label %2578

2578:                                             ; preds = %2577, %2515
  call void @llvm.lifetime.end.p0(i64 8, ptr %59) #11
  br label %2579

2579:                                             ; preds = %2578
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  %2582 = load i32, ptr @test_count, align 4, !tbaa !5
  %2583 = add nsw i32 %2582, 1
  store i32 %2583, ptr @test_count, align 4, !tbaa !5
  %2584 = call i32 @s2n_realloc(ptr noundef %55, i32 noundef 24)
  %2585 = icmp eq i32 %2584, -1
  br i1 %2585, label %2586, label %2639

2586:                                             ; preds = %2581
  br label %2587

2587:                                             ; preds = %2586
  br label %2588

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

2595:                                             ; preds = %2588
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = call i32 @fileno(ptr noundef %2596) #11
  %2598 = call i32 @isatty(i32 noundef %2597) #11
  %2599 = icmp ne i32 %2598, 0
  br i1 %2599, label %2600, label %2617

2600:                                             ; preds = %2595
  %2601 = load i32, ptr %61, align 4, !tbaa !5
  %2602 = call ptr @__errno_location() #12
  store i32 %2601, ptr %2602, align 4, !tbaa !5
  %2603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2604 = load i32, ptr @test_count, align 4, !tbaa !5
  %2605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2606 = load i32, ptr %2605, align 4, !tbaa !5
  %2607 = call ptr @s2n_strerror(i32 noundef %2606, ptr noundef @.str.4)
  %2608 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2609 = load i32, ptr %2608, align 4, !tbaa !5
  %2610 = call ptr @s2n_strerror_debug(i32 noundef %2609, ptr noundef @.str.4)
  %2611 = call ptr @__errno_location() #12
  %2612 = load i32, ptr %2611, align 4, !tbaa !5
  %2613 = call ptr @strerror(i32 noundef %2612) #11
  %2614 = call ptr @__errno_location() #12
  %2615 = load i32, ptr %2614, align 4, !tbaa !5
  %2616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2603, ptr noundef @.str.2, i32 noundef %2604, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 82, ptr noundef %2607, ptr noundef %2610, ptr noundef %2613, i32 noundef %2615) #11
  br label %2634

2617:                                             ; preds = %2595, %2588
  %2618 = load i32, ptr %61, align 4, !tbaa !5
  %2619 = call ptr @__errno_location() #12
  store i32 %2618, ptr %2619, align 4, !tbaa !5
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = load i32, ptr @test_count, align 4, !tbaa !5
  %2622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2623 = load i32, ptr %2622, align 4, !tbaa !5
  %2624 = call ptr @s2n_strerror(i32 noundef %2623, ptr noundef @.str.4)
  %2625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2626 = load i32, ptr %2625, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror_debug(i32 noundef %2626, ptr noundef @.str.4)
  %2628 = call ptr @__errno_location() #12
  %2629 = load i32, ptr %2628, align 4, !tbaa !5
  %2630 = call ptr @strerror(i32 noundef %2629) #11
  %2631 = call ptr @__errno_location() #12
  %2632 = load i32, ptr %2631, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2620, ptr noundef @.str.5, i32 noundef %2621, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 82, ptr noundef %2624, ptr noundef %2627, ptr noundef %2630, i32 noundef %2632) #11
  br label %2634

2634:                                             ; preds = %2617, %2600
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #11
  br label %2635

2635:                                             ; preds = %2634
  br label %2636

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

2637:                                             ; No predecessors!
  br label %2638

2638:                                             ; preds = %2637
  br label %2639

2639:                                             ; preds = %2638, %2581
  br label %2640

2640:                                             ; preds = %2639
  br label %2641

2641:                                             ; preds = %2640
  br label %2642

2642:                                             ; preds = %2641
  %2643 = load i32, ptr @test_count, align 4, !tbaa !5
  %2644 = add nsw i32 %2643, 1
  store i32 %2644, ptr @test_count, align 4, !tbaa !5
  %2645 = getelementptr inbounds %struct.s2n_blob, ptr %55, i32 0, i32 0
  %2646 = load ptr, ptr %2645, align 8, !tbaa !17
  %2647 = getelementptr inbounds [12 x i8], ptr %56, i64 0, i64 0
  %2648 = call i32 @memcmp(ptr noundef %2646, ptr noundef %2647, i64 noundef 12) #14
  %2649 = icmp eq i32 %2648, 0
  br i1 %2649, label %2703, label %2650

2650:                                             ; preds = %2642
  br label %2651

2651:                                             ; preds = %2650
  br label %2652

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

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

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

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

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

2699:                                             ; preds = %2698
  br label %2700

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

2701:                                             ; No predecessors!
  br label %2702

2702:                                             ; preds = %2701
  br label %2703

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

2704:                                             ; preds = %2703
  br label %2705

2705:                                             ; preds = %2704
  br label %2706

2706:                                             ; preds = %2705
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = add nsw i32 %2707, 1
  store i32 %2708, ptr @test_count, align 4, !tbaa !5
  %2709 = call i32 @s2n_free(ptr noundef %55)
  %2710 = icmp eq i32 %2709, -1
  br i1 %2710, label %2711, label %2764

2711:                                             ; preds = %2706
  br label %2712

2712:                                             ; preds = %2711
  br label %2713

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

2720:                                             ; preds = %2713
  %2721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2722 = call i32 @fileno(ptr noundef %2721) #11
  %2723 = call i32 @isatty(i32 noundef %2722) #11
  %2724 = icmp ne i32 %2723, 0
  br i1 %2724, label %2725, label %2742

2725:                                             ; preds = %2720
  %2726 = load i32, ptr %63, align 4, !tbaa !5
  %2727 = call ptr @__errno_location() #12
  store i32 %2726, ptr %2727, align 4, !tbaa !5
  %2728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2729 = load i32, ptr @test_count, align 4, !tbaa !5
  %2730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2731 = load i32, ptr %2730, align 4, !tbaa !5
  %2732 = call ptr @s2n_strerror(i32 noundef %2731, ptr noundef @.str.4)
  %2733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2734 = load i32, ptr %2733, align 4, !tbaa !5
  %2735 = call ptr @s2n_strerror_debug(i32 noundef %2734, ptr noundef @.str.4)
  %2736 = call ptr @__errno_location() #12
  %2737 = load i32, ptr %2736, align 4, !tbaa !5
  %2738 = call ptr @strerror(i32 noundef %2737) #11
  %2739 = call ptr @__errno_location() #12
  %2740 = load i32, ptr %2739, align 4, !tbaa !5
  %2741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2728, ptr noundef @.str.2, i32 noundef %2729, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2732, ptr noundef %2735, ptr noundef %2738, i32 noundef %2740) #11
  br label %2759

2742:                                             ; preds = %2720, %2713
  %2743 = load i32, ptr %63, align 4, !tbaa !5
  %2744 = call ptr @__errno_location() #12
  store i32 %2743, ptr %2744, align 4, !tbaa !5
  %2745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2746 = load i32, ptr @test_count, align 4, !tbaa !5
  %2747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2748 = load i32, ptr %2747, align 4, !tbaa !5
  %2749 = call ptr @s2n_strerror(i32 noundef %2748, ptr noundef @.str.4)
  %2750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror_debug(i32 noundef %2751, ptr noundef @.str.4)
  %2753 = call ptr @__errno_location() #12
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call ptr @strerror(i32 noundef %2754) #11
  %2756 = call ptr @__errno_location() #12
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2745, ptr noundef @.str.5, i32 noundef %2746, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 84, ptr noundef %2749, ptr noundef %2752, ptr noundef %2755, i32 noundef %2757) #11
  br label %2759

2759:                                             ; preds = %2742, %2725
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %2760

2760:                                             ; preds = %2759
  br label %2761

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

2762:                                             ; No predecessors!
  br label %2763

2763:                                             ; preds = %2762
  br label %2764

2764:                                             ; preds = %2763, %2706
  br label %2765

2765:                                             ; preds = %2764
  br label %2766

2766:                                             ; preds = %2765
  call void @llvm.lifetime.start.p0(i64 24, ptr %64) #11
  call void @llvm.memset.p0.i64(ptr align 8 %64, i8 0, i64 24, i1 false)
  br label %2767

2767:                                             ; preds = %2766
  %2768 = load i32, ptr @test_count, align 4, !tbaa !5
  %2769 = add nsw i32 %2768, 1
  store i32 %2769, ptr @test_count, align 4, !tbaa !5
  %2770 = call i32 @s2n_alloc(ptr noundef %64, i32 noundef 12)
  %2771 = icmp eq i32 %2770, -1
  br i1 %2771, label %2772, label %2825

2772:                                             ; preds = %2767
  br label %2773

2773:                                             ; preds = %2772
  br label %2774

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

2781:                                             ; preds = %2774
  %2782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2783 = call i32 @fileno(ptr noundef %2782) #11
  %2784 = call i32 @isatty(i32 noundef %2783) #11
  %2785 = icmp ne i32 %2784, 0
  br i1 %2785, label %2786, label %2803

2786:                                             ; preds = %2781
  %2787 = load i32, ptr %65, align 4, !tbaa !5
  %2788 = call ptr @__errno_location() #12
  store i32 %2787, ptr %2788, align 4, !tbaa !5
  %2789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef @.str.4)
  %2794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @s2n_strerror_debug(i32 noundef %2795, ptr noundef @.str.4)
  %2797 = call ptr @__errno_location() #12
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call ptr @strerror(i32 noundef %2798) #11
  %2800 = call ptr @__errno_location() #12
  %2801 = load i32, ptr %2800, align 4, !tbaa !5
  %2802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2789, ptr noundef @.str.2, i32 noundef %2790, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 88, ptr noundef %2793, ptr noundef %2796, ptr noundef %2799, i32 noundef %2801) #11
  br label %2820

2803:                                             ; preds = %2781, %2774
  %2804 = load i32, ptr %65, align 4, !tbaa !5
  %2805 = call ptr @__errno_location() #12
  store i32 %2804, ptr %2805, align 4, !tbaa !5
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = load i32, ptr @test_count, align 4, !tbaa !5
  %2808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2809 = load i32, ptr %2808, align 4, !tbaa !5
  %2810 = call ptr @s2n_strerror(i32 noundef %2809, ptr noundef @.str.4)
  %2811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2812 = load i32, ptr %2811, align 4, !tbaa !5
  %2813 = call ptr @s2n_strerror_debug(i32 noundef %2812, ptr noundef @.str.4)
  %2814 = call ptr @__errno_location() #12
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call ptr @strerror(i32 noundef %2815) #11
  %2817 = call ptr @__errno_location() #12
  %2818 = load i32, ptr %2817, align 4, !tbaa !5
  %2819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2806, ptr noundef @.str.5, i32 noundef %2807, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 88, ptr noundef %2810, ptr noundef %2813, ptr noundef %2816, i32 noundef %2818) #11
  br label %2820

2820:                                             ; preds = %2803, %2786
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #11
  br label %2821

2821:                                             ; preds = %2820
  br label %2822

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

2823:                                             ; No predecessors!
  br label %2824

2824:                                             ; preds = %2823
  br label %2825

2825:                                             ; preds = %2824, %2767
  br label %2826

2826:                                             ; preds = %2825
  br label %2827

2827:                                             ; preds = %2826
  %2828 = getelementptr inbounds %struct.s2n_blob, ptr %64, i32 0, i32 1
  store i32 0, ptr %2828, align 8, !tbaa !19
  br label %2829

2829:                                             ; preds = %2827
  %2830 = load i32, ptr @test_count, align 4, !tbaa !5
  %2831 = add nsw i32 %2830, 1
  store i32 %2831, ptr @test_count, align 4, !tbaa !5
  %2832 = getelementptr inbounds %struct.s2n_blob, ptr %64, i32 0, i32 2
  %2833 = load i32, ptr %2832, align 4, !tbaa !20
  %2834 = add i32 %2833, 12
  %2835 = call i32 @s2n_realloc(ptr noundef %64, i32 noundef %2834)
  %2836 = icmp eq i32 %2835, -1
  br i1 %2836, label %2837, label %2890

2837:                                             ; preds = %2829
  br label %2838

2838:                                             ; preds = %2837
  br label %2839

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

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

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

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

2885:                                             ; preds = %2868, %2851
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #11
  br label %2886

2886:                                             ; preds = %2885
  br label %2887

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

2888:                                             ; No predecessors!
  br label %2889

2889:                                             ; preds = %2888
  br label %2890

2890:                                             ; preds = %2889, %2829
  br label %2891

2891:                                             ; preds = %2890
  br label %2892

2892:                                             ; preds = %2891
  br label %2893

2893:                                             ; preds = %2892
  %2894 = load i32, ptr @test_count, align 4, !tbaa !5
  %2895 = add nsw i32 %2894, 1
  store i32 %2895, ptr @test_count, align 4, !tbaa !5
  %2896 = call i32 @s2n_free(ptr noundef %64)
  %2897 = icmp eq i32 %2896, -1
  br i1 %2897, label %2898, label %2951

2898:                                             ; preds = %2893
  br label %2899

2899:                                             ; preds = %2898
  br label %2900

2900:                                             ; preds = %2899
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #11
  %2901 = call ptr @__errno_location() #12
  %2902 = load i32, ptr %2901, align 4, !tbaa !5
  store i32 %2902, ptr %67, align 4, !tbaa !5
  %2903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2904 = call i32 @s2n_print_stacktrace(ptr noundef %2903)
  %2905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2906 = trunc i8 %2905 to i1
  br i1 %2906, label %2907, label %2929

2907:                                             ; preds = %2900
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = call i32 @fileno(ptr noundef %2908) #11
  %2910 = call i32 @isatty(i32 noundef %2909) #11
  %2911 = icmp ne i32 %2910, 0
  br i1 %2911, label %2912, label %2929

2912:                                             ; preds = %2907
  %2913 = load i32, ptr %67, align 4, !tbaa !5
  %2914 = call ptr @__errno_location() #12
  store i32 %2913, ptr %2914, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = load i32, ptr @test_count, align 4, !tbaa !5
  %2917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @s2n_strerror(i32 noundef %2918, ptr noundef @.str.4)
  %2920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call ptr @s2n_strerror_debug(i32 noundef %2921, ptr noundef @.str.4)
  %2923 = call ptr @__errno_location() #12
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @strerror(i32 noundef %2924) #11
  %2926 = call ptr @__errno_location() #12
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2915, ptr noundef @.str.2, i32 noundef %2916, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 91, ptr noundef %2919, ptr noundef %2922, ptr noundef %2925, i32 noundef %2927) #11
  br label %2946

2929:                                             ; preds = %2907, %2900
  %2930 = load i32, ptr %67, align 4, !tbaa !5
  %2931 = call ptr @__errno_location() #12
  store i32 %2930, ptr %2931, align 4, !tbaa !5
  %2932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2933 = load i32, ptr @test_count, align 4, !tbaa !5
  %2934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2935 = load i32, ptr %2934, align 4, !tbaa !5
  %2936 = call ptr @s2n_strerror(i32 noundef %2935, ptr noundef @.str.4)
  %2937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2938 = load i32, ptr %2937, align 4, !tbaa !5
  %2939 = call ptr @s2n_strerror_debug(i32 noundef %2938, ptr noundef @.str.4)
  %2940 = call ptr @__errno_location() #12
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  %2942 = call ptr @strerror(i32 noundef %2941) #11
  %2943 = call ptr @__errno_location() #12
  %2944 = load i32, ptr %2943, align 4, !tbaa !5
  %2945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2932, ptr noundef @.str.5, i32 noundef %2933, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 91, ptr noundef %2936, ptr noundef %2939, ptr noundef %2942, i32 noundef %2944) #11
  br label %2946

2946:                                             ; preds = %2929, %2912
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %2947

2947:                                             ; preds = %2946
  br label %2948

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

2949:                                             ; No predecessors!
  br label %2950

2950:                                             ; preds = %2949
  br label %2951

2951:                                             ; preds = %2950, %2893
  br label %2952

2952:                                             ; preds = %2951
  br label %2953

2953:                                             ; preds = %2952
  call void @llvm.lifetime.start.p0(i64 24, ptr %68) #11
  call void @llvm.memset.p0.i64(ptr align 8 %68, i8 0, i64 24, i1 false)
  br label %2954

2954:                                             ; preds = %2953
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = add nsw i32 %2955, 1
  store i32 %2956, ptr @test_count, align 4, !tbaa !5
  %2957 = getelementptr inbounds [12 x i8], ptr %56, i64 0, i64 0
  %2958 = call i32 @s2n_blob_init(ptr noundef %68, ptr noundef %2957, i32 noundef 12)
  %2959 = icmp eq i32 %2958, -1
  br i1 %2959, label %2960, label %3013

2960:                                             ; preds = %2954
  br label %2961

2961:                                             ; preds = %2960
  br label %2962

2962:                                             ; preds = %2961
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  %2963 = call ptr @__errno_location() #12
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  store i32 %2964, ptr %69, align 4, !tbaa !5
  %2965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2966 = call i32 @s2n_print_stacktrace(ptr noundef %2965)
  %2967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2968 = trunc i8 %2967 to i1
  br i1 %2968, label %2969, label %2991

2969:                                             ; preds = %2962
  %2970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2971 = call i32 @fileno(ptr noundef %2970) #11
  %2972 = call i32 @isatty(i32 noundef %2971) #11
  %2973 = icmp ne i32 %2972, 0
  br i1 %2973, label %2974, label %2991

2974:                                             ; preds = %2969
  %2975 = load i32, ptr %69, align 4, !tbaa !5
  %2976 = call ptr @__errno_location() #12
  store i32 %2975, ptr %2976, align 4, !tbaa !5
  %2977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2978 = load i32, ptr @test_count, align 4, !tbaa !5
  %2979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call ptr @s2n_strerror(i32 noundef %2980, ptr noundef @.str.4)
  %2982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call ptr @s2n_strerror_debug(i32 noundef %2983, ptr noundef @.str.4)
  %2985 = call ptr @__errno_location() #12
  %2986 = load i32, ptr %2985, align 4, !tbaa !5
  %2987 = call ptr @strerror(i32 noundef %2986) #11
  %2988 = call ptr @__errno_location() #12
  %2989 = load i32, ptr %2988, align 4, !tbaa !5
  %2990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2977, ptr noundef @.str.2, i32 noundef %2978, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2981, ptr noundef %2984, ptr noundef %2987, i32 noundef %2989) #11
  br label %3008

2991:                                             ; preds = %2969, %2962
  %2992 = load i32, ptr %69, align 4, !tbaa !5
  %2993 = call ptr @__errno_location() #12
  store i32 %2992, ptr %2993, align 4, !tbaa !5
  %2994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2995 = load i32, ptr @test_count, align 4, !tbaa !5
  %2996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2997 = load i32, ptr %2996, align 4, !tbaa !5
  %2998 = call ptr @s2n_strerror(i32 noundef %2997, ptr noundef @.str.4)
  %2999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3000 = load i32, ptr %2999, align 4, !tbaa !5
  %3001 = call ptr @s2n_strerror_debug(i32 noundef %3000, ptr noundef @.str.4)
  %3002 = call ptr @__errno_location() #12
  %3003 = load i32, ptr %3002, align 4, !tbaa !5
  %3004 = call ptr @strerror(i32 noundef %3003) #11
  %3005 = call ptr @__errno_location() #12
  %3006 = load i32, ptr %3005, align 4, !tbaa !5
  %3007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2994, ptr noundef @.str.5, i32 noundef %2995, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 95, ptr noundef %2998, ptr noundef %3001, ptr noundef %3004, i32 noundef %3006) #11
  br label %3008

3008:                                             ; preds = %2991, %2974
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  br label %3009

3009:                                             ; preds = %3008
  br label %3010

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

3011:                                             ; No predecessors!
  br label %3012

3012:                                             ; preds = %3011
  br label %3013

3013:                                             ; preds = %3012, %2954
  br label %3014

3014:                                             ; preds = %3013
  br label %3015

3015:                                             ; preds = %3014
  br label %3016

3016:                                             ; preds = %3015
  %3017 = load i32, ptr @test_count, align 4, !tbaa !5
  %3018 = add nsw i32 %3017, 1
  store i32 %3018, ptr @test_count, align 4, !tbaa !5
  %3019 = call i32 @s2n_blob_char_to_lower(ptr noundef %68)
  %3020 = icmp eq i32 %3019, -1
  br i1 %3020, label %3021, label %3074

3021:                                             ; preds = %3016
  br label %3022

3022:                                             ; preds = %3021
  br label %3023

3023:                                             ; preds = %3022
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #11
  %3024 = call ptr @__errno_location() #12
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  store i32 %3025, ptr %70, align 4, !tbaa !5
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = call i32 @s2n_print_stacktrace(ptr noundef %3026)
  %3028 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3029 = trunc i8 %3028 to i1
  br i1 %3029, label %3030, label %3052

3030:                                             ; preds = %3023
  %3031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3032 = call i32 @fileno(ptr noundef %3031) #11
  %3033 = call i32 @isatty(i32 noundef %3032) #11
  %3034 = icmp ne i32 %3033, 0
  br i1 %3034, label %3035, label %3052

3035:                                             ; preds = %3030
  %3036 = load i32, ptr %70, align 4, !tbaa !5
  %3037 = call ptr @__errno_location() #12
  store i32 %3036, ptr %3037, align 4, !tbaa !5
  %3038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3039 = load i32, ptr @test_count, align 4, !tbaa !5
  %3040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3041 = load i32, ptr %3040, align 4, !tbaa !5
  %3042 = call ptr @s2n_strerror(i32 noundef %3041, ptr noundef @.str.4)
  %3043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3044 = load i32, ptr %3043, align 4, !tbaa !5
  %3045 = call ptr @s2n_strerror_debug(i32 noundef %3044, ptr noundef @.str.4)
  %3046 = call ptr @__errno_location() #12
  %3047 = load i32, ptr %3046, align 4, !tbaa !5
  %3048 = call ptr @strerror(i32 noundef %3047) #11
  %3049 = call ptr @__errno_location() #12
  %3050 = load i32, ptr %3049, align 4, !tbaa !5
  %3051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3038, ptr noundef @.str.2, i32 noundef %3039, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 96, ptr noundef %3042, ptr noundef %3045, ptr noundef %3048, i32 noundef %3050) #11
  br label %3069

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

3069:                                             ; preds = %3052, %3035
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #11
  br label %3070

3070:                                             ; preds = %3069
  br label %3071

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

3072:                                             ; No predecessors!
  br label %3073

3073:                                             ; preds = %3072
  br label %3074

3074:                                             ; preds = %3073, %3016
  br label %3075

3075:                                             ; preds = %3074
  br label %3076

3076:                                             ; preds = %3075
  br label %3077

3077:                                             ; preds = %3076
  %3078 = load i32, ptr @test_count, align 4, !tbaa !5
  %3079 = add nsw i32 %3078, 1
  store i32 %3079, ptr @test_count, align 4, !tbaa !5
  %3080 = getelementptr inbounds %struct.s2n_blob, ptr %68, i32 0, i32 0
  %3081 = load ptr, ptr %3080, align 8, !tbaa !17
  %3082 = call i32 @memcmp(ptr noundef %3081, ptr noundef @.str.43, i64 noundef 12) #14
  %3083 = icmp eq i32 %3082, -1
  br i1 %3083, label %3084, label %3137

3084:                                             ; preds = %3077
  br label %3085

3085:                                             ; preds = %3084
  br label %3086

3086:                                             ; preds = %3085
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3087 = call ptr @__errno_location() #12
  %3088 = load i32, ptr %3087, align 4, !tbaa !5
  store i32 %3088, ptr %71, align 4, !tbaa !5
  %3089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3090 = call i32 @s2n_print_stacktrace(ptr noundef %3089)
  %3091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3092 = trunc i8 %3091 to i1
  br i1 %3092, label %3093, label %3115

3093:                                             ; preds = %3086
  %3094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3095 = call i32 @fileno(ptr noundef %3094) #11
  %3096 = call i32 @isatty(i32 noundef %3095) #11
  %3097 = icmp ne i32 %3096, 0
  br i1 %3097, label %3098, label %3115

3098:                                             ; preds = %3093
  %3099 = load i32, ptr %71, align 4, !tbaa !5
  %3100 = call ptr @__errno_location() #12
  store i32 %3099, ptr %3100, align 4, !tbaa !5
  %3101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3102 = load i32, ptr @test_count, align 4, !tbaa !5
  %3103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call ptr @s2n_strerror(i32 noundef %3104, ptr noundef @.str.4)
  %3106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = call ptr @s2n_strerror_debug(i32 noundef %3107, ptr noundef @.str.4)
  %3109 = call ptr @__errno_location() #12
  %3110 = load i32, ptr %3109, align 4, !tbaa !5
  %3111 = call ptr @strerror(i32 noundef %3110) #11
  %3112 = call ptr @__errno_location() #12
  %3113 = load i32, ptr %3112, align 4, !tbaa !5
  %3114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3101, ptr noundef @.str.2, i32 noundef %3102, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 97, ptr noundef %3105, ptr noundef %3108, ptr noundef %3111, i32 noundef %3113) #11
  br label %3132

3115:                                             ; preds = %3093, %3086
  %3116 = load i32, ptr %71, align 4, !tbaa !5
  %3117 = call ptr @__errno_location() #12
  store i32 %3116, ptr %3117, align 4, !tbaa !5
  %3118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3119 = load i32, ptr @test_count, align 4, !tbaa !5
  %3120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3121 = load i32, ptr %3120, align 4, !tbaa !5
  %3122 = call ptr @s2n_strerror(i32 noundef %3121, ptr noundef @.str.4)
  %3123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3124 = load i32, ptr %3123, align 4, !tbaa !5
  %3125 = call ptr @s2n_strerror_debug(i32 noundef %3124, ptr noundef @.str.4)
  %3126 = call ptr @__errno_location() #12
  %3127 = load i32, ptr %3126, align 4, !tbaa !5
  %3128 = call ptr @strerror(i32 noundef %3127) #11
  %3129 = call ptr @__errno_location() #12
  %3130 = load i32, ptr %3129, align 4, !tbaa !5
  %3131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3118, ptr noundef @.str.5, i32 noundef %3119, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 97, ptr noundef %3122, ptr noundef %3125, ptr noundef %3128, i32 noundef %3130) #11
  br label %3132

3132:                                             ; preds = %3115, %3098
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3133

3133:                                             ; preds = %3132
  br label %3134

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

3135:                                             ; No predecessors!
  br label %3136

3136:                                             ; preds = %3135
  br label %3137

3137:                                             ; preds = %3136, %3077
  br label %3138

3138:                                             ; preds = %3137
  br label %3139

3139:                                             ; preds = %3138
  call void @llvm.lifetime.start.p0(i64 24, ptr %72) #11
  call void @llvm.memset.p0.i64(ptr align 8 %72, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 7, ptr %73) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %73, ptr align 1 @__const.main.hello, i64 7, i1 false)
  call void @llvm.lifetime.start.p0(i64 6, ptr %74) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %74, ptr align 1 @__const.main.world, i64 6, i1 false)
  br label %3140

3140:                                             ; preds = %3139
  %3141 = load i32, ptr @test_count, align 4, !tbaa !5
  %3142 = add nsw i32 %3141, 1
  store i32 %3142, ptr @test_count, align 4, !tbaa !5
  %3143 = getelementptr inbounds [7 x i8], ptr %73, i64 0, i64 0
  %3144 = call i64 @strlen(ptr noundef %3143) #14
  %3145 = trunc i64 %3144 to i32
  %3146 = call i32 @s2n_blob_slice(ptr noundef %68, ptr noundef %72, i32 noundef %3145, i32 noundef 6)
  %3147 = icmp eq i32 %3146, -1
  br i1 %3147, label %3148, label %3201

3148:                                             ; preds = %3140
  br label %3149

3149:                                             ; preds = %3148
  br label %3150

3150:                                             ; preds = %3149
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #11
  %3151 = call ptr @__errno_location() #12
  %3152 = load i32, ptr %3151, align 4, !tbaa !5
  store i32 %3152, ptr %75, align 4, !tbaa !5
  %3153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3154 = call i32 @s2n_print_stacktrace(ptr noundef %3153)
  %3155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3156 = trunc i8 %3155 to i1
  br i1 %3156, label %3157, label %3179

3157:                                             ; preds = %3150
  %3158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3159 = call i32 @fileno(ptr noundef %3158) #11
  %3160 = call i32 @isatty(i32 noundef %3159) #11
  %3161 = icmp ne i32 %3160, 0
  br i1 %3161, label %3162, label %3179

3162:                                             ; preds = %3157
  %3163 = load i32, ptr %75, align 4, !tbaa !5
  %3164 = call ptr @__errno_location() #12
  store i32 %3163, ptr %3164, align 4, !tbaa !5
  %3165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3166 = load i32, ptr @test_count, align 4, !tbaa !5
  %3167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call ptr @s2n_strerror(i32 noundef %3168, ptr noundef @.str.4)
  %3170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror_debug(i32 noundef %3171, ptr noundef @.str.4)
  %3173 = call ptr @__errno_location() #12
  %3174 = load i32, ptr %3173, align 4, !tbaa !5
  %3175 = call ptr @strerror(i32 noundef %3174) #11
  %3176 = call ptr @__errno_location() #12
  %3177 = load i32, ptr %3176, align 4, !tbaa !5
  %3178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3165, ptr noundef @.str.2, i32 noundef %3166, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 103, ptr noundef %3169, ptr noundef %3172, ptr noundef %3175, i32 noundef %3177) #11
  br label %3196

3179:                                             ; preds = %3157, %3150
  %3180 = load i32, ptr %75, align 4, !tbaa !5
  %3181 = call ptr @__errno_location() #12
  store i32 %3180, ptr %3181, align 4, !tbaa !5
  %3182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3183 = load i32, ptr @test_count, align 4, !tbaa !5
  %3184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3185 = load i32, ptr %3184, align 4, !tbaa !5
  %3186 = call ptr @s2n_strerror(i32 noundef %3185, ptr noundef @.str.4)
  %3187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3188 = load i32, ptr %3187, align 4, !tbaa !5
  %3189 = call ptr @s2n_strerror_debug(i32 noundef %3188, ptr noundef @.str.4)
  %3190 = call ptr @__errno_location() #12
  %3191 = load i32, ptr %3190, align 4, !tbaa !5
  %3192 = call ptr @strerror(i32 noundef %3191) #11
  %3193 = call ptr @__errno_location() #12
  %3194 = load i32, ptr %3193, align 4, !tbaa !5
  %3195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3182, ptr noundef @.str.5, i32 noundef %3183, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 103, ptr noundef %3186, ptr noundef %3189, ptr noundef %3192, i32 noundef %3194) #11
  br label %3196

3196:                                             ; preds = %3179, %3162
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3197

3197:                                             ; preds = %3196
  br label %3198

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

3199:                                             ; No predecessors!
  br label %3200

3200:                                             ; preds = %3199
  br label %3201

3201:                                             ; preds = %3200, %3140
  br label %3202

3202:                                             ; preds = %3201
  br label %3203

3203:                                             ; preds = %3202
  br label %3204

3204:                                             ; preds = %3203
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = add nsw i32 %3205, 1
  store i32 %3206, ptr @test_count, align 4, !tbaa !5
  %3207 = getelementptr inbounds %struct.s2n_blob, ptr %72, i32 0, i32 0
  %3208 = load ptr, ptr %3207, align 8, !tbaa !17
  %3209 = getelementptr inbounds [6 x i8], ptr %74, i64 0, i64 0
  %3210 = call i32 @memcmp(ptr noundef %3208, ptr noundef %3209, i64 noundef 6) #14
  %3211 = icmp eq i32 %3210, 0
  br i1 %3211, label %3265, label %3212

3212:                                             ; preds = %3204
  br label %3213

3213:                                             ; preds = %3212
  br label %3214

3214:                                             ; preds = %3213
  call void @llvm.lifetime.start.p0(i64 4, ptr %76) #11
  %3215 = call ptr @__errno_location() #12
  %3216 = load i32, ptr %3215, align 4, !tbaa !5
  store i32 %3216, ptr %76, align 4, !tbaa !5
  %3217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3218 = call i32 @s2n_print_stacktrace(ptr noundef %3217)
  %3219 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3220 = trunc i8 %3219 to i1
  br i1 %3220, label %3221, label %3243

3221:                                             ; preds = %3214
  %3222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3223 = call i32 @fileno(ptr noundef %3222) #11
  %3224 = call i32 @isatty(i32 noundef %3223) #11
  %3225 = icmp ne i32 %3224, 0
  br i1 %3225, label %3226, label %3243

3226:                                             ; preds = %3221
  %3227 = load i32, ptr %76, align 4, !tbaa !5
  %3228 = call ptr @__errno_location() #12
  store i32 %3227, ptr %3228, align 4, !tbaa !5
  %3229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3230 = load i32, ptr @test_count, align 4, !tbaa !5
  %3231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call ptr @s2n_strerror(i32 noundef %3232, ptr noundef @.str.4)
  %3234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3235 = load i32, ptr %3234, align 4, !tbaa !5
  %3236 = call ptr @s2n_strerror_debug(i32 noundef %3235, ptr noundef @.str.4)
  %3237 = call ptr @__errno_location() #12
  %3238 = load i32, ptr %3237, align 4, !tbaa !5
  %3239 = call ptr @strerror(i32 noundef %3238) #11
  %3240 = call ptr @__errno_location() #12
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  %3242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3229, ptr noundef @.str.2, i32 noundef %3230, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 104, ptr noundef %3233, ptr noundef %3236, ptr noundef %3239, i32 noundef %3241) #11
  br label %3260

3243:                                             ; preds = %3221, %3214
  %3244 = load i32, ptr %76, align 4, !tbaa !5
  %3245 = call ptr @__errno_location() #12
  store i32 %3244, ptr %3245, align 4, !tbaa !5
  %3246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3247 = load i32, ptr @test_count, align 4, !tbaa !5
  %3248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3249 = load i32, ptr %3248, align 4, !tbaa !5
  %3250 = call ptr @s2n_strerror(i32 noundef %3249, ptr noundef @.str.4)
  %3251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3252 = load i32, ptr %3251, align 4, !tbaa !5
  %3253 = call ptr @s2n_strerror_debug(i32 noundef %3252, ptr noundef @.str.4)
  %3254 = call ptr @__errno_location() #12
  %3255 = load i32, ptr %3254, align 4, !tbaa !5
  %3256 = call ptr @strerror(i32 noundef %3255) #11
  %3257 = call ptr @__errno_location() #12
  %3258 = load i32, ptr %3257, align 4, !tbaa !5
  %3259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3246, ptr noundef @.str.5, i32 noundef %3247, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 104, ptr noundef %3250, ptr noundef %3253, ptr noundef %3256, i32 noundef %3258) #11
  br label %3260

3260:                                             ; preds = %3243, %3226
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3261

3261:                                             ; preds = %3260
  br label %3262

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

3263:                                             ; No predecessors!
  br label %3264

3264:                                             ; preds = %3263
  br label %3265

3265:                                             ; preds = %3264, %3204
  br label %3266

3266:                                             ; preds = %3265
  br label %3267

3267:                                             ; preds = %3266
  br label %3268

3268:                                             ; preds = %3267
  %3269 = load i32, ptr @test_count, align 4, !tbaa !5
  %3270 = add nsw i32 %3269, 1
  store i32 %3270, ptr @test_count, align 4, !tbaa !5
  %3271 = getelementptr inbounds %struct.s2n_blob, ptr %72, i32 0, i32 1
  %3272 = load i32, ptr %3271, align 8, !tbaa !19
  %3273 = zext i32 %3272 to i64
  %3274 = icmp eq i64 %3273, 6
  br i1 %3274, label %3328, label %3275

3275:                                             ; preds = %3268
  br label %3276

3276:                                             ; preds = %3275
  br label %3277

3277:                                             ; preds = %3276
  call void @llvm.lifetime.start.p0(i64 4, ptr %77) #11
  %3278 = call ptr @__errno_location() #12
  %3279 = load i32, ptr %3278, align 4, !tbaa !5
  store i32 %3279, ptr %77, align 4, !tbaa !5
  %3280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3281 = call i32 @s2n_print_stacktrace(ptr noundef %3280)
  %3282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3283 = trunc i8 %3282 to i1
  br i1 %3283, label %3284, label %3306

3284:                                             ; preds = %3277
  %3285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3286 = call i32 @fileno(ptr noundef %3285) #11
  %3287 = call i32 @isatty(i32 noundef %3286) #11
  %3288 = icmp ne i32 %3287, 0
  br i1 %3288, label %3289, label %3306

3289:                                             ; preds = %3284
  %3290 = load i32, ptr %77, align 4, !tbaa !5
  %3291 = call ptr @__errno_location() #12
  store i32 %3290, ptr %3291, align 4, !tbaa !5
  %3292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3293 = load i32, ptr @test_count, align 4, !tbaa !5
  %3294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3295 = load i32, ptr %3294, align 4, !tbaa !5
  %3296 = call ptr @s2n_strerror(i32 noundef %3295, ptr noundef @.str.4)
  %3297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3298 = load i32, ptr %3297, align 4, !tbaa !5
  %3299 = call ptr @s2n_strerror_debug(i32 noundef %3298, ptr noundef @.str.4)
  %3300 = call ptr @__errno_location() #12
  %3301 = load i32, ptr %3300, align 4, !tbaa !5
  %3302 = call ptr @strerror(i32 noundef %3301) #11
  %3303 = call ptr @__errno_location() #12
  %3304 = load i32, ptr %3303, align 4, !tbaa !5
  %3305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3292, ptr noundef @.str.2, i32 noundef %3293, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 105, ptr noundef %3296, ptr noundef %3299, ptr noundef %3302, i32 noundef %3304) #11
  br label %3323

3306:                                             ; preds = %3284, %3277
  %3307 = load i32, ptr %77, align 4, !tbaa !5
  %3308 = call ptr @__errno_location() #12
  store i32 %3307, ptr %3308, align 4, !tbaa !5
  %3309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3310 = load i32, ptr @test_count, align 4, !tbaa !5
  %3311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3312 = load i32, ptr %3311, align 4, !tbaa !5
  %3313 = call ptr @s2n_strerror(i32 noundef %3312, ptr noundef @.str.4)
  %3314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3315 = load i32, ptr %3314, align 4, !tbaa !5
  %3316 = call ptr @s2n_strerror_debug(i32 noundef %3315, ptr noundef @.str.4)
  %3317 = call ptr @__errno_location() #12
  %3318 = load i32, ptr %3317, align 4, !tbaa !5
  %3319 = call ptr @strerror(i32 noundef %3318) #11
  %3320 = call ptr @__errno_location() #12
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3309, ptr noundef @.str.5, i32 noundef %3310, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 105, ptr noundef %3313, ptr noundef %3316, ptr noundef %3319, i32 noundef %3321) #11
  br label %3323

3323:                                             ; preds = %3306, %3289
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #11
  br label %3324

3324:                                             ; preds = %3323
  br label %3325

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

3326:                                             ; No predecessors!
  br label %3327

3327:                                             ; preds = %3326
  br label %3328

3328:                                             ; preds = %3327, %3268
  br label %3329

3329:                                             ; preds = %3328
  br label %3330

3330:                                             ; preds = %3329
  br label %3331

3331:                                             ; preds = %3330
  br label %3332

3332:                                             ; preds = %3331
  %3333 = call i32 @s2n_cleanup()
  %3334 = icmp eq i32 %3333, -1
  br i1 %3334, label %3335, label %3388

3335:                                             ; preds = %3332
  br label %3336

3336:                                             ; preds = %3335
  br label %3337

3337:                                             ; preds = %3336
  call void @llvm.lifetime.start.p0(i64 4, ptr %78) #11
  %3338 = call ptr @__errno_location() #12
  %3339 = load i32, ptr %3338, align 4, !tbaa !5
  store i32 %3339, ptr %78, align 4, !tbaa !5
  %3340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3341 = call i32 @s2n_print_stacktrace(ptr noundef %3340)
  %3342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3343 = trunc i8 %3342 to i1
  br i1 %3343, label %3344, label %3366

3344:                                             ; preds = %3337
  %3345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3346 = call i32 @fileno(ptr noundef %3345) #11
  %3347 = call i32 @isatty(i32 noundef %3346) #11
  %3348 = icmp ne i32 %3347, 0
  br i1 %3348, label %3349, label %3366

3349:                                             ; preds = %3344
  %3350 = load i32, ptr %78, align 4, !tbaa !5
  %3351 = call ptr @__errno_location() #12
  store i32 %3350, ptr %3351, align 4, !tbaa !5
  %3352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3353 = load i32, ptr @test_count, align 4, !tbaa !5
  %3354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3355 = load i32, ptr %3354, align 4, !tbaa !5
  %3356 = call ptr @s2n_strerror(i32 noundef %3355, ptr noundef @.str.4)
  %3357 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3358 = load i32, ptr %3357, align 4, !tbaa !5
  %3359 = call ptr @s2n_strerror_debug(i32 noundef %3358, ptr noundef @.str.4)
  %3360 = call ptr @__errno_location() #12
  %3361 = load i32, ptr %3360, align 4, !tbaa !5
  %3362 = call ptr @strerror(i32 noundef %3361) #11
  %3363 = call ptr @__errno_location() #12
  %3364 = load i32, ptr %3363, align 4, !tbaa !5
  %3365 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3352, ptr noundef @.str.2, i32 noundef %3353, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 107, ptr noundef %3356, ptr noundef %3359, ptr noundef %3362, i32 noundef %3364) #11
  br label %3383

3366:                                             ; preds = %3344, %3337
  %3367 = load i32, ptr %78, align 4, !tbaa !5
  %3368 = call ptr @__errno_location() #12
  store i32 %3367, ptr %3368, align 4, !tbaa !5
  %3369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3370 = load i32, ptr @test_count, align 4, !tbaa !5
  %3371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3372 = load i32, ptr %3371, align 4, !tbaa !5
  %3373 = call ptr @s2n_strerror(i32 noundef %3372, ptr noundef @.str.4)
  %3374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3375 = load i32, ptr %3374, align 4, !tbaa !5
  %3376 = call ptr @s2n_strerror_debug(i32 noundef %3375, ptr noundef @.str.4)
  %3377 = call ptr @__errno_location() #12
  %3378 = load i32, ptr %3377, align 4, !tbaa !5
  %3379 = call ptr @strerror(i32 noundef %3378) #11
  %3380 = call ptr @__errno_location() #12
  %3381 = load i32, ptr %3380, align 4, !tbaa !5
  %3382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3369, ptr noundef @.str.5, i32 noundef %3370, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 107, ptr noundef %3373, ptr noundef %3376, ptr noundef %3379, i32 noundef %3381) #11
  br label %3383

3383:                                             ; preds = %3366, %3349
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #11
  br label %3384

3384:                                             ; preds = %3383
  br label %3385

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

3386:                                             ; No predecessors!
  br label %3387

3387:                                             ; preds = %3386
  br label %3388

3388:                                             ; preds = %3387, %3332
  br label %3389

3389:                                             ; preds = %3388
  br label %3390

3390:                                             ; preds = %3389
  br label %3391

3391:                                             ; preds = %3390
  br label %3392

3392:                                             ; preds = %3391
  %3393 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %3394 = icmp eq i32 %3393, -1
  br i1 %3394, label %3395, label %3448

3395:                                             ; preds = %3392
  br label %3396

3396:                                             ; preds = %3395
  br label %3397

3397:                                             ; preds = %3396
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  %3398 = call ptr @__errno_location() #12
  %3399 = load i32, ptr %3398, align 4, !tbaa !5
  store i32 %3399, ptr %79, align 4, !tbaa !5
  %3400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3401 = call i32 @s2n_print_stacktrace(ptr noundef %3400)
  %3402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3403 = trunc i8 %3402 to i1
  br i1 %3403, label %3404, label %3426

3404:                                             ; preds = %3397
  %3405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3406 = call i32 @fileno(ptr noundef %3405) #11
  %3407 = call i32 @isatty(i32 noundef %3406) #11
  %3408 = icmp ne i32 %3407, 0
  br i1 %3408, label %3409, label %3426

3409:                                             ; preds = %3404
  %3410 = load i32, ptr %79, align 4, !tbaa !5
  %3411 = call ptr @__errno_location() #12
  store i32 %3410, ptr %3411, align 4, !tbaa !5
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = load i32, ptr @test_count, align 4, !tbaa !5
  %3414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @s2n_strerror(i32 noundef %3415, ptr noundef @.str.4)
  %3417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call ptr @s2n_strerror_debug(i32 noundef %3418, ptr noundef @.str.4)
  %3420 = call ptr @__errno_location() #12
  %3421 = load i32, ptr %3420, align 4, !tbaa !5
  %3422 = call ptr @strerror(i32 noundef %3421) #11
  %3423 = call ptr @__errno_location() #12
  %3424 = load i32, ptr %3423, align 4, !tbaa !5
  %3425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3412, ptr noundef @.str.2, i32 noundef %3413, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 107, ptr noundef %3416, ptr noundef %3419, ptr noundef %3422, i32 noundef %3424) #11
  br label %3443

3426:                                             ; preds = %3404, %3397
  %3427 = load i32, ptr %79, align 4, !tbaa !5
  %3428 = call ptr @__errno_location() #12
  store i32 %3427, ptr %3428, align 4, !tbaa !5
  %3429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3432 = load i32, ptr %3431, align 4, !tbaa !5
  %3433 = call ptr @s2n_strerror(i32 noundef %3432, ptr noundef @.str.4)
  %3434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3435 = load i32, ptr %3434, align 4, !tbaa !5
  %3436 = call ptr @s2n_strerror_debug(i32 noundef %3435, ptr noundef @.str.4)
  %3437 = call ptr @__errno_location() #12
  %3438 = load i32, ptr %3437, align 4, !tbaa !5
  %3439 = call ptr @strerror(i32 noundef %3438) #11
  %3440 = call ptr @__errno_location() #12
  %3441 = load i32, ptr %3440, align 4, !tbaa !5
  %3442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3429, ptr noundef @.str.5, i32 noundef %3430, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 107, ptr noundef %3433, ptr noundef %3436, ptr noundef %3439, i32 noundef %3441) #11
  br label %3443

3443:                                             ; preds = %3426, %3409
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  br label %3444

3444:                                             ; preds = %3443
  br label %3445

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

3446:                                             ; No predecessors!
  br label %3447

3447:                                             ; preds = %3446
  br label %3448

3448:                                             ; preds = %3447, %3392
  br label %3449

3449:                                             ; preds = %3448
  br label %3450

3450:                                             ; preds = %3449
  %3451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3452 = trunc i8 %3451 to i1
  br i1 %3452, label %3453, label %3469

3453:                                             ; preds = %3450
  %3454 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3455 = call i32 @fileno(ptr noundef %3454) #11
  %3456 = call i32 @isatty(i32 noundef %3455) #11
  %3457 = icmp ne i32 %3456, 0
  br i1 %3457, label %3458, label %3469

3458:                                             ; preds = %3453
  %3459 = load i32, ptr @test_count, align 4, !tbaa !5
  %3460 = icmp ne i32 %3459, 0
  br i1 %3460, label %3461, label %3465

3461:                                             ; preds = %3458
  %3462 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3463 = load i32, ptr @test_count, align 4, !tbaa !5
  %3464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3462, ptr noundef @.str.50, i32 noundef %3463) #11
  br label %3468

3465:                                             ; preds = %3458
  %3466 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3467 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3466, ptr noundef @.str.51) #11
  br label %3468

3468:                                             ; preds = %3465, %3461
  br label %3480

3469:                                             ; preds = %3453, %3450
  %3470 = load i32, ptr @test_count, align 4, !tbaa !5
  %3471 = icmp ne i32 %3470, 0
  br i1 %3471, label %3472, label %3476

3472:                                             ; preds = %3469
  %3473 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3474 = load i32, ptr @test_count, align 4, !tbaa !5
  %3475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3473, ptr noundef @.str.52, i32 noundef %3474) #11
  br label %3479

3476:                                             ; preds = %3469
  %3477 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3477, ptr noundef @.str.53) #11
  br label %3479

3479:                                             ; preds = %3476, %3472
  br label %3480

3480:                                             ; preds = %3479, %3468
  store i32 0, ptr %3, align 4
  store i32 1, ptr %80, align 4
  br label %3485

3481:                                             ; No predecessors!
  br label %3482

3482:                                             ; preds = %3481
  br label %3483

3483:                                             ; preds = %3482
  br label %3484

3484:                                             ; preds = %3483
  store i32 0, ptr %80, align 4
  br label %3485

3485:                                             ; preds = %3484, %3480
  call void @llvm.lifetime.end.p0(i64 6, ptr %74) #11
  call void @llvm.lifetime.end.p0(i64 7, ptr %73) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %72) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %68) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %64) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %56) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %55) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %51) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %47) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %44) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %35) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %24) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %23) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %19) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %14) #11
  %3486 = load i32, ptr %80, align 4
  switch i32 %3486, label %3489 [
    i32 0, label %3487
    i32 1, label %3487
  ]

3487:                                             ; preds = %3485, %3485
  %3488 = load i32, ptr %3, align 4
  ret i32 %3488

3489:                                             ; preds = %3485
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

; Function Attrs: nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #5

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) #7

declare i32 @s2n_blob_validate(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #8

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #9

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) #7

declare zeroext i1 @s2n_blob_is_growable(ptr noundef) #2

declare i32 @s2n_realloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_free(ptr noundef) #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) #2

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #8

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare i32 @s2n_blob_char_to_lower(ptr noundef) #2

declare i32 @s2n_blob_slice(ptr noundef, ptr noundef, i32 noundef, i32 noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i64 @strlen(ptr noundef) #10

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { 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 #8 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { 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 #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 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !16, i64 0}
!16 = !{!"long", !7, i64 0}
!17 = !{!18, !10, i64 0}
!18 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!19 = !{!18, !6, i64 8}
!20 = !{!18, !6, i64 12}


; 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_blob = type { ptr, i32, i32, i8 }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [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 [64 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [35 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [70 x i8], align 1
@__const.main.b1 = external hidden unnamed_addr constant %struct.s2n_blob, align 8
@.str.12 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [42 x i8], align 1
@__const.main.hello_world = external hidden unnamed_addr constant [12 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [47 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [12 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [80 x i8], align 1
@__const.main.hello = external hidden unnamed_addr constant [7 x i8], align 1
@__const.main.world = external hidden unnamed_addr constant [6 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca %struct.s2n_blob, align 8
  %4 = alloca %struct.s2n_blob, align 8
  %5 = alloca [12 x i8], align 1
  %6 = alloca %struct.s2n_blob, align 8
  %7 = alloca %struct.s2n_blob, align 8
  %8 = alloca %struct.s2n_blob, align 8
  %9 = alloca %struct.s2n_blob, align 8
  %10 = alloca %struct.s2n_blob, align 8
  %11 = alloca %struct.s2n_blob, align 8
  %12 = alloca [12 x i8], align 1
  %13 = alloca %struct.s2n_blob, align 8
  %14 = alloca %struct.s2n_blob, align 8
  %15 = alloca %struct.s2n_blob, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %16 = load ptr, ptr @stdout, align 8, !tbaa !9
  %17 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #13
  %18 = load ptr, ptr @stdout, align 8, !tbaa !9
  %19 = tail call i32 @fflush(ptr noundef %18)
  %20 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #13
  %21 = icmp eq i32 %20, -1
  br i1 %21, label %22, label %46

22:                                               ; preds = %2
  %23 = tail call ptr @__errno_location() #14
  %24 = load i32, ptr %23, align 4, !tbaa !5
  %25 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26 = tail call i32 @s2n_print_stacktrace(ptr noundef %25) #13
  %27 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28 = trunc nuw i8 %27 to i1
  br i1 %28, label %29, label %33

29:                                               ; preds = %22
  %30 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31 = tail call i32 @fileno(ptr noundef %30) #13
  %32 = tail call i32 @isatty(i32 noundef %31) #13
  %.not171 = icmp eq i32 %32, 0
  br i1 %.not171, label %33, label %34

33:                                               ; preds = %29, %22
  br label %34

34:                                               ; preds = %29, %33
  %.str.5.sink = phi ptr [ @.str.5, %33 ], [ @.str.2, %29 ]
  store i32 %24, ptr %23, align 4, !tbaa !5
  %35 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36 = load i32, ptr @test_count, align 4, !tbaa !5
  %37 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %38 = load i32, ptr %37, align 4, !tbaa !5
  %39 = tail call ptr @s2n_strerror(i32 noundef %38, ptr noundef nonnull @.str.4) #13
  %40 = load i32, ptr %37, align 4, !tbaa !5
  %41 = tail call ptr @s2n_strerror_debug(i32 noundef %40, ptr noundef nonnull @.str.4) #13
  %42 = load i32, ptr %23, align 4, !tbaa !5
  %43 = tail call ptr @strerror(i32 noundef %42) #13
  %44 = load i32, ptr %23, align 4, !tbaa !5
  %45 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %35, ptr noundef nonnull %.str.5.sink, i32 noundef %36, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 24, ptr noundef %39, ptr noundef %41, ptr noundef %43, i32 noundef %44) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

46:                                               ; preds = %2
  %47 = load i32, ptr @test_count, align 4, !tbaa !5
  %48 = add nsw i32 %47, 1
  store i32 %48, ptr @test_count, align 4, !tbaa !5
  %49 = tail call i32 @s2n_enable_atexit() #13
  %50 = icmp eq i32 %49, -1
  br i1 %50, label %51, label %75

51:                                               ; preds = %46
  %52 = tail call ptr @__errno_location() #14
  %53 = load i32, ptr %52, align 4, !tbaa !5
  %54 = load ptr, ptr @stderr, align 8, !tbaa !9
  %55 = tail call i32 @s2n_print_stacktrace(ptr noundef %54) #13
  %56 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %57 = trunc nuw i8 %56 to i1
  br i1 %57, label %58, label %62

58:                                               ; preds = %51
  %59 = load ptr, ptr @stderr, align 8, !tbaa !9
  %60 = tail call i32 @fileno(ptr noundef %59) #13
  %61 = tail call i32 @isatty(i32 noundef %60) #13
  %.not170 = icmp eq i32 %61, 0
  br i1 %.not170, label %62, label %63

62:                                               ; preds = %58, %51
  br label %63

63:                                               ; preds = %58, %62
  %.str.5.sink182 = phi ptr [ @.str.5, %62 ], [ @.str.2, %58 ]
  store i32 %53, ptr %52, align 4, !tbaa !5
  %64 = load ptr, ptr @stderr, align 8, !tbaa !9
  %65 = load i32, ptr @test_count, align 4, !tbaa !5
  %66 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %67 = load i32, ptr %66, align 4, !tbaa !5
  %68 = tail call ptr @s2n_strerror(i32 noundef %67, ptr noundef nonnull @.str.4) #13
  %69 = load i32, ptr %66, align 4, !tbaa !5
  %70 = tail call ptr @s2n_strerror_debug(i32 noundef %69, ptr noundef nonnull @.str.4) #13
  %71 = load i32, ptr %52, align 4, !tbaa !5
  %72 = tail call ptr @strerror(i32 noundef %71) #13
  %73 = load i32, ptr %52, align 4, !tbaa !5
  %74 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %64, ptr noundef nonnull %.str.5.sink182, i32 noundef %65, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 24, ptr noundef %68, ptr noundef %70, ptr noundef %72, i32 noundef %73) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

75:                                               ; preds = %46
  %76 = tail call i32 @s2n_init() #13
  %77 = icmp eq i32 %76, -1
  br i1 %77, label %78, label %102

78:                                               ; preds = %75
  %79 = tail call ptr @__errno_location() #14
  %80 = load i32, ptr %79, align 4, !tbaa !5
  %81 = load ptr, ptr @stderr, align 8, !tbaa !9
  %82 = tail call i32 @s2n_print_stacktrace(ptr noundef %81) #13
  %83 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %84 = trunc nuw i8 %83 to i1
  br i1 %84, label %85, label %89

85:                                               ; preds = %78
  %86 = load ptr, ptr @stderr, align 8, !tbaa !9
  %87 = tail call i32 @fileno(ptr noundef %86) #13
  %88 = tail call i32 @isatty(i32 noundef %87) #13
  %.not169 = icmp eq i32 %88, 0
  br i1 %.not169, label %89, label %90

89:                                               ; preds = %85, %78
  br label %90

90:                                               ; preds = %85, %89
  %.str.5.sink193 = phi ptr [ @.str.5, %89 ], [ @.str.2, %85 ]
  store i32 %80, ptr %79, align 4, !tbaa !5
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = load i32, ptr @test_count, align 4, !tbaa !5
  %93 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = tail call ptr @s2n_strerror(i32 noundef %94, ptr noundef nonnull @.str.4) #13
  %96 = load i32, ptr %93, align 4, !tbaa !5
  %97 = tail call ptr @s2n_strerror_debug(i32 noundef %96, ptr noundef nonnull @.str.4) #13
  %98 = load i32, ptr %79, align 4, !tbaa !5
  %99 = tail call ptr @strerror(i32 noundef %98) #13
  %100 = load i32, ptr %79, align 4, !tbaa !5
  %101 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %91, ptr noundef nonnull %.str.5.sink193, i32 noundef %92, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 24, ptr noundef %95, ptr noundef %97, ptr noundef %99, i32 noundef %100) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

102:                                              ; preds = %75
  %103 = load i32, ptr @test_count, align 4, !tbaa !5
  %104 = add nsw i32 %103, 1
  store i32 %104, ptr @test_count, align 4, !tbaa !5
  %105 = tail call i32 (...) @s2n_disable_tls13_in_test() #13
  %106 = icmp eq i32 %105, -1
  br i1 %106, label %107, label %131

107:                                              ; preds = %102
  %108 = tail call ptr @__errno_location() #14
  %109 = load i32, ptr %108, align 4, !tbaa !5
  %110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %111 = tail call i32 @s2n_print_stacktrace(ptr noundef %110) #13
  %112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %113 = trunc nuw i8 %112 to i1
  br i1 %113, label %114, label %118

114:                                              ; preds = %107
  %115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %116 = tail call i32 @fileno(ptr noundef %115) #13
  %117 = tail call i32 @isatty(i32 noundef %116) #13
  %.not168 = icmp eq i32 %117, 0
  br i1 %.not168, label %118, label %119

118:                                              ; preds = %114, %107
  br label %119

119:                                              ; preds = %114, %118
  %.str.5.sink204 = phi ptr [ @.str.5, %118 ], [ @.str.2, %114 ]
  store i32 %109, ptr %108, align 4, !tbaa !5
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = load i32, ptr @test_count, align 4, !tbaa !5
  %122 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %123 = load i32, ptr %122, align 4, !tbaa !5
  %124 = tail call ptr @s2n_strerror(i32 noundef %123, ptr noundef nonnull @.str.4) #13
  %125 = load i32, ptr %122, align 4, !tbaa !5
  %126 = tail call ptr @s2n_strerror_debug(i32 noundef %125, ptr noundef nonnull @.str.4) #13
  %127 = load i32, ptr %108, align 4, !tbaa !5
  %128 = tail call ptr @strerror(i32 noundef %127) #13
  %129 = load i32, ptr %108, align 4, !tbaa !5
  %130 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %120, ptr noundef nonnull %.str.5.sink204, i32 noundef %121, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 25, ptr noundef %124, ptr noundef %126, ptr noundef %128, i32 noundef %129) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

131:                                              ; preds = %102
  %132 = load i32, ptr @test_count, align 4, !tbaa !5
  %133 = add nsw i32 %132, 1
  store i32 %133, ptr @test_count, align 4, !tbaa !5
  %134 = tail call i32 @s2n_blob_validate(ptr noundef null) #13
  %135 = tail call zeroext i1 @s2n_result_is_error(i32 %134)
  br i1 %135, label %160, label %136

136:                                              ; preds = %131
  %137 = tail call ptr @__errno_location() #14
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %140 = tail call i32 @s2n_print_stacktrace(ptr noundef %139) #13
  %141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %142 = trunc nuw i8 %141 to i1
  br i1 %142, label %143, label %147

143:                                              ; preds = %136
  %144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %145 = tail call i32 @fileno(ptr noundef %144) #13
  %146 = tail call i32 @isatty(i32 noundef %145) #13
  %.not = icmp eq i32 %146, 0
  br i1 %.not, label %147, label %148

147:                                              ; preds = %143, %136
  br label %148

148:                                              ; preds = %143, %147
  %.str.5.sink215 = phi ptr [ @.str.5, %147 ], [ @.str.2, %143 ]
  store i32 %138, ptr %137, align 4, !tbaa !5
  %149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %150 = load i32, ptr @test_count, align 4, !tbaa !5
  %151 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %152 = load i32, ptr %151, align 4, !tbaa !5
  %153 = tail call ptr @s2n_strerror(i32 noundef %152, ptr noundef nonnull @.str.4) #13
  %154 = load i32, ptr %151, align 4, !tbaa !5
  %155 = tail call ptr @s2n_strerror_debug(i32 noundef %154, ptr noundef nonnull @.str.4) #13
  %156 = load i32, ptr %137, align 4, !tbaa !5
  %157 = tail call ptr @strerror(i32 noundef %156) #13
  %158 = load i32, ptr %137, align 4, !tbaa !5
  %159 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %149, ptr noundef nonnull %.str.5.sink215, i32 noundef %150, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %153, ptr noundef %155, ptr noundef %157, i32 noundef %158) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

160:                                              ; preds = %131
  %161 = load i32, ptr @test_count, align 4, !tbaa !5
  %162 = add nsw i32 %161, 1
  store i32 %162, ptr @test_count, align 4, !tbaa !5
  %163 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %164 = load i32, ptr %163, align 4, !tbaa !5
  %165 = icmp eq i32 %164, 0
  br i1 %165, label %166, label %189

166:                                              ; preds = %160
  %167 = tail call ptr @__errno_location() #14
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %170 = tail call i32 @s2n_print_stacktrace(ptr noundef %169) #13
  %171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %172 = trunc nuw i8 %171 to i1
  br i1 %172, label %173, label %177

173:                                              ; preds = %166
  %174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %175 = tail call i32 @fileno(ptr noundef %174) #13
  %176 = tail call i32 @isatty(i32 noundef %175) #13
  %.not167 = icmp eq i32 %176, 0
  br i1 %.not167, label %177, label %178

177:                                              ; preds = %173, %166
  br label %178

178:                                              ; preds = %173, %177
  %.str.5.sink226 = phi ptr [ @.str.5, %177 ], [ @.str.2, %173 ]
  store i32 %168, ptr %167, align 4, !tbaa !5
  %179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %180 = load i32, ptr @test_count, align 4, !tbaa !5
  %181 = load i32, ptr %163, align 4, !tbaa !5
  %182 = tail call ptr @s2n_strerror(i32 noundef %181, ptr noundef nonnull @.str.4) #13
  %183 = load i32, ptr %163, align 4, !tbaa !5
  %184 = tail call ptr @s2n_strerror_debug(i32 noundef %183, ptr noundef nonnull @.str.4) #13
  %185 = load i32, ptr %167, align 4, !tbaa !5
  %186 = tail call ptr @strerror(i32 noundef %185) #13
  %187 = load i32, ptr %167, align 4, !tbaa !5
  %188 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %179, ptr noundef nonnull %.str.5.sink226, i32 noundef %180, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %182, ptr noundef %184, ptr noundef %186, i32 noundef %187) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

189:                                              ; preds = %160
  %190 = add nsw i32 %161, 2
  store i32 %190, ptr @test_count, align 4, !tbaa !5
  %191 = tail call ptr @s2n_strerror_debug(i32 noundef %164, ptr noundef nonnull @.str.4) #13
  %192 = icmp eq ptr %191, null
  br i1 %192, label %193, label %216

193:                                              ; preds = %189
  %194 = tail call ptr @__errno_location() #14
  %195 = load i32, ptr %194, align 4, !tbaa !5
  %196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %197 = tail call i32 @s2n_print_stacktrace(ptr noundef %196) #13
  %198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %199 = trunc nuw i8 %198 to i1
  br i1 %199, label %200, label %204

200:                                              ; preds = %193
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = tail call i32 @fileno(ptr noundef %201) #13
  %203 = tail call i32 @isatty(i32 noundef %202) #13
  %.not166 = icmp eq i32 %203, 0
  br i1 %.not166, label %204, label %205

204:                                              ; preds = %200, %193
  br label %205

205:                                              ; preds = %200, %204
  %.str.5.sink235 = phi ptr [ @.str.5, %204 ], [ @.str.2, %200 ]
  store i32 %195, ptr %194, align 4, !tbaa !5
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = load i32, ptr @test_count, align 4, !tbaa !5
  %208 = load i32, ptr %163, align 4, !tbaa !5
  %209 = tail call ptr @s2n_strerror(i32 noundef %208, ptr noundef nonnull @.str.4) #13
  %210 = load i32, ptr %163, align 4, !tbaa !5
  %211 = tail call ptr @s2n_strerror_debug(i32 noundef %210, ptr noundef nonnull @.str.4) #13
  %212 = load i32, ptr %194, align 4, !tbaa !5
  %213 = tail call ptr @strerror(i32 noundef %212) #13
  %214 = load i32, ptr %194, align 4, !tbaa !5
  %215 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %206, ptr noundef nonnull %.str.5.sink235, i32 noundef %207, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %209, ptr noundef %211, ptr noundef %213, i32 noundef %214) #15
  tail call void @exit(i32 noundef 1) #16
  unreachable

216:                                              ; preds = %189
  store i32 0, ptr %163, align 4, !tbaa !5
  tail call void @s2n_debug_info_reset() #13
  %217 = tail call ptr @__errno_location() #14
  store i32 0, ptr %217, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %3) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %3, ptr noundef nonnull align 8 dereferenceable(24) @__const.main.b1, i64 24, i1 false)
  %218 = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = add nsw i32 %218, 1
  store i32 %219, ptr @test_count, align 4, !tbaa !5
  %220 = call i32 @s2n_blob_validate(ptr noundef nonnull %3) #13
  %221 = call zeroext i1 @s2n_result_is_error(i32 %220)
  br i1 %221, label %244, label %222

222:                                              ; preds = %216
  %223 = load i32, ptr %217, align 4, !tbaa !5
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = call i32 @s2n_print_stacktrace(ptr noundef %224) #13
  %226 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %227 = trunc nuw i8 %226 to i1
  br i1 %227, label %228, label %232

228:                                              ; preds = %222
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = call i32 @fileno(ptr noundef %229) #13
  %231 = call i32 @isatty(i32 noundef %230) #13
  %.not115 = icmp eq i32 %231, 0
  br i1 %.not115, label %232, label %233

232:                                              ; preds = %228, %222
  br label %233

233:                                              ; preds = %228, %232
  %.str.5.sink244 = phi ptr [ @.str.5, %232 ], [ @.str.2, %228 ]
  store i32 %223, ptr %217, align 4, !tbaa !5
  %234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %235 = load i32, ptr @test_count, align 4, !tbaa !5
  %236 = load i32, ptr %163, align 4, !tbaa !5
  %237 = call ptr @s2n_strerror(i32 noundef %236, ptr noundef nonnull @.str.4) #13
  %238 = load i32, ptr %163, align 4, !tbaa !5
  %239 = call ptr @s2n_strerror_debug(i32 noundef %238, ptr noundef nonnull @.str.4) #13
  %240 = load i32, ptr %217, align 4, !tbaa !5
  %241 = call ptr @strerror(i32 noundef %240) #13
  %242 = load i32, ptr %217, align 4, !tbaa !5
  %243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %234, ptr noundef nonnull %.str.5.sink244, i32 noundef %235, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %237, ptr noundef %239, ptr noundef %241, i32 noundef %242) #15
  call void @exit(i32 noundef 1) #16
  unreachable

244:                                              ; preds = %216
  %245 = load i32, ptr @test_count, align 4, !tbaa !5
  %246 = add nsw i32 %245, 1
  store i32 %246, ptr @test_count, align 4, !tbaa !5
  %247 = load i32, ptr %163, align 4, !tbaa !5
  %248 = icmp eq i32 %247, 0
  br i1 %248, label %249, label %271

249:                                              ; preds = %244
  %250 = load i32, ptr %217, align 4, !tbaa !5
  %251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %252 = call i32 @s2n_print_stacktrace(ptr noundef %251) #13
  %253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %254 = trunc nuw i8 %253 to i1
  br i1 %254, label %255, label %259

255:                                              ; preds = %249
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = call i32 @fileno(ptr noundef %256) #13
  %258 = call i32 @isatty(i32 noundef %257) #13
  %.not165 = icmp eq i32 %258, 0
  br i1 %.not165, label %259, label %260

259:                                              ; preds = %255, %249
  br label %260

260:                                              ; preds = %255, %259
  %.str.5.sink253 = phi ptr [ @.str.5, %259 ], [ @.str.2, %255 ]
  store i32 %250, ptr %217, align 4, !tbaa !5
  %261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %262 = load i32, ptr @test_count, align 4, !tbaa !5
  %263 = load i32, ptr %163, align 4, !tbaa !5
  %264 = call ptr @s2n_strerror(i32 noundef %263, ptr noundef nonnull @.str.4) #13
  %265 = load i32, ptr %163, align 4, !tbaa !5
  %266 = call ptr @s2n_strerror_debug(i32 noundef %265, ptr noundef nonnull @.str.4) #13
  %267 = load i32, ptr %217, align 4, !tbaa !5
  %268 = call ptr @strerror(i32 noundef %267) #13
  %269 = load i32, ptr %217, align 4, !tbaa !5
  %270 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %261, ptr noundef nonnull %.str.5.sink253, i32 noundef %262, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %264, ptr noundef %266, ptr noundef %268, i32 noundef %269) #15
  call void @exit(i32 noundef 1) #16
  unreachable

271:                                              ; preds = %244
  %272 = add nsw i32 %245, 2
  store i32 %272, ptr @test_count, align 4, !tbaa !5
  %273 = call ptr @s2n_strerror_debug(i32 noundef %247, ptr noundef nonnull @.str.4) #13
  %274 = icmp eq ptr %273, null
  br i1 %274, label %275, label %297

275:                                              ; preds = %271
  %276 = load i32, ptr %217, align 4, !tbaa !5
  %277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %278 = call i32 @s2n_print_stacktrace(ptr noundef %277) #13
  %279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %280 = trunc nuw i8 %279 to i1
  br i1 %280, label %281, label %285

281:                                              ; preds = %275
  %282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %283 = call i32 @fileno(ptr noundef %282) #13
  %284 = call i32 @isatty(i32 noundef %283) #13
  %.not164 = icmp eq i32 %284, 0
  br i1 %.not164, label %285, label %286

285:                                              ; preds = %281, %275
  br label %286

286:                                              ; preds = %281, %285
  %.str.5.sink262 = phi ptr [ @.str.5, %285 ], [ @.str.2, %281 ]
  store i32 %276, ptr %217, align 4, !tbaa !5
  %287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %288 = load i32, ptr @test_count, align 4, !tbaa !5
  %289 = load i32, ptr %163, align 4, !tbaa !5
  %290 = call ptr @s2n_strerror(i32 noundef %289, ptr noundef nonnull @.str.4) #13
  %291 = load i32, ptr %163, align 4, !tbaa !5
  %292 = call ptr @s2n_strerror_debug(i32 noundef %291, ptr noundef nonnull @.str.4) #13
  %293 = load i32, ptr %217, align 4, !tbaa !5
  %294 = call ptr @strerror(i32 noundef %293) #13
  %295 = load i32, ptr %217, align 4, !tbaa !5
  %296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %287, ptr noundef nonnull %.str.5.sink262, i32 noundef %288, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %290, ptr noundef %292, ptr noundef %294, i32 noundef %295) #15
  call void @exit(i32 noundef 1) #16
  unreachable

297:                                              ; preds = %271
  store i32 0, ptr %163, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %217, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false)
  %298 = load i32, ptr @test_count, align 4, !tbaa !5
  %299 = add nsw i32 %298, 1
  store i32 %299, ptr @test_count, align 4, !tbaa !5
  %300 = call i32 @s2n_blob_init(ptr noundef nonnull %4, ptr noundef null, i32 noundef 0) #13
  %301 = icmp eq i32 %300, -1
  br i1 %301, label %302, label %324

302:                                              ; preds = %297
  %303 = load i32, ptr %217, align 4, !tbaa !5
  %304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %305 = call i32 @s2n_print_stacktrace(ptr noundef %304) #13
  %306 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %307 = trunc nuw i8 %306 to i1
  br i1 %307, label %308, label %312

308:                                              ; preds = %302
  %309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %310 = call i32 @fileno(ptr noundef %309) #13
  %311 = call i32 @isatty(i32 noundef %310) #13
  %.not163 = icmp eq i32 %311, 0
  br i1 %.not163, label %312, label %313

312:                                              ; preds = %308, %302
  br label %313

313:                                              ; preds = %308, %312
  %.str.5.sink271 = phi ptr [ @.str.5, %312 ], [ @.str.2, %308 ]
  store i32 %303, ptr %217, align 4, !tbaa !5
  %314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %315 = load i32, ptr @test_count, align 4, !tbaa !5
  %316 = load i32, ptr %163, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror(i32 noundef %316, ptr noundef nonnull @.str.4) #13
  %318 = load i32, ptr %163, align 4, !tbaa !5
  %319 = call ptr @s2n_strerror_debug(i32 noundef %318, ptr noundef nonnull @.str.4) #13
  %320 = load i32, ptr %217, align 4, !tbaa !5
  %321 = call ptr @strerror(i32 noundef %320) #13
  %322 = load i32, ptr %217, align 4, !tbaa !5
  %323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %314, ptr noundef nonnull %.str.5.sink271, i32 noundef %315, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 38, ptr noundef %317, ptr noundef %319, ptr noundef %321, i32 noundef %322) #15
  call void @exit(i32 noundef 1) #16
  unreachable

324:                                              ; preds = %297
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = add nsw i32 %325, 1
  store i32 %326, ptr @test_count, align 4, !tbaa !5
  %327 = call i32 @s2n_blob_validate(ptr noundef nonnull %4) #13
  %328 = call zeroext i1 @s2n_result_is_ok(i32 %327)
  br i1 %328, label %351, label %329

329:                                              ; preds = %324
  %330 = load i32, ptr %217, align 4, !tbaa !5
  %331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %332 = call i32 @s2n_print_stacktrace(ptr noundef %331) #13
  %333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %334 = trunc nuw i8 %333 to i1
  br i1 %334, label %335, label %339

335:                                              ; preds = %329
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = call i32 @fileno(ptr noundef %336) #13
  %338 = call i32 @isatty(i32 noundef %337) #13
  %.not116 = icmp eq i32 %338, 0
  br i1 %.not116, label %339, label %340

339:                                              ; preds = %335, %329
  br label %340

340:                                              ; preds = %335, %339
  %.str.5.sink280 = phi ptr [ @.str.5, %339 ], [ @.str.2, %335 ]
  store i32 %330, ptr %217, align 4, !tbaa !5
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = load i32, ptr @test_count, align 4, !tbaa !5
  %343 = load i32, ptr %163, align 4, !tbaa !5
  %344 = call ptr @s2n_strerror(i32 noundef %343, ptr noundef nonnull @.str.4) #13
  %345 = load i32, ptr %163, align 4, !tbaa !5
  %346 = call ptr @s2n_strerror_debug(i32 noundef %345, ptr noundef nonnull @.str.4) #13
  %347 = load i32, ptr %217, align 4, !tbaa !5
  %348 = call ptr @strerror(i32 noundef %347) #13
  %349 = load i32, ptr %217, align 4, !tbaa !5
  %350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %341, ptr noundef nonnull %.str.5.sink280, i32 noundef %342, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 39, ptr noundef %344, ptr noundef %346, ptr noundef %348, i32 noundef %349) #15
  call void @exit(i32 noundef 1) #16
  unreachable

351:                                              ; preds = %324
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %5) #13
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %6) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %6, i8 0, i64 24, i1 false)
  %352 = load i32, ptr @test_count, align 4, !tbaa !5
  %353 = add nsw i32 %352, 1
  store i32 %353, ptr @test_count, align 4, !tbaa !5
  %354 = call i32 @s2n_blob_init(ptr noundef nonnull %6, ptr noundef nonnull %5, i32 noundef 12) #13
  %355 = icmp eq i32 %354, -1
  br i1 %355, label %356, label %378

356:                                              ; preds = %351
  %357 = load i32, ptr %217, align 4, !tbaa !5
  %358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %359 = call i32 @s2n_print_stacktrace(ptr noundef %358) #13
  %360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %361 = trunc nuw i8 %360 to i1
  br i1 %361, label %362, label %366

362:                                              ; preds = %356
  %363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %364 = call i32 @fileno(ptr noundef %363) #13
  %365 = call i32 @isatty(i32 noundef %364) #13
  %.not162 = icmp eq i32 %365, 0
  br i1 %.not162, label %366, label %367

366:                                              ; preds = %362, %356
  br label %367

367:                                              ; preds = %362, %366
  %.str.5.sink289 = phi ptr [ @.str.5, %366 ], [ @.str.2, %362 ]
  store i32 %357, ptr %217, align 4, !tbaa !5
  %368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %369 = load i32, ptr @test_count, align 4, !tbaa !5
  %370 = load i32, ptr %163, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror(i32 noundef %370, ptr noundef nonnull @.str.4) #13
  %372 = load i32, ptr %163, align 4, !tbaa !5
  %373 = call ptr @s2n_strerror_debug(i32 noundef %372, ptr noundef nonnull @.str.4) #13
  %374 = load i32, ptr %217, align 4, !tbaa !5
  %375 = call ptr @strerror(i32 noundef %374) #13
  %376 = load i32, ptr %217, align 4, !tbaa !5
  %377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %368, ptr noundef nonnull %.str.5.sink289, i32 noundef %369, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 44, ptr noundef %371, ptr noundef %373, ptr noundef %375, i32 noundef %376) #15
  call void @exit(i32 noundef 1) #16
  unreachable

378:                                              ; preds = %351
  %379 = load i32, ptr @test_count, align 4, !tbaa !5
  %380 = add nsw i32 %379, 1
  store i32 %380, ptr @test_count, align 4, !tbaa !5
  %381 = call i32 @s2n_blob_validate(ptr noundef nonnull %6) #13
  %382 = call zeroext i1 @s2n_result_is_ok(i32 %381)
  br i1 %382, label %405, label %383

383:                                              ; preds = %378
  %384 = load i32, ptr %217, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = call i32 @s2n_print_stacktrace(ptr noundef %385) #13
  %387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %388 = trunc nuw i8 %387 to i1
  br i1 %388, label %389, label %393

389:                                              ; preds = %383
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = call i32 @fileno(ptr noundef %390) #13
  %392 = call i32 @isatty(i32 noundef %391) #13
  %.not117 = icmp eq i32 %392, 0
  br i1 %.not117, label %393, label %394

393:                                              ; preds = %389, %383
  br label %394

394:                                              ; preds = %389, %393
  %.str.5.sink298 = phi ptr [ @.str.5, %393 ], [ @.str.2, %389 ]
  store i32 %384, ptr %217, align 4, !tbaa !5
  %395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %396 = load i32, ptr @test_count, align 4, !tbaa !5
  %397 = load i32, ptr %163, align 4, !tbaa !5
  %398 = call ptr @s2n_strerror(i32 noundef %397, ptr noundef nonnull @.str.4) #13
  %399 = load i32, ptr %163, align 4, !tbaa !5
  %400 = call ptr @s2n_strerror_debug(i32 noundef %399, ptr noundef nonnull @.str.4) #13
  %401 = load i32, ptr %217, align 4, !tbaa !5
  %402 = call ptr @strerror(i32 noundef %401) #13
  %403 = load i32, ptr %217, align 4, !tbaa !5
  %404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %395, ptr noundef nonnull %.str.5.sink298, i32 noundef %396, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %398, ptr noundef %400, ptr noundef %402, i32 noundef %403) #15
  call void @exit(i32 noundef 1) #16
  unreachable

405:                                              ; preds = %378
  %406 = load i32, ptr @test_count, align 4, !tbaa !5
  %407 = add nsw i32 %406, 1
  store i32 %407, ptr @test_count, align 4, !tbaa !5
  %408 = call zeroext i1 @s2n_blob_is_growable(ptr noundef null) #13
  br i1 %408, label %409, label %431

409:                                              ; preds = %405
  %410 = load i32, ptr %217, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = call i32 @s2n_print_stacktrace(ptr noundef %411) #13
  %413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %414 = trunc nuw i8 %413 to i1
  br i1 %414, label %415, label %419

415:                                              ; preds = %409
  %416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %417 = call i32 @fileno(ptr noundef %416) #13
  %418 = call i32 @isatty(i32 noundef %417) #13
  %.not161 = icmp eq i32 %418, 0
  br i1 %.not161, label %419, label %420

419:                                              ; preds = %415, %409
  br label %420

420:                                              ; preds = %415, %419
  %.str.5.sink307 = phi ptr [ @.str.5, %419 ], [ @.str.2, %415 ]
  store i32 %410, ptr %217, align 4, !tbaa !5
  %421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %422 = load i32, ptr @test_count, align 4, !tbaa !5
  %423 = load i32, ptr %163, align 4, !tbaa !5
  %424 = call ptr @s2n_strerror(i32 noundef %423, ptr noundef nonnull @.str.4) #13
  %425 = load i32, ptr %163, align 4, !tbaa !5
  %426 = call ptr @s2n_strerror_debug(i32 noundef %425, ptr noundef nonnull @.str.4) #13
  %427 = load i32, ptr %217, align 4, !tbaa !5
  %428 = call ptr @strerror(i32 noundef %427) #13
  %429 = load i32, ptr %217, align 4, !tbaa !5
  %430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %421, ptr noundef nonnull %.str.5.sink307, i32 noundef %422, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 48, ptr noundef %424, ptr noundef %426, ptr noundef %428, i32 noundef %429) #15
  call void @exit(i32 noundef 1) #16
  unreachable

431:                                              ; preds = %405
  %432 = load i32, ptr @test_count, align 4, !tbaa !5
  %433 = add nsw i32 %432, 1
  store i32 %433, ptr @test_count, align 4, !tbaa !5
  %434 = call i32 @s2n_realloc(ptr noundef null, i32 noundef 24) #13
  %435 = icmp eq i32 %434, -1
  br i1 %435, label %458, label %436

436:                                              ; preds = %431
  %437 = load i32, ptr %217, align 4, !tbaa !5
  %438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %439 = call i32 @s2n_print_stacktrace(ptr noundef %438) #13
  %440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %441 = trunc nuw i8 %440 to i1
  br i1 %441, label %442, label %446

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

446:                                              ; preds = %442, %436
  br label %447

447:                                              ; preds = %442, %446
  %.str.5.sink316 = phi ptr [ @.str.5, %446 ], [ @.str.2, %442 ]
  store i32 %437, ptr %217, align 4, !tbaa !5
  %448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %449 = load i32, ptr @test_count, align 4, !tbaa !5
  %450 = load i32, ptr %163, align 4, !tbaa !5
  %451 = call ptr @s2n_strerror(i32 noundef %450, ptr noundef nonnull @.str.4) #13
  %452 = load i32, ptr %163, align 4, !tbaa !5
  %453 = call ptr @s2n_strerror_debug(i32 noundef %452, ptr noundef nonnull @.str.4) #13
  %454 = load i32, ptr %217, align 4, !tbaa !5
  %455 = call ptr @strerror(i32 noundef %454) #13
  %456 = load i32, ptr %217, align 4, !tbaa !5
  %457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %448, ptr noundef nonnull %.str.5.sink316, i32 noundef %449, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %451, ptr noundef %453, ptr noundef %455, i32 noundef %456) #15
  call void @exit(i32 noundef 1) #16
  unreachable

458:                                              ; preds = %431
  %459 = load i32, ptr @test_count, align 4, !tbaa !5
  %460 = add nsw i32 %459, 1
  store i32 %460, ptr @test_count, align 4, !tbaa !5
  %461 = load i32, ptr %163, align 4, !tbaa !5
  %462 = icmp eq i32 %461, 0
  br i1 %462, label %463, label %485

463:                                              ; preds = %458
  %464 = load i32, ptr %217, align 4, !tbaa !5
  %465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %466 = call i32 @s2n_print_stacktrace(ptr noundef %465) #13
  %467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %468 = trunc nuw i8 %467 to i1
  br i1 %468, label %469, label %473

469:                                              ; preds = %463
  %470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %471 = call i32 @fileno(ptr noundef %470) #13
  %472 = call i32 @isatty(i32 noundef %471) #13
  %.not160 = icmp eq i32 %472, 0
  br i1 %.not160, label %473, label %474

473:                                              ; preds = %469, %463
  br label %474

474:                                              ; preds = %469, %473
  %.str.5.sink325 = phi ptr [ @.str.5, %473 ], [ @.str.2, %469 ]
  store i32 %464, ptr %217, align 4, !tbaa !5
  %475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %476 = load i32, ptr @test_count, align 4, !tbaa !5
  %477 = load i32, ptr %163, align 4, !tbaa !5
  %478 = call ptr @s2n_strerror(i32 noundef %477, ptr noundef nonnull @.str.4) #13
  %479 = load i32, ptr %163, align 4, !tbaa !5
  %480 = call ptr @s2n_strerror_debug(i32 noundef %479, ptr noundef nonnull @.str.4) #13
  %481 = load i32, ptr %217, align 4, !tbaa !5
  %482 = call ptr @strerror(i32 noundef %481) #13
  %483 = load i32, ptr %217, align 4, !tbaa !5
  %484 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %475, ptr noundef nonnull %.str.5.sink325, i32 noundef %476, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %478, ptr noundef %480, ptr noundef %482, i32 noundef %483) #15
  call void @exit(i32 noundef 1) #16
  unreachable

485:                                              ; preds = %458
  %486 = add nsw i32 %459, 2
  store i32 %486, ptr @test_count, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror_debug(i32 noundef %461, ptr noundef nonnull @.str.4) #13
  %488 = icmp eq ptr %487, null
  br i1 %488, label %489, label %511

489:                                              ; preds = %485
  %490 = load i32, ptr %217, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = call i32 @s2n_print_stacktrace(ptr noundef %491) #13
  %493 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %494 = trunc nuw i8 %493 to i1
  br i1 %494, label %495, label %499

495:                                              ; preds = %489
  %496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %497 = call i32 @fileno(ptr noundef %496) #13
  %498 = call i32 @isatty(i32 noundef %497) #13
  %.not159 = icmp eq i32 %498, 0
  br i1 %.not159, label %499, label %500

499:                                              ; preds = %495, %489
  br label %500

500:                                              ; preds = %495, %499
  %.str.5.sink334 = phi ptr [ @.str.5, %499 ], [ @.str.2, %495 ]
  store i32 %490, ptr %217, align 4, !tbaa !5
  %501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %502 = load i32, ptr @test_count, align 4, !tbaa !5
  %503 = load i32, ptr %163, align 4, !tbaa !5
  %504 = call ptr @s2n_strerror(i32 noundef %503, ptr noundef nonnull @.str.4) #13
  %505 = load i32, ptr %163, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror_debug(i32 noundef %505, ptr noundef nonnull @.str.4) #13
  %507 = load i32, ptr %217, align 4, !tbaa !5
  %508 = call ptr @strerror(i32 noundef %507) #13
  %509 = load i32, ptr %217, align 4, !tbaa !5
  %510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %501, ptr noundef nonnull %.str.5.sink334, i32 noundef %502, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %504, ptr noundef %506, ptr noundef %508, i32 noundef %509) #15
  call void @exit(i32 noundef 1) #16
  unreachable

511:                                              ; preds = %485
  store i32 0, ptr %163, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %217, align 4, !tbaa !5
  %512 = load i32, ptr @test_count, align 4, !tbaa !5
  %513 = add nsw i32 %512, 1
  store i32 %513, ptr @test_count, align 4, !tbaa !5
  %514 = call i32 @s2n_free(ptr noundef null) #13
  %515 = icmp eq i32 %514, -1
  br i1 %515, label %538, label %516

516:                                              ; preds = %511
  %517 = load i32, ptr %217, align 4, !tbaa !5
  %518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %519 = call i32 @s2n_print_stacktrace(ptr noundef %518) #13
  %520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %521 = trunc nuw i8 %520 to i1
  br i1 %521, label %522, label %526

522:                                              ; preds = %516
  %523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %524 = call i32 @fileno(ptr noundef %523) #13
  %525 = call i32 @isatty(i32 noundef %524) #13
  %.not119 = icmp eq i32 %525, 0
  br i1 %.not119, label %526, label %527

526:                                              ; preds = %522, %516
  br label %527

527:                                              ; preds = %522, %526
  %.str.5.sink343 = phi ptr [ @.str.5, %526 ], [ @.str.2, %522 ]
  store i32 %517, ptr %217, align 4, !tbaa !5
  %528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %529 = load i32, ptr @test_count, align 4, !tbaa !5
  %530 = load i32, ptr %163, align 4, !tbaa !5
  %531 = call ptr @s2n_strerror(i32 noundef %530, ptr noundef nonnull @.str.4) #13
  %532 = load i32, ptr %163, align 4, !tbaa !5
  %533 = call ptr @s2n_strerror_debug(i32 noundef %532, ptr noundef nonnull @.str.4) #13
  %534 = load i32, ptr %217, align 4, !tbaa !5
  %535 = call ptr @strerror(i32 noundef %534) #13
  %536 = load i32, ptr %217, align 4, !tbaa !5
  %537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %528, ptr noundef nonnull %.str.5.sink343, i32 noundef %529, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %531, ptr noundef %533, ptr noundef %535, i32 noundef %536) #15
  call void @exit(i32 noundef 1) #16
  unreachable

538:                                              ; preds = %511
  %539 = load i32, ptr @test_count, align 4, !tbaa !5
  %540 = add nsw i32 %539, 1
  store i32 %540, ptr @test_count, align 4, !tbaa !5
  %541 = load i32, ptr %163, align 4, !tbaa !5
  %542 = icmp eq i32 %541, 0
  br i1 %542, label %543, label %565

543:                                              ; preds = %538
  %544 = load i32, ptr %217, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = call i32 @s2n_print_stacktrace(ptr noundef %545) #13
  %547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %548 = trunc nuw i8 %547 to i1
  br i1 %548, label %549, label %553

549:                                              ; preds = %543
  %550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %551 = call i32 @fileno(ptr noundef %550) #13
  %552 = call i32 @isatty(i32 noundef %551) #13
  %.not158 = icmp eq i32 %552, 0
  br i1 %.not158, label %553, label %554

553:                                              ; preds = %549, %543
  br label %554

554:                                              ; preds = %549, %553
  %.str.5.sink352 = phi ptr [ @.str.5, %553 ], [ @.str.2, %549 ]
  store i32 %544, ptr %217, align 4, !tbaa !5
  %555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %556 = load i32, ptr @test_count, align 4, !tbaa !5
  %557 = load i32, ptr %163, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror(i32 noundef %557, ptr noundef nonnull @.str.4) #13
  %559 = load i32, ptr %163, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror_debug(i32 noundef %559, ptr noundef nonnull @.str.4) #13
  %561 = load i32, ptr %217, align 4, !tbaa !5
  %562 = call ptr @strerror(i32 noundef %561) #13
  %563 = load i32, ptr %217, align 4, !tbaa !5
  %564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %555, ptr noundef nonnull %.str.5.sink352, i32 noundef %556, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %558, ptr noundef %560, ptr noundef %562, i32 noundef %563) #15
  call void @exit(i32 noundef 1) #16
  unreachable

565:                                              ; preds = %538
  %566 = add nsw i32 %539, 2
  store i32 %566, ptr @test_count, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror_debug(i32 noundef %541, ptr noundef nonnull @.str.4) #13
  %568 = icmp eq ptr %567, null
  br i1 %568, label %569, label %591

569:                                              ; preds = %565
  %570 = load i32, ptr %217, align 4, !tbaa !5
  %571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %572 = call i32 @s2n_print_stacktrace(ptr noundef %571) #13
  %573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %574 = trunc nuw i8 %573 to i1
  br i1 %574, label %575, label %579

575:                                              ; preds = %569
  %576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %577 = call i32 @fileno(ptr noundef %576) #13
  %578 = call i32 @isatty(i32 noundef %577) #13
  %.not157 = icmp eq i32 %578, 0
  br i1 %.not157, label %579, label %580

579:                                              ; preds = %575, %569
  br label %580

580:                                              ; preds = %575, %579
  %.str.5.sink361 = phi ptr [ @.str.5, %579 ], [ @.str.2, %575 ]
  store i32 %570, ptr %217, align 4, !tbaa !5
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = load i32, ptr %163, align 4, !tbaa !5
  %584 = call ptr @s2n_strerror(i32 noundef %583, ptr noundef nonnull @.str.4) #13
  %585 = load i32, ptr %163, align 4, !tbaa !5
  %586 = call ptr @s2n_strerror_debug(i32 noundef %585, ptr noundef nonnull @.str.4) #13
  %587 = load i32, ptr %217, align 4, !tbaa !5
  %588 = call ptr @strerror(i32 noundef %587) #13
  %589 = load i32, ptr %217, align 4, !tbaa !5
  %590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %581, ptr noundef nonnull %.str.5.sink361, i32 noundef %582, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %584, ptr noundef %586, ptr noundef %588, i32 noundef %589) #15
  call void @exit(i32 noundef 1) #16
  unreachable

591:                                              ; preds = %565
  store i32 0, ptr %163, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %217, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, i8 0, i64 24, i1 false)
  %592 = load i32, ptr @test_count, align 4, !tbaa !5
  %593 = add nsw i32 %592, 1
  store i32 %593, ptr @test_count, align 4, !tbaa !5
  %594 = call i32 @s2n_blob_init(ptr noundef nonnull %7, ptr noundef nonnull %5, i32 noundef 12) #13
  %595 = icmp eq i32 %594, -1
  br i1 %595, label %596, label %618

596:                                              ; preds = %591
  %597 = load i32, ptr %217, align 4, !tbaa !5
  %598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %599 = call i32 @s2n_print_stacktrace(ptr noundef %598) #13
  %600 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %601 = trunc nuw i8 %600 to i1
  br i1 %601, label %602, label %606

602:                                              ; preds = %596
  %603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %604 = call i32 @fileno(ptr noundef %603) #13
  %605 = call i32 @isatty(i32 noundef %604) #13
  %.not156 = icmp eq i32 %605, 0
  br i1 %.not156, label %606, label %607

606:                                              ; preds = %602, %596
  br label %607

607:                                              ; preds = %602, %606
  %.str.5.sink370 = phi ptr [ @.str.5, %606 ], [ @.str.2, %602 ]
  store i32 %597, ptr %217, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = load i32, ptr @test_count, align 4, !tbaa !5
  %610 = load i32, ptr %163, align 4, !tbaa !5
  %611 = call ptr @s2n_strerror(i32 noundef %610, ptr noundef nonnull @.str.4) #13
  %612 = load i32, ptr %163, align 4, !tbaa !5
  %613 = call ptr @s2n_strerror_debug(i32 noundef %612, ptr noundef nonnull @.str.4) #13
  %614 = load i32, ptr %217, align 4, !tbaa !5
  %615 = call ptr @strerror(i32 noundef %614) #13
  %616 = load i32, ptr %217, align 4, !tbaa !5
  %617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %608, ptr noundef nonnull %.str.5.sink370, i32 noundef %609, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %611, ptr noundef %613, ptr noundef %615, i32 noundef %616) #15
  call void @exit(i32 noundef 1) #16
  unreachable

618:                                              ; preds = %591
  %619 = load i32, ptr @test_count, align 4, !tbaa !5
  %620 = add nsw i32 %619, 1
  store i32 %620, ptr @test_count, align 4, !tbaa !5
  %621 = call zeroext i1 @s2n_blob_is_growable(ptr noundef nonnull %7) #13
  br i1 %621, label %622, label %644

622:                                              ; preds = %618
  %623 = load i32, ptr %217, align 4, !tbaa !5
  %624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %625 = call i32 @s2n_print_stacktrace(ptr noundef %624) #13
  %626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %627 = trunc nuw i8 %626 to i1
  br i1 %627, label %628, label %632

628:                                              ; preds = %622
  %629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %630 = call i32 @fileno(ptr noundef %629) #13
  %631 = call i32 @isatty(i32 noundef %630) #13
  %.not155 = icmp eq i32 %631, 0
  br i1 %.not155, label %632, label %633

632:                                              ; preds = %628, %622
  br label %633

633:                                              ; preds = %628, %632
  %.str.5.sink379 = phi ptr [ @.str.5, %632 ], [ @.str.2, %628 ]
  store i32 %623, ptr %217, align 4, !tbaa !5
  %634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %635 = load i32, ptr @test_count, align 4, !tbaa !5
  %636 = load i32, ptr %163, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror(i32 noundef %636, ptr noundef nonnull @.str.4) #13
  %638 = load i32, ptr %163, align 4, !tbaa !5
  %639 = call ptr @s2n_strerror_debug(i32 noundef %638, ptr noundef nonnull @.str.4) #13
  %640 = load i32, ptr %217, align 4, !tbaa !5
  %641 = call ptr @strerror(i32 noundef %640) #13
  %642 = load i32, ptr %217, align 4, !tbaa !5
  %643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %634, ptr noundef nonnull %.str.5.sink379, i32 noundef %635, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 55, ptr noundef %637, ptr noundef %639, ptr noundef %641, i32 noundef %642) #15
  call void @exit(i32 noundef 1) #16
  unreachable

644:                                              ; preds = %618
  %645 = load i32, ptr @test_count, align 4, !tbaa !5
  %646 = add nsw i32 %645, 1
  store i32 %646, ptr @test_count, align 4, !tbaa !5
  %647 = call i32 @s2n_realloc(ptr noundef nonnull %7, i32 noundef 24) #13
  %648 = icmp eq i32 %647, -1
  br i1 %648, label %671, label %649

649:                                              ; preds = %644
  %650 = load i32, ptr %217, align 4, !tbaa !5
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = call i32 @s2n_print_stacktrace(ptr noundef %651) #13
  %653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %654 = trunc nuw i8 %653 to i1
  br i1 %654, label %655, label %659

655:                                              ; preds = %649
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = call i32 @fileno(ptr noundef %656) #13
  %658 = call i32 @isatty(i32 noundef %657) #13
  %.not120 = icmp eq i32 %658, 0
  br i1 %.not120, label %659, label %660

659:                                              ; preds = %655, %649
  br label %660

660:                                              ; preds = %655, %659
  %.str.5.sink388 = phi ptr [ @.str.5, %659 ], [ @.str.2, %655 ]
  store i32 %650, ptr %217, align 4, !tbaa !5
  %661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %662 = load i32, ptr @test_count, align 4, !tbaa !5
  %663 = load i32, ptr %163, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror(i32 noundef %663, ptr noundef nonnull @.str.4) #13
  %665 = load i32, ptr %163, align 4, !tbaa !5
  %666 = call ptr @s2n_strerror_debug(i32 noundef %665, ptr noundef nonnull @.str.4) #13
  %667 = load i32, ptr %217, align 4, !tbaa !5
  %668 = call ptr @strerror(i32 noundef %667) #13
  %669 = load i32, ptr %217, align 4, !tbaa !5
  %670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %661, ptr noundef nonnull %.str.5.sink388, i32 noundef %662, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %664, ptr noundef %666, ptr noundef %668, i32 noundef %669) #15
  call void @exit(i32 noundef 1) #16
  unreachable

671:                                              ; preds = %644
  %672 = load i32, ptr @test_count, align 4, !tbaa !5
  %673 = add nsw i32 %672, 1
  store i32 %673, ptr @test_count, align 4, !tbaa !5
  %674 = load i32, ptr %163, align 4, !tbaa !5
  %675 = icmp eq i32 %674, 0
  br i1 %675, label %676, label %698

676:                                              ; preds = %671
  %677 = load i32, ptr %217, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @s2n_print_stacktrace(ptr noundef %678) #13
  %680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %681 = trunc nuw i8 %680 to i1
  br i1 %681, label %682, label %686

682:                                              ; preds = %676
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = call i32 @fileno(ptr noundef %683) #13
  %685 = call i32 @isatty(i32 noundef %684) #13
  %.not154 = icmp eq i32 %685, 0
  br i1 %.not154, label %686, label %687

686:                                              ; preds = %682, %676
  br label %687

687:                                              ; preds = %682, %686
  %.str.5.sink397 = phi ptr [ @.str.5, %686 ], [ @.str.2, %682 ]
  store i32 %677, ptr %217, align 4, !tbaa !5
  %688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %689 = load i32, ptr @test_count, align 4, !tbaa !5
  %690 = load i32, ptr %163, align 4, !tbaa !5
  %691 = call ptr @s2n_strerror(i32 noundef %690, ptr noundef nonnull @.str.4) #13
  %692 = load i32, ptr %163, align 4, !tbaa !5
  %693 = call ptr @s2n_strerror_debug(i32 noundef %692, ptr noundef nonnull @.str.4) #13
  %694 = load i32, ptr %217, align 4, !tbaa !5
  %695 = call ptr @strerror(i32 noundef %694) #13
  %696 = load i32, ptr %217, align 4, !tbaa !5
  %697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %688, ptr noundef nonnull %.str.5.sink397, i32 noundef %689, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %691, ptr noundef %693, ptr noundef %695, i32 noundef %696) #15
  call void @exit(i32 noundef 1) #16
  unreachable

698:                                              ; preds = %671
  %699 = add nsw i32 %672, 2
  store i32 %699, ptr @test_count, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror_debug(i32 noundef %674, ptr noundef nonnull @.str.4) #13
  %701 = icmp eq ptr %700, null
  br i1 %701, label %702, label %724

702:                                              ; preds = %698
  %703 = load i32, ptr %217, align 4, !tbaa !5
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = call i32 @s2n_print_stacktrace(ptr noundef %704) #13
  %706 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %707 = trunc nuw i8 %706 to i1
  br i1 %707, label %708, label %712

708:                                              ; preds = %702
  %709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %710 = call i32 @fileno(ptr noundef %709) #13
  %711 = call i32 @isatty(i32 noundef %710) #13
  %.not153 = icmp eq i32 %711, 0
  br i1 %.not153, label %712, label %713

712:                                              ; preds = %708, %702
  br label %713

713:                                              ; preds = %708, %712
  %.str.5.sink406 = phi ptr [ @.str.5, %712 ], [ @.str.2, %708 ]
  store i32 %703, ptr %217, align 4, !tbaa !5
  %714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %715 = load i32, ptr @test_count, align 4, !tbaa !5
  %716 = load i32, ptr %163, align 4, !tbaa !5
  %717 = call ptr @s2n_strerror(i32 noundef %716, ptr noundef nonnull @.str.4) #13
  %718 = load i32, ptr %163, align 4, !tbaa !5
  %719 = call ptr @s2n_strerror_debug(i32 noundef %718, ptr noundef nonnull @.str.4) #13
  %720 = load i32, ptr %217, align 4, !tbaa !5
  %721 = call ptr @strerror(i32 noundef %720) #13
  %722 = load i32, ptr %217, align 4, !tbaa !5
  %723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %714, ptr noundef nonnull %.str.5.sink406, i32 noundef %715, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %717, ptr noundef %719, ptr noundef %721, i32 noundef %722) #15
  call void @exit(i32 noundef 1) #16
  unreachable

724:                                              ; preds = %698
  store i32 0, ptr %163, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %217, align 4, !tbaa !5
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = add nsw i32 %725, 1
  store i32 %726, ptr @test_count, align 4, !tbaa !5
  %727 = call i32 @s2n_free(ptr noundef nonnull %7) #13
  %728 = icmp eq i32 %727, -1
  br i1 %728, label %751, label %729

729:                                              ; preds = %724
  %730 = load i32, ptr %217, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @s2n_print_stacktrace(ptr noundef %731) #13
  %733 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %734 = trunc nuw i8 %733 to i1
  br i1 %734, label %735, label %739

735:                                              ; preds = %729
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = call i32 @fileno(ptr noundef %736) #13
  %738 = call i32 @isatty(i32 noundef %737) #13
  %.not121 = icmp eq i32 %738, 0
  br i1 %.not121, label %739, label %740

739:                                              ; preds = %735, %729
  br label %740

740:                                              ; preds = %735, %739
  %.str.5.sink415 = phi ptr [ @.str.5, %739 ], [ @.str.2, %735 ]
  store i32 %730, ptr %217, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = load i32, ptr %163, align 4, !tbaa !5
  %744 = call ptr @s2n_strerror(i32 noundef %743, ptr noundef nonnull @.str.4) #13
  %745 = load i32, ptr %163, align 4, !tbaa !5
  %746 = call ptr @s2n_strerror_debug(i32 noundef %745, ptr noundef nonnull @.str.4) #13
  %747 = load i32, ptr %217, align 4, !tbaa !5
  %748 = call ptr @strerror(i32 noundef %747) #13
  %749 = load i32, ptr %217, align 4, !tbaa !5
  %750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %741, ptr noundef nonnull %.str.5.sink415, i32 noundef %742, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %744, ptr noundef %746, ptr noundef %748, i32 noundef %749) #15
  call void @exit(i32 noundef 1) #16
  unreachable

751:                                              ; preds = %724
  %752 = load i32, ptr @test_count, align 4, !tbaa !5
  %753 = add nsw i32 %752, 1
  store i32 %753, ptr @test_count, align 4, !tbaa !5
  %754 = load i32, ptr %163, align 4, !tbaa !5
  %755 = icmp eq i32 %754, 0
  br i1 %755, label %756, label %778

756:                                              ; preds = %751
  %757 = load i32, ptr %217, align 4, !tbaa !5
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = call i32 @s2n_print_stacktrace(ptr noundef %758) #13
  %760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %761 = trunc nuw i8 %760 to i1
  br i1 %761, label %762, label %766

762:                                              ; preds = %756
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = call i32 @fileno(ptr noundef %763) #13
  %765 = call i32 @isatty(i32 noundef %764) #13
  %.not152 = icmp eq i32 %765, 0
  br i1 %.not152, label %766, label %767

766:                                              ; preds = %762, %756
  br label %767

767:                                              ; preds = %762, %766
  %.str.5.sink424 = phi ptr [ @.str.5, %766 ], [ @.str.2, %762 ]
  store i32 %757, ptr %217, align 4, !tbaa !5
  %768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %769 = load i32, ptr @test_count, align 4, !tbaa !5
  %770 = load i32, ptr %163, align 4, !tbaa !5
  %771 = call ptr @s2n_strerror(i32 noundef %770, ptr noundef nonnull @.str.4) #13
  %772 = load i32, ptr %163, align 4, !tbaa !5
  %773 = call ptr @s2n_strerror_debug(i32 noundef %772, ptr noundef nonnull @.str.4) #13
  %774 = load i32, ptr %217, align 4, !tbaa !5
  %775 = call ptr @strerror(i32 noundef %774) #13
  %776 = load i32, ptr %217, align 4, !tbaa !5
  %777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %768, ptr noundef nonnull %.str.5.sink424, i32 noundef %769, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %771, ptr noundef %773, ptr noundef %775, i32 noundef %776) #15
  call void @exit(i32 noundef 1) #16
  unreachable

778:                                              ; preds = %751
  %779 = add nsw i32 %752, 2
  store i32 %779, ptr @test_count, align 4, !tbaa !5
  %780 = call ptr @s2n_strerror_debug(i32 noundef %754, ptr noundef nonnull @.str.4) #13
  %781 = icmp eq ptr %780, null
  br i1 %781, label %782, label %804

782:                                              ; preds = %778
  %783 = load i32, ptr %217, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 @s2n_print_stacktrace(ptr noundef %784) #13
  %786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %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 !9
  %790 = call i32 @fileno(ptr noundef %789) #13
  %791 = call i32 @isatty(i32 noundef %790) #13
  %.not151 = icmp eq i32 %791, 0
  br i1 %.not151, label %792, label %793

792:                                              ; preds = %788, %782
  br label %793

793:                                              ; preds = %788, %792
  %.str.5.sink433 = phi ptr [ @.str.5, %792 ], [ @.str.2, %788 ]
  store i32 %783, ptr %217, align 4, !tbaa !5
  %794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %795 = load i32, ptr @test_count, align 4, !tbaa !5
  %796 = load i32, ptr %163, align 4, !tbaa !5
  %797 = call ptr @s2n_strerror(i32 noundef %796, ptr noundef nonnull @.str.4) #13
  %798 = load i32, ptr %163, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror_debug(i32 noundef %798, ptr noundef nonnull @.str.4) #13
  %800 = load i32, ptr %217, align 4, !tbaa !5
  %801 = call ptr @strerror(i32 noundef %800) #13
  %802 = load i32, ptr %217, align 4, !tbaa !5
  %803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %794, ptr noundef nonnull %.str.5.sink433, i32 noundef %795, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 57, ptr noundef %797, ptr noundef %799, ptr noundef %801, i32 noundef %802) #15
  call void @exit(i32 noundef 1) #16
  unreachable

804:                                              ; preds = %778
  store i32 0, ptr %163, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #13
  store i32 0, ptr %217, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %8) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %8, i8 0, i64 24, i1 false)
  %805 = load i32, ptr @test_count, align 4, !tbaa !5
  %806 = add nsw i32 %805, 1
  store i32 %806, ptr @test_count, align 4, !tbaa !5
  %807 = call zeroext i1 @s2n_blob_is_growable(ptr noundef nonnull %8) #13
  br i1 %807, label %830, label %808

808:                                              ; preds = %804
  %809 = load i32, ptr %217, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = call i32 @s2n_print_stacktrace(ptr noundef %810) #13
  %812 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %813 = trunc nuw i8 %812 to i1
  br i1 %813, label %814, label %818

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

818:                                              ; preds = %814, %808
  br label %819

819:                                              ; preds = %814, %818
  %.str.5.sink442 = phi ptr [ @.str.5, %818 ], [ @.str.2, %814 ]
  store i32 %809, ptr %217, align 4, !tbaa !5
  %820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %821 = load i32, ptr @test_count, align 4, !tbaa !5
  %822 = load i32, ptr %163, align 4, !tbaa !5
  %823 = call ptr @s2n_strerror(i32 noundef %822, ptr noundef nonnull @.str.4) #13
  %824 = load i32, ptr %163, align 4, !tbaa !5
  %825 = call ptr @s2n_strerror_debug(i32 noundef %824, ptr noundef nonnull @.str.4) #13
  %826 = load i32, ptr %217, align 4, !tbaa !5
  %827 = call ptr @strerror(i32 noundef %826) #13
  %828 = load i32, ptr %217, align 4, !tbaa !5
  %829 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %820, ptr noundef nonnull %.str.5.sink442, i32 noundef %821, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 61, ptr noundef %823, ptr noundef %825, ptr noundef %827, i32 noundef %828) #15
  call void @exit(i32 noundef 1) #16
  unreachable

830:                                              ; preds = %804
  %831 = load i32, ptr @test_count, align 4, !tbaa !5
  %832 = add nsw i32 %831, 1
  store i32 %832, ptr @test_count, align 4, !tbaa !5
  %833 = call i32 @s2n_free(ptr noundef nonnull %8) #13
  %834 = icmp eq i32 %833, -1
  br i1 %834, label %835, label %857

835:                                              ; preds = %830
  %836 = load i32, ptr %217, align 4, !tbaa !5
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @s2n_print_stacktrace(ptr noundef %837) #13
  %839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %840 = trunc nuw i8 %839 to i1
  br i1 %840, label %841, label %845

841:                                              ; preds = %835
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = call i32 @fileno(ptr noundef %842) #13
  %844 = call i32 @isatty(i32 noundef %843) #13
  %.not150 = icmp eq i32 %844, 0
  br i1 %.not150, label %845, label %846

845:                                              ; preds = %841, %835
  br label %846

846:                                              ; preds = %841, %845
  %.str.5.sink451 = phi ptr [ @.str.5, %845 ], [ @.str.2, %841 ]
  store i32 %836, ptr %217, align 4, !tbaa !5
  %847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %848 = load i32, ptr @test_count, align 4, !tbaa !5
  %849 = load i32, ptr %163, align 4, !tbaa !5
  %850 = call ptr @s2n_strerror(i32 noundef %849, ptr noundef nonnull @.str.4) #13
  %851 = load i32, ptr %163, align 4, !tbaa !5
  %852 = call ptr @s2n_strerror_debug(i32 noundef %851, ptr noundef nonnull @.str.4) #13
  %853 = load i32, ptr %217, align 4, !tbaa !5
  %854 = call ptr @strerror(i32 noundef %853) #13
  %855 = load i32, ptr %217, align 4, !tbaa !5
  %856 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %847, ptr noundef nonnull %.str.5.sink451, i32 noundef %848, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 62, ptr noundef %850, ptr noundef %852, ptr noundef %854, i32 noundef %855) #15
  call void @exit(i32 noundef 1) #16
  unreachable

857:                                              ; preds = %830
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %9) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %9, i8 0, i64 24, i1 false)
  %858 = load i32, ptr @test_count, align 4, !tbaa !5
  %859 = add nsw i32 %858, 1
  store i32 %859, ptr @test_count, align 4, !tbaa !5
  %860 = call zeroext i1 @s2n_blob_is_growable(ptr noundef nonnull %9) #13
  br i1 %860, label %883, label %861

861:                                              ; preds = %857
  %862 = load i32, ptr %217, align 4, !tbaa !5
  %863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %864 = call i32 @s2n_print_stacktrace(ptr noundef %863) #13
  %865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %866 = trunc nuw i8 %865 to i1
  br i1 %866, label %867, label %871

867:                                              ; preds = %861
  %868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %869 = call i32 @fileno(ptr noundef %868) #13
  %870 = call i32 @isatty(i32 noundef %869) #13
  %.not123 = icmp eq i32 %870, 0
  br i1 %.not123, label %871, label %872

871:                                              ; preds = %867, %861
  br label %872

872:                                              ; preds = %867, %871
  %.str.5.sink460 = phi ptr [ @.str.5, %871 ], [ @.str.2, %867 ]
  store i32 %862, ptr %217, align 4, !tbaa !5
  %873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %874 = load i32, ptr @test_count, align 4, !tbaa !5
  %875 = load i32, ptr %163, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror(i32 noundef %875, ptr noundef nonnull @.str.4) #13
  %877 = load i32, ptr %163, align 4, !tbaa !5
  %878 = call ptr @s2n_strerror_debug(i32 noundef %877, ptr noundef nonnull @.str.4) #13
  %879 = load i32, ptr %217, align 4, !tbaa !5
  %880 = call ptr @strerror(i32 noundef %879) #13
  %881 = load i32, ptr %217, align 4, !tbaa !5
  %882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %873, ptr noundef nonnull %.str.5.sink460, i32 noundef %874, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %876, ptr noundef %878, ptr noundef %880, i32 noundef %881) #15
  call void @exit(i32 noundef 1) #16
  unreachable

883:                                              ; preds = %857
  %884 = load i32, ptr @test_count, align 4, !tbaa !5
  %885 = add nsw i32 %884, 1
  store i32 %885, ptr @test_count, align 4, !tbaa !5
  %886 = call i32 @s2n_realloc(ptr noundef nonnull %9, i32 noundef 24) #13
  %887 = icmp eq i32 %886, -1
  br i1 %887, label %888, label %910

888:                                              ; preds = %883
  %889 = load i32, ptr %217, align 4, !tbaa !5
  %890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %891 = call i32 @s2n_print_stacktrace(ptr noundef %890) #13
  %892 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %893 = trunc nuw i8 %892 to i1
  br i1 %893, label %894, label %898

894:                                              ; preds = %888
  %895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %896 = call i32 @fileno(ptr noundef %895) #13
  %897 = call i32 @isatty(i32 noundef %896) #13
  %.not149 = icmp eq i32 %897, 0
  br i1 %.not149, label %898, label %899

898:                                              ; preds = %894, %888
  br label %899

899:                                              ; preds = %894, %898
  %.str.5.sink469 = phi ptr [ @.str.5, %898 ], [ @.str.2, %894 ]
  store i32 %889, ptr %217, align 4, !tbaa !5
  %900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %901 = load i32, ptr @test_count, align 4, !tbaa !5
  %902 = load i32, ptr %163, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror(i32 noundef %902, ptr noundef nonnull @.str.4) #13
  %904 = load i32, ptr %163, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror_debug(i32 noundef %904, ptr noundef nonnull @.str.4) #13
  %906 = load i32, ptr %217, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #13
  %908 = load i32, ptr %217, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %900, ptr noundef nonnull %.str.5.sink469, i32 noundef %901, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %903, ptr noundef %905, ptr noundef %907, i32 noundef %908) #15
  call void @exit(i32 noundef 1) #16
  unreachable

910:                                              ; preds = %883
  %911 = load i32, ptr @test_count, align 4, !tbaa !5
  %912 = add nsw i32 %911, 1
  store i32 %912, ptr @test_count, align 4, !tbaa !5
  %913 = call i32 @s2n_free(ptr noundef nonnull %9) #13
  %914 = icmp eq i32 %913, -1
  br i1 %914, label %915, label %937

915:                                              ; preds = %910
  %916 = load i32, ptr %217, align 4, !tbaa !5
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @s2n_print_stacktrace(ptr noundef %917) #13
  %919 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %920 = trunc nuw i8 %919 to i1
  br i1 %920, label %921, label %925

921:                                              ; preds = %915
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = call i32 @fileno(ptr noundef %922) #13
  %924 = call i32 @isatty(i32 noundef %923) #13
  %.not148 = icmp eq i32 %924, 0
  br i1 %.not148, label %925, label %926

925:                                              ; preds = %921, %915
  br label %926

926:                                              ; preds = %921, %925
  %.str.5.sink478 = phi ptr [ @.str.5, %925 ], [ @.str.2, %921 ]
  store i32 %916, ptr %217, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = load i32, ptr %163, align 4, !tbaa !5
  %930 = call ptr @s2n_strerror(i32 noundef %929, ptr noundef nonnull @.str.4) #13
  %931 = load i32, ptr %163, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror_debug(i32 noundef %931, ptr noundef nonnull @.str.4) #13
  %933 = load i32, ptr %217, align 4, !tbaa !5
  %934 = call ptr @strerror(i32 noundef %933) #13
  %935 = load i32, ptr %217, align 4, !tbaa !5
  %936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef nonnull %.str.5.sink478, i32 noundef %928, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 68, ptr noundef %930, ptr noundef %932, ptr noundef %934, i32 noundef %935) #15
  call void @exit(i32 noundef 1) #16
  unreachable

937:                                              ; preds = %910
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, i8 0, i64 24, i1 false)
  %938 = load i32, ptr @test_count, align 4, !tbaa !5
  %939 = add nsw i32 %938, 1
  store i32 %939, ptr @test_count, align 4, !tbaa !5
  %940 = call i32 @s2n_alloc(ptr noundef nonnull %10, i32 noundef 12) #13
  %941 = icmp eq i32 %940, -1
  br i1 %941, label %942, label %964

942:                                              ; preds = %937
  %943 = load i32, ptr %217, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = call i32 @s2n_print_stacktrace(ptr noundef %944) #13
  %946 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %947 = trunc nuw i8 %946 to i1
  br i1 %947, label %948, label %952

948:                                              ; preds = %942
  %949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %950 = call i32 @fileno(ptr noundef %949) #13
  %951 = call i32 @isatty(i32 noundef %950) #13
  %.not147 = icmp eq i32 %951, 0
  br i1 %.not147, label %952, label %953

952:                                              ; preds = %948, %942
  br label %953

953:                                              ; preds = %948, %952
  %.str.5.sink487 = phi ptr [ @.str.5, %952 ], [ @.str.2, %948 ]
  store i32 %943, ptr %217, align 4, !tbaa !5
  %954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = load i32, ptr %163, align 4, !tbaa !5
  %957 = call ptr @s2n_strerror(i32 noundef %956, ptr noundef nonnull @.str.4) #13
  %958 = load i32, ptr %163, align 4, !tbaa !5
  %959 = call ptr @s2n_strerror_debug(i32 noundef %958, ptr noundef nonnull @.str.4) #13
  %960 = load i32, ptr %217, align 4, !tbaa !5
  %961 = call ptr @strerror(i32 noundef %960) #13
  %962 = load i32, ptr %217, align 4, !tbaa !5
  %963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %954, ptr noundef nonnull %.str.5.sink487, i32 noundef %955, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 72, ptr noundef %957, ptr noundef %959, ptr noundef %961, i32 noundef %962) #15
  call void @exit(i32 noundef 1) #16
  unreachable

964:                                              ; preds = %937
  %965 = load i32, ptr @test_count, align 4, !tbaa !5
  %966 = add nsw i32 %965, 1
  store i32 %966, ptr @test_count, align 4, !tbaa !5
  %967 = call zeroext i1 @s2n_blob_is_growable(ptr noundef nonnull %10) #13
  br i1 %967, label %990, label %968

968:                                              ; preds = %964
  %969 = load i32, ptr %217, align 4, !tbaa !5
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = call i32 @s2n_print_stacktrace(ptr noundef %970) #13
  %972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %973 = trunc nuw i8 %972 to i1
  br i1 %973, label %974, label %978

974:                                              ; preds = %968
  %975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %976 = call i32 @fileno(ptr noundef %975) #13
  %977 = call i32 @isatty(i32 noundef %976) #13
  %.not124 = icmp eq i32 %977, 0
  br i1 %.not124, label %978, label %979

978:                                              ; preds = %974, %968
  br label %979

979:                                              ; preds = %974, %978
  %.str.5.sink496 = phi ptr [ @.str.5, %978 ], [ @.str.2, %974 ]
  store i32 %969, ptr %217, align 4, !tbaa !5
  %980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %981 = load i32, ptr @test_count, align 4, !tbaa !5
  %982 = load i32, ptr %163, align 4, !tbaa !5
  %983 = call ptr @s2n_strerror(i32 noundef %982, ptr noundef nonnull @.str.4) #13
  %984 = load i32, ptr %163, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror_debug(i32 noundef %984, ptr noundef nonnull @.str.4) #13
  %986 = load i32, ptr %217, align 4, !tbaa !5
  %987 = call ptr @strerror(i32 noundef %986) #13
  %988 = load i32, ptr %217, align 4, !tbaa !5
  %989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %980, ptr noundef nonnull %.str.5.sink496, i32 noundef %981, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 73, ptr noundef %983, ptr noundef %985, ptr noundef %987, i32 noundef %988) #15
  call void @exit(i32 noundef 1) #16
  unreachable

990:                                              ; preds = %964
  %991 = load i32, ptr @test_count, align 4, !tbaa !5
  %992 = add nsw i32 %991, 1
  store i32 %992, ptr @test_count, align 4, !tbaa !5
  %993 = call i32 @s2n_free(ptr noundef nonnull %10) #13
  %994 = icmp eq i32 %993, -1
  br i1 %994, label %995, label %1017

995:                                              ; preds = %990
  %996 = load i32, ptr %217, align 4, !tbaa !5
  %997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %998 = call i32 @s2n_print_stacktrace(ptr noundef %997) #13
  %999 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1000 = trunc nuw i8 %999 to i1
  br i1 %1000, label %1001, label %1005

1001:                                             ; preds = %995
  %1002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1003 = call i32 @fileno(ptr noundef %1002) #13
  %1004 = call i32 @isatty(i32 noundef %1003) #13
  %.not146 = icmp eq i32 %1004, 0
  br i1 %.not146, label %1005, label %1006

1005:                                             ; preds = %1001, %995
  br label %1006

1006:                                             ; preds = %1001, %1005
  %.str.5.sink505 = phi ptr [ @.str.5, %1005 ], [ @.str.2, %1001 ]
  store i32 %996, ptr %217, align 4, !tbaa !5
  %1007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1008 = load i32, ptr @test_count, align 4, !tbaa !5
  %1009 = load i32, ptr %163, align 4, !tbaa !5
  %1010 = call ptr @s2n_strerror(i32 noundef %1009, ptr noundef nonnull @.str.4) #13
  %1011 = load i32, ptr %163, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror_debug(i32 noundef %1011, ptr noundef nonnull @.str.4) #13
  %1013 = load i32, ptr %217, align 4, !tbaa !5
  %1014 = call ptr @strerror(i32 noundef %1013) #13
  %1015 = load i32, ptr %217, align 4, !tbaa !5
  %1016 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1007, ptr noundef nonnull %.str.5.sink505, i32 noundef %1008, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 74, ptr noundef %1010, ptr noundef %1012, ptr noundef %1014, i32 noundef %1015) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1017:                                             ; preds = %990
  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)
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %12) #13
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %12, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.hello_world, i64 12, i1 false)
  %1018 = load i32, ptr @test_count, align 4, !tbaa !5
  %1019 = add nsw i32 %1018, 1
  store i32 %1019, ptr @test_count, align 4, !tbaa !5
  %1020 = call i32 @s2n_alloc(ptr noundef nonnull %11, i32 noundef 12) #13
  %1021 = icmp eq i32 %1020, -1
  br i1 %1021, label %1022, label %1044

1022:                                             ; preds = %1017
  %1023 = load i32, ptr %217, align 4, !tbaa !5
  %1024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1025 = call i32 @s2n_print_stacktrace(ptr noundef %1024) #13
  %1026 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1027 = trunc nuw i8 %1026 to i1
  br i1 %1027, label %1028, label %1032

1028:                                             ; preds = %1022
  %1029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1030 = call i32 @fileno(ptr noundef %1029) #13
  %1031 = call i32 @isatty(i32 noundef %1030) #13
  %.not145 = icmp eq i32 %1031, 0
  br i1 %.not145, label %1032, label %1033

1032:                                             ; preds = %1028, %1022
  br label %1033

1033:                                             ; preds = %1028, %1032
  %.str.5.sink514 = phi ptr [ @.str.5, %1032 ], [ @.str.2, %1028 ]
  store i32 %1023, ptr %217, align 4, !tbaa !5
  %1034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1035 = load i32, ptr @test_count, align 4, !tbaa !5
  %1036 = load i32, ptr %163, align 4, !tbaa !5
  %1037 = call ptr @s2n_strerror(i32 noundef %1036, ptr noundef nonnull @.str.4) #13
  %1038 = load i32, ptr %163, align 4, !tbaa !5
  %1039 = call ptr @s2n_strerror_debug(i32 noundef %1038, ptr noundef nonnull @.str.4) #13
  %1040 = load i32, ptr %217, align 4, !tbaa !5
  %1041 = call ptr @strerror(i32 noundef %1040) #13
  %1042 = load i32, ptr %217, align 4, !tbaa !5
  %1043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1034, ptr noundef nonnull %.str.5.sink514, i32 noundef %1035, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %1037, ptr noundef %1039, ptr noundef %1041, i32 noundef %1042) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1044:                                             ; preds = %1017
  %1045 = load i32, ptr @test_count, align 4, !tbaa !5
  %1046 = add nsw i32 %1045, 1
  store i32 %1046, ptr @test_count, align 4, !tbaa !5
  %1047 = call zeroext i1 @s2n_blob_is_growable(ptr noundef nonnull %11) #13
  br i1 %1047, label %1070, label %1048

1048:                                             ; preds = %1044
  %1049 = load i32, ptr %217, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = call i32 @s2n_print_stacktrace(ptr noundef %1050) #13
  %1052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1053 = trunc nuw i8 %1052 to i1
  br i1 %1053, label %1054, label %1058

1054:                                             ; preds = %1048
  %1055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1056 = call i32 @fileno(ptr noundef %1055) #13
  %1057 = call i32 @isatty(i32 noundef %1056) #13
  %.not125 = icmp eq i32 %1057, 0
  br i1 %.not125, label %1058, label %1059

1058:                                             ; preds = %1054, %1048
  br label %1059

1059:                                             ; preds = %1054, %1058
  %.str.5.sink523 = phi ptr [ @.str.5, %1058 ], [ @.str.2, %1054 ]
  store i32 %1049, ptr %217, align 4, !tbaa !5
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = load i32, ptr @test_count, align 4, !tbaa !5
  %1062 = load i32, ptr %163, align 4, !tbaa !5
  %1063 = call ptr @s2n_strerror(i32 noundef %1062, ptr noundef nonnull @.str.4) #13
  %1064 = load i32, ptr %163, align 4, !tbaa !5
  %1065 = call ptr @s2n_strerror_debug(i32 noundef %1064, ptr noundef nonnull @.str.4) #13
  %1066 = load i32, ptr %217, align 4, !tbaa !5
  %1067 = call ptr @strerror(i32 noundef %1066) #13
  %1068 = load i32, ptr %217, align 4, !tbaa !5
  %1069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1060, ptr noundef nonnull %.str.5.sink523, i32 noundef %1061, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 80, ptr noundef %1063, ptr noundef %1065, ptr noundef %1067, i32 noundef %1068) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1070:                                             ; preds = %1044
  %1071 = load ptr, ptr %11, align 8, !tbaa !15
  call void @llvm.memmove.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %1071, ptr noundef nonnull align 1 dereferenceable(12) %12, i64 12, i1 false)
  %1072 = load i32, ptr @test_count, align 4, !tbaa !5
  %1073 = add nsw i32 %1072, 1
  store i32 %1073, ptr @test_count, align 4, !tbaa !5
  %1074 = call i32 @s2n_realloc(ptr noundef nonnull %11, i32 noundef 24) #13
  %1075 = icmp eq i32 %1074, -1
  br i1 %1075, label %1076, label %1098

1076:                                             ; preds = %1070
  %1077 = load i32, ptr %217, align 4, !tbaa !5
  %1078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1079 = call i32 @s2n_print_stacktrace(ptr noundef %1078) #13
  %1080 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1081 = trunc nuw i8 %1080 to i1
  br i1 %1081, label %1082, label %1086

1082:                                             ; preds = %1076
  %1083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1084 = call i32 @fileno(ptr noundef %1083) #13
  %1085 = call i32 @isatty(i32 noundef %1084) #13
  %.not143 = icmp eq i32 %1085, 0
  br i1 %.not143, label %1086, label %1087

1086:                                             ; preds = %1082, %1076
  br label %1087

1087:                                             ; preds = %1082, %1086
  %.str.5.sink532 = phi ptr [ @.str.5, %1086 ], [ @.str.2, %1082 ]
  store i32 %1077, ptr %217, align 4, !tbaa !5
  %1088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1089 = load i32, ptr @test_count, align 4, !tbaa !5
  %1090 = load i32, ptr %163, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror(i32 noundef %1090, ptr noundef nonnull @.str.4) #13
  %1092 = load i32, ptr %163, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror_debug(i32 noundef %1092, ptr noundef nonnull @.str.4) #13
  %1094 = load i32, ptr %217, align 4, !tbaa !5
  %1095 = call ptr @strerror(i32 noundef %1094) #13
  %1096 = load i32, ptr %217, align 4, !tbaa !5
  %1097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1088, ptr noundef nonnull %.str.5.sink532, i32 noundef %1089, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %1091, ptr noundef %1093, ptr noundef %1095, i32 noundef %1096) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1098:                                             ; preds = %1070
  %1099 = load i32, ptr @test_count, align 4, !tbaa !5
  %1100 = add nsw i32 %1099, 1
  store i32 %1100, ptr @test_count, align 4, !tbaa !5
  %1101 = load ptr, ptr %11, align 8, !tbaa !15
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %1101, ptr noundef nonnull dereferenceable(12) %12, i64 12)
  %1102 = icmp eq i32 %bcmp, 0
  br i1 %1102, label %1125, label %1103

1103:                                             ; preds = %1098
  %1104 = load i32, ptr %217, align 4, !tbaa !5
  %1105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1106 = call i32 @s2n_print_stacktrace(ptr noundef %1105) #13
  %1107 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1108 = trunc nuw i8 %1107 to i1
  br i1 %1108, label %1109, label %1113

1109:                                             ; preds = %1103
  %1110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1111 = call i32 @fileno(ptr noundef %1110) #13
  %1112 = call i32 @isatty(i32 noundef %1111) #13
  %.not126 = icmp eq i32 %1112, 0
  br i1 %.not126, label %1113, label %1114

1113:                                             ; preds = %1109, %1103
  br label %1114

1114:                                             ; preds = %1109, %1113
  %.str.5.sink541 = phi ptr [ @.str.5, %1113 ], [ @.str.2, %1109 ]
  store i32 %1104, ptr %217, align 4, !tbaa !5
  %1115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1116 = load i32, ptr @test_count, align 4, !tbaa !5
  %1117 = load i32, ptr %163, align 4, !tbaa !5
  %1118 = call ptr @s2n_strerror(i32 noundef %1117, ptr noundef nonnull @.str.4) #13
  %1119 = load i32, ptr %163, align 4, !tbaa !5
  %1120 = call ptr @s2n_strerror_debug(i32 noundef %1119, ptr noundef nonnull @.str.4) #13
  %1121 = load i32, ptr %217, align 4, !tbaa !5
  %1122 = call ptr @strerror(i32 noundef %1121) #13
  %1123 = load i32, ptr %217, align 4, !tbaa !5
  %1124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1115, ptr noundef nonnull %.str.5.sink541, i32 noundef %1116, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 83, ptr noundef %1118, ptr noundef %1120, ptr noundef %1122, i32 noundef %1123) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1125:                                             ; preds = %1098
  %1126 = add nsw i32 %1099, 2
  store i32 %1126, ptr @test_count, align 4, !tbaa !5
  %1127 = call i32 @s2n_free(ptr noundef nonnull %11) #13
  %1128 = icmp eq i32 %1127, -1
  br i1 %1128, label %1129, label %1151

1129:                                             ; preds = %1125
  %1130 = load i32, ptr %217, align 4, !tbaa !5
  %1131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1132 = call i32 @s2n_print_stacktrace(ptr noundef %1131) #13
  %1133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1134 = trunc nuw i8 %1133 to i1
  br i1 %1134, label %1135, label %1139

1135:                                             ; preds = %1129
  %1136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1137 = call i32 @fileno(ptr noundef %1136) #13
  %1138 = call i32 @isatty(i32 noundef %1137) #13
  %.not142 = icmp eq i32 %1138, 0
  br i1 %.not142, label %1139, label %1140

1139:                                             ; preds = %1135, %1129
  br label %1140

1140:                                             ; preds = %1135, %1139
  %.str.5.sink550 = phi ptr [ @.str.5, %1139 ], [ @.str.2, %1135 ]
  store i32 %1130, ptr %217, align 4, !tbaa !5
  %1141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1142 = load i32, ptr @test_count, align 4, !tbaa !5
  %1143 = load i32, ptr %163, align 4, !tbaa !5
  %1144 = call ptr @s2n_strerror(i32 noundef %1143, ptr noundef nonnull @.str.4) #13
  %1145 = load i32, ptr %163, align 4, !tbaa !5
  %1146 = call ptr @s2n_strerror_debug(i32 noundef %1145, ptr noundef nonnull @.str.4) #13
  %1147 = load i32, ptr %217, align 4, !tbaa !5
  %1148 = call ptr @strerror(i32 noundef %1147) #13
  %1149 = load i32, ptr %217, align 4, !tbaa !5
  %1150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1141, ptr noundef nonnull %.str.5.sink550, i32 noundef %1142, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 84, ptr noundef %1144, ptr noundef %1146, ptr noundef %1148, i32 noundef %1149) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1151:                                             ; preds = %1125
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %13) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %13, i8 0, i64 24, i1 false)
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = add nsw i32 %1152, 1
  store i32 %1153, ptr @test_count, align 4, !tbaa !5
  %1154 = call i32 @s2n_alloc(ptr noundef nonnull %13, i32 noundef 12) #13
  %1155 = icmp eq i32 %1154, -1
  br i1 %1155, label %1156, label %1178

1156:                                             ; preds = %1151
  %1157 = load i32, ptr %217, align 4, !tbaa !5
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @s2n_print_stacktrace(ptr noundef %1158) #13
  %1160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1161 = trunc nuw i8 %1160 to i1
  br i1 %1161, label %1162, label %1166

1162:                                             ; preds = %1156
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = call i32 @fileno(ptr noundef %1163) #13
  %1165 = call i32 @isatty(i32 noundef %1164) #13
  %.not141 = icmp eq i32 %1165, 0
  br i1 %.not141, label %1166, label %1167

1166:                                             ; preds = %1162, %1156
  br label %1167

1167:                                             ; preds = %1162, %1166
  %.str.5.sink559 = phi ptr [ @.str.5, %1166 ], [ @.str.2, %1162 ]
  store i32 %1157, ptr %217, align 4, !tbaa !5
  %1168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = load i32, ptr %163, align 4, !tbaa !5
  %1171 = call ptr @s2n_strerror(i32 noundef %1170, ptr noundef nonnull @.str.4) #13
  %1172 = load i32, ptr %163, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror_debug(i32 noundef %1172, ptr noundef nonnull @.str.4) #13
  %1174 = load i32, ptr %217, align 4, !tbaa !5
  %1175 = call ptr @strerror(i32 noundef %1174) #13
  %1176 = load i32, ptr %217, align 4, !tbaa !5
  %1177 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1168, ptr noundef nonnull %.str.5.sink559, i32 noundef %1169, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 88, ptr noundef %1171, ptr noundef %1173, ptr noundef %1175, i32 noundef %1176) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1178:                                             ; preds = %1151
  %1179 = getelementptr inbounds i8, ptr %13, i64 8
  store i32 0, ptr %1179, align 8, !tbaa !17
  %1180 = load i32, ptr @test_count, align 4, !tbaa !5
  %1181 = add nsw i32 %1180, 1
  store i32 %1181, ptr @test_count, align 4, !tbaa !5
  %1182 = getelementptr inbounds i8, ptr %13, i64 12
  %1183 = load i32, ptr %1182, align 4, !tbaa !18
  %1184 = add i32 %1183, 12
  %1185 = call i32 @s2n_realloc(ptr noundef nonnull %13, i32 noundef %1184) #13
  %1186 = icmp eq i32 %1185, -1
  br i1 %1186, label %1187, label %1209

1187:                                             ; preds = %1178
  %1188 = load i32, ptr %217, align 4, !tbaa !5
  %1189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1190 = call i32 @s2n_print_stacktrace(ptr noundef %1189) #13
  %1191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1192 = trunc nuw i8 %1191 to i1
  br i1 %1192, label %1193, label %1197

1193:                                             ; preds = %1187
  %1194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1195 = call i32 @fileno(ptr noundef %1194) #13
  %1196 = call i32 @isatty(i32 noundef %1195) #13
  %.not140 = icmp eq i32 %1196, 0
  br i1 %.not140, label %1197, label %1198

1197:                                             ; preds = %1193, %1187
  br label %1198

1198:                                             ; preds = %1193, %1197
  %.str.5.sink568 = phi ptr [ @.str.5, %1197 ], [ @.str.2, %1193 ]
  store i32 %1188, ptr %217, align 4, !tbaa !5
  %1199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1200 = load i32, ptr @test_count, align 4, !tbaa !5
  %1201 = load i32, ptr %163, align 4, !tbaa !5
  %1202 = call ptr @s2n_strerror(i32 noundef %1201, ptr noundef nonnull @.str.4) #13
  %1203 = load i32, ptr %163, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror_debug(i32 noundef %1203, ptr noundef nonnull @.str.4) #13
  %1205 = load i32, ptr %217, align 4, !tbaa !5
  %1206 = call ptr @strerror(i32 noundef %1205) #13
  %1207 = load i32, ptr %217, align 4, !tbaa !5
  %1208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1199, ptr noundef nonnull %.str.5.sink568, i32 noundef %1200, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 90, ptr noundef %1202, ptr noundef %1204, ptr noundef %1206, i32 noundef %1207) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1209:                                             ; preds = %1178
  %1210 = load i32, ptr @test_count, align 4, !tbaa !5
  %1211 = add nsw i32 %1210, 1
  store i32 %1211, ptr @test_count, align 4, !tbaa !5
  %1212 = call i32 @s2n_free(ptr noundef nonnull %13) #13
  %1213 = icmp eq i32 %1212, -1
  br i1 %1213, label %1214, label %1236

1214:                                             ; preds = %1209
  %1215 = load i32, ptr %217, align 4, !tbaa !5
  %1216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1217 = call i32 @s2n_print_stacktrace(ptr noundef %1216) #13
  %1218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1219 = trunc nuw i8 %1218 to i1
  br i1 %1219, label %1220, label %1224

1220:                                             ; preds = %1214
  %1221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1222 = call i32 @fileno(ptr noundef %1221) #13
  %1223 = call i32 @isatty(i32 noundef %1222) #13
  %.not139 = icmp eq i32 %1223, 0
  br i1 %.not139, label %1224, label %1225

1224:                                             ; preds = %1220, %1214
  br label %1225

1225:                                             ; preds = %1220, %1224
  %.str.5.sink577 = phi ptr [ @.str.5, %1224 ], [ @.str.2, %1220 ]
  store i32 %1215, ptr %217, align 4, !tbaa !5
  %1226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1227 = load i32, ptr @test_count, align 4, !tbaa !5
  %1228 = load i32, ptr %163, align 4, !tbaa !5
  %1229 = call ptr @s2n_strerror(i32 noundef %1228, ptr noundef nonnull @.str.4) #13
  %1230 = load i32, ptr %163, align 4, !tbaa !5
  %1231 = call ptr @s2n_strerror_debug(i32 noundef %1230, ptr noundef nonnull @.str.4) #13
  %1232 = load i32, ptr %217, align 4, !tbaa !5
  %1233 = call ptr @strerror(i32 noundef %1232) #13
  %1234 = load i32, ptr %217, align 4, !tbaa !5
  %1235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1226, ptr noundef nonnull %.str.5.sink577, i32 noundef %1227, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %1229, ptr noundef %1231, ptr noundef %1233, i32 noundef %1234) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1236:                                             ; preds = %1209
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %14) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %14, i8 0, i64 24, i1 false)
  %1237 = load i32, ptr @test_count, align 4, !tbaa !5
  %1238 = add nsw i32 %1237, 1
  store i32 %1238, ptr @test_count, align 4, !tbaa !5
  %1239 = call i32 @s2n_blob_init(ptr noundef nonnull %14, ptr noundef nonnull %12, i32 noundef 12) #13
  %1240 = icmp eq i32 %1239, -1
  br i1 %1240, label %1241, label %1263

1241:                                             ; preds = %1236
  %1242 = load i32, ptr %217, align 4, !tbaa !5
  %1243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1244 = call i32 @s2n_print_stacktrace(ptr noundef %1243) #13
  %1245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1246 = trunc nuw i8 %1245 to i1
  br i1 %1246, label %1247, label %1251

1247:                                             ; preds = %1241
  %1248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1249 = call i32 @fileno(ptr noundef %1248) #13
  %1250 = call i32 @isatty(i32 noundef %1249) #13
  %.not138 = icmp eq i32 %1250, 0
  br i1 %.not138, label %1251, label %1252

1251:                                             ; preds = %1247, %1241
  br label %1252

1252:                                             ; preds = %1247, %1251
  %.str.5.sink586 = phi ptr [ @.str.5, %1251 ], [ @.str.2, %1247 ]
  store i32 %1242, ptr %217, align 4, !tbaa !5
  %1253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1254 = load i32, ptr @test_count, align 4, !tbaa !5
  %1255 = load i32, ptr %163, align 4, !tbaa !5
  %1256 = call ptr @s2n_strerror(i32 noundef %1255, ptr noundef nonnull @.str.4) #13
  %1257 = load i32, ptr %163, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror_debug(i32 noundef %1257, ptr noundef nonnull @.str.4) #13
  %1259 = load i32, ptr %217, align 4, !tbaa !5
  %1260 = call ptr @strerror(i32 noundef %1259) #13
  %1261 = load i32, ptr %217, align 4, !tbaa !5
  %1262 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1253, ptr noundef nonnull %.str.5.sink586, i32 noundef %1254, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %1256, ptr noundef %1258, ptr noundef %1260, i32 noundef %1261) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1263:                                             ; preds = %1236
  %1264 = load i32, ptr @test_count, align 4, !tbaa !5
  %1265 = add nsw i32 %1264, 1
  store i32 %1265, ptr @test_count, align 4, !tbaa !5
  %1266 = call i32 @s2n_blob_char_to_lower(ptr noundef nonnull %14) #13
  %1267 = icmp eq i32 %1266, -1
  br i1 %1267, label %1268, label %1290

1268:                                             ; preds = %1263
  %1269 = load i32, ptr %217, align 4, !tbaa !5
  %1270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1271 = call i32 @s2n_print_stacktrace(ptr noundef %1270) #13
  %1272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1273 = trunc nuw i8 %1272 to i1
  br i1 %1273, label %1274, label %1278

1274:                                             ; preds = %1268
  %1275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1276 = call i32 @fileno(ptr noundef %1275) #13
  %1277 = call i32 @isatty(i32 noundef %1276) #13
  %.not137 = icmp eq i32 %1277, 0
  br i1 %.not137, label %1278, label %1279

1278:                                             ; preds = %1274, %1268
  br label %1279

1279:                                             ; preds = %1274, %1278
  %.str.5.sink595 = phi ptr [ @.str.5, %1278 ], [ @.str.2, %1274 ]
  store i32 %1269, ptr %217, align 4, !tbaa !5
  %1280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1281 = load i32, ptr @test_count, align 4, !tbaa !5
  %1282 = load i32, ptr %163, align 4, !tbaa !5
  %1283 = call ptr @s2n_strerror(i32 noundef %1282, ptr noundef nonnull @.str.4) #13
  %1284 = load i32, ptr %163, align 4, !tbaa !5
  %1285 = call ptr @s2n_strerror_debug(i32 noundef %1284, ptr noundef nonnull @.str.4) #13
  %1286 = load i32, ptr %217, align 4, !tbaa !5
  %1287 = call ptr @strerror(i32 noundef %1286) #13
  %1288 = load i32, ptr %217, align 4, !tbaa !5
  %1289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1280, ptr noundef nonnull %.str.5.sink595, i32 noundef %1281, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %1283, ptr noundef %1285, ptr noundef %1287, i32 noundef %1288) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1290:                                             ; preds = %1263
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = add nsw i32 %1291, 1
  store i32 %1292, ptr @test_count, align 4, !tbaa !5
  %1293 = load ptr, ptr %14, align 8, !tbaa !15
  %1294 = call i32 @memcmp(ptr noundef nonnull dereferenceable(12) %1293, ptr noundef nonnull dereferenceable(12) @.str.43, i64 noundef 12) #17
  %1295 = icmp eq i32 %1294, -1
  br i1 %1295, label %1296, label %1318

1296:                                             ; preds = %1290
  %1297 = load i32, ptr %217, align 4, !tbaa !5
  %1298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1299 = call i32 @s2n_print_stacktrace(ptr noundef %1298) #13
  %1300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1301 = trunc nuw i8 %1300 to i1
  br i1 %1301, label %1302, label %1306

1302:                                             ; preds = %1296
  %1303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1304 = call i32 @fileno(ptr noundef %1303) #13
  %1305 = call i32 @isatty(i32 noundef %1304) #13
  %.not136 = icmp eq i32 %1305, 0
  br i1 %.not136, label %1306, label %1307

1306:                                             ; preds = %1302, %1296
  br label %1307

1307:                                             ; preds = %1302, %1306
  %.str.5.sink604 = phi ptr [ @.str.5, %1306 ], [ @.str.2, %1302 ]
  store i32 %1297, ptr %217, align 4, !tbaa !5
  %1308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = load i32, ptr %163, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror(i32 noundef %1310, ptr noundef nonnull @.str.4) #13
  %1312 = load i32, ptr %163, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror_debug(i32 noundef %1312, ptr noundef nonnull @.str.4) #13
  %1314 = load i32, ptr %217, align 4, !tbaa !5
  %1315 = call ptr @strerror(i32 noundef %1314) #13
  %1316 = load i32, ptr %217, align 4, !tbaa !5
  %1317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1308, ptr noundef nonnull %.str.5.sink604, i32 noundef %1309, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 97, ptr noundef %1311, ptr noundef %1313, ptr noundef %1315, i32 noundef %1316) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1318:                                             ; preds = %1290
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %15) #13
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %15, i8 0, i64 24, i1 false)
  %1319 = add nsw i32 %1291, 2
  store i32 %1319, ptr @test_count, align 4, !tbaa !5
  %1320 = call i64 @strlen(ptr noundef nonnull dereferenceable(1) @__const.main.hello) #17
  %1321 = trunc i64 %1320 to i32
  %1322 = call i32 @s2n_blob_slice(ptr noundef nonnull %14, ptr noundef nonnull %15, i32 noundef %1321, i32 noundef 6) #13
  %1323 = icmp eq i32 %1322, -1
  br i1 %1323, label %1324, label %1346

1324:                                             ; preds = %1318
  %1325 = load i32, ptr %217, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = call i32 @s2n_print_stacktrace(ptr noundef %1326) #13
  %1328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1329 = trunc nuw i8 %1328 to i1
  br i1 %1329, label %1330, label %1334

1330:                                             ; preds = %1324
  %1331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1332 = call i32 @fileno(ptr noundef %1331) #13
  %1333 = call i32 @isatty(i32 noundef %1332) #13
  %.not135 = icmp eq i32 %1333, 0
  br i1 %.not135, label %1334, label %1335

1334:                                             ; preds = %1330, %1324
  br label %1335

1335:                                             ; preds = %1330, %1334
  %.str.5.sink613 = phi ptr [ @.str.5, %1334 ], [ @.str.2, %1330 ]
  store i32 %1325, ptr %217, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %1338 = load i32, ptr %163, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror(i32 noundef %1338, ptr noundef nonnull @.str.4) #13
  %1340 = load i32, ptr %163, align 4, !tbaa !5
  %1341 = call ptr @s2n_strerror_debug(i32 noundef %1340, ptr noundef nonnull @.str.4) #13
  %1342 = load i32, ptr %217, align 4, !tbaa !5
  %1343 = call ptr @strerror(i32 noundef %1342) #13
  %1344 = load i32, ptr %217, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1336, ptr noundef nonnull %.str.5.sink613, i32 noundef %1337, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 103, ptr noundef %1339, ptr noundef %1341, ptr noundef %1343, i32 noundef %1344) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1346:                                             ; preds = %1318
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = add nsw i32 %1347, 1
  store i32 %1348, ptr @test_count, align 4, !tbaa !5
  %1349 = load ptr, ptr %15, align 8, !tbaa !15
  %bcmp127 = call i32 @bcmp(ptr noundef nonnull dereferenceable(6) %1349, ptr noundef nonnull dereferenceable(6) @__const.main.world, i64 6)
  %1350 = icmp eq i32 %bcmp127, 0
  br i1 %1350, label %1373, label %1351

1351:                                             ; preds = %1346
  %1352 = load i32, ptr %217, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = call i32 @s2n_print_stacktrace(ptr noundef %1353) #13
  %1355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1356 = trunc nuw i8 %1355 to i1
  br i1 %1356, label %1357, label %1361

1357:                                             ; preds = %1351
  %1358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1359 = call i32 @fileno(ptr noundef %1358) #13
  %1360 = call i32 @isatty(i32 noundef %1359) #13
  %.not128 = icmp eq i32 %1360, 0
  br i1 %.not128, label %1361, label %1362

1361:                                             ; preds = %1357, %1351
  br label %1362

1362:                                             ; preds = %1357, %1361
  %.str.5.sink622 = phi ptr [ @.str.5, %1361 ], [ @.str.2, %1357 ]
  store i32 %1352, ptr %217, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = load i32, ptr %163, align 4, !tbaa !5
  %1366 = call ptr @s2n_strerror(i32 noundef %1365, ptr noundef nonnull @.str.4) #13
  %1367 = load i32, ptr %163, align 4, !tbaa !5
  %1368 = call ptr @s2n_strerror_debug(i32 noundef %1367, ptr noundef nonnull @.str.4) #13
  %1369 = load i32, ptr %217, align 4, !tbaa !5
  %1370 = call ptr @strerror(i32 noundef %1369) #13
  %1371 = load i32, ptr %217, align 4, !tbaa !5
  %1372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef nonnull %.str.5.sink622, i32 noundef %1364, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %1366, ptr noundef %1368, ptr noundef %1370, i32 noundef %1371) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1373:                                             ; preds = %1346
  %1374 = add nsw i32 %1347, 2
  store i32 %1374, ptr @test_count, align 4, !tbaa !5
  %1375 = getelementptr inbounds i8, ptr %15, i64 8
  %1376 = load i32, ptr %1375, align 8, !tbaa !17
  %1377 = icmp eq i32 %1376, 6
  br i1 %1377, label %1400, label %1378

1378:                                             ; preds = %1373
  %1379 = load i32, ptr %217, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = call i32 @s2n_print_stacktrace(ptr noundef %1380) #13
  %1382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1383 = trunc nuw i8 %1382 to i1
  br i1 %1383, label %1384, label %1388

1384:                                             ; preds = %1378
  %1385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1386 = call i32 @fileno(ptr noundef %1385) #13
  %1387 = call i32 @isatty(i32 noundef %1386) #13
  %.not129 = icmp eq i32 %1387, 0
  br i1 %.not129, label %1388, label %1389

1388:                                             ; preds = %1384, %1378
  br label %1389

1389:                                             ; preds = %1384, %1388
  %.str.5.sink631 = phi ptr [ @.str.5, %1388 ], [ @.str.2, %1384 ]
  store i32 %1379, ptr %217, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = load i32, ptr %163, align 4, !tbaa !5
  %1393 = call ptr @s2n_strerror(i32 noundef %1392, ptr noundef nonnull @.str.4) #13
  %1394 = load i32, ptr %163, align 4, !tbaa !5
  %1395 = call ptr @s2n_strerror_debug(i32 noundef %1394, ptr noundef nonnull @.str.4) #13
  %1396 = load i32, ptr %217, align 4, !tbaa !5
  %1397 = call ptr @strerror(i32 noundef %1396) #13
  %1398 = load i32, ptr %217, align 4, !tbaa !5
  %1399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1390, ptr noundef nonnull %.str.5.sink631, i32 noundef %1391, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %1393, ptr noundef %1395, ptr noundef %1397, i32 noundef %1398) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1400:                                             ; preds = %1373
  %1401 = call i32 @s2n_cleanup() #13
  %1402 = icmp eq i32 %1401, -1
  br i1 %1402, label %1403, label %1425

1403:                                             ; preds = %1400
  %1404 = load i32, ptr %217, align 4, !tbaa !5
  %1405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1406 = call i32 @s2n_print_stacktrace(ptr noundef %1405) #13
  %1407 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1408 = trunc nuw i8 %1407 to i1
  br i1 %1408, label %1409, label %1413

1409:                                             ; preds = %1403
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = call i32 @fileno(ptr noundef %1410) #13
  %1412 = call i32 @isatty(i32 noundef %1411) #13
  %.not134 = icmp eq i32 %1412, 0
  br i1 %.not134, label %1413, label %1414

1413:                                             ; preds = %1409, %1403
  br label %1414

1414:                                             ; preds = %1409, %1413
  %.str.5.sink640 = phi ptr [ @.str.5, %1413 ], [ @.str.2, %1409 ]
  store i32 %1404, ptr %217, align 4, !tbaa !5
  %1415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1416 = load i32, ptr @test_count, align 4, !tbaa !5
  %1417 = load i32, ptr %163, align 4, !tbaa !5
  %1418 = call ptr @s2n_strerror(i32 noundef %1417, ptr noundef nonnull @.str.4) #13
  %1419 = load i32, ptr %163, align 4, !tbaa !5
  %1420 = call ptr @s2n_strerror_debug(i32 noundef %1419, ptr noundef nonnull @.str.4) #13
  %1421 = load i32, ptr %217, align 4, !tbaa !5
  %1422 = call ptr @strerror(i32 noundef %1421) #13
  %1423 = load i32, ptr %217, align 4, !tbaa !5
  %1424 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1415, ptr noundef nonnull %.str.5.sink640, i32 noundef %1416, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %1418, ptr noundef %1420, ptr noundef %1422, i32 noundef %1423) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1425:                                             ; preds = %1400
  %1426 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #13
  %1427 = icmp eq i32 %1426, -1
  br i1 %1427, label %1428, label %1450

1428:                                             ; preds = %1425
  %1429 = load i32, ptr %217, align 4, !tbaa !5
  %1430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1431 = call i32 @s2n_print_stacktrace(ptr noundef %1430) #13
  %1432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1433 = trunc nuw i8 %1432 to i1
  br i1 %1433, label %1434, label %1438

1434:                                             ; preds = %1428
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1436 = call i32 @fileno(ptr noundef %1435) #13
  %1437 = call i32 @isatty(i32 noundef %1436) #13
  %.not133 = icmp eq i32 %1437, 0
  br i1 %.not133, label %1438, label %1439

1438:                                             ; preds = %1434, %1428
  br label %1439

1439:                                             ; preds = %1434, %1438
  %.str.5.sink649 = phi ptr [ @.str.5, %1438 ], [ @.str.2, %1434 ]
  store i32 %1429, ptr %217, align 4, !tbaa !5
  %1440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1441 = load i32, ptr @test_count, align 4, !tbaa !5
  %1442 = load i32, ptr %163, align 4, !tbaa !5
  %1443 = call ptr @s2n_strerror(i32 noundef %1442, ptr noundef nonnull @.str.4) #13
  %1444 = load i32, ptr %163, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror_debug(i32 noundef %1444, ptr noundef nonnull @.str.4) #13
  %1446 = load i32, ptr %217, align 4, !tbaa !5
  %1447 = call ptr @strerror(i32 noundef %1446) #13
  %1448 = load i32, ptr %217, align 4, !tbaa !5
  %1449 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1440, ptr noundef nonnull %.str.5.sink649, i32 noundef %1441, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %1443, ptr noundef %1445, ptr noundef %1447, i32 noundef %1448) #15
  call void @exit(i32 noundef 1) #16
  unreachable

1450:                                             ; preds = %1425
  %1451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1452 = trunc nuw i8 %1451 to i1
  br i1 %1452, label %1453, label %1464

1453:                                             ; preds = %1450
  %1454 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1455 = call i32 @fileno(ptr noundef %1454) #13
  %1456 = call i32 @isatty(i32 noundef %1455) #13
  %.not130 = icmp eq i32 %1456, 0
  br i1 %.not130, label %1464, label %1457

1457:                                             ; preds = %1453
  %1458 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not132 = icmp eq i32 %1458, 0
  %1459 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not132, label %1462, label %1460

1460:                                             ; preds = %1457
  %1461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull @.str.50, i32 noundef %1458) #13
  br label %1471

1462:                                             ; preds = %1457
  %1463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull @.str.51) #13
  br label %1471

1464:                                             ; preds = %1453, %1450
  %1465 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not131 = icmp eq i32 %1465, 0
  %1466 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not131, label %1469, label %1467

1467:                                             ; preds = %1464
  %1468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1466, ptr noundef nonnull @.str.52, i32 noundef %1465) #13
  br label %1471

1469:                                             ; preds = %1464
  %1470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1466, ptr noundef nonnull @.str.53) #13
  br label %1471

1471:                                             ; preds = %1467, %1469, %1460, %1462
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %15) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %14) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %13) #13
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %12) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %11) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %9) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %8) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %6) #13
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %5) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #13
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %3) #13
  ret i32 0
}

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

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none)
declare nonnull ptr @llvm.threadlocal.address.p0(ptr nonnull) #6

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare i32 @s2n_disable_tls13_in_test(...) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_error(i32) local_unnamed_addr #8

declare i32 @s2n_blob_validate(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memcpy.p0.p0.i64(ptr noalias nocapture writeonly, ptr noalias nocapture readonly, i64, i1 immarg) #9

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #10

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: inlinehint nounwind uwtable
declare hidden zeroext i1 @s2n_result_is_ok(i32) local_unnamed_addr #8

declare zeroext i1 @s2n_blob_is_growable(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_realloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite)
declare void @llvm.memmove.p0.p0.i64(ptr nocapture writeonly, ptr nocapture readonly, i64, i1 immarg) #9

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i32 @memcmp(ptr nocapture noundef, ptr nocapture noundef, i64 noundef) local_unnamed_addr #11

declare i32 @s2n_blob_char_to_lower(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_slice(ptr noundef, ptr noundef, i32 noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare i64 @strlen(ptr nocapture noundef) local_unnamed_addr #11

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #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 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #10 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #11 = { 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 #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 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 0}
!16 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!17 = !{!16, !6, i64 8}
!18 = !{!16, !6, i64 12}


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