; LLVM IR from aws/s2n-tls :: tests/unit (s2n_error_lookup_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_result = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_errno = external thread_local global i32, align 4
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [80 x i8], align 1
@stderr = external global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [347 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [344 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [359 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [293 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @test_function(i1 noundef zeroext) #0

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

; Function Attrs: nounwind willreturn memory(read)
declare ptr @strrchr(ptr noundef, i32 noundef) #2

; Function Attrs: nounwind uwtable
define dso_local i32 @main() #0 {
  %1 = alloca i32, align 4
  %2 = alloca i32, align 4
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca i32, align 4
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca i32, align 4
  %12 = alloca i32, align 4
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca i32, align 4
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca i32, align 4
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca %struct.s2n_result, align 4
  %49 = alloca i32, align 4
  %50 = alloca i32, align 4
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  store i32 0, ptr %1, align 4
  br label %59

59:                                               ; preds = %0
  br label %60

60:                                               ; preds = %59
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %61 = load ptr, ptr @stdout, align 8, !tbaa !9
  %62 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %61, ptr noundef @.str.1, ptr noundef @.str.2) #9
  %63 = load ptr, ptr @stdout, align 8, !tbaa !9
  %64 = call i32 @fflush(ptr noundef %63)
  br label %65

65:                                               ; preds = %60
  %66 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %67 = icmp eq i32 %66, -1
  br i1 %67, label %68, label %119

68:                                               ; preds = %65
  br label %69

69:                                               ; preds = %68
  br label %70

70:                                               ; preds = %69
  call void @llvm.lifetime.start.p0(i64 4, ptr %2) #9
  %71 = call ptr @__errno_location() #10
  %72 = load i32, ptr %71, align 4, !tbaa !5
  store i32 %72, ptr %2, align 4, !tbaa !5
  %73 = load ptr, ptr @stderr, align 8, !tbaa !9
  %74 = call i32 @s2n_print_stacktrace(ptr noundef %73)
  %75 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %76 = trunc i8 %75 to i1
  br i1 %76, label %77, label %99

77:                                               ; preds = %70
  %78 = load ptr, ptr @stderr, align 8, !tbaa !9
  %79 = call i32 @fileno(ptr noundef %78) #9
  %80 = call i32 @isatty(i32 noundef %79) #9
  %81 = icmp ne i32 %80, 0
  br i1 %81, label %82, label %99

82:                                               ; preds = %77
  %83 = load i32, ptr %2, align 4, !tbaa !5
  %84 = call ptr @__errno_location() #10
  store i32 %83, ptr %84, align 4, !tbaa !5
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = load i32, ptr @test_count, align 4, !tbaa !5
  %87 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %88 = load i32, ptr %87, align 4, !tbaa !5
  %89 = call ptr @s2n_strerror(i32 noundef %88, ptr noundef @.str.5)
  %90 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %91 = load i32, ptr %90, align 4, !tbaa !5
  %92 = call ptr @s2n_strerror_debug(i32 noundef %91, ptr noundef @.str.5)
  %93 = call ptr @__errno_location() #10
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = call ptr @strerror(i32 noundef %94) #9
  %96 = call ptr @__errno_location() #10
  %97 = load i32, ptr %96, align 4, !tbaa !5
  %98 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef @.str.3, i32 noundef %86, ptr noundef @.str.4, ptr noundef @.str.2, i32 noundef 34, ptr noundef %89, ptr noundef %92, ptr noundef %95, i32 noundef %97) #9
  br label %116

99:                                               ; preds = %77, %70
  %100 = load i32, ptr %2, align 4, !tbaa !5
  %101 = call ptr @__errno_location() #10
  store i32 %100, ptr %101, align 4, !tbaa !5
  %102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %103 = load i32, ptr @test_count, align 4, !tbaa !5
  %104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %105 = load i32, ptr %104, align 4, !tbaa !5
  %106 = call ptr @s2n_strerror(i32 noundef %105, ptr noundef @.str.5)
  %107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %108 = load i32, ptr %107, align 4, !tbaa !5
  %109 = call ptr @s2n_strerror_debug(i32 noundef %108, ptr noundef @.str.5)
  %110 = call ptr @__errno_location() #10
  %111 = load i32, ptr %110, align 4, !tbaa !5
  %112 = call ptr @strerror(i32 noundef %111) #9
  %113 = call ptr @__errno_location() #10
  %114 = load i32, ptr %113, align 4, !tbaa !5
  %115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %102, ptr noundef @.str.6, i32 noundef %103, ptr noundef @.str.4, ptr noundef @.str.2, i32 noundef 34, ptr noundef %106, ptr noundef %109, ptr noundef %112, i32 noundef %114) #9
  br label %116

116:                                              ; preds = %99, %82
  call void @llvm.lifetime.end.p0(i64 4, ptr %2) #9
  br label %117

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

118:                                              ; No predecessors!
  br label %119

119:                                              ; preds = %118, %65
  br label %120

120:                                              ; preds = %119
  br label %121

121:                                              ; preds = %120
  %122 = load i32, ptr @test_count, align 4, !tbaa !5
  %123 = add nsw i32 %122, 1
  store i32 %123, ptr @test_count, align 4, !tbaa !5
  %124 = call i32 @s2n_enable_atexit()
  %125 = icmp eq i32 %124, -1
  br i1 %125, label %126, label %177

126:                                              ; preds = %121
  br label %127

127:                                              ; preds = %126
  br label %128

128:                                              ; preds = %127
  call void @llvm.lifetime.start.p0(i64 4, ptr %3) #9
  %129 = call ptr @__errno_location() #10
  %130 = load i32, ptr %129, align 4, !tbaa !5
  store i32 %130, ptr %3, align 4, !tbaa !5
  %131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %132 = call i32 @s2n_print_stacktrace(ptr noundef %131)
  %133 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %134 = trunc i8 %133 to i1
  br i1 %134, label %135, label %157

135:                                              ; preds = %128
  %136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %137 = call i32 @fileno(ptr noundef %136) #9
  %138 = call i32 @isatty(i32 noundef %137) #9
  %139 = icmp ne i32 %138, 0
  br i1 %139, label %140, label %157

140:                                              ; preds = %135
  %141 = load i32, ptr %3, align 4, !tbaa !5
  %142 = call ptr @__errno_location() #10
  store i32 %141, ptr %142, align 4, !tbaa !5
  %143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %144 = load i32, ptr @test_count, align 4, !tbaa !5
  %145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %146 = load i32, ptr %145, align 4, !tbaa !5
  %147 = call ptr @s2n_strerror(i32 noundef %146, ptr noundef @.str.5)
  %148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %149 = load i32, ptr %148, align 4, !tbaa !5
  %150 = call ptr @s2n_strerror_debug(i32 noundef %149, ptr noundef @.str.5)
  %151 = call ptr @__errno_location() #10
  %152 = load i32, ptr %151, align 4, !tbaa !5
  %153 = call ptr @strerror(i32 noundef %152) #9
  %154 = call ptr @__errno_location() #10
  %155 = load i32, ptr %154, align 4, !tbaa !5
  %156 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %143, ptr noundef @.str.3, i32 noundef %144, ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 34, ptr noundef %147, ptr noundef %150, ptr noundef %153, i32 noundef %155) #9
  br label %174

157:                                              ; preds = %135, %128
  %158 = load i32, ptr %3, align 4, !tbaa !5
  %159 = call ptr @__errno_location() #10
  store i32 %158, ptr %159, align 4, !tbaa !5
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = load i32, ptr @test_count, align 4, !tbaa !5
  %162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %163 = load i32, ptr %162, align 4, !tbaa !5
  %164 = call ptr @s2n_strerror(i32 noundef %163, ptr noundef @.str.5)
  %165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %166 = load i32, ptr %165, align 4, !tbaa !5
  %167 = call ptr @s2n_strerror_debug(i32 noundef %166, ptr noundef @.str.5)
  %168 = call ptr @__errno_location() #10
  %169 = load i32, ptr %168, align 4, !tbaa !5
  %170 = call ptr @strerror(i32 noundef %169) #9
  %171 = call ptr @__errno_location() #10
  %172 = load i32, ptr %171, align 4, !tbaa !5
  %173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %160, ptr noundef @.str.6, i32 noundef %161, ptr noundef @.str.7, ptr noundef @.str.2, i32 noundef 34, ptr noundef %164, ptr noundef %167, ptr noundef %170, i32 noundef %172) #9
  br label %174

174:                                              ; preds = %157, %140
  call void @llvm.lifetime.end.p0(i64 4, ptr %3) #9
  br label %175

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

176:                                              ; No predecessors!
  br label %177

177:                                              ; preds = %176, %121
  br label %178

178:                                              ; preds = %177
  br label %179

179:                                              ; preds = %178
  br label %180

180:                                              ; preds = %179
  %181 = call i32 @s2n_init()
  %182 = icmp eq i32 %181, -1
  br i1 %182, label %183, label %234

183:                                              ; preds = %180
  br label %184

184:                                              ; preds = %183
  br label %185

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

192:                                              ; preds = %185
  %193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %194 = call i32 @fileno(ptr noundef %193) #9
  %195 = call i32 @isatty(i32 noundef %194) #9
  %196 = icmp ne i32 %195, 0
  br i1 %196, label %197, label %214

197:                                              ; preds = %192
  %198 = load i32, ptr %4, align 4, !tbaa !5
  %199 = call ptr @__errno_location() #10
  store i32 %198, ptr %199, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = load i32, ptr @test_count, align 4, !tbaa !5
  %202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %204 = call ptr @s2n_strerror(i32 noundef %203, ptr noundef @.str.5)
  %205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = call ptr @s2n_strerror_debug(i32 noundef %206, ptr noundef @.str.5)
  %208 = call ptr @__errno_location() #10
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = call ptr @strerror(i32 noundef %209) #9
  %211 = call ptr @__errno_location() #10
  %212 = load i32, ptr %211, align 4, !tbaa !5
  %213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %200, ptr noundef @.str.3, i32 noundef %201, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 34, ptr noundef %204, ptr noundef %207, ptr noundef %210, i32 noundef %212) #9
  br label %231

214:                                              ; preds = %192, %185
  %215 = load i32, ptr %4, align 4, !tbaa !5
  %216 = call ptr @__errno_location() #10
  store i32 %215, ptr %216, align 4, !tbaa !5
  %217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %218 = load i32, ptr @test_count, align 4, !tbaa !5
  %219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %220 = load i32, ptr %219, align 4, !tbaa !5
  %221 = call ptr @s2n_strerror(i32 noundef %220, ptr noundef @.str.5)
  %222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %223 = load i32, ptr %222, align 4, !tbaa !5
  %224 = call ptr @s2n_strerror_debug(i32 noundef %223, ptr noundef @.str.5)
  %225 = call ptr @__errno_location() #10
  %226 = load i32, ptr %225, align 4, !tbaa !5
  %227 = call ptr @strerror(i32 noundef %226) #9
  %228 = call ptr @__errno_location() #10
  %229 = load i32, ptr %228, align 4, !tbaa !5
  %230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %217, ptr noundef @.str.6, i32 noundef %218, ptr noundef @.str.8, ptr noundef @.str.2, i32 noundef 34, ptr noundef %221, ptr noundef %224, ptr noundef %227, i32 noundef %229) #9
  br label %231

231:                                              ; preds = %214, %197
  call void @llvm.lifetime.end.p0(i64 4, ptr %4) #9
  br label %232

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

233:                                              ; No predecessors!
  br label %234

234:                                              ; preds = %233, %180
  br label %235

235:                                              ; preds = %234
  br label %236

236:                                              ; preds = %235
  br label %237

237:                                              ; preds = %236
  %238 = load i32, ptr @test_count, align 4, !tbaa !5
  %239 = add nsw i32 %238, 1
  store i32 %239, ptr @test_count, align 4, !tbaa !5
  %240 = call i32 (...) @s2n_disable_tls13_in_test()
  %241 = icmp eq i32 %240, -1
  br i1 %241, label %242, label %293

242:                                              ; preds = %237
  br label %243

243:                                              ; preds = %242
  br label %244

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

251:                                              ; preds = %244
  %252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %253 = call i32 @fileno(ptr noundef %252) #9
  %254 = call i32 @isatty(i32 noundef %253) #9
  %255 = icmp ne i32 %254, 0
  br i1 %255, label %256, label %273

256:                                              ; preds = %251
  %257 = load i32, ptr %5, align 4, !tbaa !5
  %258 = call ptr @__errno_location() #10
  store i32 %257, ptr %258, align 4, !tbaa !5
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = load i32, ptr @test_count, align 4, !tbaa !5
  %261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %262 = load i32, ptr %261, align 4, !tbaa !5
  %263 = call ptr @s2n_strerror(i32 noundef %262, ptr noundef @.str.5)
  %264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %265 = load i32, ptr %264, align 4, !tbaa !5
  %266 = call ptr @s2n_strerror_debug(i32 noundef %265, ptr noundef @.str.5)
  %267 = call ptr @__errno_location() #10
  %268 = load i32, ptr %267, align 4, !tbaa !5
  %269 = call ptr @strerror(i32 noundef %268) #9
  %270 = call ptr @__errno_location() #10
  %271 = load i32, ptr %270, align 4, !tbaa !5
  %272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %259, ptr noundef @.str.3, i32 noundef %260, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 35, ptr noundef %263, ptr noundef %266, ptr noundef %269, i32 noundef %271) #9
  br label %290

273:                                              ; preds = %251, %244
  %274 = load i32, ptr %5, align 4, !tbaa !5
  %275 = call ptr @__errno_location() #10
  store i32 %274, ptr %275, align 4, !tbaa !5
  %276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %277 = load i32, ptr @test_count, align 4, !tbaa !5
  %278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %279 = load i32, ptr %278, align 4, !tbaa !5
  %280 = call ptr @s2n_strerror(i32 noundef %279, ptr noundef @.str.5)
  %281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %282 = load i32, ptr %281, align 4, !tbaa !5
  %283 = call ptr @s2n_strerror_debug(i32 noundef %282, ptr noundef @.str.5)
  %284 = call ptr @__errno_location() #10
  %285 = load i32, ptr %284, align 4, !tbaa !5
  %286 = call ptr @strerror(i32 noundef %285) #9
  %287 = call ptr @__errno_location() #10
  %288 = load i32, ptr %287, align 4, !tbaa !5
  %289 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %276, ptr noundef @.str.6, i32 noundef %277, ptr noundef @.str.9, ptr noundef @.str.2, i32 noundef 35, ptr noundef %280, ptr noundef %283, ptr noundef %286, i32 noundef %288) #9
  br label %290

290:                                              ; preds = %273, %256
  call void @llvm.lifetime.end.p0(i64 4, ptr %5) #9
  br label %291

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

292:                                              ; No predecessors!
  br label %293

293:                                              ; preds = %292, %237
  br label %294

294:                                              ; preds = %293
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  store i32 0, ptr %6, align 4, !tbaa !5
  br label %295

295:                                              ; preds = %426, %294
  %296 = load i32, ptr %6, align 4, !tbaa !5
  %297 = icmp slt i32 %296, 1
  br i1 %297, label %299, label %298

298:                                              ; preds = %295
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %429

299:                                              ; preds = %295
  br label %300

300:                                              ; preds = %299
  %301 = load i32, ptr @test_count, align 4, !tbaa !5
  %302 = add nsw i32 %301, 1
  store i32 %302, ptr @test_count, align 4, !tbaa !5
  %303 = load i32, ptr %6, align 4, !tbaa !5
  %304 = call ptr @s2n_strerror_name(i32 noundef %303)
  %305 = call i32 @strcmp(ptr noundef %304, ptr noundef @.str.10) #12
  %306 = icmp eq i32 %305, 0
  br i1 %306, label %307, label %360

307:                                              ; preds = %300
  br label %308

308:                                              ; preds = %307
  br label %309

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

316:                                              ; preds = %309
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = call i32 @fileno(ptr noundef %317) #9
  %319 = call i32 @isatty(i32 noundef %318) #9
  %320 = icmp ne i32 %319, 0
  br i1 %320, label %321, label %338

321:                                              ; preds = %316
  %322 = load i32, ptr %7, align 4, !tbaa !5
  %323 = call ptr @__errno_location() #10
  store i32 %322, ptr %323, align 4, !tbaa !5
  %324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %325 = load i32, ptr @test_count, align 4, !tbaa !5
  %326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %327 = load i32, ptr %326, align 4, !tbaa !5
  %328 = call ptr @s2n_strerror(i32 noundef %327, ptr noundef @.str.5)
  %329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %330 = load i32, ptr %329, align 4, !tbaa !5
  %331 = call ptr @s2n_strerror_debug(i32 noundef %330, ptr noundef @.str.5)
  %332 = call ptr @__errno_location() #10
  %333 = load i32, ptr %332, align 4, !tbaa !5
  %334 = call ptr @strerror(i32 noundef %333) #9
  %335 = call ptr @__errno_location() #10
  %336 = load i32, ptr %335, align 4, !tbaa !5
  %337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %324, ptr noundef @.str.3, i32 noundef %325, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 39, ptr noundef %328, ptr noundef %331, ptr noundef %334, i32 noundef %336) #9
  br label %355

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

355:                                              ; preds = %338, %321
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #9
  br label %356

356:                                              ; preds = %355
  br label %357

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

358:                                              ; No predecessors!
  br label %359

359:                                              ; preds = %358
  br label %360

360:                                              ; preds = %359, %300
  br label %361

361:                                              ; preds = %360
  br label %362

362:                                              ; preds = %361
  br label %363

363:                                              ; preds = %362
  %364 = load i32, ptr @test_count, align 4, !tbaa !5
  %365 = add nsw i32 %364, 1
  store i32 %365, ptr @test_count, align 4, !tbaa !5
  %366 = load i32, ptr %6, align 4, !tbaa !5
  %367 = call ptr @s2n_strerror(i32 noundef %366, ptr noundef @.str.5)
  %368 = call i32 @strcmp(ptr noundef %367, ptr noundef @.str.10) #12
  %369 = icmp eq i32 %368, 0
  br i1 %369, label %370, label %423

370:                                              ; preds = %363
  br label %371

371:                                              ; preds = %370
  br label %372

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

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

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

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

418:                                              ; preds = %401, %384
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %419

419:                                              ; preds = %418
  br label %420

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

421:                                              ; No predecessors!
  br label %422

422:                                              ; preds = %421
  br label %423

423:                                              ; preds = %422, %363
  br label %424

424:                                              ; preds = %423
  br label %425

425:                                              ; preds = %424
  br label %426

426:                                              ; preds = %425
  %427 = load i32, ptr %6, align 4, !tbaa !5
  %428 = add nsw i32 %427, 1
  store i32 %428, ptr %6, align 4, !tbaa !5
  br label %295, !llvm.loop !15

429:                                              ; preds = %298
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #9
  store i32 67108864, ptr %9, align 4, !tbaa !5
  br label %430

430:                                              ; preds = %561, %429
  %431 = load i32, ptr %9, align 4, !tbaa !5
  %432 = icmp slt i32 %431, 67108865
  br i1 %432, label %434, label %433

433:                                              ; preds = %430
  call void @llvm.lifetime.end.p0(i64 4, ptr %9) #9
  br label %564

434:                                              ; preds = %430
  br label %435

435:                                              ; preds = %434
  %436 = load i32, ptr @test_count, align 4, !tbaa !5
  %437 = add nsw i32 %436, 1
  store i32 %437, ptr @test_count, align 4, !tbaa !5
  %438 = load i32, ptr %9, align 4, !tbaa !5
  %439 = call ptr @s2n_strerror_name(i32 noundef %438)
  %440 = call i32 @strcmp(ptr noundef %439, ptr noundef @.str.10) #12
  %441 = icmp eq i32 %440, 0
  br i1 %441, label %442, label %495

442:                                              ; preds = %435
  br label %443

443:                                              ; preds = %442
  br label %444

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

451:                                              ; preds = %444
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = call i32 @fileno(ptr noundef %452) #9
  %454 = call i32 @isatty(i32 noundef %453) #9
  %455 = icmp ne i32 %454, 0
  br i1 %455, label %456, label %473

456:                                              ; preds = %451
  %457 = load i32, ptr %10, align 4, !tbaa !5
  %458 = call ptr @__errno_location() #10
  store i32 %457, ptr %458, align 4, !tbaa !5
  %459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %460 = load i32, ptr @test_count, align 4, !tbaa !5
  %461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %462 = load i32, ptr %461, align 4, !tbaa !5
  %463 = call ptr @s2n_strerror(i32 noundef %462, ptr noundef @.str.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_debug(i32 noundef %465, ptr noundef @.str.5)
  %467 = call ptr @__errno_location() #10
  %468 = load i32, ptr %467, align 4, !tbaa !5
  %469 = call ptr @strerror(i32 noundef %468) #9
  %470 = call ptr @__errno_location() #10
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %459, ptr noundef @.str.3, i32 noundef %460, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 43, ptr noundef %463, ptr noundef %466, ptr noundef %469, i32 noundef %471) #9
  br label %490

473:                                              ; preds = %451, %444
  %474 = load i32, ptr %10, align 4, !tbaa !5
  %475 = call ptr @__errno_location() #10
  store i32 %474, ptr %475, align 4, !tbaa !5
  %476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %477 = load i32, ptr @test_count, align 4, !tbaa !5
  %478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %479 = load i32, ptr %478, align 4, !tbaa !5
  %480 = call ptr @s2n_strerror(i32 noundef %479, ptr noundef @.str.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_debug(i32 noundef %482, ptr noundef @.str.5)
  %484 = call ptr @__errno_location() #10
  %485 = load i32, ptr %484, align 4, !tbaa !5
  %486 = call ptr @strerror(i32 noundef %485) #9
  %487 = call ptr @__errno_location() #10
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %476, ptr noundef @.str.6, i32 noundef %477, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 43, ptr noundef %480, ptr noundef %483, ptr noundef %486, i32 noundef %488) #9
  br label %490

490:                                              ; preds = %473, %456
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %491

491:                                              ; preds = %490
  br label %492

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

493:                                              ; No predecessors!
  br label %494

494:                                              ; preds = %493
  br label %495

495:                                              ; preds = %494, %435
  br label %496

496:                                              ; preds = %495
  br label %497

497:                                              ; preds = %496
  br label %498

498:                                              ; preds = %497
  %499 = load i32, ptr @test_count, align 4, !tbaa !5
  %500 = add nsw i32 %499, 1
  store i32 %500, ptr @test_count, align 4, !tbaa !5
  %501 = load i32, ptr %9, align 4, !tbaa !5
  %502 = call ptr @s2n_strerror(i32 noundef %501, ptr noundef @.str.5)
  %503 = call i32 @strcmp(ptr noundef %502, ptr noundef @.str.10) #12
  %504 = icmp eq i32 %503, 0
  br i1 %504, label %505, label %558

505:                                              ; preds = %498
  br label %506

506:                                              ; preds = %505
  br label %507

507:                                              ; preds = %506
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #9
  %508 = call ptr @__errno_location() #10
  %509 = load i32, ptr %508, align 4, !tbaa !5
  store i32 %509, ptr %11, align 4, !tbaa !5
  %510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %511 = call i32 @s2n_print_stacktrace(ptr noundef %510)
  %512 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %513 = trunc i8 %512 to i1
  br i1 %513, label %514, label %536

514:                                              ; preds = %507
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = call i32 @fileno(ptr noundef %515) #9
  %517 = call i32 @isatty(i32 noundef %516) #9
  %518 = icmp ne i32 %517, 0
  br i1 %518, label %519, label %536

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

536:                                              ; preds = %514, %507
  %537 = load i32, ptr %11, align 4, !tbaa !5
  %538 = call ptr @__errno_location() #10
  store i32 %537, ptr %538, align 4, !tbaa !5
  %539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %540 = load i32, ptr @test_count, align 4, !tbaa !5
  %541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %542 = load i32, ptr %541, align 4, !tbaa !5
  %543 = call ptr @s2n_strerror(i32 noundef %542, ptr noundef @.str.5)
  %544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %545 = load i32, ptr %544, align 4, !tbaa !5
  %546 = call ptr @s2n_strerror_debug(i32 noundef %545, ptr noundef @.str.5)
  %547 = call ptr @__errno_location() #10
  %548 = load i32, ptr %547, align 4, !tbaa !5
  %549 = call ptr @strerror(i32 noundef %548) #9
  %550 = call ptr @__errno_location() #10
  %551 = load i32, ptr %550, align 4, !tbaa !5
  %552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %539, ptr noundef @.str.6, i32 noundef %540, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 44, ptr noundef %543, ptr noundef %546, ptr noundef %549, i32 noundef %551) #9
  br label %553

553:                                              ; preds = %536, %519
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  br label %554

554:                                              ; preds = %553
  br label %555

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

556:                                              ; No predecessors!
  br label %557

557:                                              ; preds = %556
  br label %558

558:                                              ; preds = %557, %498
  br label %559

559:                                              ; preds = %558
  br label %560

560:                                              ; preds = %559
  br label %561

561:                                              ; preds = %560
  %562 = load i32, ptr %9, align 4, !tbaa !5
  %563 = add nsw i32 %562, 1
  store i32 %563, ptr %9, align 4, !tbaa !5
  br label %430, !llvm.loop !17

564:                                              ; preds = %433
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  store i32 134217728, ptr %12, align 4, !tbaa !5
  br label %565

565:                                              ; preds = %696, %564
  %566 = load i32, ptr %12, align 4, !tbaa !5
  %567 = icmp slt i32 %566, 134217729
  br i1 %567, label %569, label %568

568:                                              ; preds = %565
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %699

569:                                              ; preds = %565
  br label %570

570:                                              ; preds = %569
  %571 = load i32, ptr @test_count, align 4, !tbaa !5
  %572 = add nsw i32 %571, 1
  store i32 %572, ptr @test_count, align 4, !tbaa !5
  %573 = load i32, ptr %12, align 4, !tbaa !5
  %574 = call ptr @s2n_strerror_name(i32 noundef %573)
  %575 = call i32 @strcmp(ptr noundef %574, ptr noundef @.str.10) #12
  %576 = icmp eq i32 %575, 0
  br i1 %576, label %577, label %630

577:                                              ; preds = %570
  br label %578

578:                                              ; preds = %577
  br label %579

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

586:                                              ; preds = %579
  %587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %588 = call i32 @fileno(ptr noundef %587) #9
  %589 = call i32 @isatty(i32 noundef %588) #9
  %590 = icmp ne i32 %589, 0
  br i1 %590, label %591, label %608

591:                                              ; preds = %586
  %592 = load i32, ptr %13, align 4, !tbaa !5
  %593 = call ptr @__errno_location() #10
  store i32 %592, ptr %593, align 4, !tbaa !5
  %594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %595 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %597, ptr noundef @.str.5)
  %599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %600 = load i32, ptr %599, align 4, !tbaa !5
  %601 = call ptr @s2n_strerror_debug(i32 noundef %600, ptr noundef @.str.5)
  %602 = call ptr @__errno_location() #10
  %603 = load i32, ptr %602, align 4, !tbaa !5
  %604 = call ptr @strerror(i32 noundef %603) #9
  %605 = call ptr @__errno_location() #10
  %606 = load i32, ptr %605, align 4, !tbaa !5
  %607 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %594, ptr noundef @.str.3, i32 noundef %595, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 47, ptr noundef %598, ptr noundef %601, ptr noundef %604, i32 noundef %606) #9
  br label %625

608:                                              ; preds = %586, %579
  %609 = load i32, ptr %13, align 4, !tbaa !5
  %610 = call ptr @__errno_location() #10
  store i32 %609, ptr %610, align 4, !tbaa !5
  %611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %612 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %614, ptr noundef @.str.5)
  %616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = call ptr @s2n_strerror_debug(i32 noundef %617, ptr noundef @.str.5)
  %619 = call ptr @__errno_location() #10
  %620 = load i32, ptr %619, align 4, !tbaa !5
  %621 = call ptr @strerror(i32 noundef %620) #9
  %622 = call ptr @__errno_location() #10
  %623 = load i32, ptr %622, align 4, !tbaa !5
  %624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %611, ptr noundef @.str.6, i32 noundef %612, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 47, ptr noundef %615, ptr noundef %618, ptr noundef %621, i32 noundef %623) #9
  br label %625

625:                                              ; preds = %608, %591
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %626

626:                                              ; preds = %625
  br label %627

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

628:                                              ; No predecessors!
  br label %629

629:                                              ; preds = %628
  br label %630

630:                                              ; preds = %629, %570
  br label %631

631:                                              ; preds = %630
  br label %632

632:                                              ; preds = %631
  br label %633

633:                                              ; preds = %632
  %634 = load i32, ptr @test_count, align 4, !tbaa !5
  %635 = add nsw i32 %634, 1
  store i32 %635, ptr @test_count, align 4, !tbaa !5
  %636 = load i32, ptr %12, align 4, !tbaa !5
  %637 = call ptr @s2n_strerror(i32 noundef %636, ptr noundef @.str.5)
  %638 = call i32 @strcmp(ptr noundef %637, ptr noundef @.str.10) #12
  %639 = icmp eq i32 %638, 0
  br i1 %639, label %640, label %693

640:                                              ; preds = %633
  br label %641

641:                                              ; preds = %640
  br label %642

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

649:                                              ; preds = %642
  %650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %651 = call i32 @fileno(ptr noundef %650) #9
  %652 = call i32 @isatty(i32 noundef %651) #9
  %653 = icmp ne i32 %652, 0
  br i1 %653, label %654, label %671

654:                                              ; preds = %649
  %655 = load i32, ptr %14, align 4, !tbaa !5
  %656 = call ptr @__errno_location() #10
  store i32 %655, ptr %656, align 4, !tbaa !5
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %660, ptr noundef @.str.5)
  %662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %663 = load i32, ptr %662, align 4, !tbaa !5
  %664 = call ptr @s2n_strerror_debug(i32 noundef %663, ptr noundef @.str.5)
  %665 = call ptr @__errno_location() #10
  %666 = load i32, ptr %665, align 4, !tbaa !5
  %667 = call ptr @strerror(i32 noundef %666) #9
  %668 = call ptr @__errno_location() #10
  %669 = load i32, ptr %668, align 4, !tbaa !5
  %670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %657, ptr noundef @.str.3, i32 noundef %658, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 48, ptr noundef %661, ptr noundef %664, ptr noundef %667, i32 noundef %669) #9
  br label %688

671:                                              ; preds = %649, %642
  %672 = load i32, ptr %14, align 4, !tbaa !5
  %673 = call ptr @__errno_location() #10
  store i32 %672, ptr %673, align 4, !tbaa !5
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %677, ptr noundef @.str.5)
  %679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %680 = load i32, ptr %679, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror_debug(i32 noundef %680, ptr noundef @.str.5)
  %682 = call ptr @__errno_location() #10
  %683 = load i32, ptr %682, align 4, !tbaa !5
  %684 = call ptr @strerror(i32 noundef %683) #9
  %685 = call ptr @__errno_location() #10
  %686 = load i32, ptr %685, align 4, !tbaa !5
  %687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %674, ptr noundef @.str.6, i32 noundef %675, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 48, ptr noundef %678, ptr noundef %681, ptr noundef %684, i32 noundef %686) #9
  br label %688

688:                                              ; preds = %671, %654
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %689

689:                                              ; preds = %688
  br label %690

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

691:                                              ; No predecessors!
  br label %692

692:                                              ; preds = %691
  br label %693

693:                                              ; preds = %692, %633
  br label %694

694:                                              ; preds = %693
  br label %695

695:                                              ; preds = %694
  br label %696

696:                                              ; preds = %695
  %697 = load i32, ptr %12, align 4, !tbaa !5
  %698 = add nsw i32 %697, 1
  store i32 %698, ptr %12, align 4, !tbaa !5
  br label %565, !llvm.loop !18

699:                                              ; preds = %568
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  store i32 201326592, ptr %15, align 4, !tbaa !5
  br label %700

700:                                              ; preds = %831, %699
  %701 = load i32, ptr %15, align 4, !tbaa !5
  %702 = icmp slt i32 %701, 201326596
  br i1 %702, label %704, label %703

703:                                              ; preds = %700
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %834

704:                                              ; preds = %700
  br label %705

705:                                              ; preds = %704
  %706 = load i32, ptr @test_count, align 4, !tbaa !5
  %707 = add nsw i32 %706, 1
  store i32 %707, ptr @test_count, align 4, !tbaa !5
  %708 = load i32, ptr %15, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror_name(i32 noundef %708)
  %710 = call i32 @strcmp(ptr noundef %709, ptr noundef @.str.10) #12
  %711 = icmp eq i32 %710, 0
  br i1 %711, label %712, label %765

712:                                              ; preds = %705
  br label %713

713:                                              ; preds = %712
  br label %714

714:                                              ; preds = %713
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %715 = call ptr @__errno_location() #10
  %716 = load i32, ptr %715, align 4, !tbaa !5
  store i32 %716, ptr %16, align 4, !tbaa !5
  %717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %718 = call i32 @s2n_print_stacktrace(ptr noundef %717)
  %719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %720 = trunc i8 %719 to i1
  br i1 %720, label %721, label %743

721:                                              ; preds = %714
  %722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %723 = call i32 @fileno(ptr noundef %722) #9
  %724 = call i32 @isatty(i32 noundef %723) #9
  %725 = icmp ne i32 %724, 0
  br i1 %725, label %726, label %743

