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

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

%struct.s2n_extension_type = type { i16, i8, i16, ptr, ptr, ptr, ptr }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_connection = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, [22 x i8], [22 x i8], [22 x i8], i32, i32, %struct.s2n_timer, i64, i64, [32 x i8], i8, i8, i8, i8, i8, i8, i8, ptr, ptr, %struct.s2n_secrets, ptr, ptr, %struct.s2n_kex_parameters, %struct.s2n_handshake_parameters, %struct.s2n_psk_parameters, ptr, i8, i32, [5 x i8], %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, %struct.s2n_stuffer, i32, i64, [2 x i8], %struct.s2n_stuffer, i8, i8, i8, i8, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, %struct.s2n_handshake, i16, i32, i16, i64, i8, i64, i64, i64, %struct.s2n_atomic_flag, %struct.s2n_atomic_flag, [256 x i8], [256 x i8], i32, %struct.s2n_blob, i32, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_client_hello, %struct.s2n_x509_validator, ptr, ptr, i8, i32, %struct.s2n_blob, i32, %struct.s2n_ticket_fields, [138 x i8], %struct.s2n_stuffer, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8, i16, i16, i32, i32, %struct.s2n_blob, i32, %struct.s2n_post_handshake, %struct.s2n_atomic_flag, i8, i8 }
%struct.s2n_timer = type { i64 }
%struct.s2n_secrets = type { %union.anon, i32 }
%union.anon = type { %struct.s2n_tls13_secrets }
%struct.s2n_tls13_secrets = type { [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], [48 x i8], i32 }
%struct.s2n_kex_parameters = type { %struct.s2n_dh_params, %struct.s2n_ecc_evp_params, [4 x ptr], %struct.s2n_ecc_evp_params, %struct.s2n_kem_group_params, %struct.s2n_kem_group_params, [8 x ptr], %struct.s2n_kem_params, %struct.s2n_blob, %struct.s2n_blob }
%struct.s2n_dh_params = type { ptr }
%struct.s2n_ecc_evp_params = type { ptr, ptr }
%struct.s2n_kem_group_params = type { ptr, %struct.s2n_kem_params, %struct.s2n_ecc_evp_params }
%struct.s2n_kem_params = type { ptr, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8 }
%struct.s2n_handshake_parameters = type { %struct.s2n_pkey, %struct.s2n_pkey, %struct.s2n_blob, i32, %struct.s2n_sig_scheme_list, ptr, ptr, ptr, [4 x ptr], [4 x ptr], i8, i8, [32 x i8], [32 x i8] }
%struct.s2n_pkey = type { ptr, ptr, ptr, ptr, ptr, ptr }
%struct.s2n_sig_scheme_list = type { [128 x i16], i8 }
%struct.s2n_psk_parameters = type { i32, %struct.s2n_array, i16, i16, ptr, i32 }
%struct.s2n_array = type { %struct.s2n_blob, i32, i32 }
%struct.s2n_handshake = type { %struct.s2n_stuffer, ptr, [8 x i8], [48 x i8], [48 x i8], i8, i32, i32, i32, i32, %struct.s2n_offered_early_data, i8, i32 }
%struct.s2n_offered_early_data = type { ptr }
%struct.s2n_client_hello = type { %struct.s2n_blob, %struct.s2n_parsed_extensions_list, %struct.s2n_blob, %struct.s2n_blob, %struct.s2n_blob, i8, i8, i8 }
%struct.s2n_parsed_extensions_list = type { [21 x %struct.s2n_parsed_extension], %struct.s2n_blob, i16 }
%struct.s2n_parsed_extension = type { %struct.s2n_blob, i16, i16, i8 }
%struct.s2n_x509_validator = type { ptr, ptr, i8, i8, i16, ptr, i32, ptr, %struct.s2n_cert_validation_info, i8 }
%struct.s2n_cert_validation_info = type { i8, [3 x i8] }
%struct.s2n_ticket_fields = type { %struct.s2n_blob, i32 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }

@s2n_use_color_in_output = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [99 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [76 x i8], align 1
@s2n_client_session_ticket_extension = external constant %struct.s2n_extension_type, align 8
@.str.15 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [147 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [25 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca ptr, align 8
  %11 = alloca i32, align 4
  %12 = alloca ptr, align 8
  %13 = alloca i32, align 4
  %14 = alloca i32, align 4
  %15 = alloca ptr, align 8
  %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 ptr, align 8
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca [138 x i8], align 16
  %28 = alloca %struct.s2n_stuffer, align 8
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca i32, align 4
  %33 = alloca ptr, align 8
  %34 = alloca i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca %struct.s2n_stuffer, align 8
  %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 ptr, align 8
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca %struct.s2n_stuffer, align 8
  %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 ptr, align 8
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca %struct.s2n_stuffer, align 8
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i8, align 1
  %65 = alloca i32, align 4
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca ptr, align 8
  %71 = alloca i32, align 4
  %72 = alloca i32, align 4
  %73 = alloca %struct.s2n_stuffer, align 8
  %74 = alloca i32, align 4
  %75 = alloca i32, align 4
  %76 = alloca i8, align 1
  %77 = alloca i32, align 4
  %78 = alloca i32, align 4
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca i32, align 4
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca i32, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca i32, align 4
  %89 = alloca i32, align 4
  %90 = alloca i32, align 4
  %91 = alloca i32, align 4
  %92 = alloca i32, align 4
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %96

96:                                               ; preds = %2
  br label %97

97:                                               ; preds = %96
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %98 = load ptr, ptr @stdout, align 8, !tbaa !9
  %99 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %98, ptr noundef @.str, ptr noundef @.str.1) #9
  %100 = load ptr, ptr @stdout, align 8, !tbaa !9
  %101 = call i32 @fflush(ptr noundef %100)
  br label %102

102:                                              ; preds = %97
  %103 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %104 = icmp eq i32 %103, -1
  br i1 %104, label %105, label %156

105:                                              ; preds = %102
  br label %106

106:                                              ; preds = %105
  br label %107

107:                                              ; preds = %106
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #9
  %108 = call ptr @__errno_location() #10
  %109 = load i32, ptr %108, align 4, !tbaa !5
  store i32 %109, ptr %6, align 4, !tbaa !5
  %110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %111 = call i32 @s2n_print_stacktrace(ptr noundef %110)
  %112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %113 = trunc i8 %112 to i1
  br i1 %113, label %114, label %136

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

119:                                              ; preds = %114
  %120 = load i32, ptr %6, align 4, !tbaa !5
  %121 = call ptr @__errno_location() #10
  store i32 %120, ptr %121, align 4, !tbaa !5
  %122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %123 = load i32, ptr @test_count, align 4, !tbaa !5
  %124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %125 = load i32, ptr %124, align 4, !tbaa !5
  %126 = call ptr @s2n_strerror(i32 noundef %125, ptr noundef @.str.4)
  %127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %128 = load i32, ptr %127, align 4, !tbaa !5
  %129 = call ptr @s2n_strerror_debug(i32 noundef %128, ptr noundef @.str.4)
  %130 = call ptr @__errno_location() #10
  %131 = load i32, ptr %130, align 4, !tbaa !5
  %132 = call ptr @strerror(i32 noundef %131) #9
  %133 = call ptr @__errno_location() #10
  %134 = load i32, ptr %133, align 4, !tbaa !5
  %135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %122, ptr noundef @.str.2, i32 noundef %123, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 32, ptr noundef %126, ptr noundef %129, ptr noundef %132, i32 noundef %134) #9
  br label %153

136:                                              ; preds = %114, %107
  %137 = load i32, ptr %6, align 4, !tbaa !5
  %138 = call ptr @__errno_location() #10
  store i32 %137, ptr %138, align 4, !tbaa !5
  %139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %140 = load i32, ptr @test_count, align 4, !tbaa !5
  %141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %142 = load i32, ptr %141, align 4, !tbaa !5
  %143 = call ptr @s2n_strerror(i32 noundef %142, ptr noundef @.str.4)
  %144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %145 = load i32, ptr %144, align 4, !tbaa !5
  %146 = call ptr @s2n_strerror_debug(i32 noundef %145, ptr noundef @.str.4)
  %147 = call ptr @__errno_location() #10
  %148 = load i32, ptr %147, align 4, !tbaa !5
  %149 = call ptr @strerror(i32 noundef %148) #9
  %150 = call ptr @__errno_location() #10
  %151 = load i32, ptr %150, align 4, !tbaa !5
  %152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %139, ptr noundef @.str.5, i32 noundef %140, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 32, ptr noundef %143, ptr noundef %146, ptr noundef %149, i32 noundef %151) #9
  br label %153

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

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

155:                                              ; No predecessors!
  br label %156

156:                                              ; preds = %155, %102
  br label %157

157:                                              ; preds = %156
  br label %158

158:                                              ; preds = %157
  %159 = load i32, ptr @test_count, align 4, !tbaa !5
  %160 = add nsw i32 %159, 1
  store i32 %160, ptr @test_count, align 4, !tbaa !5
  %161 = call i32 @s2n_enable_atexit()
  %162 = icmp eq i32 %161, -1
  br i1 %162, label %163, label %214

163:                                              ; preds = %158
  br label %164

164:                                              ; preds = %163
  br label %165

165:                                              ; preds = %164
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  %166 = call ptr @__errno_location() #10
  %167 = load i32, ptr %166, align 4, !tbaa !5
  store i32 %167, ptr %7, align 4, !tbaa !5
  %168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %169 = call i32 @s2n_print_stacktrace(ptr noundef %168)
  %170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %171 = trunc i8 %170 to i1
  br i1 %171, label %172, label %194

172:                                              ; preds = %165
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = call i32 @fileno(ptr noundef %173) #9
  %175 = call i32 @isatty(i32 noundef %174) #9
  %176 = icmp ne i32 %175, 0
  br i1 %176, label %177, label %194

177:                                              ; preds = %172
  %178 = load i32, ptr %7, align 4, !tbaa !5
  %179 = call ptr @__errno_location() #10
  store i32 %178, ptr %179, align 4, !tbaa !5
  %180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %181 = load i32, ptr @test_count, align 4, !tbaa !5
  %182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %183 = load i32, ptr %182, align 4, !tbaa !5
  %184 = call ptr @s2n_strerror(i32 noundef %183, ptr noundef @.str.4)
  %185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = call ptr @s2n_strerror_debug(i32 noundef %186, ptr noundef @.str.4)
  %188 = call ptr @__errno_location() #10
  %189 = load i32, ptr %188, align 4, !tbaa !5
  %190 = call ptr @strerror(i32 noundef %189) #9
  %191 = call ptr @__errno_location() #10
  %192 = load i32, ptr %191, align 4, !tbaa !5
  %193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %180, ptr noundef @.str.2, i32 noundef %181, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 32, ptr noundef %184, ptr noundef %187, ptr noundef %190, i32 noundef %192) #9
  br label %211

194:                                              ; preds = %172, %165
  %195 = load i32, ptr %7, align 4, !tbaa !5
  %196 = call ptr @__errno_location() #10
  store i32 %195, ptr %196, align 4, !tbaa !5
  %197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %198 = load i32, ptr @test_count, align 4, !tbaa !5
  %199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %200 = load i32, ptr %199, align 4, !tbaa !5
  %201 = call ptr @s2n_strerror(i32 noundef %200, ptr noundef @.str.4)
  %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_debug(i32 noundef %203, ptr noundef @.str.4)
  %205 = call ptr @__errno_location() #10
  %206 = load i32, ptr %205, align 4, !tbaa !5
  %207 = call ptr @strerror(i32 noundef %206) #9
  %208 = call ptr @__errno_location() #10
  %209 = load i32, ptr %208, align 4, !tbaa !5
  %210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %197, ptr noundef @.str.5, i32 noundef %198, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 32, ptr noundef %201, ptr noundef %204, ptr noundef %207, i32 noundef %209) #9
  br label %211

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

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

213:                                              ; No predecessors!
  br label %214

214:                                              ; preds = %213, %158
  br label %215

215:                                              ; preds = %214
  br label %216

216:                                              ; preds = %215
  br label %217

217:                                              ; preds = %216
  %218 = call i32 @s2n_init()
  %219 = icmp eq i32 %218, -1
  br i1 %219, label %220, label %271

220:                                              ; preds = %217
  br label %221

221:                                              ; preds = %220
  br label %222

222:                                              ; preds = %221
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #9
  %223 = call ptr @__errno_location() #10
  %224 = load i32, ptr %223, align 4, !tbaa !5
  store i32 %224, ptr %8, align 4, !tbaa !5
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = call i32 @s2n_print_stacktrace(ptr noundef %225)
  %227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %228 = trunc i8 %227 to i1
  br i1 %228, label %229, label %251

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

234:                                              ; preds = %229
  %235 = load i32, ptr %8, align 4, !tbaa !5
  %236 = call ptr @__errno_location() #10
  store i32 %235, ptr %236, align 4, !tbaa !5
  %237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %238 = load i32, ptr @test_count, align 4, !tbaa !5
  %239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %240 = load i32, ptr %239, align 4, !tbaa !5
  %241 = call ptr @s2n_strerror(i32 noundef %240, ptr noundef @.str.4)
  %242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %243 = load i32, ptr %242, align 4, !tbaa !5
  %244 = call ptr @s2n_strerror_debug(i32 noundef %243, ptr noundef @.str.4)
  %245 = call ptr @__errno_location() #10
  %246 = load i32, ptr %245, align 4, !tbaa !5
  %247 = call ptr @strerror(i32 noundef %246) #9
  %248 = call ptr @__errno_location() #10
  %249 = load i32, ptr %248, align 4, !tbaa !5
  %250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %237, ptr noundef @.str.2, i32 noundef %238, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 32, ptr noundef %241, ptr noundef %244, ptr noundef %247, i32 noundef %249) #9
  br label %268

251:                                              ; preds = %229, %222
  %252 = load i32, ptr %8, align 4, !tbaa !5
  %253 = call ptr @__errno_location() #10
  store i32 %252, ptr %253, align 4, !tbaa !5
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = load i32, ptr @test_count, align 4, !tbaa !5
  %256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %257 = load i32, ptr %256, align 4, !tbaa !5
  %258 = call ptr @s2n_strerror(i32 noundef %257, ptr noundef @.str.4)
  %259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %260 = load i32, ptr %259, align 4, !tbaa !5
  %261 = call ptr @s2n_strerror_debug(i32 noundef %260, ptr noundef @.str.4)
  %262 = call ptr @__errno_location() #10
  %263 = load i32, ptr %262, align 4, !tbaa !5
  %264 = call ptr @strerror(i32 noundef %263) #9
  %265 = call ptr @__errno_location() #10
  %266 = load i32, ptr %265, align 4, !tbaa !5
  %267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %254, ptr noundef @.str.5, i32 noundef %255, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 32, ptr noundef %258, ptr noundef %261, ptr noundef %264, i32 noundef %266) #9
  br label %268

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

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

270:                                              ; No predecessors!
  br label %271

271:                                              ; preds = %270, %217
  br label %272

272:                                              ; preds = %271
  br label %273

273:                                              ; preds = %272
  br label %274

274:                                              ; preds = %273
  %275 = load i32, ptr @test_count, align 4, !tbaa !5
  %276 = add nsw i32 %275, 1
  store i32 %276, ptr @test_count, align 4, !tbaa !5
  %277 = call i32 (...) @s2n_disable_tls13_in_test()
  %278 = icmp eq i32 %277, -1
  br i1 %278, label %279, label %330

279:                                              ; preds = %274
  br label %280

280:                                              ; preds = %279
  br label %281

281:                                              ; preds = %280
  call void @llvm.lifetime.start.p0(i64 4, ptr %9) #9
  %282 = call ptr @__errno_location() #10
  %283 = load i32, ptr %282, align 4, !tbaa !5
  store i32 %283, ptr %9, align 4, !tbaa !5
  %284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %285 = call i32 @s2n_print_stacktrace(ptr noundef %284)
  %286 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %287 = trunc i8 %286 to i1
  br i1 %287, label %288, label %310

288:                                              ; preds = %281
  %289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %290 = call i32 @fileno(ptr noundef %289) #9
  %291 = call i32 @isatty(i32 noundef %290) #9
  %292 = icmp ne i32 %291, 0
  br i1 %292, label %293, label %310

293:                                              ; preds = %288
  %294 = load i32, ptr %9, align 4, !tbaa !5
  %295 = call ptr @__errno_location() #10
  store i32 %294, ptr %295, align 4, !tbaa !5
  %296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %297 = load i32, ptr @test_count, align 4, !tbaa !5
  %298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %299 = load i32, ptr %298, align 4, !tbaa !5
  %300 = call ptr @s2n_strerror(i32 noundef %299, ptr noundef @.str.4)
  %301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %302 = load i32, ptr %301, align 4, !tbaa !5
  %303 = call ptr @s2n_strerror_debug(i32 noundef %302, ptr noundef @.str.4)
  %304 = call ptr @__errno_location() #10
  %305 = load i32, ptr %304, align 4, !tbaa !5
  %306 = call ptr @strerror(i32 noundef %305) #9
  %307 = call ptr @__errno_location() #10
  %308 = load i32, ptr %307, align 4, !tbaa !5
  %309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %296, ptr noundef @.str.2, i32 noundef %297, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 33, ptr noundef %300, ptr noundef %303, ptr noundef %306, i32 noundef %308) #9
  br label %327

310:                                              ; preds = %288, %281
  %311 = load i32, ptr %9, align 4, !tbaa !5
  %312 = call ptr @__errno_location() #10
  store i32 %311, ptr %312, align 4, !tbaa !5
  %313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %314 = load i32, ptr @test_count, align 4, !tbaa !5
  %315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %316 = load i32, ptr %315, align 4, !tbaa !5
  %317 = call ptr @s2n_strerror(i32 noundef %316, ptr noundef @.str.4)
  %318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %319 = load i32, ptr %318, align 4, !tbaa !5
  %320 = call ptr @s2n_strerror_debug(i32 noundef %319, ptr noundef @.str.4)
  %321 = call ptr @__errno_location() #10
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = call ptr @strerror(i32 noundef %322) #9
  %324 = call ptr @__errno_location() #10
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %313, ptr noundef @.str.5, i32 noundef %314, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 33, ptr noundef %317, ptr noundef %320, ptr noundef %323, i32 noundef %325) #9
  br label %327

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

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

329:                                              ; No predecessors!
  br label %330

330:                                              ; preds = %329, %274
  br label %331

331:                                              ; preds = %330
  call void @llvm.lifetime.start.p0(i64 8, ptr %10) #9
  store ptr null, ptr %10, align 8, !tbaa !9
  br label %332

332:                                              ; preds = %331
  %333 = load i32, ptr @test_count, align 4, !tbaa !5
  %334 = add nsw i32 %333, 1
  store i32 %334, ptr @test_count, align 4, !tbaa !5
  %335 = call ptr @s2n_config_new()
  store ptr %335, ptr %10, align 8, !tbaa !9
  %336 = icmp eq ptr %335, null
  br i1 %336, label %337, label %390

337:                                              ; preds = %332
  br label %338

338:                                              ; preds = %337
  br label %339

339:                                              ; preds = %338
  call void @llvm.lifetime.start.p0(i64 4, ptr %11) #9
  %340 = call ptr @__errno_location() #10
  %341 = load i32, ptr %340, align 4, !tbaa !5
  store i32 %341, ptr %11, align 4, !tbaa !5
  %342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %343 = call i32 @s2n_print_stacktrace(ptr noundef %342)
  %344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %345 = trunc i8 %344 to i1
  br i1 %345, label %346, label %368

346:                                              ; preds = %339
  %347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %348 = call i32 @fileno(ptr noundef %347) #9
  %349 = call i32 @isatty(i32 noundef %348) #9
  %350 = icmp ne i32 %349, 0
  br i1 %350, label %351, label %368

351:                                              ; preds = %346
  %352 = load i32, ptr %11, align 4, !tbaa !5
  %353 = call ptr @__errno_location() #10
  store i32 %352, ptr %353, align 4, !tbaa !5
  %354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %355 = load i32, ptr @test_count, align 4, !tbaa !5
  %356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %357 = load i32, ptr %356, align 4, !tbaa !5
  %358 = call ptr @s2n_strerror(i32 noundef %357, ptr noundef @.str.4)
  %359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %360 = load i32, ptr %359, align 4, !tbaa !5
  %361 = call ptr @s2n_strerror_debug(i32 noundef %360, ptr noundef @.str.4)
  %362 = call ptr @__errno_location() #10
  %363 = load i32, ptr %362, align 4, !tbaa !5
  %364 = call ptr @strerror(i32 noundef %363) #9
  %365 = call ptr @__errno_location() #10
  %366 = load i32, ptr %365, align 4, !tbaa !5
  %367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %354, ptr noundef @.str.2, i32 noundef %355, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 36, ptr noundef %358, ptr noundef %361, ptr noundef %364, i32 noundef %366) #9
  br label %385

368:                                              ; preds = %346, %339
  %369 = load i32, ptr %11, align 4, !tbaa !5
  %370 = call ptr @__errno_location() #10
  store i32 %369, ptr %370, align 4, !tbaa !5
  %371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %372 = load i32, ptr @test_count, align 4, !tbaa !5
  %373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %374 = load i32, ptr %373, align 4, !tbaa !5
  %375 = call ptr @s2n_strerror(i32 noundef %374, ptr noundef @.str.4)
  %376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %377 = load i32, ptr %376, align 4, !tbaa !5
  %378 = call ptr @s2n_strerror_debug(i32 noundef %377, ptr noundef @.str.4)
  %379 = call ptr @__errno_location() #10
  %380 = load i32, ptr %379, align 4, !tbaa !5
  %381 = call ptr @strerror(i32 noundef %380) #9
  %382 = call ptr @__errno_location() #10
  %383 = load i32, ptr %382, align 4, !tbaa !5
  %384 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %371, ptr noundef @.str.5, i32 noundef %372, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 36, ptr noundef %375, ptr noundef %378, ptr noundef %381, i32 noundef %383) #9
  br label %385

385:                                              ; preds = %368, %351
  call void @llvm.lifetime.end.p0(i64 4, ptr %11) #9
  br label %386

386:                                              ; preds = %385
  br label %387

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

388:                                              ; No predecessors!
  br label %389

389:                                              ; preds = %388
  br label %390

390:                                              ; preds = %389, %332
  br label %391

391:                                              ; preds = %390
  br label %392

392:                                              ; preds = %391
  call void @llvm.lifetime.start.p0(i64 8, ptr %12) #9
  store ptr null, ptr %12, align 8, !tbaa !9
  br label %393

393:                                              ; preds = %392
  %394 = load i32, ptr @test_count, align 4, !tbaa !5
  %395 = add nsw i32 %394, 1
  store i32 %395, ptr @test_count, align 4, !tbaa !5
  %396 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %396, ptr %12, align 8, !tbaa !9
  %397 = icmp eq ptr %396, null
  br i1 %397, label %398, label %451

398:                                              ; preds = %393
  br label %399

399:                                              ; preds = %398
  br label %400

400:                                              ; preds = %399
  call void @llvm.lifetime.start.p0(i64 4, ptr %13) #9
  %401 = call ptr @__errno_location() #10
  %402 = load i32, ptr %401, align 4, !tbaa !5
  store i32 %402, ptr %13, align 4, !tbaa !5
  %403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %404 = call i32 @s2n_print_stacktrace(ptr noundef %403)
  %405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %406 = trunc i8 %405 to i1
  br i1 %406, label %407, label %429

407:                                              ; preds = %400
  %408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %409 = call i32 @fileno(ptr noundef %408) #9
  %410 = call i32 @isatty(i32 noundef %409) #9
  %411 = icmp ne i32 %410, 0
  br i1 %411, label %412, label %429

412:                                              ; preds = %407
  %413 = load i32, ptr %13, align 4, !tbaa !5
  %414 = call ptr @__errno_location() #10
  store i32 %413, ptr %414, align 4, !tbaa !5
  %415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %416 = load i32, ptr @test_count, align 4, !tbaa !5
  %417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %418 = load i32, ptr %417, align 4, !tbaa !5
  %419 = call ptr @s2n_strerror(i32 noundef %418, ptr noundef @.str.4)
  %420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %421 = load i32, ptr %420, align 4, !tbaa !5
  %422 = call ptr @s2n_strerror_debug(i32 noundef %421, ptr noundef @.str.4)
  %423 = call ptr @__errno_location() #10
  %424 = load i32, ptr %423, align 4, !tbaa !5
  %425 = call ptr @strerror(i32 noundef %424) #9
  %426 = call ptr @__errno_location() #10
  %427 = load i32, ptr %426, align 4, !tbaa !5
  %428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %415, ptr noundef @.str.2, i32 noundef %416, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 39, ptr noundef %419, ptr noundef %422, ptr noundef %425, i32 noundef %427) #9
  br label %446

429:                                              ; preds = %407, %400
  %430 = load i32, ptr %13, align 4, !tbaa !5
  %431 = call ptr @__errno_location() #10
  store i32 %430, ptr %431, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = load i32, ptr @test_count, align 4, !tbaa !5
  %434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %435 = load i32, ptr %434, align 4, !tbaa !5
  %436 = call ptr @s2n_strerror(i32 noundef %435, ptr noundef @.str.4)
  %437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %438 = load i32, ptr %437, align 4, !tbaa !5
  %439 = call ptr @s2n_strerror_debug(i32 noundef %438, ptr noundef @.str.4)
  %440 = call ptr @__errno_location() #10
  %441 = load i32, ptr %440, align 4, !tbaa !5
  %442 = call ptr @strerror(i32 noundef %441) #9
  %443 = call ptr @__errno_location() #10
  %444 = load i32, ptr %443, align 4, !tbaa !5
  %445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %432, ptr noundef @.str.5, i32 noundef %433, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 39, ptr noundef %436, ptr noundef %439, ptr noundef %442, i32 noundef %444) #9
  br label %446

446:                                              ; preds = %429, %412
  call void @llvm.lifetime.end.p0(i64 4, ptr %13) #9
  br label %447

447:                                              ; preds = %446
  br label %448

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

449:                                              ; No predecessors!
  br label %450

450:                                              ; preds = %449
  br label %451

451:                                              ; preds = %450, %393
  br label %452

452:                                              ; preds = %451
  br label %453

453:                                              ; preds = %452
  br label %454

454:                                              ; preds = %453
  %455 = load i32, ptr @test_count, align 4, !tbaa !5
  %456 = add nsw i32 %455, 1
  store i32 %456, ptr @test_count, align 4, !tbaa !5
  %457 = load ptr, ptr %12, align 8, !tbaa !9
  %458 = load ptr, ptr %10, align 8, !tbaa !9
  %459 = call i32 @s2n_connection_set_config(ptr noundef %457, ptr noundef %458)
  %460 = icmp eq i32 %459, -1
  br i1 %460, label %461, label %514

461:                                              ; preds = %454
  br label %462

462:                                              ; preds = %461
  br label %463

463:                                              ; preds = %462
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %464 = call ptr @__errno_location() #10
  %465 = load i32, ptr %464, align 4, !tbaa !5
  store i32 %465, ptr %14, align 4, !tbaa !5
  %466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %467 = call i32 @s2n_print_stacktrace(ptr noundef %466)
  %468 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %469 = trunc i8 %468 to i1
  br i1 %469, label %470, label %492

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

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

492:                                              ; preds = %470, %463
  %493 = load i32, ptr %14, align 4, !tbaa !5
  %494 = call ptr @__errno_location() #10
  store i32 %493, ptr %494, align 4, !tbaa !5
  %495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %496 = load i32, ptr @test_count, align 4, !tbaa !5
  %497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = call ptr @s2n_strerror(i32 noundef %498, ptr noundef @.str.4)
  %500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %501 = load i32, ptr %500, align 4, !tbaa !5
  %502 = call ptr @s2n_strerror_debug(i32 noundef %501, ptr noundef @.str.4)
  %503 = call ptr @__errno_location() #10
  %504 = load i32, ptr %503, align 4, !tbaa !5
  %505 = call ptr @strerror(i32 noundef %504) #9
  %506 = call ptr @__errno_location() #10
  %507 = load i32, ptr %506, align 4, !tbaa !5
  %508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %495, ptr noundef @.str.5, i32 noundef %496, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 40, ptr noundef %499, ptr noundef %502, ptr noundef %505, i32 noundef %507) #9
  br label %509

509:                                              ; preds = %492, %475
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #9
  br label %510

510:                                              ; preds = %509
  br label %511

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

512:                                              ; No predecessors!
  br label %513

513:                                              ; preds = %512
  br label %514

514:                                              ; preds = %513, %454
  br label %515

515:                                              ; preds = %514
  br label %516

516:                                              ; preds = %515
  call void @llvm.lifetime.start.p0(i64 8, ptr %15) #9
  store ptr null, ptr %15, align 8, !tbaa !9
  br label %517

517:                                              ; preds = %516
  %518 = load i32, ptr @test_count, align 4, !tbaa !5
  %519 = add nsw i32 %518, 1
  store i32 %519, ptr @test_count, align 4, !tbaa !5
  %520 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %520, ptr %15, align 8, !tbaa !9
  %521 = icmp eq ptr %520, null
  br i1 %521, label %522, label %575

522:                                              ; preds = %517
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #9
  %525 = call ptr @__errno_location() #10
  %526 = load i32, ptr %525, align 4, !tbaa !5
  store i32 %526, ptr %16, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = call i32 @s2n_print_stacktrace(ptr noundef %527)
  %529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %530 = trunc i8 %529 to i1
  br i1 %530, label %531, label %553

531:                                              ; preds = %524
  %532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %533 = call i32 @fileno(ptr noundef %532) #9
  %534 = call i32 @isatty(i32 noundef %533) #9
  %535 = icmp ne i32 %534, 0
  br i1 %535, label %536, label %553

536:                                              ; preds = %531
  %537 = load i32, ptr %16, 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.4)
  %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.4)
  %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.2, i32 noundef %540, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 45, ptr noundef %543, ptr noundef %546, ptr noundef %549, i32 noundef %551) #9
  br label %570

553:                                              ; preds = %531, %524
  %554 = load i32, ptr %16, align 4, !tbaa !5
  %555 = call ptr @__errno_location() #10
  store i32 %554, ptr %555, align 4, !tbaa !5
  %556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %557 = load i32, ptr @test_count, align 4, !tbaa !5
  %558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %559 = load i32, ptr %558, align 4, !tbaa !5
  %560 = call ptr @s2n_strerror(i32 noundef %559, ptr noundef @.str.4)
  %561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %562 = load i32, ptr %561, align 4, !tbaa !5
  %563 = call ptr @s2n_strerror_debug(i32 noundef %562, ptr noundef @.str.4)
  %564 = call ptr @__errno_location() #10
  %565 = load i32, ptr %564, align 4, !tbaa !5
  %566 = call ptr @strerror(i32 noundef %565) #9
  %567 = call ptr @__errno_location() #10
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %556, ptr noundef @.str.5, i32 noundef %557, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 45, ptr noundef %560, ptr noundef %563, ptr noundef %566, i32 noundef %568) #9
  br label %570

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

571:                                              ; preds = %570
  br label %572

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

573:                                              ; No predecessors!
  br label %574

574:                                              ; preds = %573
  br label %575

575:                                              ; preds = %574, %517
  br label %576

576:                                              ; preds = %575
  br label %577

577:                                              ; preds = %576
  br label %578

578:                                              ; preds = %577
  %579 = load i32, ptr @test_count, align 4, !tbaa !5
  %580 = add nsw i32 %579, 1
  store i32 %580, ptr @test_count, align 4, !tbaa !5
  %581 = load ptr, ptr %15, align 8, !tbaa !9
  %582 = load ptr, ptr %10, align 8, !tbaa !9
  %583 = call i32 @s2n_connection_set_config(ptr noundef %581, ptr noundef %582)
  %584 = icmp eq i32 %583, -1
  br i1 %584, label %585, label %638

585:                                              ; preds = %578
  br label %586

586:                                              ; preds = %585
  br label %587

587:                                              ; preds = %586
  call void @llvm.lifetime.start.p0(i64 4, ptr %17) #9
  %588 = call ptr @__errno_location() #10
  %589 = load i32, ptr %588, align 4, !tbaa !5
  store i32 %589, ptr %17, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = call i32 @s2n_print_stacktrace(ptr noundef %590)
  %592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %593 = trunc i8 %592 to i1
  br i1 %593, label %594, label %616

594:                                              ; preds = %587
  %595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %596 = call i32 @fileno(ptr noundef %595) #9
  %597 = call i32 @isatty(i32 noundef %596) #9
  %598 = icmp ne i32 %597, 0
  br i1 %598, label %599, label %616

599:                                              ; preds = %594
  %600 = load i32, ptr %17, align 4, !tbaa !5
  %601 = call ptr @__errno_location() #10
  store i32 %600, ptr %601, align 4, !tbaa !5
  %602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %603 = load i32, ptr @test_count, align 4, !tbaa !5
  %604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %605 = load i32, ptr %604, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror(i32 noundef %605, ptr noundef @.str.4)
  %607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %608 = load i32, ptr %607, align 4, !tbaa !5
  %609 = call ptr @s2n_strerror_debug(i32 noundef %608, ptr noundef @.str.4)
  %610 = call ptr @__errno_location() #10
  %611 = load i32, ptr %610, align 4, !tbaa !5
  %612 = call ptr @strerror(i32 noundef %611) #9
  %613 = call ptr @__errno_location() #10
  %614 = load i32, ptr %613, align 4, !tbaa !5
  %615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %602, ptr noundef @.str.2, i32 noundef %603, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 46, ptr noundef %606, ptr noundef %609, ptr noundef %612, i32 noundef %614) #9
  br label %633

616:                                              ; preds = %594, %587
  %617 = load i32, ptr %17, align 4, !tbaa !5
  %618 = call ptr @__errno_location() #10
  store i32 %617, ptr %618, align 4, !tbaa !5
  %619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %620 = load i32, ptr @test_count, align 4, !tbaa !5
  %621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %622 = load i32, ptr %621, align 4, !tbaa !5
  %623 = call ptr @s2n_strerror(i32 noundef %622, ptr noundef @.str.4)
  %624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %625 = load i32, ptr %624, align 4, !tbaa !5
  %626 = call ptr @s2n_strerror_debug(i32 noundef %625, ptr noundef @.str.4)
  %627 = call ptr @__errno_location() #10
  %628 = load i32, ptr %627, align 4, !tbaa !5
  %629 = call ptr @strerror(i32 noundef %628) #9
  %630 = call ptr @__errno_location() #10
  %631 = load i32, ptr %630, align 4, !tbaa !5
  %632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %619, ptr noundef @.str.5, i32 noundef %620, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 46, ptr noundef %623, ptr noundef %626, ptr noundef %629, i32 noundef %631) #9
  br label %633

633:                                              ; preds = %616, %599
  call void @llvm.lifetime.end.p0(i64 4, ptr %17) #9
  br label %634

634:                                              ; preds = %633
  br label %635

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

636:                                              ; No predecessors!
  br label %637

637:                                              ; preds = %636
  br label %638

638:                                              ; preds = %637, %578
  br label %639

639:                                              ; preds = %638
  br label %640

640:                                              ; preds = %639
  br label %641

641:                                              ; preds = %640
  %642 = load i32, ptr @test_count, align 4, !tbaa !5
  %643 = add nsw i32 %642, 1
  store i32 %643, ptr @test_count, align 4, !tbaa !5
  %644 = load ptr, ptr %10, align 8, !tbaa !9
  %645 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %644, i8 noundef zeroext 0)
  %646 = icmp eq i32 %645, -1
  br i1 %646, label %647, label %700

647:                                              ; preds = %641
  br label %648

648:                                              ; preds = %647
  br label %649

649:                                              ; preds = %648
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #9
  %650 = call ptr @__errno_location() #10
  %651 = load i32, ptr %650, align 4, !tbaa !5
  store i32 %651, ptr %18, align 4, !tbaa !5
  %652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %653 = call i32 @s2n_print_stacktrace(ptr noundef %652)
  %654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %655 = trunc i8 %654 to i1
  br i1 %655, label %656, label %678

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

661:                                              ; preds = %656
  %662 = load i32, ptr %18, align 4, !tbaa !5
  %663 = call ptr @__errno_location() #10
  store i32 %662, ptr %663, align 4, !tbaa !5
  %664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %665 = load i32, ptr @test_count, align 4, !tbaa !5
  %666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %667 = load i32, ptr %666, align 4, !tbaa !5
  %668 = call ptr @s2n_strerror(i32 noundef %667, ptr noundef @.str.4)
  %669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %670 = load i32, ptr %669, align 4, !tbaa !5
  %671 = call ptr @s2n_strerror_debug(i32 noundef %670, ptr noundef @.str.4)
  %672 = call ptr @__errno_location() #10
  %673 = load i32, ptr %672, align 4, !tbaa !5
  %674 = call ptr @strerror(i32 noundef %673) #9
  %675 = call ptr @__errno_location() #10
  %676 = load i32, ptr %675, align 4, !tbaa !5
  %677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %664, ptr noundef @.str.2, i32 noundef %665, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 49, ptr noundef %668, ptr noundef %671, ptr noundef %674, i32 noundef %676) #9
  br label %695

678:                                              ; preds = %656, %649
  %679 = load i32, ptr %18, align 4, !tbaa !5
  %680 = call ptr @__errno_location() #10
  store i32 %679, ptr %680, align 4, !tbaa !5
  %681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %682 = load i32, ptr @test_count, align 4, !tbaa !5
  %683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %684 = load i32, ptr %683, align 4, !tbaa !5
  %685 = call ptr @s2n_strerror(i32 noundef %684, ptr noundef @.str.4)
  %686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %687 = load i32, ptr %686, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror_debug(i32 noundef %687, ptr noundef @.str.4)
  %689 = call ptr @__errno_location() #10
  %690 = load i32, ptr %689, align 4, !tbaa !5
  %691 = call ptr @strerror(i32 noundef %690) #9
  %692 = call ptr @__errno_location() #10
  %693 = load i32, ptr %692, align 4, !tbaa !5
  %694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %681, ptr noundef @.str.5, i32 noundef %682, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 49, ptr noundef %685, ptr noundef %688, ptr noundef %691, i32 noundef %693) #9
  br label %695

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

696:                                              ; preds = %695
  br label %697

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

698:                                              ; No predecessors!
  br label %699

699:                                              ; preds = %698
  br label %700

700:                                              ; preds = %699, %641
  br label %701

701:                                              ; preds = %700
  br label %702

702:                                              ; preds = %701
  br label %703

703:                                              ; preds = %702
  %704 = load i32, ptr @test_count, align 4, !tbaa !5
  %705 = add nsw i32 %704, 1
  store i32 %705, ptr @test_count, align 4, !tbaa !5
  %706 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 5), align 8, !tbaa !15
  %707 = load ptr, ptr %15, align 8, !tbaa !9
  %708 = call zeroext i1 %706(ptr noundef %707)
  br i1 %708, label %709, label %762

709:                                              ; preds = %703
  br label %710

710:                                              ; preds = %709
  br label %711

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

718:                                              ; preds = %711
  %719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %720 = call i32 @fileno(ptr noundef %719) #9
  %721 = call i32 @isatty(i32 noundef %720) #9
  %722 = icmp ne i32 %721, 0
  br i1 %722, label %723, label %740

723:                                              ; preds = %718
  %724 = load i32, ptr %19, align 4, !tbaa !5
  %725 = call ptr @__errno_location() #10
  store i32 %724, ptr %725, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = load i32, ptr @test_count, align 4, !tbaa !5
  %728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %729 = load i32, ptr %728, align 4, !tbaa !5
  %730 = call ptr @s2n_strerror(i32 noundef %729, ptr noundef @.str.4)
  %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_debug(i32 noundef %732, ptr noundef @.str.4)
  %734 = call ptr @__errno_location() #10
  %735 = load i32, ptr %734, align 4, !tbaa !5
  %736 = call ptr @strerror(i32 noundef %735) #9
  %737 = call ptr @__errno_location() #10
  %738 = load i32, ptr %737, align 4, !tbaa !5
  %739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %726, ptr noundef @.str.2, i32 noundef %727, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 50, ptr noundef %730, ptr noundef %733, ptr noundef %736, i32 noundef %738) #9
  br label %757

740:                                              ; preds = %718, %711
  %741 = load i32, ptr %19, align 4, !tbaa !5
  %742 = call ptr @__errno_location() #10
  store i32 %741, ptr %742, align 4, !tbaa !5
  %743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %744 = load i32, ptr @test_count, align 4, !tbaa !5
  %745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %746 = load i32, ptr %745, align 4, !tbaa !5
  %747 = call ptr @s2n_strerror(i32 noundef %746, ptr noundef @.str.4)
  %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_debug(i32 noundef %749, ptr noundef @.str.4)
  %751 = call ptr @__errno_location() #10
  %752 = load i32, ptr %751, align 4, !tbaa !5
  %753 = call ptr @strerror(i32 noundef %752) #9
  %754 = call ptr @__errno_location() #10
  %755 = load i32, ptr %754, align 4, !tbaa !5
  %756 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %743, ptr noundef @.str.5, i32 noundef %744, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 50, ptr noundef %747, ptr noundef %750, ptr noundef %753, i32 noundef %755) #9
  br label %757

757:                                              ; preds = %740, %723
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %758

758:                                              ; preds = %757
  br label %759

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

760:                                              ; No predecessors!
  br label %761

761:                                              ; preds = %760
  br label %762

762:                                              ; preds = %761, %703
  br label %763

763:                                              ; preds = %762
  br label %764

764:                                              ; preds = %763
  br label %765

765:                                              ; preds = %764
  %766 = load i32, ptr @test_count, align 4, !tbaa !5
  %767 = add nsw i32 %766, 1
  store i32 %767, ptr @test_count, align 4, !tbaa !5
  %768 = load ptr, ptr %10, align 8, !tbaa !9
  %769 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %768, i8 noundef zeroext 1)
  %770 = icmp eq i32 %769, -1
  br i1 %770, label %771, label %824

771:                                              ; preds = %765
  br label %772

772:                                              ; preds = %771
  br label %773

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

780:                                              ; preds = %773
  %781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %782 = call i32 @fileno(ptr noundef %781) #9
  %783 = call i32 @isatty(i32 noundef %782) #9
  %784 = icmp ne i32 %783, 0
  br i1 %784, label %785, label %802

785:                                              ; preds = %780
  %786 = load i32, ptr %20, align 4, !tbaa !5
  %787 = call ptr @__errno_location() #10
  store i32 %786, ptr %787, align 4, !tbaa !5
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %791 = load i32, ptr %790, align 4, !tbaa !5
  %792 = call ptr @s2n_strerror(i32 noundef %791, ptr noundef @.str.4)
  %793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %794 = load i32, ptr %793, align 4, !tbaa !5
  %795 = call ptr @s2n_strerror_debug(i32 noundef %794, ptr noundef @.str.4)
  %796 = call ptr @__errno_location() #10
  %797 = load i32, ptr %796, align 4, !tbaa !5
  %798 = call ptr @strerror(i32 noundef %797) #9
  %799 = call ptr @__errno_location() #10
  %800 = load i32, ptr %799, align 4, !tbaa !5
  %801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %788, ptr noundef @.str.2, i32 noundef %789, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 53, ptr noundef %792, ptr noundef %795, ptr noundef %798, i32 noundef %800) #9
  br label %819

802:                                              ; preds = %780, %773
  %803 = load i32, ptr %20, align 4, !tbaa !5
  %804 = call ptr @__errno_location() #10
  store i32 %803, ptr %804, align 4, !tbaa !5
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = load i32, ptr @test_count, align 4, !tbaa !5
  %807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %808 = load i32, ptr %807, align 4, !tbaa !5
  %809 = call ptr @s2n_strerror(i32 noundef %808, ptr noundef @.str.4)
  %810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %811 = load i32, ptr %810, align 4, !tbaa !5
  %812 = call ptr @s2n_strerror_debug(i32 noundef %811, ptr noundef @.str.4)
  %813 = call ptr @__errno_location() #10
  %814 = load i32, ptr %813, align 4, !tbaa !5
  %815 = call ptr @strerror(i32 noundef %814) #9
  %816 = call ptr @__errno_location() #10
  %817 = load i32, ptr %816, align 4, !tbaa !5
  %818 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %805, ptr noundef @.str.5, i32 noundef %806, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 53, ptr noundef %809, ptr noundef %812, ptr noundef %815, i32 noundef %817) #9
  br label %819

819:                                              ; preds = %802, %785
  call void @llvm.lifetime.end.p0(i64 4, ptr %20) #9
  br label %820

820:                                              ; preds = %819
  br label %821

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

822:                                              ; No predecessors!
  br label %823

823:                                              ; preds = %822
  br label %824

824:                                              ; preds = %823, %765
  br label %825

825:                                              ; preds = %824
  br label %826

826:                                              ; preds = %825
  br label %827

827:                                              ; preds = %826
  %828 = load i32, ptr @test_count, align 4, !tbaa !5
  %829 = add nsw i32 %828, 1
  store i32 %829, ptr @test_count, align 4, !tbaa !5
  %830 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 5), align 8, !tbaa !15
  %831 = load ptr, ptr %15, align 8, !tbaa !9
  %832 = call zeroext i1 %830(ptr noundef %831)
  br i1 %832, label %886, label %833

833:                                              ; preds = %827
  br label %834

834:                                              ; preds = %833
  br label %835

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

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

847:                                              ; preds = %842
  %848 = load i32, ptr %21, align 4, !tbaa !5
  %849 = call ptr @__errno_location() #10
  store i32 %848, ptr %849, align 4, !tbaa !5
  %850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %851 = load i32, ptr @test_count, align 4, !tbaa !5
  %852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %853 = load i32, ptr %852, align 4, !tbaa !5
  %854 = call ptr @s2n_strerror(i32 noundef %853, ptr noundef @.str.4)
  %855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %856 = load i32, ptr %855, align 4, !tbaa !5
  %857 = call ptr @s2n_strerror_debug(i32 noundef %856, ptr noundef @.str.4)
  %858 = call ptr @__errno_location() #10
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = call ptr @strerror(i32 noundef %859) #9
  %861 = call ptr @__errno_location() #10
  %862 = load i32, ptr %861, align 4, !tbaa !5
  %863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %850, ptr noundef @.str.2, i32 noundef %851, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 54, ptr noundef %854, ptr noundef %857, ptr noundef %860, i32 noundef %862) #9
  br label %881

864:                                              ; preds = %842, %835
  %865 = load i32, ptr %21, align 4, !tbaa !5
  %866 = call ptr @__errno_location() #10
  store i32 %865, ptr %866, align 4, !tbaa !5
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %870, ptr noundef @.str.4)
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror_debug(i32 noundef %873, ptr noundef @.str.4)
  %875 = call ptr @__errno_location() #10
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call ptr @strerror(i32 noundef %876) #9
  %878 = call ptr @__errno_location() #10
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %867, ptr noundef @.str.5, i32 noundef %868, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 54, ptr noundef %871, ptr noundef %874, ptr noundef %877, i32 noundef %879) #9
  br label %881

881:                                              ; preds = %864, %847
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #9
  br label %882

882:                                              ; preds = %881
  br label %883

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

884:                                              ; No predecessors!
  br label %885

885:                                              ; preds = %884
  br label %886

886:                                              ; preds = %885, %827
  br label %887

887:                                              ; preds = %886
  br label %888

888:                                              ; preds = %887
  call void @llvm.lifetime.start.p0(i64 8, ptr %22) #9
  %889 = load ptr, ptr %15, align 8, !tbaa !9
  %890 = call ptr @s2n_test_psk_new(ptr noundef %889)
  store ptr %890, ptr %22, align 8, !tbaa !9
  br label %891

891:                                              ; preds = %888
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = add nsw i32 %892, 1
  store i32 %893, ptr @test_count, align 4, !tbaa !5
  %894 = load ptr, ptr %15, align 8, !tbaa !9
  %895 = load ptr, ptr %22, align 8, !tbaa !9
  %896 = call i32 @s2n_connection_append_psk(ptr noundef %894, ptr noundef %895)
  %897 = icmp eq i32 %896, -1
  br i1 %897, label %898, label %951

898:                                              ; preds = %891
  br label %899

899:                                              ; preds = %898
  br label %900

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

907:                                              ; preds = %900
  %908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %909 = call i32 @fileno(ptr noundef %908) #9
  %910 = call i32 @isatty(i32 noundef %909) #9
  %911 = icmp ne i32 %910, 0
  br i1 %911, label %912, label %929

912:                                              ; preds = %907
  %913 = load i32, ptr %23, align 4, !tbaa !5
  %914 = call ptr @__errno_location() #10
  store i32 %913, ptr %914, align 4, !tbaa !5
  %915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %916 = load i32, ptr @test_count, align 4, !tbaa !5
  %917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %918 = load i32, ptr %917, align 4, !tbaa !5
  %919 = call ptr @s2n_strerror(i32 noundef %918, ptr noundef @.str.4)
  %920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %921 = load i32, ptr %920, align 4, !tbaa !5
  %922 = call ptr @s2n_strerror_debug(i32 noundef %921, ptr noundef @.str.4)
  %923 = call ptr @__errno_location() #10
  %924 = load i32, ptr %923, align 4, !tbaa !5
  %925 = call ptr @strerror(i32 noundef %924) #9
  %926 = call ptr @__errno_location() #10
  %927 = load i32, ptr %926, align 4, !tbaa !5
  %928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %915, ptr noundef @.str.2, i32 noundef %916, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 58, ptr noundef %919, ptr noundef %922, ptr noundef %925, i32 noundef %927) #9
  br label %946

929:                                              ; preds = %907, %900
  %930 = load i32, ptr %23, align 4, !tbaa !5
  %931 = call ptr @__errno_location() #10
  store i32 %930, ptr %931, align 4, !tbaa !5
  %932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %935 = load i32, ptr %934, align 4, !tbaa !5
  %936 = call ptr @s2n_strerror(i32 noundef %935, ptr noundef @.str.4)
  %937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %938 = load i32, ptr %937, align 4, !tbaa !5
  %939 = call ptr @s2n_strerror_debug(i32 noundef %938, ptr noundef @.str.4)
  %940 = call ptr @__errno_location() #10
  %941 = load i32, ptr %940, align 4, !tbaa !5
  %942 = call ptr @strerror(i32 noundef %941) #9
  %943 = call ptr @__errno_location() #10
  %944 = load i32, ptr %943, align 4, !tbaa !5
  %945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %932, ptr noundef @.str.5, i32 noundef %933, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 58, ptr noundef %936, ptr noundef %939, ptr noundef %942, i32 noundef %944) #9
  br label %946

946:                                              ; preds = %929, %912
  call void @llvm.lifetime.end.p0(i64 4, ptr %23) #9
  br label %947

947:                                              ; preds = %946
  br label %948

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

949:                                              ; No predecessors!
  br label %950

950:                                              ; preds = %949
  br label %951

951:                                              ; preds = %950, %891
  br label %952

952:                                              ; preds = %951
  br label %953

953:                                              ; preds = %952
  br label %954

954:                                              ; preds = %953
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = add nsw i32 %955, 1
  store i32 %956, ptr @test_count, align 4, !tbaa !5
  %957 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 5), align 8, !tbaa !15
  %958 = load ptr, ptr %15, align 8, !tbaa !9
  %959 = call zeroext i1 %957(ptr noundef %958)
  br i1 %959, label %960, label %1013

960:                                              ; preds = %954
  br label %961

961:                                              ; preds = %960
  br label %962

962:                                              ; preds = %961
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  %963 = call ptr @__errno_location() #10
  %964 = load i32, ptr %963, align 4, !tbaa !5
  store i32 %964, ptr %24, align 4, !tbaa !5
  %965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %966 = call i32 @s2n_print_stacktrace(ptr noundef %965)
  %967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %968 = trunc i8 %967 to i1
  br i1 %968, label %969, label %991

969:                                              ; preds = %962
  %970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %971 = call i32 @fileno(ptr noundef %970) #9
  %972 = call i32 @isatty(i32 noundef %971) #9
  %973 = icmp ne i32 %972, 0
  br i1 %973, label %974, label %991

974:                                              ; preds = %969
  %975 = load i32, ptr %24, align 4, !tbaa !5
  %976 = call ptr @__errno_location() #10
  store i32 %975, ptr %976, align 4, !tbaa !5
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = load i32, ptr @test_count, align 4, !tbaa !5
  %979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %980 = load i32, ptr %979, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror(i32 noundef %980, ptr noundef @.str.4)
  %982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %983 = load i32, ptr %982, align 4, !tbaa !5
  %984 = call ptr @s2n_strerror_debug(i32 noundef %983, ptr noundef @.str.4)
  %985 = call ptr @__errno_location() #10
  %986 = load i32, ptr %985, align 4, !tbaa !5
  %987 = call ptr @strerror(i32 noundef %986) #9
  %988 = call ptr @__errno_location() #10
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %977, ptr noundef @.str.2, i32 noundef %978, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 59, ptr noundef %981, ptr noundef %984, ptr noundef %987, i32 noundef %989) #9
  br label %1008

991:                                              ; preds = %969, %962
  %992 = load i32, ptr %24, align 4, !tbaa !5
  %993 = call ptr @__errno_location() #10
  store i32 %992, ptr %993, align 4, !tbaa !5
  %994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %995 = load i32, ptr @test_count, align 4, !tbaa !5
  %996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %997 = load i32, ptr %996, align 4, !tbaa !5
  %998 = call ptr @s2n_strerror(i32 noundef %997, ptr noundef @.str.4)
  %999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1000 = load i32, ptr %999, align 4, !tbaa !5
  %1001 = call ptr @s2n_strerror_debug(i32 noundef %1000, ptr noundef @.str.4)
  %1002 = call ptr @__errno_location() #10
  %1003 = load i32, ptr %1002, align 4, !tbaa !5
  %1004 = call ptr @strerror(i32 noundef %1003) #9
  %1005 = call ptr @__errno_location() #10
  %1006 = load i32, ptr %1005, align 4, !tbaa !5
  %1007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %994, ptr noundef @.str.5, i32 noundef %995, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 59, ptr noundef %998, ptr noundef %1001, ptr noundef %1004, i32 noundef %1006) #9
  br label %1008

1008:                                             ; preds = %991, %974
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %1009

1009:                                             ; preds = %1008
  br label %1010

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

1011:                                             ; No predecessors!
  br label %1012

1012:                                             ; preds = %1011
  br label %1013

1013:                                             ; preds = %1012, %954
  br label %1014

1014:                                             ; preds = %1013
  br label %1015

1015:                                             ; preds = %1014
  br label %1016

1016:                                             ; preds = %1015
  %1017 = load i32, ptr @test_count, align 4, !tbaa !5
  %1018 = add nsw i32 %1017, 1
  store i32 %1018, ptr @test_count, align 4, !tbaa !5
  %1019 = load ptr, ptr %15, align 8, !tbaa !9
  %1020 = call i32 @s2n_connection_free(ptr noundef %1019)
  %1021 = icmp eq i32 %1020, -1
  br i1 %1021, label %1022, label %1075

1022:                                             ; preds = %1016
  br label %1023

1023:                                             ; preds = %1022
  br label %1024

1024:                                             ; preds = %1023
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %1025 = call ptr @__errno_location() #10
  %1026 = load i32, ptr %1025, align 4, !tbaa !5
  store i32 %1026, ptr %25, align 4, !tbaa !5
  %1027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1028 = call i32 @s2n_print_stacktrace(ptr noundef %1027)
  %1029 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1030 = trunc i8 %1029 to i1
  br i1 %1030, label %1031, label %1053

1031:                                             ; preds = %1024
  %1032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1033 = call i32 @fileno(ptr noundef %1032) #9
  %1034 = call i32 @isatty(i32 noundef %1033) #9
  %1035 = icmp ne i32 %1034, 0
  br i1 %1035, label %1036, label %1053

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

1053:                                             ; preds = %1031, %1024
  %1054 = load i32, ptr %25, align 4, !tbaa !5
  %1055 = call ptr @__errno_location() #10
  store i32 %1054, ptr %1055, align 4, !tbaa !5
  %1056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1057 = load i32, ptr @test_count, align 4, !tbaa !5
  %1058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror(i32 noundef %1059, ptr noundef @.str.4)
  %1061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1062 = load i32, ptr %1061, align 4, !tbaa !5
  %1063 = call ptr @s2n_strerror_debug(i32 noundef %1062, ptr noundef @.str.4)
  %1064 = call ptr @__errno_location() #10
  %1065 = load i32, ptr %1064, align 4, !tbaa !5
  %1066 = call ptr @strerror(i32 noundef %1065) #9
  %1067 = call ptr @__errno_location() #10
  %1068 = load i32, ptr %1067, align 4, !tbaa !5
  %1069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1056, ptr noundef @.str.5, i32 noundef %1057, ptr noundef @.str.19, ptr noundef @.str.1, i32 noundef 61, ptr noundef %1060, ptr noundef %1063, ptr noundef %1066, i32 noundef %1068) #9
  br label %1070

1070:                                             ; preds = %1053, %1036
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %1071

1071:                                             ; preds = %1070
  br label %1072

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

1073:                                             ; No predecessors!
  br label %1074

1074:                                             ; preds = %1073
  br label %1075

1075:                                             ; preds = %1074, %1016
  br label %1076

1076:                                             ; preds = %1075
  br label %1077

1077:                                             ; preds = %1076
  %1078 = call i32 @s2n_psk_free(ptr noundef %22)
  call void @llvm.lifetime.end.p0(i64 8, ptr %22) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %15) #9
  br label %1079

1079:                                             ; preds = %1077
  %1080 = load i32, ptr @test_count, align 4, !tbaa !5
  %1081 = add nsw i32 %1080, 1
  store i32 %1081, ptr @test_count, align 4, !tbaa !5
  %1082 = load ptr, ptr %10, align 8, !tbaa !9
  %1083 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %1082, i8 noundef zeroext 1)
  %1084 = icmp eq i32 %1083, -1
  br i1 %1084, label %1085, label %1138

1085:                                             ; preds = %1079
  br label %1086

1086:                                             ; preds = %1085
  br label %1087

1087:                                             ; preds = %1086
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %1088 = call ptr @__errno_location() #10
  %1089 = load i32, ptr %1088, align 4, !tbaa !5
  store i32 %1089, ptr %26, align 4, !tbaa !5
  %1090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1091 = call i32 @s2n_print_stacktrace(ptr noundef %1090)
  %1092 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1093 = trunc i8 %1092 to i1
  br i1 %1093, label %1094, label %1116

1094:                                             ; preds = %1087
  %1095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1096 = call i32 @fileno(ptr noundef %1095) #9
  %1097 = call i32 @isatty(i32 noundef %1096) #9
  %1098 = icmp ne i32 %1097, 0
  br i1 %1098, label %1099, label %1116

1099:                                             ; preds = %1094
  %1100 = load i32, ptr %26, align 4, !tbaa !5
  %1101 = call ptr @__errno_location() #10
  store i32 %1100, ptr %1101, align 4, !tbaa !5
  %1102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1103 = load i32, ptr @test_count, align 4, !tbaa !5
  %1104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1105 = load i32, ptr %1104, align 4, !tbaa !5
  %1106 = call ptr @s2n_strerror(i32 noundef %1105, ptr noundef @.str.4)
  %1107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1108 = load i32, ptr %1107, align 4, !tbaa !5
  %1109 = call ptr @s2n_strerror_debug(i32 noundef %1108, ptr noundef @.str.4)
  %1110 = call ptr @__errno_location() #10
  %1111 = load i32, ptr %1110, align 4, !tbaa !5
  %1112 = call ptr @strerror(i32 noundef %1111) #9
  %1113 = call ptr @__errno_location() #10
  %1114 = load i32, ptr %1113, align 4, !tbaa !5
  %1115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1102, ptr noundef @.str.2, i32 noundef %1103, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1106, ptr noundef %1109, ptr noundef %1112, i32 noundef %1114) #9
  br label %1133

1116:                                             ; preds = %1094, %1087
  %1117 = load i32, ptr %26, align 4, !tbaa !5
  %1118 = call ptr @__errno_location() #10
  store i32 %1117, ptr %1118, align 4, !tbaa !5
  %1119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1120 = load i32, ptr @test_count, align 4, !tbaa !5
  %1121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1122 = load i32, ptr %1121, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror(i32 noundef %1122, ptr noundef @.str.4)
  %1124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1125 = load i32, ptr %1124, align 4, !tbaa !5
  %1126 = call ptr @s2n_strerror_debug(i32 noundef %1125, ptr noundef @.str.4)
  %1127 = call ptr @__errno_location() #10
  %1128 = load i32, ptr %1127, align 4, !tbaa !5
  %1129 = call ptr @strerror(i32 noundef %1128) #9
  %1130 = call ptr @__errno_location() #10
  %1131 = load i32, ptr %1130, align 4, !tbaa !5
  %1132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1119, ptr noundef @.str.5, i32 noundef %1120, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 64, ptr noundef %1123, ptr noundef %1126, ptr noundef %1129, i32 noundef %1131) #9
  br label %1133

1133:                                             ; preds = %1116, %1099
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %1134

1134:                                             ; preds = %1133
  br label %1135

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

1136:                                             ; No predecessors!
  br label %1137

1137:                                             ; preds = %1136
  br label %1138

1138:                                             ; preds = %1137, %1079
  br label %1139

1139:                                             ; preds = %1138
  br label %1140

1140:                                             ; preds = %1139
  call void @llvm.lifetime.start.p0(i64 138, ptr %27) #9
  call void @llvm.memset.p0.i64(ptr align 16 %27, i8 0, i64 138, i1 false)
  %1141 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 0
  store i8 84, ptr %1141, align 16
  %1142 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 1
  store i8 73, ptr %1142, align 1
  %1143 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 2
  store i8 67, ptr %1143, align 2
  %1144 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 3
  store i8 75, ptr %1144, align 1
  %1145 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 4
  store i8 69, ptr %1145, align 4
  %1146 = getelementptr inbounds [138 x i8], ptr %27, i32 0, i32 5
  store i8 84, ptr %1146, align 1
  call void @llvm.lifetime.start.p0(i64 40, ptr %28) #9
  call void @llvm.memset.p0.i64(ptr align 8 %28, i8 0, i64 40, i1 false)
  br label %1147

1147:                                             ; preds = %1140
  %1148 = load i32, ptr @test_count, align 4, !tbaa !5
  %1149 = add nsw i32 %1148, 1
  store i32 %1149, ptr @test_count, align 4, !tbaa !5
  %1150 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %28, i32 noundef 0)
  %1151 = icmp eq i32 %1150, -1
  br i1 %1151, label %1152, label %1205

1152:                                             ; preds = %1147
  br label %1153

1153:                                             ; preds = %1152
  br label %1154

1154:                                             ; preds = %1153
  call void @llvm.lifetime.start.p0(i64 4, ptr %29) #9
  %1155 = call ptr @__errno_location() #10
  %1156 = load i32, ptr %1155, align 4, !tbaa !5
  store i32 %1156, ptr %29, align 4, !tbaa !5
  %1157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1158 = call i32 @s2n_print_stacktrace(ptr noundef %1157)
  %1159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1160 = trunc i8 %1159 to i1
  br i1 %1160, label %1161, label %1183

1161:                                             ; preds = %1154
  %1162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1163 = call i32 @fileno(ptr noundef %1162) #9
  %1164 = call i32 @isatty(i32 noundef %1163) #9
  %1165 = icmp ne i32 %1164, 0
  br i1 %1165, label %1166, label %1183

1166:                                             ; preds = %1161
  %1167 = load i32, ptr %29, align 4, !tbaa !5
  %1168 = call ptr @__errno_location() #10
  store i32 %1167, ptr %1168, align 4, !tbaa !5
  %1169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @s2n_strerror(i32 noundef %1172, ptr noundef @.str.4)
  %1174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call ptr @s2n_strerror_debug(i32 noundef %1175, ptr noundef @.str.4)
  %1177 = call ptr @__errno_location() #10
  %1178 = load i32, ptr %1177, align 4, !tbaa !5
  %1179 = call ptr @strerror(i32 noundef %1178) #9
  %1180 = call ptr @__errno_location() #10
  %1181 = load i32, ptr %1180, align 4, !tbaa !5
  %1182 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1169, ptr noundef @.str.2, i32 noundef %1170, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 71, ptr noundef %1173, ptr noundef %1176, ptr noundef %1179, i32 noundef %1181) #9
  br label %1200

1183:                                             ; preds = %1161, %1154
  %1184 = load i32, ptr %29, align 4, !tbaa !5
  %1185 = call ptr @__errno_location() #10
  store i32 %1184, ptr %1185, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1189 = load i32, ptr %1188, align 4, !tbaa !5
  %1190 = call ptr @s2n_strerror(i32 noundef %1189, ptr noundef @.str.4)
  %1191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1192 = load i32, ptr %1191, align 4, !tbaa !5
  %1193 = call ptr @s2n_strerror_debug(i32 noundef %1192, ptr noundef @.str.4)
  %1194 = call ptr @__errno_location() #10
  %1195 = load i32, ptr %1194, align 4, !tbaa !5
  %1196 = call ptr @strerror(i32 noundef %1195) #9
  %1197 = call ptr @__errno_location() #10
  %1198 = load i32, ptr %1197, align 4, !tbaa !5
  %1199 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef @.str.5, i32 noundef %1187, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 71, ptr noundef %1190, ptr noundef %1193, ptr noundef %1196, i32 noundef %1198) #9
  br label %1200

1200:                                             ; preds = %1183, %1166
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #9
  br label %1201

1201:                                             ; preds = %1200
  br label %1202

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

1203:                                             ; No predecessors!
  br label %1204

1204:                                             ; preds = %1203
  br label %1205

1205:                                             ; preds = %1204, %1147
  br label %1206

1206:                                             ; preds = %1205
  br label %1207

1207:                                             ; preds = %1206
  %1208 = load ptr, ptr %12, align 8, !tbaa !9
  %1209 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  call void @s2n_set_test_ticket(ptr noundef %1208, ptr noundef %1209, i8 noundef zeroext -118)
  br label %1210

1210:                                             ; preds = %1207
  %1211 = load i32, ptr @test_count, align 4, !tbaa !5
  %1212 = add nsw i32 %1211, 1
  store i32 %1212, ptr @test_count, align 4, !tbaa !5
  %1213 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 3), align 8, !tbaa !18
  %1214 = load ptr, ptr %12, align 8, !tbaa !9
  %1215 = call i32 %1213(ptr noundef %1214, ptr noundef %28)
  %1216 = icmp eq i32 %1215, -1
  br i1 %1216, label %1217, label %1270

1217:                                             ; preds = %1210
  br label %1218

1218:                                             ; preds = %1217
  br label %1219

1219:                                             ; preds = %1218
  call void @llvm.lifetime.start.p0(i64 4, ptr %30) #9
  %1220 = call ptr @__errno_location() #10
  %1221 = load i32, ptr %1220, align 4, !tbaa !5
  store i32 %1221, ptr %30, align 4, !tbaa !5
  %1222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1223 = call i32 @s2n_print_stacktrace(ptr noundef %1222)
  %1224 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1225 = trunc i8 %1224 to i1
  br i1 %1225, label %1226, label %1248

1226:                                             ; preds = %1219
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = call i32 @fileno(ptr noundef %1227) #9
  %1229 = call i32 @isatty(i32 noundef %1228) #9
  %1230 = icmp ne i32 %1229, 0
  br i1 %1230, label %1231, label %1248

1231:                                             ; preds = %1226
  %1232 = load i32, ptr %30, align 4, !tbaa !5
  %1233 = call ptr @__errno_location() #10
  store i32 %1232, ptr %1233, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = load i32, ptr @test_count, align 4, !tbaa !5
  %1236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1237 = load i32, ptr %1236, align 4, !tbaa !5
  %1238 = call ptr @s2n_strerror(i32 noundef %1237, ptr noundef @.str.4)
  %1239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1240 = load i32, ptr %1239, align 4, !tbaa !5
  %1241 = call ptr @s2n_strerror_debug(i32 noundef %1240, ptr noundef @.str.4)
  %1242 = call ptr @__errno_location() #10
  %1243 = load i32, ptr %1242, align 4, !tbaa !5
  %1244 = call ptr @strerror(i32 noundef %1243) #9
  %1245 = call ptr @__errno_location() #10
  %1246 = load i32, ptr %1245, align 4, !tbaa !5
  %1247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1234, ptr noundef @.str.2, i32 noundef %1235, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 75, ptr noundef %1238, ptr noundef %1241, ptr noundef %1244, i32 noundef %1246) #9
  br label %1265

1248:                                             ; preds = %1226, %1219
  %1249 = load i32, ptr %30, align 4, !tbaa !5
  %1250 = call ptr @__errno_location() #10
  store i32 %1249, ptr %1250, align 4, !tbaa !5
  %1251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1252 = load i32, ptr @test_count, align 4, !tbaa !5
  %1253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1254 = load i32, ptr %1253, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror(i32 noundef %1254, ptr noundef @.str.4)
  %1256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1257 = load i32, ptr %1256, align 4, !tbaa !5
  %1258 = call ptr @s2n_strerror_debug(i32 noundef %1257, ptr noundef @.str.4)
  %1259 = call ptr @__errno_location() #10
  %1260 = load i32, ptr %1259, align 4, !tbaa !5
  %1261 = call ptr @strerror(i32 noundef %1260) #9
  %1262 = call ptr @__errno_location() #10
  %1263 = load i32, ptr %1262, align 4, !tbaa !5
  %1264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1251, ptr noundef @.str.5, i32 noundef %1252, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 75, ptr noundef %1255, ptr noundef %1258, ptr noundef %1261, i32 noundef %1263) #9
  br label %1265

1265:                                             ; preds = %1248, %1231
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #9
  br label %1266

1266:                                             ; preds = %1265
  br label %1267

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

1268:                                             ; No predecessors!
  br label %1269

1269:                                             ; preds = %1268
  br label %1270

1270:                                             ; preds = %1269, %1210
  br label %1271

1271:                                             ; preds = %1270
  br label %1272

1272:                                             ; preds = %1271
  br label %1273

1273:                                             ; preds = %1272
  br label %1274

1274:                                             ; preds = %1273
  %1275 = load i32, ptr @test_count, align 4, !tbaa !5
  %1276 = add nsw i32 %1275, 1
  store i32 %1276, ptr @test_count, align 4, !tbaa !5
  %1277 = getelementptr inbounds %struct.s2n_stuffer, ptr %28, i32 0, i32 0
  %1278 = getelementptr inbounds %struct.s2n_blob, ptr %1277, i32 0, i32 0
  %1279 = load ptr, ptr %1278, align 8, !tbaa !19
  %1280 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  %1281 = call i32 @memcmp(ptr noundef %1279, ptr noundef %1280, i64 noundef 138) #12
  %1282 = icmp eq i32 %1281, 0
  br i1 %1282, label %1336, label %1283

1283:                                             ; preds = %1274
  br label %1284

1284:                                             ; preds = %1283
  br label %1285

1285:                                             ; preds = %1284
  call void @llvm.lifetime.start.p0(i64 4, ptr %31) #9
  %1286 = call ptr @__errno_location() #10
  %1287 = load i32, ptr %1286, align 4, !tbaa !5
  store i32 %1287, ptr %31, align 4, !tbaa !5
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = call i32 @s2n_print_stacktrace(ptr noundef %1288)
  %1290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1291 = trunc i8 %1290 to i1
  br i1 %1291, label %1292, label %1314

1292:                                             ; preds = %1285
  %1293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1294 = call i32 @fileno(ptr noundef %1293) #9
  %1295 = call i32 @isatty(i32 noundef %1294) #9
  %1296 = icmp ne i32 %1295, 0
  br i1 %1296, label %1297, label %1314

1297:                                             ; preds = %1292
  %1298 = load i32, ptr %31, align 4, !tbaa !5
  %1299 = call ptr @__errno_location() #10
  store i32 %1298, ptr %1299, align 4, !tbaa !5
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = load i32, ptr @test_count, align 4, !tbaa !5
  %1302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1303 = load i32, ptr %1302, align 4, !tbaa !5
  %1304 = call ptr @s2n_strerror(i32 noundef %1303, ptr noundef @.str.4)
  %1305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1306 = load i32, ptr %1305, align 4, !tbaa !5
  %1307 = call ptr @s2n_strerror_debug(i32 noundef %1306, ptr noundef @.str.4)
  %1308 = call ptr @__errno_location() #10
  %1309 = load i32, ptr %1308, align 4, !tbaa !5
  %1310 = call ptr @strerror(i32 noundef %1309) #9
  %1311 = call ptr @__errno_location() #10
  %1312 = load i32, ptr %1311, align 4, !tbaa !5
  %1313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1300, ptr noundef @.str.2, i32 noundef %1301, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1304, ptr noundef %1307, ptr noundef %1310, i32 noundef %1312) #9
  br label %1331

1314:                                             ; preds = %1292, %1285
  %1315 = load i32, ptr %31, align 4, !tbaa !5
  %1316 = call ptr @__errno_location() #10
  store i32 %1315, ptr %1316, align 4, !tbaa !5
  %1317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1318 = load i32, ptr @test_count, align 4, !tbaa !5
  %1319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1320 = load i32, ptr %1319, align 4, !tbaa !5
  %1321 = call ptr @s2n_strerror(i32 noundef %1320, ptr noundef @.str.4)
  %1322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1323 = load i32, ptr %1322, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror_debug(i32 noundef %1323, ptr noundef @.str.4)
  %1325 = call ptr @__errno_location() #10
  %1326 = load i32, ptr %1325, align 4, !tbaa !5
  %1327 = call ptr @strerror(i32 noundef %1326) #9
  %1328 = call ptr @__errno_location() #10
  %1329 = load i32, ptr %1328, align 4, !tbaa !5
  %1330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1317, ptr noundef @.str.5, i32 noundef %1318, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 77, ptr noundef %1321, ptr noundef %1324, ptr noundef %1327, i32 noundef %1329) #9
  br label %1331

1331:                                             ; preds = %1314, %1297
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1332

1332:                                             ; preds = %1331
  br label %1333

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

1334:                                             ; No predecessors!
  br label %1335

1335:                                             ; preds = %1334
  br label %1336

1336:                                             ; preds = %1335, %1274
  br label %1337

1337:                                             ; preds = %1336
  br label %1338

1338:                                             ; preds = %1337
  br label %1339

1339:                                             ; preds = %1338
  br label %1340

1340:                                             ; preds = %1339
  br label %1341

1341:                                             ; preds = %1340
  %1342 = load i32, ptr @test_count, align 4, !tbaa !5
  %1343 = add nsw i32 %1342, 1
  store i32 %1343, ptr @test_count, align 4, !tbaa !5
  %1344 = call i32 @s2n_stuffer_free(ptr noundef %28)
  %1345 = icmp eq i32 %1344, -1
  br i1 %1345, label %1346, label %1399

1346:                                             ; preds = %1341
  br label %1347

1347:                                             ; preds = %1346
  br label %1348

1348:                                             ; preds = %1347
  call void @llvm.lifetime.start.p0(i64 4, ptr %32) #9
  %1349 = call ptr @__errno_location() #10
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  store i32 %1350, ptr %32, align 4, !tbaa !5
  %1351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1352 = call i32 @s2n_print_stacktrace(ptr noundef %1351)
  %1353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1354 = trunc i8 %1353 to i1
  br i1 %1354, label %1355, label %1377

1355:                                             ; preds = %1348
  %1356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1357 = call i32 @fileno(ptr noundef %1356) #9
  %1358 = call i32 @isatty(i32 noundef %1357) #9
  %1359 = icmp ne i32 %1358, 0
  br i1 %1359, label %1360, label %1377

1360:                                             ; preds = %1355
  %1361 = load i32, ptr %32, align 4, !tbaa !5
  %1362 = call ptr @__errno_location() #10
  store i32 %1361, ptr %1362, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1366 = load i32, ptr %1365, align 4, !tbaa !5
  %1367 = call ptr @s2n_strerror(i32 noundef %1366, ptr noundef @.str.4)
  %1368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1369 = load i32, ptr %1368, align 4, !tbaa !5
  %1370 = call ptr @s2n_strerror_debug(i32 noundef %1369, ptr noundef @.str.4)
  %1371 = call ptr @__errno_location() #10
  %1372 = load i32, ptr %1371, align 4, !tbaa !5
  %1373 = call ptr @strerror(i32 noundef %1372) #9
  %1374 = call ptr @__errno_location() #10
  %1375 = load i32, ptr %1374, align 4, !tbaa !5
  %1376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1363, ptr noundef @.str.2, i32 noundef %1364, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 79, ptr noundef %1367, ptr noundef %1370, ptr noundef %1373, i32 noundef %1375) #9
  br label %1394

1377:                                             ; preds = %1355, %1348
  %1378 = load i32, ptr %32, align 4, !tbaa !5
  %1379 = call ptr @__errno_location() #10
  store i32 %1378, ptr %1379, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = load i32, ptr @test_count, align 4, !tbaa !5
  %1382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1383 = load i32, ptr %1382, align 4, !tbaa !5
  %1384 = call ptr @s2n_strerror(i32 noundef %1383, ptr noundef @.str.4)
  %1385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1386 = load i32, ptr %1385, align 4, !tbaa !5
  %1387 = call ptr @s2n_strerror_debug(i32 noundef %1386, ptr noundef @.str.4)
  %1388 = call ptr @__errno_location() #10
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = call ptr @strerror(i32 noundef %1389) #9
  %1391 = call ptr @__errno_location() #10
  %1392 = load i32, ptr %1391, align 4, !tbaa !5
  %1393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1380, ptr noundef @.str.5, i32 noundef %1381, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 79, ptr noundef %1384, ptr noundef %1387, ptr noundef %1390, i32 noundef %1392) #9
  br label %1394

1394:                                             ; preds = %1377, %1360
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #9
  br label %1395

1395:                                             ; preds = %1394
  br label %1396

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

1397:                                             ; No predecessors!
  br label %1398

1398:                                             ; preds = %1397
  br label %1399

1399:                                             ; preds = %1398, %1341
  br label %1400

1400:                                             ; preds = %1399
  br label %1401

1401:                                             ; preds = %1400
  call void @llvm.lifetime.end.p0(i64 40, ptr %28) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %33) #9
  store ptr null, ptr %33, align 8, !tbaa !9
  br label %1402

1402:                                             ; preds = %1401
  %1403 = load i32, ptr @test_count, align 4, !tbaa !5
  %1404 = add nsw i32 %1403, 1
  store i32 %1404, ptr @test_count, align 4, !tbaa !5
  %1405 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1405, ptr %33, align 8, !tbaa !9
  %1406 = icmp eq ptr %1405, null
  br i1 %1406, label %1407, label %1460

1407:                                             ; preds = %1402
  br label %1408

1408:                                             ; preds = %1407
  br label %1409

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

1416:                                             ; preds = %1409
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = call i32 @fileno(ptr noundef %1417) #9
  %1419 = call i32 @isatty(i32 noundef %1418) #9
  %1420 = icmp ne i32 %1419, 0
  br i1 %1420, label %1421, label %1438

1421:                                             ; preds = %1416
  %1422 = load i32, ptr %34, align 4, !tbaa !5
  %1423 = call ptr @__errno_location() #10
  store i32 %1422, ptr %1423, align 4, !tbaa !5
  %1424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1425 = load i32, ptr @test_count, align 4, !tbaa !5
  %1426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1427 = load i32, ptr %1426, align 4, !tbaa !5
  %1428 = call ptr @s2n_strerror(i32 noundef %1427, ptr noundef @.str.4)
  %1429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1430 = load i32, ptr %1429, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror_debug(i32 noundef %1430, ptr noundef @.str.4)
  %1432 = call ptr @__errno_location() #10
  %1433 = load i32, ptr %1432, align 4, !tbaa !5
  %1434 = call ptr @strerror(i32 noundef %1433) #9
  %1435 = call ptr @__errno_location() #10
  %1436 = load i32, ptr %1435, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1424, ptr noundef @.str.2, i32 noundef %1425, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1428, ptr noundef %1431, ptr noundef %1434, i32 noundef %1436) #9
  br label %1455

1438:                                             ; preds = %1416, %1409
  %1439 = load i32, ptr %34, align 4, !tbaa !5
  %1440 = call ptr @__errno_location() #10
  store i32 %1439, ptr %1440, align 4, !tbaa !5
  %1441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1442 = load i32, ptr @test_count, align 4, !tbaa !5
  %1443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1444 = load i32, ptr %1443, align 4, !tbaa !5
  %1445 = call ptr @s2n_strerror(i32 noundef %1444, ptr noundef @.str.4)
  %1446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1447 = load i32, ptr %1446, align 4, !tbaa !5
  %1448 = call ptr @s2n_strerror_debug(i32 noundef %1447, ptr noundef @.str.4)
  %1449 = call ptr @__errno_location() #10
  %1450 = load i32, ptr %1449, align 4, !tbaa !5
  %1451 = call ptr @strerror(i32 noundef %1450) #9
  %1452 = call ptr @__errno_location() #10
  %1453 = load i32, ptr %1452, align 4, !tbaa !5
  %1454 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1441, ptr noundef @.str.5, i32 noundef %1442, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 85, ptr noundef %1445, ptr noundef %1448, ptr noundef %1451, i32 noundef %1453) #9
  br label %1455

1455:                                             ; preds = %1438, %1421
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1456

1456:                                             ; preds = %1455
  br label %1457

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

1458:                                             ; No predecessors!
  br label %1459

1459:                                             ; preds = %1458
  br label %1460

1460:                                             ; preds = %1459, %1402
  br label %1461

1461:                                             ; preds = %1460
  br label %1462

1462:                                             ; preds = %1461
  br label %1463

1463:                                             ; preds = %1462
  %1464 = load i32, ptr @test_count, align 4, !tbaa !5
  %1465 = add nsw i32 %1464, 1
  store i32 %1465, ptr @test_count, align 4, !tbaa !5
  %1466 = load ptr, ptr %33, align 8, !tbaa !9
  %1467 = load ptr, ptr %10, align 8, !tbaa !9
  %1468 = call i32 @s2n_connection_set_config(ptr noundef %1466, ptr noundef %1467)
  %1469 = icmp eq i32 %1468, -1
  br i1 %1469, label %1470, label %1523

1470:                                             ; preds = %1463
  br label %1471

1471:                                             ; preds = %1470
  br label %1472

1472:                                             ; preds = %1471
  call void @llvm.lifetime.start.p0(i64 4, ptr %35) #9
  %1473 = call ptr @__errno_location() #10
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  store i32 %1474, ptr %35, align 4, !tbaa !5
  %1475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1476 = call i32 @s2n_print_stacktrace(ptr noundef %1475)
  %1477 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1478 = trunc i8 %1477 to i1
  br i1 %1478, label %1479, label %1501

1479:                                             ; preds = %1472
  %1480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1481 = call i32 @fileno(ptr noundef %1480) #9
  %1482 = call i32 @isatty(i32 noundef %1481) #9
  %1483 = icmp ne i32 %1482, 0
  br i1 %1483, label %1484, label %1501

1484:                                             ; preds = %1479
  %1485 = load i32, ptr %35, align 4, !tbaa !5
  %1486 = call ptr @__errno_location() #10
  store i32 %1485, ptr %1486, align 4, !tbaa !5
  %1487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1488 = load i32, ptr @test_count, align 4, !tbaa !5
  %1489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1490 = load i32, ptr %1489, align 4, !tbaa !5
  %1491 = call ptr @s2n_strerror(i32 noundef %1490, ptr noundef @.str.4)
  %1492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1493 = load i32, ptr %1492, align 4, !tbaa !5
  %1494 = call ptr @s2n_strerror_debug(i32 noundef %1493, ptr noundef @.str.4)
  %1495 = call ptr @__errno_location() #10
  %1496 = load i32, ptr %1495, align 4, !tbaa !5
  %1497 = call ptr @strerror(i32 noundef %1496) #9
  %1498 = call ptr @__errno_location() #10
  %1499 = load i32, ptr %1498, align 4, !tbaa !5
  %1500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1487, ptr noundef @.str.2, i32 noundef %1488, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1491, ptr noundef %1494, ptr noundef %1497, i32 noundef %1499) #9
  br label %1518

1501:                                             ; preds = %1479, %1472
  %1502 = load i32, ptr %35, align 4, !tbaa !5
  %1503 = call ptr @__errno_location() #10
  store i32 %1502, ptr %1503, align 4, !tbaa !5
  %1504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1505 = load i32, ptr @test_count, align 4, !tbaa !5
  %1506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1507 = load i32, ptr %1506, align 4, !tbaa !5
  %1508 = call ptr @s2n_strerror(i32 noundef %1507, ptr noundef @.str.4)
  %1509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1510 = load i32, ptr %1509, align 4, !tbaa !5
  %1511 = call ptr @s2n_strerror_debug(i32 noundef %1510, ptr noundef @.str.4)
  %1512 = call ptr @__errno_location() #10
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  %1514 = call ptr @strerror(i32 noundef %1513) #9
  %1515 = call ptr @__errno_location() #10
  %1516 = load i32, ptr %1515, align 4, !tbaa !5
  %1517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1504, ptr noundef @.str.5, i32 noundef %1505, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 86, ptr noundef %1508, ptr noundef %1511, ptr noundef %1514, i32 noundef %1516) #9
  br label %1518

1518:                                             ; preds = %1501, %1484
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #9
  br label %1519

1519:                                             ; preds = %1518
  br label %1520

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

1521:                                             ; No predecessors!
  br label %1522

1522:                                             ; preds = %1521
  br label %1523

1523:                                             ; preds = %1522, %1463
  br label %1524

1524:                                             ; preds = %1523
  br label %1525

1525:                                             ; preds = %1524
  call void @llvm.lifetime.start.p0(i64 40, ptr %36) #9
  call void @llvm.memset.p0.i64(ptr align 8 %36, i8 0, i64 40, i1 false)
  br label %1526

1526:                                             ; preds = %1525
  %1527 = load i32, ptr @test_count, align 4, !tbaa !5
  %1528 = add nsw i32 %1527, 1
  store i32 %1528, ptr @test_count, align 4, !tbaa !5
  %1529 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %36, i32 noundef 0)
  %1530 = icmp eq i32 %1529, -1
  br i1 %1530, label %1531, label %1584

1531:                                             ; preds = %1526
  br label %1532

1532:                                             ; preds = %1531
  br label %1533

1533:                                             ; preds = %1532
  call void @llvm.lifetime.start.p0(i64 4, ptr %37) #9
  %1534 = call ptr @__errno_location() #10
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  store i32 %1535, ptr %37, align 4, !tbaa !5
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = call i32 @s2n_print_stacktrace(ptr noundef %1536)
  %1538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1539 = trunc i8 %1538 to i1
  br i1 %1539, label %1540, label %1562

1540:                                             ; preds = %1533
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = call i32 @fileno(ptr noundef %1541) #9
  %1543 = call i32 @isatty(i32 noundef %1542) #9
  %1544 = icmp ne i32 %1543, 0
  br i1 %1544, label %1545, label %1562

1545:                                             ; preds = %1540
  %1546 = load i32, ptr %37, align 4, !tbaa !5
  %1547 = call ptr @__errno_location() #10
  store i32 %1546, ptr %1547, align 4, !tbaa !5
  %1548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1549 = load i32, ptr @test_count, align 4, !tbaa !5
  %1550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1551 = load i32, ptr %1550, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror(i32 noundef %1551, ptr noundef @.str.4)
  %1553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1554 = load i32, ptr %1553, align 4, !tbaa !5
  %1555 = call ptr @s2n_strerror_debug(i32 noundef %1554, ptr noundef @.str.4)
  %1556 = call ptr @__errno_location() #10
  %1557 = load i32, ptr %1556, align 4, !tbaa !5
  %1558 = call ptr @strerror(i32 noundef %1557) #9
  %1559 = call ptr @__errno_location() #10
  %1560 = load i32, ptr %1559, align 4, !tbaa !5
  %1561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1548, ptr noundef @.str.2, i32 noundef %1549, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1552, ptr noundef %1555, ptr noundef %1558, i32 noundef %1560) #9
  br label %1579

1562:                                             ; preds = %1540, %1533
  %1563 = load i32, ptr %37, align 4, !tbaa !5
  %1564 = call ptr @__errno_location() #10
  store i32 %1563, ptr %1564, align 4, !tbaa !5
  %1565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1566 = load i32, ptr @test_count, align 4, !tbaa !5
  %1567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1568 = load i32, ptr %1567, align 4, !tbaa !5
  %1569 = call ptr @s2n_strerror(i32 noundef %1568, ptr noundef @.str.4)
  %1570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1571 = load i32, ptr %1570, align 4, !tbaa !5
  %1572 = call ptr @s2n_strerror_debug(i32 noundef %1571, ptr noundef @.str.4)
  %1573 = call ptr @__errno_location() #10
  %1574 = load i32, ptr %1573, align 4, !tbaa !5
  %1575 = call ptr @strerror(i32 noundef %1574) #9
  %1576 = call ptr @__errno_location() #10
  %1577 = load i32, ptr %1576, align 4, !tbaa !5
  %1578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1565, ptr noundef @.str.5, i32 noundef %1566, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 89, ptr noundef %1569, ptr noundef %1572, ptr noundef %1575, i32 noundef %1577) #9
  br label %1579

1579:                                             ; preds = %1562, %1545
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #9
  br label %1580

1580:                                             ; preds = %1579
  br label %1581

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

1582:                                             ; No predecessors!
  br label %1583

1583:                                             ; preds = %1582
  br label %1584

1584:                                             ; preds = %1583, %1526
  br label %1585

1585:                                             ; preds = %1584
  br label %1586

1586:                                             ; preds = %1585
  %1587 = load ptr, ptr %12, align 8, !tbaa !9
  %1588 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  call void @s2n_set_test_ticket(ptr noundef %1587, ptr noundef %1588, i8 noundef zeroext -118)
  br label %1589

1589:                                             ; preds = %1586
  %1590 = load i32, ptr @test_count, align 4, !tbaa !5
  %1591 = add nsw i32 %1590, 1
  store i32 %1591, ptr @test_count, align 4, !tbaa !5
  %1592 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 3), align 8, !tbaa !18
  %1593 = load ptr, ptr %12, align 8, !tbaa !9
  %1594 = call i32 %1592(ptr noundef %1593, ptr noundef %36)
  %1595 = icmp eq i32 %1594, -1
  br i1 %1595, label %1596, label %1649

1596:                                             ; preds = %1589
  br label %1597

1597:                                             ; preds = %1596
  br label %1598

1598:                                             ; preds = %1597
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1599 = call ptr @__errno_location() #10
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  store i32 %1600, ptr %38, align 4, !tbaa !5
  %1601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1602 = call i32 @s2n_print_stacktrace(ptr noundef %1601)
  %1603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1604 = trunc i8 %1603 to i1
  br i1 %1604, label %1605, label %1627

1605:                                             ; preds = %1598
  %1606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1607 = call i32 @fileno(ptr noundef %1606) #9
  %1608 = call i32 @isatty(i32 noundef %1607) #9
  %1609 = icmp ne i32 %1608, 0
  br i1 %1609, label %1610, label %1627

1610:                                             ; preds = %1605
  %1611 = load i32, ptr %38, align 4, !tbaa !5
  %1612 = call ptr @__errno_location() #10
  store i32 %1611, ptr %1612, align 4, !tbaa !5
  %1613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1614 = load i32, ptr @test_count, align 4, !tbaa !5
  %1615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1616 = load i32, ptr %1615, align 4, !tbaa !5
  %1617 = call ptr @s2n_strerror(i32 noundef %1616, ptr noundef @.str.4)
  %1618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1619 = load i32, ptr %1618, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror_debug(i32 noundef %1619, ptr noundef @.str.4)
  %1621 = call ptr @__errno_location() #10
  %1622 = load i32, ptr %1621, align 4, !tbaa !5
  %1623 = call ptr @strerror(i32 noundef %1622) #9
  %1624 = call ptr @__errno_location() #10
  %1625 = load i32, ptr %1624, align 4, !tbaa !5
  %1626 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1613, ptr noundef @.str.2, i32 noundef %1614, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1617, ptr noundef %1620, ptr noundef %1623, i32 noundef %1625) #9
  br label %1644

1627:                                             ; preds = %1605, %1598
  %1628 = load i32, ptr %38, align 4, !tbaa !5
  %1629 = call ptr @__errno_location() #10
  store i32 %1628, ptr %1629, align 4, !tbaa !5
  %1630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1633 = load i32, ptr %1632, align 4, !tbaa !5
  %1634 = call ptr @s2n_strerror(i32 noundef %1633, ptr noundef @.str.4)
  %1635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1636 = load i32, ptr %1635, align 4, !tbaa !5
  %1637 = call ptr @s2n_strerror_debug(i32 noundef %1636, ptr noundef @.str.4)
  %1638 = call ptr @__errno_location() #10
  %1639 = load i32, ptr %1638, align 4, !tbaa !5
  %1640 = call ptr @strerror(i32 noundef %1639) #9
  %1641 = call ptr @__errno_location() #10
  %1642 = load i32, ptr %1641, align 4, !tbaa !5
  %1643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1630, ptr noundef @.str.5, i32 noundef %1631, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1634, ptr noundef %1637, ptr noundef %1640, i32 noundef %1642) #9
  br label %1644

1644:                                             ; preds = %1627, %1610
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1645

1645:                                             ; preds = %1644
  br label %1646

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

1647:                                             ; No predecessors!
  br label %1648

1648:                                             ; preds = %1647
  br label %1649

1649:                                             ; preds = %1648, %1589
  br label %1650

1650:                                             ; preds = %1649
  br label %1651

1651:                                             ; preds = %1650
  br label %1652

1652:                                             ; preds = %1651
  %1653 = load i32, ptr @test_count, align 4, !tbaa !5
  %1654 = add nsw i32 %1653, 1
  store i32 %1654, ptr @test_count, align 4, !tbaa !5
  %1655 = load ptr, ptr %33, align 8, !tbaa !9
  %1656 = getelementptr inbounds %struct.s2n_connection, ptr %1655, i32 0, i32 76
  %1657 = load i32, ptr %1656, align 4, !tbaa !22
  %1658 = icmp eq i32 %1657, 0
  br i1 %1658, label %1712, label %1659

1659:                                             ; preds = %1652
  br label %1660

1660:                                             ; preds = %1659
  br label %1661

1661:                                             ; preds = %1660
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %1662 = call ptr @__errno_location() #10
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  store i32 %1663, ptr %39, align 4, !tbaa !5
  %1664 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1665 = call i32 @s2n_print_stacktrace(ptr noundef %1664)
  %1666 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1667 = trunc i8 %1666 to i1
  br i1 %1667, label %1668, label %1690

1668:                                             ; preds = %1661
  %1669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1670 = call i32 @fileno(ptr noundef %1669) #9
  %1671 = call i32 @isatty(i32 noundef %1670) #9
  %1672 = icmp ne i32 %1671, 0
  br i1 %1672, label %1673, label %1690

1673:                                             ; preds = %1668
  %1674 = load i32, ptr %39, align 4, !tbaa !5
  %1675 = call ptr @__errno_location() #10
  store i32 %1674, ptr %1675, align 4, !tbaa !5
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = load i32, ptr @test_count, align 4, !tbaa !5
  %1678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1679 = load i32, ptr %1678, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror(i32 noundef %1679, ptr noundef @.str.4)
  %1681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1682 = load i32, ptr %1681, align 4, !tbaa !5
  %1683 = call ptr @s2n_strerror_debug(i32 noundef %1682, ptr noundef @.str.4)
  %1684 = call ptr @__errno_location() #10
  %1685 = load i32, ptr %1684, align 4, !tbaa !5
  %1686 = call ptr @strerror(i32 noundef %1685) #9
  %1687 = call ptr @__errno_location() #10
  %1688 = load i32, ptr %1687, align 4, !tbaa !5
  %1689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1676, ptr noundef @.str.2, i32 noundef %1677, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1680, ptr noundef %1683, ptr noundef %1686, i32 noundef %1688) #9
  br label %1707

1690:                                             ; preds = %1668, %1661
  %1691 = load i32, ptr %39, 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.4)
  %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.4)
  %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.5, i32 noundef %1694, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 94, ptr noundef %1697, ptr noundef %1700, ptr noundef %1703, i32 noundef %1705) #9
  br label %1707

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

1708:                                             ; preds = %1707
  br label %1709

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

1710:                                             ; No predecessors!
  br label %1711

1711:                                             ; preds = %1710
  br label %1712

1712:                                             ; preds = %1711, %1652
  br label %1713

1713:                                             ; preds = %1712
  br label %1714

1714:                                             ; preds = %1713
  br label %1715

1715:                                             ; preds = %1714
  %1716 = load i32, ptr @test_count, align 4, !tbaa !5
  %1717 = add nsw i32 %1716, 1
  store i32 %1717, ptr @test_count, align 4, !tbaa !5
  %1718 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %1719 = load ptr, ptr %33, align 8, !tbaa !9
  %1720 = call i32 %1718(ptr noundef %1719, ptr noundef %36)
  %1721 = icmp eq i32 %1720, -1
  br i1 %1721, label %1722, label %1775

1722:                                             ; preds = %1715
  br label %1723

1723:                                             ; preds = %1722
  br label %1724

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

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

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

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

1770:                                             ; preds = %1753, %1736
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #9
  br label %1771

1771:                                             ; preds = %1770
  br label %1772

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

1773:                                             ; No predecessors!
  br label %1774

1774:                                             ; preds = %1773
  br label %1775

1775:                                             ; preds = %1774, %1715
  br label %1776

1776:                                             ; preds = %1775
  br label %1777

1777:                                             ; preds = %1776
  br label %1778

1778:                                             ; preds = %1777
  %1779 = load i32, ptr @test_count, align 4, !tbaa !5
  %1780 = add nsw i32 %1779, 1
  store i32 %1780, ptr @test_count, align 4, !tbaa !5
  %1781 = load ptr, ptr %33, align 8, !tbaa !9
  %1782 = getelementptr inbounds %struct.s2n_connection, ptr %1781, i32 0, i32 76
  %1783 = load i32, ptr %1782, align 4, !tbaa !22
  %1784 = icmp eq i32 %1783, 1
  br i1 %1784, label %1838, label %1785

1785:                                             ; preds = %1778
  br label %1786

1786:                                             ; preds = %1785
  br label %1787

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

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

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

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

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

1834:                                             ; preds = %1833
  br label %1835

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

1836:                                             ; No predecessors!
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

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

1839:                                             ; preds = %1838
  br label %1840

1840:                                             ; preds = %1839
  br label %1841

1841:                                             ; preds = %1840
  br label %1842

1842:                                             ; preds = %1841
  %1843 = load i32, ptr @test_count, align 4, !tbaa !5
  %1844 = add nsw i32 %1843, 1
  store i32 %1844, ptr @test_count, align 4, !tbaa !5
  %1845 = load ptr, ptr %33, align 8, !tbaa !9
  %1846 = getelementptr inbounds %struct.s2n_connection, ptr %1845, i32 0, i32 81
  %1847 = getelementptr inbounds %struct.s2n_stuffer, ptr %1846, i32 0, i32 0
  %1848 = getelementptr inbounds %struct.s2n_blob, ptr %1847, i32 0, i32 0
  %1849 = load ptr, ptr %1848, align 8, !tbaa !47
  %1850 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  %1851 = call i32 @memcmp(ptr noundef %1849, ptr noundef %1850, i64 noundef 138) #12
  %1852 = icmp eq i32 %1851, 0
  br i1 %1852, label %1906, label %1853

1853:                                             ; preds = %1842
  br label %1854

1854:                                             ; preds = %1853
  br label %1855

1855:                                             ; preds = %1854
  call void @llvm.lifetime.start.p0(i64 4, ptr %42) #9
  %1856 = call ptr @__errno_location() #10
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  store i32 %1857, ptr %42, 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 %42, 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.4)
  %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.4)
  %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.2, i32 noundef %1871, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1874, ptr noundef %1877, ptr noundef %1880, i32 noundef %1882) #9
  br label %1901

1884:                                             ; preds = %1862, %1855
  %1885 = load i32, ptr %42, 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.4)
  %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.4)
  %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.5, i32 noundef %1888, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 98, 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 %42) #9
  br label %1902

1902:                                             ; preds = %1901
  br label %1903

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

1904:                                             ; No predecessors!
  br label %1905

1905:                                             ; preds = %1904
  br label %1906

1906:                                             ; preds = %1905, %1842
  br label %1907

1907:                                             ; preds = %1906
  br label %1908

1908:                                             ; preds = %1907
  br label %1909

1909:                                             ; preds = %1908
  br label %1910

1910:                                             ; preds = %1909
  br label %1911

1911:                                             ; preds = %1910
  %1912 = load i32, ptr @test_count, align 4, !tbaa !5
  %1913 = add nsw i32 %1912, 1
  store i32 %1913, ptr @test_count, align 4, !tbaa !5
  %1914 = call i32 @s2n_stuffer_free(ptr noundef %36)
  %1915 = icmp eq i32 %1914, -1
  br i1 %1915, label %1916, label %1969

1916:                                             ; preds = %1911
  br label %1917

1917:                                             ; preds = %1916
  br label %1918

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

1925:                                             ; preds = %1918
  %1926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1927 = call i32 @fileno(ptr noundef %1926) #9
  %1928 = call i32 @isatty(i32 noundef %1927) #9
  %1929 = icmp ne i32 %1928, 0
  br i1 %1929, label %1930, label %1947

1930:                                             ; preds = %1925
  %1931 = load i32, ptr %43, align 4, !tbaa !5
  %1932 = call ptr @__errno_location() #10
  store i32 %1931, ptr %1932, align 4, !tbaa !5
  %1933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1934 = load i32, ptr @test_count, align 4, !tbaa !5
  %1935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1936 = load i32, ptr %1935, align 4, !tbaa !5
  %1937 = call ptr @s2n_strerror(i32 noundef %1936, ptr noundef @.str.4)
  %1938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1939 = load i32, ptr %1938, align 4, !tbaa !5
  %1940 = call ptr @s2n_strerror_debug(i32 noundef %1939, ptr noundef @.str.4)
  %1941 = call ptr @__errno_location() #10
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call ptr @strerror(i32 noundef %1942) #9
  %1944 = call ptr @__errno_location() #10
  %1945 = load i32, ptr %1944, align 4, !tbaa !5
  %1946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1933, ptr noundef @.str.2, i32 noundef %1934, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1937, ptr noundef %1940, ptr noundef %1943, i32 noundef %1945) #9
  br label %1964

1947:                                             ; preds = %1925, %1918
  %1948 = load i32, ptr %43, align 4, !tbaa !5
  %1949 = call ptr @__errno_location() #10
  store i32 %1948, ptr %1949, align 4, !tbaa !5
  %1950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1951 = load i32, ptr @test_count, align 4, !tbaa !5
  %1952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1953 = load i32, ptr %1952, align 4, !tbaa !5
  %1954 = call ptr @s2n_strerror(i32 noundef %1953, ptr noundef @.str.4)
  %1955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1956 = load i32, ptr %1955, align 4, !tbaa !5
  %1957 = call ptr @s2n_strerror_debug(i32 noundef %1956, ptr noundef @.str.4)
  %1958 = call ptr @__errno_location() #10
  %1959 = load i32, ptr %1958, align 4, !tbaa !5
  %1960 = call ptr @strerror(i32 noundef %1959) #9
  %1961 = call ptr @__errno_location() #10
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1950, ptr noundef @.str.5, i32 noundef %1951, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1954, ptr noundef %1957, ptr noundef %1960, i32 noundef %1962) #9
  br label %1964

1964:                                             ; preds = %1947, %1930
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %1965

1965:                                             ; preds = %1964
  br label %1966

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

1967:                                             ; No predecessors!
  br label %1968

1968:                                             ; preds = %1967
  br label %1969

1969:                                             ; preds = %1968, %1911
  br label %1970

1970:                                             ; preds = %1969
  br label %1971

1971:                                             ; preds = %1970
  br label %1972

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

1978:                                             ; preds = %1972
  br label %1979

1979:                                             ; preds = %1978
  br label %1980

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

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

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

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

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

2027:                                             ; preds = %2026
  br label %2028

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

2029:                                             ; No predecessors!
  br label %2030

2030:                                             ; preds = %2029
  br label %2031

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

2032:                                             ; preds = %2031
  br label %2033

2033:                                             ; preds = %2032
  call void @llvm.lifetime.end.p0(i64 40, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %33) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %45) #9
  store ptr null, ptr %45, align 8, !tbaa !9
  br label %2034

2034:                                             ; preds = %2033
  %2035 = load i32, ptr @test_count, align 4, !tbaa !5
  %2036 = add nsw i32 %2035, 1
  store i32 %2036, ptr @test_count, align 4, !tbaa !5
  %2037 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2037, ptr %45, align 8, !tbaa !9
  %2038 = icmp eq ptr %2037, null
  br i1 %2038, label %2039, label %2092

2039:                                             ; preds = %2034
  br label %2040

2040:                                             ; preds = %2039
  br label %2041

2041:                                             ; preds = %2040
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  %2042 = call ptr @__errno_location() #10
  %2043 = load i32, ptr %2042, align 4, !tbaa !5
  store i32 %2043, ptr %46, align 4, !tbaa !5
  %2044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2045 = call i32 @s2n_print_stacktrace(ptr noundef %2044)
  %2046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2047 = trunc i8 %2046 to i1
  br i1 %2047, label %2048, label %2070

2048:                                             ; preds = %2041
  %2049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2050 = call i32 @fileno(ptr noundef %2049) #9
  %2051 = call i32 @isatty(i32 noundef %2050) #9
  %2052 = icmp ne i32 %2051, 0
  br i1 %2052, label %2053, label %2070

2053:                                             ; preds = %2048
  %2054 = load i32, ptr %46, align 4, !tbaa !5
  %2055 = call ptr @__errno_location() #10
  store i32 %2054, ptr %2055, align 4, !tbaa !5
  %2056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2057 = load i32, ptr @test_count, align 4, !tbaa !5
  %2058 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2059 = load i32, ptr %2058, align 4, !tbaa !5
  %2060 = call ptr @s2n_strerror(i32 noundef %2059, ptr noundef @.str.4)
  %2061 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2062 = load i32, ptr %2061, align 4, !tbaa !5
  %2063 = call ptr @s2n_strerror_debug(i32 noundef %2062, ptr noundef @.str.4)
  %2064 = call ptr @__errno_location() #10
  %2065 = load i32, ptr %2064, align 4, !tbaa !5
  %2066 = call ptr @strerror(i32 noundef %2065) #9
  %2067 = call ptr @__errno_location() #10
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2056, ptr noundef @.str.2, i32 noundef %2057, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2060, ptr noundef %2063, ptr noundef %2066, i32 noundef %2068) #9
  br label %2087

2070:                                             ; preds = %2048, %2041
  %2071 = load i32, ptr %46, align 4, !tbaa !5
  %2072 = call ptr @__errno_location() #10
  store i32 %2071, ptr %2072, align 4, !tbaa !5
  %2073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2074 = load i32, ptr @test_count, align 4, !tbaa !5
  %2075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2076 = load i32, ptr %2075, align 4, !tbaa !5
  %2077 = call ptr @s2n_strerror(i32 noundef %2076, ptr noundef @.str.4)
  %2078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2079 = load i32, ptr %2078, align 4, !tbaa !5
  %2080 = call ptr @s2n_strerror_debug(i32 noundef %2079, ptr noundef @.str.4)
  %2081 = call ptr @__errno_location() #10
  %2082 = load i32, ptr %2081, align 4, !tbaa !5
  %2083 = call ptr @strerror(i32 noundef %2082) #9
  %2084 = call ptr @__errno_location() #10
  %2085 = load i32, ptr %2084, align 4, !tbaa !5
  %2086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2073, ptr noundef @.str.5, i32 noundef %2074, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 107, ptr noundef %2077, ptr noundef %2080, ptr noundef %2083, i32 noundef %2085) #9
  br label %2087

2087:                                             ; preds = %2070, %2053
  call void @llvm.lifetime.end.p0(i64 4, ptr %46) #9
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

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

2090:                                             ; No predecessors!
  br label %2091

2091:                                             ; preds = %2090
  br label %2092

2092:                                             ; preds = %2091, %2034
  br label %2093

2093:                                             ; preds = %2092
  br label %2094

2094:                                             ; preds = %2093
  br label %2095

2095:                                             ; preds = %2094
  %2096 = load i32, ptr @test_count, align 4, !tbaa !5
  %2097 = add nsw i32 %2096, 1
  store i32 %2097, ptr @test_count, align 4, !tbaa !5
  %2098 = load ptr, ptr %45, align 8, !tbaa !9
  %2099 = load ptr, ptr %10, align 8, !tbaa !9
  %2100 = call i32 @s2n_connection_set_config(ptr noundef %2098, ptr noundef %2099)
  %2101 = icmp eq i32 %2100, -1
  br i1 %2101, label %2102, label %2155

2102:                                             ; preds = %2095
  br label %2103

2103:                                             ; preds = %2102
  br label %2104

2104:                                             ; preds = %2103
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %2105 = call ptr @__errno_location() #10
  %2106 = load i32, ptr %2105, align 4, !tbaa !5
  store i32 %2106, ptr %47, align 4, !tbaa !5
  %2107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2108 = call i32 @s2n_print_stacktrace(ptr noundef %2107)
  %2109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2110 = trunc i8 %2109 to i1
  br i1 %2110, label %2111, label %2133

2111:                                             ; preds = %2104
  %2112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2113 = call i32 @fileno(ptr noundef %2112) #9
  %2114 = call i32 @isatty(i32 noundef %2113) #9
  %2115 = icmp ne i32 %2114, 0
  br i1 %2115, label %2116, label %2133

2116:                                             ; preds = %2111
  %2117 = load i32, ptr %47, align 4, !tbaa !5
  %2118 = call ptr @__errno_location() #10
  store i32 %2117, ptr %2118, align 4, !tbaa !5
  %2119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2120 = load i32, ptr @test_count, align 4, !tbaa !5
  %2121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2122 = load i32, ptr %2121, align 4, !tbaa !5
  %2123 = call ptr @s2n_strerror(i32 noundef %2122, ptr noundef @.str.4)
  %2124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2125 = load i32, ptr %2124, align 4, !tbaa !5
  %2126 = call ptr @s2n_strerror_debug(i32 noundef %2125, ptr noundef @.str.4)
  %2127 = call ptr @__errno_location() #10
  %2128 = load i32, ptr %2127, align 4, !tbaa !5
  %2129 = call ptr @strerror(i32 noundef %2128) #9
  %2130 = call ptr @__errno_location() #10
  %2131 = load i32, ptr %2130, align 4, !tbaa !5
  %2132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2119, ptr noundef @.str.2, i32 noundef %2120, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2123, ptr noundef %2126, ptr noundef %2129, i32 noundef %2131) #9
  br label %2150

2133:                                             ; preds = %2111, %2104
  %2134 = load i32, ptr %47, align 4, !tbaa !5
  %2135 = call ptr @__errno_location() #10
  store i32 %2134, ptr %2135, align 4, !tbaa !5
  %2136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2137 = load i32, ptr @test_count, align 4, !tbaa !5
  %2138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2139 = load i32, ptr %2138, align 4, !tbaa !5
  %2140 = call ptr @s2n_strerror(i32 noundef %2139, ptr noundef @.str.4)
  %2141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2142 = load i32, ptr %2141, align 4, !tbaa !5
  %2143 = call ptr @s2n_strerror_debug(i32 noundef %2142, ptr noundef @.str.4)
  %2144 = call ptr @__errno_location() #10
  %2145 = load i32, ptr %2144, align 4, !tbaa !5
  %2146 = call ptr @strerror(i32 noundef %2145) #9
  %2147 = call ptr @__errno_location() #10
  %2148 = load i32, ptr %2147, align 4, !tbaa !5
  %2149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2136, ptr noundef @.str.5, i32 noundef %2137, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 108, ptr noundef %2140, ptr noundef %2143, ptr noundef %2146, i32 noundef %2148) #9
  br label %2150

2150:                                             ; preds = %2133, %2116
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

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

2153:                                             ; No predecessors!
  br label %2154

2154:                                             ; preds = %2153
  br label %2155

2155:                                             ; preds = %2154, %2095
  br label %2156

2156:                                             ; preds = %2155
  br label %2157

2157:                                             ; preds = %2156
  call void @llvm.lifetime.start.p0(i64 40, ptr %48) #9
  call void @llvm.memset.p0.i64(ptr align 8 %48, i8 0, i64 40, i1 false)
  br label %2158

2158:                                             ; preds = %2157
  %2159 = load i32, ptr @test_count, align 4, !tbaa !5
  %2160 = add nsw i32 %2159, 1
  store i32 %2160, ptr @test_count, align 4, !tbaa !5
  %2161 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %48, i32 noundef 0)
  %2162 = icmp eq i32 %2161, -1
  br i1 %2162, label %2163, label %2216

2163:                                             ; preds = %2158
  br label %2164

2164:                                             ; preds = %2163
  br label %2165

2165:                                             ; preds = %2164
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %2166 = call ptr @__errno_location() #10
  %2167 = load i32, ptr %2166, align 4, !tbaa !5
  store i32 %2167, ptr %49, align 4, !tbaa !5
  %2168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2169 = call i32 @s2n_print_stacktrace(ptr noundef %2168)
  %2170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2171 = trunc i8 %2170 to i1
  br i1 %2171, label %2172, label %2194

2172:                                             ; preds = %2165
  %2173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2174 = call i32 @fileno(ptr noundef %2173) #9
  %2175 = call i32 @isatty(i32 noundef %2174) #9
  %2176 = icmp ne i32 %2175, 0
  br i1 %2176, label %2177, label %2194

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

2194:                                             ; preds = %2172, %2165
  %2195 = load i32, ptr %49, align 4, !tbaa !5
  %2196 = call ptr @__errno_location() #10
  store i32 %2195, ptr %2196, align 4, !tbaa !5
  %2197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2198 = load i32, ptr @test_count, align 4, !tbaa !5
  %2199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2200 = load i32, ptr %2199, align 4, !tbaa !5
  %2201 = call ptr @s2n_strerror(i32 noundef %2200, ptr noundef @.str.4)
  %2202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2203 = load i32, ptr %2202, align 4, !tbaa !5
  %2204 = call ptr @s2n_strerror_debug(i32 noundef %2203, ptr noundef @.str.4)
  %2205 = call ptr @__errno_location() #10
  %2206 = load i32, ptr %2205, align 4, !tbaa !5
  %2207 = call ptr @strerror(i32 noundef %2206) #9
  %2208 = call ptr @__errno_location() #10
  %2209 = load i32, ptr %2208, align 4, !tbaa !5
  %2210 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2197, ptr noundef @.str.5, i32 noundef %2198, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 111, ptr noundef %2201, ptr noundef %2204, ptr noundef %2207, i32 noundef %2209) #9
  br label %2211

2211:                                             ; preds = %2194, %2177
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2212

2212:                                             ; preds = %2211
  br label %2213

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

2214:                                             ; No predecessors!
  br label %2215

2215:                                             ; preds = %2214
  br label %2216

2216:                                             ; preds = %2215, %2158
  br label %2217

2217:                                             ; preds = %2216
  br label %2218

2218:                                             ; preds = %2217
  %2219 = load ptr, ptr %12, align 8, !tbaa !9
  %2220 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  call void @s2n_set_test_ticket(ptr noundef %2219, ptr noundef %2220, i8 noundef zeroext -118)
  br label %2221

2221:                                             ; preds = %2218
  %2222 = load i32, ptr @test_count, align 4, !tbaa !5
  %2223 = add nsw i32 %2222, 1
  store i32 %2223, ptr @test_count, align 4, !tbaa !5
  %2224 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 3), align 8, !tbaa !18
  %2225 = load ptr, ptr %12, align 8, !tbaa !9
  %2226 = call i32 %2224(ptr noundef %2225, ptr noundef %48)
  %2227 = icmp eq i32 %2226, -1
  br i1 %2227, label %2228, label %2281

2228:                                             ; preds = %2221
  br label %2229

2229:                                             ; preds = %2228
  br label %2230

2230:                                             ; preds = %2229
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #9
  %2231 = call ptr @__errno_location() #10
  %2232 = load i32, ptr %2231, align 4, !tbaa !5
  store i32 %2232, ptr %50, align 4, !tbaa !5
  %2233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2234 = call i32 @s2n_print_stacktrace(ptr noundef %2233)
  %2235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2236 = trunc i8 %2235 to i1
  br i1 %2236, label %2237, label %2259

2237:                                             ; preds = %2230
  %2238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2239 = call i32 @fileno(ptr noundef %2238) #9
  %2240 = call i32 @isatty(i32 noundef %2239) #9
  %2241 = icmp ne i32 %2240, 0
  br i1 %2241, label %2242, label %2259

2242:                                             ; preds = %2237
  %2243 = load i32, ptr %50, align 4, !tbaa !5
  %2244 = call ptr @__errno_location() #10
  store i32 %2243, ptr %2244, align 4, !tbaa !5
  %2245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2246 = load i32, ptr @test_count, align 4, !tbaa !5
  %2247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2248 = load i32, ptr %2247, align 4, !tbaa !5
  %2249 = call ptr @s2n_strerror(i32 noundef %2248, ptr noundef @.str.4)
  %2250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2251 = load i32, ptr %2250, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror_debug(i32 noundef %2251, ptr noundef @.str.4)
  %2253 = call ptr @__errno_location() #10
  %2254 = load i32, ptr %2253, align 4, !tbaa !5
  %2255 = call ptr @strerror(i32 noundef %2254) #9
  %2256 = call ptr @__errno_location() #10
  %2257 = load i32, ptr %2256, align 4, !tbaa !5
  %2258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2245, ptr noundef @.str.2, i32 noundef %2246, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2249, ptr noundef %2252, ptr noundef %2255, i32 noundef %2257) #9
  br label %2276

2259:                                             ; preds = %2237, %2230
  %2260 = load i32, ptr %50, align 4, !tbaa !5
  %2261 = call ptr @__errno_location() #10
  store i32 %2260, ptr %2261, align 4, !tbaa !5
  %2262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2263 = load i32, ptr @test_count, align 4, !tbaa !5
  %2264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  %2266 = call ptr @s2n_strerror(i32 noundef %2265, ptr noundef @.str.4)
  %2267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror_debug(i32 noundef %2268, ptr noundef @.str.4)
  %2270 = call ptr @__errno_location() #10
  %2271 = load i32, ptr %2270, align 4, !tbaa !5
  %2272 = call ptr @strerror(i32 noundef %2271) #9
  %2273 = call ptr @__errno_location() #10
  %2274 = load i32, ptr %2273, align 4, !tbaa !5
  %2275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2262, ptr noundef @.str.5, i32 noundef %2263, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 114, ptr noundef %2266, ptr noundef %2269, ptr noundef %2272, i32 noundef %2274) #9
  br label %2276

2276:                                             ; preds = %2259, %2242
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #9
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

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

2279:                                             ; No predecessors!
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

2281:                                             ; preds = %2280, %2221
  br label %2282

2282:                                             ; preds = %2281
  br label %2283

2283:                                             ; preds = %2282
  %2284 = load ptr, ptr %45, align 8, !tbaa !9
  %2285 = getelementptr inbounds %struct.s2n_connection, ptr %2284, i32 0, i32 23
  store i8 34, ptr %2285, align 4, !tbaa !48
  br label %2286

2286:                                             ; preds = %2283
  %2287 = load i32, ptr @test_count, align 4, !tbaa !5
  %2288 = add nsw i32 %2287, 1
  store i32 %2288, ptr @test_count, align 4, !tbaa !5
  %2289 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %2290 = load ptr, ptr %45, align 8, !tbaa !9
  %2291 = call i32 %2289(ptr noundef %2290, ptr noundef %48)
  %2292 = icmp eq i32 %2291, -1
  br i1 %2292, label %2293, label %2346

2293:                                             ; preds = %2286
  br label %2294

2294:                                             ; preds = %2293
  br label %2295

2295:                                             ; preds = %2294
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #9
  %2296 = call ptr @__errno_location() #10
  %2297 = load i32, ptr %2296, align 4, !tbaa !5
  store i32 %2297, ptr %51, align 4, !tbaa !5
  %2298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2299 = call i32 @s2n_print_stacktrace(ptr noundef %2298)
  %2300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2301 = trunc i8 %2300 to i1
  br i1 %2301, label %2302, label %2324

2302:                                             ; preds = %2295
  %2303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2304 = call i32 @fileno(ptr noundef %2303) #9
  %2305 = call i32 @isatty(i32 noundef %2304) #9
  %2306 = icmp ne i32 %2305, 0
  br i1 %2306, label %2307, label %2324

2307:                                             ; preds = %2302
  %2308 = load i32, ptr %51, align 4, !tbaa !5
  %2309 = call ptr @__errno_location() #10
  store i32 %2308, ptr %2309, align 4, !tbaa !5
  %2310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2311 = load i32, ptr @test_count, align 4, !tbaa !5
  %2312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2313 = load i32, ptr %2312, align 4, !tbaa !5
  %2314 = call ptr @s2n_strerror(i32 noundef %2313, ptr noundef @.str.4)
  %2315 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2316 = load i32, ptr %2315, align 4, !tbaa !5
  %2317 = call ptr @s2n_strerror_debug(i32 noundef %2316, ptr noundef @.str.4)
  %2318 = call ptr @__errno_location() #10
  %2319 = load i32, ptr %2318, align 4, !tbaa !5
  %2320 = call ptr @strerror(i32 noundef %2319) #9
  %2321 = call ptr @__errno_location() #10
  %2322 = load i32, ptr %2321, align 4, !tbaa !5
  %2323 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2310, ptr noundef @.str.2, i32 noundef %2311, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2314, ptr noundef %2317, ptr noundef %2320, i32 noundef %2322) #9
  br label %2341

2324:                                             ; preds = %2302, %2295
  %2325 = load i32, ptr %51, align 4, !tbaa !5
  %2326 = call ptr @__errno_location() #10
  store i32 %2325, ptr %2326, align 4, !tbaa !5
  %2327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2328 = load i32, ptr @test_count, align 4, !tbaa !5
  %2329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2330 = load i32, ptr %2329, align 4, !tbaa !5
  %2331 = call ptr @s2n_strerror(i32 noundef %2330, ptr noundef @.str.4)
  %2332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2333 = load i32, ptr %2332, align 4, !tbaa !5
  %2334 = call ptr @s2n_strerror_debug(i32 noundef %2333, ptr noundef @.str.4)
  %2335 = call ptr @__errno_location() #10
  %2336 = load i32, ptr %2335, align 4, !tbaa !5
  %2337 = call ptr @strerror(i32 noundef %2336) #9
  %2338 = call ptr @__errno_location() #10
  %2339 = load i32, ptr %2338, align 4, !tbaa !5
  %2340 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2327, ptr noundef @.str.5, i32 noundef %2328, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 117, ptr noundef %2331, ptr noundef %2334, ptr noundef %2337, i32 noundef %2339) #9
  br label %2341

2341:                                             ; preds = %2324, %2307
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2342

2342:                                             ; preds = %2341
  br label %2343

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

2344:                                             ; No predecessors!
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345, %2286
  br label %2347

2347:                                             ; preds = %2346
  br label %2348

2348:                                             ; preds = %2347
  br label %2349

2349:                                             ; preds = %2348
  %2350 = load i32, ptr @test_count, align 4, !tbaa !5
  %2351 = add nsw i32 %2350, 1
  store i32 %2351, ptr @test_count, align 4, !tbaa !5
  %2352 = load ptr, ptr %45, align 8, !tbaa !9
  %2353 = getelementptr inbounds %struct.s2n_connection, ptr %2352, i32 0, i32 76
  %2354 = load i32, ptr %2353, align 4, !tbaa !22
  %2355 = icmp eq i32 %2354, 0
  br i1 %2355, label %2409, label %2356

2356:                                             ; preds = %2349
  br label %2357

2357:                                             ; preds = %2356
  br label %2358

2358:                                             ; preds = %2357
  call void @llvm.lifetime.start.p0(i64 4, ptr %52) #9
  %2359 = call ptr @__errno_location() #10
  %2360 = load i32, ptr %2359, align 4, !tbaa !5
  store i32 %2360, ptr %52, align 4, !tbaa !5
  %2361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2362 = call i32 @s2n_print_stacktrace(ptr noundef %2361)
  %2363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2364 = trunc i8 %2363 to i1
  br i1 %2364, label %2365, label %2387

2365:                                             ; preds = %2358
  %2366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2367 = call i32 @fileno(ptr noundef %2366) #9
  %2368 = call i32 @isatty(i32 noundef %2367) #9
  %2369 = icmp ne i32 %2368, 0
  br i1 %2369, label %2370, label %2387

2370:                                             ; preds = %2365
  %2371 = load i32, ptr %52, align 4, !tbaa !5
  %2372 = call ptr @__errno_location() #10
  store i32 %2371, ptr %2372, align 4, !tbaa !5
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = load i32, ptr @test_count, align 4, !tbaa !5
  %2375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2376 = load i32, ptr %2375, align 4, !tbaa !5
  %2377 = call ptr @s2n_strerror(i32 noundef %2376, ptr noundef @.str.4)
  %2378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2379 = load i32, ptr %2378, align 4, !tbaa !5
  %2380 = call ptr @s2n_strerror_debug(i32 noundef %2379, ptr noundef @.str.4)
  %2381 = call ptr @__errno_location() #10
  %2382 = load i32, ptr %2381, align 4, !tbaa !5
  %2383 = call ptr @strerror(i32 noundef %2382) #9
  %2384 = call ptr @__errno_location() #10
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2373, ptr noundef @.str.2, i32 noundef %2374, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2377, ptr noundef %2380, ptr noundef %2383, i32 noundef %2385) #9
  br label %2404

2387:                                             ; preds = %2365, %2358
  %2388 = load i32, ptr %52, align 4, !tbaa !5
  %2389 = call ptr @__errno_location() #10
  store i32 %2388, ptr %2389, align 4, !tbaa !5
  %2390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2391 = load i32, ptr @test_count, align 4, !tbaa !5
  %2392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2393 = load i32, ptr %2392, align 4, !tbaa !5
  %2394 = call ptr @s2n_strerror(i32 noundef %2393, ptr noundef @.str.4)
  %2395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2396 = load i32, ptr %2395, align 4, !tbaa !5
  %2397 = call ptr @s2n_strerror_debug(i32 noundef %2396, ptr noundef @.str.4)
  %2398 = call ptr @__errno_location() #10
  %2399 = load i32, ptr %2398, align 4, !tbaa !5
  %2400 = call ptr @strerror(i32 noundef %2399) #9
  %2401 = call ptr @__errno_location() #10
  %2402 = load i32, ptr %2401, align 4, !tbaa !5
  %2403 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2390, ptr noundef @.str.5, i32 noundef %2391, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 118, ptr noundef %2394, ptr noundef %2397, ptr noundef %2400, i32 noundef %2402) #9
  br label %2404

2404:                                             ; preds = %2387, %2370
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2405

2405:                                             ; preds = %2404
  br label %2406

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

2407:                                             ; No predecessors!
  br label %2408

2408:                                             ; preds = %2407
  br label %2409

2409:                                             ; preds = %2408, %2349
  br label %2410

2410:                                             ; preds = %2409
  br label %2411

2411:                                             ; preds = %2410
  br label %2412

2412:                                             ; preds = %2411
  %2413 = load i32, ptr @test_count, align 4, !tbaa !5
  %2414 = add nsw i32 %2413, 1
  store i32 %2414, ptr @test_count, align 4, !tbaa !5
  %2415 = load ptr, ptr %45, align 8, !tbaa !9
  %2416 = getelementptr inbounds %struct.s2n_connection, ptr %2415, i32 0, i32 81
  %2417 = getelementptr inbounds %struct.s2n_stuffer, ptr %2416, i32 0, i32 2
  %2418 = load i32, ptr %2417, align 4, !tbaa !49
  %2419 = load ptr, ptr %45, align 8, !tbaa !9
  %2420 = getelementptr inbounds %struct.s2n_connection, ptr %2419, i32 0, i32 81
  %2421 = getelementptr inbounds %struct.s2n_stuffer, ptr %2420, i32 0, i32 1
  %2422 = load i32, ptr %2421, align 8, !tbaa !50
  %2423 = sub i32 %2418, %2422
  %2424 = icmp eq i32 %2423, 0
  br i1 %2424, label %2478, label %2425

2425:                                             ; preds = %2412
  br label %2426

2426:                                             ; preds = %2425
  br label %2427

2427:                                             ; preds = %2426
  call void @llvm.lifetime.start.p0(i64 4, ptr %53) #9
  %2428 = call ptr @__errno_location() #10
  %2429 = load i32, ptr %2428, align 4, !tbaa !5
  store i32 %2429, ptr %53, align 4, !tbaa !5
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @s2n_print_stacktrace(ptr noundef %2430)
  %2432 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2433 = trunc i8 %2432 to i1
  br i1 %2433, label %2434, label %2456

2434:                                             ; preds = %2427
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = call i32 @fileno(ptr noundef %2435) #9
  %2437 = call i32 @isatty(i32 noundef %2436) #9
  %2438 = icmp ne i32 %2437, 0
  br i1 %2438, label %2439, label %2456

2439:                                             ; preds = %2434
  %2440 = load i32, ptr %53, align 4, !tbaa !5
  %2441 = call ptr @__errno_location() #10
  store i32 %2440, ptr %2441, align 4, !tbaa !5
  %2442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2443 = load i32, ptr @test_count, align 4, !tbaa !5
  %2444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2445 = load i32, ptr %2444, align 4, !tbaa !5
  %2446 = call ptr @s2n_strerror(i32 noundef %2445, ptr noundef @.str.4)
  %2447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2448 = load i32, ptr %2447, align 4, !tbaa !5
  %2449 = call ptr @s2n_strerror_debug(i32 noundef %2448, ptr noundef @.str.4)
  %2450 = call ptr @__errno_location() #10
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call ptr @strerror(i32 noundef %2451) #9
  %2453 = call ptr @__errno_location() #10
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2442, ptr noundef @.str.2, i32 noundef %2443, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2446, ptr noundef %2449, ptr noundef %2452, i32 noundef %2454) #9
  br label %2473

2456:                                             ; preds = %2434, %2427
  %2457 = load i32, ptr %53, align 4, !tbaa !5
  %2458 = call ptr @__errno_location() #10
  store i32 %2457, ptr %2458, align 4, !tbaa !5
  %2459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2460 = load i32, ptr @test_count, align 4, !tbaa !5
  %2461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2462 = load i32, ptr %2461, align 4, !tbaa !5
  %2463 = call ptr @s2n_strerror(i32 noundef %2462, ptr noundef @.str.4)
  %2464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2465 = load i32, ptr %2464, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror_debug(i32 noundef %2465, ptr noundef @.str.4)
  %2467 = call ptr @__errno_location() #10
  %2468 = load i32, ptr %2467, align 4, !tbaa !5
  %2469 = call ptr @strerror(i32 noundef %2468) #9
  %2470 = call ptr @__errno_location() #10
  %2471 = load i32, ptr %2470, align 4, !tbaa !5
  %2472 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2459, ptr noundef @.str.5, i32 noundef %2460, ptr noundef @.str.31, ptr noundef @.str.1, i32 noundef 119, ptr noundef %2463, ptr noundef %2466, ptr noundef %2469, i32 noundef %2471) #9
  br label %2473

2473:                                             ; preds = %2456, %2439
  call void @llvm.lifetime.end.p0(i64 4, ptr %53) #9
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

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

2476:                                             ; No predecessors!
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

2478:                                             ; preds = %2477, %2412
  br label %2479

2479:                                             ; preds = %2478
  br label %2480

2480:                                             ; preds = %2479
  %2481 = load ptr, ptr %45, align 8, !tbaa !9
  %2482 = getelementptr inbounds %struct.s2n_connection, ptr %2481, i32 0, i32 23
  store i8 33, ptr %2482, align 4, !tbaa !48
  br label %2483

2483:                                             ; preds = %2480
  %2484 = load i32, ptr @test_count, align 4, !tbaa !5
  %2485 = add nsw i32 %2484, 1
  store i32 %2485, ptr @test_count, align 4, !tbaa !5
  %2486 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %2487 = load ptr, ptr %45, align 8, !tbaa !9
  %2488 = call i32 %2486(ptr noundef %2487, ptr noundef %48)
  %2489 = icmp eq i32 %2488, -1
  br i1 %2489, label %2490, label %2543

2490:                                             ; preds = %2483
  br label %2491

2491:                                             ; preds = %2490
  br label %2492

2492:                                             ; preds = %2491
  call void @llvm.lifetime.start.p0(i64 4, ptr %54) #9
  %2493 = call ptr @__errno_location() #10
  %2494 = load i32, ptr %2493, align 4, !tbaa !5
  store i32 %2494, ptr %54, align 4, !tbaa !5
  %2495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2496 = call i32 @s2n_print_stacktrace(ptr noundef %2495)
  %2497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2498 = trunc i8 %2497 to i1
  br i1 %2498, label %2499, label %2521

2499:                                             ; preds = %2492
  %2500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2501 = call i32 @fileno(ptr noundef %2500) #9
  %2502 = call i32 @isatty(i32 noundef %2501) #9
  %2503 = icmp ne i32 %2502, 0
  br i1 %2503, label %2504, label %2521

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

2521:                                             ; preds = %2499, %2492
  %2522 = load i32, ptr %54, align 4, !tbaa !5
  %2523 = call ptr @__errno_location() #10
  store i32 %2522, ptr %2523, align 4, !tbaa !5
  %2524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2525 = load i32, ptr @test_count, align 4, !tbaa !5
  %2526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2527 = load i32, ptr %2526, align 4, !tbaa !5
  %2528 = call ptr @s2n_strerror(i32 noundef %2527, ptr noundef @.str.4)
  %2529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2530 = load i32, ptr %2529, align 4, !tbaa !5
  %2531 = call ptr @s2n_strerror_debug(i32 noundef %2530, ptr noundef @.str.4)
  %2532 = call ptr @__errno_location() #10
  %2533 = load i32, ptr %2532, align 4, !tbaa !5
  %2534 = call ptr @strerror(i32 noundef %2533) #9
  %2535 = call ptr @__errno_location() #10
  %2536 = load i32, ptr %2535, align 4, !tbaa !5
  %2537 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2524, ptr noundef @.str.5, i32 noundef %2525, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2528, ptr noundef %2531, ptr noundef %2534, i32 noundef %2536) #9
  br label %2538

2538:                                             ; preds = %2521, %2504
  call void @llvm.lifetime.end.p0(i64 4, ptr %54) #9
  br label %2539

2539:                                             ; preds = %2538
  br label %2540

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

2541:                                             ; No predecessors!
  br label %2542

2542:                                             ; preds = %2541
  br label %2543

2543:                                             ; preds = %2542, %2483
  br label %2544

2544:                                             ; preds = %2543
  br label %2545

2545:                                             ; preds = %2544
  br label %2546

2546:                                             ; preds = %2545
  %2547 = load i32, ptr @test_count, align 4, !tbaa !5
  %2548 = add nsw i32 %2547, 1
  store i32 %2548, ptr @test_count, align 4, !tbaa !5
  %2549 = load ptr, ptr %45, align 8, !tbaa !9
  %2550 = getelementptr inbounds %struct.s2n_connection, ptr %2549, i32 0, i32 76
  %2551 = load i32, ptr %2550, align 4, !tbaa !22
  %2552 = icmp eq i32 %2551, 1
  br i1 %2552, label %2606, label %2553

2553:                                             ; preds = %2546
  br label %2554

2554:                                             ; preds = %2553
  br label %2555

2555:                                             ; preds = %2554
  call void @llvm.lifetime.start.p0(i64 4, ptr %55) #9
  %2556 = call ptr @__errno_location() #10
  %2557 = load i32, ptr %2556, align 4, !tbaa !5
  store i32 %2557, ptr %55, align 4, !tbaa !5
  %2558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2559 = call i32 @s2n_print_stacktrace(ptr noundef %2558)
  %2560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2561 = trunc i8 %2560 to i1
  br i1 %2561, label %2562, label %2584

2562:                                             ; preds = %2555
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = call i32 @fileno(ptr noundef %2563) #9
  %2565 = call i32 @isatty(i32 noundef %2564) #9
  %2566 = icmp ne i32 %2565, 0
  br i1 %2566, label %2567, label %2584

2567:                                             ; preds = %2562
  %2568 = load i32, ptr %55, align 4, !tbaa !5
  %2569 = call ptr @__errno_location() #10
  store i32 %2568, ptr %2569, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2573 = load i32, ptr %2572, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror(i32 noundef %2573, ptr noundef @.str.4)
  %2575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2576 = load i32, ptr %2575, align 4, !tbaa !5
  %2577 = call ptr @s2n_strerror_debug(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call ptr @__errno_location() #10
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @strerror(i32 noundef %2579) #9
  %2581 = call ptr @__errno_location() #10
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef @.str.2, i32 noundef %2571, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2574, ptr noundef %2577, ptr noundef %2580, i32 noundef %2582) #9
  br label %2601

2584:                                             ; preds = %2562, %2555
  %2585 = load i32, ptr %55, align 4, !tbaa !5
  %2586 = call ptr @__errno_location() #10
  store i32 %2585, ptr %2586, align 4, !tbaa !5
  %2587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2588 = load i32, ptr @test_count, align 4, !tbaa !5
  %2589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2590 = load i32, ptr %2589, align 4, !tbaa !5
  %2591 = call ptr @s2n_strerror(i32 noundef %2590, ptr noundef @.str.4)
  %2592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2593 = load i32, ptr %2592, align 4, !tbaa !5
  %2594 = call ptr @s2n_strerror_debug(i32 noundef %2593, ptr noundef @.str.4)
  %2595 = call ptr @__errno_location() #10
  %2596 = load i32, ptr %2595, align 4, !tbaa !5
  %2597 = call ptr @strerror(i32 noundef %2596) #9
  %2598 = call ptr @__errno_location() #10
  %2599 = load i32, ptr %2598, align 4, !tbaa !5
  %2600 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2587, ptr noundef @.str.5, i32 noundef %2588, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 123, ptr noundef %2591, ptr noundef %2594, ptr noundef %2597, i32 noundef %2599) #9
  br label %2601

2601:                                             ; preds = %2584, %2567
  call void @llvm.lifetime.end.p0(i64 4, ptr %55) #9
  br label %2602

2602:                                             ; preds = %2601
  br label %2603

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

2604:                                             ; No predecessors!
  br label %2605

2605:                                             ; preds = %2604
  br label %2606

2606:                                             ; preds = %2605, %2546
  br label %2607

2607:                                             ; preds = %2606
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  %2610 = load i32, ptr @test_count, align 4, !tbaa !5
  %2611 = add nsw i32 %2610, 1
  store i32 %2611, ptr @test_count, align 4, !tbaa !5
  %2612 = call i32 @s2n_stuffer_free(ptr noundef %48)
  %2613 = icmp eq i32 %2612, -1
  br i1 %2613, label %2614, label %2667

2614:                                             ; preds = %2609
  br label %2615

2615:                                             ; preds = %2614
  br label %2616

2616:                                             ; preds = %2615
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2617 = call ptr @__errno_location() #10
  %2618 = load i32, ptr %2617, align 4, !tbaa !5
  store i32 %2618, ptr %56, align 4, !tbaa !5
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @s2n_print_stacktrace(ptr noundef %2619)
  %2621 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2622 = trunc i8 %2621 to i1
  br i1 %2622, label %2623, label %2645

2623:                                             ; preds = %2616
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = call i32 @fileno(ptr noundef %2624) #9
  %2626 = call i32 @isatty(i32 noundef %2625) #9
  %2627 = icmp ne i32 %2626, 0
  br i1 %2627, label %2628, label %2645

2628:                                             ; preds = %2623
  %2629 = load i32, ptr %56, align 4, !tbaa !5
  %2630 = call ptr @__errno_location() #10
  store i32 %2629, ptr %2630, align 4, !tbaa !5
  %2631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2632 = load i32, ptr @test_count, align 4, !tbaa !5
  %2633 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2634 = load i32, ptr %2633, align 4, !tbaa !5
  %2635 = call ptr @s2n_strerror(i32 noundef %2634, ptr noundef @.str.4)
  %2636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2637 = load i32, ptr %2636, align 4, !tbaa !5
  %2638 = call ptr @s2n_strerror_debug(i32 noundef %2637, ptr noundef @.str.4)
  %2639 = call ptr @__errno_location() #10
  %2640 = load i32, ptr %2639, align 4, !tbaa !5
  %2641 = call ptr @strerror(i32 noundef %2640) #9
  %2642 = call ptr @__errno_location() #10
  %2643 = load i32, ptr %2642, align 4, !tbaa !5
  %2644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2631, ptr noundef @.str.2, i32 noundef %2632, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2635, ptr noundef %2638, ptr noundef %2641, i32 noundef %2643) #9
  br label %2662

2645:                                             ; preds = %2623, %2616
  %2646 = load i32, ptr %56, align 4, !tbaa !5
  %2647 = call ptr @__errno_location() #10
  store i32 %2646, ptr %2647, align 4, !tbaa !5
  %2648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2649 = load i32, ptr @test_count, align 4, !tbaa !5
  %2650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2651 = load i32, ptr %2650, align 4, !tbaa !5
  %2652 = call ptr @s2n_strerror(i32 noundef %2651, ptr noundef @.str.4)
  %2653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2654 = load i32, ptr %2653, align 4, !tbaa !5
  %2655 = call ptr @s2n_strerror_debug(i32 noundef %2654, ptr noundef @.str.4)
  %2656 = call ptr @__errno_location() #10
  %2657 = load i32, ptr %2656, align 4, !tbaa !5
  %2658 = call ptr @strerror(i32 noundef %2657) #9
  %2659 = call ptr @__errno_location() #10
  %2660 = load i32, ptr %2659, align 4, !tbaa !5
  %2661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2648, ptr noundef @.str.5, i32 noundef %2649, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 125, ptr noundef %2652, ptr noundef %2655, ptr noundef %2658, i32 noundef %2660) #9
  br label %2662

2662:                                             ; preds = %2645, %2628
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2663

2663:                                             ; preds = %2662
  br label %2664

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

2665:                                             ; No predecessors!
  br label %2666

2666:                                             ; preds = %2665
  br label %2667

2667:                                             ; preds = %2666, %2609
  br label %2668

2668:                                             ; preds = %2667
  br label %2669

2669:                                             ; preds = %2668
  br label %2670

2670:                                             ; preds = %2669
  %2671 = load i32, ptr @test_count, align 4, !tbaa !5
  %2672 = add nsw i32 %2671, 1
  store i32 %2672, ptr @test_count, align 4, !tbaa !5
  %2673 = load ptr, ptr %45, align 8, !tbaa !9
  %2674 = call i32 @s2n_connection_free(ptr noundef %2673)
  %2675 = icmp eq i32 %2674, -1
  br i1 %2675, label %2676, label %2729

2676:                                             ; preds = %2670
  br label %2677

2677:                                             ; preds = %2676
  br label %2678

2678:                                             ; preds = %2677
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2679 = call ptr @__errno_location() #10
  %2680 = load i32, ptr %2679, align 4, !tbaa !5
  store i32 %2680, ptr %57, align 4, !tbaa !5
  %2681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2682 = call i32 @s2n_print_stacktrace(ptr noundef %2681)
  %2683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2684 = trunc i8 %2683 to i1
  br i1 %2684, label %2685, label %2707

2685:                                             ; preds = %2678
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = call i32 @fileno(ptr noundef %2686) #9
  %2688 = call i32 @isatty(i32 noundef %2687) #9
  %2689 = icmp ne i32 %2688, 0
  br i1 %2689, label %2690, label %2707

2690:                                             ; preds = %2685
  %2691 = load i32, ptr %57, align 4, !tbaa !5
  %2692 = call ptr @__errno_location() #10
  store i32 %2691, ptr %2692, align 4, !tbaa !5
  %2693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2694 = load i32, ptr @test_count, align 4, !tbaa !5
  %2695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2696 = load i32, ptr %2695, align 4, !tbaa !5
  %2697 = call ptr @s2n_strerror(i32 noundef %2696, ptr noundef @.str.4)
  %2698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2699 = load i32, ptr %2698, align 4, !tbaa !5
  %2700 = call ptr @s2n_strerror_debug(i32 noundef %2699, ptr noundef @.str.4)
  %2701 = call ptr @__errno_location() #10
  %2702 = load i32, ptr %2701, align 4, !tbaa !5
  %2703 = call ptr @strerror(i32 noundef %2702) #9
  %2704 = call ptr @__errno_location() #10
  %2705 = load i32, ptr %2704, align 4, !tbaa !5
  %2706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2693, ptr noundef @.str.2, i32 noundef %2694, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 126, ptr noundef %2697, ptr noundef %2700, ptr noundef %2703, i32 noundef %2705) #9
  br label %2724

2707:                                             ; preds = %2685, %2678
  %2708 = load i32, ptr %57, align 4, !tbaa !5
  %2709 = call ptr @__errno_location() #10
  store i32 %2708, ptr %2709, align 4, !tbaa !5
  %2710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2711 = load i32, ptr @test_count, align 4, !tbaa !5
  %2712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2713 = load i32, ptr %2712, align 4, !tbaa !5
  %2714 = call ptr @s2n_strerror(i32 noundef %2713, ptr noundef @.str.4)
  %2715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2716 = load i32, ptr %2715, align 4, !tbaa !5
  %2717 = call ptr @s2n_strerror_debug(i32 noundef %2716, ptr noundef @.str.4)
  %2718 = call ptr @__errno_location() #10
  %2719 = load i32, ptr %2718, align 4, !tbaa !5
  %2720 = call ptr @strerror(i32 noundef %2719) #9
  %2721 = call ptr @__errno_location() #10
  %2722 = load i32, ptr %2721, align 4, !tbaa !5
  %2723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2710, ptr noundef @.str.5, i32 noundef %2711, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 126, ptr noundef %2714, ptr noundef %2717, ptr noundef %2720, i32 noundef %2722) #9
  br label %2724

2724:                                             ; preds = %2707, %2690
  call void @llvm.lifetime.end.p0(i64 4, ptr %57) #9
  br label %2725

2725:                                             ; preds = %2724
  br label %2726

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

2727:                                             ; No predecessors!
  br label %2728

2728:                                             ; preds = %2727
  br label %2729

2729:                                             ; preds = %2728, %2670
  br label %2730

2730:                                             ; preds = %2729
  br label %2731

2731:                                             ; preds = %2730
  call void @llvm.lifetime.end.p0(i64 40, ptr %48) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %45) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #9
  store ptr null, ptr %58, align 8, !tbaa !9
  br label %2732

2732:                                             ; preds = %2731
  %2733 = load i32, ptr @test_count, align 4, !tbaa !5
  %2734 = add nsw i32 %2733, 1
  store i32 %2734, ptr @test_count, align 4, !tbaa !5
  %2735 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2735, ptr %58, align 8, !tbaa !9
  %2736 = icmp eq ptr %2735, null
  br i1 %2736, label %2737, label %2790

2737:                                             ; preds = %2732
  br label %2738

2738:                                             ; preds = %2737
  br label %2739

2739:                                             ; preds = %2738
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %2740 = call ptr @__errno_location() #10
  %2741 = load i32, ptr %2740, align 4, !tbaa !5
  store i32 %2741, ptr %59, align 4, !tbaa !5
  %2742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2743 = call i32 @s2n_print_stacktrace(ptr noundef %2742)
  %2744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2745 = trunc i8 %2744 to i1
  br i1 %2745, label %2746, label %2768

2746:                                             ; preds = %2739
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = call i32 @fileno(ptr noundef %2747) #9
  %2749 = call i32 @isatty(i32 noundef %2748) #9
  %2750 = icmp ne i32 %2749, 0
  br i1 %2750, label %2751, label %2768

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

2768:                                             ; preds = %2746, %2739
  %2769 = load i32, ptr %59, align 4, !tbaa !5
  %2770 = call ptr @__errno_location() #10
  store i32 %2769, ptr %2770, align 4, !tbaa !5
  %2771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2772 = load i32, ptr @test_count, align 4, !tbaa !5
  %2773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @s2n_strerror(i32 noundef %2774, ptr noundef @.str.4)
  %2776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call ptr @s2n_strerror_debug(i32 noundef %2777, ptr noundef @.str.4)
  %2779 = call ptr @__errno_location() #10
  %2780 = load i32, ptr %2779, align 4, !tbaa !5
  %2781 = call ptr @strerror(i32 noundef %2780) #9
  %2782 = call ptr @__errno_location() #10
  %2783 = load i32, ptr %2782, align 4, !tbaa !5
  %2784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2771, ptr noundef @.str.5, i32 noundef %2772, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2775, ptr noundef %2778, ptr noundef %2781, i32 noundef %2783) #9
  br label %2785

2785:                                             ; preds = %2768, %2751
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %2786

2786:                                             ; preds = %2785
  br label %2787

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

2788:                                             ; No predecessors!
  br label %2789

2789:                                             ; preds = %2788
  br label %2790

2790:                                             ; preds = %2789, %2732
  br label %2791

2791:                                             ; preds = %2790
  br label %2792

2792:                                             ; preds = %2791
  br label %2793

2793:                                             ; preds = %2792
  %2794 = load i32, ptr @test_count, align 4, !tbaa !5
  %2795 = add nsw i32 %2794, 1
  store i32 %2795, ptr @test_count, align 4, !tbaa !5
  %2796 = load ptr, ptr %58, align 8, !tbaa !9
  %2797 = load ptr, ptr %10, align 8, !tbaa !9
  %2798 = call i32 @s2n_connection_set_config(ptr noundef %2796, ptr noundef %2797)
  %2799 = icmp eq i32 %2798, -1
  br i1 %2799, label %2800, label %2853

2800:                                             ; preds = %2793
  br label %2801

2801:                                             ; preds = %2800
  br label %2802

2802:                                             ; preds = %2801
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #9
  %2803 = call ptr @__errno_location() #10
  %2804 = load i32, ptr %2803, align 4, !tbaa !5
  store i32 %2804, ptr %60, align 4, !tbaa !5
  %2805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2806 = call i32 @s2n_print_stacktrace(ptr noundef %2805)
  %2807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2808 = trunc i8 %2807 to i1
  br i1 %2808, label %2809, label %2831

2809:                                             ; preds = %2802
  %2810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2811 = call i32 @fileno(ptr noundef %2810) #9
  %2812 = call i32 @isatty(i32 noundef %2811) #9
  %2813 = icmp ne i32 %2812, 0
  br i1 %2813, label %2814, label %2831

2814:                                             ; preds = %2809
  %2815 = load i32, ptr %60, align 4, !tbaa !5
  %2816 = call ptr @__errno_location() #10
  store i32 %2815, ptr %2816, align 4, !tbaa !5
  %2817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2818 = load i32, ptr @test_count, align 4, !tbaa !5
  %2819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2820 = load i32, ptr %2819, align 4, !tbaa !5
  %2821 = call ptr @s2n_strerror(i32 noundef %2820, ptr noundef @.str.4)
  %2822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2823 = load i32, ptr %2822, align 4, !tbaa !5
  %2824 = call ptr @s2n_strerror_debug(i32 noundef %2823, ptr noundef @.str.4)
  %2825 = call ptr @__errno_location() #10
  %2826 = load i32, ptr %2825, align 4, !tbaa !5
  %2827 = call ptr @strerror(i32 noundef %2826) #9
  %2828 = call ptr @__errno_location() #10
  %2829 = load i32, ptr %2828, align 4, !tbaa !5
  %2830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2817, ptr noundef @.str.2, i32 noundef %2818, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2821, ptr noundef %2824, ptr noundef %2827, i32 noundef %2829) #9
  br label %2848

2831:                                             ; preds = %2809, %2802
  %2832 = load i32, ptr %60, align 4, !tbaa !5
  %2833 = call ptr @__errno_location() #10
  store i32 %2832, ptr %2833, align 4, !tbaa !5
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = load i32, ptr @test_count, align 4, !tbaa !5
  %2836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2837 = load i32, ptr %2836, align 4, !tbaa !5
  %2838 = call ptr @s2n_strerror(i32 noundef %2837, ptr noundef @.str.4)
  %2839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2840 = load i32, ptr %2839, align 4, !tbaa !5
  %2841 = call ptr @s2n_strerror_debug(i32 noundef %2840, ptr noundef @.str.4)
  %2842 = call ptr @__errno_location() #10
  %2843 = load i32, ptr %2842, align 4, !tbaa !5
  %2844 = call ptr @strerror(i32 noundef %2843) #9
  %2845 = call ptr @__errno_location() #10
  %2846 = load i32, ptr %2845, align 4, !tbaa !5
  %2847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2834, ptr noundef @.str.5, i32 noundef %2835, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 133, ptr noundef %2838, ptr noundef %2841, ptr noundef %2844, i32 noundef %2846) #9
  br label %2848

2848:                                             ; preds = %2831, %2814
  call void @llvm.lifetime.end.p0(i64 4, ptr %60) #9
  br label %2849

2849:                                             ; preds = %2848
  br label %2850

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

2851:                                             ; No predecessors!
  br label %2852

2852:                                             ; preds = %2851
  br label %2853

2853:                                             ; preds = %2852, %2793
  br label %2854

2854:                                             ; preds = %2853
  br label %2855

2855:                                             ; preds = %2854
  call void @llvm.lifetime.start.p0(i64 40, ptr %61) #9
  call void @llvm.memset.p0.i64(ptr align 8 %61, i8 0, i64 40, i1 false)
  br label %2856

2856:                                             ; preds = %2855
  %2857 = load i32, ptr @test_count, align 4, !tbaa !5
  %2858 = add nsw i32 %2857, 1
  store i32 %2858, ptr @test_count, align 4, !tbaa !5
  %2859 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %61, i32 noundef 0)
  %2860 = icmp eq i32 %2859, -1
  br i1 %2860, label %2861, label %2914

2861:                                             ; preds = %2856
  br label %2862

2862:                                             ; preds = %2861
  br label %2863

2863:                                             ; preds = %2862
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  %2864 = call ptr @__errno_location() #10
  %2865 = load i32, ptr %2864, align 4, !tbaa !5
  store i32 %2865, ptr %62, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @s2n_print_stacktrace(ptr noundef %2866)
  %2868 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2869 = trunc i8 %2868 to i1
  br i1 %2869, label %2870, label %2892

2870:                                             ; preds = %2863
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = call i32 @fileno(ptr noundef %2871) #9
  %2873 = call i32 @isatty(i32 noundef %2872) #9
  %2874 = icmp ne i32 %2873, 0
  br i1 %2874, label %2875, label %2892

2875:                                             ; preds = %2870
  %2876 = load i32, ptr %62, align 4, !tbaa !5
  %2877 = call ptr @__errno_location() #10
  store i32 %2876, ptr %2877, align 4, !tbaa !5
  %2878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2879 = load i32, ptr @test_count, align 4, !tbaa !5
  %2880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2881 = load i32, ptr %2880, align 4, !tbaa !5
  %2882 = call ptr @s2n_strerror(i32 noundef %2881, ptr noundef @.str.4)
  %2883 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2884 = load i32, ptr %2883, align 4, !tbaa !5
  %2885 = call ptr @s2n_strerror_debug(i32 noundef %2884, ptr noundef @.str.4)
  %2886 = call ptr @__errno_location() #10
  %2887 = load i32, ptr %2886, align 4, !tbaa !5
  %2888 = call ptr @strerror(i32 noundef %2887) #9
  %2889 = call ptr @__errno_location() #10
  %2890 = load i32, ptr %2889, align 4, !tbaa !5
  %2891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2878, ptr noundef @.str.2, i32 noundef %2879, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2882, ptr noundef %2885, ptr noundef %2888, i32 noundef %2890) #9
  br label %2909

2892:                                             ; preds = %2870, %2863
  %2893 = load i32, ptr %62, align 4, !tbaa !5
  %2894 = call ptr @__errno_location() #10
  store i32 %2893, ptr %2894, align 4, !tbaa !5
  %2895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2896 = load i32, ptr @test_count, align 4, !tbaa !5
  %2897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2898 = load i32, ptr %2897, align 4, !tbaa !5
  %2899 = call ptr @s2n_strerror(i32 noundef %2898, ptr noundef @.str.4)
  %2900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @s2n_strerror_debug(i32 noundef %2901, ptr noundef @.str.4)
  %2903 = call ptr @__errno_location() #10
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call ptr @strerror(i32 noundef %2904) #9
  %2906 = call ptr @__errno_location() #10
  %2907 = load i32, ptr %2906, align 4, !tbaa !5
  %2908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2895, ptr noundef @.str.5, i32 noundef %2896, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 136, ptr noundef %2899, ptr noundef %2902, ptr noundef %2905, i32 noundef %2907) #9
  br label %2909

2909:                                             ; preds = %2892, %2875
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

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

2912:                                             ; No predecessors!
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

2914:                                             ; preds = %2913, %2856
  br label %2915

2915:                                             ; preds = %2914
  br label %2916

2916:                                             ; preds = %2915
  %2917 = load ptr, ptr %12, align 8, !tbaa !9
  %2918 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  call void @s2n_set_test_ticket(ptr noundef %2917, ptr noundef %2918, i8 noundef zeroext -119)
  br label %2919

2919:                                             ; preds = %2916
  %2920 = load i32, ptr @test_count, align 4, !tbaa !5
  %2921 = add nsw i32 %2920, 1
  store i32 %2921, ptr @test_count, align 4, !tbaa !5
  %2922 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 3), align 8, !tbaa !18
  %2923 = load ptr, ptr %12, align 8, !tbaa !9
  %2924 = call i32 %2922(ptr noundef %2923, ptr noundef %61)
  %2925 = icmp eq i32 %2924, -1
  br i1 %2925, label %2926, label %2979

2926:                                             ; preds = %2919
  br label %2927

2927:                                             ; preds = %2926
  br label %2928

2928:                                             ; preds = %2927
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %2929 = call ptr @__errno_location() #10
  %2930 = load i32, ptr %2929, align 4, !tbaa !5
  store i32 %2930, ptr %63, align 4, !tbaa !5
  %2931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2932 = call i32 @s2n_print_stacktrace(ptr noundef %2931)
  %2933 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2934 = trunc i8 %2933 to i1
  br i1 %2934, label %2935, label %2957

2935:                                             ; preds = %2928
  %2936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2937 = call i32 @fileno(ptr noundef %2936) #9
  %2938 = call i32 @isatty(i32 noundef %2937) #9
  %2939 = icmp ne i32 %2938, 0
  br i1 %2939, label %2940, label %2957

2940:                                             ; preds = %2935
  %2941 = load i32, ptr %63, align 4, !tbaa !5
  %2942 = call ptr @__errno_location() #10
  store i32 %2941, ptr %2942, align 4, !tbaa !5
  %2943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2944 = load i32, ptr @test_count, align 4, !tbaa !5
  %2945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2946 = load i32, ptr %2945, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror(i32 noundef %2946, ptr noundef @.str.4)
  %2948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2949 = load i32, ptr %2948, align 4, !tbaa !5
  %2950 = call ptr @s2n_strerror_debug(i32 noundef %2949, ptr noundef @.str.4)
  %2951 = call ptr @__errno_location() #10
  %2952 = load i32, ptr %2951, align 4, !tbaa !5
  %2953 = call ptr @strerror(i32 noundef %2952) #9
  %2954 = call ptr @__errno_location() #10
  %2955 = load i32, ptr %2954, align 4, !tbaa !5
  %2956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2943, ptr noundef @.str.2, i32 noundef %2944, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 139, ptr noundef %2947, ptr noundef %2950, ptr noundef %2953, i32 noundef %2955) #9
  br label %2974

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

2974:                                             ; preds = %2957, %2940
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %2975

2975:                                             ; preds = %2974
  br label %2976

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

2977:                                             ; No predecessors!
  br label %2978

2978:                                             ; preds = %2977
  br label %2979

2979:                                             ; preds = %2978, %2919
  br label %2980

2980:                                             ; preds = %2979
  br label %2981

2981:                                             ; preds = %2980
  call void @llvm.lifetime.start.p0(i64 1, ptr %64) #9
  %2982 = getelementptr inbounds %struct.s2n_stuffer, ptr %61, i32 0, i32 2
  %2983 = load i32, ptr %2982, align 4, !tbaa !51
  %2984 = getelementptr inbounds %struct.s2n_stuffer, ptr %61, i32 0, i32 1
  %2985 = load i32, ptr %2984, align 8, !tbaa !52
  %2986 = sub i32 %2983, %2985
  %2987 = trunc i32 %2986 to i8
  store i8 %2987, ptr %64, align 1, !tbaa !53
  br label %2988

2988:                                             ; preds = %2981
  %2989 = load i32, ptr @test_count, align 4, !tbaa !5
  %2990 = add nsw i32 %2989, 1
  store i32 %2990, ptr @test_count, align 4, !tbaa !5
  %2991 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %2992 = load ptr, ptr %58, align 8, !tbaa !9
  %2993 = call i32 %2991(ptr noundef %2992, ptr noundef %61)
  %2994 = icmp eq i32 %2993, -1
  br i1 %2994, label %2995, label %3048

2995:                                             ; preds = %2988
  br label %2996

2996:                                             ; preds = %2995
  br label %2997

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

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

3009:                                             ; preds = %3004
  %3010 = load i32, ptr %65, align 4, !tbaa !5
  %3011 = call ptr @__errno_location() #10
  store i32 %3010, ptr %3011, align 4, !tbaa !5
  %3012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3013 = load i32, ptr @test_count, align 4, !tbaa !5
  %3014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3015 = load i32, ptr %3014, align 4, !tbaa !5
  %3016 = call ptr @s2n_strerror(i32 noundef %3015, ptr noundef @.str.4)
  %3017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3018 = load i32, ptr %3017, align 4, !tbaa !5
  %3019 = call ptr @s2n_strerror_debug(i32 noundef %3018, ptr noundef @.str.4)
  %3020 = call ptr @__errno_location() #10
  %3021 = load i32, ptr %3020, align 4, !tbaa !5
  %3022 = call ptr @strerror(i32 noundef %3021) #9
  %3023 = call ptr @__errno_location() #10
  %3024 = load i32, ptr %3023, align 4, !tbaa !5
  %3025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3012, ptr noundef @.str.2, i32 noundef %3013, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3016, ptr noundef %3019, ptr noundef %3022, i32 noundef %3024) #9
  br label %3043

3026:                                             ; preds = %3004, %2997
  %3027 = load i32, ptr %65, align 4, !tbaa !5
  %3028 = call ptr @__errno_location() #10
  store i32 %3027, ptr %3028, align 4, !tbaa !5
  %3029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3030 = load i32, ptr @test_count, align 4, !tbaa !5
  %3031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3032 = load i32, ptr %3031, align 4, !tbaa !5
  %3033 = call ptr @s2n_strerror(i32 noundef %3032, ptr noundef @.str.4)
  %3034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3035 = load i32, ptr %3034, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror_debug(i32 noundef %3035, ptr noundef @.str.4)
  %3037 = call ptr @__errno_location() #10
  %3038 = load i32, ptr %3037, align 4, !tbaa !5
  %3039 = call ptr @strerror(i32 noundef %3038) #9
  %3040 = call ptr @__errno_location() #10
  %3041 = load i32, ptr %3040, align 4, !tbaa !5
  %3042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3029, ptr noundef @.str.5, i32 noundef %3030, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 142, ptr noundef %3033, ptr noundef %3036, ptr noundef %3039, i32 noundef %3041) #9
  br label %3043

3043:                                             ; preds = %3026, %3009
  call void @llvm.lifetime.end.p0(i64 4, ptr %65) #9
  br label %3044

3044:                                             ; preds = %3043
  br label %3045

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

3046:                                             ; No predecessors!
  br label %3047

3047:                                             ; preds = %3046
  br label %3048

3048:                                             ; preds = %3047, %2988
  br label %3049

3049:                                             ; preds = %3048
  br label %3050

3050:                                             ; preds = %3049
  br label %3051

3051:                                             ; preds = %3050
  %3052 = load i32, ptr @test_count, align 4, !tbaa !5
  %3053 = add nsw i32 %3052, 1
  store i32 %3053, ptr @test_count, align 4, !tbaa !5
  %3054 = load ptr, ptr %58, align 8, !tbaa !9
  %3055 = getelementptr inbounds %struct.s2n_connection, ptr %3054, i32 0, i32 76
  %3056 = load i32, ptr %3055, align 4, !tbaa !22
  %3057 = icmp eq i32 %3056, 0
  br i1 %3057, label %3111, label %3058

3058:                                             ; preds = %3051
  br label %3059

3059:                                             ; preds = %3058
  br label %3060

3060:                                             ; preds = %3059
  call void @llvm.lifetime.start.p0(i64 4, ptr %66) #9
  %3061 = call ptr @__errno_location() #10
  %3062 = load i32, ptr %3061, align 4, !tbaa !5
  store i32 %3062, ptr %66, align 4, !tbaa !5
  %3063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3064 = call i32 @s2n_print_stacktrace(ptr noundef %3063)
  %3065 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3066 = trunc i8 %3065 to i1
  br i1 %3066, label %3067, label %3089

3067:                                             ; preds = %3060
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = call i32 @fileno(ptr noundef %3068) #9
  %3070 = call i32 @isatty(i32 noundef %3069) #9
  %3071 = icmp ne i32 %3070, 0
  br i1 %3071, label %3072, label %3089

3072:                                             ; preds = %3067
  %3073 = load i32, ptr %66, align 4, !tbaa !5
  %3074 = call ptr @__errno_location() #10
  store i32 %3073, ptr %3074, align 4, !tbaa !5
  %3075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3076 = load i32, ptr @test_count, align 4, !tbaa !5
  %3077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3078 = load i32, ptr %3077, align 4, !tbaa !5
  %3079 = call ptr @s2n_strerror(i32 noundef %3078, ptr noundef @.str.4)
  %3080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3081 = load i32, ptr %3080, align 4, !tbaa !5
  %3082 = call ptr @s2n_strerror_debug(i32 noundef %3081, ptr noundef @.str.4)
  %3083 = call ptr @__errno_location() #10
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @strerror(i32 noundef %3084) #9
  %3086 = call ptr @__errno_location() #10
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3075, ptr noundef @.str.2, i32 noundef %3076, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3079, ptr noundef %3082, ptr noundef %3085, i32 noundef %3087) #9
  br label %3106

3089:                                             ; preds = %3067, %3060
  %3090 = load i32, ptr %66, align 4, !tbaa !5
  %3091 = call ptr @__errno_location() #10
  store i32 %3090, ptr %3091, align 4, !tbaa !5
  %3092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3093 = load i32, ptr @test_count, align 4, !tbaa !5
  %3094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3095 = load i32, ptr %3094, align 4, !tbaa !5
  %3096 = call ptr @s2n_strerror(i32 noundef %3095, ptr noundef @.str.4)
  %3097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3098 = load i32, ptr %3097, align 4, !tbaa !5
  %3099 = call ptr @s2n_strerror_debug(i32 noundef %3098, ptr noundef @.str.4)
  %3100 = call ptr @__errno_location() #10
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call ptr @strerror(i32 noundef %3101) #9
  %3103 = call ptr @__errno_location() #10
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3092, ptr noundef @.str.5, i32 noundef %3093, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 143, ptr noundef %3096, ptr noundef %3099, ptr noundef %3102, i32 noundef %3104) #9
  br label %3106

3106:                                             ; preds = %3089, %3072
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %3107

3107:                                             ; preds = %3106
  br label %3108

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

3109:                                             ; No predecessors!
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

3111:                                             ; preds = %3110, %3051
  br label %3112

3112:                                             ; preds = %3111
  br label %3113

3113:                                             ; preds = %3112
  br label %3114

3114:                                             ; preds = %3113
  %3115 = load i32, ptr @test_count, align 4, !tbaa !5
  %3116 = add nsw i32 %3115, 1
  store i32 %3116, ptr @test_count, align 4, !tbaa !5
  %3117 = getelementptr inbounds %struct.s2n_stuffer, ptr %61, i32 0, i32 2
  %3118 = load i32, ptr %3117, align 4, !tbaa !51
  %3119 = getelementptr inbounds %struct.s2n_stuffer, ptr %61, i32 0, i32 1
  %3120 = load i32, ptr %3119, align 8, !tbaa !52
  %3121 = sub i32 %3118, %3120
  %3122 = load i8, ptr %64, align 1, !tbaa !53
  %3123 = zext i8 %3122 to i32
  %3124 = icmp eq i32 %3121, %3123
  br i1 %3124, label %3178, label %3125

3125:                                             ; preds = %3114
  br label %3126

3126:                                             ; preds = %3125
  br label %3127

3127:                                             ; preds = %3126
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %3128 = call ptr @__errno_location() #10
  %3129 = load i32, ptr %3128, align 4, !tbaa !5
  store i32 %3129, ptr %67, align 4, !tbaa !5
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @s2n_print_stacktrace(ptr noundef %3130)
  %3132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3133 = trunc i8 %3132 to i1
  br i1 %3133, label %3134, label %3156

3134:                                             ; preds = %3127
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @fileno(ptr noundef %3135) #9
  %3137 = call i32 @isatty(i32 noundef %3136) #9
  %3138 = icmp ne i32 %3137, 0
  br i1 %3138, label %3139, label %3156

3139:                                             ; preds = %3134
  %3140 = load i32, ptr %67, align 4, !tbaa !5
  %3141 = call ptr @__errno_location() #10
  store i32 %3140, ptr %3141, align 4, !tbaa !5
  %3142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3143 = load i32, ptr @test_count, align 4, !tbaa !5
  %3144 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3145 = load i32, ptr %3144, align 4, !tbaa !5
  %3146 = call ptr @s2n_strerror(i32 noundef %3145, ptr noundef @.str.4)
  %3147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3148 = load i32, ptr %3147, align 4, !tbaa !5
  %3149 = call ptr @s2n_strerror_debug(i32 noundef %3148, ptr noundef @.str.4)
  %3150 = call ptr @__errno_location() #10
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  %3152 = call ptr @strerror(i32 noundef %3151) #9
  %3153 = call ptr @__errno_location() #10
  %3154 = load i32, ptr %3153, align 4, !tbaa !5
  %3155 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3142, ptr noundef @.str.2, i32 noundef %3143, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3146, ptr noundef %3149, ptr noundef %3152, i32 noundef %3154) #9
  br label %3173

3156:                                             ; preds = %3134, %3127
  %3157 = load i32, ptr %67, align 4, !tbaa !5
  %3158 = call ptr @__errno_location() #10
  store i32 %3157, ptr %3158, align 4, !tbaa !5
  %3159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3160 = load i32, ptr @test_count, align 4, !tbaa !5
  %3161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3162 = load i32, ptr %3161, align 4, !tbaa !5
  %3163 = call ptr @s2n_strerror(i32 noundef %3162, ptr noundef @.str.4)
  %3164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3165 = load i32, ptr %3164, align 4, !tbaa !5
  %3166 = call ptr @s2n_strerror_debug(i32 noundef %3165, ptr noundef @.str.4)
  %3167 = call ptr @__errno_location() #10
  %3168 = load i32, ptr %3167, align 4, !tbaa !5
  %3169 = call ptr @strerror(i32 noundef %3168) #9
  %3170 = call ptr @__errno_location() #10
  %3171 = load i32, ptr %3170, align 4, !tbaa !5
  %3172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3159, ptr noundef @.str.5, i32 noundef %3160, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 144, ptr noundef %3163, ptr noundef %3166, ptr noundef %3169, i32 noundef %3171) #9
  br label %3173

3173:                                             ; preds = %3156, %3139
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #9
  br label %3174

3174:                                             ; preds = %3173
  br label %3175

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

3176:                                             ; No predecessors!
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177, %3114
  br label %3179

3179:                                             ; preds = %3178
  br label %3180

3180:                                             ; preds = %3179
  br label %3181

3181:                                             ; preds = %3180
  %3182 = load i32, ptr @test_count, align 4, !tbaa !5
  %3183 = add nsw i32 %3182, 1
  store i32 %3183, ptr @test_count, align 4, !tbaa !5
  %3184 = call i32 @s2n_stuffer_free(ptr noundef %61)
  %3185 = icmp eq i32 %3184, -1
  br i1 %3185, label %3186, label %3239

3186:                                             ; preds = %3181
  br label %3187

3187:                                             ; preds = %3186
  br label %3188

3188:                                             ; preds = %3187
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  %3189 = call ptr @__errno_location() #10
  %3190 = load i32, ptr %3189, align 4, !tbaa !5
  store i32 %3190, ptr %68, align 4, !tbaa !5
  %3191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3192 = call i32 @s2n_print_stacktrace(ptr noundef %3191)
  %3193 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3194 = trunc i8 %3193 to i1
  br i1 %3194, label %3195, label %3217

3195:                                             ; preds = %3188
  %3196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3197 = call i32 @fileno(ptr noundef %3196) #9
  %3198 = call i32 @isatty(i32 noundef %3197) #9
  %3199 = icmp ne i32 %3198, 0
  br i1 %3199, label %3200, label %3217

3200:                                             ; preds = %3195
  %3201 = load i32, ptr %68, align 4, !tbaa !5
  %3202 = call ptr @__errno_location() #10
  store i32 %3201, ptr %3202, align 4, !tbaa !5
  %3203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3204 = load i32, ptr @test_count, align 4, !tbaa !5
  %3205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3206 = load i32, ptr %3205, align 4, !tbaa !5
  %3207 = call ptr @s2n_strerror(i32 noundef %3206, ptr noundef @.str.4)
  %3208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3209 = load i32, ptr %3208, align 4, !tbaa !5
  %3210 = call ptr @s2n_strerror_debug(i32 noundef %3209, ptr noundef @.str.4)
  %3211 = call ptr @__errno_location() #10
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call ptr @strerror(i32 noundef %3212) #9
  %3214 = call ptr @__errno_location() #10
  %3215 = load i32, ptr %3214, align 4, !tbaa !5
  %3216 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3203, ptr noundef @.str.2, i32 noundef %3204, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3207, ptr noundef %3210, ptr noundef %3213, i32 noundef %3215) #9
  br label %3234

3217:                                             ; preds = %3195, %3188
  %3218 = load i32, ptr %68, align 4, !tbaa !5
  %3219 = call ptr @__errno_location() #10
  store i32 %3218, ptr %3219, align 4, !tbaa !5
  %3220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3221 = load i32, ptr @test_count, align 4, !tbaa !5
  %3222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3223 = load i32, ptr %3222, align 4, !tbaa !5
  %3224 = call ptr @s2n_strerror(i32 noundef %3223, ptr noundef @.str.4)
  %3225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3226 = load i32, ptr %3225, align 4, !tbaa !5
  %3227 = call ptr @s2n_strerror_debug(i32 noundef %3226, ptr noundef @.str.4)
  %3228 = call ptr @__errno_location() #10
  %3229 = load i32, ptr %3228, align 4, !tbaa !5
  %3230 = call ptr @strerror(i32 noundef %3229) #9
  %3231 = call ptr @__errno_location() #10
  %3232 = load i32, ptr %3231, align 4, !tbaa !5
  %3233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3220, ptr noundef @.str.5, i32 noundef %3221, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 146, ptr noundef %3224, ptr noundef %3227, ptr noundef %3230, i32 noundef %3232) #9
  br label %3234

3234:                                             ; preds = %3217, %3200
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %3235

3235:                                             ; preds = %3234
  br label %3236

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

3237:                                             ; No predecessors!
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238, %3181
  br label %3240

3240:                                             ; preds = %3239
  br label %3241

3241:                                             ; preds = %3240
  br label %3242

3242:                                             ; preds = %3241
  %3243 = load i32, ptr @test_count, align 4, !tbaa !5
  %3244 = add nsw i32 %3243, 1
  store i32 %3244, ptr @test_count, align 4, !tbaa !5
  %3245 = load ptr, ptr %58, align 8, !tbaa !9
  %3246 = call i32 @s2n_connection_free(ptr noundef %3245)
  %3247 = icmp eq i32 %3246, -1
  br i1 %3247, label %3248, label %3301

3248:                                             ; preds = %3242
  br label %3249

3249:                                             ; preds = %3248
  br label %3250

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

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

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

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

3296:                                             ; preds = %3279, %3262
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %3297

3297:                                             ; preds = %3296
  br label %3298

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

3299:                                             ; No predecessors!
  br label %3300

3300:                                             ; preds = %3299
  br label %3301

3301:                                             ; preds = %3300, %3242
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

3303:                                             ; preds = %3302
  call void @llvm.lifetime.end.p0(i64 1, ptr %64) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %61) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #9
  store ptr null, ptr %70, align 8, !tbaa !9
  br label %3304

3304:                                             ; preds = %3303
  %3305 = load i32, ptr @test_count, align 4, !tbaa !5
  %3306 = add nsw i32 %3305, 1
  store i32 %3306, ptr @test_count, align 4, !tbaa !5
  %3307 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3307, ptr %70, align 8, !tbaa !9
  %3308 = icmp eq ptr %3307, null
  br i1 %3308, label %3309, label %3362

3309:                                             ; preds = %3304
  br label %3310

3310:                                             ; preds = %3309
  br label %3311

3311:                                             ; preds = %3310
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #9
  %3312 = call ptr @__errno_location() #10
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  store i32 %3313, ptr %71, align 4, !tbaa !5
  %3314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3315 = call i32 @s2n_print_stacktrace(ptr noundef %3314)
  %3316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3317 = trunc i8 %3316 to i1
  br i1 %3317, label %3318, label %3340

3318:                                             ; preds = %3311
  %3319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3320 = call i32 @fileno(ptr noundef %3319) #9
  %3321 = call i32 @isatty(i32 noundef %3320) #9
  %3322 = icmp ne i32 %3321, 0
  br i1 %3322, label %3323, label %3340

3323:                                             ; preds = %3318
  %3324 = load i32, ptr %71, align 4, !tbaa !5
  %3325 = call ptr @__errno_location() #10
  store i32 %3324, ptr %3325, align 4, !tbaa !5
  %3326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3327 = load i32, ptr @test_count, align 4, !tbaa !5
  %3328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3329 = load i32, ptr %3328, align 4, !tbaa !5
  %3330 = call ptr @s2n_strerror(i32 noundef %3329, ptr noundef @.str.4)
  %3331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3332 = load i32, ptr %3331, align 4, !tbaa !5
  %3333 = call ptr @s2n_strerror_debug(i32 noundef %3332, ptr noundef @.str.4)
  %3334 = call ptr @__errno_location() #10
  %3335 = load i32, ptr %3334, align 4, !tbaa !5
  %3336 = call ptr @strerror(i32 noundef %3335) #9
  %3337 = call ptr @__errno_location() #10
  %3338 = load i32, ptr %3337, align 4, !tbaa !5
  %3339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3326, ptr noundef @.str.2, i32 noundef %3327, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3330, ptr noundef %3333, ptr noundef %3336, i32 noundef %3338) #9
  br label %3357

3340:                                             ; preds = %3318, %3311
  %3341 = load i32, ptr %71, align 4, !tbaa !5
  %3342 = call ptr @__errno_location() #10
  store i32 %3341, ptr %3342, align 4, !tbaa !5
  %3343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3346 = load i32, ptr %3345, align 4, !tbaa !5
  %3347 = call ptr @s2n_strerror(i32 noundef %3346, ptr noundef @.str.4)
  %3348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3349 = load i32, ptr %3348, align 4, !tbaa !5
  %3350 = call ptr @s2n_strerror_debug(i32 noundef %3349, ptr noundef @.str.4)
  %3351 = call ptr @__errno_location() #10
  %3352 = load i32, ptr %3351, align 4, !tbaa !5
  %3353 = call ptr @strerror(i32 noundef %3352) #9
  %3354 = call ptr @__errno_location() #10
  %3355 = load i32, ptr %3354, align 4, !tbaa !5
  %3356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3343, ptr noundef @.str.5, i32 noundef %3344, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 153, ptr noundef %3347, ptr noundef %3350, ptr noundef %3353, i32 noundef %3355) #9
  br label %3357

3357:                                             ; preds = %3340, %3323
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #9
  br label %3358

3358:                                             ; preds = %3357
  br label %3359

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

3360:                                             ; No predecessors!
  br label %3361

3361:                                             ; preds = %3360
  br label %3362

3362:                                             ; preds = %3361, %3304
  br label %3363

3363:                                             ; preds = %3362
  br label %3364

3364:                                             ; preds = %3363
  br label %3365

3365:                                             ; preds = %3364
  %3366 = load i32, ptr @test_count, align 4, !tbaa !5
  %3367 = add nsw i32 %3366, 1
  store i32 %3367, ptr @test_count, align 4, !tbaa !5
  %3368 = load ptr, ptr %70, align 8, !tbaa !9
  %3369 = load ptr, ptr %10, align 8, !tbaa !9
  %3370 = call i32 @s2n_connection_set_config(ptr noundef %3368, ptr noundef %3369)
  %3371 = icmp eq i32 %3370, -1
  br i1 %3371, label %3372, label %3425

3372:                                             ; preds = %3365
  br label %3373

3373:                                             ; preds = %3372
  br label %3374

3374:                                             ; preds = %3373
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #9
  %3375 = call ptr @__errno_location() #10
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  store i32 %3376, ptr %72, align 4, !tbaa !5
  %3377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3378 = call i32 @s2n_print_stacktrace(ptr noundef %3377)
  %3379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3380 = trunc i8 %3379 to i1
  br i1 %3380, label %3381, label %3403

3381:                                             ; preds = %3374
  %3382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3383 = call i32 @fileno(ptr noundef %3382) #9
  %3384 = call i32 @isatty(i32 noundef %3383) #9
  %3385 = icmp ne i32 %3384, 0
  br i1 %3385, label %3386, label %3403

3386:                                             ; preds = %3381
  %3387 = load i32, ptr %72, align 4, !tbaa !5
  %3388 = call ptr @__errno_location() #10
  store i32 %3387, ptr %3388, align 4, !tbaa !5
  %3389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3390 = load i32, ptr @test_count, align 4, !tbaa !5
  %3391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3392 = load i32, ptr %3391, align 4, !tbaa !5
  %3393 = call ptr @s2n_strerror(i32 noundef %3392, ptr noundef @.str.4)
  %3394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3395 = load i32, ptr %3394, align 4, !tbaa !5
  %3396 = call ptr @s2n_strerror_debug(i32 noundef %3395, ptr noundef @.str.4)
  %3397 = call ptr @__errno_location() #10
  %3398 = load i32, ptr %3397, align 4, !tbaa !5
  %3399 = call ptr @strerror(i32 noundef %3398) #9
  %3400 = call ptr @__errno_location() #10
  %3401 = load i32, ptr %3400, align 4, !tbaa !5
  %3402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3389, ptr noundef @.str.2, i32 noundef %3390, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3393, ptr noundef %3396, ptr noundef %3399, i32 noundef %3401) #9
  br label %3420

3403:                                             ; preds = %3381, %3374
  %3404 = load i32, ptr %72, align 4, !tbaa !5
  %3405 = call ptr @__errno_location() #10
  store i32 %3404, ptr %3405, align 4, !tbaa !5
  %3406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3407 = load i32, ptr @test_count, align 4, !tbaa !5
  %3408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3409 = load i32, ptr %3408, align 4, !tbaa !5
  %3410 = call ptr @s2n_strerror(i32 noundef %3409, ptr noundef @.str.4)
  %3411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3412 = load i32, ptr %3411, align 4, !tbaa !5
  %3413 = call ptr @s2n_strerror_debug(i32 noundef %3412, ptr noundef @.str.4)
  %3414 = call ptr @__errno_location() #10
  %3415 = load i32, ptr %3414, align 4, !tbaa !5
  %3416 = call ptr @strerror(i32 noundef %3415) #9
  %3417 = call ptr @__errno_location() #10
  %3418 = load i32, ptr %3417, align 4, !tbaa !5
  %3419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3406, ptr noundef @.str.5, i32 noundef %3407, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 154, ptr noundef %3410, ptr noundef %3413, ptr noundef %3416, i32 noundef %3418) #9
  br label %3420

3420:                                             ; preds = %3403, %3386
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %3421

3421:                                             ; preds = %3420
  br label %3422

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

3423:                                             ; No predecessors!
  br label %3424

3424:                                             ; preds = %3423
  br label %3425

3425:                                             ; preds = %3424, %3365
  br label %3426

3426:                                             ; preds = %3425
  br label %3427

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

3428:                                             ; preds = %3427
  %3429 = load i32, ptr @test_count, align 4, !tbaa !5
  %3430 = add nsw i32 %3429, 1
  store i32 %3430, ptr @test_count, align 4, !tbaa !5
  %3431 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %73, i32 noundef 0)
  %3432 = icmp eq i32 %3431, -1
  br i1 %3432, label %3433, label %3486

3433:                                             ; preds = %3428
  br label %3434

3434:                                             ; preds = %3433
  br label %3435

3435:                                             ; preds = %3434
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #9
  %3436 = call ptr @__errno_location() #10
  %3437 = load i32, ptr %3436, align 4, !tbaa !5
  store i32 %3437, ptr %74, align 4, !tbaa !5
  %3438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3439 = call i32 @s2n_print_stacktrace(ptr noundef %3438)
  %3440 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3441 = trunc i8 %3440 to i1
  br i1 %3441, label %3442, label %3464

3442:                                             ; preds = %3435
  %3443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3444 = call i32 @fileno(ptr noundef %3443) #9
  %3445 = call i32 @isatty(i32 noundef %3444) #9
  %3446 = icmp ne i32 %3445, 0
  br i1 %3446, label %3447, label %3464

3447:                                             ; preds = %3442
  %3448 = load i32, ptr %74, align 4, !tbaa !5
  %3449 = call ptr @__errno_location() #10
  store i32 %3448, ptr %3449, align 4, !tbaa !5
  %3450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3451 = load i32, ptr @test_count, align 4, !tbaa !5
  %3452 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3453 = load i32, ptr %3452, align 4, !tbaa !5
  %3454 = call ptr @s2n_strerror(i32 noundef %3453, ptr noundef @.str.4)
  %3455 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3456 = load i32, ptr %3455, align 4, !tbaa !5
  %3457 = call ptr @s2n_strerror_debug(i32 noundef %3456, ptr noundef @.str.4)
  %3458 = call ptr @__errno_location() #10
  %3459 = load i32, ptr %3458, align 4, !tbaa !5
  %3460 = call ptr @strerror(i32 noundef %3459) #9
  %3461 = call ptr @__errno_location() #10
  %3462 = load i32, ptr %3461, align 4, !tbaa !5
  %3463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3450, ptr noundef @.str.2, i32 noundef %3451, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3454, ptr noundef %3457, ptr noundef %3460, i32 noundef %3462) #9
  br label %3481

3464:                                             ; preds = %3442, %3435
  %3465 = load i32, ptr %74, align 4, !tbaa !5
  %3466 = call ptr @__errno_location() #10
  store i32 %3465, ptr %3466, align 4, !tbaa !5
  %3467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3468 = load i32, ptr @test_count, align 4, !tbaa !5
  %3469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3470 = load i32, ptr %3469, align 4, !tbaa !5
  %3471 = call ptr @s2n_strerror(i32 noundef %3470, ptr noundef @.str.4)
  %3472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3473 = load i32, ptr %3472, align 4, !tbaa !5
  %3474 = call ptr @s2n_strerror_debug(i32 noundef %3473, ptr noundef @.str.4)
  %3475 = call ptr @__errno_location() #10
  %3476 = load i32, ptr %3475, align 4, !tbaa !5
  %3477 = call ptr @strerror(i32 noundef %3476) #9
  %3478 = call ptr @__errno_location() #10
  %3479 = load i32, ptr %3478, align 4, !tbaa !5
  %3480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3467, ptr noundef @.str.5, i32 noundef %3468, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 157, ptr noundef %3471, ptr noundef %3474, ptr noundef %3477, i32 noundef %3479) #9
  br label %3481

3481:                                             ; preds = %3464, %3447
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %3482

3482:                                             ; preds = %3481
  br label %3483

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

3484:                                             ; No predecessors!
  br label %3485

3485:                                             ; preds = %3484
  br label %3486

3486:                                             ; preds = %3485, %3428
  br label %3487

3487:                                             ; preds = %3486
  br label %3488

3488:                                             ; preds = %3487
  %3489 = load ptr, ptr %12, align 8, !tbaa !9
  %3490 = getelementptr inbounds [138 x i8], ptr %27, i64 0, i64 0
  call void @s2n_set_test_ticket(ptr noundef %3489, ptr noundef %3490, i8 noundef zeroext -118)
  br label %3491

3491:                                             ; preds = %3488
  %3492 = load i32, ptr @test_count, align 4, !tbaa !5
  %3493 = add nsw i32 %3492, 1
  store i32 %3493, ptr @test_count, align 4, !tbaa !5
  %3494 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 3), align 8, !tbaa !18
  %3495 = load ptr, ptr %12, align 8, !tbaa !9
  %3496 = call i32 %3494(ptr noundef %3495, ptr noundef %73)
  %3497 = icmp eq i32 %3496, -1
  br i1 %3497, label %3498, label %3551

3498:                                             ; preds = %3491
  br label %3499

3499:                                             ; preds = %3498
  br label %3500

3500:                                             ; preds = %3499
  call void @llvm.lifetime.start.p0(i64 4, ptr %75) #9
  %3501 = call ptr @__errno_location() #10
  %3502 = load i32, ptr %3501, align 4, !tbaa !5
  store i32 %3502, ptr %75, align 4, !tbaa !5
  %3503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3504 = call i32 @s2n_print_stacktrace(ptr noundef %3503)
  %3505 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3506 = trunc i8 %3505 to i1
  br i1 %3506, label %3507, label %3529

3507:                                             ; preds = %3500
  %3508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3509 = call i32 @fileno(ptr noundef %3508) #9
  %3510 = call i32 @isatty(i32 noundef %3509) #9
  %3511 = icmp ne i32 %3510, 0
  br i1 %3511, label %3512, label %3529

3512:                                             ; preds = %3507
  %3513 = load i32, ptr %75, align 4, !tbaa !5
  %3514 = call ptr @__errno_location() #10
  store i32 %3513, ptr %3514, align 4, !tbaa !5
  %3515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3516 = load i32, ptr @test_count, align 4, !tbaa !5
  %3517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3518 = load i32, ptr %3517, align 4, !tbaa !5
  %3519 = call ptr @s2n_strerror(i32 noundef %3518, ptr noundef @.str.4)
  %3520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3521 = load i32, ptr %3520, align 4, !tbaa !5
  %3522 = call ptr @s2n_strerror_debug(i32 noundef %3521, ptr noundef @.str.4)
  %3523 = call ptr @__errno_location() #10
  %3524 = load i32, ptr %3523, align 4, !tbaa !5
  %3525 = call ptr @strerror(i32 noundef %3524) #9
  %3526 = call ptr @__errno_location() #10
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3515, ptr noundef @.str.2, i32 noundef %3516, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3519, ptr noundef %3522, ptr noundef %3525, i32 noundef %3527) #9
  br label %3546

3529:                                             ; preds = %3507, %3500
  %3530 = load i32, ptr %75, align 4, !tbaa !5
  %3531 = call ptr @__errno_location() #10
  store i32 %3530, ptr %3531, align 4, !tbaa !5
  %3532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3533 = load i32, ptr @test_count, align 4, !tbaa !5
  %3534 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3535 = load i32, ptr %3534, align 4, !tbaa !5
  %3536 = call ptr @s2n_strerror(i32 noundef %3535, ptr noundef @.str.4)
  %3537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3538 = load i32, ptr %3537, align 4, !tbaa !5
  %3539 = call ptr @s2n_strerror_debug(i32 noundef %3538, ptr noundef @.str.4)
  %3540 = call ptr @__errno_location() #10
  %3541 = load i32, ptr %3540, align 4, !tbaa !5
  %3542 = call ptr @strerror(i32 noundef %3541) #9
  %3543 = call ptr @__errno_location() #10
  %3544 = load i32, ptr %3543, align 4, !tbaa !5
  %3545 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3532, ptr noundef @.str.5, i32 noundef %3533, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 160, ptr noundef %3536, ptr noundef %3539, ptr noundef %3542, i32 noundef %3544) #9
  br label %3546

3546:                                             ; preds = %3529, %3512
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #9
  br label %3547

3547:                                             ; preds = %3546
  br label %3548

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

3549:                                             ; No predecessors!
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550, %3491
  br label %3552

3552:                                             ; preds = %3551
  br label %3553

3553:                                             ; preds = %3552
  call void @llvm.lifetime.start.p0(i64 1, ptr %76) #9
  %3554 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3555 = load i32, ptr %3554, align 4, !tbaa !51
  %3556 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3557 = load i32, ptr %3556, align 8, !tbaa !52
  %3558 = sub i32 %3555, %3557
  %3559 = trunc i32 %3558 to i8
  store i8 %3559, ptr %76, align 1, !tbaa !53
  br label %3560

3560:                                             ; preds = %3553
  %3561 = load i32, ptr @test_count, align 4, !tbaa !5
  %3562 = add nsw i32 %3561, 1
  store i32 %3562, ptr @test_count, align 4, !tbaa !5
  %3563 = load ptr, ptr %10, align 8, !tbaa !9
  %3564 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %3563, i8 noundef zeroext 0)
  %3565 = icmp eq i32 %3564, -1
  br i1 %3565, label %3566, label %3619

3566:                                             ; preds = %3560
  br label %3567

3567:                                             ; preds = %3566
  br label %3568

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

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

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

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

3614:                                             ; preds = %3597, %3580
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %3615

3615:                                             ; preds = %3614
  br label %3616

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

3617:                                             ; No predecessors!
  br label %3618

3618:                                             ; preds = %3617
  br label %3619

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

3620:                                             ; preds = %3619
  br label %3621

3621:                                             ; preds = %3620
  br label %3622

3622:                                             ; preds = %3621
  %3623 = load i32, ptr @test_count, align 4, !tbaa !5
  %3624 = add nsw i32 %3623, 1
  store i32 %3624, ptr @test_count, align 4, !tbaa !5
  %3625 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %3626 = load ptr, ptr %70, align 8, !tbaa !9
  %3627 = call i32 %3625(ptr noundef %3626, ptr noundef %73)
  %3628 = icmp eq i32 %3627, -1
  br i1 %3628, label %3629, label %3682

3629:                                             ; preds = %3622
  br label %3630

3630:                                             ; preds = %3629
  br label %3631

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

3638:                                             ; preds = %3631
  %3639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3640 = call i32 @fileno(ptr noundef %3639) #9
  %3641 = call i32 @isatty(i32 noundef %3640) #9
  %3642 = icmp ne i32 %3641, 0
  br i1 %3642, label %3643, label %3660

3643:                                             ; preds = %3638
  %3644 = load i32, ptr %78, align 4, !tbaa !5
  %3645 = call ptr @__errno_location() #10
  store i32 %3644, ptr %3645, align 4, !tbaa !5
  %3646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3647 = load i32, ptr @test_count, align 4, !tbaa !5
  %3648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3649 = load i32, ptr %3648, align 4, !tbaa !5
  %3650 = call ptr @s2n_strerror(i32 noundef %3649, ptr noundef @.str.4)
  %3651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3652 = load i32, ptr %3651, align 4, !tbaa !5
  %3653 = call ptr @s2n_strerror_debug(i32 noundef %3652, ptr noundef @.str.4)
  %3654 = call ptr @__errno_location() #10
  %3655 = load i32, ptr %3654, align 4, !tbaa !5
  %3656 = call ptr @strerror(i32 noundef %3655) #9
  %3657 = call ptr @__errno_location() #10
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  %3659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3646, ptr noundef @.str.2, i32 noundef %3647, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3650, ptr noundef %3653, ptr noundef %3656, i32 noundef %3658) #9
  br label %3677

3660:                                             ; preds = %3638, %3631
  %3661 = load i32, ptr %78, align 4, !tbaa !5
  %3662 = call ptr @__errno_location() #10
  store i32 %3661, ptr %3662, align 4, !tbaa !5
  %3663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3664 = load i32, ptr @test_count, align 4, !tbaa !5
  %3665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3666 = load i32, ptr %3665, align 4, !tbaa !5
  %3667 = call ptr @s2n_strerror(i32 noundef %3666, ptr noundef @.str.4)
  %3668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3669 = load i32, ptr %3668, align 4, !tbaa !5
  %3670 = call ptr @s2n_strerror_debug(i32 noundef %3669, ptr noundef @.str.4)
  %3671 = call ptr @__errno_location() #10
  %3672 = load i32, ptr %3671, align 4, !tbaa !5
  %3673 = call ptr @strerror(i32 noundef %3672) #9
  %3674 = call ptr @__errno_location() #10
  %3675 = load i32, ptr %3674, align 4, !tbaa !5
  %3676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3663, ptr noundef @.str.5, i32 noundef %3664, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 165, ptr noundef %3667, ptr noundef %3670, ptr noundef %3673, i32 noundef %3675) #9
  br label %3677

3677:                                             ; preds = %3660, %3643
  call void @llvm.lifetime.end.p0(i64 4, ptr %78) #9
  br label %3678

3678:                                             ; preds = %3677
  br label %3679

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

3680:                                             ; No predecessors!
  br label %3681

3681:                                             ; preds = %3680
  br label %3682

3682:                                             ; preds = %3681, %3622
  br label %3683

3683:                                             ; preds = %3682
  br label %3684

3684:                                             ; preds = %3683
  br label %3685

3685:                                             ; preds = %3684
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = add nsw i32 %3686, 1
  store i32 %3687, ptr @test_count, align 4, !tbaa !5
  %3688 = load ptr, ptr %70, align 8, !tbaa !9
  %3689 = getelementptr inbounds %struct.s2n_connection, ptr %3688, i32 0, i32 76
  %3690 = load i32, ptr %3689, align 4, !tbaa !22
  %3691 = icmp eq i32 %3690, 0
  br i1 %3691, label %3745, label %3692

3692:                                             ; preds = %3685
  br label %3693

3693:                                             ; preds = %3692
  br label %3694

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

3701:                                             ; preds = %3694
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @fileno(ptr noundef %3702) #9
  %3704 = call i32 @isatty(i32 noundef %3703) #9
  %3705 = icmp ne i32 %3704, 0
  br i1 %3705, label %3706, label %3723

3706:                                             ; preds = %3701
  %3707 = load i32, ptr %79, align 4, !tbaa !5
  %3708 = call ptr @__errno_location() #10
  store i32 %3707, ptr %3708, align 4, !tbaa !5
  %3709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3710 = load i32, ptr @test_count, align 4, !tbaa !5
  %3711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @s2n_strerror(i32 noundef %3712, ptr noundef @.str.4)
  %3714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror_debug(i32 noundef %3715, ptr noundef @.str.4)
  %3717 = call ptr @__errno_location() #10
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call ptr @strerror(i32 noundef %3718) #9
  %3720 = call ptr @__errno_location() #10
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3709, ptr noundef @.str.2, i32 noundef %3710, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3713, ptr noundef %3716, ptr noundef %3719, i32 noundef %3721) #9
  br label %3740

3723:                                             ; preds = %3701, %3694
  %3724 = load i32, ptr %79, align 4, !tbaa !5
  %3725 = call ptr @__errno_location() #10
  store i32 %3724, ptr %3725, align 4, !tbaa !5
  %3726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3727 = load i32, ptr @test_count, align 4, !tbaa !5
  %3728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @s2n_strerror(i32 noundef %3729, ptr noundef @.str.4)
  %3731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call ptr @s2n_strerror_debug(i32 noundef %3732, ptr noundef @.str.4)
  %3734 = call ptr @__errno_location() #10
  %3735 = load i32, ptr %3734, align 4, !tbaa !5
  %3736 = call ptr @strerror(i32 noundef %3735) #9
  %3737 = call ptr @__errno_location() #10
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3726, ptr noundef @.str.5, i32 noundef %3727, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3730, ptr noundef %3733, ptr noundef %3736, i32 noundef %3738) #9
  br label %3740

3740:                                             ; preds = %3723, %3706
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #9
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

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

3743:                                             ; No predecessors!
  br label %3744

3744:                                             ; preds = %3743
  br label %3745

3745:                                             ; preds = %3744, %3685
  br label %3746

3746:                                             ; preds = %3745
  br label %3747

3747:                                             ; preds = %3746
  br label %3748

3748:                                             ; preds = %3747
  %3749 = load i32, ptr @test_count, align 4, !tbaa !5
  %3750 = add nsw i32 %3749, 1
  store i32 %3750, ptr @test_count, align 4, !tbaa !5
  %3751 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %3752 = load i32, ptr %3751, align 4, !tbaa !51
  %3753 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %3754 = load i32, ptr %3753, align 8, !tbaa !52
  %3755 = sub i32 %3752, %3754
  %3756 = load i8, ptr %76, align 1, !tbaa !53
  %3757 = zext i8 %3756 to i32
  %3758 = icmp eq i32 %3755, %3757
  br i1 %3758, label %3812, label %3759

3759:                                             ; preds = %3748
  br label %3760

3760:                                             ; preds = %3759
  br label %3761

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

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

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

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

3807:                                             ; preds = %3790, %3773
  call void @llvm.lifetime.end.p0(i64 4, ptr %80) #9
  br label %3808

3808:                                             ; preds = %3807
  br label %3809

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

3810:                                             ; No predecessors!
  br label %3811

3811:                                             ; preds = %3810
  br label %3812

3812:                                             ; preds = %3811, %3748
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813
  br label %3815

3815:                                             ; preds = %3814
  %3816 = load i32, ptr @test_count, align 4, !tbaa !5
  %3817 = add nsw i32 %3816, 1
  store i32 %3817, ptr @test_count, align 4, !tbaa !5
  %3818 = load ptr, ptr %10, align 8, !tbaa !9
  %3819 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef %3818, i8 noundef zeroext 1)
  %3820 = icmp eq i32 %3819, -1
  br i1 %3820, label %3821, label %3874

3821:                                             ; preds = %3815
  br label %3822

3822:                                             ; preds = %3821
  br label %3823

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

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

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

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

3869:                                             ; preds = %3852, %3835
  call void @llvm.lifetime.end.p0(i64 4, ptr %81) #9
  br label %3870

3870:                                             ; preds = %3869
  br label %3871

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

3872:                                             ; No predecessors!
  br label %3873

3873:                                             ; preds = %3872
  br label %3874

3874:                                             ; preds = %3873, %3815
  br label %3875

3875:                                             ; preds = %3874
  br label %3876

3876:                                             ; preds = %3875
  br label %3877

3877:                                             ; preds = %3876
  %3878 = load i32, ptr @test_count, align 4, !tbaa !5
  %3879 = add nsw i32 %3878, 1
  store i32 %3879, ptr @test_count, align 4, !tbaa !5
  %3880 = load ptr, ptr %10, align 8, !tbaa !9
  %3881 = call i32 @s2n_config_set_client_auth_type(ptr noundef %3880, i32 noundef 1)
  %3882 = icmp eq i32 %3881, -1
  br i1 %3882, label %3883, label %3936

3883:                                             ; preds = %3877
  br label %3884

3884:                                             ; preds = %3883
  br label %3885

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

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

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

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

3931:                                             ; preds = %3914, %3897
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %3932

3932:                                             ; preds = %3931
  br label %3933

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

3934:                                             ; No predecessors!
  br label %3935

3935:                                             ; preds = %3934
  br label %3936

3936:                                             ; preds = %3935, %3877
  br label %3937

3937:                                             ; preds = %3936
  br label %3938

3938:                                             ; preds = %3937
  br label %3939

3939:                                             ; preds = %3938
  %3940 = load i32, ptr @test_count, align 4, !tbaa !5
  %3941 = add nsw i32 %3940, 1
  store i32 %3941, ptr @test_count, align 4, !tbaa !5
  %3942 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %3943 = load ptr, ptr %70, align 8, !tbaa !9
  %3944 = call i32 %3942(ptr noundef %3943, ptr noundef %73)
  %3945 = icmp eq i32 %3944, -1
  br i1 %3945, label %3946, label %3999

3946:                                             ; preds = %3939
  br label %3947

3947:                                             ; preds = %3946
  br label %3948

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

3955:                                             ; preds = %3948
  %3956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3957 = call i32 @fileno(ptr noundef %3956) #9
  %3958 = call i32 @isatty(i32 noundef %3957) #9
  %3959 = icmp ne i32 %3958, 0
  br i1 %3959, label %3960, label %3977

3960:                                             ; preds = %3955
  %3961 = load i32, ptr %83, align 4, !tbaa !5
  %3962 = call ptr @__errno_location() #10
  store i32 %3961, ptr %3962, align 4, !tbaa !5
  %3963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3964 = load i32, ptr @test_count, align 4, !tbaa !5
  %3965 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3966 = load i32, ptr %3965, align 4, !tbaa !5
  %3967 = call ptr @s2n_strerror(i32 noundef %3966, ptr noundef @.str.4)
  %3968 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3969 = load i32, ptr %3968, align 4, !tbaa !5
  %3970 = call ptr @s2n_strerror_debug(i32 noundef %3969, ptr noundef @.str.4)
  %3971 = call ptr @__errno_location() #10
  %3972 = load i32, ptr %3971, align 4, !tbaa !5
  %3973 = call ptr @strerror(i32 noundef %3972) #9
  %3974 = call ptr @__errno_location() #10
  %3975 = load i32, ptr %3974, align 4, !tbaa !5
  %3976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3963, ptr noundef @.str.2, i32 noundef %3964, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 172, ptr noundef %3967, ptr noundef %3970, ptr noundef %3973, i32 noundef %3975) #9
  br label %3994

3977:                                             ; preds = %3955, %3948
  %3978 = load i32, ptr %83, align 4, !tbaa !5
  %3979 = call ptr @__errno_location() #10
  store i32 %3978, ptr %3979, align 4, !tbaa !5
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = load i32, ptr @test_count, align 4, !tbaa !5
  %3982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3983 = load i32, ptr %3982, align 4, !tbaa !5
  %3984 = call ptr @s2n_strerror(i32 noundef %3983, ptr noundef @.str.4)
  %3985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3986 = load i32, ptr %3985, align 4, !tbaa !5
  %3987 = call ptr @s2n_strerror_debug(i32 noundef %3986, ptr noundef @.str.4)
  %3988 = call ptr @__errno_location() #10
  %3989 = load i32, ptr %3988, align 4, !tbaa !5
  %3990 = call ptr @strerror(i32 noundef %3989) #9
  %3991 = call ptr @__errno_location() #10
  %3992 = load i32, ptr %3991, align 4, !tbaa !5
  %3993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3980, ptr noundef @.str.5, i32 noundef %3981, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 172, ptr noundef %3984, ptr noundef %3987, ptr noundef %3990, i32 noundef %3992) #9
  br label %3994

3994:                                             ; preds = %3977, %3960
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %3995

3995:                                             ; preds = %3994
  br label %3996

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

3997:                                             ; No predecessors!
  br label %3998

3998:                                             ; preds = %3997
  br label %3999

3999:                                             ; preds = %3998, %3939
  br label %4000

4000:                                             ; preds = %3999
  br label %4001

4001:                                             ; preds = %4000
  br label %4002

4002:                                             ; preds = %4001
  %4003 = load i32, ptr @test_count, align 4, !tbaa !5
  %4004 = add nsw i32 %4003, 1
  store i32 %4004, ptr @test_count, align 4, !tbaa !5
  %4005 = load ptr, ptr %70, align 8, !tbaa !9
  %4006 = getelementptr inbounds %struct.s2n_connection, ptr %4005, i32 0, i32 76
  %4007 = load i32, ptr %4006, align 4, !tbaa !22
  %4008 = icmp eq i32 %4007, 0
  br i1 %4008, label %4062, label %4009

4009:                                             ; preds = %4002
  br label %4010

4010:                                             ; preds = %4009
  br label %4011

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

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

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

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

4057:                                             ; preds = %4040, %4023
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #9
  br label %4058

4058:                                             ; preds = %4057
  br label %4059

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

4060:                                             ; No predecessors!
  br label %4061

4061:                                             ; preds = %4060
  br label %4062

4062:                                             ; preds = %4061, %4002
  br label %4063

4063:                                             ; preds = %4062
  br label %4064

4064:                                             ; preds = %4063
  br label %4065

4065:                                             ; preds = %4064
  %4066 = load i32, ptr @test_count, align 4, !tbaa !5
  %4067 = add nsw i32 %4066, 1
  store i32 %4067, ptr @test_count, align 4, !tbaa !5
  %4068 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 2
  %4069 = load i32, ptr %4068, align 4, !tbaa !51
  %4070 = getelementptr inbounds %struct.s2n_stuffer, ptr %73, i32 0, i32 1
  %4071 = load i32, ptr %4070, align 8, !tbaa !52
  %4072 = sub i32 %4069, %4071
  %4073 = load i8, ptr %76, align 1, !tbaa !53
  %4074 = zext i8 %4073 to i32
  %4075 = icmp eq i32 %4072, %4074
  br i1 %4075, label %4129, label %4076

4076:                                             ; preds = %4065
  br label %4077

4077:                                             ; preds = %4076
  br label %4078

4078:                                             ; preds = %4077
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %4079 = call ptr @__errno_location() #10
  %4080 = load i32, ptr %4079, align 4, !tbaa !5
  store i32 %4080, ptr %85, align 4, !tbaa !5
  %4081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4082 = call i32 @s2n_print_stacktrace(ptr noundef %4081)
  %4083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4084 = trunc i8 %4083 to i1
  br i1 %4084, label %4085, label %4107

4085:                                             ; preds = %4078
  %4086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4087 = call i32 @fileno(ptr noundef %4086) #9
  %4088 = call i32 @isatty(i32 noundef %4087) #9
  %4089 = icmp ne i32 %4088, 0
  br i1 %4089, label %4090, label %4107

4090:                                             ; preds = %4085
  %4091 = load i32, ptr %85, align 4, !tbaa !5
  %4092 = call ptr @__errno_location() #10
  store i32 %4091, ptr %4092, align 4, !tbaa !5
  %4093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4094 = load i32, ptr @test_count, align 4, !tbaa !5
  %4095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4096 = load i32, ptr %4095, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror(i32 noundef %4096, ptr noundef @.str.4)
  %4098 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4099 = load i32, ptr %4098, align 4, !tbaa !5
  %4100 = call ptr @s2n_strerror_debug(i32 noundef %4099, ptr noundef @.str.4)
  %4101 = call ptr @__errno_location() #10
  %4102 = load i32, ptr %4101, align 4, !tbaa !5
  %4103 = call ptr @strerror(i32 noundef %4102) #9
  %4104 = call ptr @__errno_location() #10
  %4105 = load i32, ptr %4104, align 4, !tbaa !5
  %4106 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4093, ptr noundef @.str.2, i32 noundef %4094, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 174, ptr noundef %4097, ptr noundef %4100, ptr noundef %4103, i32 noundef %4105) #9
  br label %4124

4107:                                             ; preds = %4085, %4078
  %4108 = load i32, ptr %85, align 4, !tbaa !5
  %4109 = call ptr @__errno_location() #10
  store i32 %4108, ptr %4109, align 4, !tbaa !5
  %4110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4111 = load i32, ptr @test_count, align 4, !tbaa !5
  %4112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4113 = load i32, ptr %4112, align 4, !tbaa !5
  %4114 = call ptr @s2n_strerror(i32 noundef %4113, ptr noundef @.str.4)
  %4115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4116 = load i32, ptr %4115, align 4, !tbaa !5
  %4117 = call ptr @s2n_strerror_debug(i32 noundef %4116, ptr noundef @.str.4)
  %4118 = call ptr @__errno_location() #10
  %4119 = load i32, ptr %4118, align 4, !tbaa !5
  %4120 = call ptr @strerror(i32 noundef %4119) #9
  %4121 = call ptr @__errno_location() #10
  %4122 = load i32, ptr %4121, align 4, !tbaa !5
  %4123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4110, ptr noundef @.str.5, i32 noundef %4111, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 174, ptr noundef %4114, ptr noundef %4117, ptr noundef %4120, i32 noundef %4122) #9
  br label %4124

4124:                                             ; preds = %4107, %4090
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %4125

4125:                                             ; preds = %4124
  br label %4126

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

4127:                                             ; No predecessors!
  br label %4128

4128:                                             ; preds = %4127
  br label %4129

4129:                                             ; preds = %4128, %4065
  br label %4130

4130:                                             ; preds = %4129
  br label %4131

4131:                                             ; preds = %4130
  br label %4132

4132:                                             ; preds = %4131
  %4133 = load i32, ptr @test_count, align 4, !tbaa !5
  %4134 = add nsw i32 %4133, 1
  store i32 %4134, ptr @test_count, align 4, !tbaa !5
  %4135 = load ptr, ptr %10, align 8, !tbaa !9
  %4136 = call i32 @s2n_config_set_client_auth_type(ptr noundef %4135, i32 noundef 0)
  %4137 = icmp eq i32 %4136, -1
  br i1 %4137, label %4138, label %4191

4138:                                             ; preds = %4132
  br label %4139

4139:                                             ; preds = %4138
  br label %4140

4140:                                             ; preds = %4139
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %4141 = call ptr @__errno_location() #10
  %4142 = load i32, ptr %4141, align 4, !tbaa !5
  store i32 %4142, ptr %86, align 4, !tbaa !5
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = call i32 @s2n_print_stacktrace(ptr noundef %4143)
  %4145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4146 = trunc i8 %4145 to i1
  br i1 %4146, label %4147, label %4169

4147:                                             ; preds = %4140
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = call i32 @fileno(ptr noundef %4148) #9
  %4150 = call i32 @isatty(i32 noundef %4149) #9
  %4151 = icmp ne i32 %4150, 0
  br i1 %4151, label %4152, label %4169

4152:                                             ; preds = %4147
  %4153 = load i32, ptr %86, align 4, !tbaa !5
  %4154 = call ptr @__errno_location() #10
  store i32 %4153, ptr %4154, align 4, !tbaa !5
  %4155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4156 = load i32, ptr @test_count, align 4, !tbaa !5
  %4157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4158 = load i32, ptr %4157, align 4, !tbaa !5
  %4159 = call ptr @s2n_strerror(i32 noundef %4158, ptr noundef @.str.4)
  %4160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4161 = load i32, ptr %4160, align 4, !tbaa !5
  %4162 = call ptr @s2n_strerror_debug(i32 noundef %4161, ptr noundef @.str.4)
  %4163 = call ptr @__errno_location() #10
  %4164 = load i32, ptr %4163, align 4, !tbaa !5
  %4165 = call ptr @strerror(i32 noundef %4164) #9
  %4166 = call ptr @__errno_location() #10
  %4167 = load i32, ptr %4166, align 4, !tbaa !5
  %4168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4155, ptr noundef @.str.2, i32 noundef %4156, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 175, ptr noundef %4159, ptr noundef %4162, ptr noundef %4165, i32 noundef %4167) #9
  br label %4186

4169:                                             ; preds = %4147, %4140
  %4170 = load i32, ptr %86, align 4, !tbaa !5
  %4171 = call ptr @__errno_location() #10
  store i32 %4170, ptr %4171, align 4, !tbaa !5
  %4172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4173 = load i32, ptr @test_count, align 4, !tbaa !5
  %4174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4175 = load i32, ptr %4174, align 4, !tbaa !5
  %4176 = call ptr @s2n_strerror(i32 noundef %4175, ptr noundef @.str.4)
  %4177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4178 = load i32, ptr %4177, align 4, !tbaa !5
  %4179 = call ptr @s2n_strerror_debug(i32 noundef %4178, ptr noundef @.str.4)
  %4180 = call ptr @__errno_location() #10
  %4181 = load i32, ptr %4180, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #9
  %4183 = call ptr @__errno_location() #10
  %4184 = load i32, ptr %4183, align 4, !tbaa !5
  %4185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4172, ptr noundef @.str.5, i32 noundef %4173, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 175, ptr noundef %4176, ptr noundef %4179, ptr noundef %4182, i32 noundef %4184) #9
  br label %4186

4186:                                             ; preds = %4169, %4152
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

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

4189:                                             ; No predecessors!
  br label %4190

4190:                                             ; preds = %4189
  br label %4191

4191:                                             ; preds = %4190, %4132
  br label %4192

4192:                                             ; preds = %4191
  br label %4193

4193:                                             ; preds = %4192
  br label %4194

4194:                                             ; preds = %4193
  %4195 = load i32, ptr @test_count, align 4, !tbaa !5
  %4196 = add nsw i32 %4195, 1
  store i32 %4196, ptr @test_count, align 4, !tbaa !5
  %4197 = load ptr, ptr getelementptr inbounds (%struct.s2n_extension_type, ptr @s2n_client_session_ticket_extension, i32 0, i32 4), align 8, !tbaa !46
  %4198 = load ptr, ptr %70, align 8, !tbaa !9
  %4199 = call i32 %4197(ptr noundef %4198, ptr noundef %73)
  %4200 = icmp eq i32 %4199, -1
  br i1 %4200, label %4201, label %4254

4201:                                             ; preds = %4194
  br label %4202

4202:                                             ; preds = %4201
  br label %4203

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

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

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

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

4249:                                             ; preds = %4232, %4215
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  br label %4250

4250:                                             ; preds = %4249
  br label %4251

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

4252:                                             ; No predecessors!
  br label %4253

4253:                                             ; preds = %4252
  br label %4254

4254:                                             ; preds = %4253, %4194
  br label %4255

4255:                                             ; preds = %4254
  br label %4256

4256:                                             ; preds = %4255
  br label %4257

4257:                                             ; preds = %4256
  %4258 = load i32, ptr @test_count, align 4, !tbaa !5
  %4259 = add nsw i32 %4258, 1
  store i32 %4259, ptr @test_count, align 4, !tbaa !5
  %4260 = load ptr, ptr %70, align 8, !tbaa !9
  %4261 = getelementptr inbounds %struct.s2n_connection, ptr %4260, i32 0, i32 76
  %4262 = load i32, ptr %4261, align 4, !tbaa !22
  %4263 = icmp eq i32 %4262, 0
  br i1 %4263, label %4264, label %4317

4264:                                             ; preds = %4257
  br label %4265

4265:                                             ; preds = %4264
  br label %4266

4266:                                             ; preds = %4265
  call void @llvm.lifetime.start.p0(i64 4, ptr %88) #9
  %4267 = call ptr @__errno_location() #10
  %4268 = load i32, ptr %4267, align 4, !tbaa !5
  store i32 %4268, ptr %88, align 4, !tbaa !5
  %4269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4270 = call i32 @s2n_print_stacktrace(ptr noundef %4269)
  %4271 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4272 = trunc i8 %4271 to i1
  br i1 %4272, label %4273, label %4295

4273:                                             ; preds = %4266
  %4274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4275 = call i32 @fileno(ptr noundef %4274) #9
  %4276 = call i32 @isatty(i32 noundef %4275) #9
  %4277 = icmp ne i32 %4276, 0
  br i1 %4277, label %4278, label %4295

4278:                                             ; preds = %4273
  %4279 = load i32, ptr %88, align 4, !tbaa !5
  %4280 = call ptr @__errno_location() #10
  store i32 %4279, ptr %4280, align 4, !tbaa !5
  %4281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4282 = load i32, ptr @test_count, align 4, !tbaa !5
  %4283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4284 = load i32, ptr %4283, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror(i32 noundef %4284, ptr noundef @.str.4)
  %4286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4287 = load i32, ptr %4286, align 4, !tbaa !5
  %4288 = call ptr @s2n_strerror_debug(i32 noundef %4287, ptr noundef @.str.4)
  %4289 = call ptr @__errno_location() #10
  %4290 = load i32, ptr %4289, align 4, !tbaa !5
  %4291 = call ptr @strerror(i32 noundef %4290) #9
  %4292 = call ptr @__errno_location() #10
  %4293 = load i32, ptr %4292, align 4, !tbaa !5
  %4294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4281, ptr noundef @.str.2, i32 noundef %4282, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4285, ptr noundef %4288, ptr noundef %4291, i32 noundef %4293) #9
  br label %4312

4295:                                             ; preds = %4273, %4266
  %4296 = load i32, ptr %88, align 4, !tbaa !5
  %4297 = call ptr @__errno_location() #10
  store i32 %4296, ptr %4297, align 4, !tbaa !5
  %4298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4299 = load i32, ptr @test_count, align 4, !tbaa !5
  %4300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4301 = load i32, ptr %4300, align 4, !tbaa !5
  %4302 = call ptr @s2n_strerror(i32 noundef %4301, ptr noundef @.str.4)
  %4303 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call ptr @s2n_strerror_debug(i32 noundef %4304, ptr noundef @.str.4)
  %4306 = call ptr @__errno_location() #10
  %4307 = load i32, ptr %4306, align 4, !tbaa !5
  %4308 = call ptr @strerror(i32 noundef %4307) #9
  %4309 = call ptr @__errno_location() #10
  %4310 = load i32, ptr %4309, align 4, !tbaa !5
  %4311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4298, ptr noundef @.str.5, i32 noundef %4299, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 179, ptr noundef %4302, ptr noundef %4305, ptr noundef %4308, i32 noundef %4310) #9
  br label %4312

4312:                                             ; preds = %4295, %4278
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #9
  br label %4313

4313:                                             ; preds = %4312
  br label %4314

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

4315:                                             ; No predecessors!
  br label %4316

4316:                                             ; preds = %4315
  br label %4317

4317:                                             ; preds = %4316, %4257
  br label %4318

4318:                                             ; preds = %4317
  br label %4319

4319:                                             ; preds = %4318
  br label %4320

4320:                                             ; preds = %4319
  %4321 = load i32, ptr @test_count, align 4, !tbaa !5
  %4322 = add nsw i32 %4321, 1
  store i32 %4322, ptr @test_count, align 4, !tbaa !5
  %4323 = call i32 @s2n_stuffer_free(ptr noundef %73)
  %4324 = icmp eq i32 %4323, -1
  br i1 %4324, label %4325, label %4378

4325:                                             ; preds = %4320
  br label %4326

4326:                                             ; preds = %4325
  br label %4327

4327:                                             ; preds = %4326
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %4328 = call ptr @__errno_location() #10
  %4329 = load i32, ptr %4328, align 4, !tbaa !5
  store i32 %4329, ptr %89, align 4, !tbaa !5
  %4330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4331 = call i32 @s2n_print_stacktrace(ptr noundef %4330)
  %4332 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4333 = trunc i8 %4332 to i1
  br i1 %4333, label %4334, label %4356

4334:                                             ; preds = %4327
  %4335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4336 = call i32 @fileno(ptr noundef %4335) #9
  %4337 = call i32 @isatty(i32 noundef %4336) #9
  %4338 = icmp ne i32 %4337, 0
  br i1 %4338, label %4339, label %4356

4339:                                             ; preds = %4334
  %4340 = load i32, ptr %89, align 4, !tbaa !5
  %4341 = call ptr @__errno_location() #10
  store i32 %4340, ptr %4341, align 4, !tbaa !5
  %4342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4343 = load i32, ptr @test_count, align 4, !tbaa !5
  %4344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4345 = load i32, ptr %4344, align 4, !tbaa !5
  %4346 = call ptr @s2n_strerror(i32 noundef %4345, ptr noundef @.str.4)
  %4347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4348 = load i32, ptr %4347, align 4, !tbaa !5
  %4349 = call ptr @s2n_strerror_debug(i32 noundef %4348, ptr noundef @.str.4)
  %4350 = call ptr @__errno_location() #10
  %4351 = load i32, ptr %4350, align 4, !tbaa !5
  %4352 = call ptr @strerror(i32 noundef %4351) #9
  %4353 = call ptr @__errno_location() #10
  %4354 = load i32, ptr %4353, align 4, !tbaa !5
  %4355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4342, ptr noundef @.str.2, i32 noundef %4343, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4346, ptr noundef %4349, ptr noundef %4352, i32 noundef %4354) #9
  br label %4373

4356:                                             ; preds = %4334, %4327
  %4357 = load i32, ptr %89, align 4, !tbaa !5
  %4358 = call ptr @__errno_location() #10
  store i32 %4357, ptr %4358, align 4, !tbaa !5
  %4359 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4360 = load i32, ptr @test_count, align 4, !tbaa !5
  %4361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call ptr @s2n_strerror(i32 noundef %4362, ptr noundef @.str.4)
  %4364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror_debug(i32 noundef %4365, ptr noundef @.str.4)
  %4367 = call ptr @__errno_location() #10
  %4368 = load i32, ptr %4367, align 4, !tbaa !5
  %4369 = call ptr @strerror(i32 noundef %4368) #9
  %4370 = call ptr @__errno_location() #10
  %4371 = load i32, ptr %4370, align 4, !tbaa !5
  %4372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4359, ptr noundef @.str.5, i32 noundef %4360, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 181, ptr noundef %4363, ptr noundef %4366, ptr noundef %4369, i32 noundef %4371) #9
  br label %4373

4373:                                             ; preds = %4356, %4339
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %4374

4374:                                             ; preds = %4373
  br label %4375

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

4376:                                             ; No predecessors!
  br label %4377

4377:                                             ; preds = %4376
  br label %4378

4378:                                             ; preds = %4377, %4320
  br label %4379

4379:                                             ; preds = %4378
  br label %4380

4380:                                             ; preds = %4379
  br label %4381

4381:                                             ; preds = %4380
  %4382 = load i32, ptr @test_count, align 4, !tbaa !5
  %4383 = add nsw i32 %4382, 1
  store i32 %4383, ptr @test_count, align 4, !tbaa !5
  %4384 = load ptr, ptr %70, align 8, !tbaa !9
  %4385 = call i32 @s2n_connection_free(ptr noundef %4384)
  %4386 = icmp eq i32 %4385, -1
  br i1 %4386, label %4387, label %4440

4387:                                             ; preds = %4381
  br label %4388

4388:                                             ; preds = %4387
  br label %4389

4389:                                             ; preds = %4388
  call void @llvm.lifetime.start.p0(i64 4, ptr %90) #9
  %4390 = call ptr @__errno_location() #10
  %4391 = load i32, ptr %4390, align 4, !tbaa !5
  store i32 %4391, ptr %90, align 4, !tbaa !5
  %4392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4393 = call i32 @s2n_print_stacktrace(ptr noundef %4392)
  %4394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4395 = trunc i8 %4394 to i1
  br i1 %4395, label %4396, label %4418

4396:                                             ; preds = %4389
  %4397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4398 = call i32 @fileno(ptr noundef %4397) #9
  %4399 = call i32 @isatty(i32 noundef %4398) #9
  %4400 = icmp ne i32 %4399, 0
  br i1 %4400, label %4401, label %4418

4401:                                             ; preds = %4396
  %4402 = load i32, ptr %90, align 4, !tbaa !5
  %4403 = call ptr @__errno_location() #10
  store i32 %4402, ptr %4403, align 4, !tbaa !5
  %4404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4405 = load i32, ptr @test_count, align 4, !tbaa !5
  %4406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4407 = load i32, ptr %4406, align 4, !tbaa !5
  %4408 = call ptr @s2n_strerror(i32 noundef %4407, ptr noundef @.str.4)
  %4409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4410 = load i32, ptr %4409, align 4, !tbaa !5
  %4411 = call ptr @s2n_strerror_debug(i32 noundef %4410, ptr noundef @.str.4)
  %4412 = call ptr @__errno_location() #10
  %4413 = load i32, ptr %4412, align 4, !tbaa !5
  %4414 = call ptr @strerror(i32 noundef %4413) #9
  %4415 = call ptr @__errno_location() #10
  %4416 = load i32, ptr %4415, align 4, !tbaa !5
  %4417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4404, ptr noundef @.str.2, i32 noundef %4405, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 182, ptr noundef %4408, ptr noundef %4411, ptr noundef %4414, i32 noundef %4416) #9
  br label %4435

4418:                                             ; preds = %4396, %4389
  %4419 = load i32, ptr %90, align 4, !tbaa !5
  %4420 = call ptr @__errno_location() #10
  store i32 %4419, ptr %4420, align 4, !tbaa !5
  %4421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4422 = load i32, ptr @test_count, align 4, !tbaa !5
  %4423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4424 = load i32, ptr %4423, align 4, !tbaa !5
  %4425 = call ptr @s2n_strerror(i32 noundef %4424, ptr noundef @.str.4)
  %4426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call ptr @s2n_strerror_debug(i32 noundef %4427, ptr noundef @.str.4)
  %4429 = call ptr @__errno_location() #10
  %4430 = load i32, ptr %4429, align 4, !tbaa !5
  %4431 = call ptr @strerror(i32 noundef %4430) #9
  %4432 = call ptr @__errno_location() #10
  %4433 = load i32, ptr %4432, align 4, !tbaa !5
  %4434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4421, ptr noundef @.str.5, i32 noundef %4422, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 182, ptr noundef %4425, ptr noundef %4428, ptr noundef %4431, i32 noundef %4433) #9
  br label %4435

4435:                                             ; preds = %4418, %4401
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #9
  br label %4436

4436:                                             ; preds = %4435
  br label %4437

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

4438:                                             ; No predecessors!
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

4440:                                             ; preds = %4439, %4381
  br label %4441

4441:                                             ; preds = %4440
  br label %4442

4442:                                             ; preds = %4441
  call void @llvm.lifetime.end.p0(i64 1, ptr %76) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %73) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #9
  br label %4443

4443:                                             ; preds = %4442
  %4444 = load i32, ptr @test_count, align 4, !tbaa !5
  %4445 = add nsw i32 %4444, 1
  store i32 %4445, ptr @test_count, align 4, !tbaa !5
  %4446 = load ptr, ptr %12, align 8, !tbaa !9
  %4447 = call i32 @s2n_connection_free(ptr noundef %4446)
  %4448 = icmp eq i32 %4447, -1
  br i1 %4448, label %4449, label %4502

4449:                                             ; preds = %4443
  br label %4450

4450:                                             ; preds = %4449
  br label %4451

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

4458:                                             ; preds = %4451
  %4459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4460 = call i32 @fileno(ptr noundef %4459) #9
  %4461 = call i32 @isatty(i32 noundef %4460) #9
  %4462 = icmp ne i32 %4461, 0
  br i1 %4462, label %4463, label %4480

4463:                                             ; preds = %4458
  %4464 = load i32, ptr %91, align 4, !tbaa !5
  %4465 = call ptr @__errno_location() #10
  store i32 %4464, ptr %4465, align 4, !tbaa !5
  %4466 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4467 = load i32, ptr @test_count, align 4, !tbaa !5
  %4468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4469 = load i32, ptr %4468, align 4, !tbaa !5
  %4470 = call ptr @s2n_strerror(i32 noundef %4469, ptr noundef @.str.4)
  %4471 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4472 = load i32, ptr %4471, align 4, !tbaa !5
  %4473 = call ptr @s2n_strerror_debug(i32 noundef %4472, ptr noundef @.str.4)
  %4474 = call ptr @__errno_location() #10
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call ptr @strerror(i32 noundef %4475) #9
  %4477 = call ptr @__errno_location() #10
  %4478 = load i32, ptr %4477, align 4, !tbaa !5
  %4479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4466, ptr noundef @.str.2, i32 noundef %4467, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4470, ptr noundef %4473, ptr noundef %4476, i32 noundef %4478) #9
  br label %4497

4480:                                             ; preds = %4458, %4451
  %4481 = load i32, ptr %91, align 4, !tbaa !5
  %4482 = call ptr @__errno_location() #10
  store i32 %4481, ptr %4482, align 4, !tbaa !5
  %4483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4484 = load i32, ptr @test_count, align 4, !tbaa !5
  %4485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @s2n_strerror(i32 noundef %4486, ptr noundef @.str.4)
  %4488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call ptr @s2n_strerror_debug(i32 noundef %4489, ptr noundef @.str.4)
  %4491 = call ptr @__errno_location() #10
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @strerror(i32 noundef %4492) #9
  %4494 = call ptr @__errno_location() #10
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4483, ptr noundef @.str.5, i32 noundef %4484, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %4487, ptr noundef %4490, ptr noundef %4493, i32 noundef %4495) #9
  br label %4497

4497:                                             ; preds = %4480, %4463
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %4498

4498:                                             ; preds = %4497
  br label %4499

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

4500:                                             ; No predecessors!
  br label %4501

4501:                                             ; preds = %4500
  br label %4502

4502:                                             ; preds = %4501, %4443
  br label %4503

4503:                                             ; preds = %4502
  br label %4504

4504:                                             ; preds = %4503
  br label %4505

4505:                                             ; preds = %4504
  %4506 = load i32, ptr @test_count, align 4, !tbaa !5
  %4507 = add nsw i32 %4506, 1
  store i32 %4507, ptr @test_count, align 4, !tbaa !5
  %4508 = load ptr, ptr %10, align 8, !tbaa !9
  %4509 = call i32 @s2n_config_free(ptr noundef %4508)
  %4510 = icmp eq i32 %4509, -1
  br i1 %4510, label %4511, label %4564

4511:                                             ; preds = %4505
  br label %4512

4512:                                             ; preds = %4511
  br label %4513

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

4520:                                             ; preds = %4513
  %4521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4522 = call i32 @fileno(ptr noundef %4521) #9
  %4523 = call i32 @isatty(i32 noundef %4522) #9
  %4524 = icmp ne i32 %4523, 0
  br i1 %4524, label %4525, label %4542

4525:                                             ; preds = %4520
  %4526 = load i32, ptr %92, align 4, !tbaa !5
  %4527 = call ptr @__errno_location() #10
  store i32 %4526, ptr %4527, align 4, !tbaa !5
  %4528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4529 = load i32, ptr @test_count, align 4, !tbaa !5
  %4530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4531 = load i32, ptr %4530, align 4, !tbaa !5
  %4532 = call ptr @s2n_strerror(i32 noundef %4531, ptr noundef @.str.4)
  %4533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4534 = load i32, ptr %4533, align 4, !tbaa !5
  %4535 = call ptr @s2n_strerror_debug(i32 noundef %4534, ptr noundef @.str.4)
  %4536 = call ptr @__errno_location() #10
  %4537 = load i32, ptr %4536, align 4, !tbaa !5
  %4538 = call ptr @strerror(i32 noundef %4537) #9
  %4539 = call ptr @__errno_location() #10
  %4540 = load i32, ptr %4539, align 4, !tbaa !5
  %4541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4528, ptr noundef @.str.2, i32 noundef %4529, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4532, ptr noundef %4535, ptr noundef %4538, i32 noundef %4540) #9
  br label %4559

4542:                                             ; preds = %4520, %4513
  %4543 = load i32, ptr %92, align 4, !tbaa !5
  %4544 = call ptr @__errno_location() #10
  store i32 %4543, ptr %4544, align 4, !tbaa !5
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = load i32, ptr @test_count, align 4, !tbaa !5
  %4547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call ptr @s2n_strerror(i32 noundef %4548, ptr noundef @.str.4)
  %4550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call ptr @s2n_strerror_debug(i32 noundef %4551, ptr noundef @.str.4)
  %4553 = call ptr @__errno_location() #10
  %4554 = load i32, ptr %4553, align 4, !tbaa !5
  %4555 = call ptr @strerror(i32 noundef %4554) #9
  %4556 = call ptr @__errno_location() #10
  %4557 = load i32, ptr %4556, align 4, !tbaa !5
  %4558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4545, ptr noundef @.str.5, i32 noundef %4546, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 186, ptr noundef %4549, ptr noundef %4552, ptr noundef %4555, i32 noundef %4557) #9
  br label %4559

4559:                                             ; preds = %4542, %4525
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #9
  br label %4560

4560:                                             ; preds = %4559
  br label %4561

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

4562:                                             ; No predecessors!
  br label %4563

4563:                                             ; preds = %4562
  br label %4564

4564:                                             ; preds = %4563, %4505
  br label %4565

4565:                                             ; preds = %4564
  br label %4566

4566:                                             ; preds = %4565
  br label %4567

4567:                                             ; preds = %4566
  br label %4568

4568:                                             ; preds = %4567
  %4569 = call i32 @s2n_cleanup()
  %4570 = icmp eq i32 %4569, -1
  br i1 %4570, label %4571, label %4624

4571:                                             ; preds = %4568
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  call void @llvm.lifetime.start.p0(i64 4, ptr %93) #9
  %4574 = call ptr @__errno_location() #10
  %4575 = load i32, ptr %4574, align 4, !tbaa !5
  store i32 %4575, ptr %93, align 4, !tbaa !5
  %4576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4577 = call i32 @s2n_print_stacktrace(ptr noundef %4576)
  %4578 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4579 = trunc i8 %4578 to i1
  br i1 %4579, label %4580, label %4602

4580:                                             ; preds = %4573
  %4581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4582 = call i32 @fileno(ptr noundef %4581) #9
  %4583 = call i32 @isatty(i32 noundef %4582) #9
  %4584 = icmp ne i32 %4583, 0
  br i1 %4584, label %4585, label %4602

4585:                                             ; preds = %4580
  %4586 = load i32, ptr %93, align 4, !tbaa !5
  %4587 = call ptr @__errno_location() #10
  store i32 %4586, ptr %4587, align 4, !tbaa !5
  %4588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4589 = load i32, ptr @test_count, align 4, !tbaa !5
  %4590 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4591 = load i32, ptr %4590, align 4, !tbaa !5
  %4592 = call ptr @s2n_strerror(i32 noundef %4591, ptr noundef @.str.4)
  %4593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4594 = load i32, ptr %4593, align 4, !tbaa !5
  %4595 = call ptr @s2n_strerror_debug(i32 noundef %4594, ptr noundef @.str.4)
  %4596 = call ptr @__errno_location() #10
  %4597 = load i32, ptr %4596, align 4, !tbaa !5
  %4598 = call ptr @strerror(i32 noundef %4597) #9
  %4599 = call ptr @__errno_location() #10
  %4600 = load i32, ptr %4599, align 4, !tbaa !5
  %4601 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4588, ptr noundef @.str.2, i32 noundef %4589, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 188, ptr noundef %4592, ptr noundef %4595, ptr noundef %4598, i32 noundef %4600) #9
  br label %4619

4602:                                             ; preds = %4580, %4573
  %4603 = load i32, ptr %93, align 4, !tbaa !5
  %4604 = call ptr @__errno_location() #10
  store i32 %4603, ptr %4604, align 4, !tbaa !5
  %4605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4606 = load i32, ptr @test_count, align 4, !tbaa !5
  %4607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4608 = load i32, ptr %4607, align 4, !tbaa !5
  %4609 = call ptr @s2n_strerror(i32 noundef %4608, ptr noundef @.str.4)
  %4610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4611 = load i32, ptr %4610, align 4, !tbaa !5
  %4612 = call ptr @s2n_strerror_debug(i32 noundef %4611, ptr noundef @.str.4)
  %4613 = call ptr @__errno_location() #10
  %4614 = load i32, ptr %4613, align 4, !tbaa !5
  %4615 = call ptr @strerror(i32 noundef %4614) #9
  %4616 = call ptr @__errno_location() #10
  %4617 = load i32, ptr %4616, align 4, !tbaa !5
  %4618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4605, ptr noundef @.str.5, i32 noundef %4606, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 188, ptr noundef %4609, ptr noundef %4612, ptr noundef %4615, i32 noundef %4617) #9
  br label %4619

4619:                                             ; preds = %4602, %4585
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #9
  br label %4620

4620:                                             ; preds = %4619
  br label %4621

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

4622:                                             ; No predecessors!
  br label %4623

4623:                                             ; preds = %4622
  br label %4624

4624:                                             ; preds = %4623, %4568
  br label %4625

4625:                                             ; preds = %4624
  br label %4626

4626:                                             ; preds = %4625
  br label %4627

4627:                                             ; preds = %4626
  br label %4628

4628:                                             ; preds = %4627
  %4629 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %4630 = icmp eq i32 %4629, -1
  br i1 %4630, label %4631, label %4684

4631:                                             ; preds = %4628
  br label %4632

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %4634 = call ptr @__errno_location() #10
  %4635 = load i32, ptr %4634, align 4, !tbaa !5
  store i32 %4635, ptr %94, align 4, !tbaa !5
  %4636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4637 = call i32 @s2n_print_stacktrace(ptr noundef %4636)
  %4638 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4639 = trunc i8 %4638 to i1
  br i1 %4639, label %4640, label %4662

4640:                                             ; preds = %4633
  %4641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4642 = call i32 @fileno(ptr noundef %4641) #9
  %4643 = call i32 @isatty(i32 noundef %4642) #9
  %4644 = icmp ne i32 %4643, 0
  br i1 %4644, label %4645, label %4662

4645:                                             ; preds = %4640
  %4646 = load i32, ptr %94, align 4, !tbaa !5
  %4647 = call ptr @__errno_location() #10
  store i32 %4646, ptr %4647, align 4, !tbaa !5
  %4648 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4649 = load i32, ptr @test_count, align 4, !tbaa !5
  %4650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4651 = load i32, ptr %4650, align 4, !tbaa !5
  %4652 = call ptr @s2n_strerror(i32 noundef %4651, ptr noundef @.str.4)
  %4653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4654 = load i32, ptr %4653, align 4, !tbaa !5
  %4655 = call ptr @s2n_strerror_debug(i32 noundef %4654, ptr noundef @.str.4)
  %4656 = call ptr @__errno_location() #10
  %4657 = load i32, ptr %4656, align 4, !tbaa !5
  %4658 = call ptr @strerror(i32 noundef %4657) #9
  %4659 = call ptr @__errno_location() #10
  %4660 = load i32, ptr %4659, align 4, !tbaa !5
  %4661 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4648, ptr noundef @.str.2, i32 noundef %4649, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 188, ptr noundef %4652, ptr noundef %4655, ptr noundef %4658, i32 noundef %4660) #9
  br label %4679

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

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

4680:                                             ; preds = %4679
  br label %4681

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

4682:                                             ; No predecessors!
  br label %4683

4683:                                             ; preds = %4682
  br label %4684

4684:                                             ; preds = %4683, %4628
  br label %4685

4685:                                             ; preds = %4684
  br label %4686

4686:                                             ; preds = %4685
  %4687 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4688 = trunc i8 %4687 to i1
  br i1 %4688, label %4689, label %4705

4689:                                             ; preds = %4686
  %4690 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4691 = call i32 @fileno(ptr noundef %4690) #9
  %4692 = call i32 @isatty(i32 noundef %4691) #9
  %4693 = icmp ne i32 %4692, 0
  br i1 %4693, label %4694, label %4705

4694:                                             ; preds = %4689
  %4695 = load i32, ptr @test_count, align 4, !tbaa !5
  %4696 = icmp ne i32 %4695, 0
  br i1 %4696, label %4697, label %4701

4697:                                             ; preds = %4694
  %4698 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4699 = load i32, ptr @test_count, align 4, !tbaa !5
  %4700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4698, ptr noundef @.str.40, i32 noundef %4699) #9
  br label %4704

4701:                                             ; preds = %4694
  %4702 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4702, ptr noundef @.str.41) #9
  br label %4704

4704:                                             ; preds = %4701, %4697
  br label %4716

4705:                                             ; preds = %4689, %4686
  %4706 = load i32, ptr @test_count, align 4, !tbaa !5
  %4707 = icmp ne i32 %4706, 0
  br i1 %4707, label %4708, label %4712

4708:                                             ; preds = %4705
  %4709 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4710 = load i32, ptr @test_count, align 4, !tbaa !5
  %4711 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4709, ptr noundef @.str.42, i32 noundef %4710) #9
  br label %4715

4712:                                             ; preds = %4705
  %4713 = load ptr, ptr @stdout, align 8, !tbaa !9
  %4714 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4713, ptr noundef @.str.43) #9
  br label %4715

4715:                                             ; preds = %4712, %4708
  br label %4716

4716:                                             ; preds = %4715, %4704
  store i32 0, ptr %3, align 4
  store i32 1, ptr %95, align 4
  br label %4721

4717:                                             ; No predecessors!
  br label %4718

4718:                                             ; preds = %4717
  br label %4719

4719:                                             ; preds = %4718
  br label %4720

4720:                                             ; preds = %4719
  store i32 0, ptr %95, align 4
  br label %4721

4721:                                             ; preds = %4720, %4716
  call void @llvm.lifetime.end.p0(i64 138, ptr %27) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %12) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %10) #9
  %4722 = load i32, ptr %95, align 4
  switch i32 %4722, label %4725 [
    i32 0, label %4723
    i32 1, label %4723
  ]

4723:                                             ; preds = %4721, %4721
  %4724 = load i32, ptr %3, align 4
  ret i32 %4724

4725:                                             ; preds = %4721
  unreachable
}

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

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare i32 @s2n_disable_tls13_in_test(...) #2

declare ptr @s2n_config_new() #2

declare ptr @s2n_connection_new(i32 noundef) #2

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

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) #2

declare ptr @s2n_test_psk_new(ptr noundef) #2

declare i32 @s2n_psk_free(ptr noundef) #2

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

declare i32 @s2n_connection_free(ptr noundef) #2

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

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

; Function Attrs: nounwind uwtable
declare hidden void @s2n_set_test_ticket(ptr noundef, ptr noundef, i8 noundef zeroext) #0

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

declare i32 @s2n_stuffer_free(ptr noundef) #2

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

declare i32 @s2n_config_free(ptr noundef) #2

declare i32 @s2n_cleanup() #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #8 = { 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 #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 = !{!16, !10, i64 24}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!16, !10, i64 8}
!19 = !{!20, !10, i64 0}
!20 = !{!"s2n_stuffer", !21, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!21 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!22 = !{!23, !6, i64 3780}
!23 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !24, i64 160, !25, i64 168, !25, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !26, i64 240, !10, i64 632, !10, i64 640, !27, i64 648, !32, i64 1144, !35, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !20, i64 1776, !20, i64 1816, !20, i64 1856, !20, i64 1896, !6, i64 1936, !25, i64 1944, !7, i64 1952, !20, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !37, i64 2004, !37, i64 2008, !38, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !25, i64 2224, !7, i64 2232, !25, i64 2240, !25, i64 2248, !25, i64 2256, !37, i64 2264, !37, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !21, i64 2792, !6, i64 2816, !21, i64 2824, !21, i64 2848, !21, i64 2872, !40, i64 2896, !42, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !21, i64 3784, !6, i64 3808, !44, i64 3816, !7, i64 3848, !20, i64 3992, !21, i64 4032, !21, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !21, i64 4096, !6, i64 4120, !45, i64 4128, !37, i64 4176, !7, i64 4180, !7, i64 4181}
!24 = !{!"s2n_timer", !25, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!27 = !{!"s2n_kex_parameters", !28, i64 0, !29, i64 8, !7, i64 24, !29, i64 56, !30, i64 72, !30, i64 184, !7, i64 296, !31, i64 360, !21, i64 448, !21, i64 472}
!28 = !{!"s2n_dh_params", !10, i64 0}
!29 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!30 = !{!"s2n_kem_group_params", !10, i64 0, !31, i64 8, !29, i64 96}
!31 = !{!"s2n_kem_params", !10, i64 0, !21, i64 8, !21, i64 32, !21, i64 56, !12, i64 80}
!32 = !{!"s2n_handshake_parameters", !33, i64 0, !33, i64 48, !21, i64 96, !6, i64 120, !34, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!33 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!34 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!35 = !{!"s2n_psk_parameters", !6, i64 0, !36, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!36 = !{!"s2n_array", !21, i64 0, !6, i64 24, !6, i64 28}
!37 = !{!"", !6, i64 0}
!38 = !{!"s2n_handshake", !20, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !39, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!39 = !{!"s2n_offered_early_data", !10, i64 0}
!40 = !{!"s2n_client_hello", !21, i64 0, !41, i64 24, !21, i64 728, !21, i64 752, !21, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!41 = !{!"", !7, i64 0, !21, i64 672, !17, i64 696}
!42 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !43, i64 48, !12, i64 52}
!43 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!44 = !{!"s2n_ticket_fields", !21, i64 0, !6, i64 24}
!45 = !{!"s2n_post_handshake", !20, i64 0, !7, i64 40}
!46 = !{!16, !10, i64 16}
!47 = !{!23, !10, i64 3992}
!48 = !{!23, !7, i64 220}
!49 = !{!23, !6, i64 4020}
!50 = !{!23, !6, i64 4016}
!51 = !{!20, !6, i64 28}
!52 = !{!20, !6, i64 24}
!53 = !{!7, !7, i64 0}


; Optimized IR (opt -passes='default<O3>'):
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"

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

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [99 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [76 x i8], align 1
@s2n_client_session_ticket_extension = external local_unnamed_addr constant %struct.s2n_extension_type, align 8
@.str.15 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [117 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [55 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [79 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [147 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [135 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [25 x i8], align 1

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

16:                                               ; preds = %2
  %17 = tail call ptr @__errno_location() #11
  %18 = load i32, ptr %17, align 4, !tbaa !5
  %19 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20 = tail call i32 @s2n_print_stacktrace(ptr noundef %19) #10
  %21 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22 = trunc nuw i8 %21 to i1
  br i1 %22, label %23, label %27

23:                                               ; preds = %16
  %24 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25 = tail call i32 @fileno(ptr noundef %24) #10
  %26 = tail call i32 @isatty(i32 noundef %25) #10
  %.not294 = icmp eq i32 %26, 0
  br i1 %.not294, label %27, label %28

27:                                               ; preds = %23, %16
  br label %28

28:                                               ; preds = %23, %27
  %.str.5.sink = phi ptr [ @.str.5, %27 ], [ @.str.2, %23 ]
  store i32 %18, ptr %17, align 4, !tbaa !5
  %29 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30 = load i32, ptr @test_count, align 4, !tbaa !5
  %31 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32 = load i32, ptr %31, align 4, !tbaa !5
  %33 = tail call ptr @s2n_strerror(i32 noundef %32, ptr noundef nonnull @.str.4) #10
  %34 = load i32, ptr %31, align 4, !tbaa !5
  %35 = tail call ptr @s2n_strerror_debug(i32 noundef %34, ptr noundef nonnull @.str.4) #10
  %36 = load i32, ptr %17, align 4, !tbaa !5
  %37 = tail call ptr @strerror(i32 noundef %36) #10
  %38 = load i32, ptr %17, align 4, !tbaa !5
  %39 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29, ptr noundef nonnull %.str.5.sink, i32 noundef %30, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 32, ptr noundef %33, ptr noundef %35, ptr noundef %37, i32 noundef %38) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

40:                                               ; preds = %2
  %41 = load i32, ptr @test_count, align 4, !tbaa !5
  %42 = add nsw i32 %41, 1
  store i32 %42, ptr @test_count, align 4, !tbaa !5
  %43 = tail call i32 @s2n_enable_atexit() #10
  %44 = icmp eq i32 %43, -1
  br i1 %44, label %45, label %69

45:                                               ; preds = %40
  %46 = tail call ptr @__errno_location() #11
  %47 = load i32, ptr %46, align 4, !tbaa !5
  %48 = load ptr, ptr @stderr, align 8, !tbaa !9
  %49 = tail call i32 @s2n_print_stacktrace(ptr noundef %48) #10
  %50 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %51 = trunc nuw i8 %50 to i1
  br i1 %51, label %52, label %56

52:                                               ; preds = %45
  %53 = load ptr, ptr @stderr, align 8, !tbaa !9
  %54 = tail call i32 @fileno(ptr noundef %53) #10
  %55 = tail call i32 @isatty(i32 noundef %54) #10
  %.not293 = icmp eq i32 %55, 0
  br i1 %.not293, label %56, label %57

56:                                               ; preds = %52, %45
  br label %57

57:                                               ; preds = %52, %56
  %.str.5.sink305 = phi ptr [ @.str.5, %56 ], [ @.str.2, %52 ]
  store i32 %47, ptr %46, align 4, !tbaa !5
  %58 = load ptr, ptr @stderr, align 8, !tbaa !9
  %59 = load i32, ptr @test_count, align 4, !tbaa !5
  %60 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %61 = load i32, ptr %60, align 4, !tbaa !5
  %62 = tail call ptr @s2n_strerror(i32 noundef %61, ptr noundef nonnull @.str.4) #10
  %63 = load i32, ptr %60, align 4, !tbaa !5
  %64 = tail call ptr @s2n_strerror_debug(i32 noundef %63, ptr noundef nonnull @.str.4) #10
  %65 = load i32, ptr %46, align 4, !tbaa !5
  %66 = tail call ptr @strerror(i32 noundef %65) #10
  %67 = load i32, ptr %46, align 4, !tbaa !5
  %68 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %58, ptr noundef nonnull %.str.5.sink305, i32 noundef %59, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 32, ptr noundef %62, ptr noundef %64, ptr noundef %66, i32 noundef %67) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

69:                                               ; preds = %40
  %70 = tail call i32 @s2n_init() #10
  %71 = icmp eq i32 %70, -1
  br i1 %71, label %72, label %96

72:                                               ; preds = %69
  %73 = tail call ptr @__errno_location() #11
  %74 = load i32, ptr %73, align 4, !tbaa !5
  %75 = load ptr, ptr @stderr, align 8, !tbaa !9
  %76 = tail call i32 @s2n_print_stacktrace(ptr noundef %75) #10
  %77 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %78 = trunc nuw i8 %77 to i1
  br i1 %78, label %79, label %83

79:                                               ; preds = %72
  %80 = load ptr, ptr @stderr, align 8, !tbaa !9
  %81 = tail call i32 @fileno(ptr noundef %80) #10
  %82 = tail call i32 @isatty(i32 noundef %81) #10
  %.not292 = icmp eq i32 %82, 0
  br i1 %.not292, label %83, label %84

83:                                               ; preds = %79, %72
  br label %84

84:                                               ; preds = %79, %83
  %.str.5.sink316 = phi ptr [ @.str.5, %83 ], [ @.str.2, %79 ]
  store i32 %74, ptr %73, align 4, !tbaa !5
  %85 = load ptr, ptr @stderr, align 8, !tbaa !9
  %86 = load i32, ptr @test_count, align 4, !tbaa !5
  %87 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %88 = load i32, ptr %87, align 4, !tbaa !5
  %89 = tail call ptr @s2n_strerror(i32 noundef %88, ptr noundef nonnull @.str.4) #10
  %90 = load i32, ptr %87, align 4, !tbaa !5
  %91 = tail call ptr @s2n_strerror_debug(i32 noundef %90, ptr noundef nonnull @.str.4) #10
  %92 = load i32, ptr %73, align 4, !tbaa !5
  %93 = tail call ptr @strerror(i32 noundef %92) #10
  %94 = load i32, ptr %73, align 4, !tbaa !5
  %95 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %85, ptr noundef nonnull %.str.5.sink316, i32 noundef %86, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 32, ptr noundef %89, ptr noundef %91, ptr noundef %93, i32 noundef %94) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

96:                                               ; preds = %69
  %97 = load i32, ptr @test_count, align 4, !tbaa !5
  %98 = add nsw i32 %97, 1
  store i32 %98, ptr @test_count, align 4, !tbaa !5
  %99 = tail call i32 (...) @s2n_disable_tls13_in_test() #10
  %100 = icmp eq i32 %99, -1
  br i1 %100, label %101, label %125

101:                                              ; preds = %96
  %102 = tail call ptr @__errno_location() #11
  %103 = load i32, ptr %102, align 4, !tbaa !5
  %104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %105 = tail call i32 @s2n_print_stacktrace(ptr noundef %104) #10
  %106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %107 = trunc nuw i8 %106 to i1
  br i1 %107, label %108, label %112

108:                                              ; preds = %101
  %109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %110 = tail call i32 @fileno(ptr noundef %109) #10
  %111 = tail call i32 @isatty(i32 noundef %110) #10
  %.not291 = icmp eq i32 %111, 0
  br i1 %.not291, label %112, label %113

112:                                              ; preds = %108, %101
  br label %113

113:                                              ; preds = %108, %112
  %.str.5.sink327 = phi ptr [ @.str.5, %112 ], [ @.str.2, %108 ]
  store i32 %103, ptr %102, align 4, !tbaa !5
  %114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %115 = load i32, ptr @test_count, align 4, !tbaa !5
  %116 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %117 = load i32, ptr %116, align 4, !tbaa !5
  %118 = tail call ptr @s2n_strerror(i32 noundef %117, ptr noundef nonnull @.str.4) #10
  %119 = load i32, ptr %116, align 4, !tbaa !5
  %120 = tail call ptr @s2n_strerror_debug(i32 noundef %119, ptr noundef nonnull @.str.4) #10
  %121 = load i32, ptr %102, align 4, !tbaa !5
  %122 = tail call ptr @strerror(i32 noundef %121) #10
  %123 = load i32, ptr %102, align 4, !tbaa !5
  %124 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %114, ptr noundef nonnull %.str.5.sink327, i32 noundef %115, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 33, ptr noundef %118, ptr noundef %120, ptr noundef %122, i32 noundef %123) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

125:                                              ; preds = %96
  %126 = load i32, ptr @test_count, align 4, !tbaa !5
  %127 = add nsw i32 %126, 1
  store i32 %127, ptr @test_count, align 4, !tbaa !5
  %128 = tail call ptr @s2n_config_new() #10
  %129 = icmp eq ptr %128, null
  br i1 %129, label %130, label %154

130:                                              ; preds = %125
  %131 = tail call ptr @__errno_location() #11
  %132 = load i32, ptr %131, align 4, !tbaa !5
  %133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %134 = tail call i32 @s2n_print_stacktrace(ptr noundef %133) #10
  %135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %136 = trunc nuw i8 %135 to i1
  br i1 %136, label %137, label %141

137:                                              ; preds = %130
  %138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %139 = tail call i32 @fileno(ptr noundef %138) #10
  %140 = tail call i32 @isatty(i32 noundef %139) #10
  %.not290 = icmp eq i32 %140, 0
  br i1 %.not290, label %141, label %142

141:                                              ; preds = %137, %130
  br label %142

142:                                              ; preds = %137, %141
  %.str.5.sink338 = phi ptr [ @.str.5, %141 ], [ @.str.2, %137 ]
  store i32 %132, ptr %131, align 4, !tbaa !5
  %143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %144 = load i32, ptr @test_count, align 4, !tbaa !5
  %145 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %146 = load i32, ptr %145, align 4, !tbaa !5
  %147 = tail call ptr @s2n_strerror(i32 noundef %146, ptr noundef nonnull @.str.4) #10
  %148 = load i32, ptr %145, align 4, !tbaa !5
  %149 = tail call ptr @s2n_strerror_debug(i32 noundef %148, ptr noundef nonnull @.str.4) #10
  %150 = load i32, ptr %131, align 4, !tbaa !5
  %151 = tail call ptr @strerror(i32 noundef %150) #10
  %152 = load i32, ptr %131, align 4, !tbaa !5
  %153 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %143, ptr noundef nonnull %.str.5.sink338, i32 noundef %144, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 36, ptr noundef %147, ptr noundef %149, ptr noundef %151, i32 noundef %152) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

154:                                              ; preds = %125
  %155 = load i32, ptr @test_count, align 4, !tbaa !5
  %156 = add nsw i32 %155, 1
  store i32 %156, ptr @test_count, align 4, !tbaa !5
  %157 = tail call ptr @s2n_connection_new(i32 noundef 1) #10
  %158 = icmp eq ptr %157, null
  br i1 %158, label %159, label %183

159:                                              ; preds = %154
  %160 = tail call ptr @__errno_location() #11
  %161 = load i32, ptr %160, align 4, !tbaa !5
  %162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %163 = tail call i32 @s2n_print_stacktrace(ptr noundef %162) #10
  %164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %165 = trunc nuw i8 %164 to i1
  br i1 %165, label %166, label %170

166:                                              ; preds = %159
  %167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %168 = tail call i32 @fileno(ptr noundef %167) #10
  %169 = tail call i32 @isatty(i32 noundef %168) #10
  %.not289 = icmp eq i32 %169, 0
  br i1 %.not289, label %170, label %171

170:                                              ; preds = %166, %159
  br label %171

171:                                              ; preds = %166, %170
  %.str.5.sink349 = phi ptr [ @.str.5, %170 ], [ @.str.2, %166 ]
  store i32 %161, ptr %160, align 4, !tbaa !5
  %172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %173 = load i32, ptr @test_count, align 4, !tbaa !5
  %174 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %175 = load i32, ptr %174, align 4, !tbaa !5
  %176 = tail call ptr @s2n_strerror(i32 noundef %175, ptr noundef nonnull @.str.4) #10
  %177 = load i32, ptr %174, align 4, !tbaa !5
  %178 = tail call ptr @s2n_strerror_debug(i32 noundef %177, ptr noundef nonnull @.str.4) #10
  %179 = load i32, ptr %160, align 4, !tbaa !5
  %180 = tail call ptr @strerror(i32 noundef %179) #10
  %181 = load i32, ptr %160, align 4, !tbaa !5
  %182 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %172, ptr noundef nonnull %.str.5.sink349, i32 noundef %173, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 39, ptr noundef %176, ptr noundef %178, ptr noundef %180, i32 noundef %181) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

183:                                              ; preds = %154
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = add nsw i32 %184, 1
  store i32 %185, ptr @test_count, align 4, !tbaa !5
  %186 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %157, ptr noundef nonnull %128) #10
  %187 = icmp eq i32 %186, -1
  br i1 %187, label %188, label %212

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

195:                                              ; preds = %188
  %196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %197 = tail call i32 @fileno(ptr noundef %196) #10
  %198 = tail call i32 @isatty(i32 noundef %197) #10
  %.not288 = icmp eq i32 %198, 0
  br i1 %.not288, label %199, label %200

199:                                              ; preds = %195, %188
  br label %200

200:                                              ; preds = %195, %199
  %.str.5.sink360 = phi ptr [ @.str.5, %199 ], [ @.str.2, %195 ]
  store i32 %190, ptr %189, align 4, !tbaa !5
  %201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %202 = load i32, ptr @test_count, align 4, !tbaa !5
  %203 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %204 = load i32, ptr %203, align 4, !tbaa !5
  %205 = tail call ptr @s2n_strerror(i32 noundef %204, ptr noundef nonnull @.str.4) #10
  %206 = load i32, ptr %203, align 4, !tbaa !5
  %207 = tail call ptr @s2n_strerror_debug(i32 noundef %206, ptr noundef nonnull @.str.4) #10
  %208 = load i32, ptr %189, align 4, !tbaa !5
  %209 = tail call ptr @strerror(i32 noundef %208) #10
  %210 = load i32, ptr %189, align 4, !tbaa !5
  %211 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %201, ptr noundef nonnull %.str.5.sink360, i32 noundef %202, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 40, ptr noundef %205, ptr noundef %207, ptr noundef %209, i32 noundef %210) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

212:                                              ; preds = %183
  %213 = load i32, ptr @test_count, align 4, !tbaa !5
  %214 = add nsw i32 %213, 1
  store i32 %214, ptr @test_count, align 4, !tbaa !5
  %215 = tail call ptr @s2n_connection_new(i32 noundef 1) #10
  %216 = icmp eq ptr %215, null
  br i1 %216, label %217, label %241

217:                                              ; preds = %212
  %218 = tail call ptr @__errno_location() #11
  %219 = load i32, ptr %218, align 4, !tbaa !5
  %220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %221 = tail call i32 @s2n_print_stacktrace(ptr noundef %220) #10
  %222 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %223 = trunc nuw i8 %222 to i1
  br i1 %223, label %224, label %228

224:                                              ; preds = %217
  %225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %226 = tail call i32 @fileno(ptr noundef %225) #10
  %227 = tail call i32 @isatty(i32 noundef %226) #10
  %.not287 = icmp eq i32 %227, 0
  br i1 %.not287, label %228, label %229

228:                                              ; preds = %224, %217
  br label %229

229:                                              ; preds = %224, %228
  %.str.5.sink371 = phi ptr [ @.str.5, %228 ], [ @.str.2, %224 ]
  store i32 %219, ptr %218, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = load i32, ptr @test_count, align 4, !tbaa !5
  %232 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %233 = load i32, ptr %232, align 4, !tbaa !5
  %234 = tail call ptr @s2n_strerror(i32 noundef %233, ptr noundef nonnull @.str.4) #10
  %235 = load i32, ptr %232, align 4, !tbaa !5
  %236 = tail call ptr @s2n_strerror_debug(i32 noundef %235, ptr noundef nonnull @.str.4) #10
  %237 = load i32, ptr %218, align 4, !tbaa !5
  %238 = tail call ptr @strerror(i32 noundef %237) #10
  %239 = load i32, ptr %218, align 4, !tbaa !5
  %240 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %230, ptr noundef nonnull %.str.5.sink371, i32 noundef %231, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 45, ptr noundef %234, ptr noundef %236, ptr noundef %238, i32 noundef %239) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

241:                                              ; preds = %212
  %242 = load i32, ptr @test_count, align 4, !tbaa !5
  %243 = add nsw i32 %242, 1
  store i32 %243, ptr @test_count, align 4, !tbaa !5
  %244 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %215, ptr noundef nonnull %128) #10
  %245 = icmp eq i32 %244, -1
  br i1 %245, label %246, label %270

246:                                              ; preds = %241
  %247 = tail call ptr @__errno_location() #11
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %250 = tail call i32 @s2n_print_stacktrace(ptr noundef %249) #10
  %251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %252 = trunc nuw i8 %251 to i1
  br i1 %252, label %253, label %257

253:                                              ; preds = %246
  %254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %255 = tail call i32 @fileno(ptr noundef %254) #10
  %256 = tail call i32 @isatty(i32 noundef %255) #10
  %.not286 = icmp eq i32 %256, 0
  br i1 %.not286, label %257, label %258

257:                                              ; preds = %253, %246
  br label %258

258:                                              ; preds = %253, %257
  %.str.5.sink382 = phi ptr [ @.str.5, %257 ], [ @.str.2, %253 ]
  store i32 %248, ptr %247, align 4, !tbaa !5
  %259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %260 = load i32, ptr @test_count, align 4, !tbaa !5
  %261 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %262 = load i32, ptr %261, align 4, !tbaa !5
  %263 = tail call ptr @s2n_strerror(i32 noundef %262, ptr noundef nonnull @.str.4) #10
  %264 = load i32, ptr %261, align 4, !tbaa !5
  %265 = tail call ptr @s2n_strerror_debug(i32 noundef %264, ptr noundef nonnull @.str.4) #10
  %266 = load i32, ptr %247, align 4, !tbaa !5
  %267 = tail call ptr @strerror(i32 noundef %266) #10
  %268 = load i32, ptr %247, align 4, !tbaa !5
  %269 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %259, ptr noundef nonnull %.str.5.sink382, i32 noundef %260, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 46, ptr noundef %263, ptr noundef %265, ptr noundef %267, i32 noundef %268) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

270:                                              ; preds = %241
  %271 = load i32, ptr @test_count, align 4, !tbaa !5
  %272 = add nsw i32 %271, 1
  store i32 %272, ptr @test_count, align 4, !tbaa !5
  %273 = tail call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %128, i8 noundef zeroext 0) #10
  %274 = icmp eq i32 %273, -1
  br i1 %274, label %275, label %299

275:                                              ; preds = %270
  %276 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %285 = tail call i32 @isatty(i32 noundef %284) #10
  %.not285 = icmp eq i32 %285, 0
  br i1 %.not285, label %286, label %287

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

287:                                              ; preds = %282, %286
  %.str.5.sink393 = phi ptr [ @.str.5, %286 ], [ @.str.2, %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.4) #10
  %293 = load i32, ptr %290, align 4, !tbaa !5
  %294 = tail call ptr @s2n_strerror_debug(i32 noundef %293, ptr noundef nonnull @.str.4) #10
  %295 = load i32, ptr %276, align 4, !tbaa !5
  %296 = tail call ptr @strerror(i32 noundef %295) #10
  %297 = load i32, ptr %276, align 4, !tbaa !5
  %298 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %288, ptr noundef nonnull %.str.5.sink393, i32 noundef %289, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %292, ptr noundef %294, ptr noundef %296, i32 noundef %297) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

299:                                              ; preds = %270
  %300 = load i32, ptr @test_count, align 4, !tbaa !5
  %301 = add nsw i32 %300, 1
  store i32 %301, ptr @test_count, align 4, !tbaa !5
  %302 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_session_ticket_extension, i64 24), align 8, !tbaa !15
  %303 = tail call zeroext i1 %302(ptr noundef nonnull %215) #10
  br i1 %303, label %304, label %328

304:                                              ; preds = %299
  %305 = tail call ptr @__errno_location() #11
  %306 = load i32, ptr %305, align 4, !tbaa !5
  %307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %308 = tail call i32 @s2n_print_stacktrace(ptr noundef %307) #10
  %309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %310 = trunc nuw i8 %309 to i1
  br i1 %310, label %311, label %315

311:                                              ; preds = %304
  %312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %313 = tail call i32 @fileno(ptr noundef %312) #10
  %314 = tail call i32 @isatty(i32 noundef %313) #10
  %.not284 = icmp eq i32 %314, 0
  br i1 %.not284, label %315, label %316

315:                                              ; preds = %311, %304
  br label %316

316:                                              ; preds = %311, %315
  %.str.5.sink404 = phi ptr [ @.str.5, %315 ], [ @.str.2, %311 ]
  store i32 %306, ptr %305, align 4, !tbaa !5
  %317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %318 = load i32, ptr @test_count, align 4, !tbaa !5
  %319 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %320 = load i32, ptr %319, align 4, !tbaa !5
  %321 = tail call ptr @s2n_strerror(i32 noundef %320, ptr noundef nonnull @.str.4) #10
  %322 = load i32, ptr %319, align 4, !tbaa !5
  %323 = tail call ptr @s2n_strerror_debug(i32 noundef %322, ptr noundef nonnull @.str.4) #10
  %324 = load i32, ptr %305, align 4, !tbaa !5
  %325 = tail call ptr @strerror(i32 noundef %324) #10
  %326 = load i32, ptr %305, align 4, !tbaa !5
  %327 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %317, ptr noundef nonnull %.str.5.sink404, i32 noundef %318, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %321, ptr noundef %323, ptr noundef %325, i32 noundef %326) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

328:                                              ; preds = %299
  %329 = load i32, ptr @test_count, align 4, !tbaa !5
  %330 = add nsw i32 %329, 1
  store i32 %330, ptr @test_count, align 4, !tbaa !5
  %331 = tail call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %128, i8 noundef zeroext 1) #10
  %332 = icmp eq i32 %331, -1
  br i1 %332, label %333, label %357

333:                                              ; preds = %328
  %334 = tail call ptr @__errno_location() #11
  %335 = load i32, ptr %334, align 4, !tbaa !5
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = tail call i32 @s2n_print_stacktrace(ptr noundef %336) #10
  %338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %339 = trunc nuw i8 %338 to i1
  br i1 %339, label %340, label %344

340:                                              ; preds = %333
  %341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %342 = tail call i32 @fileno(ptr noundef %341) #10
  %343 = tail call i32 @isatty(i32 noundef %342) #10
  %.not283 = icmp eq i32 %343, 0
  br i1 %.not283, label %344, label %345

344:                                              ; preds = %340, %333
  br label %345

345:                                              ; preds = %340, %344
  %.str.5.sink415 = phi ptr [ @.str.5, %344 ], [ @.str.2, %340 ]
  store i32 %335, ptr %334, align 4, !tbaa !5
  %346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %347 = load i32, ptr @test_count, align 4, !tbaa !5
  %348 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %349 = load i32, ptr %348, align 4, !tbaa !5
  %350 = tail call ptr @s2n_strerror(i32 noundef %349, ptr noundef nonnull @.str.4) #10
  %351 = load i32, ptr %348, align 4, !tbaa !5
  %352 = tail call ptr @s2n_strerror_debug(i32 noundef %351, ptr noundef nonnull @.str.4) #10
  %353 = load i32, ptr %334, align 4, !tbaa !5
  %354 = tail call ptr @strerror(i32 noundef %353) #10
  %355 = load i32, ptr %334, align 4, !tbaa !5
  %356 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %346, ptr noundef nonnull %.str.5.sink415, i32 noundef %347, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %350, ptr noundef %352, ptr noundef %354, i32 noundef %355) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

357:                                              ; preds = %328
  %358 = load i32, ptr @test_count, align 4, !tbaa !5
  %359 = add nsw i32 %358, 1
  store i32 %359, ptr @test_count, align 4, !tbaa !5
  %360 = tail call zeroext i1 %302(ptr noundef nonnull %215) #10
  br i1 %360, label %385, label %361

361:                                              ; preds = %357
  %362 = tail call ptr @__errno_location() #11
  %363 = load i32, ptr %362, align 4, !tbaa !5
  %364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %365 = tail call i32 @s2n_print_stacktrace(ptr noundef %364) #10
  %366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %367 = trunc nuw i8 %366 to i1
  br i1 %367, label %368, label %372

368:                                              ; preds = %361
  %369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %370 = tail call i32 @fileno(ptr noundef %369) #10
  %371 = tail call i32 @isatty(i32 noundef %370) #10
  %.not = icmp eq i32 %371, 0
  br i1 %.not, label %372, label %373

372:                                              ; preds = %368, %361
  br label %373

373:                                              ; preds = %368, %372
  %.str.5.sink426 = phi ptr [ @.str.5, %372 ], [ @.str.2, %368 ]
  store i32 %363, ptr %362, align 4, !tbaa !5
  %374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %375 = load i32, ptr @test_count, align 4, !tbaa !5
  %376 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %377 = load i32, ptr %376, align 4, !tbaa !5
  %378 = tail call ptr @s2n_strerror(i32 noundef %377, ptr noundef nonnull @.str.4) #10
  %379 = load i32, ptr %376, align 4, !tbaa !5
  %380 = tail call ptr @s2n_strerror_debug(i32 noundef %379, ptr noundef nonnull @.str.4) #10
  %381 = load i32, ptr %362, align 4, !tbaa !5
  %382 = tail call ptr @strerror(i32 noundef %381) #10
  %383 = load i32, ptr %362, align 4, !tbaa !5
  %384 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %374, ptr noundef nonnull %.str.5.sink426, i32 noundef %375, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 54, ptr noundef %378, ptr noundef %380, ptr noundef %382, i32 noundef %383) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

385:                                              ; preds = %357
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %3) #10
  %386 = tail call ptr @s2n_test_psk_new(ptr noundef nonnull %215) #10
  store ptr %386, ptr %3, align 8, !tbaa !9
  %387 = load i32, ptr @test_count, align 4, !tbaa !5
  %388 = add nsw i32 %387, 1
  store i32 %388, ptr @test_count, align 4, !tbaa !5
  %389 = tail call i32 @s2n_connection_append_psk(ptr noundef nonnull %215, ptr noundef %386) #10
  %390 = icmp eq i32 %389, -1
  br i1 %390, label %391, label %415

391:                                              ; preds = %385
  %392 = tail call ptr @__errno_location() #11
  %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) #10
  %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) #10
  %401 = tail call i32 @isatty(i32 noundef %400) #10
  %.not282 = icmp eq i32 %401, 0
  br i1 %.not282, label %402, label %403

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

403:                                              ; preds = %398, %402
  %.str.5.sink437 = phi ptr [ @.str.5, %402 ], [ @.str.2, %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.4) #10
  %409 = load i32, ptr %406, align 4, !tbaa !5
  %410 = tail call ptr @s2n_strerror_debug(i32 noundef %409, ptr noundef nonnull @.str.4) #10
  %411 = load i32, ptr %392, align 4, !tbaa !5
  %412 = tail call ptr @strerror(i32 noundef %411) #10
  %413 = load i32, ptr %392, align 4, !tbaa !5
  %414 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %404, ptr noundef nonnull %.str.5.sink437, i32 noundef %405, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 58, ptr noundef %408, ptr noundef %410, ptr noundef %412, i32 noundef %413) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

415:                                              ; preds = %385
  %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 zeroext i1 %302(ptr noundef nonnull %215) #10
  br i1 %418, label %419, label %443

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

426:                                              ; preds = %419
  %427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %428 = tail call i32 @fileno(ptr noundef %427) #10
  %429 = tail call i32 @isatty(i32 noundef %428) #10
  %.not281 = icmp eq i32 %429, 0
  br i1 %.not281, label %430, label %431

430:                                              ; preds = %426, %419
  br label %431

431:                                              ; preds = %426, %430
  %.str.5.sink448 = phi ptr [ @.str.5, %430 ], [ @.str.2, %426 ]
  store i32 %421, ptr %420, align 4, !tbaa !5
  %432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %433 = load i32, ptr @test_count, align 4, !tbaa !5
  %434 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %435 = load i32, ptr %434, align 4, !tbaa !5
  %436 = tail call ptr @s2n_strerror(i32 noundef %435, ptr noundef nonnull @.str.4) #10
  %437 = load i32, ptr %434, align 4, !tbaa !5
  %438 = tail call ptr @s2n_strerror_debug(i32 noundef %437, ptr noundef nonnull @.str.4) #10
  %439 = load i32, ptr %420, align 4, !tbaa !5
  %440 = tail call ptr @strerror(i32 noundef %439) #10
  %441 = load i32, ptr %420, align 4, !tbaa !5
  %442 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %432, ptr noundef nonnull %.str.5.sink448, i32 noundef %433, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %436, ptr noundef %438, ptr noundef %440, i32 noundef %441) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

443:                                              ; preds = %415
  %444 = load i32, ptr @test_count, align 4, !tbaa !5
  %445 = add nsw i32 %444, 1
  store i32 %445, ptr @test_count, align 4, !tbaa !5
  %446 = tail call i32 @s2n_connection_free(ptr noundef nonnull %215) #10
  %447 = icmp eq i32 %446, -1
  br i1 %447, label %448, label %472

448:                                              ; preds = %443
  %449 = tail call ptr @__errno_location() #11
  %450 = load i32, ptr %449, align 4, !tbaa !5
  %451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %452 = tail call i32 @s2n_print_stacktrace(ptr noundef %451) #10
  %453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %454 = trunc nuw i8 %453 to i1
  br i1 %454, label %455, label %459

455:                                              ; preds = %448
  %456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %457 = tail call i32 @fileno(ptr noundef %456) #10
  %458 = tail call i32 @isatty(i32 noundef %457) #10
  %.not280 = icmp eq i32 %458, 0
  br i1 %.not280, label %459, label %460

459:                                              ; preds = %455, %448
  br label %460

460:                                              ; preds = %455, %459
  %.str.5.sink459 = phi ptr [ @.str.5, %459 ], [ @.str.2, %455 ]
  store i32 %450, ptr %449, align 4, !tbaa !5
  %461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %462 = load i32, ptr @test_count, align 4, !tbaa !5
  %463 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %464 = load i32, ptr %463, align 4, !tbaa !5
  %465 = tail call ptr @s2n_strerror(i32 noundef %464, ptr noundef nonnull @.str.4) #10
  %466 = load i32, ptr %463, align 4, !tbaa !5
  %467 = tail call ptr @s2n_strerror_debug(i32 noundef %466, ptr noundef nonnull @.str.4) #10
  %468 = load i32, ptr %449, align 4, !tbaa !5
  %469 = tail call ptr @strerror(i32 noundef %468) #10
  %470 = load i32, ptr %449, align 4, !tbaa !5
  %471 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %461, ptr noundef nonnull %.str.5.sink459, i32 noundef %462, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 61, ptr noundef %465, ptr noundef %467, ptr noundef %469, i32 noundef %470) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

472:                                              ; preds = %443
  %473 = call i32 @s2n_psk_free(ptr noundef nonnull %3) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %3) #10
  %474 = load i32, ptr @test_count, align 4, !tbaa !5
  %475 = add nsw i32 %474, 1
  store i32 %475, ptr @test_count, align 4, !tbaa !5
  %476 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %128, i8 noundef zeroext 1) #10
  %477 = icmp eq i32 %476, -1
  br i1 %477, label %478, label %502

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

485:                                              ; preds = %478
  %486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %487 = call i32 @fileno(ptr noundef %486) #10
  %488 = call i32 @isatty(i32 noundef %487) #10
  %.not279 = icmp eq i32 %488, 0
  br i1 %.not279, label %489, label %490

489:                                              ; preds = %485, %478
  br label %490

490:                                              ; preds = %485, %489
  %.str.5.sink470 = phi ptr [ @.str.5, %489 ], [ @.str.2, %485 ]
  store i32 %480, ptr %479, align 4, !tbaa !5
  %491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %492 = load i32, ptr @test_count, align 4, !tbaa !5
  %493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @s2n_strerror(i32 noundef %494, ptr noundef nonnull @.str.4) #10
  %496 = load i32, ptr %493, align 4, !tbaa !5
  %497 = call ptr @s2n_strerror_debug(i32 noundef %496, ptr noundef nonnull @.str.4) #10
  %498 = load i32, ptr %479, align 4, !tbaa !5
  %499 = call ptr @strerror(i32 noundef %498) #10
  %500 = load i32, ptr %479, align 4, !tbaa !5
  %501 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %491, ptr noundef nonnull %.str.5.sink470, i32 noundef %492, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 64, ptr noundef %495, ptr noundef %497, ptr noundef %499, i32 noundef %500) #12
  call void @exit(i32 noundef 1) #13
  unreachable

502:                                              ; preds = %472
  call void @llvm.lifetime.start.p0(i64 138, ptr nonnull %4) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(138) %4, i8 0, i64 138, i1 false)
  store <4 x i8> <i8 84, i8 73, i8 67, i8 75>, ptr %4, align 16
  %503 = getelementptr inbounds i8, ptr %4, i64 4
  store i8 69, ptr %503, align 4
  %504 = getelementptr inbounds i8, ptr %4, i64 5
  store i8 84, ptr %504, align 1
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %5) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %5, i8 0, i64 40, i1 false)
  %505 = load i32, ptr @test_count, align 4, !tbaa !5
  %506 = add nsw i32 %505, 1
  store i32 %506, ptr @test_count, align 4, !tbaa !5
  %507 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %5, i32 noundef 0) #10
  %508 = icmp eq i32 %507, -1
  br i1 %508, label %509, label %533

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

516:                                              ; preds = %509
  %517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %518 = call i32 @fileno(ptr noundef %517) #10
  %519 = call i32 @isatty(i32 noundef %518) #10
  %.not278 = icmp eq i32 %519, 0
  br i1 %.not278, label %520, label %521

520:                                              ; preds = %516, %509
  br label %521

521:                                              ; preds = %516, %520
  %.str.5.sink481 = phi ptr [ @.str.5, %520 ], [ @.str.2, %516 ]
  store i32 %511, ptr %510, 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 nonnull @.str.4) #10
  %527 = load i32, ptr %524, align 4, !tbaa !5
  %528 = call ptr @s2n_strerror_debug(i32 noundef %527, ptr noundef nonnull @.str.4) #10
  %529 = load i32, ptr %510, align 4, !tbaa !5
  %530 = call ptr @strerror(i32 noundef %529) #10
  %531 = load i32, ptr %510, align 4, !tbaa !5
  %532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %522, ptr noundef nonnull %.str.5.sink481, i32 noundef %523, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 71, ptr noundef %526, ptr noundef %528, ptr noundef %530, i32 noundef %531) #12
  call void @exit(i32 noundef 1) #13
  unreachable

533:                                              ; preds = %502
  call void @s2n_set_test_ticket(ptr noundef nonnull %157, ptr noundef nonnull %4, i8 noundef zeroext -118)
  %534 = load i32, ptr @test_count, align 4, !tbaa !5
  %535 = add nsw i32 %534, 1
  store i32 %535, ptr @test_count, align 4, !tbaa !5
  %536 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_session_ticket_extension, i64 8), align 8, !tbaa !18
  %537 = call i32 %536(ptr noundef nonnull %157, ptr noundef nonnull %5) #10
  %538 = icmp eq i32 %537, -1
  br i1 %538, label %539, label %563

539:                                              ; preds = %533
  %540 = tail call ptr @__errno_location() #11
  %541 = load i32, ptr %540, align 4, !tbaa !5
  %542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %543 = call i32 @s2n_print_stacktrace(ptr noundef %542) #10
  %544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %545 = trunc nuw i8 %544 to i1
  br i1 %545, label %546, label %550

546:                                              ; preds = %539
  %547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %548 = call i32 @fileno(ptr noundef %547) #10
  %549 = call i32 @isatty(i32 noundef %548) #10
  %.not277 = icmp eq i32 %549, 0
  br i1 %.not277, label %550, label %551

550:                                              ; preds = %546, %539
  br label %551

551:                                              ; preds = %546, %550
  %.str.5.sink492 = phi ptr [ @.str.5, %550 ], [ @.str.2, %546 ]
  store i32 %541, ptr %540, align 4, !tbaa !5
  %552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %553 = load i32, ptr @test_count, align 4, !tbaa !5
  %554 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %555 = load i32, ptr %554, align 4, !tbaa !5
  %556 = call ptr @s2n_strerror(i32 noundef %555, ptr noundef nonnull @.str.4) #10
  %557 = load i32, ptr %554, align 4, !tbaa !5
  %558 = call ptr @s2n_strerror_debug(i32 noundef %557, ptr noundef nonnull @.str.4) #10
  %559 = load i32, ptr %540, align 4, !tbaa !5
  %560 = call ptr @strerror(i32 noundef %559) #10
  %561 = load i32, ptr %540, align 4, !tbaa !5
  %562 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %552, ptr noundef nonnull %.str.5.sink492, i32 noundef %553, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 75, ptr noundef %556, ptr noundef %558, ptr noundef %560, i32 noundef %561) #12
  call void @exit(i32 noundef 1) #13
  unreachable

563:                                              ; preds = %533
  %564 = load i32, ptr @test_count, align 4, !tbaa !5
  %565 = add nsw i32 %564, 1
  store i32 %565, ptr @test_count, align 4, !tbaa !5
  %566 = load ptr, ptr %5, align 8, !tbaa !19
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(138) %566, ptr noundef nonnull dereferenceable(138) %4, i64 138)
  %567 = icmp eq i32 %bcmp, 0
  br i1 %567, label %592, label %568

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

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

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

580:                                              ; preds = %575, %579
  %.str.5.sink503 = phi ptr [ @.str.5, %579 ], [ @.str.2, %575 ]
  store i32 %570, ptr %569, align 4, !tbaa !5
  %581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %582 = load i32, ptr @test_count, align 4, !tbaa !5
  %583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %584 = load i32, ptr %583, align 4, !tbaa !5
  %585 = call ptr @s2n_strerror(i32 noundef %584, ptr noundef nonnull @.str.4) #10
  %586 = load i32, ptr %583, align 4, !tbaa !5
  %587 = call ptr @s2n_strerror_debug(i32 noundef %586, ptr noundef nonnull @.str.4) #10
  %588 = load i32, ptr %569, align 4, !tbaa !5
  %589 = call ptr @strerror(i32 noundef %588) #10
  %590 = load i32, ptr %569, align 4, !tbaa !5
  %591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %581, ptr noundef nonnull %.str.5.sink503, i32 noundef %582, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 77, ptr noundef %585, ptr noundef %587, ptr noundef %589, i32 noundef %590) #12
  call void @exit(i32 noundef 1) #13
  unreachable

592:                                              ; preds = %563
  %593 = add nsw i32 %564, 2
  store i32 %593, ptr @test_count, align 4, !tbaa !5
  %594 = call i32 @s2n_stuffer_free(ptr noundef nonnull %5) #10
  %595 = icmp eq i32 %594, -1
  br i1 %595, label %596, label %620

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

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

607:                                              ; preds = %603, %596
  br label %608

608:                                              ; preds = %603, %607
  %.str.5.sink514 = phi ptr [ @.str.5, %607 ], [ @.str.2, %603 ]
  store i32 %598, ptr %597, align 4, !tbaa !5
  %609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %610 = load i32, ptr @test_count, align 4, !tbaa !5
  %611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %612 = load i32, ptr %611, align 4, !tbaa !5
  %613 = call ptr @s2n_strerror(i32 noundef %612, ptr noundef nonnull @.str.4) #10
  %614 = load i32, ptr %611, align 4, !tbaa !5
  %615 = call ptr @s2n_strerror_debug(i32 noundef %614, ptr noundef nonnull @.str.4) #10
  %616 = load i32, ptr %597, align 4, !tbaa !5
  %617 = call ptr @strerror(i32 noundef %616) #10
  %618 = load i32, ptr %597, align 4, !tbaa !5
  %619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %609, ptr noundef nonnull %.str.5.sink514, i32 noundef %610, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 79, ptr noundef %613, ptr noundef %615, ptr noundef %617, i32 noundef %618) #12
  call void @exit(i32 noundef 1) #13
  unreachable

620:                                              ; preds = %592
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %5) #10
  %621 = load i32, ptr @test_count, align 4, !tbaa !5
  %622 = add nsw i32 %621, 1
  store i32 %622, ptr @test_count, align 4, !tbaa !5
  %623 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %624 = icmp eq ptr %623, null
  br i1 %624, label %625, label %649

625:                                              ; preds = %620
  %626 = tail call ptr @__errno_location() #11
  %627 = load i32, ptr %626, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = call i32 @s2n_print_stacktrace(ptr noundef %628) #10
  %630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %631 = trunc nuw i8 %630 to i1
  br i1 %631, label %632, label %636

632:                                              ; preds = %625
  %633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %634 = call i32 @fileno(ptr noundef %633) #10
  %635 = call i32 @isatty(i32 noundef %634) #10
  %.not275 = icmp eq i32 %635, 0
  br i1 %.not275, label %636, label %637

636:                                              ; preds = %632, %625
  br label %637

637:                                              ; preds = %632, %636
  %.str.5.sink525 = phi ptr [ @.str.5, %636 ], [ @.str.2, %632 ]
  store i32 %627, ptr %626, align 4, !tbaa !5
  %638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %639 = load i32, ptr @test_count, align 4, !tbaa !5
  %640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %641 = load i32, ptr %640, align 4, !tbaa !5
  %642 = call ptr @s2n_strerror(i32 noundef %641, ptr noundef nonnull @.str.4) #10
  %643 = load i32, ptr %640, align 4, !tbaa !5
  %644 = call ptr @s2n_strerror_debug(i32 noundef %643, ptr noundef nonnull @.str.4) #10
  %645 = load i32, ptr %626, align 4, !tbaa !5
  %646 = call ptr @strerror(i32 noundef %645) #10
  %647 = load i32, ptr %626, align 4, !tbaa !5
  %648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %638, ptr noundef nonnull %.str.5.sink525, i32 noundef %639, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 85, ptr noundef %642, ptr noundef %644, ptr noundef %646, i32 noundef %647) #12
  call void @exit(i32 noundef 1) #13
  unreachable

649:                                              ; preds = %620
  %650 = load i32, ptr @test_count, align 4, !tbaa !5
  %651 = add nsw i32 %650, 1
  store i32 %651, ptr @test_count, align 4, !tbaa !5
  %652 = call i32 @s2n_connection_set_config(ptr noundef nonnull %623, ptr noundef nonnull %128) #10
  %653 = icmp eq i32 %652, -1
  br i1 %653, label %654, label %678

654:                                              ; preds = %649
  %655 = tail call ptr @__errno_location() #11
  %656 = load i32, ptr %655, align 4, !tbaa !5
  %657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %658 = call i32 @s2n_print_stacktrace(ptr noundef %657) #10
  %659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %660 = trunc nuw i8 %659 to i1
  br i1 %660, label %661, label %665

661:                                              ; preds = %654
  %662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %663 = call i32 @fileno(ptr noundef %662) #10
  %664 = call i32 @isatty(i32 noundef %663) #10
  %.not274 = icmp eq i32 %664, 0
  br i1 %.not274, label %665, label %666

665:                                              ; preds = %661, %654
  br label %666

666:                                              ; preds = %661, %665
  %.str.5.sink536 = phi ptr [ @.str.5, %665 ], [ @.str.2, %661 ]
  store i32 %656, ptr %655, align 4, !tbaa !5
  %667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %668 = load i32, ptr @test_count, align 4, !tbaa !5
  %669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %670 = load i32, ptr %669, align 4, !tbaa !5
  %671 = call ptr @s2n_strerror(i32 noundef %670, ptr noundef nonnull @.str.4) #10
  %672 = load i32, ptr %669, align 4, !tbaa !5
  %673 = call ptr @s2n_strerror_debug(i32 noundef %672, ptr noundef nonnull @.str.4) #10
  %674 = load i32, ptr %655, align 4, !tbaa !5
  %675 = call ptr @strerror(i32 noundef %674) #10
  %676 = load i32, ptr %655, align 4, !tbaa !5
  %677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %667, ptr noundef nonnull %.str.5.sink536, i32 noundef %668, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 86, ptr noundef %671, ptr noundef %673, ptr noundef %675, i32 noundef %676) #12
  call void @exit(i32 noundef 1) #13
  unreachable

678:                                              ; preds = %649
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %6) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %6, i8 0, i64 40, i1 false)
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = add nsw i32 %679, 1
  store i32 %680, ptr @test_count, align 4, !tbaa !5
  %681 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %6, i32 noundef 0) #10
  %682 = icmp eq i32 %681, -1
  br i1 %682, label %683, label %707

683:                                              ; preds = %678
  %684 = tail call ptr @__errno_location() #11
  %685 = load i32, ptr %684, align 4, !tbaa !5
  %686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %687 = call i32 @s2n_print_stacktrace(ptr noundef %686) #10
  %688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %689 = trunc nuw i8 %688 to i1
  br i1 %689, label %690, label %694

690:                                              ; preds = %683
  %691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %692 = call i32 @fileno(ptr noundef %691) #10
  %693 = call i32 @isatty(i32 noundef %692) #10
  %.not273 = icmp eq i32 %693, 0
  br i1 %.not273, label %694, label %695

694:                                              ; preds = %690, %683
  br label %695

695:                                              ; preds = %690, %694
  %.str.5.sink547 = phi ptr [ @.str.5, %694 ], [ @.str.2, %690 ]
  store i32 %685, ptr %684, align 4, !tbaa !5
  %696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %697 = load i32, ptr @test_count, align 4, !tbaa !5
  %698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %699 = load i32, ptr %698, align 4, !tbaa !5
  %700 = call ptr @s2n_strerror(i32 noundef %699, ptr noundef nonnull @.str.4) #10
  %701 = load i32, ptr %698, align 4, !tbaa !5
  %702 = call ptr @s2n_strerror_debug(i32 noundef %701, ptr noundef nonnull @.str.4) #10
  %703 = load i32, ptr %684, align 4, !tbaa !5
  %704 = call ptr @strerror(i32 noundef %703) #10
  %705 = load i32, ptr %684, align 4, !tbaa !5
  %706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %696, ptr noundef nonnull %.str.5.sink547, i32 noundef %697, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 89, ptr noundef %700, ptr noundef %702, ptr noundef %704, i32 noundef %705) #12
  call void @exit(i32 noundef 1) #13
  unreachable

707:                                              ; preds = %678
  call void @s2n_set_test_ticket(ptr noundef nonnull %157, ptr noundef nonnull %4, i8 noundef zeroext -118)
  %708 = load i32, ptr @test_count, align 4, !tbaa !5
  %709 = add nsw i32 %708, 1
  store i32 %709, ptr @test_count, align 4, !tbaa !5
  %710 = call i32 %536(ptr noundef nonnull %157, ptr noundef nonnull %6) #10
  %711 = icmp eq i32 %710, -1
  br i1 %711, label %712, label %736

712:                                              ; preds = %707
  %713 = tail call ptr @__errno_location() #11
  %714 = load i32, ptr %713, align 4, !tbaa !5
  %715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %716 = call i32 @s2n_print_stacktrace(ptr noundef %715) #10
  %717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %718 = trunc nuw i8 %717 to i1
  br i1 %718, label %719, label %723

719:                                              ; preds = %712
  %720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %721 = call i32 @fileno(ptr noundef %720) #10
  %722 = call i32 @isatty(i32 noundef %721) #10
  %.not272 = icmp eq i32 %722, 0
  br i1 %.not272, label %723, label %724

723:                                              ; preds = %719, %712
  br label %724

724:                                              ; preds = %719, %723
  %.str.5.sink558 = phi ptr [ @.str.5, %723 ], [ @.str.2, %719 ]
  store i32 %714, ptr %713, align 4, !tbaa !5
  %725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %726 = load i32, ptr @test_count, align 4, !tbaa !5
  %727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %728 = load i32, ptr %727, align 4, !tbaa !5
  %729 = call ptr @s2n_strerror(i32 noundef %728, ptr noundef nonnull @.str.4) #10
  %730 = load i32, ptr %727, align 4, !tbaa !5
  %731 = call ptr @s2n_strerror_debug(i32 noundef %730, ptr noundef nonnull @.str.4) #10
  %732 = load i32, ptr %713, align 4, !tbaa !5
  %733 = call ptr @strerror(i32 noundef %732) #10
  %734 = load i32, ptr %713, align 4, !tbaa !5
  %735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %725, ptr noundef nonnull %.str.5.sink558, i32 noundef %726, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %729, ptr noundef %731, ptr noundef %733, i32 noundef %734) #12
  call void @exit(i32 noundef 1) #13
  unreachable

736:                                              ; preds = %707
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = add nsw i32 %737, 1
  store i32 %738, ptr @test_count, align 4, !tbaa !5
  %739 = getelementptr inbounds i8, ptr %623, i64 3780
  %740 = load i32, ptr %739, align 4, !tbaa !22
  %741 = icmp eq i32 %740, 0
  br i1 %741, label %766, label %742

742:                                              ; preds = %736
  %743 = tail call ptr @__errno_location() #11
  %744 = load i32, ptr %743, align 4, !tbaa !5
  %745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %746 = call i32 @s2n_print_stacktrace(ptr noundef %745) #10
  %747 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %748 = trunc nuw i8 %747 to i1
  br i1 %748, label %749, label %753

749:                                              ; preds = %742
  %750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %751 = call i32 @fileno(ptr noundef %750) #10
  %752 = call i32 @isatty(i32 noundef %751) #10
  %.not220 = icmp eq i32 %752, 0
  br i1 %.not220, label %753, label %754

753:                                              ; preds = %749, %742
  br label %754

754:                                              ; preds = %749, %753
  %.str.5.sink569 = phi ptr [ @.str.5, %753 ], [ @.str.2, %749 ]
  store i32 %744, ptr %743, align 4, !tbaa !5
  %755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %756 = load i32, ptr @test_count, align 4, !tbaa !5
  %757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %758 = load i32, ptr %757, align 4, !tbaa !5
  %759 = call ptr @s2n_strerror(i32 noundef %758, ptr noundef nonnull @.str.4) #10
  %760 = load i32, ptr %757, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror_debug(i32 noundef %760, ptr noundef nonnull @.str.4) #10
  %762 = load i32, ptr %743, align 4, !tbaa !5
  %763 = call ptr @strerror(i32 noundef %762) #10
  %764 = load i32, ptr %743, align 4, !tbaa !5
  %765 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %755, ptr noundef nonnull %.str.5.sink569, i32 noundef %756, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 94, ptr noundef %759, ptr noundef %761, ptr noundef %763, i32 noundef %764) #12
  call void @exit(i32 noundef 1) #13
  unreachable

766:                                              ; preds = %736
  %767 = add nsw i32 %737, 2
  store i32 %767, ptr @test_count, align 4, !tbaa !5
  %768 = load ptr, ptr getelementptr inbounds (i8, ptr @s2n_client_session_ticket_extension, i64 16), align 8, !tbaa !46
  %769 = call i32 %768(ptr noundef nonnull %623, ptr noundef nonnull %6) #10
  %770 = icmp eq i32 %769, -1
  br i1 %770, label %771, label %795

771:                                              ; preds = %766
  %772 = tail call ptr @__errno_location() #11
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %775 = call i32 @s2n_print_stacktrace(ptr noundef %774) #10
  %776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %777 = trunc nuw i8 %776 to i1
  br i1 %777, label %778, label %782

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

782:                                              ; preds = %778, %771
  br label %783

783:                                              ; preds = %778, %782
  %.str.5.sink580 = phi ptr [ @.str.5, %782 ], [ @.str.2, %778 ]
  store i32 %773, ptr %772, align 4, !tbaa !5
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = load i32, ptr @test_count, align 4, !tbaa !5
  %786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %787 = load i32, ptr %786, align 4, !tbaa !5
  %788 = call ptr @s2n_strerror(i32 noundef %787, ptr noundef nonnull @.str.4) #10
  %789 = load i32, ptr %786, align 4, !tbaa !5
  %790 = call ptr @s2n_strerror_debug(i32 noundef %789, ptr noundef nonnull @.str.4) #10
  %791 = load i32, ptr %772, align 4, !tbaa !5
  %792 = call ptr @strerror(i32 noundef %791) #10
  %793 = load i32, ptr %772, align 4, !tbaa !5
  %794 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %784, ptr noundef nonnull %.str.5.sink580, i32 noundef %785, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %788, ptr noundef %790, ptr noundef %792, i32 noundef %793) #12
  call void @exit(i32 noundef 1) #13
  unreachable

795:                                              ; preds = %766
  %796 = load i32, ptr @test_count, align 4, !tbaa !5
  %797 = add nsw i32 %796, 1
  store i32 %797, ptr @test_count, align 4, !tbaa !5
  %798 = load i32, ptr %739, align 4, !tbaa !22
  %799 = icmp eq i32 %798, 1
  br i1 %799, label %824, label %800

800:                                              ; preds = %795
  %801 = tail call ptr @__errno_location() #11
  %802 = load i32, ptr %801, align 4, !tbaa !5
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @s2n_print_stacktrace(ptr noundef %803) #10
  %805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %806 = trunc nuw i8 %805 to i1
  br i1 %806, label %807, label %811

807:                                              ; preds = %800
  %808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %809 = call i32 @fileno(ptr noundef %808) #10
  %810 = call i32 @isatty(i32 noundef %809) #10
  %.not221 = icmp eq i32 %810, 0
  br i1 %.not221, label %811, label %812

811:                                              ; preds = %807, %800
  br label %812

812:                                              ; preds = %807, %811
  %.str.5.sink591 = phi ptr [ @.str.5, %811 ], [ @.str.2, %807 ]
  store i32 %802, ptr %801, align 4, !tbaa !5
  %813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %814 = load i32, ptr @test_count, align 4, !tbaa !5
  %815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror(i32 noundef %816, ptr noundef nonnull @.str.4) #10
  %818 = load i32, ptr %815, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef nonnull @.str.4) #10
  %820 = load i32, ptr %801, align 4, !tbaa !5
  %821 = call ptr @strerror(i32 noundef %820) #10
  %822 = load i32, ptr %801, align 4, !tbaa !5
  %823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %813, ptr noundef nonnull %.str.5.sink591, i32 noundef %814, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 96, ptr noundef %817, ptr noundef %819, ptr noundef %821, i32 noundef %822) #12
  call void @exit(i32 noundef 1) #13
  unreachable

824:                                              ; preds = %795
  %825 = add nsw i32 %796, 2
  store i32 %825, ptr @test_count, align 4, !tbaa !5
  %826 = getelementptr inbounds i8, ptr %623, i64 3992
  %827 = load ptr, ptr %826, align 8, !tbaa !47
  %bcmp222 = call i32 @bcmp(ptr noundef nonnull dereferenceable(138) %827, ptr noundef nonnull dereferenceable(138) %4, i64 138)
  %828 = icmp eq i32 %bcmp222, 0
  br i1 %828, label %853, label %829

829:                                              ; preds = %824
  %830 = tail call ptr @__errno_location() #11
  %831 = load i32, ptr %830, align 4, !tbaa !5
  %832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %833 = call i32 @s2n_print_stacktrace(ptr noundef %832) #10
  %834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %835 = trunc nuw i8 %834 to i1
  br i1 %835, label %836, label %840

836:                                              ; preds = %829
  %837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %838 = call i32 @fileno(ptr noundef %837) #10
  %839 = call i32 @isatty(i32 noundef %838) #10
  %.not223 = icmp eq i32 %839, 0
  br i1 %.not223, label %840, label %841

840:                                              ; preds = %836, %829
  br label %841

841:                                              ; preds = %836, %840
  %.str.5.sink602 = phi ptr [ @.str.5, %840 ], [ @.str.2, %836 ]
  store i32 %831, ptr %830, align 4, !tbaa !5
  %842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %843 = load i32, ptr @test_count, align 4, !tbaa !5
  %844 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %845 = load i32, ptr %844, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef nonnull @.str.4) #10
  %847 = load i32, ptr %844, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef nonnull @.str.4) #10
  %849 = load i32, ptr %830, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #10
  %851 = load i32, ptr %830, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %842, ptr noundef nonnull %.str.5.sink602, i32 noundef %843, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %846, ptr noundef %848, ptr noundef %850, i32 noundef %851) #12
  call void @exit(i32 noundef 1) #13
  unreachable

853:                                              ; preds = %824
  %854 = add nsw i32 %796, 3
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call i32 @s2n_stuffer_free(ptr noundef nonnull %6) #10
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %881

857:                                              ; preds = %853
  %858 = tail call ptr @__errno_location() #11
  %859 = load i32, ptr %858, align 4, !tbaa !5
  %860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %861 = call i32 @s2n_print_stacktrace(ptr noundef %860) #10
  %862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %863 = trunc nuw i8 %862 to i1
  br i1 %863, label %864, label %868

864:                                              ; preds = %857
  %865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %866 = call i32 @fileno(ptr noundef %865) #10
  %867 = call i32 @isatty(i32 noundef %866) #10
  %.not270 = icmp eq i32 %867, 0
  br i1 %.not270, label %868, label %869

868:                                              ; preds = %864, %857
  br label %869

869:                                              ; preds = %864, %868
  %.str.5.sink613 = phi ptr [ @.str.5, %868 ], [ @.str.2, %864 ]
  store i32 %859, ptr %858, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror(i32 noundef %873, ptr noundef nonnull @.str.4) #10
  %875 = load i32, ptr %872, align 4, !tbaa !5
  %876 = call ptr @s2n_strerror_debug(i32 noundef %875, ptr noundef nonnull @.str.4) #10
  %877 = load i32, ptr %858, align 4, !tbaa !5
  %878 = call ptr @strerror(i32 noundef %877) #10
  %879 = load i32, ptr %858, align 4, !tbaa !5
  %880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef nonnull %.str.5.sink613, i32 noundef %871, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %874, ptr noundef %876, ptr noundef %878, i32 noundef %879) #12
  call void @exit(i32 noundef 1) #13
  unreachable

881:                                              ; preds = %853
  %882 = load i32, ptr @test_count, align 4, !tbaa !5
  %883 = add nsw i32 %882, 1
  store i32 %883, ptr @test_count, align 4, !tbaa !5
  %884 = call i32 @s2n_connection_free(ptr noundef nonnull %623) #10
  %885 = icmp eq i32 %884, -1
  br i1 %885, label %886, label %910

886:                                              ; preds = %881
  %887 = tail call ptr @__errno_location() #11
  %888 = load i32, ptr %887, align 4, !tbaa !5
  %889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %890 = call i32 @s2n_print_stacktrace(ptr noundef %889) #10
  %891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %892 = trunc nuw i8 %891 to i1
  br i1 %892, label %893, label %897

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

897:                                              ; preds = %893, %886
  br label %898

898:                                              ; preds = %893, %897
  %.str.5.sink624 = phi ptr [ @.str.5, %897 ], [ @.str.2, %893 ]
  store i32 %888, ptr %887, align 4, !tbaa !5
  %899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %900 = load i32, ptr @test_count, align 4, !tbaa !5
  %901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %902 = load i32, ptr %901, align 4, !tbaa !5
  %903 = call ptr @s2n_strerror(i32 noundef %902, ptr noundef nonnull @.str.4) #10
  %904 = load i32, ptr %901, align 4, !tbaa !5
  %905 = call ptr @s2n_strerror_debug(i32 noundef %904, ptr noundef nonnull @.str.4) #10
  %906 = load i32, ptr %887, align 4, !tbaa !5
  %907 = call ptr @strerror(i32 noundef %906) #10
  %908 = load i32, ptr %887, align 4, !tbaa !5
  %909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %899, ptr noundef nonnull %.str.5.sink624, i32 noundef %900, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %903, ptr noundef %905, ptr noundef %907, i32 noundef %908) #12
  call void @exit(i32 noundef 1) #13
  unreachable

910:                                              ; preds = %881
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #10
  %911 = load i32, ptr @test_count, align 4, !tbaa !5
  %912 = add nsw i32 %911, 1
  store i32 %912, ptr @test_count, align 4, !tbaa !5
  %913 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %914 = icmp eq ptr %913, null
  br i1 %914, label %915, label %939

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

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

926:                                              ; preds = %922, %915
  br label %927

927:                                              ; preds = %922, %926
  %.str.5.sink635 = phi ptr [ @.str.5, %926 ], [ @.str.2, %922 ]
  store i32 %917, ptr %916, align 4, !tbaa !5
  %928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %929 = load i32, ptr @test_count, align 4, !tbaa !5
  %930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %931 = load i32, ptr %930, align 4, !tbaa !5
  %932 = call ptr @s2n_strerror(i32 noundef %931, ptr noundef nonnull @.str.4) #10
  %933 = load i32, ptr %930, align 4, !tbaa !5
  %934 = call ptr @s2n_strerror_debug(i32 noundef %933, ptr noundef nonnull @.str.4) #10
  %935 = load i32, ptr %916, align 4, !tbaa !5
  %936 = call ptr @strerror(i32 noundef %935) #10
  %937 = load i32, ptr %916, align 4, !tbaa !5
  %938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %928, ptr noundef nonnull %.str.5.sink635, i32 noundef %929, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 107, ptr noundef %932, ptr noundef %934, ptr noundef %936, i32 noundef %937) #12
  call void @exit(i32 noundef 1) #13
  unreachable

939:                                              ; preds = %910
  %940 = load i32, ptr @test_count, align 4, !tbaa !5
  %941 = add nsw i32 %940, 1
  store i32 %941, ptr @test_count, align 4, !tbaa !5
  %942 = call i32 @s2n_connection_set_config(ptr noundef nonnull %913, ptr noundef nonnull %128) #10
  %943 = icmp eq i32 %942, -1
  br i1 %943, label %944, label %968

944:                                              ; preds = %939
  %945 = tail call ptr @__errno_location() #11
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %948 = call i32 @s2n_print_stacktrace(ptr noundef %947) #10
  %949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %950 = trunc nuw i8 %949 to i1
  br i1 %950, label %951, label %955

951:                                              ; preds = %944
  %952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %953 = call i32 @fileno(ptr noundef %952) #10
  %954 = call i32 @isatty(i32 noundef %953) #10
  %.not267 = icmp eq i32 %954, 0
  br i1 %.not267, label %955, label %956

955:                                              ; preds = %951, %944
  br label %956

956:                                              ; preds = %951, %955
  %.str.5.sink646 = phi ptr [ @.str.5, %955 ], [ @.str.2, %951 ]
  store i32 %946, ptr %945, align 4, !tbaa !5
  %957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %958 = load i32, ptr @test_count, align 4, !tbaa !5
  %959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %960 = load i32, ptr %959, align 4, !tbaa !5
  %961 = call ptr @s2n_strerror(i32 noundef %960, ptr noundef nonnull @.str.4) #10
  %962 = load i32, ptr %959, align 4, !tbaa !5
  %963 = call ptr @s2n_strerror_debug(i32 noundef %962, ptr noundef nonnull @.str.4) #10
  %964 = load i32, ptr %945, align 4, !tbaa !5
  %965 = call ptr @strerror(i32 noundef %964) #10
  %966 = load i32, ptr %945, align 4, !tbaa !5
  %967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %957, ptr noundef nonnull %.str.5.sink646, i32 noundef %958, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 108, ptr noundef %961, ptr noundef %963, ptr noundef %965, i32 noundef %966) #12
  call void @exit(i32 noundef 1) #13
  unreachable

968:                                              ; preds = %939
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %7) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %7, i8 0, i64 40, i1 false)
  %969 = load i32, ptr @test_count, align 4, !tbaa !5
  %970 = add nsw i32 %969, 1
  store i32 %970, ptr @test_count, align 4, !tbaa !5
  %971 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %7, i32 noundef 0) #10
  %972 = icmp eq i32 %971, -1
  br i1 %972, label %973, label %997

973:                                              ; preds = %968
  %974 = tail call ptr @__errno_location() #11
  %975 = load i32, ptr %974, align 4, !tbaa !5
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = call i32 @s2n_print_stacktrace(ptr noundef %976) #10
  %978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %979 = trunc nuw i8 %978 to i1
  br i1 %979, label %980, label %984

980:                                              ; preds = %973
  %981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %982 = call i32 @fileno(ptr noundef %981) #10
  %983 = call i32 @isatty(i32 noundef %982) #10
  %.not266 = icmp eq i32 %983, 0
  br i1 %.not266, label %984, label %985

984:                                              ; preds = %980, %973
  br label %985

985:                                              ; preds = %980, %984
  %.str.5.sink657 = phi ptr [ @.str.5, %984 ], [ @.str.2, %980 ]
  store i32 %975, ptr %974, align 4, !tbaa !5
  %986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %989 = load i32, ptr %988, align 4, !tbaa !5
  %990 = call ptr @s2n_strerror(i32 noundef %989, ptr noundef nonnull @.str.4) #10
  %991 = load i32, ptr %988, align 4, !tbaa !5
  %992 = call ptr @s2n_strerror_debug(i32 noundef %991, ptr noundef nonnull @.str.4) #10
  %993 = load i32, ptr %974, align 4, !tbaa !5
  %994 = call ptr @strerror(i32 noundef %993) #10
  %995 = load i32, ptr %974, align 4, !tbaa !5
  %996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %986, ptr noundef nonnull %.str.5.sink657, i32 noundef %987, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 111, ptr noundef %990, ptr noundef %992, ptr noundef %994, i32 noundef %995) #12
  call void @exit(i32 noundef 1) #13
  unreachable

997:                                              ; preds = %968
  call void @s2n_set_test_ticket(ptr noundef nonnull %157, ptr noundef nonnull %4, i8 noundef zeroext -118)
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = add nsw i32 %998, 1
  store i32 %999, ptr @test_count, align 4, !tbaa !5
  %1000 = call i32 %536(ptr noundef nonnull %157, ptr noundef nonnull %7) #10
  %1001 = icmp eq i32 %1000, -1
  br i1 %1001, label %1002, label %1026

1002:                                             ; preds = %997
  %1003 = tail call ptr @__errno_location() #11
  %1004 = load i32, ptr %1003, align 4, !tbaa !5
  %1005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1006 = call i32 @s2n_print_stacktrace(ptr noundef %1005) #10
  %1007 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1008 = trunc nuw i8 %1007 to i1
  br i1 %1008, label %1009, label %1013

1009:                                             ; preds = %1002
  %1010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1011 = call i32 @fileno(ptr noundef %1010) #10
  %1012 = call i32 @isatty(i32 noundef %1011) #10
  %.not265 = icmp eq i32 %1012, 0
  br i1 %.not265, label %1013, label %1014

1013:                                             ; preds = %1009, %1002
  br label %1014

1014:                                             ; preds = %1009, %1013
  %.str.5.sink668 = phi ptr [ @.str.5, %1013 ], [ @.str.2, %1009 ]
  store i32 %1004, ptr %1003, align 4, !tbaa !5
  %1015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1016 = load i32, ptr @test_count, align 4, !tbaa !5
  %1017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1018 = load i32, ptr %1017, align 4, !tbaa !5
  %1019 = call ptr @s2n_strerror(i32 noundef %1018, ptr noundef nonnull @.str.4) #10
  %1020 = load i32, ptr %1017, align 4, !tbaa !5
  %1021 = call ptr @s2n_strerror_debug(i32 noundef %1020, ptr noundef nonnull @.str.4) #10
  %1022 = load i32, ptr %1003, align 4, !tbaa !5
  %1023 = call ptr @strerror(i32 noundef %1022) #10
  %1024 = load i32, ptr %1003, align 4, !tbaa !5
  %1025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1015, ptr noundef nonnull %.str.5.sink668, i32 noundef %1016, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 114, ptr noundef %1019, ptr noundef %1021, ptr noundef %1023, i32 noundef %1024) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1026:                                             ; preds = %997
  %1027 = getelementptr inbounds i8, ptr %913, i64 220
  store i8 34, ptr %1027, align 4, !tbaa !48
  %1028 = load i32, ptr @test_count, align 4, !tbaa !5
  %1029 = add nsw i32 %1028, 1
  store i32 %1029, ptr @test_count, align 4, !tbaa !5
  %1030 = call i32 %768(ptr noundef nonnull %913, ptr noundef nonnull %7) #10
  %1031 = icmp eq i32 %1030, -1
  br i1 %1031, label %1032, label %1056

1032:                                             ; preds = %1026
  %1033 = tail call ptr @__errno_location() #11
  %1034 = load i32, ptr %1033, align 4, !tbaa !5
  %1035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1036 = call i32 @s2n_print_stacktrace(ptr noundef %1035) #10
  %1037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1038 = trunc nuw i8 %1037 to i1
  br i1 %1038, label %1039, label %1043

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

1043:                                             ; preds = %1039, %1032
  br label %1044

1044:                                             ; preds = %1039, %1043
  %.str.5.sink679 = phi ptr [ @.str.5, %1043 ], [ @.str.2, %1039 ]
  store i32 %1034, ptr %1033, align 4, !tbaa !5
  %1045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1046 = load i32, ptr @test_count, align 4, !tbaa !5
  %1047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1048 = load i32, ptr %1047, align 4, !tbaa !5
  %1049 = call ptr @s2n_strerror(i32 noundef %1048, ptr noundef nonnull @.str.4) #10
  %1050 = load i32, ptr %1047, align 4, !tbaa !5
  %1051 = call ptr @s2n_strerror_debug(i32 noundef %1050, ptr noundef nonnull @.str.4) #10
  %1052 = load i32, ptr %1033, align 4, !tbaa !5
  %1053 = call ptr @strerror(i32 noundef %1052) #10
  %1054 = load i32, ptr %1033, align 4, !tbaa !5
  %1055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1045, ptr noundef nonnull %.str.5.sink679, i32 noundef %1046, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %1049, ptr noundef %1051, ptr noundef %1053, i32 noundef %1054) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1056:                                             ; preds = %1026
  %1057 = load i32, ptr @test_count, align 4, !tbaa !5
  %1058 = add nsw i32 %1057, 1
  store i32 %1058, ptr @test_count, align 4, !tbaa !5
  %1059 = getelementptr inbounds i8, ptr %913, i64 3780
  %1060 = load i32, ptr %1059, align 4, !tbaa !22
  %1061 = icmp eq i32 %1060, 0
  br i1 %1061, label %1086, label %1062

1062:                                             ; preds = %1056
  %1063 = tail call ptr @__errno_location() #11
  %1064 = load i32, ptr %1063, align 4, !tbaa !5
  %1065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1066 = call i32 @s2n_print_stacktrace(ptr noundef %1065) #10
  %1067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1068 = trunc nuw i8 %1067 to i1
  br i1 %1068, label %1069, label %1073

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

1073:                                             ; preds = %1069, %1062
  br label %1074

1074:                                             ; preds = %1069, %1073
  %.str.5.sink690 = phi ptr [ @.str.5, %1073 ], [ @.str.2, %1069 ]
  store i32 %1064, ptr %1063, align 4, !tbaa !5
  %1075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1076 = load i32, ptr @test_count, align 4, !tbaa !5
  %1077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1078 = load i32, ptr %1077, align 4, !tbaa !5
  %1079 = call ptr @s2n_strerror(i32 noundef %1078, ptr noundef nonnull @.str.4) #10
  %1080 = load i32, ptr %1077, align 4, !tbaa !5
  %1081 = call ptr @s2n_strerror_debug(i32 noundef %1080, ptr noundef nonnull @.str.4) #10
  %1082 = load i32, ptr %1063, align 4, !tbaa !5
  %1083 = call ptr @strerror(i32 noundef %1082) #10
  %1084 = load i32, ptr %1063, align 4, !tbaa !5
  %1085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1075, ptr noundef nonnull %.str.5.sink690, i32 noundef %1076, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %1079, ptr noundef %1081, ptr noundef %1083, i32 noundef %1084) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1086:                                             ; preds = %1056
  %1087 = add nsw i32 %1057, 2
  store i32 %1087, ptr @test_count, align 4, !tbaa !5
  %1088 = getelementptr inbounds i8, ptr %913, i64 4020
  %1089 = load i32, ptr %1088, align 4, !tbaa !49
  %1090 = getelementptr inbounds i8, ptr %913, i64 4016
  %1091 = load i32, ptr %1090, align 8, !tbaa !50
  %1092 = icmp eq i32 %1089, %1091
  br i1 %1092, label %1117, label %1093

1093:                                             ; preds = %1086
  %1094 = tail call ptr @__errno_location() #11
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1097 = call i32 @s2n_print_stacktrace(ptr noundef %1096) #10
  %1098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1099 = trunc nuw i8 %1098 to i1
  br i1 %1099, label %1100, label %1104

1100:                                             ; preds = %1093
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @fileno(ptr noundef %1101) #10
  %1103 = call i32 @isatty(i32 noundef %1102) #10
  %.not225 = icmp eq i32 %1103, 0
  br i1 %.not225, label %1104, label %1105

1104:                                             ; preds = %1100, %1093
  br label %1105

1105:                                             ; preds = %1100, %1104
  %.str.5.sink701 = phi ptr [ @.str.5, %1104 ], [ @.str.2, %1100 ]
  store i32 %1095, ptr %1094, align 4, !tbaa !5
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = load i32, ptr @test_count, align 4, !tbaa !5
  %1108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1109 = load i32, ptr %1108, align 4, !tbaa !5
  %1110 = call ptr @s2n_strerror(i32 noundef %1109, ptr noundef nonnull @.str.4) #10
  %1111 = load i32, ptr %1108, align 4, !tbaa !5
  %1112 = call ptr @s2n_strerror_debug(i32 noundef %1111, ptr noundef nonnull @.str.4) #10
  %1113 = load i32, ptr %1094, align 4, !tbaa !5
  %1114 = call ptr @strerror(i32 noundef %1113) #10
  %1115 = load i32, ptr %1094, align 4, !tbaa !5
  %1116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1106, ptr noundef nonnull %.str.5.sink701, i32 noundef %1107, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.1, i32 noundef 119, ptr noundef %1110, ptr noundef %1112, ptr noundef %1114, i32 noundef %1115) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1117:                                             ; preds = %1086
  store i8 33, ptr %1027, align 4, !tbaa !48
  %1118 = add nsw i32 %1057, 3
  store i32 %1118, ptr @test_count, align 4, !tbaa !5
  %1119 = call i32 %768(ptr noundef nonnull %913, ptr noundef nonnull %7) #10
  %1120 = icmp eq i32 %1119, -1
  br i1 %1120, label %1121, label %1145

1121:                                             ; preds = %1117
  %1122 = tail call ptr @__errno_location() #11
  %1123 = load i32, ptr %1122, align 4, !tbaa !5
  %1124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1125 = call i32 @s2n_print_stacktrace(ptr noundef %1124) #10
  %1126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1127 = trunc nuw i8 %1126 to i1
  br i1 %1127, label %1128, label %1132

1128:                                             ; preds = %1121
  %1129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1130 = call i32 @fileno(ptr noundef %1129) #10
  %1131 = call i32 @isatty(i32 noundef %1130) #10
  %.not263 = icmp eq i32 %1131, 0
  br i1 %.not263, label %1132, label %1133

1132:                                             ; preds = %1128, %1121
  br label %1133

1133:                                             ; preds = %1128, %1132
  %.str.5.sink712 = phi ptr [ @.str.5, %1132 ], [ @.str.2, %1128 ]
  store i32 %1123, ptr %1122, 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 nonnull @.str.4) #10
  %1139 = load i32, ptr %1136, align 4, !tbaa !5
  %1140 = call ptr @s2n_strerror_debug(i32 noundef %1139, ptr noundef nonnull @.str.4) #10
  %1141 = load i32, ptr %1122, align 4, !tbaa !5
  %1142 = call ptr @strerror(i32 noundef %1141) #10
  %1143 = load i32, ptr %1122, align 4, !tbaa !5
  %1144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1134, ptr noundef nonnull %.str.5.sink712, i32 noundef %1135, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %1138, ptr noundef %1140, ptr noundef %1142, i32 noundef %1143) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1145:                                             ; preds = %1117
  %1146 = load i32, ptr @test_count, align 4, !tbaa !5
  %1147 = add nsw i32 %1146, 1
  store i32 %1147, ptr @test_count, align 4, !tbaa !5
  %1148 = load i32, ptr %1059, align 4, !tbaa !22
  %1149 = icmp eq i32 %1148, 1
  br i1 %1149, label %1174, label %1150

1150:                                             ; preds = %1145
  %1151 = tail call ptr @__errno_location() #11
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1154 = call i32 @s2n_print_stacktrace(ptr noundef %1153) #10
  %1155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1156 = trunc nuw i8 %1155 to i1
  br i1 %1156, label %1157, label %1161

1157:                                             ; preds = %1150
  %1158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1159 = call i32 @fileno(ptr noundef %1158) #10
  %1160 = call i32 @isatty(i32 noundef %1159) #10
  %.not226 = icmp eq i32 %1160, 0
  br i1 %.not226, label %1161, label %1162

1161:                                             ; preds = %1157, %1150
  br label %1162

1162:                                             ; preds = %1157, %1161
  %.str.5.sink723 = phi ptr [ @.str.5, %1161 ], [ @.str.2, %1157 ]
  store i32 %1152, ptr %1151, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef nonnull @.str.4) #10
  %1168 = load i32, ptr %1165, align 4, !tbaa !5
  %1169 = call ptr @s2n_strerror_debug(i32 noundef %1168, ptr noundef nonnull @.str.4) #10
  %1170 = load i32, ptr %1151, align 4, !tbaa !5
  %1171 = call ptr @strerror(i32 noundef %1170) #10
  %1172 = load i32, ptr %1151, align 4, !tbaa !5
  %1173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef nonnull %.str.5.sink723, i32 noundef %1164, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 123, ptr noundef %1167, ptr noundef %1169, ptr noundef %1171, i32 noundef %1172) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1174:                                             ; preds = %1145
  %1175 = add nsw i32 %1146, 2
  store i32 %1175, ptr @test_count, align 4, !tbaa !5
  %1176 = call i32 @s2n_stuffer_free(ptr noundef nonnull %7) #10
  %1177 = icmp eq i32 %1176, -1
  br i1 %1177, label %1178, label %1202

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

1185:                                             ; preds = %1178
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = call i32 @fileno(ptr noundef %1186) #10
  %1188 = call i32 @isatty(i32 noundef %1187) #10
  %.not262 = icmp eq i32 %1188, 0
  br i1 %.not262, label %1189, label %1190

1189:                                             ; preds = %1185, %1178
  br label %1190

1190:                                             ; preds = %1185, %1189
  %.str.5.sink734 = phi ptr [ @.str.5, %1189 ], [ @.str.2, %1185 ]
  store i32 %1180, ptr %1179, align 4, !tbaa !5
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = load i32, ptr @test_count, align 4, !tbaa !5
  %1193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1194 = load i32, ptr %1193, align 4, !tbaa !5
  %1195 = call ptr @s2n_strerror(i32 noundef %1194, ptr noundef nonnull @.str.4) #10
  %1196 = load i32, ptr %1193, align 4, !tbaa !5
  %1197 = call ptr @s2n_strerror_debug(i32 noundef %1196, ptr noundef nonnull @.str.4) #10
  %1198 = load i32, ptr %1179, align 4, !tbaa !5
  %1199 = call ptr @strerror(i32 noundef %1198) #10
  %1200 = load i32, ptr %1179, align 4, !tbaa !5
  %1201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1191, ptr noundef nonnull %.str.5.sink734, i32 noundef %1192, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %1195, ptr noundef %1197, ptr noundef %1199, i32 noundef %1200) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1202:                                             ; preds = %1174
  %1203 = load i32, ptr @test_count, align 4, !tbaa !5
  %1204 = add nsw i32 %1203, 1
  store i32 %1204, ptr @test_count, align 4, !tbaa !5
  %1205 = call i32 @s2n_connection_free(ptr noundef nonnull %913) #10
  %1206 = icmp eq i32 %1205, -1
  br i1 %1206, label %1207, label %1231

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

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

1218:                                             ; preds = %1214, %1207
  br label %1219

1219:                                             ; preds = %1214, %1218
  %.str.5.sink745 = phi ptr [ @.str.5, %1218 ], [ @.str.2, %1214 ]
  store i32 %1209, ptr %1208, align 4, !tbaa !5
  %1220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1221 = load i32, ptr @test_count, align 4, !tbaa !5
  %1222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1223 = load i32, ptr %1222, align 4, !tbaa !5
  %1224 = call ptr @s2n_strerror(i32 noundef %1223, ptr noundef nonnull @.str.4) #10
  %1225 = load i32, ptr %1222, align 4, !tbaa !5
  %1226 = call ptr @s2n_strerror_debug(i32 noundef %1225, ptr noundef nonnull @.str.4) #10
  %1227 = load i32, ptr %1208, align 4, !tbaa !5
  %1228 = call ptr @strerror(i32 noundef %1227) #10
  %1229 = load i32, ptr %1208, align 4, !tbaa !5
  %1230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1220, ptr noundef nonnull %.str.5.sink745, i32 noundef %1221, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %1224, ptr noundef %1226, ptr noundef %1228, i32 noundef %1229) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1231:                                             ; preds = %1202
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %7) #10
  %1232 = load i32, ptr @test_count, align 4, !tbaa !5
  %1233 = add nsw i32 %1232, 1
  store i32 %1233, ptr @test_count, align 4, !tbaa !5
  %1234 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1235 = icmp eq ptr %1234, null
  br i1 %1235, label %1236, label %1260

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

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

1247:                                             ; preds = %1243, %1236
  br label %1248

1248:                                             ; preds = %1243, %1247
  %.str.5.sink756 = phi ptr [ @.str.5, %1247 ], [ @.str.2, %1243 ]
  store i32 %1238, ptr %1237, align 4, !tbaa !5
  %1249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1252 = load i32, ptr %1251, align 4, !tbaa !5
  %1253 = call ptr @s2n_strerror(i32 noundef %1252, ptr noundef nonnull @.str.4) #10
  %1254 = load i32, ptr %1251, align 4, !tbaa !5
  %1255 = call ptr @s2n_strerror_debug(i32 noundef %1254, ptr noundef nonnull @.str.4) #10
  %1256 = load i32, ptr %1237, align 4, !tbaa !5
  %1257 = call ptr @strerror(i32 noundef %1256) #10
  %1258 = load i32, ptr %1237, align 4, !tbaa !5
  %1259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1249, ptr noundef nonnull %.str.5.sink756, i32 noundef %1250, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %1253, ptr noundef %1255, ptr noundef %1257, i32 noundef %1258) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1260:                                             ; preds = %1231
  %1261 = load i32, ptr @test_count, align 4, !tbaa !5
  %1262 = add nsw i32 %1261, 1
  store i32 %1262, ptr @test_count, align 4, !tbaa !5
  %1263 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1234, ptr noundef nonnull %128) #10
  %1264 = icmp eq i32 %1263, -1
  br i1 %1264, label %1265, label %1289

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

1272:                                             ; preds = %1265
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = call i32 @fileno(ptr noundef %1273) #10
  %1275 = call i32 @isatty(i32 noundef %1274) #10
  %.not259 = icmp eq i32 %1275, 0
  br i1 %.not259, label %1276, label %1277

1276:                                             ; preds = %1272, %1265
  br label %1277

1277:                                             ; preds = %1272, %1276
  %.str.5.sink767 = phi ptr [ @.str.5, %1276 ], [ @.str.2, %1272 ]
  store i32 %1267, ptr %1266, align 4, !tbaa !5
  %1278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1279 = load i32, ptr @test_count, align 4, !tbaa !5
  %1280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1281 = load i32, ptr %1280, align 4, !tbaa !5
  %1282 = call ptr @s2n_strerror(i32 noundef %1281, ptr noundef nonnull @.str.4) #10
  %1283 = load i32, ptr %1280, align 4, !tbaa !5
  %1284 = call ptr @s2n_strerror_debug(i32 noundef %1283, ptr noundef nonnull @.str.4) #10
  %1285 = load i32, ptr %1266, align 4, !tbaa !5
  %1286 = call ptr @strerror(i32 noundef %1285) #10
  %1287 = load i32, ptr %1266, align 4, !tbaa !5
  %1288 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1278, ptr noundef nonnull %.str.5.sink767, i32 noundef %1279, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 133, ptr noundef %1282, ptr noundef %1284, ptr noundef %1286, i32 noundef %1287) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1289:                                             ; preds = %1260
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %8) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %8, i8 0, i64 40, i1 false)
  %1290 = load i32, ptr @test_count, align 4, !tbaa !5
  %1291 = add nsw i32 %1290, 1
  store i32 %1291, ptr @test_count, align 4, !tbaa !5
  %1292 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %8, i32 noundef 0) #10
  %1293 = icmp eq i32 %1292, -1
  br i1 %1293, label %1294, label %1318

1294:                                             ; preds = %1289
  %1295 = tail call ptr @__errno_location() #11
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1298 = call i32 @s2n_print_stacktrace(ptr noundef %1297) #10
  %1299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1300 = trunc nuw i8 %1299 to i1
  br i1 %1300, label %1301, label %1305

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

1305:                                             ; preds = %1301, %1294
  br label %1306

1306:                                             ; preds = %1301, %1305
  %.str.5.sink778 = phi ptr [ @.str.5, %1305 ], [ @.str.2, %1301 ]
  store i32 %1296, ptr %1295, align 4, !tbaa !5
  %1307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1308 = load i32, ptr @test_count, align 4, !tbaa !5
  %1309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1310 = load i32, ptr %1309, align 4, !tbaa !5
  %1311 = call ptr @s2n_strerror(i32 noundef %1310, ptr noundef nonnull @.str.4) #10
  %1312 = load i32, ptr %1309, align 4, !tbaa !5
  %1313 = call ptr @s2n_strerror_debug(i32 noundef %1312, ptr noundef nonnull @.str.4) #10
  %1314 = load i32, ptr %1295, align 4, !tbaa !5
  %1315 = call ptr @strerror(i32 noundef %1314) #10
  %1316 = load i32, ptr %1295, align 4, !tbaa !5
  %1317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1307, ptr noundef nonnull %.str.5.sink778, i32 noundef %1308, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 136, ptr noundef %1311, ptr noundef %1313, ptr noundef %1315, i32 noundef %1316) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1318:                                             ; preds = %1289
  call void @s2n_set_test_ticket(ptr noundef nonnull %157, ptr noundef nonnull %4, i8 noundef zeroext -119)
  %1319 = load i32, ptr @test_count, align 4, !tbaa !5
  %1320 = add nsw i32 %1319, 1
  store i32 %1320, ptr @test_count, align 4, !tbaa !5
  %1321 = call i32 %536(ptr noundef nonnull %157, ptr noundef nonnull %8) #10
  %1322 = icmp eq i32 %1321, -1
  br i1 %1322, label %1323, label %1347

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

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

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

1335:                                             ; preds = %1330, %1334
  %.str.5.sink789 = phi ptr [ @.str.5, %1334 ], [ @.str.2, %1330 ]
  store i32 %1325, ptr %1324, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %1338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @s2n_strerror(i32 noundef %1339, ptr noundef nonnull @.str.4) #10
  %1341 = load i32, ptr %1338, align 4, !tbaa !5
  %1342 = call ptr @s2n_strerror_debug(i32 noundef %1341, ptr noundef nonnull @.str.4) #10
  %1343 = load i32, ptr %1324, align 4, !tbaa !5
  %1344 = call ptr @strerror(i32 noundef %1343) #10
  %1345 = load i32, ptr %1324, align 4, !tbaa !5
  %1346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1336, ptr noundef nonnull %.str.5.sink789, i32 noundef %1337, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %1340, ptr noundef %1342, ptr noundef %1344, i32 noundef %1345) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1347:                                             ; preds = %1318
  %1348 = getelementptr inbounds i8, ptr %8, i64 28
  %1349 = load i32, ptr %1348, align 4, !tbaa !51
  %1350 = getelementptr inbounds i8, ptr %8, i64 24
  %1351 = load i32, ptr %1350, align 8, !tbaa !52
  %1352 = sub i32 %1349, %1351
  %1353 = load i32, ptr @test_count, align 4, !tbaa !5
  %1354 = add nsw i32 %1353, 1
  store i32 %1354, ptr @test_count, align 4, !tbaa !5
  %1355 = call i32 %768(ptr noundef nonnull %1234, ptr noundef nonnull %8) #10
  %1356 = icmp eq i32 %1355, -1
  br i1 %1356, label %1357, label %1381

1357:                                             ; preds = %1347
  %1358 = tail call ptr @__errno_location() #11
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1361 = call i32 @s2n_print_stacktrace(ptr noundef %1360) #10
  %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 = call i32 @fileno(ptr noundef %1365) #10
  %1367 = call i32 @isatty(i32 noundef %1366) #10
  %.not256 = icmp eq i32 %1367, 0
  br i1 %.not256, label %1368, label %1369

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

1369:                                             ; preds = %1364, %1368
  %.str.5.sink800 = phi ptr [ @.str.5, %1368 ], [ @.str.2, %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1373 = load i32, ptr %1372, align 4, !tbaa !5
  %1374 = call ptr @s2n_strerror(i32 noundef %1373, ptr noundef nonnull @.str.4) #10
  %1375 = load i32, ptr %1372, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror_debug(i32 noundef %1375, ptr noundef nonnull @.str.4) #10
  %1377 = load i32, ptr %1358, align 4, !tbaa !5
  %1378 = call ptr @strerror(i32 noundef %1377) #10
  %1379 = load i32, ptr %1358, align 4, !tbaa !5
  %1380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1370, ptr noundef nonnull %.str.5.sink800, i32 noundef %1371, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 142, ptr noundef %1374, ptr noundef %1376, ptr noundef %1378, i32 noundef %1379) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1381:                                             ; preds = %1347
  %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 = getelementptr inbounds i8, ptr %1234, i64 3780
  %1385 = load i32, ptr %1384, align 4, !tbaa !22
  %1386 = icmp eq i32 %1385, 0
  br i1 %1386, label %1411, label %1387

1387:                                             ; preds = %1381
  %1388 = tail call ptr @__errno_location() #11
  %1389 = load i32, ptr %1388, align 4, !tbaa !5
  %1390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1391 = call i32 @s2n_print_stacktrace(ptr noundef %1390) #10
  %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 = call i32 @fileno(ptr noundef %1395) #10
  %1397 = call i32 @isatty(i32 noundef %1396) #10
  %.not227 = icmp eq i32 %1397, 0
  br i1 %.not227, label %1398, label %1399

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

1399:                                             ; preds = %1394, %1398
  %.str.5.sink811 = phi ptr [ @.str.5, %1398 ], [ @.str.2, %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 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1403 = load i32, ptr %1402, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef nonnull @.str.4) #10
  %1405 = load i32, ptr %1402, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef nonnull @.str.4) #10
  %1407 = load i32, ptr %1388, align 4, !tbaa !5
  %1408 = call ptr @strerror(i32 noundef %1407) #10
  %1409 = load i32, ptr %1388, align 4, !tbaa !5
  %1410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef nonnull %.str.5.sink811, i32 noundef %1401, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 143, ptr noundef %1404, ptr noundef %1406, ptr noundef %1408, i32 noundef %1409) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1411:                                             ; preds = %1381
  %1412 = add nsw i32 %1382, 2
  store i32 %1412, ptr @test_count, align 4, !tbaa !5
  %1413 = load i32, ptr %1348, align 4, !tbaa !51
  %1414 = load i32, ptr %1350, align 8, !tbaa !52
  %1415 = sub i32 %1413, %1414
  %1416 = and i32 %1352, 255
  %1417 = icmp eq i32 %1415, %1416
  br i1 %1417, label %1442, label %1418

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

1425:                                             ; preds = %1418
  %1426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1427 = call i32 @fileno(ptr noundef %1426) #10
  %1428 = call i32 @isatty(i32 noundef %1427) #10
  %.not228 = icmp eq i32 %1428, 0
  br i1 %.not228, label %1429, label %1430

1429:                                             ; preds = %1425, %1418
  br label %1430

1430:                                             ; preds = %1425, %1429
  %.str.5.sink822 = phi ptr [ @.str.5, %1429 ], [ @.str.2, %1425 ]
  store i32 %1420, ptr %1419, align 4, !tbaa !5
  %1431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1432 = load i32, ptr @test_count, align 4, !tbaa !5
  %1433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1434 = load i32, ptr %1433, align 4, !tbaa !5
  %1435 = call ptr @s2n_strerror(i32 noundef %1434, ptr noundef nonnull @.str.4) #10
  %1436 = load i32, ptr %1433, align 4, !tbaa !5
  %1437 = call ptr @s2n_strerror_debug(i32 noundef %1436, ptr noundef nonnull @.str.4) #10
  %1438 = load i32, ptr %1419, align 4, !tbaa !5
  %1439 = call ptr @strerror(i32 noundef %1438) #10
  %1440 = load i32, ptr %1419, align 4, !tbaa !5
  %1441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1431, ptr noundef nonnull %.str.5.sink822, i32 noundef %1432, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %1435, ptr noundef %1437, ptr noundef %1439, i32 noundef %1440) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1442:                                             ; preds = %1411
  %1443 = add nsw i32 %1382, 3
  store i32 %1443, ptr @test_count, align 4, !tbaa !5
  %1444 = call i32 @s2n_stuffer_free(ptr noundef nonnull %8) #10
  %1445 = icmp eq i32 %1444, -1
  br i1 %1445, label %1446, label %1470

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

1453:                                             ; preds = %1446
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = call i32 @fileno(ptr noundef %1454) #10
  %1456 = call i32 @isatty(i32 noundef %1455) #10
  %.not255 = icmp eq i32 %1456, 0
  br i1 %.not255, label %1457, label %1458

1457:                                             ; preds = %1453, %1446
  br label %1458

1458:                                             ; preds = %1453, %1457
  %.str.5.sink833 = phi ptr [ @.str.5, %1457 ], [ @.str.2, %1453 ]
  store i32 %1448, ptr %1447, align 4, !tbaa !5
  %1459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1460 = load i32, ptr @test_count, align 4, !tbaa !5
  %1461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1462 = load i32, ptr %1461, align 4, !tbaa !5
  %1463 = call ptr @s2n_strerror(i32 noundef %1462, ptr noundef nonnull @.str.4) #10
  %1464 = load i32, ptr %1461, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror_debug(i32 noundef %1464, ptr noundef nonnull @.str.4) #10
  %1466 = load i32, ptr %1447, align 4, !tbaa !5
  %1467 = call ptr @strerror(i32 noundef %1466) #10
  %1468 = load i32, ptr %1447, align 4, !tbaa !5
  %1469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1459, ptr noundef nonnull %.str.5.sink833, i32 noundef %1460, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 146, ptr noundef %1463, ptr noundef %1465, ptr noundef %1467, i32 noundef %1468) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1470:                                             ; preds = %1442
  %1471 = load i32, ptr @test_count, align 4, !tbaa !5
  %1472 = add nsw i32 %1471, 1
  store i32 %1472, ptr @test_count, align 4, !tbaa !5
  %1473 = call i32 @s2n_connection_free(ptr noundef nonnull %1234) #10
  %1474 = icmp eq i32 %1473, -1
  br i1 %1474, label %1475, label %1499

1475:                                             ; preds = %1470
  %1476 = tail call ptr @__errno_location() #11
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1479 = call i32 @s2n_print_stacktrace(ptr noundef %1478) #10
  %1480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1481 = trunc nuw i8 %1480 to i1
  br i1 %1481, label %1482, label %1486

1482:                                             ; preds = %1475
  %1483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1484 = call i32 @fileno(ptr noundef %1483) #10
  %1485 = call i32 @isatty(i32 noundef %1484) #10
  %.not254 = icmp eq i32 %1485, 0
  br i1 %.not254, label %1486, label %1487

1486:                                             ; preds = %1482, %1475
  br label %1487

1487:                                             ; preds = %1482, %1486
  %.str.5.sink844 = phi ptr [ @.str.5, %1486 ], [ @.str.2, %1482 ]
  store i32 %1477, ptr %1476, align 4, !tbaa !5
  %1488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1489 = load i32, ptr @test_count, align 4, !tbaa !5
  %1490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1491 = load i32, ptr %1490, align 4, !tbaa !5
  %1492 = call ptr @s2n_strerror(i32 noundef %1491, ptr noundef nonnull @.str.4) #10
  %1493 = load i32, ptr %1490, align 4, !tbaa !5
  %1494 = call ptr @s2n_strerror_debug(i32 noundef %1493, ptr noundef nonnull @.str.4) #10
  %1495 = load i32, ptr %1476, align 4, !tbaa !5
  %1496 = call ptr @strerror(i32 noundef %1495) #10
  %1497 = load i32, ptr %1476, align 4, !tbaa !5
  %1498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1488, ptr noundef nonnull %.str.5.sink844, i32 noundef %1489, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 147, ptr noundef %1492, ptr noundef %1494, ptr noundef %1496, i32 noundef %1497) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1499:                                             ; preds = %1470
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %8) #10
  %1500 = load i32, ptr @test_count, align 4, !tbaa !5
  %1501 = add nsw i32 %1500, 1
  store i32 %1501, ptr @test_count, align 4, !tbaa !5
  %1502 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1503 = icmp eq ptr %1502, null
  br i1 %1503, label %1504, label %1528

1504:                                             ; preds = %1499
  %1505 = tail call ptr @__errno_location() #11
  %1506 = load i32, ptr %1505, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = call i32 @s2n_print_stacktrace(ptr noundef %1507) #10
  %1509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1510 = trunc nuw i8 %1509 to i1
  br i1 %1510, label %1511, label %1515

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

1515:                                             ; preds = %1511, %1504
  br label %1516

1516:                                             ; preds = %1511, %1515
  %.str.5.sink855 = phi ptr [ @.str.5, %1515 ], [ @.str.2, %1511 ]
  store i32 %1506, ptr %1505, align 4, !tbaa !5
  %1517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1518 = load i32, ptr @test_count, align 4, !tbaa !5
  %1519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1520 = load i32, ptr %1519, align 4, !tbaa !5
  %1521 = call ptr @s2n_strerror(i32 noundef %1520, ptr noundef nonnull @.str.4) #10
  %1522 = load i32, ptr %1519, align 4, !tbaa !5
  %1523 = call ptr @s2n_strerror_debug(i32 noundef %1522, ptr noundef nonnull @.str.4) #10
  %1524 = load i32, ptr %1505, align 4, !tbaa !5
  %1525 = call ptr @strerror(i32 noundef %1524) #10
  %1526 = load i32, ptr %1505, align 4, !tbaa !5
  %1527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1517, ptr noundef nonnull %.str.5.sink855, i32 noundef %1518, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1521, ptr noundef %1523, ptr noundef %1525, i32 noundef %1526) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1528:                                             ; preds = %1499
  %1529 = load i32, ptr @test_count, align 4, !tbaa !5
  %1530 = add nsw i32 %1529, 1
  store i32 %1530, ptr @test_count, align 4, !tbaa !5
  %1531 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1502, ptr noundef nonnull %128) #10
  %1532 = icmp eq i32 %1531, -1
  br i1 %1532, label %1533, label %1557

1533:                                             ; preds = %1528
  %1534 = tail call ptr @__errno_location() #11
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1537 = call i32 @s2n_print_stacktrace(ptr noundef %1536) #10
  %1538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1539 = trunc nuw i8 %1538 to i1
  br i1 %1539, label %1540, label %1544

1540:                                             ; preds = %1533
  %1541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1542 = call i32 @fileno(ptr noundef %1541) #10
  %1543 = call i32 @isatty(i32 noundef %1542) #10
  %.not252 = icmp eq i32 %1543, 0
  br i1 %.not252, label %1544, label %1545

1544:                                             ; preds = %1540, %1533
  br label %1545

1545:                                             ; preds = %1540, %1544
  %.str.5.sink866 = phi ptr [ @.str.5, %1544 ], [ @.str.2, %1540 ]
  store i32 %1535, ptr %1534, align 4, !tbaa !5
  %1546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1547 = load i32, ptr @test_count, align 4, !tbaa !5
  %1548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1549 = load i32, ptr %1548, align 4, !tbaa !5
  %1550 = call ptr @s2n_strerror(i32 noundef %1549, ptr noundef nonnull @.str.4) #10
  %1551 = load i32, ptr %1548, align 4, !tbaa !5
  %1552 = call ptr @s2n_strerror_debug(i32 noundef %1551, ptr noundef nonnull @.str.4) #10
  %1553 = load i32, ptr %1534, align 4, !tbaa !5
  %1554 = call ptr @strerror(i32 noundef %1553) #10
  %1555 = load i32, ptr %1534, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1546, ptr noundef nonnull %.str.5.sink866, i32 noundef %1547, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 154, ptr noundef %1550, ptr noundef %1552, ptr noundef %1554, i32 noundef %1555) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1557:                                             ; preds = %1528
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %9) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %9, i8 0, i64 40, i1 false)
  %1558 = load i32, ptr @test_count, align 4, !tbaa !5
  %1559 = add nsw i32 %1558, 1
  store i32 %1559, ptr @test_count, align 4, !tbaa !5
  %1560 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %9, i32 noundef 0) #10
  %1561 = icmp eq i32 %1560, -1
  br i1 %1561, label %1562, label %1586

1562:                                             ; preds = %1557
  %1563 = tail call ptr @__errno_location() #11
  %1564 = load i32, ptr %1563, align 4, !tbaa !5
  %1565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1566 = call i32 @s2n_print_stacktrace(ptr noundef %1565) #10
  %1567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1568 = trunc nuw i8 %1567 to i1
  br i1 %1568, label %1569, label %1573

1569:                                             ; preds = %1562
  %1570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1571 = call i32 @fileno(ptr noundef %1570) #10
  %1572 = call i32 @isatty(i32 noundef %1571) #10
  %.not251 = icmp eq i32 %1572, 0
  br i1 %.not251, label %1573, label %1574

1573:                                             ; preds = %1569, %1562
  br label %1574

1574:                                             ; preds = %1569, %1573
  %.str.5.sink877 = phi ptr [ @.str.5, %1573 ], [ @.str.2, %1569 ]
  store i32 %1564, ptr %1563, 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 nonnull @.str.4) #10
  %1580 = load i32, ptr %1577, align 4, !tbaa !5
  %1581 = call ptr @s2n_strerror_debug(i32 noundef %1580, ptr noundef nonnull @.str.4) #10
  %1582 = load i32, ptr %1563, align 4, !tbaa !5
  %1583 = call ptr @strerror(i32 noundef %1582) #10
  %1584 = load i32, ptr %1563, align 4, !tbaa !5
  %1585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1575, ptr noundef nonnull %.str.5.sink877, i32 noundef %1576, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1579, ptr noundef %1581, ptr noundef %1583, i32 noundef %1584) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1586:                                             ; preds = %1557
  call void @s2n_set_test_ticket(ptr noundef nonnull %157, ptr noundef nonnull %4, i8 noundef zeroext -118)
  %1587 = load i32, ptr @test_count, align 4, !tbaa !5
  %1588 = add nsw i32 %1587, 1
  store i32 %1588, ptr @test_count, align 4, !tbaa !5
  %1589 = call i32 %536(ptr noundef nonnull %157, ptr noundef nonnull %9) #10
  %1590 = icmp eq i32 %1589, -1
  br i1 %1590, label %1591, label %1615

1591:                                             ; preds = %1586
  %1592 = tail call ptr @__errno_location() #11
  %1593 = load i32, ptr %1592, align 4, !tbaa !5
  %1594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1595 = call i32 @s2n_print_stacktrace(ptr noundef %1594) #10
  %1596 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1597 = trunc nuw i8 %1596 to i1
  br i1 %1597, label %1598, label %1602

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

1602:                                             ; preds = %1598, %1591
  br label %1603

1603:                                             ; preds = %1598, %1602
  %.str.5.sink888 = phi ptr [ @.str.5, %1602 ], [ @.str.2, %1598 ]
  store i32 %1593, ptr %1592, align 4, !tbaa !5
  %1604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1605 = load i32, ptr @test_count, align 4, !tbaa !5
  %1606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1607 = load i32, ptr %1606, align 4, !tbaa !5
  %1608 = call ptr @s2n_strerror(i32 noundef %1607, ptr noundef nonnull @.str.4) #10
  %1609 = load i32, ptr %1606, align 4, !tbaa !5
  %1610 = call ptr @s2n_strerror_debug(i32 noundef %1609, ptr noundef nonnull @.str.4) #10
  %1611 = load i32, ptr %1592, align 4, !tbaa !5
  %1612 = call ptr @strerror(i32 noundef %1611) #10
  %1613 = load i32, ptr %1592, align 4, !tbaa !5
  %1614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1604, ptr noundef nonnull %.str.5.sink888, i32 noundef %1605, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1608, ptr noundef %1610, ptr noundef %1612, i32 noundef %1613) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1615:                                             ; preds = %1586
  %1616 = getelementptr inbounds i8, ptr %9, i64 28
  %1617 = load i32, ptr %1616, align 4, !tbaa !51
  %1618 = getelementptr inbounds i8, ptr %9, i64 24
  %1619 = load i32, ptr %1618, align 8, !tbaa !52
  %1620 = sub i32 %1617, %1619
  %1621 = load i32, ptr @test_count, align 4, !tbaa !5
  %1622 = add nsw i32 %1621, 1
  store i32 %1622, ptr @test_count, align 4, !tbaa !5
  %1623 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %128, i8 noundef zeroext 0) #10
  %1624 = icmp eq i32 %1623, -1
  br i1 %1624, label %1625, label %1649

1625:                                             ; preds = %1615
  %1626 = tail call ptr @__errno_location() #11
  %1627 = load i32, ptr %1626, align 4, !tbaa !5
  %1628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1629 = call i32 @s2n_print_stacktrace(ptr noundef %1628) #10
  %1630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1631 = trunc nuw i8 %1630 to i1
  br i1 %1631, label %1632, label %1636

1632:                                             ; preds = %1625
  %1633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1634 = call i32 @fileno(ptr noundef %1633) #10
  %1635 = call i32 @isatty(i32 noundef %1634) #10
  %.not249 = icmp eq i32 %1635, 0
  br i1 %.not249, label %1636, label %1637

1636:                                             ; preds = %1632, %1625
  br label %1637

1637:                                             ; preds = %1632, %1636
  %.str.5.sink899 = phi ptr [ @.str.5, %1636 ], [ @.str.2, %1632 ]
  store i32 %1627, ptr %1626, align 4, !tbaa !5
  %1638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1639 = load i32, ptr @test_count, align 4, !tbaa !5
  %1640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1641 = load i32, ptr %1640, align 4, !tbaa !5
  %1642 = call ptr @s2n_strerror(i32 noundef %1641, ptr noundef nonnull @.str.4) #10
  %1643 = load i32, ptr %1640, align 4, !tbaa !5
  %1644 = call ptr @s2n_strerror_debug(i32 noundef %1643, ptr noundef nonnull @.str.4) #10
  %1645 = load i32, ptr %1626, align 4, !tbaa !5
  %1646 = call ptr @strerror(i32 noundef %1645) #10
  %1647 = load i32, ptr %1626, align 4, !tbaa !5
  %1648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1638, ptr noundef nonnull %.str.5.sink899, i32 noundef %1639, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 164, ptr noundef %1642, ptr noundef %1644, ptr noundef %1646, i32 noundef %1647) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1649:                                             ; preds = %1615
  %1650 = load i32, ptr @test_count, align 4, !tbaa !5
  %1651 = add nsw i32 %1650, 1
  store i32 %1651, ptr @test_count, align 4, !tbaa !5
  %1652 = call i32 %768(ptr noundef nonnull %1502, ptr noundef nonnull %9) #10
  %1653 = icmp eq i32 %1652, -1
  br i1 %1653, label %1654, label %1678

1654:                                             ; preds = %1649
  %1655 = tail call ptr @__errno_location() #11
  %1656 = load i32, ptr %1655, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = call i32 @s2n_print_stacktrace(ptr noundef %1657) #10
  %1659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1660 = trunc nuw i8 %1659 to i1
  br i1 %1660, label %1661, label %1665

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

1665:                                             ; preds = %1661, %1654
  br label %1666

1666:                                             ; preds = %1661, %1665
  %.str.5.sink910 = phi ptr [ @.str.5, %1665 ], [ @.str.2, %1661 ]
  store i32 %1656, ptr %1655, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = load i32, ptr @test_count, align 4, !tbaa !5
  %1669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1670 = load i32, ptr %1669, align 4, !tbaa !5
  %1671 = call ptr @s2n_strerror(i32 noundef %1670, ptr noundef nonnull @.str.4) #10
  %1672 = load i32, ptr %1669, align 4, !tbaa !5
  %1673 = call ptr @s2n_strerror_debug(i32 noundef %1672, ptr noundef nonnull @.str.4) #10
  %1674 = load i32, ptr %1655, align 4, !tbaa !5
  %1675 = call ptr @strerror(i32 noundef %1674) #10
  %1676 = load i32, ptr %1655, align 4, !tbaa !5
  %1677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1667, ptr noundef nonnull %.str.5.sink910, i32 noundef %1668, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 165, ptr noundef %1671, ptr noundef %1673, ptr noundef %1675, i32 noundef %1676) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1678:                                             ; preds = %1649
  %1679 = load i32, ptr @test_count, align 4, !tbaa !5
  %1680 = add nsw i32 %1679, 1
  store i32 %1680, ptr @test_count, align 4, !tbaa !5
  %1681 = getelementptr inbounds i8, ptr %1502, i64 3780
  %1682 = load i32, ptr %1681, align 4, !tbaa !22
  %1683 = icmp eq i32 %1682, 0
  br i1 %1683, label %1708, label %1684

1684:                                             ; preds = %1678
  %1685 = tail call ptr @__errno_location() #11
  %1686 = load i32, ptr %1685, align 4, !tbaa !5
  %1687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1688 = call i32 @s2n_print_stacktrace(ptr noundef %1687) #10
  %1689 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1690 = trunc nuw i8 %1689 to i1
  br i1 %1690, label %1691, label %1695

1691:                                             ; preds = %1684
  %1692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1693 = call i32 @fileno(ptr noundef %1692) #10
  %1694 = call i32 @isatty(i32 noundef %1693) #10
  %.not229 = icmp eq i32 %1694, 0
  br i1 %.not229, label %1695, label %1696

1695:                                             ; preds = %1691, %1684
  br label %1696

1696:                                             ; preds = %1691, %1695
  %.str.5.sink921 = phi ptr [ @.str.5, %1695 ], [ @.str.2, %1691 ]
  store i32 %1686, ptr %1685, align 4, !tbaa !5
  %1697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1698 = load i32, ptr @test_count, align 4, !tbaa !5
  %1699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1700 = load i32, ptr %1699, align 4, !tbaa !5
  %1701 = call ptr @s2n_strerror(i32 noundef %1700, ptr noundef nonnull @.str.4) #10
  %1702 = load i32, ptr %1699, align 4, !tbaa !5
  %1703 = call ptr @s2n_strerror_debug(i32 noundef %1702, ptr noundef nonnull @.str.4) #10
  %1704 = load i32, ptr %1685, align 4, !tbaa !5
  %1705 = call ptr @strerror(i32 noundef %1704) #10
  %1706 = load i32, ptr %1685, align 4, !tbaa !5
  %1707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1697, ptr noundef nonnull %.str.5.sink921, i32 noundef %1698, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1701, ptr noundef %1703, ptr noundef %1705, i32 noundef %1706) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1708:                                             ; preds = %1678
  %1709 = add nsw i32 %1679, 2
  store i32 %1709, ptr @test_count, align 4, !tbaa !5
  %1710 = load i32, ptr %1616, align 4, !tbaa !51
  %1711 = load i32, ptr %1618, align 8, !tbaa !52
  %1712 = sub i32 %1710, %1711
  %1713 = and i32 %1620, 255
  %1714 = icmp eq i32 %1712, %1713
  br i1 %1714, label %1739, label %1715

1715:                                             ; preds = %1708
  %1716 = tail call ptr @__errno_location() #11
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1719 = call i32 @s2n_print_stacktrace(ptr noundef %1718) #10
  %1720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1721 = trunc nuw i8 %1720 to i1
  br i1 %1721, label %1722, label %1726

1722:                                             ; preds = %1715
  %1723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1724 = call i32 @fileno(ptr noundef %1723) #10
  %1725 = call i32 @isatty(i32 noundef %1724) #10
  %.not230 = icmp eq i32 %1725, 0
  br i1 %.not230, label %1726, label %1727

1726:                                             ; preds = %1722, %1715
  br label %1727

1727:                                             ; preds = %1722, %1726
  %.str.5.sink932 = phi ptr [ @.str.5, %1726 ], [ @.str.2, %1722 ]
  store i32 %1717, ptr %1716, align 4, !tbaa !5
  %1728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1729 = load i32, ptr @test_count, align 4, !tbaa !5
  %1730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call ptr @s2n_strerror(i32 noundef %1731, ptr noundef nonnull @.str.4) #10
  %1733 = load i32, ptr %1730, align 4, !tbaa !5
  %1734 = call ptr @s2n_strerror_debug(i32 noundef %1733, ptr noundef nonnull @.str.4) #10
  %1735 = load i32, ptr %1716, align 4, !tbaa !5
  %1736 = call ptr @strerror(i32 noundef %1735) #10
  %1737 = load i32, ptr %1716, align 4, !tbaa !5
  %1738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1728, ptr noundef nonnull %.str.5.sink932, i32 noundef %1729, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1732, ptr noundef %1734, ptr noundef %1736, i32 noundef %1737) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1739:                                             ; preds = %1708
  %1740 = add nsw i32 %1679, 3
  store i32 %1740, ptr @test_count, align 4, !tbaa !5
  %1741 = call i32 @s2n_config_set_session_tickets_onoff(ptr noundef nonnull %128, i8 noundef zeroext 1) #10
  %1742 = icmp eq i32 %1741, -1
  br i1 %1742, label %1743, label %1767

1743:                                             ; preds = %1739
  %1744 = tail call ptr @__errno_location() #11
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1747 = call i32 @s2n_print_stacktrace(ptr noundef %1746) #10
  %1748 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1749 = trunc nuw i8 %1748 to i1
  br i1 %1749, label %1750, label %1754

1750:                                             ; preds = %1743
  %1751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1752 = call i32 @fileno(ptr noundef %1751) #10
  %1753 = call i32 @isatty(i32 noundef %1752) #10
  %.not247 = icmp eq i32 %1753, 0
  br i1 %.not247, label %1754, label %1755

1754:                                             ; preds = %1750, %1743
  br label %1755

1755:                                             ; preds = %1750, %1754
  %.str.5.sink943 = phi ptr [ @.str.5, %1754 ], [ @.str.2, %1750 ]
  store i32 %1745, ptr %1744, align 4, !tbaa !5
  %1756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1757 = load i32, ptr @test_count, align 4, !tbaa !5
  %1758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1759 = load i32, ptr %1758, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror(i32 noundef %1759, ptr noundef nonnull @.str.4) #10
  %1761 = load i32, ptr %1758, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror_debug(i32 noundef %1761, ptr noundef nonnull @.str.4) #10
  %1763 = load i32, ptr %1744, align 4, !tbaa !5
  %1764 = call ptr @strerror(i32 noundef %1763) #10
  %1765 = load i32, ptr %1744, align 4, !tbaa !5
  %1766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1756, ptr noundef nonnull %.str.5.sink943, i32 noundef %1757, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1760, ptr noundef %1762, ptr noundef %1764, i32 noundef %1765) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1767:                                             ; preds = %1739
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = add nsw i32 %1768, 1
  store i32 %1769, ptr @test_count, align 4, !tbaa !5
  %1770 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %128, i32 noundef 1) #10
  %1771 = icmp eq i32 %1770, -1
  br i1 %1771, label %1772, label %1796

1772:                                             ; preds = %1767
  %1773 = tail call ptr @__errno_location() #11
  %1774 = load i32, ptr %1773, align 4, !tbaa !5
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @s2n_print_stacktrace(ptr noundef %1775) #10
  %1777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1778 = trunc nuw i8 %1777 to i1
  br i1 %1778, label %1779, label %1783

1779:                                             ; preds = %1772
  %1780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1781 = call i32 @fileno(ptr noundef %1780) #10
  %1782 = call i32 @isatty(i32 noundef %1781) #10
  %.not246 = icmp eq i32 %1782, 0
  br i1 %.not246, label %1783, label %1784

1783:                                             ; preds = %1779, %1772
  br label %1784

1784:                                             ; preds = %1779, %1783
  %.str.5.sink954 = phi ptr [ @.str.5, %1783 ], [ @.str.2, %1779 ]
  store i32 %1774, ptr %1773, align 4, !tbaa !5
  %1785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1786 = load i32, ptr @test_count, align 4, !tbaa !5
  %1787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1788 = load i32, ptr %1787, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror(i32 noundef %1788, ptr noundef nonnull @.str.4) #10
  %1790 = load i32, ptr %1787, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror_debug(i32 noundef %1790, ptr noundef nonnull @.str.4) #10
  %1792 = load i32, ptr %1773, align 4, !tbaa !5
  %1793 = call ptr @strerror(i32 noundef %1792) #10
  %1794 = load i32, ptr %1773, align 4, !tbaa !5
  %1795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1785, ptr noundef nonnull %.str.5.sink954, i32 noundef %1786, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1789, ptr noundef %1791, ptr noundef %1793, i32 noundef %1794) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1796:                                             ; preds = %1767
  %1797 = load i32, ptr @test_count, align 4, !tbaa !5
  %1798 = add nsw i32 %1797, 1
  store i32 %1798, ptr @test_count, align 4, !tbaa !5
  %1799 = call i32 %768(ptr noundef nonnull %1502, ptr noundef nonnull %9) #10
  %1800 = icmp eq i32 %1799, -1
  br i1 %1800, label %1801, label %1825

1801:                                             ; preds = %1796
  %1802 = tail call ptr @__errno_location() #11
  %1803 = load i32, ptr %1802, align 4, !tbaa !5
  %1804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1805 = call i32 @s2n_print_stacktrace(ptr noundef %1804) #10
  %1806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1807 = trunc nuw i8 %1806 to i1
  br i1 %1807, label %1808, label %1812

1808:                                             ; preds = %1801
  %1809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1810 = call i32 @fileno(ptr noundef %1809) #10
  %1811 = call i32 @isatty(i32 noundef %1810) #10
  %.not245 = icmp eq i32 %1811, 0
  br i1 %.not245, label %1812, label %1813

1812:                                             ; preds = %1808, %1801
  br label %1813

1813:                                             ; preds = %1808, %1812
  %.str.5.sink965 = phi ptr [ @.str.5, %1812 ], [ @.str.2, %1808 ]
  store i32 %1803, ptr %1802, align 4, !tbaa !5
  %1814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1815 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %1817, ptr noundef nonnull @.str.4) #10
  %1819 = load i32, ptr %1816, align 4, !tbaa !5
  %1820 = call ptr @s2n_strerror_debug(i32 noundef %1819, ptr noundef nonnull @.str.4) #10
  %1821 = load i32, ptr %1802, align 4, !tbaa !5
  %1822 = call ptr @strerror(i32 noundef %1821) #10
  %1823 = load i32, ptr %1802, align 4, !tbaa !5
  %1824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1814, ptr noundef nonnull %.str.5.sink965, i32 noundef %1815, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1818, ptr noundef %1820, ptr noundef %1822, i32 noundef %1823) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1825:                                             ; preds = %1796
  %1826 = load i32, ptr @test_count, align 4, !tbaa !5
  %1827 = add nsw i32 %1826, 1
  store i32 %1827, ptr @test_count, align 4, !tbaa !5
  %1828 = load i32, ptr %1681, align 4, !tbaa !22
  %1829 = icmp eq i32 %1828, 0
  br i1 %1829, label %1854, label %1830

1830:                                             ; preds = %1825
  %1831 = tail call ptr @__errno_location() #11
  %1832 = load i32, ptr %1831, align 4, !tbaa !5
  %1833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1834 = call i32 @s2n_print_stacktrace(ptr noundef %1833) #10
  %1835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1836 = trunc nuw i8 %1835 to i1
  br i1 %1836, label %1837, label %1841

1837:                                             ; preds = %1830
  %1838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1839 = call i32 @fileno(ptr noundef %1838) #10
  %1840 = call i32 @isatty(i32 noundef %1839) #10
  %.not231 = icmp eq i32 %1840, 0
  br i1 %.not231, label %1841, label %1842

1841:                                             ; preds = %1837, %1830
  br label %1842

1842:                                             ; preds = %1837, %1841
  %.str.5.sink976 = phi ptr [ @.str.5, %1841 ], [ @.str.2, %1837 ]
  store i32 %1832, ptr %1831, align 4, !tbaa !5
  %1843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1844 = load i32, ptr @test_count, align 4, !tbaa !5
  %1845 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1846 = load i32, ptr %1845, align 4, !tbaa !5
  %1847 = call ptr @s2n_strerror(i32 noundef %1846, ptr noundef nonnull @.str.4) #10
  %1848 = load i32, ptr %1845, align 4, !tbaa !5
  %1849 = call ptr @s2n_strerror_debug(i32 noundef %1848, ptr noundef nonnull @.str.4) #10
  %1850 = load i32, ptr %1831, align 4, !tbaa !5
  %1851 = call ptr @strerror(i32 noundef %1850) #10
  %1852 = load i32, ptr %1831, align 4, !tbaa !5
  %1853 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1843, ptr noundef nonnull %.str.5.sink976, i32 noundef %1844, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1847, ptr noundef %1849, ptr noundef %1851, i32 noundef %1852) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1854:                                             ; preds = %1825
  %1855 = add nsw i32 %1826, 2
  store i32 %1855, ptr @test_count, align 4, !tbaa !5
  %1856 = load i32, ptr %1616, align 4, !tbaa !51
  %1857 = load i32, ptr %1618, align 8, !tbaa !52
  %1858 = sub i32 %1856, %1857
  %1859 = icmp eq i32 %1858, %1712
  br i1 %1859, label %1884, label %1860

1860:                                             ; preds = %1854
  %1861 = tail call ptr @__errno_location() #11
  %1862 = load i32, ptr %1861, align 4, !tbaa !5
  %1863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1864 = call i32 @s2n_print_stacktrace(ptr noundef %1863) #10
  %1865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1866 = trunc nuw i8 %1865 to i1
  br i1 %1866, label %1867, label %1871

1867:                                             ; preds = %1860
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = call i32 @fileno(ptr noundef %1868) #10
  %1870 = call i32 @isatty(i32 noundef %1869) #10
  %.not232 = icmp eq i32 %1870, 0
  br i1 %.not232, label %1871, label %1872

1871:                                             ; preds = %1867, %1860
  br label %1872

1872:                                             ; preds = %1867, %1871
  %.str.5.sink987 = phi ptr [ @.str.5, %1871 ], [ @.str.2, %1867 ]
  store i32 %1862, ptr %1861, align 4, !tbaa !5
  %1873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1874 = load i32, ptr @test_count, align 4, !tbaa !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(i32 noundef %1876, ptr noundef nonnull @.str.4) #10
  %1878 = load i32, ptr %1875, align 4, !tbaa !5
  %1879 = call ptr @s2n_strerror_debug(i32 noundef %1878, ptr noundef nonnull @.str.4) #10
  %1880 = load i32, ptr %1861, align 4, !tbaa !5
  %1881 = call ptr @strerror(i32 noundef %1880) #10
  %1882 = load i32, ptr %1861, align 4, !tbaa !5
  %1883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1873, ptr noundef nonnull %.str.5.sink987, i32 noundef %1874, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1877, ptr noundef %1879, ptr noundef %1881, i32 noundef %1882) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1884:                                             ; preds = %1854
  %1885 = add nsw i32 %1826, 3
  store i32 %1885, ptr @test_count, align 4, !tbaa !5
  %1886 = call i32 @s2n_config_set_client_auth_type(ptr noundef nonnull %128, i32 noundef 0) #10
  %1887 = icmp eq i32 %1886, -1
  br i1 %1887, label %1888, label %1912

1888:                                             ; preds = %1884
  %1889 = tail call ptr @__errno_location() #11
  %1890 = load i32, ptr %1889, align 4, !tbaa !5
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @s2n_print_stacktrace(ptr noundef %1891) #10
  %1893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1894 = trunc nuw i8 %1893 to i1
  br i1 %1894, label %1895, label %1899

1895:                                             ; preds = %1888
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = call i32 @fileno(ptr noundef %1896) #10
  %1898 = call i32 @isatty(i32 noundef %1897) #10
  %.not244 = icmp eq i32 %1898, 0
  br i1 %.not244, label %1899, label %1900

1899:                                             ; preds = %1895, %1888
  br label %1900

1900:                                             ; preds = %1895, %1899
  %.str.5.sink998 = phi ptr [ @.str.5, %1899 ], [ @.str.2, %1895 ]
  store i32 %1890, ptr %1889, align 4, !tbaa !5
  %1901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1902 = load i32, ptr @test_count, align 4, !tbaa !5
  %1903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1904 = load i32, ptr %1903, align 4, !tbaa !5
  %1905 = call ptr @s2n_strerror(i32 noundef %1904, ptr noundef nonnull @.str.4) #10
  %1906 = load i32, ptr %1903, align 4, !tbaa !5
  %1907 = call ptr @s2n_strerror_debug(i32 noundef %1906, ptr noundef nonnull @.str.4) #10
  %1908 = load i32, ptr %1889, align 4, !tbaa !5
  %1909 = call ptr @strerror(i32 noundef %1908) #10
  %1910 = load i32, ptr %1889, align 4, !tbaa !5
  %1911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1901, ptr noundef nonnull %.str.5.sink998, i32 noundef %1902, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 175, ptr noundef %1905, ptr noundef %1907, ptr noundef %1909, i32 noundef %1910) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1912:                                             ; preds = %1884
  %1913 = load i32, ptr @test_count, align 4, !tbaa !5
  %1914 = add nsw i32 %1913, 1
  store i32 %1914, ptr @test_count, align 4, !tbaa !5
  %1915 = call i32 %768(ptr noundef nonnull %1502, ptr noundef nonnull %9) #10
  %1916 = icmp eq i32 %1915, -1
  br i1 %1916, label %1917, label %1941

1917:                                             ; preds = %1912
  %1918 = tail call ptr @__errno_location() #11
  %1919 = load i32, ptr %1918, align 4, !tbaa !5
  %1920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1921 = call i32 @s2n_print_stacktrace(ptr noundef %1920) #10
  %1922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1923 = trunc nuw i8 %1922 to i1
  br i1 %1923, label %1924, label %1928

1924:                                             ; preds = %1917
  %1925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1926 = call i32 @fileno(ptr noundef %1925) #10
  %1927 = call i32 @isatty(i32 noundef %1926) #10
  %.not243 = icmp eq i32 %1927, 0
  br i1 %.not243, label %1928, label %1929

1928:                                             ; preds = %1924, %1917
  br label %1929

1929:                                             ; preds = %1924, %1928
  %.str.5.sink1009 = phi ptr [ @.str.5, %1928 ], [ @.str.2, %1924 ]
  store i32 %1919, ptr %1918, align 4, !tbaa !5
  %1930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1931 = load i32, ptr @test_count, align 4, !tbaa !5
  %1932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1933 = load i32, ptr %1932, align 4, !tbaa !5
  %1934 = call ptr @s2n_strerror(i32 noundef %1933, ptr noundef nonnull @.str.4) #10
  %1935 = load i32, ptr %1932, align 4, !tbaa !5
  %1936 = call ptr @s2n_strerror_debug(i32 noundef %1935, ptr noundef nonnull @.str.4) #10
  %1937 = load i32, ptr %1918, align 4, !tbaa !5
  %1938 = call ptr @strerror(i32 noundef %1937) #10
  %1939 = load i32, ptr %1918, align 4, !tbaa !5
  %1940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1930, ptr noundef nonnull %.str.5.sink1009, i32 noundef %1931, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1934, ptr noundef %1936, ptr noundef %1938, i32 noundef %1939) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1941:                                             ; preds = %1912
  %1942 = load i32, ptr @test_count, align 4, !tbaa !5
  %1943 = add nsw i32 %1942, 1
  store i32 %1943, ptr @test_count, align 4, !tbaa !5
  %1944 = load i32, ptr %1681, align 4, !tbaa !22
  %1945 = icmp eq i32 %1944, 0
  br i1 %1945, label %1946, label %1970

1946:                                             ; preds = %1941
  %1947 = tail call ptr @__errno_location() #11
  %1948 = load i32, ptr %1947, align 4, !tbaa !5
  %1949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1950 = call i32 @s2n_print_stacktrace(ptr noundef %1949) #10
  %1951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1952 = trunc nuw i8 %1951 to i1
  br i1 %1952, label %1953, label %1957

1953:                                             ; preds = %1946
  %1954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1955 = call i32 @fileno(ptr noundef %1954) #10
  %1956 = call i32 @isatty(i32 noundef %1955) #10
  %.not242 = icmp eq i32 %1956, 0
  br i1 %.not242, label %1957, label %1958

1957:                                             ; preds = %1953, %1946
  br label %1958

1958:                                             ; preds = %1953, %1957
  %.str.5.sink1020 = phi ptr [ @.str.5, %1957 ], [ @.str.2, %1953 ]
  store i32 %1948, ptr %1947, align 4, !tbaa !5
  %1959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1960 = load i32, ptr @test_count, align 4, !tbaa !5
  %1961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1962 = load i32, ptr %1961, align 4, !tbaa !5
  %1963 = call ptr @s2n_strerror(i32 noundef %1962, ptr noundef nonnull @.str.4) #10
  %1964 = load i32, ptr %1961, align 4, !tbaa !5
  %1965 = call ptr @s2n_strerror_debug(i32 noundef %1964, ptr noundef nonnull @.str.4) #10
  %1966 = load i32, ptr %1947, align 4, !tbaa !5
  %1967 = call ptr @strerror(i32 noundef %1966) #10
  %1968 = load i32, ptr %1947, align 4, !tbaa !5
  %1969 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1959, ptr noundef nonnull %.str.5.sink1020, i32 noundef %1960, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1963, ptr noundef %1965, ptr noundef %1967, i32 noundef %1968) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1970:                                             ; preds = %1941
  %1971 = add nsw i32 %1942, 2
  store i32 %1971, ptr @test_count, align 4, !tbaa !5
  %1972 = call i32 @s2n_stuffer_free(ptr noundef nonnull %9) #10
  %1973 = icmp eq i32 %1972, -1
  br i1 %1973, label %1974, label %1998

1974:                                             ; preds = %1970
  %1975 = tail call ptr @__errno_location() #11
  %1976 = load i32, ptr %1975, align 4, !tbaa !5
  %1977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1978 = call i32 @s2n_print_stacktrace(ptr noundef %1977) #10
  %1979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1980 = trunc nuw i8 %1979 to i1
  br i1 %1980, label %1981, label %1985

1981:                                             ; preds = %1974
  %1982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1983 = call i32 @fileno(ptr noundef %1982) #10
  %1984 = call i32 @isatty(i32 noundef %1983) #10
  %.not241 = icmp eq i32 %1984, 0
  br i1 %.not241, label %1985, label %1986

1985:                                             ; preds = %1981, %1974
  br label %1986

1986:                                             ; preds = %1981, %1985
  %.str.5.sink1031 = phi ptr [ @.str.5, %1985 ], [ @.str.2, %1981 ]
  store i32 %1976, ptr %1975, align 4, !tbaa !5
  %1987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1988 = load i32, ptr @test_count, align 4, !tbaa !5
  %1989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1990 = load i32, ptr %1989, align 4, !tbaa !5
  %1991 = call ptr @s2n_strerror(i32 noundef %1990, ptr noundef nonnull @.str.4) #10
  %1992 = load i32, ptr %1989, align 4, !tbaa !5
  %1993 = call ptr @s2n_strerror_debug(i32 noundef %1992, ptr noundef nonnull @.str.4) #10
  %1994 = load i32, ptr %1975, align 4, !tbaa !5
  %1995 = call ptr @strerror(i32 noundef %1994) #10
  %1996 = load i32, ptr %1975, align 4, !tbaa !5
  %1997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1987, ptr noundef nonnull %.str.5.sink1031, i32 noundef %1988, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %1991, ptr noundef %1993, ptr noundef %1995, i32 noundef %1996) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1998:                                             ; preds = %1970
  %1999 = load i32, ptr @test_count, align 4, !tbaa !5
  %2000 = add nsw i32 %1999, 1
  store i32 %2000, ptr @test_count, align 4, !tbaa !5
  %2001 = call i32 @s2n_connection_free(ptr noundef nonnull %1502) #10
  %2002 = icmp eq i32 %2001, -1
  br i1 %2002, label %2003, label %2027

2003:                                             ; preds = %1998
  %2004 = tail call ptr @__errno_location() #11
  %2005 = load i32, ptr %2004, align 4, !tbaa !5
  %2006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2007 = call i32 @s2n_print_stacktrace(ptr noundef %2006) #10
  %2008 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2009 = trunc nuw i8 %2008 to i1
  br i1 %2009, label %2010, label %2014

2010:                                             ; preds = %2003
  %2011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2012 = call i32 @fileno(ptr noundef %2011) #10
  %2013 = call i32 @isatty(i32 noundef %2012) #10
  %.not240 = icmp eq i32 %2013, 0
  br i1 %.not240, label %2014, label %2015

2014:                                             ; preds = %2010, %2003
  br label %2015

2015:                                             ; preds = %2010, %2014
  %.str.5.sink1042 = phi ptr [ @.str.5, %2014 ], [ @.str.2, %2010 ]
  store i32 %2005, ptr %2004, align 4, !tbaa !5
  %2016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2017 = load i32, ptr @test_count, align 4, !tbaa !5
  %2018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2019 = load i32, ptr %2018, align 4, !tbaa !5
  %2020 = call ptr @s2n_strerror(i32 noundef %2019, ptr noundef nonnull @.str.4) #10
  %2021 = load i32, ptr %2018, align 4, !tbaa !5
  %2022 = call ptr @s2n_strerror_debug(i32 noundef %2021, ptr noundef nonnull @.str.4) #10
  %2023 = load i32, ptr %2004, align 4, !tbaa !5
  %2024 = call ptr @strerror(i32 noundef %2023) #10
  %2025 = load i32, ptr %2004, align 4, !tbaa !5
  %2026 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2016, ptr noundef nonnull %.str.5.sink1042, i32 noundef %2017, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %2020, ptr noundef %2022, ptr noundef %2024, i32 noundef %2025) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2027:                                             ; preds = %1998
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  %2028 = load i32, ptr @test_count, align 4, !tbaa !5
  %2029 = add nsw i32 %2028, 1
  store i32 %2029, ptr @test_count, align 4, !tbaa !5
  %2030 = call i32 @s2n_connection_free(ptr noundef nonnull %157) #10
  %2031 = icmp eq i32 %2030, -1
  br i1 %2031, label %2032, label %2056

2032:                                             ; preds = %2027
  %2033 = tail call ptr @__errno_location() #11
  %2034 = load i32, ptr %2033, align 4, !tbaa !5
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @s2n_print_stacktrace(ptr noundef %2035) #10
  %2037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2038 = trunc nuw i8 %2037 to i1
  br i1 %2038, label %2039, label %2043

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

2043:                                             ; preds = %2039, %2032
  br label %2044

2044:                                             ; preds = %2039, %2043
  %.str.5.sink1053 = phi ptr [ @.str.5, %2043 ], [ @.str.2, %2039 ]
  store i32 %2034, ptr %2033, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2048 = load i32, ptr %2047, align 4, !tbaa !5
  %2049 = call ptr @s2n_strerror(i32 noundef %2048, ptr noundef nonnull @.str.4) #10
  %2050 = load i32, ptr %2047, align 4, !tbaa !5
  %2051 = call ptr @s2n_strerror_debug(i32 noundef %2050, ptr noundef nonnull @.str.4) #10
  %2052 = load i32, ptr %2033, align 4, !tbaa !5
  %2053 = call ptr @strerror(i32 noundef %2052) #10
  %2054 = load i32, ptr %2033, align 4, !tbaa !5
  %2055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef nonnull %.str.5.sink1053, i32 noundef %2046, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %2049, ptr noundef %2051, ptr noundef %2053, i32 noundef %2054) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2056:                                             ; preds = %2027
  %2057 = load i32, ptr @test_count, align 4, !tbaa !5
  %2058 = add nsw i32 %2057, 1
  store i32 %2058, ptr @test_count, align 4, !tbaa !5
  %2059 = call i32 @s2n_config_free(ptr noundef nonnull %128) #10
  %2060 = icmp eq i32 %2059, -1
  br i1 %2060, label %2061, label %2085

2061:                                             ; preds = %2056
  %2062 = tail call ptr @__errno_location() #11
  %2063 = load i32, ptr %2062, align 4, !tbaa !5
  %2064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2065 = call i32 @s2n_print_stacktrace(ptr noundef %2064) #10
  %2066 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2067 = trunc nuw i8 %2066 to i1
  br i1 %2067, label %2068, label %2072

2068:                                             ; preds = %2061
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = call i32 @fileno(ptr noundef %2069) #10
  %2071 = call i32 @isatty(i32 noundef %2070) #10
  %.not238 = icmp eq i32 %2071, 0
  br i1 %.not238, label %2072, label %2073

2072:                                             ; preds = %2068, %2061
  br label %2073

2073:                                             ; preds = %2068, %2072
  %.str.5.sink1064 = phi ptr [ @.str.5, %2072 ], [ @.str.2, %2068 ]
  store i32 %2063, ptr %2062, align 4, !tbaa !5
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = load i32, ptr @test_count, align 4, !tbaa !5
  %2076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2077 = load i32, ptr %2076, align 4, !tbaa !5
  %2078 = call ptr @s2n_strerror(i32 noundef %2077, ptr noundef nonnull @.str.4) #10
  %2079 = load i32, ptr %2076, align 4, !tbaa !5
  %2080 = call ptr @s2n_strerror_debug(i32 noundef %2079, ptr noundef nonnull @.str.4) #10
  %2081 = load i32, ptr %2062, align 4, !tbaa !5
  %2082 = call ptr @strerror(i32 noundef %2081) #10
  %2083 = load i32, ptr %2062, align 4, !tbaa !5
  %2084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2074, ptr noundef nonnull %.str.5.sink1064, i32 noundef %2075, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %2078, ptr noundef %2080, ptr noundef %2082, i32 noundef %2083) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2085:                                             ; preds = %2056
  %2086 = call i32 @s2n_cleanup() #10
  %2087 = icmp eq i32 %2086, -1
  br i1 %2087, label %2088, label %2112

2088:                                             ; preds = %2085
  %2089 = tail call ptr @__errno_location() #11
  %2090 = load i32, ptr %2089, align 4, !tbaa !5
  %2091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2092 = call i32 @s2n_print_stacktrace(ptr noundef %2091) #10
  %2093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2094 = trunc nuw i8 %2093 to i1
  br i1 %2094, label %2095, label %2099

2095:                                             ; preds = %2088
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @fileno(ptr noundef %2096) #10
  %2098 = call i32 @isatty(i32 noundef %2097) #10
  %.not237 = icmp eq i32 %2098, 0
  br i1 %.not237, label %2099, label %2100

2099:                                             ; preds = %2095, %2088
  br label %2100

2100:                                             ; preds = %2095, %2099
  %.str.5.sink1075 = phi ptr [ @.str.5, %2099 ], [ @.str.2, %2095 ]
  store i32 %2090, ptr %2089, align 4, !tbaa !5
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = load i32, ptr @test_count, align 4, !tbaa !5
  %2103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2104 = load i32, ptr %2103, align 4, !tbaa !5
  %2105 = call ptr @s2n_strerror(i32 noundef %2104, ptr noundef nonnull @.str.4) #10
  %2106 = load i32, ptr %2103, align 4, !tbaa !5
  %2107 = call ptr @s2n_strerror_debug(i32 noundef %2106, ptr noundef nonnull @.str.4) #10
  %2108 = load i32, ptr %2089, align 4, !tbaa !5
  %2109 = call ptr @strerror(i32 noundef %2108) #10
  %2110 = load i32, ptr %2089, align 4, !tbaa !5
  %2111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2101, ptr noundef nonnull %.str.5.sink1075, i32 noundef %2102, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %2105, ptr noundef %2107, ptr noundef %2109, i32 noundef %2110) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2112:                                             ; preds = %2085
  %2113 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %2114 = icmp eq i32 %2113, -1
  br i1 %2114, label %2115, label %2139

2115:                                             ; preds = %2112
  %2116 = tail call ptr @__errno_location() #11
  %2117 = load i32, ptr %2116, align 4, !tbaa !5
  %2118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2119 = call i32 @s2n_print_stacktrace(ptr noundef %2118) #10
  %2120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2121 = trunc nuw i8 %2120 to i1
  br i1 %2121, label %2122, label %2126

2122:                                             ; preds = %2115
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @fileno(ptr noundef %2123) #10
  %2125 = call i32 @isatty(i32 noundef %2124) #10
  %.not236 = icmp eq i32 %2125, 0
  br i1 %.not236, label %2126, label %2127

2126:                                             ; preds = %2122, %2115
  br label %2127

2127:                                             ; preds = %2122, %2126
  %.str.5.sink1086 = phi ptr [ @.str.5, %2126 ], [ @.str.2, %2122 ]
  store i32 %2117, ptr %2116, align 4, !tbaa !5
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = load i32, ptr @test_count, align 4, !tbaa !5
  %2130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2131 = load i32, ptr %2130, align 4, !tbaa !5
  %2132 = call ptr @s2n_strerror(i32 noundef %2131, ptr noundef nonnull @.str.4) #10
  %2133 = load i32, ptr %2130, align 4, !tbaa !5
  %2134 = call ptr @s2n_strerror_debug(i32 noundef %2133, ptr noundef nonnull @.str.4) #10
  %2135 = load i32, ptr %2116, align 4, !tbaa !5
  %2136 = call ptr @strerror(i32 noundef %2135) #10
  %2137 = load i32, ptr %2116, align 4, !tbaa !5
  %2138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2128, ptr noundef nonnull %.str.5.sink1086, i32 noundef %2129, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 188, ptr noundef %2132, ptr noundef %2134, ptr noundef %2136, i32 noundef %2137) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2139:                                             ; preds = %2112
  %2140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2141 = trunc nuw i8 %2140 to i1
  br i1 %2141, label %2142, label %2153

2142:                                             ; preds = %2139
  %2143 = load ptr, ptr @stdout, align 8, !tbaa !9
  %2144 = call i32 @fileno(ptr noundef %2143) #10
  %2145 = call i32 @isatty(i32 noundef %2144) #10
  %.not233 = icmp eq i32 %2145, 0
  br i1 %.not233, label %2153, label %2146

2146:                                             ; preds = %2142
  %2147 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not235 = icmp eq i32 %2147, 0
  %2148 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not235, label %2151, label %2149

2149:                                             ; preds = %2146
  %2150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2148, ptr noundef nonnull @.str.40, i32 noundef %2147) #10
  br label %2160

2151:                                             ; preds = %2146
  %2152 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2148, ptr noundef nonnull @.str.41) #10
  br label %2160

2153:                                             ; preds = %2142, %2139
  %2154 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not234 = icmp eq i32 %2154, 0
  %2155 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not234, label %2158, label %2156

2156:                                             ; preds = %2153
  %2157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2155, ptr noundef nonnull @.str.42, i32 noundef %2154) #10
  br label %2160

2158:                                             ; preds = %2153
  %2159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2155, ptr noundef nonnull @.str.43) #10
  br label %2160

2160:                                             ; preds = %2156, %2158, %2149, %2151
  call void @llvm.lifetime.end.p0(i64 138, ptr nonnull %4) #10
  ret i32 0
}

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

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

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

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

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

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

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

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

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

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

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

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

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

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

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

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

declare ptr @s2n_config_new() local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_set_session_tickets_onoff(ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

declare ptr @s2n_test_psk_new(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

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

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

; Function Attrs: nounwind uwtable
declare hidden void @s2n_set_test_ticket(ptr noundef, ptr noundef, i8 noundef zeroext) local_unnamed_addr #0

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

; Function Attrs: nofree nounwind willreturn memory(argmem: read)
declare i32 @bcmp(ptr nocapture, ptr nocapture, i64) local_unnamed_addr #9

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

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !10, i64 24}
!16 = !{!"", !17, i64 0, !6, i64 2, !17, i64 4, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32}
!17 = !{!"short", !7, i64 0}
!18 = !{!16, !10, i64 8}
!19 = !{!20, !10, i64 0}
!20 = !{!"s2n_stuffer", !21, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!21 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!22 = !{!23, !6, i64 3780}
!23 = !{!"s2n_connection", !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 0, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 1, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !6, i64 2, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40, !10, i64 48, !10, i64 56, !10, i64 64, !10, i64 72, !7, i64 80, !7, i64 102, !7, i64 124, !6, i64 148, !6, i64 152, !24, i64 160, !25, i64 168, !25, i64 176, !7, i64 184, !7, i64 216, !7, i64 217, !7, i64 218, !7, i64 219, !7, i64 220, !7, i64 221, !7, i64 222, !10, i64 224, !10, i64 232, !26, i64 240, !10, i64 632, !10, i64 640, !27, i64 648, !32, i64 1144, !35, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !20, i64 1776, !20, i64 1816, !20, i64 1856, !20, i64 1896, !6, i64 1936, !25, i64 1944, !7, i64 1952, !20, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !37, i64 2004, !37, i64 2008, !38, i64 2016, !17, i64 2208, !6, i64 2212, !17, i64 2216, !25, i64 2224, !7, i64 2232, !25, i64 2240, !25, i64 2248, !25, i64 2256, !37, i64 2264, !37, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !21, i64 2792, !6, i64 2816, !21, i64 2824, !21, i64 2848, !21, i64 2872, !40, i64 2896, !42, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !21, i64 3784, !6, i64 3808, !44, i64 3816, !7, i64 3848, !20, i64 3992, !21, i64 4032, !21, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !17, i64 4084, !17, i64 4086, !6, i64 4088, !6, i64 4092, !21, i64 4096, !6, i64 4120, !45, i64 4128, !37, i64 4176, !7, i64 4180, !7, i64 4181}
!24 = !{!"s2n_timer", !25, i64 0}
!25 = !{!"long", !7, i64 0}
!26 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!27 = !{!"s2n_kex_parameters", !28, i64 0, !29, i64 8, !7, i64 24, !29, i64 56, !30, i64 72, !30, i64 184, !7, i64 296, !31, i64 360, !21, i64 448, !21, i64 472}
!28 = !{!"s2n_dh_params", !10, i64 0}
!29 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!30 = !{!"s2n_kem_group_params", !10, i64 0, !31, i64 8, !29, i64 96}
!31 = !{!"s2n_kem_params", !10, i64 0, !21, i64 8, !21, i64 32, !21, i64 56, !12, i64 80}
!32 = !{!"s2n_handshake_parameters", !33, i64 0, !33, i64 48, !21, i64 96, !6, i64 120, !34, i64 124, !10, i64 384, !10, i64 392, !10, i64 400, !7, i64 408, !7, i64 440, !7, i64 472, !7, i64 473, !7, i64 474, !7, i64 506}
!33 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!34 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!35 = !{!"s2n_psk_parameters", !6, i64 0, !36, i64 8, !17, i64 40, !17, i64 42, !10, i64 48, !6, i64 56}
!36 = !{!"s2n_array", !21, i64 0, !6, i64 24, !6, i64 28}
!37 = !{!"", !6, i64 0}
!38 = !{!"s2n_handshake", !20, i64 0, !10, i64 40, !7, i64 48, !7, i64 56, !7, i64 104, !7, i64 152, !6, i64 156, !6, i64 160, !6, i64 164, !6, i64 168, !39, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!39 = !{!"s2n_offered_early_data", !10, i64 0}
!40 = !{!"s2n_client_hello", !21, i64 0, !41, i64 24, !21, i64 728, !21, i64 752, !21, i64 776, !7, i64 800, !7, i64 801, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802, !6, i64 802}
!41 = !{!"", !7, i64 0, !21, i64 672, !17, i64 696}
!42 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !17, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !43, i64 48, !12, i64 52}
!43 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!44 = !{!"s2n_ticket_fields", !21, i64 0, !6, i64 24}
!45 = !{!"s2n_post_handshake", !20, i64 0, !7, i64 40}
!46 = !{!16, !10, i64 16}
!47 = !{!23, !10, i64 3992}
!48 = !{!23, !7, i64 220}
!49 = !{!23, !6, i64 4020}
!50 = !{!23, !6, i64 4016}
!51 = !{!20, !6, i64 28}
!52 = !{!20, !6, i64 24}


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