726:                                              ; preds = %721
  %727 = load i32, ptr %16, align 4, !tbaa !5
  %728 = call ptr @__errno_location() #10
  store i32 %727, ptr %728, align 4, !tbaa !5
  %729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %730 = load i32, ptr @test_count, align 4, !tbaa !5
  %731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %732 = load i32, ptr %731, align 4, !tbaa !5
  %733 = call ptr @s2n_strerror(i32 noundef %732, ptr noundef @.str.5)
  %734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %735 = load i32, ptr %734, align 4, !tbaa !5
  %736 = call ptr @s2n_strerror_debug(i32 noundef %735, ptr noundef @.str.5)
  %737 = call ptr @__errno_location() #10
  %738 = load i32, ptr %737, align 4, !tbaa !5
  %739 = call ptr @strerror(i32 noundef %738) #9
  %740 = call ptr @__errno_location() #10
  %741 = load i32, ptr %740, align 4, !tbaa !5
  %742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %729, ptr noundef @.str.3, i32 noundef %730, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 51, ptr noundef %733, ptr noundef %736, ptr noundef %739, i32 noundef %741) #9
  br label %760

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

760:                                              ; preds = %743, %726
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #9
  br label %761

761:                                              ; preds = %760
  br label %762

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

763:                                              ; No predecessors!
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764, %705
  br label %766

766:                                              ; preds = %765
  br label %767

767:                                              ; preds = %766
  br label %768

768:                                              ; preds = %767
  %769 = load i32, ptr @test_count, align 4, !tbaa !5
  %770 = add nsw i32 %769, 1
  store i32 %770, ptr @test_count, align 4, !tbaa !5
  %771 = load i32, ptr %15, align 4, !tbaa !5
  %772 = call ptr @s2n_strerror(i32 noundef %771, ptr noundef @.str.5)
  %773 = call i32 @strcmp(ptr noundef %772, ptr noundef @.str.10) #12
  %774 = icmp eq i32 %773, 0
  br i1 %774, label %775, label %828

775:                                              ; preds = %768
  br label %776

776:                                              ; preds = %775
  br label %777

777:                                              ; preds = %776
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %778 = call ptr @__errno_location() #10
  %779 = load i32, ptr %778, align 4, !tbaa !5
  store i32 %779, ptr %17, align 4, !tbaa !5
  %780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %781 = call i32 @s2n_print_stacktrace(ptr noundef %780)
  %782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %783 = trunc i8 %782 to i1
  br i1 %783, label %784, label %806

784:                                              ; preds = %777
  %785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %786 = call i32 @fileno(ptr noundef %785) #9
  %787 = call i32 @isatty(i32 noundef %786) #9
  %788 = icmp ne i32 %787, 0
  br i1 %788, label %789, label %806

789:                                              ; preds = %784
  %790 = load i32, ptr %17, align 4, !tbaa !5
  %791 = call ptr @__errno_location() #10
  store i32 %790, ptr %791, align 4, !tbaa !5
  %792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %793 = load i32, ptr @test_count, align 4, !tbaa !5
  %794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %795 = load i32, ptr %794, align 4, !tbaa !5
  %796 = call ptr @s2n_strerror(i32 noundef %795, ptr noundef @.str.5)
  %797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %798 = load i32, ptr %797, align 4, !tbaa !5
  %799 = call ptr @s2n_strerror_debug(i32 noundef %798, ptr noundef @.str.5)
  %800 = call ptr @__errno_location() #10
  %801 = load i32, ptr %800, align 4, !tbaa !5
  %802 = call ptr @strerror(i32 noundef %801) #9
  %803 = call ptr @__errno_location() #10
  %804 = load i32, ptr %803, align 4, !tbaa !5
  %805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %792, ptr noundef @.str.3, i32 noundef %793, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 52, ptr noundef %796, ptr noundef %799, ptr noundef %802, i32 noundef %804) #9
  br label %823

806:                                              ; preds = %784, %777
  %807 = load i32, ptr %17, align 4, !tbaa !5
  %808 = call ptr @__errno_location() #10
  store i32 %807, ptr %808, align 4, !tbaa !5
  %809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %810 = load i32, ptr @test_count, align 4, !tbaa !5
  %811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %812 = load i32, ptr %811, align 4, !tbaa !5
  %813 = call ptr @s2n_strerror(i32 noundef %812, ptr noundef @.str.5)
  %814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror_debug(i32 noundef %815, ptr noundef @.str.5)
  %817 = call ptr @__errno_location() #10
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call ptr @strerror(i32 noundef %818) #9
  %820 = call ptr @__errno_location() #10
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %809, ptr noundef @.str.6, i32 noundef %810, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 52, ptr noundef %813, ptr noundef %816, ptr noundef %819, i32 noundef %821) #9
  br label %823

823:                                              ; preds = %806, %789
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %824

824:                                              ; preds = %823
  br label %825

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

826:                                              ; No predecessors!
  br label %827

827:                                              ; preds = %826
  br label %828

828:                                              ; preds = %827, %768
  br label %829

829:                                              ; preds = %828
  br label %830

830:                                              ; preds = %829
  br label %831

831:                                              ; preds = %830
  %832 = load i32, ptr %15, align 4, !tbaa !5
  %833 = add nsw i32 %832, 1
  store i32 %833, ptr %15, align 4, !tbaa !5
  br label %700, !llvm.loop !19

834:                                              ; preds = %703
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  store i32 268435456, ptr %18, align 4, !tbaa !5
  br label %835

835:                                              ; preds = %966, %834
  %836 = load i32, ptr %18, align 4, !tbaa !5
  %837 = icmp slt i32 %836, 268435457
  br i1 %837, label %839, label %838

838:                                              ; preds = %835
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #9
  br label %969

839:                                              ; preds = %835
  br label %840

840:                                              ; preds = %839
  %841 = load i32, ptr @test_count, align 4, !tbaa !5
  %842 = add nsw i32 %841, 1
  store i32 %842, ptr @test_count, align 4, !tbaa !5
  %843 = load i32, ptr %18, align 4, !tbaa !5
  %844 = call ptr @s2n_strerror_name(i32 noundef %843)
  %845 = call i32 @strcmp(ptr noundef %844, ptr noundef @.str.10) #12
  %846 = icmp eq i32 %845, 0
  br i1 %846, label %847, label %900

847:                                              ; preds = %840
  br label %848

848:                                              ; preds = %847
  br label %849

849:                                              ; preds = %848
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  %850 = call ptr @__errno_location() #10
  %851 = load i32, ptr %850, align 4, !tbaa !5
  store i32 %851, ptr %19, align 4, !tbaa !5
  %852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %853 = call i32 @s2n_print_stacktrace(ptr noundef %852)
  %854 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %855 = trunc i8 %854 to i1
  br i1 %855, label %856, label %878

856:                                              ; preds = %849
  %857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %858 = call i32 @fileno(ptr noundef %857) #9
  %859 = call i32 @isatty(i32 noundef %858) #9
  %860 = icmp ne i32 %859, 0
  br i1 %860, label %861, label %878

861:                                              ; preds = %856
  %862 = load i32, ptr %19, align 4, !tbaa !5
  %863 = call ptr @__errno_location() #10
  store i32 %862, ptr %863, align 4, !tbaa !5
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = load i32, ptr @test_count, align 4, !tbaa !5
  %866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %867 = load i32, ptr %866, align 4, !tbaa !5
  %868 = call ptr @s2n_strerror(i32 noundef %867, ptr noundef @.str.5)
  %869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %870 = load i32, ptr %869, align 4, !tbaa !5
  %871 = call ptr @s2n_strerror_debug(i32 noundef %870, ptr noundef @.str.5)
  %872 = call ptr @__errno_location() #10
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @strerror(i32 noundef %873) #9
  %875 = call ptr @__errno_location() #10
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %864, ptr noundef @.str.3, i32 noundef %865, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 55, ptr noundef %868, ptr noundef %871, ptr noundef %874, i32 noundef %876) #9
  br label %895

878:                                              ; preds = %856, %849
  %879 = load i32, ptr %19, align 4, !tbaa !5
  %880 = call ptr @__errno_location() #10
  store i32 %879, ptr %880, align 4, !tbaa !5
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %884 = load i32, ptr %883, align 4, !tbaa !5
  %885 = call ptr @s2n_strerror(i32 noundef %884, ptr noundef @.str.5)
  %886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %887 = load i32, ptr %886, align 4, !tbaa !5
  %888 = call ptr @s2n_strerror_debug(i32 noundef %887, ptr noundef @.str.5)
  %889 = call ptr @__errno_location() #10
  %890 = load i32, ptr %889, align 4, !tbaa !5
  %891 = call ptr @strerror(i32 noundef %890) #9
  %892 = call ptr @__errno_location() #10
  %893 = load i32, ptr %892, align 4, !tbaa !5
  %894 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %881, ptr noundef @.str.6, i32 noundef %882, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 55, ptr noundef %885, ptr noundef %888, ptr noundef %891, i32 noundef %893) #9
  br label %895

895:                                              ; preds = %878, %861
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %896

896:                                              ; preds = %895
  br label %897

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

898:                                              ; No predecessors!
  br label %899

899:                                              ; preds = %898
  br label %900

900:                                              ; preds = %899, %840
  br label %901

901:                                              ; preds = %900
  br label %902

902:                                              ; preds = %901
  br label %903

903:                                              ; preds = %902
  %904 = load i32, ptr @test_count, align 4, !tbaa !5
  %905 = add nsw i32 %904, 1
  store i32 %905, ptr @test_count, align 4, !tbaa !5
  %906 = load i32, ptr %18, align 4, !tbaa !5
  %907 = call ptr @s2n_strerror(i32 noundef %906, ptr noundef @.str.5)
  %908 = call i32 @strcmp(ptr noundef %907, ptr noundef @.str.10) #12
  %909 = icmp eq i32 %908, 0
  br i1 %909, label %910, label %963

910:                                              ; preds = %903
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  %913 = call ptr @__errno_location() #10
  %914 = load i32, ptr %913, align 4, !tbaa !5
  store i32 %914, ptr %20, align 4, !tbaa !5
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = call i32 @s2n_print_stacktrace(ptr noundef %915)
  %917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %918 = trunc i8 %917 to i1
  br i1 %918, label %919, label %941

919:                                              ; preds = %912
  %920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %921 = call i32 @fileno(ptr noundef %920) #9
  %922 = call i32 @isatty(i32 noundef %921) #9
  %923 = icmp ne i32 %922, 0
  br i1 %923, label %924, label %941

924:                                              ; preds = %919
  %925 = load i32, ptr %20, align 4, !tbaa !5
  %926 = call ptr @__errno_location() #10
  store i32 %925, ptr %926, align 4, !tbaa !5
  %927 = load ptr, ptr @stderr, align 8, !tbaa !9
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %930 = load i32, ptr %929, align 4, !tbaa !5
  %931 = call ptr @s2n_strerror(i32 noundef %930, ptr noundef @.str.5)
  %932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %933 = load i32, ptr %932, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef @.str.5)
  %935 = call ptr @__errno_location() #10
  %936 = load i32, ptr %935, align 4, !tbaa !5
  %937 = call ptr @strerror(i32 noundef %936) #9
  %938 = call ptr @__errno_location() #10
  %939 = load i32, ptr %938, align 4, !tbaa !5
  %940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %927, ptr noundef @.str.3, i32 noundef %928, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 56, ptr noundef %931, ptr noundef %934, ptr noundef %937, i32 noundef %939) #9
  br label %958

941:                                              ; preds = %919, %912
  %942 = load i32, ptr %20, align 4, !tbaa !5
  %943 = call ptr @__errno_location() #10
  store i32 %942, ptr %943, align 4, !tbaa !5
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = load i32, ptr @test_count, align 4, !tbaa !5
  %946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %947 = load i32, ptr %946, align 4, !tbaa !5
  %948 = call ptr @s2n_strerror(i32 noundef %947, ptr noundef @.str.5)
  %949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %950 = load i32, ptr %949, align 4, !tbaa !5
  %951 = call ptr @s2n_strerror_debug(i32 noundef %950, ptr noundef @.str.5)
  %952 = call ptr @__errno_location() #10
  %953 = load i32, ptr %952, align 4, !tbaa !5
  %954 = call ptr @strerror(i32 noundef %953) #9
  %955 = call ptr @__errno_location() #10
  %956 = load i32, ptr %955, align 4, !tbaa !5
  %957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %944, ptr noundef @.str.6, i32 noundef %945, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 56, ptr noundef %948, ptr noundef %951, ptr noundef %954, i32 noundef %956) #9
  br label %958

958:                                              ; preds = %941, %924
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %959

959:                                              ; preds = %958
  br label %960

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

961:                                              ; No predecessors!
  br label %962

962:                                              ; preds = %961
  br label %963

963:                                              ; preds = %962, %903
  br label %964

964:                                              ; preds = %963
  br label %965

965:                                              ; preds = %964
  br label %966

966:                                              ; preds = %965
  %967 = load i32, ptr %18, align 4, !tbaa !5
  %968 = add nsw i32 %967, 1
  store i32 %968, ptr %18, align 4, !tbaa !5
  br label %835, !llvm.loop !20

969:                                              ; preds = %838
  call void @llvm.lifetime.start.p0(i64 4, ptr %21) #9
  store i32 335544320, ptr %21, align 4, !tbaa !5
  br label %970

970:                                              ; preds = %1101, %969
  %971 = load i32, ptr %21, align 4, !tbaa !5
  %972 = icmp slt i32 %971, 335544400
  br i1 %972, label %974, label %973

973:                                              ; preds = %970
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %1104

974:                                              ; preds = %970
  br label %975

975:                                              ; preds = %974
  %976 = load i32, ptr @test_count, align 4, !tbaa !5
  %977 = add nsw i32 %976, 1
  store i32 %977, ptr @test_count, align 4, !tbaa !5
  %978 = load i32, ptr %21, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror_name(i32 noundef %978)
  %980 = call i32 @strcmp(ptr noundef %979, ptr noundef @.str.10) #12
  %981 = icmp eq i32 %980, 0
  br i1 %981, label %982, label %1035

982:                                              ; preds = %975
  br label %983

983:                                              ; preds = %982
  br label %984

984:                                              ; preds = %983
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %985 = call ptr @__errno_location() #10
  %986 = load i32, ptr %985, align 4, !tbaa !5
  store i32 %986, ptr %22, align 4, !tbaa !5
  %987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %988 = call i32 @s2n_print_stacktrace(ptr noundef %987)
  %989 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %990 = trunc i8 %989 to i1
  br i1 %990, label %991, label %1013

991:                                              ; preds = %984
  %992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %993 = call i32 @fileno(ptr noundef %992) #9
  %994 = call i32 @isatty(i32 noundef %993) #9
  %995 = icmp ne i32 %994, 0
  br i1 %995, label %996, label %1013

996:                                              ; preds = %991
  %997 = load i32, ptr %22, align 4, !tbaa !5
  %998 = call ptr @__errno_location() #10
  store i32 %997, ptr %998, align 4, !tbaa !5
  %999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1000 = load i32, ptr @test_count, align 4, !tbaa !5
  %1001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1002 = load i32, ptr %1001, align 4, !tbaa !5
  %1003 = call ptr @s2n_strerror(i32 noundef %1002, ptr noundef @.str.5)
  %1004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1005 = load i32, ptr %1004, align 4, !tbaa !5
  %1006 = call ptr @s2n_strerror_debug(i32 noundef %1005, ptr noundef @.str.5)
  %1007 = call ptr @__errno_location() #10
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  %1009 = call ptr @strerror(i32 noundef %1008) #9
  %1010 = call ptr @__errno_location() #10
  %1011 = load i32, ptr %1010, align 4, !tbaa !5
  %1012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %999, ptr noundef @.str.3, i32 noundef %1000, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 59, ptr noundef %1003, ptr noundef %1006, ptr noundef %1009, i32 noundef %1011) #9
  br label %1030

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

1030:                                             ; preds = %1013, %996
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #9
  br label %1031

1031:                                             ; preds = %1030
  br label %1032

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

1033:                                             ; No predecessors!
  br label %1034

1034:                                             ; preds = %1033
  br label %1035

1035:                                             ; preds = %1034, %975
  br label %1036

1036:                                             ; preds = %1035
  br label %1037

1037:                                             ; preds = %1036
  br label %1038

1038:                                             ; preds = %1037
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = add nsw i32 %1039, 1
  store i32 %1040, ptr @test_count, align 4, !tbaa !5
  %1041 = load i32, ptr %21, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror(i32 noundef %1041, ptr noundef @.str.5)
  %1043 = call i32 @strcmp(ptr noundef %1042, ptr noundef @.str.10) #12
  %1044 = icmp eq i32 %1043, 0
  br i1 %1044, label %1045, label %1098

1045:                                             ; preds = %1038
  br label %1046

1046:                                             ; preds = %1045
  br label %1047

1047:                                             ; preds = %1046
  call void @llvm.lifetime.start.p0(i64 4, ptr %23) #9
  %1048 = call ptr @__errno_location() #10
  %1049 = load i32, ptr %1048, align 4, !tbaa !5
  store i32 %1049, ptr %23, align 4, !tbaa !5
  %1050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1051 = call i32 @s2n_print_stacktrace(ptr noundef %1050)
  %1052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1053 = trunc i8 %1052 to i1
  br i1 %1053, label %1054, label %1076

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

1059:                                             ; preds = %1054
  %1060 = load i32, ptr %23, align 4, !tbaa !5
  %1061 = call ptr @__errno_location() #10
  store i32 %1060, ptr %1061, align 4, !tbaa !5
  %1062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1063 = load i32, ptr @test_count, align 4, !tbaa !5
  %1064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call ptr @s2n_strerror(i32 noundef %1065, ptr noundef @.str.5)
  %1067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1068 = load i32, ptr %1067, align 4, !tbaa !5
  %1069 = call ptr @s2n_strerror_debug(i32 noundef %1068, ptr noundef @.str.5)
  %1070 = call ptr @__errno_location() #10
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  %1072 = call ptr @strerror(i32 noundef %1071) #9
  %1073 = call ptr @__errno_location() #10
  %1074 = load i32, ptr %1073, align 4, !tbaa !5
  %1075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1062, ptr noundef @.str.3, i32 noundef %1063, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 60, ptr noundef %1066, ptr noundef %1069, ptr noundef %1072, i32 noundef %1074) #9
  br label %1093

1076:                                             ; preds = %1054, %1047
  %1077 = load i32, ptr %23, align 4, !tbaa !5
  %1078 = call ptr @__errno_location() #10
  store i32 %1077, ptr %1078, align 4, !tbaa !5
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1082 = load i32, ptr %1081, align 4, !tbaa !5
  %1083 = call ptr @s2n_strerror(i32 noundef %1082, ptr noundef @.str.5)
  %1084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = call ptr @s2n_strerror_debug(i32 noundef %1085, ptr noundef @.str.5)
  %1087 = call ptr @__errno_location() #10
  %1088 = load i32, ptr %1087, align 4, !tbaa !5
  %1089 = call ptr @strerror(i32 noundef %1088) #9
  %1090 = call ptr @__errno_location() #10
  %1091 = load i32, ptr %1090, align 4, !tbaa !5
  %1092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1079, ptr noundef @.str.6, i32 noundef %1080, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 60, ptr noundef %1083, ptr noundef %1086, ptr noundef %1089, i32 noundef %1091) #9
  br label %1093

1093:                                             ; preds = %1076, %1059
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %1094

1094:                                             ; preds = %1093
  br label %1095

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

1096:                                             ; No predecessors!
  br label %1097

1097:                                             ; preds = %1096
  br label %1098

1098:                                             ; preds = %1097, %1038
  br label %1099

1099:                                             ; preds = %1098
  br label %1100

1100:                                             ; preds = %1099
  br label %1101

1101:                                             ; preds = %1100
  %1102 = load i32, ptr %21, align 4, !tbaa !5
  %1103 = add nsw i32 %1102, 1
  store i32 %1103, ptr %21, align 4, !tbaa !5
  br label %970, !llvm.loop !21

1104:                                             ; preds = %973
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  store i32 402653184, ptr %24, align 4, !tbaa !5
  br label %1105

1105:                                             ; preds = %1236, %1104
  %1106 = load i32, ptr %24, align 4, !tbaa !5
  %1107 = icmp slt i32 %1106, 402653274
  br i1 %1107, label %1109, label %1108

1108:                                             ; preds = %1105
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1239

1109:                                             ; preds = %1105
  br label %1110

1110:                                             ; preds = %1109
  %1111 = load i32, ptr @test_count, align 4, !tbaa !5
  %1112 = add nsw i32 %1111, 1
  store i32 %1112, ptr @test_count, align 4, !tbaa !5
  %1113 = load i32, ptr %24, align 4, !tbaa !5
  %1114 = call ptr @s2n_strerror_name(i32 noundef %1113)
  %1115 = call i32 @strcmp(ptr noundef %1114, ptr noundef @.str.10) #12
  %1116 = icmp eq i32 %1115, 0
  br i1 %1116, label %1117, label %1170

1117:                                             ; preds = %1110
  br label %1118

1118:                                             ; preds = %1117
  br label %1119

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

1126:                                             ; preds = %1119
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @fileno(ptr noundef %1127) #9
  %1129 = call i32 @isatty(i32 noundef %1128) #9
  %1130 = icmp ne i32 %1129, 0
  br i1 %1130, label %1131, label %1148

1131:                                             ; preds = %1126
  %1132 = load i32, ptr %25, align 4, !tbaa !5
  %1133 = call ptr @__errno_location() #10
  store i32 %1132, ptr %1133, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = load i32, ptr @test_count, align 4, !tbaa !5
  %1136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1137 = load i32, ptr %1136, align 4, !tbaa !5
  %1138 = call ptr @s2n_strerror(i32 noundef %1137, ptr noundef @.str.5)
  %1139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1140 = load i32, ptr %1139, align 4, !tbaa !5
  %1141 = call ptr @s2n_strerror_debug(i32 noundef %1140, ptr noundef @.str.5)
  %1142 = call ptr @__errno_location() #10
  %1143 = load i32, ptr %1142, align 4, !tbaa !5
  %1144 = call ptr @strerror(i32 noundef %1143) #9
  %1145 = call ptr @__errno_location() #10
  %1146 = load i32, ptr %1145, align 4, !tbaa !5
  %1147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1134, ptr noundef @.str.3, i32 noundef %1135, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 63, ptr noundef %1138, ptr noundef %1141, ptr noundef %1144, i32 noundef %1146) #9
  br label %1165

1148:                                             ; preds = %1126, %1119
  %1149 = load i32, ptr %25, align 4, !tbaa !5
  %1150 = call ptr @__errno_location() #10
  store i32 %1149, ptr %1150, align 4, !tbaa !5
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = load i32, ptr @test_count, align 4, !tbaa !5
  %1153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1154 = load i32, ptr %1153, align 4, !tbaa !5
  %1155 = call ptr @s2n_strerror(i32 noundef %1154, ptr noundef @.str.5)
  %1156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1157 = load i32, ptr %1156, align 4, !tbaa !5
  %1158 = call ptr @s2n_strerror_debug(i32 noundef %1157, ptr noundef @.str.5)
  %1159 = call ptr @__errno_location() #10
  %1160 = load i32, ptr %1159, align 4, !tbaa !5
  %1161 = call ptr @strerror(i32 noundef %1160) #9
  %1162 = call ptr @__errno_location() #10
  %1163 = load i32, ptr %1162, align 4, !tbaa !5
  %1164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1151, ptr noundef @.str.6, i32 noundef %1152, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 63, ptr noundef %1155, ptr noundef %1158, ptr noundef %1161, i32 noundef %1163) #9
  br label %1165

1165:                                             ; preds = %1148, %1131
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1166

1166:                                             ; preds = %1165
  br label %1167

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

1168:                                             ; No predecessors!
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

1170:                                             ; preds = %1169, %1110
  br label %1171

1171:                                             ; preds = %1170
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

1173:                                             ; preds = %1172
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = add nsw i32 %1174, 1
  store i32 %1175, ptr @test_count, align 4, !tbaa !5
  %1176 = load i32, ptr %24, align 4, !tbaa !5
  %1177 = call ptr @s2n_strerror(i32 noundef %1176, ptr noundef @.str.5)
  %1178 = call i32 @strcmp(ptr noundef %1177, ptr noundef @.str.10) #12
  %1179 = icmp eq i32 %1178, 0
  br i1 %1179, label %1180, label %1233

1180:                                             ; preds = %1173
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

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

1189:                                             ; preds = %1182
  %1190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1191 = call i32 @fileno(ptr noundef %1190) #9
  %1192 = call i32 @isatty(i32 noundef %1191) #9
  %1193 = icmp ne i32 %1192, 0
  br i1 %1193, label %1194, label %1211

1194:                                             ; preds = %1189
  %1195 = load i32, ptr %26, align 4, !tbaa !5
  %1196 = call ptr @__errno_location() #10
  store i32 %1195, ptr %1196, align 4, !tbaa !5
  %1197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1198 = load i32, ptr @test_count, align 4, !tbaa !5
  %1199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1200 = load i32, ptr %1199, align 4, !tbaa !5
  %1201 = call ptr @s2n_strerror(i32 noundef %1200, ptr noundef @.str.5)
  %1202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1203 = load i32, ptr %1202, align 4, !tbaa !5
  %1204 = call ptr @s2n_strerror_debug(i32 noundef %1203, ptr noundef @.str.5)
  %1205 = call ptr @__errno_location() #10
  %1206 = load i32, ptr %1205, align 4, !tbaa !5
  %1207 = call ptr @strerror(i32 noundef %1206) #9
  %1208 = call ptr @__errno_location() #10
  %1209 = load i32, ptr %1208, align 4, !tbaa !5
  %1210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1197, ptr noundef @.str.3, i32 noundef %1198, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 64, ptr noundef %1201, ptr noundef %1204, ptr noundef %1207, i32 noundef %1209) #9
  br label %1228

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

1228:                                             ; preds = %1211, %1194
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1229

1229:                                             ; preds = %1228
  br label %1230

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

1231:                                             ; No predecessors!
  br label %1232

1232:                                             ; preds = %1231
  br label %1233

1233:                                             ; preds = %1232, %1173
  br label %1234

1234:                                             ; preds = %1233
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235
  %1237 = load i32, ptr %24, align 4, !tbaa !5
  %1238 = add nsw i32 %1237, 1
  store i32 %1238, ptr %24, align 4, !tbaa !5
  br label %1105, !llvm.loop !22

1239:                                             ; preds = %1108
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  store i32 469762048, ptr %27, align 4, !tbaa !5
  br label %1240

1240:                                             ; preds = %1371, %1239
  %1241 = load i32, ptr %27, align 4, !tbaa !5
  %1242 = icmp slt i32 %1241, 469762138
  br i1 %1242, label %1244, label %1243

1243:                                             ; preds = %1240
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1374

1244:                                             ; preds = %1240
  br label %1245

1245:                                             ; preds = %1244
  %1246 = load i32, ptr @test_count, align 4, !tbaa !5
  %1247 = add nsw i32 %1246, 1
  store i32 %1247, ptr @test_count, align 4, !tbaa !5
  %1248 = load i32, ptr %27, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_name(i32 noundef %1248)
  %1250 = call i32 @strcmp(ptr noundef %1249, ptr noundef @.str.10) #12
  %1251 = icmp eq i32 %1250, 0
  br i1 %1251, label %1252, label %1305

1252:                                             ; preds = %1245
  br label %1253

1253:                                             ; preds = %1252
  br label %1254

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

1261:                                             ; preds = %1254
  %1262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1263 = call i32 @fileno(ptr noundef %1262) #9
  %1264 = call i32 @isatty(i32 noundef %1263) #9
  %1265 = icmp ne i32 %1264, 0
  br i1 %1265, label %1266, label %1283

1266:                                             ; preds = %1261
  %1267 = load i32, ptr %28, align 4, !tbaa !5
  %1268 = call ptr @__errno_location() #10
  store i32 %1267, ptr %1268, align 4, !tbaa !5
  %1269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1270 = load i32, ptr @test_count, align 4, !tbaa !5
  %1271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1272 = load i32, ptr %1271, align 4, !tbaa !5
  %1273 = call ptr @s2n_strerror(i32 noundef %1272, ptr noundef @.str.5)
  %1274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1275 = load i32, ptr %1274, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef @.str.5)
  %1277 = call ptr @__errno_location() #10
  %1278 = load i32, ptr %1277, align 4, !tbaa !5
  %1279 = call ptr @strerror(i32 noundef %1278) #9
  %1280 = call ptr @__errno_location() #10
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1269, ptr noundef @.str.3, i32 noundef %1270, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 67, ptr noundef %1273, ptr noundef %1276, ptr noundef %1279, i32 noundef %1281) #9
  br label %1300

1283:                                             ; preds = %1261, %1254
  %1284 = load i32, ptr %28, align 4, !tbaa !5
  %1285 = call ptr @__errno_location() #10
  store i32 %1284, ptr %1285, align 4, !tbaa !5
  %1286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1287 = load i32, ptr @test_count, align 4, !tbaa !5
  %1288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1289 = load i32, ptr %1288, align 4, !tbaa !5
  %1290 = call ptr @s2n_strerror(i32 noundef %1289, ptr noundef @.str.5)
  %1291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1292 = load i32, ptr %1291, align 4, !tbaa !5
  %1293 = call ptr @s2n_strerror_debug(i32 noundef %1292, ptr noundef @.str.5)
  %1294 = call ptr @__errno_location() #10
  %1295 = load i32, ptr %1294, align 4, !tbaa !5
  %1296 = call ptr @strerror(i32 noundef %1295) #9
  %1297 = call ptr @__errno_location() #10
  %1298 = load i32, ptr %1297, align 4, !tbaa !5
  %1299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1286, ptr noundef @.str.6, i32 noundef %1287, ptr noundef @.str.11, ptr noundef @.str.2, i32 noundef 67, ptr noundef %1290, ptr noundef %1293, ptr noundef %1296, i32 noundef %1298) #9
  br label %1300

1300:                                             ; preds = %1283, %1266
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1301

1301:                                             ; preds = %1300
  br label %1302

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

1303:                                             ; No predecessors!
  br label %1304

1304:                                             ; preds = %1303
  br label %1305

1305:                                             ; preds = %1304, %1245
  br label %1306

1306:                                             ; preds = %1305
  br label %1307

1307:                                             ; preds = %1306
  br label %1308

1308:                                             ; preds = %1307
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load i32, ptr %27, align 4, !tbaa !5
  %1312 = call ptr @s2n_strerror(i32 noundef %1311, ptr noundef @.str.5)
  %1313 = call i32 @strcmp(ptr noundef %1312, ptr noundef @.str.10) #12
  %1314 = icmp eq i32 %1313, 0
  br i1 %1314, label %1315, label %1368

1315:                                             ; preds = %1308
  br label %1316

1316:                                             ; preds = %1315
  br label %1317

1317:                                             ; preds = %1316
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  %1318 = call ptr @__errno_location() #10
  %1319 = load i32, ptr %1318, align 4, !tbaa !5
  store i32 %1319, ptr %29, align 4, !tbaa !5
  %1320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1321 = call i32 @s2n_print_stacktrace(ptr noundef %1320)
  %1322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1323 = trunc i8 %1322 to i1
  br i1 %1323, label %1324, label %1346

1324:                                             ; preds = %1317
  %1325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1326 = call i32 @fileno(ptr noundef %1325) #9
  %1327 = call i32 @isatty(i32 noundef %1326) #9
  %1328 = icmp ne i32 %1327, 0
  br i1 %1328, label %1329, label %1346

1329:                                             ; preds = %1324
  %1330 = load i32, ptr %29, align 4, !tbaa !5
  %1331 = call ptr @__errno_location() #10
  store i32 %1330, ptr %1331, align 4, !tbaa !5
  %1332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1333 = load i32, ptr @test_count, align 4, !tbaa !5
  %1334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1335 = load i32, ptr %1334, align 4, !tbaa !5
  %1336 = call ptr @s2n_strerror(i32 noundef %1335, ptr noundef @.str.5)
  %1337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1338 = load i32, ptr %1337, align 4, !tbaa !5
  %1339 = call ptr @s2n_strerror_debug(i32 noundef %1338, ptr noundef @.str.5)
  %1340 = call ptr @__errno_location() #10
  %1341 = load i32, ptr %1340, align 4, !tbaa !5
  %1342 = call ptr @strerror(i32 noundef %1341) #9
  %1343 = call ptr @__errno_location() #10
  %1344 = load i32, ptr %1343, align 4, !tbaa !5
  %1345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1332, ptr noundef @.str.3, i32 noundef %1333, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 68, ptr noundef %1336, ptr noundef %1339, ptr noundef %1342, i32 noundef %1344) #9
  br label %1363

1346:                                             ; preds = %1324, %1317
  %1347 = load i32, ptr %29, align 4, !tbaa !5
  %1348 = call ptr @__errno_location() #10
  store i32 %1347, ptr %1348, align 4, !tbaa !5
  %1349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1350 = load i32, ptr @test_count, align 4, !tbaa !5
  %1351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1352 = load i32, ptr %1351, align 4, !tbaa !5
  %1353 = call ptr @s2n_strerror(i32 noundef %1352, ptr noundef @.str.5)
  %1354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1355 = load i32, ptr %1354, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror_debug(i32 noundef %1355, ptr noundef @.str.5)
  %1357 = call ptr @__errno_location() #10
  %1358 = load i32, ptr %1357, align 4, !tbaa !5
  %1359 = call ptr @strerror(i32 noundef %1358) #9
  %1360 = call ptr @__errno_location() #10
  %1361 = load i32, ptr %1360, align 4, !tbaa !5
  %1362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1349, ptr noundef @.str.6, i32 noundef %1350, ptr noundef @.str.12, ptr noundef @.str.2, i32 noundef 68, ptr noundef %1353, ptr noundef %1356, ptr noundef %1359, i32 noundef %1361) #9
  br label %1363

1363:                                             ; preds = %1346, %1329
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1364

1364:                                             ; preds = %1363
  br label %1365

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

1366:                                             ; No predecessors!
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

1368:                                             ; preds = %1367, %1308
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

1370:                                             ; preds = %1369
  br label %1371

1371:                                             ; preds = %1370
  %1372 = load i32, ptr %27, align 4, !tbaa !5
  %1373 = add nsw i32 %1372, 1
  store i32 %1373, ptr %27, align 4, !tbaa !5
  br label %1240, !llvm.loop !23

1374:                                             ; preds = %1243
  br label %1375

1375:                                             ; preds = %1374
  %1376 = load i32, ptr @test_count, align 4, !tbaa !5
  %1377 = add nsw i32 %1376, 1
  store i32 %1377, ptr @test_count, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror_name(i32 noundef 1)
  %1379 = call i32 @strcmp(ptr noundef %1378, ptr noundef @.str.10) #12
  %1380 = icmp eq i32 %1379, 0
  br i1 %1380, label %1432, label %1381

1381:                                             ; preds = %1375
  br label %1382

1382:                                             ; preds = %1381
  br label %1383

1383:                                             ; preds = %1382
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  %1384 = call ptr @__errno_location() #10
  %1385 = load i32, ptr %1384, align 4, !tbaa !5
  store i32 %1385, ptr %30, align 4, !tbaa !5
  %1386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1387 = call i32 @s2n_print_stacktrace(ptr noundef %1386)
  %1388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1389 = trunc i8 %1388 to i1
  br i1 %1389, label %1390, label %1412

1390:                                             ; preds = %1383
  %1391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1392 = call i32 @fileno(ptr noundef %1391) #9
  %1393 = call i32 @isatty(i32 noundef %1392) #9
  %1394 = icmp ne i32 %1393, 0
  br i1 %1394, label %1395, label %1412

1395:                                             ; preds = %1390
  %1396 = load i32, ptr %30, align 4, !tbaa !5
  %1397 = call ptr @__errno_location() #10
  store i32 %1396, ptr %1397, align 4, !tbaa !5
  %1398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1399 = load i32, ptr @test_count, align 4, !tbaa !5
  %1400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1401 = load i32, ptr %1400, align 4, !tbaa !5
  %1402 = call ptr @s2n_strerror(i32 noundef %1401, ptr noundef @.str.5)
  %1403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1404 = load i32, ptr %1403, align 4, !tbaa !5
  %1405 = call ptr @s2n_strerror_debug(i32 noundef %1404, ptr noundef @.str.5)
  %1406 = call ptr @__errno_location() #10
  %1407 = load i32, ptr %1406, align 4, !tbaa !5
  %1408 = call ptr @strerror(i32 noundef %1407) #9
  %1409 = call ptr @__errno_location() #10
  %1410 = load i32, ptr %1409, align 4, !tbaa !5
  %1411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1398, ptr noundef @.str.3, i32 noundef %1399, ptr noundef @.str.13, ptr noundef @.str.2, i32 noundef 72, ptr noundef %1402, ptr noundef %1405, ptr noundef %1408, i32 noundef %1410) #9
  br label %1429

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

1429:                                             ; preds = %1412, %1395
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1430

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

1431:                                             ; No predecessors!
  br label %1432

1432:                                             ; preds = %1431, %1375
  br label %1433

1433:                                             ; preds = %1432
  br label %1434

1434:                                             ; preds = %1433
  %1435 = load i32, ptr @test_count, align 4, !tbaa !5
  %1436 = add nsw i32 %1435, 1
  store i32 %1436, ptr @test_count, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror(i32 noundef 1, ptr noundef @.str.5)
  %1438 = call i32 @strcmp(ptr noundef %1437, ptr noundef @.str.10) #12
  %1439 = icmp eq i32 %1438, 0
  br i1 %1439, label %1491, label %1440

1440:                                             ; preds = %1434
  br label %1441

1441:                                             ; preds = %1440
  br label %1442

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

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

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

1471:                                             ; preds = %1449, %1442
  %1472 = load i32, ptr %31, align 4, !tbaa !5
  %1473 = call ptr @__errno_location() #10
  store i32 %1472, ptr %1473, align 4, !tbaa !5
  %1474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1475 = load i32, ptr @test_count, align 4, !tbaa !5
  %1476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call ptr @s2n_strerror(i32 noundef %1477, ptr noundef @.str.5)
  %1479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1480 = load i32, ptr %1479, align 4, !tbaa !5
  %1481 = call ptr @s2n_strerror_debug(i32 noundef %1480, ptr noundef @.str.5)
  %1482 = call ptr @__errno_location() #10
  %1483 = load i32, ptr %1482, align 4, !tbaa !5
  %1484 = call ptr @strerror(i32 noundef %1483) #9
  %1485 = call ptr @__errno_location() #10
  %1486 = load i32, ptr %1485, align 4, !tbaa !5
  %1487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1474, ptr noundef @.str.6, i32 noundef %1475, ptr noundef @.str.14, ptr noundef @.str.2, i32 noundef 73, ptr noundef %1478, ptr noundef %1481, ptr noundef %1484, i32 noundef %1486) #9
  br label %1488

1488:                                             ; preds = %1471, %1454
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1489

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

1490:                                             ; No predecessors!
  br label %1491

1491:                                             ; preds = %1490, %1434
  br label %1492

1492:                                             ; preds = %1491
  br label %1493

1493:                                             ; preds = %1492
  %1494 = load i32, ptr @test_count, align 4, !tbaa !5
  %1495 = add nsw i32 %1494, 1
  store i32 %1495, ptr @test_count, align 4, !tbaa !5
  %1496 = call ptr @s2n_strerror_name(i32 noundef 67108865)
  %1497 = call i32 @strcmp(ptr noundef %1496, ptr noundef @.str.10) #12
  %1498 = icmp eq i32 %1497, 0
  br i1 %1498, label %1550, label %1499

1499:                                             ; preds = %1493
  br label %1500

1500:                                             ; preds = %1499
  br label %1501

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

1508:                                             ; preds = %1501
  %1509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1510 = call i32 @fileno(ptr noundef %1509) #9
  %1511 = call i32 @isatty(i32 noundef %1510) #9
  %1512 = icmp ne i32 %1511, 0
  br i1 %1512, label %1513, label %1530

1513:                                             ; preds = %1508
  %1514 = load i32, ptr %32, align 4, !tbaa !5
  %1515 = call ptr @__errno_location() #10
  store i32 %1514, ptr %1515, align 4, !tbaa !5
  %1516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1517 = load i32, ptr @test_count, align 4, !tbaa !5
  %1518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1519 = load i32, ptr %1518, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror(i32 noundef %1519, ptr noundef @.str.5)
  %1521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1522 = load i32, ptr %1521, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror_debug(i32 noundef %1522, ptr noundef @.str.5)
  %1524 = call ptr @__errno_location() #10
  %1525 = load i32, ptr %1524, align 4, !tbaa !5
  %1526 = call ptr @strerror(i32 noundef %1525) #9
  %1527 = call ptr @__errno_location() #10
  %1528 = load i32, ptr %1527, align 4, !tbaa !5
  %1529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1516, ptr noundef @.str.3, i32 noundef %1517, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 75, ptr noundef %1520, ptr noundef %1523, ptr noundef %1526, i32 noundef %1528) #9
  br label %1547

1530:                                             ; preds = %1508, %1501
  %1531 = load i32, ptr %32, align 4, !tbaa !5
  %1532 = call ptr @__errno_location() #10
  store i32 %1531, ptr %1532, align 4, !tbaa !5
  %1533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1534 = load i32, ptr @test_count, align 4, !tbaa !5
  %1535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1536 = load i32, ptr %1535, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror(i32 noundef %1536, ptr noundef @.str.5)
  %1538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1539 = load i32, ptr %1538, align 4, !tbaa !5
  %1540 = call ptr @s2n_strerror_debug(i32 noundef %1539, ptr noundef @.str.5)
  %1541 = call ptr @__errno_location() #10
  %1542 = load i32, ptr %1541, align 4, !tbaa !5
  %1543 = call ptr @strerror(i32 noundef %1542) #9
  %1544 = call ptr @__errno_location() #10
  %1545 = load i32, ptr %1544, align 4, !tbaa !5
  %1546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1533, ptr noundef @.str.6, i32 noundef %1534, ptr noundef @.str.15, ptr noundef @.str.2, i32 noundef 75, ptr noundef %1537, ptr noundef %1540, ptr noundef %1543, i32 noundef %1545) #9
  br label %1547

1547:                                             ; preds = %1530, %1513
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1548

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

1549:                                             ; No predecessors!
  br label %1550

1550:                                             ; preds = %1549, %1493
  br label %1551

1551:                                             ; preds = %1550
  br label %1552

1552:                                             ; preds = %1551
  %1553 = load i32, ptr @test_count, align 4, !tbaa !5
  %1554 = add nsw i32 %1553, 1
  store i32 %1554, ptr @test_count, align 4, !tbaa !5
  %1555 = call ptr @s2n_strerror(i32 noundef 67108865, ptr noundef @.str.5)
  %1556 = call i32 @strcmp(ptr noundef %1555, ptr noundef @.str.10) #12
  %1557 = icmp eq i32 %1556, 0
  br i1 %1557, label %1609, label %1558

1558:                                             ; preds = %1552
  br label %1559

1559:                                             ; preds = %1558
  br label %1560

1560:                                             ; preds = %1559
  call void @llvm.lifetime.start.p0(i64 4, ptr %33) #9
  %1561 = call ptr @__errno_location() #10
  %1562 = load i32, ptr %1561, align 4, !tbaa !5
  store i32 %1562, ptr %33, align 4, !tbaa !5
  %1563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1564 = call i32 @s2n_print_stacktrace(ptr noundef %1563)
  %1565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1566 = trunc i8 %1565 to i1
  br i1 %1566, label %1567, label %1589

1567:                                             ; preds = %1560
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = call i32 @fileno(ptr noundef %1568) #9
  %1570 = call i32 @isatty(i32 noundef %1569) #9
  %1571 = icmp ne i32 %1570, 0
  br i1 %1571, label %1572, label %1589

1572:                                             ; preds = %1567
  %1573 = load i32, ptr %33, align 4, !tbaa !5
  %1574 = call ptr @__errno_location() #10
  store i32 %1573, ptr %1574, align 4, !tbaa !5
  %1575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1576 = load i32, ptr @test_count, align 4, !tbaa !5
  %1577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  %1579 = call ptr @s2n_strerror(i32 noundef %1578, ptr noundef @.str.5)
  %1580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1581 = load i32, ptr %1580, align 4, !tbaa !5
  %1582 = call ptr @s2n_strerror_debug(i32 noundef %1581, ptr noundef @.str.5)
  %1583 = call ptr @__errno_location() #10
  %1584 = load i32, ptr %1583, align 4, !tbaa !5
  %1585 = call ptr @strerror(i32 noundef %1584) #9
  %1586 = call ptr @__errno_location() #10
  %1587 = load i32, ptr %1586, align 4, !tbaa !5
  %1588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1575, ptr noundef @.str.3, i32 noundef %1576, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 76, ptr noundef %1579, ptr noundef %1582, ptr noundef %1585, i32 noundef %1587) #9
  br label %1606

1589:                                             ; preds = %1567, %1560
  %1590 = load i32, ptr %33, align 4, !tbaa !5
  %1591 = call ptr @__errno_location() #10
  store i32 %1590, ptr %1591, align 4, !tbaa !5
  %1592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1593 = load i32, ptr @test_count, align 4, !tbaa !5
  %1594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1595 = load i32, ptr %1594, align 4, !tbaa !5
  %1596 = call ptr @s2n_strerror(i32 noundef %1595, ptr noundef @.str.5)
  %1597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1598 = load i32, ptr %1597, align 4, !tbaa !5
  %1599 = call ptr @s2n_strerror_debug(i32 noundef %1598, ptr noundef @.str.5)
  %1600 = call ptr @__errno_location() #10
  %1601 = load i32, ptr %1600, align 4, !tbaa !5
  %1602 = call ptr @strerror(i32 noundef %1601) #9
  %1603 = call ptr @__errno_location() #10
  %1604 = load i32, ptr %1603, align 4, !tbaa !5
  %1605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1592, ptr noundef @.str.6, i32 noundef %1593, ptr noundef @.str.16, ptr noundef @.str.2, i32 noundef 76, ptr noundef %1596, ptr noundef %1599, ptr noundef %1602, i32 noundef %1604) #9
  br label %1606

1606:                                             ; preds = %1589, %1572
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1607

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

1608:                                             ; No predecessors!
  br label %1609

1609:                                             ; preds = %1608, %1552
  br label %1610

1610:                                             ; preds = %1609
  br label %1611

1611:                                             ; preds = %1610
  %1612 = load i32, ptr @test_count, align 4, !tbaa !5
  %1613 = add nsw i32 %1612, 1
  store i32 %1613, ptr @test_count, align 4, !tbaa !5
  %1614 = call ptr @s2n_strerror_name(i32 noundef 134217729)
  %1615 = call i32 @strcmp(ptr noundef %1614, ptr noundef @.str.10) #12
  %1616 = icmp eq i32 %1615, 0
  br i1 %1616, label %1668, label %1617

1617:                                             ; preds = %1611
  br label %1618

1618:                                             ; preds = %1617
  br label %1619

1619:                                             ; preds = %1618
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %1620 = call ptr @__errno_location() #10
  %1621 = load i32, ptr %1620, align 4, !tbaa !5
  store i32 %1621, ptr %34, align 4, !tbaa !5
  %1622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1623 = call i32 @s2n_print_stacktrace(ptr noundef %1622)
  %1624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1625 = trunc i8 %1624 to i1
  br i1 %1625, label %1626, label %1648

1626:                                             ; preds = %1619
  %1627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1628 = call i32 @fileno(ptr noundef %1627) #9
  %1629 = call i32 @isatty(i32 noundef %1628) #9
  %1630 = icmp ne i32 %1629, 0
  br i1 %1630, label %1631, label %1648

1631:                                             ; preds = %1626
  %1632 = load i32, ptr %34, align 4, !tbaa !5
  %1633 = call ptr @__errno_location() #10
  store i32 %1632, ptr %1633, align 4, !tbaa !5
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1637 = load i32, ptr %1636, align 4, !tbaa !5
  %1638 = call ptr @s2n_strerror(i32 noundef %1637, ptr noundef @.str.5)
  %1639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1640 = load i32, ptr %1639, align 4, !tbaa !5
  %1641 = call ptr @s2n_strerror_debug(i32 noundef %1640, ptr noundef @.str.5)
  %1642 = call ptr @__errno_location() #10
  %1643 = load i32, ptr %1642, align 4, !tbaa !5
  %1644 = call ptr @strerror(i32 noundef %1643) #9
  %1645 = call ptr @__errno_location() #10
  %1646 = load i32, ptr %1645, align 4, !tbaa !5
  %1647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1634, ptr noundef @.str.3, i32 noundef %1635, ptr noundef @.str.17, ptr noundef @.str.2, i32 noundef 78, ptr noundef %1638, ptr noundef %1641, ptr noundef %1644, i32 noundef %1646) #9
  br label %1665

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

1665:                                             ; preds = %1648, %1631
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1666

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

1667:                                             ; No predecessors!
  br label %1668

1668:                                             ; preds = %1667, %1611
  br label %1669

1669:                                             ; preds = %1668
  br label %1670

1670:                                             ; preds = %1669
  %1671 = load i32, ptr @test_count, align 4, !tbaa !5
  %1672 = add nsw i32 %1671, 1
  store i32 %1672, ptr @test_count, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror(i32 noundef 134217729, ptr noundef @.str.5)
  %1674 = call i32 @strcmp(ptr noundef %1673, ptr noundef @.str.10) #12
  %1675 = icmp eq i32 %1674, 0
  br i1 %1675, label %1727, label %1676

1676:                                             ; preds = %1670
  br label %1677

1677:                                             ; preds = %1676
  br label %1678

1678:                                             ; preds = %1677
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  %1679 = call ptr @__errno_location() #10
  %1680 = load i32, ptr %1679, align 4, !tbaa !5
  store i32 %1680, ptr %35, align 4, !tbaa !5
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = call i32 @s2n_print_stacktrace(ptr noundef %1681)
  %1683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1684 = trunc i8 %1683 to i1
  br i1 %1684, label %1685, label %1707

1685:                                             ; preds = %1678
  %1686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1687 = call i32 @fileno(ptr noundef %1686) #9
  %1688 = call i32 @isatty(i32 noundef %1687) #9
  %1689 = icmp ne i32 %1688, 0
  br i1 %1689, label %1690, label %1707

1690:                                             ; preds = %1685
  %1691 = load i32, ptr %35, align 4, !tbaa !5
  %1692 = call ptr @__errno_location() #10
  store i32 %1691, ptr %1692, align 4, !tbaa !5
  %1693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1694 = load i32, ptr @test_count, align 4, !tbaa !5
  %1695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1696 = load i32, ptr %1695, align 4, !tbaa !5
  %1697 = call ptr @s2n_strerror(i32 noundef %1696, ptr noundef @.str.5)
  %1698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1699 = load i32, ptr %1698, align 4, !tbaa !5
  %1700 = call ptr @s2n_strerror_debug(i32 noundef %1699, ptr noundef @.str.5)
  %1701 = call ptr @__errno_location() #10
  %1702 = load i32, ptr %1701, align 4, !tbaa !5
  %1703 = call ptr @strerror(i32 noundef %1702) #9
  %1704 = call ptr @__errno_location() #10
  %1705 = load i32, ptr %1704, align 4, !tbaa !5
  %1706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1693, ptr noundef @.str.3, i32 noundef %1694, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 79, ptr noundef %1697, ptr noundef %1700, ptr noundef %1703, i32 noundef %1705) #9
  br label %1724

1707:                                             ; preds = %1685, %1678
  %1708 = load i32, ptr %35, align 4, !tbaa !5
  %1709 = call ptr @__errno_location() #10
  store i32 %1708, ptr %1709, align 4, !tbaa !5
  %1710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1711 = load i32, ptr @test_count, align 4, !tbaa !5
  %1712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1713 = load i32, ptr %1712, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror(i32 noundef %1713, ptr noundef @.str.5)
  %1715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1716 = load i32, ptr %1715, align 4, !tbaa !5
  %1717 = call ptr @s2n_strerror_debug(i32 noundef %1716, ptr noundef @.str.5)
  %1718 = call ptr @__errno_location() #10
  %1719 = load i32, ptr %1718, align 4, !tbaa !5
  %1720 = call ptr @strerror(i32 noundef %1719) #9
  %1721 = call ptr @__errno_location() #10
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1710, ptr noundef @.str.6, i32 noundef %1711, ptr noundef @.str.18, ptr noundef @.str.2, i32 noundef 79, ptr noundef %1714, ptr noundef %1717, ptr noundef %1720, i32 noundef %1722) #9
  br label %1724

1724:                                             ; preds = %1707, %1690
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  br label %1725

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

1726:                                             ; No predecessors!
  br label %1727

1727:                                             ; preds = %1726, %1670
  br label %1728

1728:                                             ; preds = %1727
  br label %1729

1729:                                             ; preds = %1728
  %1730 = load i32, ptr @test_count, align 4, !tbaa !5
  %1731 = add nsw i32 %1730, 1
  store i32 %1731, ptr @test_count, align 4, !tbaa !5
  %1732 = call ptr @s2n_strerror_name(i32 noundef 201326596)
  %1733 = call i32 @strcmp(ptr noundef %1732, ptr noundef @.str.10) #12
  %1734 = icmp eq i32 %1733, 0
  br i1 %1734, label %1786, label %1735

1735:                                             ; preds = %1729
  br label %1736

1736:                                             ; preds = %1735
  br label %1737

1737:                                             ; preds = %1736
  call void @llvm.lifetime.start.p0(i64 4, ptr %36) #9
  %1738 = call ptr @__errno_location() #10
  %1739 = load i32, ptr %1738, align 4, !tbaa !5
  store i32 %1739, ptr %36, align 4, !tbaa !5
  %1740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1741 = call i32 @s2n_print_stacktrace(ptr noundef %1740)
  %1742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1743 = trunc i8 %1742 to i1
  br i1 %1743, label %1744, label %1766

1744:                                             ; preds = %1737
  %1745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1746 = call i32 @fileno(ptr noundef %1745) #9
  %1747 = call i32 @isatty(i32 noundef %1746) #9
  %1748 = icmp ne i32 %1747, 0
  br i1 %1748, label %1749, label %1766

1749:                                             ; preds = %1744
  %1750 = load i32, ptr %36, align 4, !tbaa !5
  %1751 = call ptr @__errno_location() #10
  store i32 %1750, ptr %1751, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = load i32, ptr @test_count, align 4, !tbaa !5
  %1754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1755 = load i32, ptr %1754, align 4, !tbaa !5
  %1756 = call ptr @s2n_strerror(i32 noundef %1755, ptr noundef @.str.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_debug(i32 noundef %1758, ptr noundef @.str.5)
  %1760 = call ptr @__errno_location() #10
  %1761 = load i32, ptr %1760, align 4, !tbaa !5
  %1762 = call ptr @strerror(i32 noundef %1761) #9
  %1763 = call ptr @__errno_location() #10
  %1764 = load i32, ptr %1763, align 4, !tbaa !5
  %1765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1752, ptr noundef @.str.3, i32 noundef %1753, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 81, ptr noundef %1756, ptr noundef %1759, ptr noundef %1762, i32 noundef %1764) #9
  br label %1783

1766:                                             ; preds = %1744, %1737
  %1767 = load i32, ptr %36, align 4, !tbaa !5
  %1768 = call ptr @__errno_location() #10
  store i32 %1767, ptr %1768, align 4, !tbaa !5
  %1769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1770 = load i32, ptr @test_count, align 4, !tbaa !5
  %1771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1772 = load i32, ptr %1771, align 4, !tbaa !5
  %1773 = call ptr @s2n_strerror(i32 noundef %1772, ptr noundef @.str.5)
  %1774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1775 = load i32, ptr %1774, align 4, !tbaa !5
  %1776 = call ptr @s2n_strerror_debug(i32 noundef %1775, ptr noundef @.str.5)
  %1777 = call ptr @__errno_location() #10
  %1778 = load i32, ptr %1777, align 4, !tbaa !5
  %1779 = call ptr @strerror(i32 noundef %1778) #9
  %1780 = call ptr @__errno_location() #10
  %1781 = load i32, ptr %1780, align 4, !tbaa !5
  %1782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1769, ptr noundef @.str.6, i32 noundef %1770, ptr noundef @.str.19, ptr noundef @.str.2, i32 noundef 81, ptr noundef %1773, ptr noundef %1776, ptr noundef %1779, i32 noundef %1781) #9
  br label %1783

1783:                                             ; preds = %1766, %1749
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #9
  br label %1784

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

1785:                                             ; No predecessors!
  br label %1786

1786:                                             ; preds = %1785, %1729
  br label %1787

1787:                                             ; preds = %1786
  br label %1788

1788:                                             ; preds = %1787
  %1789 = load i32, ptr @test_count, align 4, !tbaa !5
  %1790 = add nsw i32 %1789, 1
  store i32 %1790, ptr @test_count, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror(i32 noundef 201326596, ptr noundef @.str.5)
  %1792 = call i32 @strcmp(ptr noundef %1791, ptr noundef @.str.10) #12
  %1793 = icmp eq i32 %1792, 0
  br i1 %1793, label %1845, label %1794

1794:                                             ; preds = %1788
  br label %1795

1795:                                             ; preds = %1794
  br label %1796

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

1803:                                             ; preds = %1796
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = call i32 @fileno(ptr noundef %1804) #9
  %1806 = call i32 @isatty(i32 noundef %1805) #9
  %1807 = icmp ne i32 %1806, 0
  br i1 %1807, label %1808, label %1825

1808:                                             ; preds = %1803
  %1809 = load i32, ptr %37, align 4, !tbaa !5
  %1810 = call ptr @__errno_location() #10
  store i32 %1809, ptr %1810, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1814 = load i32, ptr %1813, align 4, !tbaa !5
  %1815 = call ptr @s2n_strerror(i32 noundef %1814, ptr noundef @.str.5)
  %1816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1817 = load i32, ptr %1816, align 4, !tbaa !5
  %1818 = call ptr @s2n_strerror_debug(i32 noundef %1817, ptr noundef @.str.5)
  %1819 = call ptr @__errno_location() #10
  %1820 = load i32, ptr %1819, align 4, !tbaa !5
  %1821 = call ptr @strerror(i32 noundef %1820) #9
  %1822 = call ptr @__errno_location() #10
  %1823 = load i32, ptr %1822, align 4, !tbaa !5
  %1824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1811, ptr noundef @.str.3, i32 noundef %1812, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 82, ptr noundef %1815, ptr noundef %1818, ptr noundef %1821, i32 noundef %1823) #9
  br label %1842

1825:                                             ; preds = %1803, %1796
  %1826 = load i32, ptr %37, align 4, !tbaa !5
  %1827 = call ptr @__errno_location() #10
  store i32 %1826, ptr %1827, align 4, !tbaa !5
  %1828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1829 = load i32, ptr @test_count, align 4, !tbaa !5
  %1830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1831 = load i32, ptr %1830, align 4, !tbaa !5
  %1832 = call ptr @s2n_strerror(i32 noundef %1831, ptr noundef @.str.5)
  %1833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1834 = load i32, ptr %1833, align 4, !tbaa !5
  %1835 = call ptr @s2n_strerror_debug(i32 noundef %1834, ptr noundef @.str.5)
  %1836 = call ptr @__errno_location() #10
  %1837 = load i32, ptr %1836, align 4, !tbaa !5
  %1838 = call ptr @strerror(i32 noundef %1837) #9
  %1839 = call ptr @__errno_location() #10
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  %1841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1828, ptr noundef @.str.6, i32 noundef %1829, ptr noundef @.str.20, ptr noundef @.str.2, i32 noundef 82, ptr noundef %1832, ptr noundef %1835, ptr noundef %1838, i32 noundef %1840) #9
  br label %1842

1842:                                             ; preds = %1825, %1808
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1843

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

1844:                                             ; No predecessors!
  br label %1845

1845:                                             ; preds = %1844, %1788
  br label %1846

1846:                                             ; preds = %1845
  br label %1847

1847:                                             ; preds = %1846
  %1848 = load i32, ptr @test_count, align 4, !tbaa !5
  %1849 = add nsw i32 %1848, 1
  store i32 %1849, ptr @test_count, align 4, !tbaa !5
  %1850 = call ptr @s2n_strerror_name(i32 noundef 268435457)
  %1851 = call i32 @strcmp(ptr noundef %1850, ptr noundef @.str.10) #12
  %1852 = icmp eq i32 %1851, 0
  br i1 %1852, label %1904, label %1853

1853:                                             ; preds = %1847
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1856 = call ptr @__errno_location() #10
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  store i32 %1857, ptr %38, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = call i32 @s2n_print_stacktrace(ptr noundef %1858)
  %1860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1861 = trunc i8 %1860 to i1
  br i1 %1861, label %1862, label %1884

1862:                                             ; preds = %1855
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @fileno(ptr noundef %1863) #9
  %1865 = call i32 @isatty(i32 noundef %1864) #9
  %1866 = icmp ne i32 %1865, 0
  br i1 %1866, label %1867, label %1884

1867:                                             ; preds = %1862
  %1868 = load i32, ptr %38, align 4, !tbaa !5
  %1869 = call ptr @__errno_location() #10
  store i32 %1868, ptr %1869, align 4, !tbaa !5
  %1870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1871 = load i32, ptr @test_count, align 4, !tbaa !5
  %1872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1873 = load i32, ptr %1872, align 4, !tbaa !5
  %1874 = call ptr @s2n_strerror(i32 noundef %1873, ptr noundef @.str.5)
  %1875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1876 = load i32, ptr %1875, align 4, !tbaa !5
  %1877 = call ptr @s2n_strerror_debug(i32 noundef %1876, ptr noundef @.str.5)
  %1878 = call ptr @__errno_location() #10
  %1879 = load i32, ptr %1878, align 4, !tbaa !5
  %1880 = call ptr @strerror(i32 noundef %1879) #9
  %1881 = call ptr @__errno_location() #10
  %1882 = load i32, ptr %1881, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1870, ptr noundef @.str.3, i32 noundef %1871, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 84, ptr noundef %1874, ptr noundef %1877, ptr noundef %1880, i32 noundef %1882) #9
  br label %1901

1884:                                             ; preds = %1862, %1855
  %1885 = load i32, ptr %38, align 4, !tbaa !5
  %1886 = call ptr @__errno_location() #10
  store i32 %1885, ptr %1886, align 4, !tbaa !5
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = call ptr @s2n_strerror(i32 noundef %1890, ptr noundef @.str.5)
  %1892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1893 = load i32, ptr %1892, align 4, !tbaa !5
  %1894 = call ptr @s2n_strerror_debug(i32 noundef %1893, ptr noundef @.str.5)
  %1895 = call ptr @__errno_location() #10
  %1896 = load i32, ptr %1895, align 4, !tbaa !5
  %1897 = call ptr @strerror(i32 noundef %1896) #9
  %1898 = call ptr @__errno_location() #10
  %1899 = load i32, ptr %1898, align 4, !tbaa !5
  %1900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1887, ptr noundef @.str.6, i32 noundef %1888, ptr noundef @.str.21, ptr noundef @.str.2, i32 noundef 84, ptr noundef %1891, ptr noundef %1894, ptr noundef %1897, i32 noundef %1899) #9
  br label %1901

1901:                                             ; preds = %1884, %1867
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1902

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

1903:                                             ; No predecessors!
  br label %1904

1904:                                             ; preds = %1903, %1847
  br label %1905

1905:                                             ; preds = %1904
  br label %1906

1906:                                             ; preds = %1905
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = add nsw i32 %1907, 1
  store i32 %1908, ptr @test_count, align 4, !tbaa !5
  %1909 = call ptr @s2n_strerror(i32 noundef 268435457, ptr noundef @.str.5)
  %1910 = call i32 @strcmp(ptr noundef %1909, ptr noundef @.str.10) #12
  %1911 = icmp eq i32 %1910, 0
  br i1 %1911, label %1963, label %1912

1912:                                             ; preds = %1906
  br label %1913

1913:                                             ; preds = %1912
  br label %1914

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

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

1926:                                             ; preds = %1921
  %1927 = load i32, ptr %39, align 4, !tbaa !5
  %1928 = call ptr @__errno_location() #10
  store i32 %1927, ptr %1928, align 4, !tbaa !5
  %1929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1932 = load i32, ptr %1931, align 4, !tbaa !5
  %1933 = call ptr @s2n_strerror(i32 noundef %1932, ptr noundef @.str.5)
  %1934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1935 = load i32, ptr %1934, align 4, !tbaa !5
  %1936 = call ptr @s2n_strerror_debug(i32 noundef %1935, ptr noundef @.str.5)
  %1937 = call ptr @__errno_location() #10
  %1938 = load i32, ptr %1937, align 4, !tbaa !5
  %1939 = call ptr @strerror(i32 noundef %1938) #9
  %1940 = call ptr @__errno_location() #10
  %1941 = load i32, ptr %1940, align 4, !tbaa !5
  %1942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1929, ptr noundef @.str.3, i32 noundef %1930, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 85, ptr noundef %1933, ptr noundef %1936, ptr noundef %1939, i32 noundef %1941) #9
  br label %1960

1943:                                             ; preds = %1921, %1914
  %1944 = load i32, ptr %39, align 4, !tbaa !5
  %1945 = call ptr @__errno_location() #10
  store i32 %1944, ptr %1945, align 4, !tbaa !5
  %1946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1947 = load i32, ptr @test_count, align 4, !tbaa !5
  %1948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1949 = load i32, ptr %1948, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror(i32 noundef %1949, ptr noundef @.str.5)
  %1951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1952 = load i32, ptr %1951, align 4, !tbaa !5
  %1953 = call ptr @s2n_strerror_debug(i32 noundef %1952, ptr noundef @.str.5)
  %1954 = call ptr @__errno_location() #10
  %1955 = load i32, ptr %1954, align 4, !tbaa !5
  %1956 = call ptr @strerror(i32 noundef %1955) #9
  %1957 = call ptr @__errno_location() #10
  %1958 = load i32, ptr %1957, align 4, !tbaa !5
  %1959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1946, ptr noundef @.str.6, i32 noundef %1947, ptr noundef @.str.22, ptr noundef @.str.2, i32 noundef 85, ptr noundef %1950, ptr noundef %1953, ptr noundef %1956, i32 noundef %1958) #9
  br label %1960

1960:                                             ; preds = %1943, %1926
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1961

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

1962:                                             ; No predecessors!
  br label %1963

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

1964:                                             ; preds = %1963
  br label %1965

1965:                                             ; preds = %1964
  %1966 = load i32, ptr @test_count, align 4, !tbaa !5
  %1967 = add nsw i32 %1966, 1
  store i32 %1967, ptr @test_count, align 4, !tbaa !5
  %1968 = call ptr @s2n_strerror_name(i32 noundef 335544400)
  %1969 = call i32 @strcmp(ptr noundef %1968, ptr noundef @.str.10) #12
  %1970 = icmp eq i32 %1969, 0
  br i1 %1970, label %2022, label %1971

1971:                                             ; preds = %1965
  br label %1972

1972:                                             ; preds = %1971
  br label %1973

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

1980:                                             ; preds = %1973
  %1981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1982 = call i32 @fileno(ptr noundef %1981) #9
  %1983 = call i32 @isatty(i32 noundef %1982) #9
  %1984 = icmp ne i32 %1983, 0
  br i1 %1984, label %1985, label %2002

1985:                                             ; preds = %1980
  %1986 = load i32, ptr %40, align 4, !tbaa !5
  %1987 = call ptr @__errno_location() #10
  store i32 %1986, ptr %1987, align 4, !tbaa !5
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = load i32, ptr @test_count, align 4, !tbaa !5
  %1990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1991 = load i32, ptr %1990, align 4, !tbaa !5
  %1992 = call ptr @s2n_strerror(i32 noundef %1991, ptr noundef @.str.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_debug(i32 noundef %1994, ptr noundef @.str.5)
  %1996 = call ptr @__errno_location() #10
  %1997 = load i32, ptr %1996, align 4, !tbaa !5
  %1998 = call ptr @strerror(i32 noundef %1997) #9
  %1999 = call ptr @__errno_location() #10
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1988, ptr noundef @.str.3, i32 noundef %1989, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 87, ptr noundef %1992, ptr noundef %1995, ptr noundef %1998, i32 noundef %2000) #9
  br label %2019

2002:                                             ; preds = %1980, %1973
  %2003 = load i32, ptr %40, align 4, !tbaa !5
  %2004 = call ptr @__errno_location() #10
  store i32 %2003, ptr %2004, align 4, !tbaa !5
  %2005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2006 = load i32, ptr @test_count, align 4, !tbaa !5
  %2007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2008 = load i32, ptr %2007, align 4, !tbaa !5
  %2009 = call ptr @s2n_strerror(i32 noundef %2008, ptr noundef @.str.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_debug(i32 noundef %2011, ptr noundef @.str.5)
  %2013 = call ptr @__errno_location() #10
  %2014 = load i32, ptr %2013, align 4, !tbaa !5
  %2015 = call ptr @strerror(i32 noundef %2014) #9
  %2016 = call ptr @__errno_location() #10
  %2017 = load i32, ptr %2016, align 4, !tbaa !5
  %2018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2005, ptr noundef @.str.6, i32 noundef %2006, ptr noundef @.str.23, ptr noundef @.str.2, i32 noundef 87, ptr noundef %2009, ptr noundef %2012, ptr noundef %2015, i32 noundef %2017) #9
  br label %2019

2019:                                             ; preds = %2002, %1985
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %2020

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

2021:                                             ; No predecessors!
  br label %2022

2022:                                             ; preds = %2021, %1965
  br label %2023

2023:                                             ; preds = %2022
  br label %2024

2024:                                             ; preds = %2023
  %2025 = load i32, ptr @test_count, align 4, !tbaa !5
  %2026 = add nsw i32 %2025, 1
  store i32 %2026, ptr @test_count, align 4, !tbaa !5
  %2027 = call ptr @s2n_strerror(i32 noundef 335544400, ptr noundef @.str.5)
  %2028 = call i32 @strcmp(ptr noundef %2027, ptr noundef @.str.10) #12
  %2029 = icmp eq i32 %2028, 0
  br i1 %2029, label %2081, label %2030

2030:                                             ; preds = %2024
  br label %2031

2031:                                             ; preds = %2030
  br label %2032

2032:                                             ; preds = %2031
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %2033 = call ptr @__errno_location() #10
  %2034 = load i32, ptr %2033, align 4, !tbaa !5
  store i32 %2034, ptr %41, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035)
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc i8 %2037 to i1
  br i1 %2038, label %2039, label %2061

2039:                                             ; preds = %2032
  %2040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2041 = call i32 @fileno(ptr noundef %2040) #9
  %2042 = call i32 @isatty(i32 noundef %2041) #9
  %2043 = icmp ne i32 %2042, 0
  br i1 %2043, label %2044, label %2061

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

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

2078:                                             ; preds = %2061, %2044
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %2079

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

2080:                                             ; No predecessors!
  br label %2081

2081:                                             ; preds = %2080, %2024
  br label %2082

2082:                                             ; preds = %2081
  br label %2083

2083:                                             ; preds = %2082
  %2084 = load i32, ptr @test_count, align 4, !tbaa !5
  %2085 = add nsw i32 %2084, 1
  store i32 %2085, ptr @test_count, align 4, !tbaa !5
  %2086 = call ptr @s2n_strerror_name(i32 noundef 402653274)
  %2087 = call i32 @strcmp(ptr noundef %2086, ptr noundef @.str.10) #12
  %2088 = icmp eq i32 %2087, 0
  br i1 %2088, label %2140, label %2089

2089:                                             ; preds = %2083
  br label %2090

2090:                                             ; preds = %2089
  br label %2091

2091:                                             ; preds = %2090
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %2092 = call ptr @__errno_location() #10
  %2093 = load i32, ptr %2092, align 4, !tbaa !5
  store i32 %2093, ptr %42, align 4, !tbaa !5
  %2094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2095 = call i32 @s2n_print_stacktrace(ptr noundef %2094)
  %2096 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2097 = trunc i8 %2096 to i1
  br i1 %2097, label %2098, label %2120

2098:                                             ; preds = %2091
  %2099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2100 = call i32 @fileno(ptr noundef %2099) #9
  %2101 = call i32 @isatty(i32 noundef %2100) #9
  %2102 = icmp ne i32 %2101, 0
  br i1 %2102, label %2103, label %2120

2103:                                             ; preds = %2098
  %2104 = load i32, ptr %42, align 4, !tbaa !5
  %2105 = call ptr @__errno_location() #10
  store i32 %2104, ptr %2105, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2109 = load i32, ptr %2108, align 4, !tbaa !5
  %2110 = call ptr @s2n_strerror(i32 noundef %2109, ptr noundef @.str.5)
  %2111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2112 = load i32, ptr %2111, align 4, !tbaa !5
  %2113 = call ptr @s2n_strerror_debug(i32 noundef %2112, ptr noundef @.str.5)
  %2114 = call ptr @__errno_location() #10
  %2115 = load i32, ptr %2114, align 4, !tbaa !5
  %2116 = call ptr @strerror(i32 noundef %2115) #9
  %2117 = call ptr @__errno_location() #10
  %2118 = load i32, ptr %2117, align 4, !tbaa !5
  %2119 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2106, ptr noundef @.str.3, i32 noundef %2107, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 90, ptr noundef %2110, ptr noundef %2113, ptr noundef %2116, i32 noundef %2118) #9
  br label %2137

2120:                                             ; preds = %2098, %2091
  %2121 = load i32, ptr %42, align 4, !tbaa !5
  %2122 = call ptr @__errno_location() #10
  store i32 %2121, ptr %2122, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = load i32, ptr @test_count, align 4, !tbaa !5
  %2125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2126 = load i32, ptr %2125, align 4, !tbaa !5
  %2127 = call ptr @s2n_strerror(i32 noundef %2126, ptr noundef @.str.5)
  %2128 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2129 = load i32, ptr %2128, align 4, !tbaa !5
  %2130 = call ptr @s2n_strerror_debug(i32 noundef %2129, ptr noundef @.str.5)
  %2131 = call ptr @__errno_location() #10
  %2132 = load i32, ptr %2131, align 4, !tbaa !5
  %2133 = call ptr @strerror(i32 noundef %2132) #9
  %2134 = call ptr @__errno_location() #10
  %2135 = load i32, ptr %2134, align 4, !tbaa !5
  %2136 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2123, ptr noundef @.str.6, i32 noundef %2124, ptr noundef @.str.25, ptr noundef @.str.2, i32 noundef 90, ptr noundef %2127, ptr noundef %2130, ptr noundef %2133, i32 noundef %2135) #9
  br label %2137

2137:                                             ; preds = %2120, %2103
  call void @llvm.lifetime.end.p0(i64 4, ptr %42) #9
  br label %2138

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

2139:                                             ; No predecessors!
  br label %2140

2140:                                             ; preds = %2139, %2083
  br label %2141

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  %2143 = load i32, ptr @test_count, align 4, !tbaa !5
  %2144 = add nsw i32 %2143, 1
  store i32 %2144, ptr @test_count, align 4, !tbaa !5
  %2145 = call ptr @s2n_strerror(i32 noundef 402653274, ptr noundef @.str.5)
  %2146 = call i32 @strcmp(ptr noundef %2145, ptr noundef @.str.10) #12
  %2147 = icmp eq i32 %2146, 0
  br i1 %2147, label %2199, label %2148

2148:                                             ; preds = %2142
  br label %2149

2149:                                             ; preds = %2148
  br label %2150

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

2157:                                             ; preds = %2150
  %2158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2159 = call i32 @fileno(ptr noundef %2158) #9
  %2160 = call i32 @isatty(i32 noundef %2159) #9
  %2161 = icmp ne i32 %2160, 0
  br i1 %2161, label %2162, label %2179

2162:                                             ; preds = %2157
  %2163 = load i32, ptr %43, align 4, !tbaa !5
  %2164 = call ptr @__errno_location() #10
  store i32 %2163, ptr %2164, align 4, !tbaa !5
  %2165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2166 = load i32, ptr @test_count, align 4, !tbaa !5
  %2167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2168 = load i32, ptr %2167, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror(i32 noundef %2168, ptr noundef @.str.5)
  %2170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2171 = load i32, ptr %2170, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef %2171, ptr noundef @.str.5)
  %2173 = call ptr @__errno_location() #10
  %2174 = load i32, ptr %2173, align 4, !tbaa !5
  %2175 = call ptr @strerror(i32 noundef %2174) #9
  %2176 = call ptr @__errno_location() #10
  %2177 = load i32, ptr %2176, align 4, !tbaa !5
  %2178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2165, ptr noundef @.str.3, i32 noundef %2166, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 91, ptr noundef %2169, ptr noundef %2172, ptr noundef %2175, i32 noundef %2177) #9
  br label %2196

2179:                                             ; preds = %2157, %2150
  %2180 = load i32, ptr %43, align 4, !tbaa !5
  %2181 = call ptr @__errno_location() #10
  store i32 %2180, ptr %2181, align 4, !tbaa !5
  %2182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2183 = load i32, ptr @test_count, align 4, !tbaa !5
  %2184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2185 = load i32, ptr %2184, align 4, !tbaa !5
  %2186 = call ptr @s2n_strerror(i32 noundef %2185, ptr noundef @.str.5)
  %2187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2188 = load i32, ptr %2187, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror_debug(i32 noundef %2188, ptr noundef @.str.5)
  %2190 = call ptr @__errno_location() #10
  %2191 = load i32, ptr %2190, align 4, !tbaa !5
  %2192 = call ptr @strerror(i32 noundef %2191) #9
  %2193 = call ptr @__errno_location() #10
  %2194 = load i32, ptr %2193, align 4, !tbaa !5
  %2195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2182, ptr noundef @.str.6, i32 noundef %2183, ptr noundef @.str.26, ptr noundef @.str.2, i32 noundef 91, ptr noundef %2186, ptr noundef %2189, ptr noundef %2192, i32 noundef %2194) #9
  br label %2196

2196:                                             ; preds = %2179, %2162
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %2197

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

2198:                                             ; No predecessors!
  br label %2199

2199:                                             ; preds = %2198, %2142
  br label %2200

2200:                                             ; preds = %2199
  br label %2201

2201:                                             ; preds = %2200
  %2202 = load i32, ptr @test_count, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %2204 = call ptr @s2n_strerror_name(i32 noundef 469762138)
  %2205 = call i32 @strcmp(ptr noundef %2204, ptr noundef @.str.10) #12
  %2206 = icmp eq i32 %2205, 0
  br i1 %2206, label %2258, label %2207

2207:                                             ; preds = %2201
  br label %2208

2208:                                             ; preds = %2207
  br label %2209

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

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

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

2238:                                             ; preds = %2216, %2209
  %2239 = load i32, ptr %44, align 4, !tbaa !5
  %2240 = call ptr @__errno_location() #10
  store i32 %2239, ptr %2240, align 4, !tbaa !5
  %2241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2242 = load i32, ptr @test_count, align 4, !tbaa !5
  %2243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2244 = load i32, ptr %2243, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror(i32 noundef %2244, ptr noundef @.str.5)
  %2246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2247 = load i32, ptr %2246, align 4, !tbaa !5
  %2248 = call ptr @s2n_strerror_debug(i32 noundef %2247, ptr noundef @.str.5)
  %2249 = call ptr @__errno_location() #10
  %2250 = load i32, ptr %2249, align 4, !tbaa !5
  %2251 = call ptr @strerror(i32 noundef %2250) #9
  %2252 = call ptr @__errno_location() #10
  %2253 = load i32, ptr %2252, align 4, !tbaa !5
  %2254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2241, ptr noundef @.str.6, i32 noundef %2242, ptr noundef @.str.27, ptr noundef @.str.2, i32 noundef 93, ptr noundef %2245, ptr noundef %2248, ptr noundef %2251, i32 noundef %2253) #9
  br label %2255

2255:                                             ; preds = %2238, %2221
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %2256

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

2257:                                             ; No predecessors!
  br label %2258

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

2259:                                             ; preds = %2258
  br label %2260

2260:                                             ; preds = %2259
  %2261 = load i32, ptr @test_count, align 4, !tbaa !5
  %2262 = add nsw i32 %2261, 1
  store i32 %2262, ptr @test_count, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror(i32 noundef 469762138, ptr noundef @.str.5)
  %2264 = call i32 @strcmp(ptr noundef %2263, ptr noundef @.str.10) #12
  %2265 = icmp eq i32 %2264, 0
  br i1 %2265, label %2317, label %2266

2266:                                             ; preds = %2260
  br label %2267

2267:                                             ; preds = %2266
  br label %2268

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

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

2280:                                             ; preds = %2275
  %2281 = load i32, ptr %45, align 4, !tbaa !5
  %2282 = call ptr @__errno_location() #10
  store i32 %2281, ptr %2282, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = load i32, ptr @test_count, align 4, !tbaa !5
  %2285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror(i32 noundef %2286, ptr noundef @.str.5)
  %2288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2289 = load i32, ptr %2288, align 4, !tbaa !5
  %2290 = call ptr @s2n_strerror_debug(i32 noundef %2289, ptr noundef @.str.5)
  %2291 = call ptr @__errno_location() #10
  %2292 = load i32, ptr %2291, align 4, !tbaa !5
  %2293 = call ptr @strerror(i32 noundef %2292) #9
  %2294 = call ptr @__errno_location() #10
  %2295 = load i32, ptr %2294, align 4, !tbaa !5
  %2296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2283, ptr noundef @.str.3, i32 noundef %2284, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 94, ptr noundef %2287, ptr noundef %2290, ptr noundef %2293, i32 noundef %2295) #9
  br label %2314

2297:                                             ; preds = %2275, %2268
  %2298 = load i32, ptr %45, align 4, !tbaa !5
  %2299 = call ptr @__errno_location() #10
  store i32 %2298, ptr %2299, align 4, !tbaa !5
  %2300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2301 = load i32, ptr @test_count, align 4, !tbaa !5
  %2302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2303 = load i32, ptr %2302, align 4, !tbaa !5
  %2304 = call ptr @s2n_strerror(i32 noundef %2303, ptr noundef @.str.5)
  %2305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2306 = load i32, ptr %2305, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror_debug(i32 noundef %2306, ptr noundef @.str.5)
  %2308 = call ptr @__errno_location() #10
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @strerror(i32 noundef %2309) #9
  %2311 = call ptr @__errno_location() #10
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2300, ptr noundef @.str.6, i32 noundef %2301, ptr noundef @.str.28, ptr noundef @.str.2, i32 noundef 94, ptr noundef %2304, ptr noundef %2307, ptr noundef %2310, i32 noundef %2312) #9
  br label %2314

2314:                                             ; preds = %2297, %2280
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %2315

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

2316:                                             ; No predecessors!
  br label %2317

2317:                                             ; preds = %2316, %2260
  br label %2318

2318:                                             ; preds = %2317
  br label %2319

2319:                                             ; preds = %2318
  %2320 = load i32, ptr @test_count, align 4, !tbaa !5
  %2321 = add nsw i32 %2320, 1
  store i32 %2321, ptr @test_count, align 4, !tbaa !5
  %2322 = call ptr @s2n_strerror_name(i32 noundef 536870912)
  %2323 = call i32 @strcmp(ptr noundef %2322, ptr noundef @.str.10) #12
  %2324 = icmp eq i32 %2323, 0
  br i1 %2324, label %2376, label %2325

2325:                                             ; preds = %2319
  br label %2326

2326:                                             ; preds = %2325
  br label %2327

2327:                                             ; preds = %2326
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  %2328 = call ptr @__errno_location() #10
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  store i32 %2329, ptr %46, align 4, !tbaa !5
  %2330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2331 = call i32 @s2n_print_stacktrace(ptr noundef %2330)
  %2332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2333 = trunc i8 %2332 to i1
  br i1 %2333, label %2334, label %2356

2334:                                             ; preds = %2327
  %2335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2336 = call i32 @fileno(ptr noundef %2335) #9
  %2337 = call i32 @isatty(i32 noundef %2336) #9
  %2338 = icmp ne i32 %2337, 0
  br i1 %2338, label %2339, label %2356

2339:                                             ; preds = %2334
  %2340 = load i32, ptr %46, align 4, !tbaa !5
  %2341 = call ptr @__errno_location() #10
  store i32 %2340, ptr %2341, align 4, !tbaa !5
  %2342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2343 = load i32, ptr @test_count, align 4, !tbaa !5
  %2344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2345 = load i32, ptr %2344, align 4, !tbaa !5
  %2346 = call ptr @s2n_strerror(i32 noundef %2345, ptr noundef @.str.5)
  %2347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2348 = load i32, ptr %2347, align 4, !tbaa !5
  %2349 = call ptr @s2n_strerror_debug(i32 noundef %2348, ptr noundef @.str.5)
  %2350 = call ptr @__errno_location() #10
  %2351 = load i32, ptr %2350, align 4, !tbaa !5
  %2352 = call ptr @strerror(i32 noundef %2351) #9
  %2353 = call ptr @__errno_location() #10
  %2354 = load i32, ptr %2353, align 4, !tbaa !5
  %2355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2342, ptr noundef @.str.3, i32 noundef %2343, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 97, ptr noundef %2346, ptr noundef %2349, ptr noundef %2352, i32 noundef %2354) #9
  br label %2373

2356:                                             ; preds = %2334, %2327
  %2357 = load i32, ptr %46, align 4, !tbaa !5
  %2358 = call ptr @__errno_location() #10
  store i32 %2357, ptr %2358, align 4, !tbaa !5
  %2359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2360 = load i32, ptr @test_count, align 4, !tbaa !5
  %2361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2362 = load i32, ptr %2361, align 4, !tbaa !5
  %2363 = call ptr @s2n_strerror(i32 noundef %2362, ptr noundef @.str.5)
  %2364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2365 = load i32, ptr %2364, align 4, !tbaa !5
  %2366 = call ptr @s2n_strerror_debug(i32 noundef %2365, ptr noundef @.str.5)
  %2367 = call ptr @__errno_location() #10
  %2368 = load i32, ptr %2367, align 4, !tbaa !5
  %2369 = call ptr @strerror(i32 noundef %2368) #9
  %2370 = call ptr @__errno_location() #10
  %2371 = load i32, ptr %2370, align 4, !tbaa !5
  %2372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2359, ptr noundef @.str.6, i32 noundef %2360, ptr noundef @.str.29, ptr noundef @.str.2, i32 noundef 97, ptr noundef %2363, ptr noundef %2366, ptr noundef %2369, i32 noundef %2371) #9
  br label %2373

2373:                                             ; preds = %2356, %2339
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %2374

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

2375:                                             ; No predecessors!
  br label %2376

2376:                                             ; preds = %2375, %2319
  br label %2377

2377:                                             ; preds = %2376
  br label %2378

2378:                                             ; preds = %2377
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = add nsw i32 %2379, 1
  store i32 %2380, ptr @test_count, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef 536870912, ptr noundef @.str.5)
  %2382 = call i32 @strcmp(ptr noundef %2381, ptr noundef @.str.10) #12
  %2383 = icmp eq i32 %2382, 0
  br i1 %2383, label %2435, label %2384

2384:                                             ; preds = %2378
  br label %2385

2385:                                             ; preds = %2384
  br label %2386

2386:                                             ; preds = %2385
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %2387 = call ptr @__errno_location() #10
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  store i32 %2388, ptr %47, align 4, !tbaa !5
  %2389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2390 = call i32 @s2n_print_stacktrace(ptr noundef %2389)
  %2391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2392 = trunc i8 %2391 to i1
  br i1 %2392, label %2393, label %2415

2393:                                             ; preds = %2386
  %2394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2395 = call i32 @fileno(ptr noundef %2394) #9
  %2396 = call i32 @isatty(i32 noundef %2395) #9
  %2397 = icmp ne i32 %2396, 0
  br i1 %2397, label %2398, label %2415

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

2415:                                             ; preds = %2393, %2386
  %2416 = load i32, ptr %47, align 4, !tbaa !5
  %2417 = call ptr @__errno_location() #10
  store i32 %2416, ptr %2417, align 4, !tbaa !5
  %2418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2421 = load i32, ptr %2420, align 4, !tbaa !5
  %2422 = call ptr @s2n_strerror(i32 noundef %2421, ptr noundef @.str.5)
  %2423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2424 = load i32, ptr %2423, align 4, !tbaa !5
  %2425 = call ptr @s2n_strerror_debug(i32 noundef %2424, ptr noundef @.str.5)
  %2426 = call ptr @__errno_location() #10
  %2427 = load i32, ptr %2426, align 4, !tbaa !5
  %2428 = call ptr @strerror(i32 noundef %2427) #9
  %2429 = call ptr @__errno_location() #10
  %2430 = load i32, ptr %2429, align 4, !tbaa !5
  %2431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2418, ptr noundef @.str.6, i32 noundef %2419, ptr noundef @.str.30, ptr noundef @.str.2, i32 noundef 98, ptr noundef %2422, ptr noundef %2425, ptr noundef %2428, i32 noundef %2430) #9
  br label %2432

2432:                                             ; preds = %2415, %2398
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2433

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

2434:                                             ; No predecessors!
  br label %2435

2435:                                             ; preds = %2434, %2378
  br label %2436

2436:                                             ; preds = %2435
  %2437 = call i32 @test_function(i1 noundef zeroext false)
  %2438 = getelementptr inbounds %struct.s2n_result, ptr %48, i32 0, i32 0
  store i32 %2437, ptr %2438, align 4
  %2439 = getelementptr inbounds %struct.s2n_result, ptr %48, i32 0, i32 0
  %2440 = load i32, ptr %2439, align 4
  call void @s2n_result_ignore(i32 %2440)
  br label %2441

2441:                                             ; preds = %2436
  %2442 = load i32, ptr @test_count, align 4, !tbaa !5
  %2443 = add nsw i32 %2442, 1
  store i32 %2443, ptr @test_count, align 4, !tbaa !5
  %2444 = call ptr @s2n_strerror_source(i32 noundef 402653194)
  %2445 = call i32 @strcmp(ptr noundef %2444, ptr noundef @.str.31) #12
  %2446 = icmp eq i32 %2445, 0
  br i1 %2446, label %2498, label %2447

2447:                                             ; preds = %2441
  br label %2448

2448:                                             ; preds = %2447
  br label %2449

2449:                                             ; preds = %2448
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %2450 = call ptr @__errno_location() #10
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  store i32 %2451, ptr %49, align 4, !tbaa !5
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @s2n_print_stacktrace(ptr noundef %2452)
  %2454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2455 = trunc i8 %2454 to i1
  br i1 %2455, label %2456, label %2478

2456:                                             ; preds = %2449
  %2457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2458 = call i32 @fileno(ptr noundef %2457) #9
  %2459 = call i32 @isatty(i32 noundef %2458) #9
  %2460 = icmp ne i32 %2459, 0
  br i1 %2460, label %2461, label %2478

2461:                                             ; preds = %2456
  %2462 = load i32, ptr %49, align 4, !tbaa !5
  %2463 = call ptr @__errno_location() #10
  store i32 %2462, ptr %2463, align 4, !tbaa !5
  %2464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2465 = load i32, ptr @test_count, align 4, !tbaa !5
  %2466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2467 = load i32, ptr %2466, align 4, !tbaa !5
  %2468 = call ptr @s2n_strerror(i32 noundef %2467, ptr noundef @.str.5)
  %2469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2470 = load i32, ptr %2469, align 4, !tbaa !5
  %2471 = call ptr @s2n_strerror_debug(i32 noundef %2470, ptr noundef @.str.5)
  %2472 = call ptr @__errno_location() #10
  %2473 = load i32, ptr %2472, align 4, !tbaa !5
  %2474 = call ptr @strerror(i32 noundef %2473) #9
  %2475 = call ptr @__errno_location() #10
  %2476 = load i32, ptr %2475, align 4, !tbaa !5
  %2477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2464, ptr noundef @.str.3, i32 noundef %2465, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 102, ptr noundef %2468, ptr noundef %2471, ptr noundef %2474, i32 noundef %2476) #9
  br label %2495

2478:                                             ; preds = %2456, %2449
  %2479 = load i32, ptr %49, align 4, !tbaa !5
  %2480 = call ptr @__errno_location() #10
  store i32 %2479, ptr %2480, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = load i32, ptr @test_count, align 4, !tbaa !5
  %2483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2484 = load i32, ptr %2483, align 4, !tbaa !5
  %2485 = call ptr @s2n_strerror(i32 noundef %2484, ptr noundef @.str.5)
  %2486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2487 = load i32, ptr %2486, align 4, !tbaa !5
  %2488 = call ptr @s2n_strerror_debug(i32 noundef %2487, ptr noundef @.str.5)
  %2489 = call ptr @__errno_location() #10
  %2490 = load i32, ptr %2489, align 4, !tbaa !5
  %2491 = call ptr @strerror(i32 noundef %2490) #9
  %2492 = call ptr @__errno_location() #10
  %2493 = load i32, ptr %2492, align 4, !tbaa !5
  %2494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2481, ptr noundef @.str.6, i32 noundef %2482, ptr noundef @.str.32, ptr noundef @.str.2, i32 noundef 102, ptr noundef %2485, ptr noundef %2488, ptr noundef %2491, i32 noundef %2493) #9
  br label %2495

2495:                                             ; preds = %2478, %2461
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2496

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

2497:                                             ; No predecessors!
  br label %2498

2498:                                             ; preds = %2497, %2441
  br label %2499

2499:                                             ; preds = %2498
  br label %2500

2500:                                             ; preds = %2499
  %2501 = load i32, ptr @test_count, align 4, !tbaa !5
  %2502 = add nsw i32 %2501, 1
  store i32 %2502, ptr @test_count, align 4, !tbaa !5
  %2503 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.33, i64 21), i32 noundef 47) #12
  %2504 = icmp ne ptr %2503, null
  br i1 %2504, label %2505, label %2508

2505:                                             ; preds = %2500
  %2506 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.33, i64 21), i32 noundef 47) #12
  %2507 = getelementptr inbounds i8, ptr %2506, i64 1
  br label %2509

2508:                                             ; preds = %2500
  br label %2509

2509:                                             ; preds = %2508, %2505
  %2510 = phi ptr [ %2507, %2505 ], [ getelementptr inbounds (i8, ptr @.str.33, i64 21), %2508 ]
  %2511 = call i32 @strcmp(ptr noundef %2510, ptr noundef @.str.34) #12
  %2512 = icmp eq i32 %2511, 0
  br i1 %2512, label %2564, label %2513

2513:                                             ; preds = %2509
  br label %2514

2514:                                             ; preds = %2513
  br label %2515

2515:                                             ; preds = %2514
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %2516 = call ptr @__errno_location() #10
  %2517 = load i32, ptr %2516, align 4, !tbaa !5
  store i32 %2517, ptr %50, align 4, !tbaa !5
  %2518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2519 = call i32 @s2n_print_stacktrace(ptr noundef %2518)
  %2520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2521 = trunc i8 %2520 to i1
  br i1 %2521, label %2522, label %2544

2522:                                             ; preds = %2515
  %2523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2524 = call i32 @fileno(ptr noundef %2523) #9
  %2525 = call i32 @isatty(i32 noundef %2524) #9
  %2526 = icmp ne i32 %2525, 0
  br i1 %2526, label %2527, label %2544

2527:                                             ; preds = %2522
  %2528 = load i32, ptr %50, align 4, !tbaa !5
  %2529 = call ptr @__errno_location() #10
  store i32 %2528, ptr %2529, align 4, !tbaa !5
  %2530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2531 = load i32, ptr @test_count, align 4, !tbaa !5
  %2532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @s2n_strerror(i32 noundef %2533, ptr noundef @.str.5)
  %2535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call ptr @s2n_strerror_debug(i32 noundef %2536, ptr noundef @.str.5)
  %2538 = call ptr @__errno_location() #10
  %2539 = load i32, ptr %2538, align 4, !tbaa !5
  %2540 = call ptr @strerror(i32 noundef %2539) #9
  %2541 = call ptr @__errno_location() #10
  %2542 = load i32, ptr %2541, align 4, !tbaa !5
  %2543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2530, ptr noundef @.str.3, i32 noundef %2531, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 104, ptr noundef %2534, ptr noundef %2537, ptr noundef %2540, i32 noundef %2542) #9
  br label %2561

2544:                                             ; preds = %2522, %2515
  %2545 = load i32, ptr %50, align 4, !tbaa !5
  %2546 = call ptr @__errno_location() #10
  store i32 %2545, ptr %2546, align 4, !tbaa !5
  %2547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2548 = load i32, ptr @test_count, align 4, !tbaa !5
  %2549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  %2551 = call ptr @s2n_strerror(i32 noundef %2550, ptr noundef @.str.5)
  %2552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2553 = load i32, ptr %2552, align 4, !tbaa !5
  %2554 = call ptr @s2n_strerror_debug(i32 noundef %2553, ptr noundef @.str.5)
  %2555 = call ptr @__errno_location() #10
  %2556 = load i32, ptr %2555, align 4, !tbaa !5
  %2557 = call ptr @strerror(i32 noundef %2556) #9
  %2558 = call ptr @__errno_location() #10
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2547, ptr noundef @.str.6, i32 noundef %2548, ptr noundef @.str.35, ptr noundef @.str.2, i32 noundef 104, ptr noundef %2551, ptr noundef %2554, ptr noundef %2557, i32 noundef %2559) #9
  br label %2561

2561:                                             ; preds = %2544, %2527
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %2562

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

2563:                                             ; No predecessors!
  br label %2564

2564:                                             ; preds = %2563, %2509
  br label %2565

2565:                                             ; preds = %2564
  br label %2566

2566:                                             ; preds = %2565
  %2567 = load i32, ptr @test_count, align 4, !tbaa !5
  %2568 = add nsw i32 %2567, 1
  store i32 %2568, ptr @test_count, align 4, !tbaa !5
  %2569 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.36, i64 21), i32 noundef 47) #12
  %2570 = icmp ne ptr %2569, null
  br i1 %2570, label %2571, label %2574

2571:                                             ; preds = %2566
  %2572 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.36, i64 21), i32 noundef 47) #12
  %2573 = getelementptr inbounds i8, ptr %2572, i64 1
  br label %2575

2574:                                             ; preds = %2566
  br label %2575

2575:                                             ; preds = %2574, %2571
  %2576 = phi ptr [ %2573, %2571 ], [ getelementptr inbounds (i8, ptr @.str.36, i64 21), %2574 ]
  %2577 = call i32 @strcmp(ptr noundef %2576, ptr noundef @.str.34) #12
  %2578 = icmp eq i32 %2577, 0
  br i1 %2578, label %2630, label %2579

2579:                                             ; preds = %2575
  br label %2580

2580:                                             ; preds = %2579
  br label %2581

2581:                                             ; preds = %2580
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %2582 = call ptr @__errno_location() #10
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  store i32 %2583, ptr %51, align 4, !tbaa !5
  %2584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2585 = call i32 @s2n_print_stacktrace(ptr noundef %2584)
  %2586 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2587 = trunc i8 %2586 to i1
  br i1 %2587, label %2588, label %2610

2588:                                             ; preds = %2581
  %2589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2590 = call i32 @fileno(ptr noundef %2589) #9
  %2591 = call i32 @isatty(i32 noundef %2590) #9
  %2592 = icmp ne i32 %2591, 0
  br i1 %2592, label %2593, label %2610

2593:                                             ; preds = %2588
  %2594 = load i32, ptr %51, align 4, !tbaa !5
  %2595 = call ptr @__errno_location() #10
  store i32 %2594, ptr %2595, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call ptr @s2n_strerror(i32 noundef %2599, ptr noundef @.str.5)
  %2601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2602 = load i32, ptr %2601, align 4, !tbaa !5
  %2603 = call ptr @s2n_strerror_debug(i32 noundef %2602, ptr noundef @.str.5)
  %2604 = call ptr @__errno_location() #10
  %2605 = load i32, ptr %2604, align 4, !tbaa !5
  %2606 = call ptr @strerror(i32 noundef %2605) #9
  %2607 = call ptr @__errno_location() #10
  %2608 = load i32, ptr %2607, align 4, !tbaa !5
  %2609 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef @.str.3, i32 noundef %2597, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 105, ptr noundef %2600, ptr noundef %2603, ptr noundef %2606, i32 noundef %2608) #9
  br label %2627

2610:                                             ; preds = %2588, %2581
  %2611 = load i32, ptr %51, align 4, !tbaa !5
  %2612 = call ptr @__errno_location() #10
  store i32 %2611, ptr %2612, align 4, !tbaa !5
  %2613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2614 = load i32, ptr @test_count, align 4, !tbaa !5
  %2615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2616 = load i32, ptr %2615, align 4, !tbaa !5
  %2617 = call ptr @s2n_strerror(i32 noundef %2616, ptr noundef @.str.5)
  %2618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2619 = load i32, ptr %2618, align 4, !tbaa !5
  %2620 = call ptr @s2n_strerror_debug(i32 noundef %2619, ptr noundef @.str.5)
  %2621 = call ptr @__errno_location() #10
  %2622 = load i32, ptr %2621, align 4, !tbaa !5
  %2623 = call ptr @strerror(i32 noundef %2622) #9
  %2624 = call ptr @__errno_location() #10
  %2625 = load i32, ptr %2624, align 4, !tbaa !5
  %2626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2613, ptr noundef @.str.6, i32 noundef %2614, ptr noundef @.str.37, ptr noundef @.str.2, i32 noundef 105, ptr noundef %2617, ptr noundef %2620, ptr noundef %2623, i32 noundef %2625) #9
  br label %2627

2627:                                             ; preds = %2610, %2593
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2628

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

2629:                                             ; No predecessors!
  br label %2630

2630:                                             ; preds = %2629, %2575
  br label %2631

2631:                                             ; preds = %2630
  br label %2632

2632:                                             ; preds = %2631
  %2633 = load i32, ptr @test_count, align 4, !tbaa !5
  %2634 = add nsw i32 %2633, 1
  store i32 %2634, ptr @test_count, align 4, !tbaa !5
  %2635 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.38, i64 21), i32 noundef 47) #12
  %2636 = icmp ne ptr %2635, null
  br i1 %2636, label %2637, label %2640

2637:                                             ; preds = %2632
  %2638 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.38, i64 21), i32 noundef 47) #12
  %2639 = getelementptr inbounds i8, ptr %2638, i64 1
  br label %2641

2640:                                             ; preds = %2632
  br label %2641

2641:                                             ; preds = %2640, %2637
  %2642 = phi ptr [ %2639, %2637 ], [ getelementptr inbounds (i8, ptr @.str.38, i64 21), %2640 ]
  %2643 = call i32 @strcmp(ptr noundef %2642, ptr noundef @.str.34) #12
  %2644 = icmp eq i32 %2643, 0
  br i1 %2644, label %2696, label %2645

2645:                                             ; preds = %2641
  br label %2646

2646:                                             ; preds = %2645
  br label %2647

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

2654:                                             ; preds = %2647
  %2655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2656 = call i32 @fileno(ptr noundef %2655) #9
  %2657 = call i32 @isatty(i32 noundef %2656) #9
  %2658 = icmp ne i32 %2657, 0
  br i1 %2658, label %2659, label %2676

2659:                                             ; preds = %2654
  %2660 = load i32, ptr %52, align 4, !tbaa !5
  %2661 = call ptr @__errno_location() #10
  store i32 %2660, ptr %2661, align 4, !tbaa !5
  %2662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2663 = load i32, ptr @test_count, align 4, !tbaa !5
  %2664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2665 = load i32, ptr %2664, align 4, !tbaa !5
  %2666 = call ptr @s2n_strerror(i32 noundef %2665, ptr noundef @.str.5)
  %2667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2668 = load i32, ptr %2667, align 4, !tbaa !5
  %2669 = call ptr @s2n_strerror_debug(i32 noundef %2668, ptr noundef @.str.5)
  %2670 = call ptr @__errno_location() #10
  %2671 = load i32, ptr %2670, align 4, !tbaa !5
  %2672 = call ptr @strerror(i32 noundef %2671) #9
  %2673 = call ptr @__errno_location() #10
  %2674 = load i32, ptr %2673, align 4, !tbaa !5
  %2675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2662, ptr noundef @.str.3, i32 noundef %2663, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 106, ptr noundef %2666, ptr noundef %2669, ptr noundef %2672, i32 noundef %2674) #9
  br label %2693

2676:                                             ; preds = %2654, %2647
  %2677 = load i32, ptr %52, align 4, !tbaa !5
  %2678 = call ptr @__errno_location() #10
  store i32 %2677, ptr %2678, align 4, !tbaa !5
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = load i32, ptr @test_count, align 4, !tbaa !5
  %2681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2682 = load i32, ptr %2681, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror(i32 noundef %2682, ptr noundef @.str.5)
  %2684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2685 = load i32, ptr %2684, align 4, !tbaa !5
  %2686 = call ptr @s2n_strerror_debug(i32 noundef %2685, ptr noundef @.str.5)
  %2687 = call ptr @__errno_location() #10
  %2688 = load i32, ptr %2687, align 4, !tbaa !5
  %2689 = call ptr @strerror(i32 noundef %2688) #9
  %2690 = call ptr @__errno_location() #10
  %2691 = load i32, ptr %2690, align 4, !tbaa !5
  %2692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2679, ptr noundef @.str.6, i32 noundef %2680, ptr noundef @.str.39, ptr noundef @.str.2, i32 noundef 106, ptr noundef %2683, ptr noundef %2686, ptr noundef %2689, i32 noundef %2691) #9
  br label %2693

2693:                                             ; preds = %2676, %2659
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2694

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

2695:                                             ; No predecessors!
  br label %2696

2696:                                             ; preds = %2695, %2641
  br label %2697

2697:                                             ; preds = %2696
  br label %2698

2698:                                             ; preds = %2697
  %2699 = load i32, ptr @test_count, align 4, !tbaa !5
  %2700 = add nsw i32 %2699, 1
  store i32 %2700, ptr @test_count, align 4, !tbaa !5
  %2701 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.40, i64 21), i32 noundef 47) #12
  %2702 = icmp ne ptr %2701, null
  br i1 %2702, label %2703, label %2706

2703:                                             ; preds = %2698
  %2704 = call ptr @strrchr(ptr noundef getelementptr inbounds (i8, ptr @.str.40, i64 21), i32 noundef 47) #12
  %2705 = getelementptr inbounds i8, ptr %2704, i64 1
  br label %2707

2706:                                             ; preds = %2698
  br label %2707

2707:                                             ; preds = %2706, %2703
  %2708 = phi ptr [ %2705, %2703 ], [ getelementptr inbounds (i8, ptr @.str.40, i64 21), %2706 ]
  %2709 = call i32 @strcmp(ptr noundef %2708, ptr noundef @.str.34) #12
  %2710 = icmp eq i32 %2709, 0
  br i1 %2710, label %2762, label %2711

2711:                                             ; preds = %2707
  br label %2712

2712:                                             ; preds = %2711
  br label %2713

2713:                                             ; preds = %2712
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  %2714 = call ptr @__errno_location() #10
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  store i32 %2715, ptr %53, 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) #9
  %2723 = call i32 @isatty(i32 noundef %2722) #9
  %2724 = icmp ne i32 %2723, 0
  br i1 %2724, label %2725, label %2742

2725:                                             ; preds = %2720
  %2726 = load i32, ptr %53, align 4, !tbaa !5
  %2727 = call ptr @__errno_location() #10
  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.5)
  %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.5)
  %2736 = call ptr @__errno_location() #10
  %2737 = load i32, ptr %2736, align 4, !tbaa !5
  %2738 = call ptr @strerror(i32 noundef %2737) #9
  %2739 = call ptr @__errno_location() #10
  %2740 = load i32, ptr %2739, align 4, !tbaa !5
  %2741 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2728, ptr noundef @.str.3, i32 noundef %2729, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 107, ptr noundef %2732, ptr noundef %2735, ptr noundef %2738, i32 noundef %2740) #9
  br label %2759

2742:                                             ; preds = %2720, %2713
  %2743 = load i32, ptr %53, align 4, !tbaa !5
  %2744 = call ptr @__errno_location() #10
  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.5)
  %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.5)
  %2753 = call ptr @__errno_location() #10
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call ptr @strerror(i32 noundef %2754) #9
  %2756 = call ptr @__errno_location() #10
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2745, ptr noundef @.str.6, i32 noundef %2746, ptr noundef @.str.41, ptr noundef @.str.2, i32 noundef 107, ptr noundef %2749, ptr noundef %2752, ptr noundef %2755, i32 noundef %2757) #9
  br label %2759

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

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

2761:                                             ; No predecessors!
  br label %2762

2762:                                             ; preds = %2761, %2707
  br label %2763

2763:                                             ; preds = %2762
  br label %2764

2764:                                             ; preds = %2763
  %2765 = load i32, ptr @test_count, align 4, !tbaa !5
  %2766 = add nsw i32 %2765, 1
  store i32 %2766, ptr @test_count, align 4, !tbaa !5
  %2767 = call i32 @s2n_cleanup()
  %2768 = icmp eq i32 %2767, -1
  br i1 %2768, label %2769, label %2820

2769:                                             ; preds = %2764
  br label %2770

2770:                                             ; preds = %2769
  br label %2771

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

2778:                                             ; preds = %2771
  %2779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2780 = call i32 @fileno(ptr noundef %2779) #9
  %2781 = call i32 @isatty(i32 noundef %2780) #9
  %2782 = icmp ne i32 %2781, 0
  br i1 %2782, label %2783, label %2800

2783:                                             ; preds = %2778
  %2784 = load i32, ptr %54, align 4, !tbaa !5
  %2785 = call ptr @__errno_location() #10
  store i32 %2784, ptr %2785, align 4, !tbaa !5
  %2786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2787 = load i32, ptr @test_count, align 4, !tbaa !5
  %2788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2789 = load i32, ptr %2788, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror(i32 noundef %2789, ptr noundef @.str.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_debug(i32 noundef %2792, ptr noundef @.str.5)
  %2794 = call ptr @__errno_location() #10
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @strerror(i32 noundef %2795) #9
  %2797 = call ptr @__errno_location() #10
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2786, ptr noundef @.str.3, i32 noundef %2787, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 110, ptr noundef %2790, ptr noundef %2793, ptr noundef %2796, i32 noundef %2798) #9
  br label %2817

2800:                                             ; preds = %2778, %2771
  %2801 = load i32, ptr %54, align 4, !tbaa !5
  %2802 = call ptr @__errno_location() #10
  store i32 %2801, ptr %2802, align 4, !tbaa !5
  %2803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2804 = load i32, ptr @test_count, align 4, !tbaa !5
  %2805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2806 = load i32, ptr %2805, align 4, !tbaa !5
  %2807 = call ptr @s2n_strerror(i32 noundef %2806, ptr noundef @.str.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_debug(i32 noundef %2809, ptr noundef @.str.5)
  %2811 = call ptr @__errno_location() #10
  %2812 = load i32, ptr %2811, align 4, !tbaa !5
  %2813 = call ptr @strerror(i32 noundef %2812) #9
  %2814 = call ptr @__errno_location() #10
  %2815 = load i32, ptr %2814, align 4, !tbaa !5
  %2816 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2803, ptr noundef @.str.6, i32 noundef %2804, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 110, ptr noundef %2807, ptr noundef %2810, ptr noundef %2813, i32 noundef %2815) #9
  br label %2817

2817:                                             ; preds = %2800, %2783
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2818

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

2819:                                             ; No predecessors!
  br label %2820

2820:                                             ; preds = %2819, %2764
  br label %2821

2821:                                             ; preds = %2820
  br label %2822

2822:                                             ; preds = %2821
  %2823 = load i32, ptr @test_count, align 4, !tbaa !5
  %2824 = add nsw i32 %2823, 1
  store i32 %2824, ptr @test_count, align 4, !tbaa !5
  %2825 = call ptr @s2n_strerror_name(i32 noundef 0)
  %2826 = call i32 @strcmp(ptr noundef %2825, ptr noundef @.str.43) #12
  %2827 = icmp eq i32 %2826, 0
  br i1 %2827, label %2879, label %2828

2828:                                             ; preds = %2822
  br label %2829

2829:                                             ; preds = %2828
  br label %2830

2830:                                             ; preds = %2829
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  %2831 = call ptr @__errno_location() #10
  %2832 = load i32, ptr %2831, align 4, !tbaa !5
  store i32 %2832, ptr %55, align 4, !tbaa !5
  %2833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2834 = call i32 @s2n_print_stacktrace(ptr noundef %2833)
  %2835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2836 = trunc i8 %2835 to i1
  br i1 %2836, label %2837, label %2859

2837:                                             ; preds = %2830
  %2838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2839 = call i32 @fileno(ptr noundef %2838) #9
  %2840 = call i32 @isatty(i32 noundef %2839) #9
  %2841 = icmp ne i32 %2840, 0
  br i1 %2841, label %2842, label %2859

2842:                                             ; preds = %2837
  %2843 = load i32, ptr %55, align 4, !tbaa !5
  %2844 = call ptr @__errno_location() #10
  store i32 %2843, ptr %2844, align 4, !tbaa !5
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = load i32, ptr @test_count, align 4, !tbaa !5
  %2847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2848 = load i32, ptr %2847, align 4, !tbaa !5
  %2849 = call ptr @s2n_strerror(i32 noundef %2848, ptr noundef @.str.5)
  %2850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2851 = load i32, ptr %2850, align 4, !tbaa !5
  %2852 = call ptr @s2n_strerror_debug(i32 noundef %2851, ptr noundef @.str.5)
  %2853 = call ptr @__errno_location() #10
  %2854 = load i32, ptr %2853, align 4, !tbaa !5
  %2855 = call ptr @strerror(i32 noundef %2854) #9
  %2856 = call ptr @__errno_location() #10
  %2857 = load i32, ptr %2856, align 4, !tbaa !5
  %2858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2845, ptr noundef @.str.3, i32 noundef %2846, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 112, ptr noundef %2849, ptr noundef %2852, ptr noundef %2855, i32 noundef %2857) #9
  br label %2876

2859:                                             ; preds = %2837, %2830
  %2860 = load i32, ptr %55, align 4, !tbaa !5
  %2861 = call ptr @__errno_location() #10
  store i32 %2860, ptr %2861, align 4, !tbaa !5
  %2862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2863 = load i32, ptr @test_count, align 4, !tbaa !5
  %2864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  %2866 = call ptr @s2n_strerror(i32 noundef %2865, ptr noundef @.str.5)
  %2867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2868 = load i32, ptr %2867, align 4, !tbaa !5
  %2869 = call ptr @s2n_strerror_debug(i32 noundef %2868, ptr noundef @.str.5)
  %2870 = call ptr @__errno_location() #10
  %2871 = load i32, ptr %2870, align 4, !tbaa !5
  %2872 = call ptr @strerror(i32 noundef %2871) #9
  %2873 = call ptr @__errno_location() #10
  %2874 = load i32, ptr %2873, align 4, !tbaa !5
  %2875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2862, ptr noundef @.str.6, i32 noundef %2863, ptr noundef @.str.44, ptr noundef @.str.2, i32 noundef 112, ptr noundef %2866, ptr noundef %2869, ptr noundef %2872, i32 noundef %2874) #9
  br label %2876

2876:                                             ; preds = %2859, %2842
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %2877

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

2878:                                             ; No predecessors!
  br label %2879

2879:                                             ; preds = %2878, %2822
  br label %2880

2880:                                             ; preds = %2879
  br label %2881

2881:                                             ; preds = %2880
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = add nsw i32 %2882, 1
  store i32 %2883, ptr @test_count, align 4, !tbaa !5
  %2884 = call ptr @s2n_strerror(i32 noundef 0, ptr noundef @.str.5)
  %2885 = call i32 @strcmp(ptr noundef %2884, ptr noundef @.str.45) #12
  %2886 = icmp eq i32 %2885, 0
  br i1 %2886, label %2938, label %2887

2887:                                             ; preds = %2881
  br label %2888

2888:                                             ; preds = %2887
  br label %2889

2889:                                             ; preds = %2888
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2890 = call ptr @__errno_location() #10
  %2891 = load i32, ptr %2890, align 4, !tbaa !5
  store i32 %2891, ptr %56, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = call i32 @s2n_print_stacktrace(ptr noundef %2892)
  %2894 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2895 = trunc i8 %2894 to i1
  br i1 %2895, label %2896, label %2918

2896:                                             ; preds = %2889
  %2897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2898 = call i32 @fileno(ptr noundef %2897) #9
  %2899 = call i32 @isatty(i32 noundef %2898) #9
  %2900 = icmp ne i32 %2899, 0
  br i1 %2900, label %2901, label %2918

2901:                                             ; preds = %2896
  %2902 = load i32, ptr %56, align 4, !tbaa !5
  %2903 = call ptr @__errno_location() #10
  store i32 %2902, ptr %2903, align 4, !tbaa !5
  %2904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2905 = load i32, ptr @test_count, align 4, !tbaa !5
  %2906 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call ptr @s2n_strerror(i32 noundef %2907, ptr noundef @.str.5)
  %2909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2910 = load i32, ptr %2909, align 4, !tbaa !5
  %2911 = call ptr @s2n_strerror_debug(i32 noundef %2910, ptr noundef @.str.5)
  %2912 = call ptr @__errno_location() #10
  %2913 = load i32, ptr %2912, align 4, !tbaa !5
  %2914 = call ptr @strerror(i32 noundef %2913) #9
  %2915 = call ptr @__errno_location() #10
  %2916 = load i32, ptr %2915, align 4, !tbaa !5
  %2917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2904, ptr noundef @.str.3, i32 noundef %2905, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 113, ptr noundef %2908, ptr noundef %2911, ptr noundef %2914, i32 noundef %2916) #9
  br label %2935

2918:                                             ; preds = %2896, %2889
  %2919 = load i32, ptr %56, align 4, !tbaa !5
  %2920 = call ptr @__errno_location() #10
  store i32 %2919, ptr %2920, align 4, !tbaa !5
  %2921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2922 = load i32, ptr @test_count, align 4, !tbaa !5
  %2923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2924 = load i32, ptr %2923, align 4, !tbaa !5
  %2925 = call ptr @s2n_strerror(i32 noundef %2924, ptr noundef @.str.5)
  %2926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2927 = load i32, ptr %2926, align 4, !tbaa !5
  %2928 = call ptr @s2n_strerror_debug(i32 noundef %2927, ptr noundef @.str.5)
  %2929 = call ptr @__errno_location() #10
  %2930 = load i32, ptr %2929, align 4, !tbaa !5
  %2931 = call ptr @strerror(i32 noundef %2930) #9
  %2932 = call ptr @__errno_location() #10
  %2933 = load i32, ptr %2932, align 4, !tbaa !5
  %2934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2921, ptr noundef @.str.6, i32 noundef %2922, ptr noundef @.str.46, ptr noundef @.str.2, i32 noundef 113, ptr noundef %2925, ptr noundef %2928, ptr noundef %2931, i32 noundef %2933) #9
  br label %2935

2935:                                             ; preds = %2918, %2901
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2936

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

2937:                                             ; No predecessors!
  br label %2938

2938:                                             ; preds = %2937, %2881
  br label %2939

2939:                                             ; preds = %2938
  br label %2940

2940:                                             ; preds = %2939
  br label %2941

2941:                                             ; preds = %2940
  %2942 = call i32 @s2n_cleanup()
  %2943 = icmp eq i32 %2942, -1
  br i1 %2943, label %2944, label %2995

2944:                                             ; preds = %2941
  br label %2945

2945:                                             ; preds = %2944
  br label %2946

2946:                                             ; preds = %2945
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2947 = call ptr @__errno_location() #10
  %2948 = load i32, ptr %2947, align 4, !tbaa !5
  store i32 %2948, ptr %57, align 4, !tbaa !5
  %2949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2950 = call i32 @s2n_print_stacktrace(ptr noundef %2949)
  %2951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2952 = trunc i8 %2951 to i1
  br i1 %2952, label %2953, label %2975

2953:                                             ; preds = %2946
  %2954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2955 = call i32 @fileno(ptr noundef %2954) #9
  %2956 = call i32 @isatty(i32 noundef %2955) #9
  %2957 = icmp ne i32 %2956, 0
  br i1 %2957, label %2958, label %2975

2958:                                             ; preds = %2953
  %2959 = load i32, ptr %57, align 4, !tbaa !5
  %2960 = call ptr @__errno_location() #10
  store i32 %2959, ptr %2960, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = load i32, ptr @test_count, align 4, !tbaa !5
  %2963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2964 = load i32, ptr %2963, align 4, !tbaa !5
  %2965 = call ptr @s2n_strerror(i32 noundef %2964, ptr noundef @.str.5)
  %2966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2967 = load i32, ptr %2966, align 4, !tbaa !5
  %2968 = call ptr @s2n_strerror_debug(i32 noundef %2967, ptr noundef @.str.5)
  %2969 = call ptr @__errno_location() #10
  %2970 = load i32, ptr %2969, align 4, !tbaa !5
  %2971 = call ptr @strerror(i32 noundef %2970) #9
  %2972 = call ptr @__errno_location() #10
  %2973 = load i32, ptr %2972, align 4, !tbaa !5
  %2974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2961, ptr noundef @.str.3, i32 noundef %2962, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 115, ptr noundef %2965, ptr noundef %2968, ptr noundef %2971, i32 noundef %2973) #9
  br label %2992

2975:                                             ; preds = %2953, %2946
  %2976 = load i32, ptr %57, align 4, !tbaa !5
  %2977 = call ptr @__errno_location() #10
  store i32 %2976, ptr %2977, align 4, !tbaa !5
  %2978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2979 = load i32, ptr @test_count, align 4, !tbaa !5
  %2980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2981 = load i32, ptr %2980, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror(i32 noundef %2981, ptr noundef @.str.5)
  %2983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2984 = load i32, ptr %2983, align 4, !tbaa !5
  %2985 = call ptr @s2n_strerror_debug(i32 noundef %2984, ptr noundef @.str.5)
  %2986 = call ptr @__errno_location() #10
  %2987 = load i32, ptr %2986, align 4, !tbaa !5
  %2988 = call ptr @strerror(i32 noundef %2987) #9
  %2989 = call ptr @__errno_location() #10
  %2990 = load i32, ptr %2989, align 4, !tbaa !5
  %2991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2978, ptr noundef @.str.6, i32 noundef %2979, ptr noundef @.str.42, ptr noundef @.str.2, i32 noundef 115, ptr noundef %2982, ptr noundef %2985, ptr noundef %2988, i32 noundef %2990) #9
  br label %2992

2992:                                             ; preds = %2975, %2958
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2993

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

2994:                                             ; No predecessors!
  br label %2995

2995:                                             ; preds = %2994, %2941
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

2997:                                             ; preds = %2996
  br label %2998

2998:                                             ; preds = %2997
  %2999 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %3000 = icmp eq i32 %2999, -1
  br i1 %3000, label %3001, label %3052

3001:                                             ; preds = %2998
  br label %3002

3002:                                             ; preds = %3001
  br label %3003

3003:                                             ; preds = %3002
  call void @llvm.lifetime.start.p0(i64 4, ptr %58) #9
  %3004 = call ptr @__errno_location() #10
  %3005 = load i32, ptr %3004, align 4, !tbaa !5
  store i32 %3005, ptr %58, align 4, !tbaa !5
  %3006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3007 = call i32 @s2n_print_stacktrace(ptr noundef %3006)
  %3008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3009 = trunc i8 %3008 to i1
  br i1 %3009, label %3010, label %3032

3010:                                             ; preds = %3003
  %3011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3012 = call i32 @fileno(ptr noundef %3011) #9
  %3013 = call i32 @isatty(i32 noundef %3012) #9
  %3014 = icmp ne i32 %3013, 0
  br i1 %3014, label %3015, label %3032

3015:                                             ; preds = %3010
  %3016 = load i32, ptr %58, align 4, !tbaa !5
  %3017 = call ptr @__errno_location() #10
  store i32 %3016, ptr %3017, align 4, !tbaa !5
  %3018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3019 = load i32, ptr @test_count, align 4, !tbaa !5
  %3020 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = call ptr @s2n_strerror(i32 noundef %3021, ptr noundef @.str.5)
  %3023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  %3025 = call ptr @s2n_strerror_debug(i32 noundef %3024, ptr noundef @.str.5)
  %3026 = call ptr @__errno_location() #10
  %3027 = load i32, ptr %3026, align 4, !tbaa !5
  %3028 = call ptr @strerror(i32 noundef %3027) #9
  %3029 = call ptr @__errno_location() #10
  %3030 = load i32, ptr %3029, align 4, !tbaa !5
  %3031 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3018, ptr noundef @.str.3, i32 noundef %3019, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 115, ptr noundef %3022, ptr noundef %3025, ptr noundef %3028, i32 noundef %3030) #9
  br label %3049

3032:                                             ; preds = %3010, %3003
  %3033 = load i32, ptr %58, align 4, !tbaa !5
  %3034 = call ptr @__errno_location() #10
  store i32 %3033, ptr %3034, align 4, !tbaa !5
  %3035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3036 = load i32, ptr @test_count, align 4, !tbaa !5
  %3037 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3038 = load i32, ptr %3037, align 4, !tbaa !5
  %3039 = call ptr @s2n_strerror(i32 noundef %3038, ptr noundef @.str.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_debug(i32 noundef %3041, ptr noundef @.str.5)
  %3043 = call ptr @__errno_location() #10
  %3044 = load i32, ptr %3043, align 4, !tbaa !5
  %3045 = call ptr @strerror(i32 noundef %3044) #9
  %3046 = call ptr @__errno_location() #10
  %3047 = load i32, ptr %3046, align 4, !tbaa !5
  %3048 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3035, ptr noundef @.str.6, i32 noundef %3036, ptr noundef @.str.47, ptr noundef @.str.2, i32 noundef 115, ptr noundef %3039, ptr noundef %3042, ptr noundef %3045, i32 noundef %3047) #9
  br label %3049

3049:                                             ; preds = %3032, %3015
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #9
  br label %3050

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

3051:                                             ; No predecessors!
  br label %3052

3052:                                             ; preds = %3051, %2998
  br label %3053

3053:                                             ; preds = %3052
  %3054 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3055 = trunc i8 %3054 to i1
  br i1 %3055, label %3056, label %3072

3056:                                             ; preds = %3053
  %3057 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3058 = call i32 @fileno(ptr noundef %3057) #9
  %3059 = call i32 @isatty(i32 noundef %3058) #9
  %3060 = icmp ne i32 %3059, 0
  br i1 %3060, label %3061, label %3072

3061:                                             ; preds = %3056
  %3062 = load i32, ptr @test_count, align 4, !tbaa !5
  %3063 = icmp ne i32 %3062, 0
  br i1 %3063, label %3064, label %3068

3064:                                             ; preds = %3061
  %3065 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3066 = load i32, ptr @test_count, align 4, !tbaa !5
  %3067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3065, ptr noundef @.str.48, i32 noundef %3066) #9
  br label %3071

3068:                                             ; preds = %3061
  %3069 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3069, ptr noundef @.str.49) #9
  br label %3071

3071:                                             ; preds = %3068, %3064
  br label %3083

3072:                                             ; preds = %3056, %3053
  %3073 = load i32, ptr @test_count, align 4, !tbaa !5
  %3074 = icmp ne i32 %3073, 0
  br i1 %3074, label %3075, label %3079

3075:                                             ; preds = %3072
  %3076 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3077 = load i32, ptr @test_count, align 4, !tbaa !5
  %3078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3076, ptr noundef @.str.50, i32 noundef %3077) #9
  br label %3082

3079:                                             ; preds = %3072
  %3080 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3080, ptr noundef @.str.51) #9
  br label %3082

3082:                                             ; preds = %3079, %3075
  br label %3083

3083:                                             ; preds = %3082, %3071
  store i32 0, ptr %1, align 4
  br label %3085

3084:                                             ; No predecessors!
  br label %3085

3085:                                             ; preds = %3084, %3083
  %3086 = load i32, ptr %1, align 4
  ret i32 %3086
}

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

declare i32 @fflush(ptr noundef) #4

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #4

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #4

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #4

declare i32 @s2n_init() #4

declare i32 @s2n_disable_tls13_in_test(...) #4

; Function Attrs: nounwind willreturn memory(read)
declare i32 @strcmp(ptr noundef, ptr noundef) #2

declare ptr @s2n_strerror_name(i32 noundef) #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @s2n_result_ignore(i32) #8

declare ptr @s2n_strerror_source(i32 noundef) #4

declare i32 @s2n_cleanup() #4

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


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

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str.1 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.2 = external hidden unnamed_addr constant [80 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.3 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.4 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [93 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [27 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [7 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [347 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [45 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [344 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [359 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [28 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [293 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [11 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [73 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
declare dso_local i32 @test_function(i1 noundef zeroext) local_unnamed_addr #0

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

; Function Attrs: mustprogress nofree nounwind willreturn memory(argmem: read)
declare ptr @strrchr(ptr noundef, i32 noundef) local_unnamed_addr #2

; Function Attrs: nounwind uwtable
define dso_local noundef i32 @main() local_unnamed_addr #0 {
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %1 = load ptr, ptr @stdout, align 8, !tbaa !9
  %2 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1, ptr noundef nonnull @.str.1, ptr noundef nonnull @.str.2) #9
  %3 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4 = tail call i32 @fflush(ptr noundef %3)
  %5 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #9
  %6 = icmp eq i32 %5, -1
  br i1 %6, label %7, label %31

7:                                                ; preds = %0
  %8 = tail call ptr @__errno_location() #10
  %9 = load i32, ptr %8, align 4, !tbaa !5
  %10 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11 = tail call i32 @s2n_print_stacktrace(ptr noundef %10) #9
  %12 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13 = trunc nuw i8 %12 to i1
  br i1 %13, label %14, label %18

14:                                               ; preds = %7
  %15 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16 = tail call i32 @fileno(ptr noundef %15) #9
  %17 = tail call i32 @isatty(i32 noundef %16) #9
  %.not195 = icmp eq i32 %17, 0
  br i1 %.not195, label %18, label %19

18:                                               ; preds = %14, %7
  br label %19

19:                                               ; preds = %14, %18
  %.str.6.sink = phi ptr [ @.str.6, %18 ], [ @.str.3, %14 ]
  store i32 %9, ptr %8, align 4, !tbaa !5
  %20 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21 = load i32, ptr @test_count, align 4, !tbaa !5
  %22 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23 = load i32, ptr %22, align 4, !tbaa !5
  %24 = tail call ptr @s2n_strerror(i32 noundef %23, ptr noundef nonnull @.str.5) #9
  %25 = load i32, ptr %22, align 4, !tbaa !5
  %26 = tail call ptr @s2n_strerror_debug(i32 noundef %25, ptr noundef nonnull @.str.5) #9
  %27 = load i32, ptr %8, align 4, !tbaa !5
  %28 = tail call ptr @strerror(i32 noundef %27) #9
  %29 = load i32, ptr %8, align 4, !tbaa !5
  %30 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20, ptr noundef nonnull %.str.6.sink, i32 noundef %21, ptr noundef nonnull @.str.4, ptr noundef nonnull @.str.2, i32 noundef 34, ptr noundef %24, ptr noundef %26, ptr noundef %28, i32 noundef %29) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

31:                                               ; preds = %0
  %32 = load i32, ptr @test_count, align 4, !tbaa !5
  %33 = add nsw i32 %32, 1
  store i32 %33, ptr @test_count, align 4, !tbaa !5
  %34 = tail call i32 @s2n_enable_atexit() #9
  %35 = icmp eq i32 %34, -1
  br i1 %35, label %36, label %60

36:                                               ; preds = %31
  %37 = tail call ptr @__errno_location() #10
  %38 = load i32, ptr %37, align 4, !tbaa !5
  %39 = load ptr, ptr @stderr, align 8, !tbaa !9
  %40 = tail call i32 @s2n_print_stacktrace(ptr noundef %39) #9
  %41 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %42 = trunc nuw i8 %41 to i1
  br i1 %42, label %43, label %47

43:                                               ; preds = %36
  %44 = load ptr, ptr @stderr, align 8, !tbaa !9
  %45 = tail call i32 @fileno(ptr noundef %44) #9
  %46 = tail call i32 @isatty(i32 noundef %45) #9
  %.not194 = icmp eq i32 %46, 0
  br i1 %.not194, label %47, label %48

47:                                               ; preds = %43, %36
  br label %48

48:                                               ; preds = %43, %47
  %.str.6.sink217 = phi ptr [ @.str.6, %47 ], [ @.str.3, %43 ]
  store i32 %38, ptr %37, align 4, !tbaa !5
  %49 = load ptr, ptr @stderr, align 8, !tbaa !9
  %50 = load i32, ptr @test_count, align 4, !tbaa !5
  %51 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %52 = load i32, ptr %51, align 4, !tbaa !5
  %53 = tail call ptr @s2n_strerror(i32 noundef %52, ptr noundef nonnull @.str.5) #9
  %54 = load i32, ptr %51, align 4, !tbaa !5
  %55 = tail call ptr @s2n_strerror_debug(i32 noundef %54, ptr noundef nonnull @.str.5) #9
  %56 = load i32, ptr %37, align 4, !tbaa !5
  %57 = tail call ptr @strerror(i32 noundef %56) #9
  %58 = load i32, ptr %37, align 4, !tbaa !5
  %59 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %49, ptr noundef nonnull %.str.6.sink217, i32 noundef %50, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.2, i32 noundef 34, ptr noundef %53, ptr noundef %55, ptr noundef %57, i32 noundef %58) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

60:                                               ; preds = %31
  %61 = tail call i32 @s2n_init() #9
  %62 = icmp eq i32 %61, -1
  br i1 %62, label %63, label %87

63:                                               ; preds = %60
  %64 = tail call ptr @__errno_location() #10
  %65 = load i32, ptr %64, align 4, !tbaa !5
  %66 = load ptr, ptr @stderr, align 8, !tbaa !9
  %67 = tail call i32 @s2n_print_stacktrace(ptr noundef %66) #9
  %68 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %69 = trunc nuw i8 %68 to i1
  br i1 %69, label %70, label %74

70:                                               ; preds = %63
  %71 = load ptr, ptr @stderr, align 8, !tbaa !9
  %72 = tail call i32 @fileno(ptr noundef %71) #9
  %73 = tail call i32 @isatty(i32 noundef %72) #9
  %.not193 = icmp eq i32 %73, 0
  br i1 %.not193, label %74, label %75

74:                                               ; preds = %70, %63
  br label %75

75:                                               ; preds = %70, %74
  %.str.6.sink228 = phi ptr [ @.str.6, %74 ], [ @.str.3, %70 ]
  store i32 %65, ptr %64, align 4, !tbaa !5
  %76 = load ptr, ptr @stderr, align 8, !tbaa !9
  %77 = load i32, ptr @test_count, align 4, !tbaa !5
  %78 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %79 = load i32, ptr %78, align 4, !tbaa !5
  %80 = tail call ptr @s2n_strerror(i32 noundef %79, ptr noundef nonnull @.str.5) #9
  %81 = load i32, ptr %78, align 4, !tbaa !5
  %82 = tail call ptr @s2n_strerror_debug(i32 noundef %81, ptr noundef nonnull @.str.5) #9
  %83 = load i32, ptr %64, align 4, !tbaa !5
  %84 = tail call ptr @strerror(i32 noundef %83) #9
  %85 = load i32, ptr %64, align 4, !tbaa !5
  %86 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %76, ptr noundef nonnull %.str.6.sink228, i32 noundef %77, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.2, i32 noundef 34, ptr noundef %80, ptr noundef %82, ptr noundef %84, i32 noundef %85) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

87:                                               ; preds = %60
  %88 = load i32, ptr @test_count, align 4, !tbaa !5
  %89 = add nsw i32 %88, 1
  store i32 %89, ptr @test_count, align 4, !tbaa !5
  %90 = tail call i32 (...) @s2n_disable_tls13_in_test() #9
  %91 = icmp eq i32 %90, -1
  br i1 %91, label %92, label %116

92:                                               ; preds = %87
  %93 = tail call ptr @__errno_location() #10
  %94 = load i32, ptr %93, align 4, !tbaa !5
  %95 = load ptr, ptr @stderr, align 8, !tbaa !9
  %96 = tail call i32 @s2n_print_stacktrace(ptr noundef %95) #9
  %97 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %98 = trunc nuw i8 %97 to i1
  br i1 %98, label %99, label %103

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

103:                                              ; preds = %99, %92
  br label %104

104:                                              ; preds = %99, %103
  %.str.6.sink239 = phi ptr [ @.str.6, %103 ], [ @.str.3, %99 ]
  store i32 %94, ptr %93, align 4, !tbaa !5
  %105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %106 = load i32, ptr @test_count, align 4, !tbaa !5
  %107 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %108 = load i32, ptr %107, align 4, !tbaa !5
  %109 = tail call ptr @s2n_strerror(i32 noundef %108, ptr noundef nonnull @.str.5) #9
  %110 = load i32, ptr %107, align 4, !tbaa !5
  %111 = tail call ptr @s2n_strerror_debug(i32 noundef %110, ptr noundef nonnull @.str.5) #9
  %112 = load i32, ptr %93, align 4, !tbaa !5
  %113 = tail call ptr @strerror(i32 noundef %112) #9
  %114 = load i32, ptr %93, align 4, !tbaa !5
  %115 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %105, ptr noundef nonnull %.str.6.sink239, i32 noundef %106, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.2, i32 noundef 35, ptr noundef %109, ptr noundef %111, ptr noundef %113, i32 noundef %114) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

116:                                              ; preds = %87
  %117 = load i32, ptr @test_count, align 4, !tbaa !5
  %118 = add nsw i32 %117, 1
  store i32 %118, ptr @test_count, align 4, !tbaa !5
  %119 = tail call ptr @s2n_strerror_name(i32 noundef 0) #9
  %120 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %119, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %121 = icmp eq i32 %120, 0
  br i1 %121, label %122, label %146

122:                                              ; preds = %116
  %123 = tail call ptr @__errno_location() #10
  %124 = load i32, ptr %123, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = tail call i32 @s2n_print_stacktrace(ptr noundef %125) #9
  %127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %128 = trunc nuw i8 %127 to i1
  br i1 %128, label %129, label %133

129:                                              ; preds = %122
  %130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %131 = tail call i32 @fileno(ptr noundef %130) #9
  %132 = tail call i32 @isatty(i32 noundef %131) #9
  %.not191 = icmp eq i32 %132, 0
  br i1 %.not191, label %133, label %134

133:                                              ; preds = %129, %122
  br label %134

134:                                              ; preds = %129, %133
  %.str.6.sink250 = phi ptr [ @.str.6, %133 ], [ @.str.3, %129 ]
  store i32 %124, ptr %123, align 4, !tbaa !5
  %135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %136 = load i32, ptr @test_count, align 4, !tbaa !5
  %137 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %138 = load i32, ptr %137, align 4, !tbaa !5
  %139 = tail call ptr @s2n_strerror(i32 noundef %138, ptr noundef nonnull @.str.5) #9
  %140 = load i32, ptr %137, align 4, !tbaa !5
  %141 = tail call ptr @s2n_strerror_debug(i32 noundef %140, ptr noundef nonnull @.str.5) #9
  %142 = load i32, ptr %123, align 4, !tbaa !5
  %143 = tail call ptr @strerror(i32 noundef %142) #9
  %144 = load i32, ptr %123, align 4, !tbaa !5
  %145 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %135, ptr noundef nonnull %.str.6.sink250, i32 noundef %136, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 39, ptr noundef %139, ptr noundef %141, ptr noundef %143, i32 noundef %144) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

146:                                              ; preds = %116
  %147 = load i32, ptr @test_count, align 4, !tbaa !5
  %148 = add nsw i32 %147, 1
  store i32 %148, ptr @test_count, align 4, !tbaa !5
  %149 = tail call ptr @s2n_strerror(i32 noundef 0, ptr noundef nonnull @.str.5) #9
  %150 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %149, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %151 = icmp eq i32 %150, 0
  br i1 %151, label %152, label %.critedge

152:                                              ; preds = %146
  %153 = tail call ptr @__errno_location() #10
  %154 = load i32, ptr %153, align 4, !tbaa !5
  %155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %156 = tail call i32 @s2n_print_stacktrace(ptr noundef %155) #9
  %157 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %158 = trunc nuw i8 %157 to i1
  br i1 %158, label %159, label %163

159:                                              ; preds = %152
  %160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %161 = tail call i32 @fileno(ptr noundef %160) #9
  %162 = tail call i32 @isatty(i32 noundef %161) #9
  %.not190 = icmp eq i32 %162, 0
  br i1 %.not190, label %163, label %164

163:                                              ; preds = %159, %152
  br label %164

164:                                              ; preds = %159, %163
  %.str.6.sink261 = phi ptr [ @.str.6, %163 ], [ @.str.3, %159 ]
  store i32 %154, ptr %153, align 4, !tbaa !5
  %165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %166 = load i32, ptr @test_count, align 4, !tbaa !5
  %167 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %168 = load i32, ptr %167, align 4, !tbaa !5
  %169 = tail call ptr @s2n_strerror(i32 noundef %168, ptr noundef nonnull @.str.5) #9
  %170 = load i32, ptr %167, align 4, !tbaa !5
  %171 = tail call ptr @s2n_strerror_debug(i32 noundef %170, ptr noundef nonnull @.str.5) #9
  %172 = load i32, ptr %153, align 4, !tbaa !5
  %173 = tail call ptr @strerror(i32 noundef %172) #9
  %174 = load i32, ptr %153, align 4, !tbaa !5
  %175 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %165, ptr noundef nonnull %.str.6.sink261, i32 noundef %166, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 40, ptr noundef %169, ptr noundef %171, ptr noundef %173, i32 noundef %174) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

.critedge:                                        ; preds = %146
  %176 = load i32, ptr @test_count, align 4, !tbaa !5
  %177 = add nsw i32 %176, 1
  store i32 %177, ptr @test_count, align 4, !tbaa !5
  %178 = tail call ptr @s2n_strerror_name(i32 noundef 67108864) #9
  %179 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %178, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %180 = icmp eq i32 %179, 0
  br i1 %180, label %181, label %205

181:                                              ; preds = %.critedge
  %182 = tail call ptr @__errno_location() #10
  %183 = load i32, ptr %182, align 4, !tbaa !5
  %184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %185 = tail call i32 @s2n_print_stacktrace(ptr noundef %184) #9
  %186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %187 = trunc nuw i8 %186 to i1
  br i1 %187, label %188, label %192

188:                                              ; preds = %181
  %189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %190 = tail call i32 @fileno(ptr noundef %189) #9
  %191 = tail call i32 @isatty(i32 noundef %190) #9
  %.not189 = icmp eq i32 %191, 0
  br i1 %.not189, label %192, label %193

192:                                              ; preds = %188, %181
  br label %193

193:                                              ; preds = %188, %192
  %.str.6.sink272 = phi ptr [ @.str.6, %192 ], [ @.str.3, %188 ]
  store i32 %183, ptr %182, align 4, !tbaa !5
  %194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %195 = load i32, ptr @test_count, align 4, !tbaa !5
  %196 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %197 = load i32, ptr %196, align 4, !tbaa !5
  %198 = tail call ptr @s2n_strerror(i32 noundef %197, ptr noundef nonnull @.str.5) #9
  %199 = load i32, ptr %196, align 4, !tbaa !5
  %200 = tail call ptr @s2n_strerror_debug(i32 noundef %199, ptr noundef nonnull @.str.5) #9
  %201 = load i32, ptr %182, align 4, !tbaa !5
  %202 = tail call ptr @strerror(i32 noundef %201) #9
  %203 = load i32, ptr %182, align 4, !tbaa !5
  %204 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %194, ptr noundef nonnull %.str.6.sink272, i32 noundef %195, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 43, ptr noundef %198, ptr noundef %200, ptr noundef %202, i32 noundef %203) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

205:                                              ; preds = %.critedge
  %206 = load i32, ptr @test_count, align 4, !tbaa !5
  %207 = add nsw i32 %206, 1
  store i32 %207, ptr @test_count, align 4, !tbaa !5
  %208 = tail call ptr @s2n_strerror(i32 noundef 67108864, ptr noundef nonnull @.str.5) #9
  %209 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %208, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %210 = icmp eq i32 %209, 0
  br i1 %210, label %211, label %.critedge196

211:                                              ; preds = %205
  %212 = tail call ptr @__errno_location() #10
  %213 = load i32, ptr %212, align 4, !tbaa !5
  %214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %215 = tail call i32 @s2n_print_stacktrace(ptr noundef %214) #9
  %216 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %217 = trunc nuw i8 %216 to i1
  br i1 %217, label %218, label %222

218:                                              ; preds = %211
  %219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %220 = tail call i32 @fileno(ptr noundef %219) #9
  %221 = tail call i32 @isatty(i32 noundef %220) #9
  %.not188 = icmp eq i32 %221, 0
  br i1 %.not188, label %222, label %223

222:                                              ; preds = %218, %211
  br label %223

223:                                              ; preds = %218, %222
  %.str.6.sink283 = phi ptr [ @.str.6, %222 ], [ @.str.3, %218 ]
  store i32 %213, ptr %212, align 4, !tbaa !5
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = load i32, ptr @test_count, align 4, !tbaa !5
  %226 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %227 = load i32, ptr %226, align 4, !tbaa !5
  %228 = tail call ptr @s2n_strerror(i32 noundef %227, ptr noundef nonnull @.str.5) #9
  %229 = load i32, ptr %226, align 4, !tbaa !5
  %230 = tail call ptr @s2n_strerror_debug(i32 noundef %229, ptr noundef nonnull @.str.5) #9
  %231 = load i32, ptr %212, align 4, !tbaa !5
  %232 = tail call ptr @strerror(i32 noundef %231) #9
  %233 = load i32, ptr %212, align 4, !tbaa !5
  %234 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %224, ptr noundef nonnull %.str.6.sink283, i32 noundef %225, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 44, ptr noundef %228, ptr noundef %230, ptr noundef %232, i32 noundef %233) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

.critedge196:                                     ; preds = %205
  %235 = load i32, ptr @test_count, align 4, !tbaa !5
  %236 = add nsw i32 %235, 1
  store i32 %236, ptr @test_count, align 4, !tbaa !5
  %237 = tail call ptr @s2n_strerror_name(i32 noundef 134217728) #9
  %238 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %237, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %239 = icmp eq i32 %238, 0
  br i1 %239, label %240, label %264

240:                                              ; preds = %.critedge196
  %241 = tail call ptr @__errno_location() #10
  %242 = load i32, ptr %241, align 4, !tbaa !5
  %243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %244 = tail call i32 @s2n_print_stacktrace(ptr noundef %243) #9
  %245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %246 = trunc nuw i8 %245 to i1
  br i1 %246, label %247, label %251

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

251:                                              ; preds = %247, %240
  br label %252

252:                                              ; preds = %247, %251
  %.str.6.sink294 = phi ptr [ @.str.6, %251 ], [ @.str.3, %247 ]
  store i32 %242, ptr %241, align 4, !tbaa !5
  %253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %254 = load i32, ptr @test_count, align 4, !tbaa !5
  %255 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %256 = load i32, ptr %255, align 4, !tbaa !5
  %257 = tail call ptr @s2n_strerror(i32 noundef %256, ptr noundef nonnull @.str.5) #9
  %258 = load i32, ptr %255, align 4, !tbaa !5
  %259 = tail call ptr @s2n_strerror_debug(i32 noundef %258, ptr noundef nonnull @.str.5) #9
  %260 = load i32, ptr %241, align 4, !tbaa !5
  %261 = tail call ptr @strerror(i32 noundef %260) #9
  %262 = load i32, ptr %241, align 4, !tbaa !5
  %263 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %253, ptr noundef nonnull %.str.6.sink294, i32 noundef %254, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 47, ptr noundef %257, ptr noundef %259, ptr noundef %261, i32 noundef %262) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

264:                                              ; preds = %.critedge196
  %265 = load i32, ptr @test_count, align 4, !tbaa !5
  %266 = add nsw i32 %265, 1
  store i32 %266, ptr @test_count, align 4, !tbaa !5
  %267 = tail call ptr @s2n_strerror(i32 noundef 134217728, ptr noundef nonnull @.str.5) #9
  %268 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %267, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %269 = icmp eq i32 %268, 0
  br i1 %269, label %275, label %.critedge197.preheader.preheader

.critedge197.preheader.preheader:                 ; preds = %264
  %270 = load i32, ptr @test_count, align 4, !tbaa !5
  %271 = add nsw i32 %270, 1
  store i32 %271, ptr @test_count, align 4, !tbaa !5
  %272 = tail call ptr @s2n_strerror_name(i32 noundef 201326592) #9
  %273 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %272, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %274 = icmp eq i32 %273, 0
  br i1 %274, label %337, label %361

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

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

286:                                              ; preds = %282, %275
  br label %287

287:                                              ; preds = %282, %286
  %.str.6.sink305 = phi ptr [ @.str.6, %286 ], [ @.str.3, %282 ]
  store i32 %277, ptr %276, align 4, !tbaa !5
  %288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %289 = load i32, ptr @test_count, align 4, !tbaa !5
  %290 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %291 = load i32, ptr %290, align 4, !tbaa !5
  %292 = tail call ptr @s2n_strerror(i32 noundef %291, ptr noundef nonnull @.str.5) #9
  %293 = load i32, ptr %290, align 4, !tbaa !5
  %294 = tail call ptr @s2n_strerror_debug(i32 noundef %293, ptr noundef nonnull @.str.5) #9
  %295 = load i32, ptr %276, align 4, !tbaa !5
  %296 = tail call ptr @strerror(i32 noundef %295) #9
  %297 = load i32, ptr %276, align 4, !tbaa !5
  %298 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %288, ptr noundef nonnull %.str.6.sink305, i32 noundef %289, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 48, ptr noundef %292, ptr noundef %294, ptr noundef %296, i32 noundef %297) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

.critedge197:                                     ; preds = %361
  %299 = load i32, ptr @test_count, align 4, !tbaa !5
  %300 = add nsw i32 %299, 1
  store i32 %300, ptr @test_count, align 4, !tbaa !5
  %301 = tail call ptr @s2n_strerror_name(i32 noundef 201326593) #9
  %302 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %301, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %303 = icmp eq i32 %302, 0
  br i1 %303, label %337, label %304

304:                                              ; preds = %.critedge197
  %305 = load i32, ptr @test_count, align 4, !tbaa !5
  %306 = add nsw i32 %305, 1
  store i32 %306, ptr @test_count, align 4, !tbaa !5
  %307 = tail call ptr @s2n_strerror(i32 noundef 201326593, ptr noundef nonnull @.str.5) #9
  %308 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %307, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %309 = icmp eq i32 %308, 0
  br i1 %309, label %367, label %.critedge197.1

.critedge197.1:                                   ; preds = %304
  %310 = load i32, ptr @test_count, align 4, !tbaa !5
  %311 = add nsw i32 %310, 1
  store i32 %311, ptr @test_count, align 4, !tbaa !5
  %312 = tail call ptr @s2n_strerror_name(i32 noundef 201326594) #9
  %313 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %312, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %314 = icmp eq i32 %313, 0
  br i1 %314, label %337, label %315

315:                                              ; preds = %.critedge197.1
  %316 = load i32, ptr @test_count, align 4, !tbaa !5
  %317 = add nsw i32 %316, 1
  store i32 %317, ptr @test_count, align 4, !tbaa !5
  %318 = tail call ptr @s2n_strerror(i32 noundef 201326594, ptr noundef nonnull @.str.5) #9
  %319 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %318, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %320 = icmp eq i32 %319, 0
  br i1 %320, label %367, label %.critedge197.2

.critedge197.2:                                   ; preds = %315
  %321 = load i32, ptr @test_count, align 4, !tbaa !5
  %322 = add nsw i32 %321, 1
  store i32 %322, ptr @test_count, align 4, !tbaa !5
  %323 = tail call ptr @s2n_strerror_name(i32 noundef 201326595) #9
  %324 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %323, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %325 = icmp eq i32 %324, 0
  br i1 %325, label %337, label %326

326:                                              ; preds = %.critedge197.2
  %327 = load i32, ptr @test_count, align 4, !tbaa !5
  %328 = add nsw i32 %327, 1
  store i32 %328, ptr @test_count, align 4, !tbaa !5
  %329 = tail call ptr @s2n_strerror(i32 noundef 201326595, ptr noundef nonnull @.str.5) #9
  %330 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %329, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %331 = icmp eq i32 %330, 0
  br i1 %331, label %367, label %.critedge197.3

.critedge197.3:                                   ; preds = %326
  %332 = load i32, ptr @test_count, align 4, !tbaa !5
  %333 = add nsw i32 %332, 1
  store i32 %333, ptr @test_count, align 4, !tbaa !5
  %334 = tail call ptr @s2n_strerror_name(i32 noundef 268435456) #9
  %335 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %334, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %336 = icmp eq i32 %335, 0
  br i1 %336, label %391, label %415

337:                                              ; preds = %.critedge197.2, %.critedge197.1, %.critedge197, %.critedge197.preheader.preheader
  %338 = tail call ptr @__errno_location() #10
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %341 = tail call i32 @s2n_print_stacktrace(ptr noundef %340) #9
  %342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %343 = trunc nuw i8 %342 to i1
  br i1 %343, label %344, label %348

344:                                              ; preds = %337
  %345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %346 = tail call i32 @fileno(ptr noundef %345) #9
  %347 = tail call i32 @isatty(i32 noundef %346) #9
  %.not185 = icmp eq i32 %347, 0
  br i1 %.not185, label %348, label %349

348:                                              ; preds = %344, %337
  br label %349

349:                                              ; preds = %344, %348
  %.str.6.sink316 = phi ptr [ @.str.6, %348 ], [ @.str.3, %344 ]
  store i32 %339, ptr %338, align 4, !tbaa !5
  %350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %351 = load i32, ptr @test_count, align 4, !tbaa !5
  %352 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %353 = load i32, ptr %352, align 4, !tbaa !5
  %354 = tail call ptr @s2n_strerror(i32 noundef %353, ptr noundef nonnull @.str.5) #9
  %355 = load i32, ptr %352, align 4, !tbaa !5
  %356 = tail call ptr @s2n_strerror_debug(i32 noundef %355, ptr noundef nonnull @.str.5) #9
  %357 = load i32, ptr %338, align 4, !tbaa !5
  %358 = tail call ptr @strerror(i32 noundef %357) #9
  %359 = load i32, ptr %338, align 4, !tbaa !5
  %360 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %350, ptr noundef nonnull %.str.6.sink316, i32 noundef %351, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 51, ptr noundef %354, ptr noundef %356, ptr noundef %358, i32 noundef %359) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

361:                                              ; preds = %.critedge197.preheader.preheader
  %362 = load i32, ptr @test_count, align 4, !tbaa !5
  %363 = add nsw i32 %362, 1
  store i32 %363, ptr @test_count, align 4, !tbaa !5
  %364 = tail call ptr @s2n_strerror(i32 noundef 201326592, ptr noundef nonnull @.str.5) #9
  %365 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %364, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %366 = icmp eq i32 %365, 0
  br i1 %366, label %367, label %.critedge197

367:                                              ; preds = %326, %315, %304, %361
  %368 = tail call ptr @__errno_location() #10
  %369 = load i32, ptr %368, align 4, !tbaa !5
  %370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %371 = tail call i32 @s2n_print_stacktrace(ptr noundef %370) #9
  %372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %373 = trunc nuw i8 %372 to i1
  br i1 %373, label %374, label %378

374:                                              ; preds = %367
  %375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %376 = tail call i32 @fileno(ptr noundef %375) #9
  %377 = tail call i32 @isatty(i32 noundef %376) #9
  %.not184 = icmp eq i32 %377, 0
  br i1 %.not184, label %378, label %379

378:                                              ; preds = %374, %367
  br label %379

379:                                              ; preds = %374, %378
  %.str.6.sink327 = phi ptr [ @.str.6, %378 ], [ @.str.3, %374 ]
  store i32 %369, ptr %368, align 4, !tbaa !5
  %380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %381 = load i32, ptr @test_count, align 4, !tbaa !5
  %382 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = tail call ptr @s2n_strerror(i32 noundef %383, ptr noundef nonnull @.str.5) #9
  %385 = load i32, ptr %382, align 4, !tbaa !5
  %386 = tail call ptr @s2n_strerror_debug(i32 noundef %385, ptr noundef nonnull @.str.5) #9
  %387 = load i32, ptr %368, align 4, !tbaa !5
  %388 = tail call ptr @strerror(i32 noundef %387) #9
  %389 = load i32, ptr %368, align 4, !tbaa !5
  %390 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %380, ptr noundef nonnull %.str.6.sink327, i32 noundef %381, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 52, ptr noundef %384, ptr noundef %386, ptr noundef %388, i32 noundef %389) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

391:                                              ; preds = %.critedge197.3
  %392 = tail call ptr @__errno_location() #10
  %393 = load i32, ptr %392, align 4, !tbaa !5
  %394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %395 = tail call i32 @s2n_print_stacktrace(ptr noundef %394) #9
  %396 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %397 = trunc nuw i8 %396 to i1
  br i1 %397, label %398, label %402

398:                                              ; preds = %391
  %399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %400 = tail call i32 @fileno(ptr noundef %399) #9
  %401 = tail call i32 @isatty(i32 noundef %400) #9
  %.not183 = icmp eq i32 %401, 0
  br i1 %.not183, label %402, label %403

402:                                              ; preds = %398, %391
  br label %403

403:                                              ; preds = %398, %402
  %.str.6.sink338 = phi ptr [ @.str.6, %402 ], [ @.str.3, %398 ]
  store i32 %393, ptr %392, align 4, !tbaa !5
  %404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %407 = load i32, ptr %406, align 4, !tbaa !5
  %408 = tail call ptr @s2n_strerror(i32 noundef %407, ptr noundef nonnull @.str.5) #9
  %409 = load i32, ptr %406, align 4, !tbaa !5
  %410 = tail call ptr @s2n_strerror_debug(i32 noundef %409, ptr noundef nonnull @.str.5) #9
  %411 = load i32, ptr %392, align 4, !tbaa !5
  %412 = tail call ptr @strerror(i32 noundef %411) #9
  %413 = load i32, ptr %392, align 4, !tbaa !5
  %414 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %404, ptr noundef nonnull %.str.6.sink338, i32 noundef %405, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 55, ptr noundef %408, ptr noundef %410, ptr noundef %412, i32 noundef %413) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

415:                                              ; preds = %.critedge197.3
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = add nsw i32 %416, 1
  store i32 %417, ptr @test_count, align 4, !tbaa !5
  %418 = tail call ptr @s2n_strerror(i32 noundef 268435456, ptr noundef nonnull @.str.5) #9
  %419 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %418, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %420 = icmp eq i32 %419, 0
  br i1 %420, label %421, label %.critedge199.preheader

421:                                              ; preds = %415
  %422 = tail call ptr @__errno_location() #10
  %423 = load i32, ptr %422, align 4, !tbaa !5
  %424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %425 = tail call i32 @s2n_print_stacktrace(ptr noundef %424) #9
  %426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %427 = trunc nuw i8 %426 to i1
  br i1 %427, label %428, label %432

428:                                              ; preds = %421
  %429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %430 = tail call i32 @fileno(ptr noundef %429) #9
  %431 = tail call i32 @isatty(i32 noundef %430) #9
  %.not182 = icmp eq i32 %431, 0
  br i1 %.not182, label %432, label %433

432:                                              ; preds = %428, %421
  br label %433

433:                                              ; preds = %428, %432
  %.str.6.sink349 = phi ptr [ @.str.6, %432 ], [ @.str.3, %428 ]
  store i32 %423, ptr %422, align 4, !tbaa !5
  %434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %435 = load i32, ptr @test_count, align 4, !tbaa !5
  %436 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %437 = load i32, ptr %436, align 4, !tbaa !5
  %438 = tail call ptr @s2n_strerror(i32 noundef %437, ptr noundef nonnull @.str.5) #9
  %439 = load i32, ptr %436, align 4, !tbaa !5
  %440 = tail call ptr @s2n_strerror_debug(i32 noundef %439, ptr noundef nonnull @.str.5) #9
  %441 = load i32, ptr %422, align 4, !tbaa !5
  %442 = tail call ptr @strerror(i32 noundef %441) #9
  %443 = load i32, ptr %422, align 4, !tbaa !5
  %444 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %434, ptr noundef nonnull %.str.6.sink349, i32 noundef %435, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 56, ptr noundef %438, ptr noundef %440, ptr noundef %442, i32 noundef %443) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

.critedge199:                                     ; preds = %475
  %445 = add nuw nsw i32 %.0133202, 1
  %exitcond.not = icmp eq i32 %445, 335544400
  br i1 %exitcond.not, label %.preheader200, label %.critedge199.preheader, !llvm.loop !15

.critedge199.preheader:                           ; preds = %415, %.critedge199
  %.0133202 = phi i32 [ %445, %.critedge199 ], [ 335544320, %415 ]
  %446 = load i32, ptr @test_count, align 4, !tbaa !5
  %447 = add nsw i32 %446, 1
  store i32 %447, ptr @test_count, align 4, !tbaa !5
  %448 = tail call ptr @s2n_strerror_name(i32 noundef %.0133202) #9
  %449 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %448, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %450 = icmp eq i32 %449, 0
  br i1 %450, label %451, label %475

451:                                              ; preds = %.critedge199.preheader
  %452 = tail call ptr @__errno_location() #10
  %453 = load i32, ptr %452, align 4, !tbaa !5
  %454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %455 = tail call i32 @s2n_print_stacktrace(ptr noundef %454) #9
  %456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %457 = trunc nuw i8 %456 to i1
  br i1 %457, label %458, label %462

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

462:                                              ; preds = %458, %451
  br label %463

463:                                              ; preds = %458, %462
  %.str.6.sink360 = phi ptr [ @.str.6, %462 ], [ @.str.3, %458 ]
  store i32 %453, ptr %452, align 4, !tbaa !5
  %464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %465 = load i32, ptr @test_count, align 4, !tbaa !5
  %466 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = tail call ptr @s2n_strerror(i32 noundef %467, ptr noundef nonnull @.str.5) #9
  %469 = load i32, ptr %466, align 4, !tbaa !5
  %470 = tail call ptr @s2n_strerror_debug(i32 noundef %469, ptr noundef nonnull @.str.5) #9
  %471 = load i32, ptr %452, align 4, !tbaa !5
  %472 = tail call ptr @strerror(i32 noundef %471) #9
  %473 = load i32, ptr %452, align 4, !tbaa !5
  %474 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %464, ptr noundef nonnull %.str.6.sink360, i32 noundef %465, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 59, ptr noundef %468, ptr noundef %470, ptr noundef %472, i32 noundef %473) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

475:                                              ; preds = %.critedge199.preheader
  %476 = load i32, ptr @test_count, align 4, !tbaa !5
  %477 = add nsw i32 %476, 1
  store i32 %477, ptr @test_count, align 4, !tbaa !5
  %478 = tail call ptr @s2n_strerror(i32 noundef %.0133202, ptr noundef nonnull @.str.5) #9
  %479 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %478, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %480 = icmp eq i32 %479, 0
  br i1 %480, label %481, label %.critedge199

481:                                              ; preds = %475
  %482 = tail call ptr @__errno_location() #10
  %483 = load i32, ptr %482, align 4, !tbaa !5
  %484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %485 = tail call i32 @s2n_print_stacktrace(ptr noundef %484) #9
  %486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %487 = trunc nuw i8 %486 to i1
  br i1 %487, label %488, label %492

488:                                              ; preds = %481
  %489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %490 = tail call i32 @fileno(ptr noundef %489) #9
  %491 = tail call i32 @isatty(i32 noundef %490) #9
  %.not180 = icmp eq i32 %491, 0
  br i1 %.not180, label %492, label %493

492:                                              ; preds = %488, %481
  br label %493

493:                                              ; preds = %488, %492
  %.str.6.sink371 = phi ptr [ @.str.6, %492 ], [ @.str.3, %488 ]
  store i32 %483, ptr %482, align 4, !tbaa !5
  %494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %495 = load i32, ptr @test_count, align 4, !tbaa !5
  %496 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = tail call ptr @s2n_strerror(i32 noundef %497, ptr noundef nonnull @.str.5) #9
  %499 = load i32, ptr %496, align 4, !tbaa !5
  %500 = tail call ptr @s2n_strerror_debug(i32 noundef %499, ptr noundef nonnull @.str.5) #9
  %501 = load i32, ptr %482, align 4, !tbaa !5
  %502 = tail call ptr @strerror(i32 noundef %501) #9
  %503 = load i32, ptr %482, align 4, !tbaa !5
  %504 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %494, ptr noundef nonnull %.str.6.sink371, i32 noundef %495, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 60, ptr noundef %498, ptr noundef %500, ptr noundef %502, i32 noundef %503) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

505:                                              ; preds = %536
  %506 = add nuw nsw i32 %.0134203, 1
  %exitcond205.not = icmp eq i32 %506, 402653274
  br i1 %exitcond205.not, label %.preheader, label %.preheader200, !llvm.loop !17

.preheader200:                                    ; preds = %.critedge199, %505
  %.0134203 = phi i32 [ %506, %505 ], [ 402653184, %.critedge199 ]
  %507 = load i32, ptr @test_count, align 4, !tbaa !5
  %508 = add nsw i32 %507, 1
  store i32 %508, ptr @test_count, align 4, !tbaa !5
  %509 = tail call ptr @s2n_strerror_name(i32 noundef %.0134203) #9
  %510 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %509, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %511 = icmp eq i32 %510, 0
  br i1 %511, label %512, label %536

512:                                              ; preds = %.preheader200
  %513 = tail call ptr @__errno_location() #10
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %516 = tail call i32 @s2n_print_stacktrace(ptr noundef %515) #9
  %517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %518 = trunc nuw i8 %517 to i1
  br i1 %518, label %519, label %523

519:                                              ; preds = %512
  %520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %521 = tail call i32 @fileno(ptr noundef %520) #9
  %522 = tail call i32 @isatty(i32 noundef %521) #9
  %.not179 = icmp eq i32 %522, 0
  br i1 %.not179, label %523, label %524

523:                                              ; preds = %519, %512
  br label %524

524:                                              ; preds = %519, %523
  %.str.6.sink382 = phi ptr [ @.str.6, %523 ], [ @.str.3, %519 ]
  store i32 %514, ptr %513, align 4, !tbaa !5
  %525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %526 = load i32, ptr @test_count, align 4, !tbaa !5
  %527 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %528 = load i32, ptr %527, align 4, !tbaa !5
  %529 = tail call ptr @s2n_strerror(i32 noundef %528, ptr noundef nonnull @.str.5) #9
  %530 = load i32, ptr %527, align 4, !tbaa !5
  %531 = tail call ptr @s2n_strerror_debug(i32 noundef %530, ptr noundef nonnull @.str.5) #9
  %532 = load i32, ptr %513, align 4, !tbaa !5
  %533 = tail call ptr @strerror(i32 noundef %532) #9
  %534 = load i32, ptr %513, align 4, !tbaa !5
  %535 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %525, ptr noundef nonnull %.str.6.sink382, i32 noundef %526, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 63, ptr noundef %529, ptr noundef %531, ptr noundef %533, i32 noundef %534) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

536:                                              ; preds = %.preheader200
  %537 = load i32, ptr @test_count, align 4, !tbaa !5
  %538 = add nsw i32 %537, 1
  store i32 %538, ptr @test_count, align 4, !tbaa !5
  %539 = tail call ptr @s2n_strerror(i32 noundef %.0134203, ptr noundef nonnull @.str.5) #9
  %540 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %539, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %541 = icmp eq i32 %540, 0
  br i1 %541, label %542, label %505

542:                                              ; preds = %536
  %543 = tail call ptr @__errno_location() #10
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %546 = tail call i32 @s2n_print_stacktrace(ptr noundef %545) #9
  %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 = %542
  %550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %551 = tail call i32 @fileno(ptr noundef %550) #9
  %552 = tail call i32 @isatty(i32 noundef %551) #9
  %.not178 = icmp eq i32 %552, 0
  br i1 %.not178, label %553, label %554

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

554:                                              ; preds = %549, %553
  %.str.6.sink393 = phi ptr [ @.str.6, %553 ], [ @.str.3, %549 ]
  store i32 %544, ptr %543, align 4, !tbaa !5
  %555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %556 = load i32, ptr @test_count, align 4, !tbaa !5
  %557 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %558 = load i32, ptr %557, align 4, !tbaa !5
  %559 = tail call ptr @s2n_strerror(i32 noundef %558, ptr noundef nonnull @.str.5) #9
  %560 = load i32, ptr %557, align 4, !tbaa !5
  %561 = tail call ptr @s2n_strerror_debug(i32 noundef %560, ptr noundef nonnull @.str.5) #9
  %562 = load i32, ptr %543, align 4, !tbaa !5
  %563 = tail call ptr @strerror(i32 noundef %562) #9
  %564 = load i32, ptr %543, align 4, !tbaa !5
  %565 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %555, ptr noundef nonnull %.str.6.sink393, i32 noundef %556, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 64, ptr noundef %559, ptr noundef %561, ptr noundef %563, i32 noundef %564) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

566:                                              ; preds = %603
  %567 = add nuw nsw i32 %.0135204, 1
  %exitcond206.not = icmp eq i32 %567, 469762138
  br i1 %exitcond206.not, label %568, label %.preheader, !llvm.loop !18

568:                                              ; preds = %566
  %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 = tail call ptr @s2n_strerror_name(i32 noundef 1) #9
  %572 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %571, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %573 = icmp eq i32 %572, 0
  br i1 %573, label %657, label %633

.preheader:                                       ; preds = %505, %566
  %.0135204 = phi i32 [ %567, %566 ], [ 469762048, %505 ]
  %574 = load i32, ptr @test_count, align 4, !tbaa !5
  %575 = add nsw i32 %574, 1
  store i32 %575, ptr @test_count, align 4, !tbaa !5
  %576 = tail call ptr @s2n_strerror_name(i32 noundef %.0135204) #9
  %577 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %576, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %578 = icmp eq i32 %577, 0
  br i1 %578, label %579, label %603

579:                                              ; preds = %.preheader
  %580 = tail call ptr @__errno_location() #10
  %581 = load i32, ptr %580, align 4, !tbaa !5
  %582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %583 = tail call i32 @s2n_print_stacktrace(ptr noundef %582) #9
  %584 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %585 = trunc nuw i8 %584 to i1
  br i1 %585, label %586, label %590

586:                                              ; preds = %579
  %587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %588 = tail call i32 @fileno(ptr noundef %587) #9
  %589 = tail call i32 @isatty(i32 noundef %588) #9
  %.not177 = icmp eq i32 %589, 0
  br i1 %.not177, label %590, label %591

590:                                              ; preds = %586, %579
  br label %591

591:                                              ; preds = %586, %590
  %.str.6.sink404 = phi ptr [ @.str.6, %590 ], [ @.str.3, %586 ]
  store i32 %581, ptr %580, align 4, !tbaa !5
  %592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %593 = load i32, ptr @test_count, align 4, !tbaa !5
  %594 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %595 = load i32, ptr %594, align 4, !tbaa !5
  %596 = tail call ptr @s2n_strerror(i32 noundef %595, ptr noundef nonnull @.str.5) #9
  %597 = load i32, ptr %594, align 4, !tbaa !5
  %598 = tail call ptr @s2n_strerror_debug(i32 noundef %597, ptr noundef nonnull @.str.5) #9
  %599 = load i32, ptr %580, align 4, !tbaa !5
  %600 = tail call ptr @strerror(i32 noundef %599) #9
  %601 = load i32, ptr %580, align 4, !tbaa !5
  %602 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %592, ptr noundef nonnull %.str.6.sink404, i32 noundef %593, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.2, i32 noundef 67, ptr noundef %596, ptr noundef %598, ptr noundef %600, i32 noundef %601) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

603:                                              ; preds = %.preheader
  %604 = load i32, ptr @test_count, align 4, !tbaa !5
  %605 = add nsw i32 %604, 1
  store i32 %605, ptr @test_count, align 4, !tbaa !5
  %606 = tail call ptr @s2n_strerror(i32 noundef %.0135204, ptr noundef nonnull @.str.5) #9
  %607 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %606, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %608 = icmp eq i32 %607, 0
  br i1 %608, label %609, label %566

609:                                              ; preds = %603
  %610 = tail call ptr @__errno_location() #10
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %613 = tail call i32 @s2n_print_stacktrace(ptr noundef %612) #9
  %614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %615 = trunc nuw i8 %614 to i1
  br i1 %615, label %616, label %620

616:                                              ; preds = %609
  %617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %618 = tail call i32 @fileno(ptr noundef %617) #9
  %619 = tail call i32 @isatty(i32 noundef %618) #9
  %.not176 = icmp eq i32 %619, 0
  br i1 %.not176, label %620, label %621

620:                                              ; preds = %616, %609
  br label %621

621:                                              ; preds = %616, %620
  %.str.6.sink415 = phi ptr [ @.str.6, %620 ], [ @.str.3, %616 ]
  store i32 %611, ptr %610, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = load i32, ptr @test_count, align 4, !tbaa !5
  %624 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = tail call ptr @s2n_strerror(i32 noundef %625, ptr noundef nonnull @.str.5) #9
  %627 = load i32, ptr %624, align 4, !tbaa !5
  %628 = tail call ptr @s2n_strerror_debug(i32 noundef %627, ptr noundef nonnull @.str.5) #9
  %629 = load i32, ptr %610, align 4, !tbaa !5
  %630 = tail call ptr @strerror(i32 noundef %629) #9
  %631 = load i32, ptr %610, align 4, !tbaa !5
  %632 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef nonnull %.str.6.sink415, i32 noundef %623, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.2, i32 noundef 68, ptr noundef %626, ptr noundef %628, ptr noundef %630, i32 noundef %631) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

633:                                              ; preds = %568
  %634 = tail call ptr @__errno_location() #10
  %635 = load i32, ptr %634, align 4, !tbaa !5
  %636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %637 = tail call i32 @s2n_print_stacktrace(ptr noundef %636) #9
  %638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %639 = trunc nuw i8 %638 to i1
  br i1 %639, label %640, label %644

640:                                              ; preds = %633
  %641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %642 = tail call i32 @fileno(ptr noundef %641) #9
  %643 = tail call i32 @isatty(i32 noundef %642) #9
  %.not = icmp eq i32 %643, 0
  br i1 %.not, label %644, label %645

644:                                              ; preds = %640, %633
  br label %645

645:                                              ; preds = %640, %644
  %.str.6.sink426 = phi ptr [ @.str.6, %644 ], [ @.str.3, %640 ]
  store i32 %635, ptr %634, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = load i32, ptr @test_count, align 4, !tbaa !5
  %648 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %649 = load i32, ptr %648, align 4, !tbaa !5
  %650 = tail call ptr @s2n_strerror(i32 noundef %649, ptr noundef nonnull @.str.5) #9
  %651 = load i32, ptr %648, align 4, !tbaa !5
  %652 = tail call ptr @s2n_strerror_debug(i32 noundef %651, ptr noundef nonnull @.str.5) #9
  %653 = load i32, ptr %634, align 4, !tbaa !5
  %654 = tail call ptr @strerror(i32 noundef %653) #9
  %655 = load i32, ptr %634, align 4, !tbaa !5
  %656 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %646, ptr noundef nonnull %.str.6.sink426, i32 noundef %647, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.2, i32 noundef 72, ptr noundef %650, ptr noundef %652, ptr noundef %654, i32 noundef %655) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

657:                                              ; preds = %568
  %658 = load i32, ptr @test_count, align 4, !tbaa !5
  %659 = add nsw i32 %658, 1
  store i32 %659, ptr @test_count, align 4, !tbaa !5
  %660 = tail call ptr @s2n_strerror(i32 noundef 1, ptr noundef nonnull @.str.5) #9
  %661 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %660, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %662 = icmp eq i32 %661, 0
  br i1 %662, label %687, label %663

663:                                              ; preds = %657
  %664 = tail call ptr @__errno_location() #10
  %665 = load i32, ptr %664, align 4, !tbaa !5
  %666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %667 = tail call i32 @s2n_print_stacktrace(ptr noundef %666) #9
  %668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %669 = trunc nuw i8 %668 to i1
  br i1 %669, label %670, label %674

670:                                              ; preds = %663
  %671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %672 = tail call i32 @fileno(ptr noundef %671) #9
  %673 = tail call i32 @isatty(i32 noundef %672) #9
  %.not142 = icmp eq i32 %673, 0
  br i1 %.not142, label %674, label %675

674:                                              ; preds = %670, %663
  br label %675

675:                                              ; preds = %670, %674
  %.str.6.sink437 = phi ptr [ @.str.6, %674 ], [ @.str.3, %670 ]
  store i32 %665, ptr %664, align 4, !tbaa !5
  %676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %677 = load i32, ptr @test_count, align 4, !tbaa !5
  %678 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %679 = load i32, ptr %678, align 4, !tbaa !5
  %680 = tail call ptr @s2n_strerror(i32 noundef %679, ptr noundef nonnull @.str.5) #9
  %681 = load i32, ptr %678, align 4, !tbaa !5
  %682 = tail call ptr @s2n_strerror_debug(i32 noundef %681, ptr noundef nonnull @.str.5) #9
  %683 = load i32, ptr %664, align 4, !tbaa !5
  %684 = tail call ptr @strerror(i32 noundef %683) #9
  %685 = load i32, ptr %664, align 4, !tbaa !5
  %686 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %676, ptr noundef nonnull %.str.6.sink437, i32 noundef %677, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.2, i32 noundef 73, ptr noundef %680, ptr noundef %682, ptr noundef %684, i32 noundef %685) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

687:                                              ; preds = %657
  %688 = load i32, ptr @test_count, align 4, !tbaa !5
  %689 = add nsw i32 %688, 1
  store i32 %689, ptr @test_count, align 4, !tbaa !5
  %690 = tail call ptr @s2n_strerror_name(i32 noundef 67108865) #9
  %691 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %690, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %692 = icmp eq i32 %691, 0
  br i1 %692, label %717, label %693

693:                                              ; preds = %687
  %694 = tail call ptr @__errno_location() #10
  %695 = load i32, ptr %694, align 4, !tbaa !5
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = tail call i32 @s2n_print_stacktrace(ptr noundef %696) #9
  %698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %699 = trunc nuw i8 %698 to i1
  br i1 %699, label %700, label %704

700:                                              ; preds = %693
  %701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %702 = tail call i32 @fileno(ptr noundef %701) #9
  %703 = tail call i32 @isatty(i32 noundef %702) #9
  %.not143 = icmp eq i32 %703, 0
  br i1 %.not143, label %704, label %705

704:                                              ; preds = %700, %693
  br label %705

705:                                              ; preds = %700, %704
  %.str.6.sink448 = phi ptr [ @.str.6, %704 ], [ @.str.3, %700 ]
  store i32 %695, ptr %694, align 4, !tbaa !5
  %706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %707 = load i32, ptr @test_count, align 4, !tbaa !5
  %708 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %709 = load i32, ptr %708, align 4, !tbaa !5
  %710 = tail call ptr @s2n_strerror(i32 noundef %709, ptr noundef nonnull @.str.5) #9
  %711 = load i32, ptr %708, align 4, !tbaa !5
  %712 = tail call ptr @s2n_strerror_debug(i32 noundef %711, ptr noundef nonnull @.str.5) #9
  %713 = load i32, ptr %694, align 4, !tbaa !5
  %714 = tail call ptr @strerror(i32 noundef %713) #9
  %715 = load i32, ptr %694, align 4, !tbaa !5
  %716 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %706, ptr noundef nonnull %.str.6.sink448, i32 noundef %707, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.2, i32 noundef 75, ptr noundef %710, ptr noundef %712, ptr noundef %714, i32 noundef %715) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

717:                                              ; preds = %687
  %718 = load i32, ptr @test_count, align 4, !tbaa !5
  %719 = add nsw i32 %718, 1
  store i32 %719, ptr @test_count, align 4, !tbaa !5
  %720 = tail call ptr @s2n_strerror(i32 noundef 67108865, ptr noundef nonnull @.str.5) #9
  %721 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %720, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %722 = icmp eq i32 %721, 0
  br i1 %722, label %747, label %723

723:                                              ; preds = %717
  %724 = tail call ptr @__errno_location() #10
  %725 = load i32, ptr %724, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = tail call i32 @s2n_print_stacktrace(ptr noundef %726) #9
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %729 = trunc nuw i8 %728 to i1
  br i1 %729, label %730, label %734

730:                                              ; preds = %723
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = tail call i32 @fileno(ptr noundef %731) #9
  %733 = tail call i32 @isatty(i32 noundef %732) #9
  %.not144 = icmp eq i32 %733, 0
  br i1 %.not144, label %734, label %735

734:                                              ; preds = %730, %723
  br label %735

735:                                              ; preds = %730, %734
  %.str.6.sink459 = phi ptr [ @.str.6, %734 ], [ @.str.3, %730 ]
  store i32 %725, ptr %724, align 4, !tbaa !5
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %739 = load i32, ptr %738, align 4, !tbaa !5
  %740 = tail call ptr @s2n_strerror(i32 noundef %739, ptr noundef nonnull @.str.5) #9
  %741 = load i32, ptr %738, align 4, !tbaa !5
  %742 = tail call ptr @s2n_strerror_debug(i32 noundef %741, ptr noundef nonnull @.str.5) #9
  %743 = load i32, ptr %724, align 4, !tbaa !5
  %744 = tail call ptr @strerror(i32 noundef %743) #9
  %745 = load i32, ptr %724, align 4, !tbaa !5
  %746 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.6.sink459, i32 noundef %737, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.2, i32 noundef 76, ptr noundef %740, ptr noundef %742, ptr noundef %744, i32 noundef %745) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

747:                                              ; preds = %717
  %748 = load i32, ptr @test_count, align 4, !tbaa !5
  %749 = add nsw i32 %748, 1
  store i32 %749, ptr @test_count, align 4, !tbaa !5
  %750 = tail call ptr @s2n_strerror_name(i32 noundef 134217729) #9
  %751 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %750, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %752 = icmp eq i32 %751, 0
  br i1 %752, label %777, label %753

753:                                              ; preds = %747
  %754 = tail call ptr @__errno_location() #10
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %757 = tail call i32 @s2n_print_stacktrace(ptr noundef %756) #9
  %758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %759 = trunc nuw i8 %758 to i1
  br i1 %759, label %760, label %764

760:                                              ; preds = %753
  %761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %762 = tail call i32 @fileno(ptr noundef %761) #9
  %763 = tail call i32 @isatty(i32 noundef %762) #9
  %.not145 = icmp eq i32 %763, 0
  br i1 %.not145, label %764, label %765

764:                                              ; preds = %760, %753
  br label %765

765:                                              ; preds = %760, %764
  %.str.6.sink470 = phi ptr [ @.str.6, %764 ], [ @.str.3, %760 ]
  store i32 %755, ptr %754, align 4, !tbaa !5
  %766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %767 = load i32, ptr @test_count, align 4, !tbaa !5
  %768 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %769 = load i32, ptr %768, align 4, !tbaa !5
  %770 = tail call ptr @s2n_strerror(i32 noundef %769, ptr noundef nonnull @.str.5) #9
  %771 = load i32, ptr %768, align 4, !tbaa !5
  %772 = tail call ptr @s2n_strerror_debug(i32 noundef %771, ptr noundef nonnull @.str.5) #9
  %773 = load i32, ptr %754, align 4, !tbaa !5
  %774 = tail call ptr @strerror(i32 noundef %773) #9
  %775 = load i32, ptr %754, align 4, !tbaa !5
  %776 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %766, ptr noundef nonnull %.str.6.sink470, i32 noundef %767, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.2, i32 noundef 78, ptr noundef %770, ptr noundef %772, ptr noundef %774, i32 noundef %775) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

777:                                              ; preds = %747
  %778 = load i32, ptr @test_count, align 4, !tbaa !5
  %779 = add nsw i32 %778, 1
  store i32 %779, ptr @test_count, align 4, !tbaa !5
  %780 = tail call ptr @s2n_strerror(i32 noundef 134217729, ptr noundef nonnull @.str.5) #9
  %781 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %780, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %782 = icmp eq i32 %781, 0
  br i1 %782, label %807, label %783

783:                                              ; preds = %777
  %784 = tail call ptr @__errno_location() #10
  %785 = load i32, ptr %784, align 4, !tbaa !5
  %786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %787 = tail call i32 @s2n_print_stacktrace(ptr noundef %786) #9
  %788 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %789 = trunc nuw i8 %788 to i1
  br i1 %789, label %790, label %794

790:                                              ; preds = %783
  %791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %792 = tail call i32 @fileno(ptr noundef %791) #9
  %793 = tail call i32 @isatty(i32 noundef %792) #9
  %.not146 = icmp eq i32 %793, 0
  br i1 %.not146, label %794, label %795

794:                                              ; preds = %790, %783
  br label %795

795:                                              ; preds = %790, %794
  %.str.6.sink481 = phi ptr [ @.str.6, %794 ], [ @.str.3, %790 ]
  store i32 %785, ptr %784, align 4, !tbaa !5
  %796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %797 = load i32, ptr @test_count, align 4, !tbaa !5
  %798 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %799 = load i32, ptr %798, align 4, !tbaa !5
  %800 = tail call ptr @s2n_strerror(i32 noundef %799, ptr noundef nonnull @.str.5) #9
  %801 = load i32, ptr %798, align 4, !tbaa !5
  %802 = tail call ptr @s2n_strerror_debug(i32 noundef %801, ptr noundef nonnull @.str.5) #9
  %803 = load i32, ptr %784, align 4, !tbaa !5
  %804 = tail call ptr @strerror(i32 noundef %803) #9
  %805 = load i32, ptr %784, align 4, !tbaa !5
  %806 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %796, ptr noundef nonnull %.str.6.sink481, i32 noundef %797, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.2, i32 noundef 79, ptr noundef %800, ptr noundef %802, ptr noundef %804, i32 noundef %805) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

807:                                              ; preds = %777
  %808 = load i32, ptr @test_count, align 4, !tbaa !5
  %809 = add nsw i32 %808, 1
  store i32 %809, ptr @test_count, align 4, !tbaa !5
  %810 = tail call ptr @s2n_strerror_name(i32 noundef 201326596) #9
  %811 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %810, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %812 = icmp eq i32 %811, 0
  br i1 %812, label %837, label %813

813:                                              ; preds = %807
  %814 = tail call ptr @__errno_location() #10
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = tail call i32 @s2n_print_stacktrace(ptr noundef %816) #9
  %818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %819 = trunc nuw i8 %818 to i1
  br i1 %819, label %820, label %824

820:                                              ; preds = %813
  %821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %822 = tail call i32 @fileno(ptr noundef %821) #9
  %823 = tail call i32 @isatty(i32 noundef %822) #9
  %.not147 = icmp eq i32 %823, 0
  br i1 %.not147, label %824, label %825

824:                                              ; preds = %820, %813
  br label %825

825:                                              ; preds = %820, %824
  %.str.6.sink492 = phi ptr [ @.str.6, %824 ], [ @.str.3, %820 ]
  store i32 %815, ptr %814, align 4, !tbaa !5
  %826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %827 = load i32, ptr @test_count, align 4, !tbaa !5
  %828 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %829 = load i32, ptr %828, align 4, !tbaa !5
  %830 = tail call ptr @s2n_strerror(i32 noundef %829, ptr noundef nonnull @.str.5) #9
  %831 = load i32, ptr %828, align 4, !tbaa !5
  %832 = tail call ptr @s2n_strerror_debug(i32 noundef %831, ptr noundef nonnull @.str.5) #9
  %833 = load i32, ptr %814, align 4, !tbaa !5
  %834 = tail call ptr @strerror(i32 noundef %833) #9
  %835 = load i32, ptr %814, align 4, !tbaa !5
  %836 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %826, ptr noundef nonnull %.str.6.sink492, i32 noundef %827, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.2, i32 noundef 81, ptr noundef %830, ptr noundef %832, ptr noundef %834, i32 noundef %835) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

837:                                              ; preds = %807
  %838 = load i32, ptr @test_count, align 4, !tbaa !5
  %839 = add nsw i32 %838, 1
  store i32 %839, ptr @test_count, align 4, !tbaa !5
  %840 = tail call ptr @s2n_strerror(i32 noundef 201326596, ptr noundef nonnull @.str.5) #9
  %841 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %840, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %842 = icmp eq i32 %841, 0
  br i1 %842, label %867, label %843

843:                                              ; preds = %837
  %844 = tail call ptr @__errno_location() #10
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %847 = tail call i32 @s2n_print_stacktrace(ptr noundef %846) #9
  %848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %849 = trunc nuw i8 %848 to i1
  br i1 %849, label %850, label %854

850:                                              ; preds = %843
  %851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %852 = tail call i32 @fileno(ptr noundef %851) #9
  %853 = tail call i32 @isatty(i32 noundef %852) #9
  %.not148 = icmp eq i32 %853, 0
  br i1 %.not148, label %854, label %855

854:                                              ; preds = %850, %843
  br label %855

855:                                              ; preds = %850, %854
  %.str.6.sink503 = phi ptr [ @.str.6, %854 ], [ @.str.3, %850 ]
  store i32 %845, ptr %844, align 4, !tbaa !5
  %856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %857 = load i32, ptr @test_count, align 4, !tbaa !5
  %858 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = tail call ptr @s2n_strerror(i32 noundef %859, ptr noundef nonnull @.str.5) #9
  %861 = load i32, ptr %858, align 4, !tbaa !5
  %862 = tail call ptr @s2n_strerror_debug(i32 noundef %861, ptr noundef nonnull @.str.5) #9
  %863 = load i32, ptr %844, align 4, !tbaa !5
  %864 = tail call ptr @strerror(i32 noundef %863) #9
  %865 = load i32, ptr %844, align 4, !tbaa !5
  %866 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %856, ptr noundef nonnull %.str.6.sink503, i32 noundef %857, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.2, i32 noundef 82, ptr noundef %860, ptr noundef %862, ptr noundef %864, i32 noundef %865) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

867:                                              ; preds = %837
  %868 = load i32, ptr @test_count, align 4, !tbaa !5
  %869 = add nsw i32 %868, 1
  store i32 %869, ptr @test_count, align 4, !tbaa !5
  %870 = tail call ptr @s2n_strerror_name(i32 noundef 268435457) #9
  %871 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %870, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %872 = icmp eq i32 %871, 0
  br i1 %872, label %897, label %873

873:                                              ; preds = %867
  %874 = tail call ptr @__errno_location() #10
  %875 = load i32, ptr %874, align 4, !tbaa !5
  %876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %877 = tail call i32 @s2n_print_stacktrace(ptr noundef %876) #9
  %878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %879 = trunc nuw i8 %878 to i1
  br i1 %879, label %880, label %884

880:                                              ; preds = %873
  %881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %882 = tail call i32 @fileno(ptr noundef %881) #9
  %883 = tail call i32 @isatty(i32 noundef %882) #9
  %.not149 = icmp eq i32 %883, 0
  br i1 %.not149, label %884, label %885

884:                                              ; preds = %880, %873
  br label %885

885:                                              ; preds = %880, %884
  %.str.6.sink514 = phi ptr [ @.str.6, %884 ], [ @.str.3, %880 ]
  store i32 %875, ptr %874, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = load i32, ptr @test_count, align 4, !tbaa !5
  %888 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %889 = load i32, ptr %888, align 4, !tbaa !5
  %890 = tail call ptr @s2n_strerror(i32 noundef %889, ptr noundef nonnull @.str.5) #9
  %891 = load i32, ptr %888, align 4, !tbaa !5
  %892 = tail call ptr @s2n_strerror_debug(i32 noundef %891, ptr noundef nonnull @.str.5) #9
  %893 = load i32, ptr %874, align 4, !tbaa !5
  %894 = tail call ptr @strerror(i32 noundef %893) #9
  %895 = load i32, ptr %874, align 4, !tbaa !5
  %896 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %886, ptr noundef nonnull %.str.6.sink514, i32 noundef %887, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.2, i32 noundef 84, ptr noundef %890, ptr noundef %892, ptr noundef %894, i32 noundef %895) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

897:                                              ; preds = %867
  %898 = load i32, ptr @test_count, align 4, !tbaa !5
  %899 = add nsw i32 %898, 1
  store i32 %899, ptr @test_count, align 4, !tbaa !5
  %900 = tail call ptr @s2n_strerror(i32 noundef 268435457, ptr noundef nonnull @.str.5) #9
  %901 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %900, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %902 = icmp eq i32 %901, 0
  br i1 %902, label %927, label %903

903:                                              ; preds = %897
  %904 = tail call ptr @__errno_location() #10
  %905 = load i32, ptr %904, align 4, !tbaa !5
  %906 = load ptr, ptr @stderr, align 8, !tbaa !9
  %907 = tail call i32 @s2n_print_stacktrace(ptr noundef %906) #9
  %908 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %909 = trunc nuw i8 %908 to i1
  br i1 %909, label %910, label %914

910:                                              ; preds = %903
  %911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %912 = tail call i32 @fileno(ptr noundef %911) #9
  %913 = tail call i32 @isatty(i32 noundef %912) #9
  %.not150 = icmp eq i32 %913, 0
  br i1 %.not150, label %914, label %915

914:                                              ; preds = %910, %903
  br label %915

915:                                              ; preds = %910, %914
  %.str.6.sink525 = phi ptr [ @.str.6, %914 ], [ @.str.3, %910 ]
  store i32 %905, ptr %904, align 4, !tbaa !5
  %916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %917 = load i32, ptr @test_count, align 4, !tbaa !5
  %918 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %919 = load i32, ptr %918, align 4, !tbaa !5
  %920 = tail call ptr @s2n_strerror(i32 noundef %919, ptr noundef nonnull @.str.5) #9
  %921 = load i32, ptr %918, align 4, !tbaa !5
  %922 = tail call ptr @s2n_strerror_debug(i32 noundef %921, ptr noundef nonnull @.str.5) #9
  %923 = load i32, ptr %904, align 4, !tbaa !5
  %924 = tail call ptr @strerror(i32 noundef %923) #9
  %925 = load i32, ptr %904, align 4, !tbaa !5
  %926 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %916, ptr noundef nonnull %.str.6.sink525, i32 noundef %917, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.2, i32 noundef 85, ptr noundef %920, ptr noundef %922, ptr noundef %924, i32 noundef %925) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

927:                                              ; preds = %897
  %928 = load i32, ptr @test_count, align 4, !tbaa !5
  %929 = add nsw i32 %928, 1
  store i32 %929, ptr @test_count, align 4, !tbaa !5
  %930 = tail call ptr @s2n_strerror_name(i32 noundef 335544400) #9
  %931 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %930, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %932 = icmp eq i32 %931, 0
  br i1 %932, label %957, label %933

933:                                              ; preds = %927
  %934 = tail call ptr @__errno_location() #10
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %937 = tail call i32 @s2n_print_stacktrace(ptr noundef %936) #9
  %938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %939 = trunc nuw i8 %938 to i1
  br i1 %939, label %940, label %944

940:                                              ; preds = %933
  %941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %942 = tail call i32 @fileno(ptr noundef %941) #9
  %943 = tail call i32 @isatty(i32 noundef %942) #9
  %.not151 = icmp eq i32 %943, 0
  br i1 %.not151, label %944, label %945

944:                                              ; preds = %940, %933
  br label %945

945:                                              ; preds = %940, %944
  %.str.6.sink536 = phi ptr [ @.str.6, %944 ], [ @.str.3, %940 ]
  store i32 %935, ptr %934, align 4, !tbaa !5
  %946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %947 = load i32, ptr @test_count, align 4, !tbaa !5
  %948 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = tail call ptr @s2n_strerror(i32 noundef %949, ptr noundef nonnull @.str.5) #9
  %951 = load i32, ptr %948, align 4, !tbaa !5
  %952 = tail call ptr @s2n_strerror_debug(i32 noundef %951, ptr noundef nonnull @.str.5) #9
  %953 = load i32, ptr %934, align 4, !tbaa !5
  %954 = tail call ptr @strerror(i32 noundef %953) #9
  %955 = load i32, ptr %934, align 4, !tbaa !5
  %956 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %946, ptr noundef nonnull %.str.6.sink536, i32 noundef %947, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.2, i32 noundef 87, ptr noundef %950, ptr noundef %952, ptr noundef %954, i32 noundef %955) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

957:                                              ; preds = %927
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = add nsw i32 %958, 1
  store i32 %959, ptr @test_count, align 4, !tbaa !5
  %960 = tail call ptr @s2n_strerror(i32 noundef 335544400, ptr noundef nonnull @.str.5) #9
  %961 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %960, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %962 = icmp eq i32 %961, 0
  br i1 %962, label %987, label %963

963:                                              ; preds = %957
  %964 = tail call ptr @__errno_location() #10
  %965 = load i32, ptr %964, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = tail call i32 @s2n_print_stacktrace(ptr noundef %966) #9
  %968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %969 = trunc nuw i8 %968 to i1
  br i1 %969, label %970, label %974

970:                                              ; preds = %963
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = tail call i32 @fileno(ptr noundef %971) #9
  %973 = tail call i32 @isatty(i32 noundef %972) #9
  %.not152 = icmp eq i32 %973, 0
  br i1 %.not152, label %974, label %975

974:                                              ; preds = %970, %963
  br label %975

975:                                              ; preds = %970, %974
  %.str.6.sink547 = phi ptr [ @.str.6, %974 ], [ @.str.3, %970 ]
  store i32 %965, ptr %964, align 4, !tbaa !5
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = load i32, ptr @test_count, align 4, !tbaa !5
  %978 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %979 = load i32, ptr %978, align 4, !tbaa !5
  %980 = tail call ptr @s2n_strerror(i32 noundef %979, ptr noundef nonnull @.str.5) #9
  %981 = load i32, ptr %978, align 4, !tbaa !5
  %982 = tail call ptr @s2n_strerror_debug(i32 noundef %981, ptr noundef nonnull @.str.5) #9
  %983 = load i32, ptr %964, align 4, !tbaa !5
  %984 = tail call ptr @strerror(i32 noundef %983) #9
  %985 = load i32, ptr %964, align 4, !tbaa !5
  %986 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %976, ptr noundef nonnull %.str.6.sink547, i32 noundef %977, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.2, i32 noundef 88, ptr noundef %980, ptr noundef %982, ptr noundef %984, i32 noundef %985) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

987:                                              ; preds = %957
  %988 = load i32, ptr @test_count, align 4, !tbaa !5
  %989 = add nsw i32 %988, 1
  store i32 %989, ptr @test_count, align 4, !tbaa !5
  %990 = tail call ptr @s2n_strerror_name(i32 noundef 402653274) #9
  %991 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %990, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %992 = icmp eq i32 %991, 0
  br i1 %992, label %1017, label %993

993:                                              ; preds = %987
  %994 = tail call ptr @__errno_location() #10
  %995 = load i32, ptr %994, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = tail call i32 @s2n_print_stacktrace(ptr noundef %996) #9
  %998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %999 = trunc nuw i8 %998 to i1
  br i1 %999, label %1000, label %1004

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

1004:                                             ; preds = %1000, %993
  br label %1005

1005:                                             ; preds = %1000, %1004
  %.str.6.sink558 = phi ptr [ @.str.6, %1004 ], [ @.str.3, %1000 ]
  store i32 %995, ptr %994, align 4, !tbaa !5
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = load i32, ptr @test_count, align 4, !tbaa !5
  %1008 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1009 = load i32, ptr %1008, align 4, !tbaa !5
  %1010 = tail call ptr @s2n_strerror(i32 noundef %1009, ptr noundef nonnull @.str.5) #9
  %1011 = load i32, ptr %1008, align 4, !tbaa !5
  %1012 = tail call ptr @s2n_strerror_debug(i32 noundef %1011, ptr noundef nonnull @.str.5) #9
  %1013 = load i32, ptr %994, align 4, !tbaa !5
  %1014 = tail call ptr @strerror(i32 noundef %1013) #9
  %1015 = load i32, ptr %994, align 4, !tbaa !5
  %1016 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1006, ptr noundef nonnull %.str.6.sink558, i32 noundef %1007, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.2, i32 noundef 90, ptr noundef %1010, ptr noundef %1012, ptr noundef %1014, i32 noundef %1015) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1017:                                             ; preds = %987
  %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 = tail call ptr @s2n_strerror(i32 noundef 402653274, ptr noundef nonnull @.str.5) #9
  %1021 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1020, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %1022 = icmp eq i32 %1021, 0
  br i1 %1022, label %1047, label %1023

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

1030:                                             ; preds = %1023
  %1031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1032 = tail call i32 @fileno(ptr noundef %1031) #9
  %1033 = tail call i32 @isatty(i32 noundef %1032) #9
  %.not154 = icmp eq i32 %1033, 0
  br i1 %.not154, label %1034, label %1035

1034:                                             ; preds = %1030, %1023
  br label %1035

1035:                                             ; preds = %1030, %1034
  %.str.6.sink569 = phi ptr [ @.str.6, %1034 ], [ @.str.3, %1030 ]
  store i32 %1025, ptr %1024, align 4, !tbaa !5
  %1036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1037 = load i32, ptr @test_count, align 4, !tbaa !5
  %1038 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1039 = load i32, ptr %1038, align 4, !tbaa !5
  %1040 = tail call ptr @s2n_strerror(i32 noundef %1039, ptr noundef nonnull @.str.5) #9
  %1041 = load i32, ptr %1038, align 4, !tbaa !5
  %1042 = tail call ptr @s2n_strerror_debug(i32 noundef %1041, ptr noundef nonnull @.str.5) #9
  %1043 = load i32, ptr %1024, align 4, !tbaa !5
  %1044 = tail call ptr @strerror(i32 noundef %1043) #9
  %1045 = load i32, ptr %1024, align 4, !tbaa !5
  %1046 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1036, ptr noundef nonnull %.str.6.sink569, i32 noundef %1037, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.2, i32 noundef 91, ptr noundef %1040, ptr noundef %1042, ptr noundef %1044, i32 noundef %1045) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1047:                                             ; preds = %1017
  %1048 = load i32, ptr @test_count, align 4, !tbaa !5
  %1049 = add nsw i32 %1048, 1
  store i32 %1049, ptr @test_count, align 4, !tbaa !5
  %1050 = tail call ptr @s2n_strerror_name(i32 noundef 469762138) #9
  %1051 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1050, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %1052 = icmp eq i32 %1051, 0
  br i1 %1052, label %1077, label %1053

1053:                                             ; preds = %1047
  %1054 = tail call ptr @__errno_location() #10
  %1055 = load i32, ptr %1054, align 4, !tbaa !5
  %1056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1057 = tail call i32 @s2n_print_stacktrace(ptr noundef %1056) #9
  %1058 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1059 = trunc nuw i8 %1058 to i1
  br i1 %1059, label %1060, label %1064

1060:                                             ; preds = %1053
  %1061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1062 = tail call i32 @fileno(ptr noundef %1061) #9
  %1063 = tail call i32 @isatty(i32 noundef %1062) #9
  %.not155 = icmp eq i32 %1063, 0
  br i1 %.not155, label %1064, label %1065

1064:                                             ; preds = %1060, %1053
  br label %1065

1065:                                             ; preds = %1060, %1064
  %.str.6.sink580 = phi ptr [ @.str.6, %1064 ], [ @.str.3, %1060 ]
  store i32 %1055, ptr %1054, align 4, !tbaa !5
  %1066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1067 = load i32, ptr @test_count, align 4, !tbaa !5
  %1068 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1069 = load i32, ptr %1068, align 4, !tbaa !5
  %1070 = tail call ptr @s2n_strerror(i32 noundef %1069, ptr noundef nonnull @.str.5) #9
  %1071 = load i32, ptr %1068, align 4, !tbaa !5
  %1072 = tail call ptr @s2n_strerror_debug(i32 noundef %1071, ptr noundef nonnull @.str.5) #9
  %1073 = load i32, ptr %1054, align 4, !tbaa !5
  %1074 = tail call ptr @strerror(i32 noundef %1073) #9
  %1075 = load i32, ptr %1054, align 4, !tbaa !5
  %1076 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1066, ptr noundef nonnull %.str.6.sink580, i32 noundef %1067, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.2, i32 noundef 93, ptr noundef %1070, ptr noundef %1072, ptr noundef %1074, i32 noundef %1075) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1077:                                             ; preds = %1047
  %1078 = load i32, ptr @test_count, align 4, !tbaa !5
  %1079 = add nsw i32 %1078, 1
  store i32 %1079, ptr @test_count, align 4, !tbaa !5
  %1080 = tail call ptr @s2n_strerror(i32 noundef 469762138, ptr noundef nonnull @.str.5) #9
  %1081 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1080, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %1082 = icmp eq i32 %1081, 0
  br i1 %1082, label %1107, label %1083

1083:                                             ; preds = %1077
  %1084 = tail call ptr @__errno_location() #10
  %1085 = load i32, ptr %1084, align 4, !tbaa !5
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = tail call i32 @s2n_print_stacktrace(ptr noundef %1086) #9
  %1088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1089 = trunc nuw i8 %1088 to i1
  br i1 %1089, label %1090, label %1094

1090:                                             ; preds = %1083
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = tail call i32 @fileno(ptr noundef %1091) #9
  %1093 = tail call i32 @isatty(i32 noundef %1092) #9
  %.not156 = icmp eq i32 %1093, 0
  br i1 %.not156, label %1094, label %1095

1094:                                             ; preds = %1090, %1083
  br label %1095

1095:                                             ; preds = %1090, %1094
  %.str.6.sink591 = phi ptr [ @.str.6, %1094 ], [ @.str.3, %1090 ]
  store i32 %1085, ptr %1084, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = load i32, ptr @test_count, align 4, !tbaa !5
  %1098 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1099 = load i32, ptr %1098, align 4, !tbaa !5
  %1100 = tail call ptr @s2n_strerror(i32 noundef %1099, ptr noundef nonnull @.str.5) #9
  %1101 = load i32, ptr %1098, align 4, !tbaa !5
  %1102 = tail call ptr @s2n_strerror_debug(i32 noundef %1101, ptr noundef nonnull @.str.5) #9
  %1103 = load i32, ptr %1084, align 4, !tbaa !5
  %1104 = tail call ptr @strerror(i32 noundef %1103) #9
  %1105 = load i32, ptr %1084, align 4, !tbaa !5
  %1106 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1096, ptr noundef nonnull %.str.6.sink591, i32 noundef %1097, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.2, i32 noundef 94, ptr noundef %1100, ptr noundef %1102, ptr noundef %1104, i32 noundef %1105) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1107:                                             ; preds = %1077
  %1108 = load i32, ptr @test_count, align 4, !tbaa !5
  %1109 = add nsw i32 %1108, 1
  store i32 %1109, ptr @test_count, align 4, !tbaa !5
  %1110 = tail call ptr @s2n_strerror_name(i32 noundef 536870912) #9
  %1111 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1110, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %1112 = icmp eq i32 %1111, 0
  br i1 %1112, label %1137, label %1113

1113:                                             ; preds = %1107
  %1114 = tail call ptr @__errno_location() #10
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1117 = tail call i32 @s2n_print_stacktrace(ptr noundef %1116) #9
  %1118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1119 = trunc nuw i8 %1118 to i1
  br i1 %1119, label %1120, label %1124

1120:                                             ; preds = %1113
  %1121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1122 = tail call i32 @fileno(ptr noundef %1121) #9
  %1123 = tail call i32 @isatty(i32 noundef %1122) #9
  %.not157 = icmp eq i32 %1123, 0
  br i1 %.not157, label %1124, label %1125

1124:                                             ; preds = %1120, %1113
  br label %1125

1125:                                             ; preds = %1120, %1124
  %.str.6.sink602 = phi ptr [ @.str.6, %1124 ], [ @.str.3, %1120 ]
  store i32 %1115, ptr %1114, align 4, !tbaa !5
  %1126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1127 = load i32, ptr @test_count, align 4, !tbaa !5
  %1128 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1129 = load i32, ptr %1128, align 4, !tbaa !5
  %1130 = tail call ptr @s2n_strerror(i32 noundef %1129, ptr noundef nonnull @.str.5) #9
  %1131 = load i32, ptr %1128, align 4, !tbaa !5
  %1132 = tail call ptr @s2n_strerror_debug(i32 noundef %1131, ptr noundef nonnull @.str.5) #9
  %1133 = load i32, ptr %1114, align 4, !tbaa !5
  %1134 = tail call ptr @strerror(i32 noundef %1133) #9
  %1135 = load i32, ptr %1114, align 4, !tbaa !5
  %1136 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1126, ptr noundef nonnull %.str.6.sink602, i32 noundef %1127, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.2, i32 noundef 97, ptr noundef %1130, ptr noundef %1132, ptr noundef %1134, i32 noundef %1135) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1137:                                             ; preds = %1107
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = add nsw i32 %1138, 1
  store i32 %1139, ptr @test_count, align 4, !tbaa !5
  %1140 = tail call ptr @s2n_strerror(i32 noundef 536870912, ptr noundef nonnull @.str.5) #9
  %1141 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1140, ptr noundef nonnull dereferenceable(1) @.str.10) #13
  %1142 = icmp eq i32 %1141, 0
  br i1 %1142, label %1167, label %1143

1143:                                             ; preds = %1137
  %1144 = tail call ptr @__errno_location() #10
  %1145 = load i32, ptr %1144, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = tail call i32 @s2n_print_stacktrace(ptr noundef %1146) #9
  %1148 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1149 = trunc nuw i8 %1148 to i1
  br i1 %1149, label %1150, label %1154

1150:                                             ; preds = %1143
  %1151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1152 = tail call i32 @fileno(ptr noundef %1151) #9
  %1153 = tail call i32 @isatty(i32 noundef %1152) #9
  %.not158 = icmp eq i32 %1153, 0
  br i1 %.not158, label %1154, label %1155

1154:                                             ; preds = %1150, %1143
  br label %1155

1155:                                             ; preds = %1150, %1154
  %.str.6.sink613 = phi ptr [ @.str.6, %1154 ], [ @.str.3, %1150 ]
  store i32 %1145, ptr %1144, align 4, !tbaa !5
  %1156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1157 = load i32, ptr @test_count, align 4, !tbaa !5
  %1158 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1159 = load i32, ptr %1158, align 4, !tbaa !5
  %1160 = tail call ptr @s2n_strerror(i32 noundef %1159, ptr noundef nonnull @.str.5) #9
  %1161 = load i32, ptr %1158, align 4, !tbaa !5
  %1162 = tail call ptr @s2n_strerror_debug(i32 noundef %1161, ptr noundef nonnull @.str.5) #9
  %1163 = load i32, ptr %1144, align 4, !tbaa !5
  %1164 = tail call ptr @strerror(i32 noundef %1163) #9
  %1165 = load i32, ptr %1144, align 4, !tbaa !5
  %1166 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1156, ptr noundef nonnull %.str.6.sink613, i32 noundef %1157, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.2, i32 noundef 98, ptr noundef %1160, ptr noundef %1162, ptr noundef %1164, i32 noundef %1165) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1167:                                             ; preds = %1137
  %1168 = tail call i32 @test_function(i1 noundef zeroext false)
  tail call void @s2n_result_ignore(i32 %1168)
  %1169 = load i32, ptr @test_count, align 4, !tbaa !5
  %1170 = add nsw i32 %1169, 1
  store i32 %1170, ptr @test_count, align 4, !tbaa !5
  %1171 = tail call ptr @s2n_strerror_source(i32 noundef 402653194) #9
  %1172 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1171, ptr noundef nonnull dereferenceable(1) @.str.31) #13
  %1173 = icmp eq i32 %1172, 0
  br i1 %1173, label %1198, label %1174

1174:                                             ; preds = %1167
  %1175 = tail call ptr @__errno_location() #10
  %1176 = load i32, ptr %1175, align 4, !tbaa !5
  %1177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1178 = tail call i32 @s2n_print_stacktrace(ptr noundef %1177) #9
  %1179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1180 = trunc nuw i8 %1179 to i1
  br i1 %1180, label %1181, label %1185

1181:                                             ; preds = %1174
  %1182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1183 = tail call i32 @fileno(ptr noundef %1182) #9
  %1184 = tail call i32 @isatty(i32 noundef %1183) #9
  %.not159 = icmp eq i32 %1184, 0
  br i1 %.not159, label %1185, label %1186

1185:                                             ; preds = %1181, %1174
  br label %1186

1186:                                             ; preds = %1181, %1185
  %.str.6.sink624 = phi ptr [ @.str.6, %1185 ], [ @.str.3, %1181 ]
  store i32 %1176, ptr %1175, align 4, !tbaa !5
  %1187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1188 = load i32, ptr @test_count, align 4, !tbaa !5
  %1189 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1190 = load i32, ptr %1189, align 4, !tbaa !5
  %1191 = tail call ptr @s2n_strerror(i32 noundef %1190, ptr noundef nonnull @.str.5) #9
  %1192 = load i32, ptr %1189, align 4, !tbaa !5
  %1193 = tail call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef nonnull @.str.5) #9
  %1194 = load i32, ptr %1175, align 4, !tbaa !5
  %1195 = tail call ptr @strerror(i32 noundef %1194) #9
  %1196 = load i32, ptr %1175, align 4, !tbaa !5
  %1197 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1187, ptr noundef nonnull %.str.6.sink624, i32 noundef %1188, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.2, i32 noundef 102, ptr noundef %1191, ptr noundef %1193, ptr noundef %1195, i32 noundef %1196) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1198:                                             ; preds = %1167
  %1199 = load i32, ptr @test_count, align 4, !tbaa !5
  %1200 = add nsw i32 %1199, 1
  store i32 %1200, ptr @test_count, align 4, !tbaa !5
  %1201 = tail call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.33, i64 21), i32 noundef 47) #13
  %.not160 = icmp eq ptr %1201, null
  %1202 = getelementptr inbounds i8, ptr %1201, i64 1
  %1203 = select i1 %.not160, ptr getelementptr inbounds (i8, ptr @.str.33, i64 21), ptr %1202
  %1204 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1203, ptr noundef nonnull dereferenceable(1) @.str.34) #13
  %1205 = icmp eq i32 %1204, 0
  br i1 %1205, label %1230, label %1206

1206:                                             ; preds = %1198
  %1207 = tail call ptr @__errno_location() #10
  %1208 = load i32, ptr %1207, align 4, !tbaa !5
  %1209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1210 = tail call i32 @s2n_print_stacktrace(ptr noundef %1209) #9
  %1211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1212 = trunc nuw i8 %1211 to i1
  br i1 %1212, label %1213, label %1217

1213:                                             ; preds = %1206
  %1214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1215 = tail call i32 @fileno(ptr noundef %1214) #9
  %1216 = tail call i32 @isatty(i32 noundef %1215) #9
  %.not161 = icmp eq i32 %1216, 0
  br i1 %.not161, label %1217, label %1218

1217:                                             ; preds = %1213, %1206
  br label %1218

1218:                                             ; preds = %1213, %1217
  %.str.6.sink635 = phi ptr [ @.str.6, %1217 ], [ @.str.3, %1213 ]
  store i32 %1208, ptr %1207, align 4, !tbaa !5
  %1219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1220 = load i32, ptr @test_count, align 4, !tbaa !5
  %1221 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1222 = load i32, ptr %1221, align 4, !tbaa !5
  %1223 = tail call ptr @s2n_strerror(i32 noundef %1222, ptr noundef nonnull @.str.5) #9
  %1224 = load i32, ptr %1221, align 4, !tbaa !5
  %1225 = tail call ptr @s2n_strerror_debug(i32 noundef %1224, ptr noundef nonnull @.str.5) #9
  %1226 = load i32, ptr %1207, align 4, !tbaa !5
  %1227 = tail call ptr @strerror(i32 noundef %1226) #9
  %1228 = load i32, ptr %1207, align 4, !tbaa !5
  %1229 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1219, ptr noundef nonnull %.str.6.sink635, i32 noundef %1220, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.2, i32 noundef 104, ptr noundef %1223, ptr noundef %1225, ptr noundef %1227, i32 noundef %1228) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1230:                                             ; preds = %1198
  %1231 = add nsw i32 %1199, 2
  store i32 %1231, ptr @test_count, align 4, !tbaa !5
  %1232 = tail call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.36, i64 21), i32 noundef 47) #13
  %.not162 = icmp eq ptr %1232, null
  %1233 = getelementptr inbounds i8, ptr %1232, i64 1
  %1234 = select i1 %.not162, ptr getelementptr inbounds (i8, ptr @.str.36, i64 21), ptr %1233
  %1235 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1234, ptr noundef nonnull dereferenceable(1) @.str.34) #13
  %1236 = icmp eq i32 %1235, 0
  br i1 %1236, label %1261, label %1237

1237:                                             ; preds = %1230
  %1238 = tail call ptr @__errno_location() #10
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1241 = tail call i32 @s2n_print_stacktrace(ptr noundef %1240) #9
  %1242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1243 = trunc nuw i8 %1242 to i1
  br i1 %1243, label %1244, label %1248

1244:                                             ; preds = %1237
  %1245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1246 = tail call i32 @fileno(ptr noundef %1245) #9
  %1247 = tail call i32 @isatty(i32 noundef %1246) #9
  %.not163 = icmp eq i32 %1247, 0
  br i1 %.not163, label %1248, label %1249

1248:                                             ; preds = %1244, %1237
  br label %1249

1249:                                             ; preds = %1244, %1248
  %.str.6.sink646 = phi ptr [ @.str.6, %1248 ], [ @.str.3, %1244 ]
  store i32 %1239, ptr %1238, align 4, !tbaa !5
  %1250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1251 = load i32, ptr @test_count, align 4, !tbaa !5
  %1252 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1253 = load i32, ptr %1252, align 4, !tbaa !5
  %1254 = tail call ptr @s2n_strerror(i32 noundef %1253, ptr noundef nonnull @.str.5) #9
  %1255 = load i32, ptr %1252, align 4, !tbaa !5
  %1256 = tail call ptr @s2n_strerror_debug(i32 noundef %1255, ptr noundef nonnull @.str.5) #9
  %1257 = load i32, ptr %1238, align 4, !tbaa !5
  %1258 = tail call ptr @strerror(i32 noundef %1257) #9
  %1259 = load i32, ptr %1238, align 4, !tbaa !5
  %1260 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1250, ptr noundef nonnull %.str.6.sink646, i32 noundef %1251, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.2, i32 noundef 105, ptr noundef %1254, ptr noundef %1256, ptr noundef %1258, i32 noundef %1259) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1261:                                             ; preds = %1230
  %1262 = add nsw i32 %1199, 3
  store i32 %1262, ptr @test_count, align 4, !tbaa !5
  %1263 = tail call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.38, i64 21), i32 noundef 47) #13
  %.not164 = icmp eq ptr %1263, null
  %1264 = getelementptr inbounds i8, ptr %1263, i64 1
  %1265 = select i1 %.not164, ptr getelementptr inbounds (i8, ptr @.str.38, i64 21), ptr %1264
  %1266 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1265, ptr noundef nonnull dereferenceable(1) @.str.34) #13
  %1267 = icmp eq i32 %1266, 0
  br i1 %1267, label %1292, label %1268

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

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

1279:                                             ; preds = %1275, %1268
  br label %1280

1280:                                             ; preds = %1275, %1279
  %.str.6.sink657 = phi ptr [ @.str.6, %1279 ], [ @.str.3, %1275 ]
  store i32 %1270, ptr %1269, align 4, !tbaa !5
  %1281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1282 = load i32, ptr @test_count, align 4, !tbaa !5
  %1283 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1284 = load i32, ptr %1283, align 4, !tbaa !5
  %1285 = tail call ptr @s2n_strerror(i32 noundef %1284, ptr noundef nonnull @.str.5) #9
  %1286 = load i32, ptr %1283, align 4, !tbaa !5
  %1287 = tail call ptr @s2n_strerror_debug(i32 noundef %1286, ptr noundef nonnull @.str.5) #9
  %1288 = load i32, ptr %1269, align 4, !tbaa !5
  %1289 = tail call ptr @strerror(i32 noundef %1288) #9
  %1290 = load i32, ptr %1269, align 4, !tbaa !5
  %1291 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1281, ptr noundef nonnull %.str.6.sink657, i32 noundef %1282, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.2, i32 noundef 106, ptr noundef %1285, ptr noundef %1287, ptr noundef %1289, i32 noundef %1290) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1292:                                             ; preds = %1261
  %1293 = add nsw i32 %1199, 4
  store i32 %1293, ptr @test_count, align 4, !tbaa !5
  %1294 = tail call ptr @strrchr(ptr noundef nonnull dereferenceable(1) getelementptr inbounds (i8, ptr @.str.40, i64 21), i32 noundef 47) #13
  %.not166 = icmp eq ptr %1294, null
  %1295 = getelementptr inbounds i8, ptr %1294, i64 1
  %1296 = select i1 %.not166, ptr getelementptr inbounds (i8, ptr @.str.40, i64 21), ptr %1295
  %1297 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1296, ptr noundef nonnull dereferenceable(1) @.str.34) #13
  %1298 = icmp eq i32 %1297, 0
  br i1 %1298, label %1323, label %1299

1299:                                             ; preds = %1292
  %1300 = tail call ptr @__errno_location() #10
  %1301 = load i32, ptr %1300, align 4, !tbaa !5
  %1302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1303 = tail call i32 @s2n_print_stacktrace(ptr noundef %1302) #9
  %1304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1305 = trunc nuw i8 %1304 to i1
  br i1 %1305, label %1306, label %1310

1306:                                             ; preds = %1299
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = tail call i32 @fileno(ptr noundef %1307) #9
  %1309 = tail call i32 @isatty(i32 noundef %1308) #9
  %.not167 = icmp eq i32 %1309, 0
  br i1 %.not167, label %1310, label %1311

1310:                                             ; preds = %1306, %1299
  br label %1311

1311:                                             ; preds = %1306, %1310
  %.str.6.sink668 = phi ptr [ @.str.6, %1310 ], [ @.str.3, %1306 ]
  store i32 %1301, ptr %1300, align 4, !tbaa !5
  %1312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1313 = load i32, ptr @test_count, align 4, !tbaa !5
  %1314 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1315 = load i32, ptr %1314, align 4, !tbaa !5
  %1316 = tail call ptr @s2n_strerror(i32 noundef %1315, ptr noundef nonnull @.str.5) #9
  %1317 = load i32, ptr %1314, align 4, !tbaa !5
  %1318 = tail call ptr @s2n_strerror_debug(i32 noundef %1317, ptr noundef nonnull @.str.5) #9
  %1319 = load i32, ptr %1300, align 4, !tbaa !5
  %1320 = tail call ptr @strerror(i32 noundef %1319) #9
  %1321 = load i32, ptr %1300, align 4, !tbaa !5
  %1322 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1312, ptr noundef nonnull %.str.6.sink668, i32 noundef %1313, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.2, i32 noundef 107, ptr noundef %1316, ptr noundef %1318, ptr noundef %1320, i32 noundef %1321) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1323:                                             ; preds = %1292
  %1324 = add nsw i32 %1199, 5
  store i32 %1324, ptr @test_count, align 4, !tbaa !5
  %1325 = tail call i32 @s2n_cleanup() #9
  %1326 = icmp eq i32 %1325, -1
  br i1 %1326, label %1327, label %1351

1327:                                             ; preds = %1323
  %1328 = tail call ptr @__errno_location() #10
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = tail call i32 @s2n_print_stacktrace(ptr noundef %1330) #9
  %1332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1333 = trunc nuw i8 %1332 to i1
  br i1 %1333, label %1334, label %1338

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

1338:                                             ; preds = %1334, %1327
  br label %1339

1339:                                             ; preds = %1334, %1338
  %.str.6.sink679 = phi ptr [ @.str.6, %1338 ], [ @.str.3, %1334 ]
  store i32 %1329, ptr %1328, align 4, !tbaa !5
  %1340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1341 = load i32, ptr @test_count, align 4, !tbaa !5
  %1342 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1343 = load i32, ptr %1342, align 4, !tbaa !5
  %1344 = tail call ptr @s2n_strerror(i32 noundef %1343, ptr noundef nonnull @.str.5) #9
  %1345 = load i32, ptr %1342, align 4, !tbaa !5
  %1346 = tail call ptr @s2n_strerror_debug(i32 noundef %1345, ptr noundef nonnull @.str.5) #9
  %1347 = load i32, ptr %1328, align 4, !tbaa !5
  %1348 = tail call ptr @strerror(i32 noundef %1347) #9
  %1349 = load i32, ptr %1328, align 4, !tbaa !5
  %1350 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1340, ptr noundef nonnull %.str.6.sink679, i32 noundef %1341, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 110, ptr noundef %1344, ptr noundef %1346, ptr noundef %1348, i32 noundef %1349) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1351:                                             ; preds = %1323
  %1352 = load i32, ptr @test_count, align 4, !tbaa !5
  %1353 = add nsw i32 %1352, 1
  store i32 %1353, ptr @test_count, align 4, !tbaa !5
  %1354 = tail call ptr @s2n_strerror_name(i32 noundef 0) #9
  %1355 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1354, ptr noundef nonnull dereferenceable(1) @.str.43) #13
  %1356 = icmp eq i32 %1355, 0
  br i1 %1356, label %1381, label %1357

1357:                                             ; preds = %1351
  %1358 = tail call ptr @__errno_location() #10
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = tail call i32 @s2n_print_stacktrace(ptr noundef %1360) #9
  %1362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1363 = trunc nuw i8 %1362 to i1
  br i1 %1363, label %1364, label %1368

1364:                                             ; preds = %1357
  %1365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1366 = tail call i32 @fileno(ptr noundef %1365) #9
  %1367 = tail call i32 @isatty(i32 noundef %1366) #9
  %.not168 = icmp eq i32 %1367, 0
  br i1 %.not168, label %1368, label %1369

1368:                                             ; preds = %1364, %1357
  br label %1369

1369:                                             ; preds = %1364, %1368
  %.str.6.sink690 = phi ptr [ @.str.6, %1368 ], [ @.str.3, %1364 ]
  store i32 %1359, ptr %1358, align 4, !tbaa !5
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = load i32, ptr @test_count, align 4, !tbaa !5
  %1372 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = tail call ptr @s2n_strerror(i32 noundef %1373, ptr noundef nonnull @.str.5) #9
  %1375 = load i32, ptr %1372, align 4, !tbaa !5
  %1376 = tail call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef nonnull @.str.5) #9
  %1377 = load i32, ptr %1358, align 4, !tbaa !5
  %1378 = tail call ptr @strerror(i32 noundef %1377) #9
  %1379 = load i32, ptr %1358, align 4, !tbaa !5
  %1380 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1370, ptr noundef nonnull %.str.6.sink690, i32 noundef %1371, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.2, i32 noundef 112, ptr noundef %1374, ptr noundef %1376, ptr noundef %1378, i32 noundef %1379) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1381:                                             ; preds = %1351
  %1382 = load i32, ptr @test_count, align 4, !tbaa !5
  %1383 = add nsw i32 %1382, 1
  store i32 %1383, ptr @test_count, align 4, !tbaa !5
  %1384 = tail call ptr @s2n_strerror(i32 noundef 0, ptr noundef nonnull @.str.5) #9
  %1385 = tail call i32 @strcmp(ptr noundef nonnull dereferenceable(1) %1384, ptr noundef nonnull dereferenceable(1) @.str.45) #13
  %1386 = icmp eq i32 %1385, 0
  br i1 %1386, label %1411, label %1387

1387:                                             ; preds = %1381
  %1388 = tail call ptr @__errno_location() #10
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = tail call i32 @s2n_print_stacktrace(ptr noundef %1390) #9
  %1392 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1393 = trunc nuw i8 %1392 to i1
  br i1 %1393, label %1394, label %1398

1394:                                             ; preds = %1387
  %1395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1396 = tail call i32 @fileno(ptr noundef %1395) #9
  %1397 = tail call i32 @isatty(i32 noundef %1396) #9
  %.not169 = icmp eq i32 %1397, 0
  br i1 %.not169, label %1398, label %1399

1398:                                             ; preds = %1394, %1387
  br label %1399

1399:                                             ; preds = %1394, %1398
  %.str.6.sink701 = phi ptr [ @.str.6, %1398 ], [ @.str.3, %1394 ]
  store i32 %1389, ptr %1388, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %1402 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = tail call ptr @s2n_strerror(i32 noundef %1403, ptr noundef nonnull @.str.5) #9
  %1405 = load i32, ptr %1402, align 4, !tbaa !5
  %1406 = tail call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef nonnull @.str.5) #9
  %1407 = load i32, ptr %1388, align 4, !tbaa !5
  %1408 = tail call ptr @strerror(i32 noundef %1407) #9
  %1409 = load i32, ptr %1388, align 4, !tbaa !5
  %1410 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef nonnull %.str.6.sink701, i32 noundef %1401, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.2, i32 noundef 113, ptr noundef %1404, ptr noundef %1406, ptr noundef %1408, i32 noundef %1409) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1411:                                             ; preds = %1381
  %1412 = tail call i32 @s2n_cleanup() #9
  %1413 = icmp eq i32 %1412, -1
  br i1 %1413, label %1414, label %1438

1414:                                             ; preds = %1411
  %1415 = tail call ptr @__errno_location() #10
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = tail call i32 @s2n_print_stacktrace(ptr noundef %1417) #9
  %1419 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1420 = trunc nuw i8 %1419 to i1
  br i1 %1420, label %1421, label %1425

1421:                                             ; preds = %1414
  %1422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1423 = tail call i32 @fileno(ptr noundef %1422) #9
  %1424 = tail call i32 @isatty(i32 noundef %1423) #9
  %.not174 = icmp eq i32 %1424, 0
  br i1 %.not174, label %1425, label %1426

1425:                                             ; preds = %1421, %1414
  br label %1426

1426:                                             ; preds = %1421, %1425
  %.str.6.sink712 = phi ptr [ @.str.6, %1425 ], [ @.str.3, %1421 ]
  store i32 %1416, ptr %1415, align 4, !tbaa !5
  %1427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1428 = load i32, ptr @test_count, align 4, !tbaa !5
  %1429 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = tail call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.5) #9
  %1432 = load i32, ptr %1429, align 4, !tbaa !5
  %1433 = tail call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.5) #9
  %1434 = load i32, ptr %1415, align 4, !tbaa !5
  %1435 = tail call ptr @strerror(i32 noundef %1434) #9
  %1436 = load i32, ptr %1415, align 4, !tbaa !5
  %1437 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1427, ptr noundef nonnull %.str.6.sink712, i32 noundef %1428, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1438:                                             ; preds = %1411
  %1439 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #9
  %1440 = icmp eq i32 %1439, -1
  br i1 %1440, label %1441, label %1465

1441:                                             ; preds = %1438
  %1442 = tail call ptr @__errno_location() #10
  %1443 = load i32, ptr %1442, align 4, !tbaa !5
  %1444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1445 = tail call i32 @s2n_print_stacktrace(ptr noundef %1444) #9
  %1446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1447 = trunc nuw i8 %1446 to i1
  br i1 %1447, label %1448, label %1452

1448:                                             ; preds = %1441
  %1449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1450 = tail call i32 @fileno(ptr noundef %1449) #9
  %1451 = tail call i32 @isatty(i32 noundef %1450) #9
  %.not173 = icmp eq i32 %1451, 0
  br i1 %.not173, label %1452, label %1453

1452:                                             ; preds = %1448, %1441
  br label %1453

1453:                                             ; preds = %1448, %1452
  %.str.6.sink723 = phi ptr [ @.str.6, %1452 ], [ @.str.3, %1448 ]
  store i32 %1443, ptr %1442, align 4, !tbaa !5
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1457 = load i32, ptr %1456, align 4, !tbaa !5
  %1458 = tail call ptr @s2n_strerror(i32 noundef %1457, ptr noundef nonnull @.str.5) #9
  %1459 = load i32, ptr %1456, align 4, !tbaa !5
  %1460 = tail call ptr @s2n_strerror_debug(i32 noundef %1459, ptr noundef nonnull @.str.5) #9
  %1461 = load i32, ptr %1442, align 4, !tbaa !5
  %1462 = tail call ptr @strerror(i32 noundef %1461) #9
  %1463 = load i32, ptr %1442, align 4, !tbaa !5
  %1464 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1454, ptr noundef nonnull %.str.6.sink723, i32 noundef %1455, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.2, i32 noundef 115, ptr noundef %1458, ptr noundef %1460, ptr noundef %1462, i32 noundef %1463) #11
  tail call void @exit(i32 noundef 1) #12
  unreachable

1465:                                             ; preds = %1438
  %1466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1467 = trunc nuw i8 %1466 to i1
  br i1 %1467, label %1468, label %1479

1468:                                             ; preds = %1465
  %1469 = load ptr, ptr @stdout, align 8, !tbaa !9
  %1470 = tail call i32 @fileno(ptr noundef %1469) #9
  %1471 = tail call i32 @isatty(i32 noundef %1470) #9
  %.not170 = icmp eq i32 %1471, 0
  br i1 %.not170, label %1479, label %1472

1472:                                             ; preds = %1468
  %1473 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not172 = icmp eq i32 %1473, 0
  %1474 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not172, label %1477, label %1475

1475:                                             ; preds = %1472
  %1476 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1474, ptr noundef nonnull @.str.48, i32 noundef %1473) #9
  br label %1486

1477:                                             ; preds = %1472
  %1478 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1474, ptr noundef nonnull @.str.49) #9
  br label %1486

1479:                                             ; preds = %1468, %1465
  %1480 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not171 = icmp eq i32 %1480, 0
  %1481 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not171, label %1484, label %1482

1482:                                             ; preds = %1479
  %1483 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull @.str.50, i32 noundef %1480) #9
  br label %1486

1484:                                             ; preds = %1479
  %1485 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull @.str.51) #9
  br label %1486

1486:                                             ; preds = %1482, %1484, %1475, %1477
  ret i32 0
}

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

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

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #4

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #4

declare i32 @s2n_init() local_unnamed_addr #4

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

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

declare ptr @s2n_strerror_name(i32 noundef) local_unnamed_addr #4

; Function Attrs: inlinehint nounwind uwtable
declare hidden void @s2n_result_ignore(i32) local_unnamed_addr #8

declare ptr @s2n_strerror_source(i32 noundef) local_unnamed_addr #4

declare i32 @s2n_cleanup() local_unnamed_addr #4

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #2 = { 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 #3 = { 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 #4 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { 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 #6 = { 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 = { 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 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { cold nounwind }
attributes #12 = { noreturn nounwind }
attributes #13 = { nounwind willreturn memory(read) }

!llvm.module.flags = !{!0, !1, !2, !3}
!llvm.ident = !{!4}

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = distinct !{!15, !16}
!16 = !{!"llvm.loop.mustprogress"}
!17 = distinct !{!17, !16}
!18 = distinct !{!18, !16}


; Effective O3 passes: EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferFunctionAttrsPass,InstCombinePass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass