; LLVM IR from aws/s2n-tls :: tests/unit (s2n_extended_master_secret_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_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_result = type { i32 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_pair = type { i32, i32 }
%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 }
%struct.s2n_crypto_parameters = type { ptr, %struct.s2n_session_key, %struct.s2n_session_key, %struct.s2n_hmac_state, %struct.s2n_hmac_state, [16 x i8], [16 x i8], [8 x i8], [8 x i8] }
%struct.s2n_session_key = type { ptr }
%struct.s2n_hmac_state = type { i32, i16, i32, i16, i8, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, %struct.s2n_hash_state, [128 x i8], [64 x i8] }
%struct.s2n_hash_state = type { ptr, i32, i8, i64, %union.anon.0 }
%union.anon.0 = type { %struct.s2n_hash_evp_digest }
%struct.s2n_hash_evp_digest = type { %struct.s2n_evp_digest, %struct.s2n_evp_digest }
%struct.s2n_evp_digest = type { ptr, ptr }

@s2n_use_color_in_output = external dso_local 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 [90 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 [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.12 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = 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 ptr, align 8
  %10 = alloca i32, align 4
  %11 = alloca %struct.s2n_result, align 4
  %12 = alloca i32, align 4
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca %struct.s2n_stuffer, align 8
  %17 = alloca %struct.s2n_blob, align 8
  %18 = alloca [138 x i8], align 16
  %19 = alloca i32, align 4
  %20 = alloca i32, align 4
  %21 = alloca ptr, align 8
  %22 = alloca i32, align 4
  %23 = alloca %struct.s2n_result, align 4
  %24 = alloca i32, align 4
  %25 = alloca i32, align 4
  %26 = alloca i32, align 4
  %27 = alloca i32, align 4
  %28 = alloca i32, align 4
  %29 = alloca i32, align 4
  %30 = alloca i32, align 4
  %31 = alloca i32, align 4
  %32 = alloca ptr, align 8
  %33 = alloca i32, align 4
  %34 = alloca i32, align 4
  %35 = alloca %struct.s2n_stuffer, align 8
  %36 = alloca %struct.s2n_blob, align 8
  %37 = alloca [138 x i8], align 16
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca ptr, align 8
  %41 = alloca i32, align 4
  %42 = alloca %struct.s2n_result, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca i32, align 4
  %46 = alloca i32, align 4
  %47 = alloca i32, align 4
  %48 = alloca i32, align 4
  %49 = alloca i32, align 4
  %50 = alloca ptr, align 8
  %51 = alloca i32, align 4
  %52 = alloca i32, align 4
  %53 = alloca %struct.s2n_stuffer, align 8
  %54 = alloca %struct.s2n_blob, align 8
  %55 = alloca [138 x i8], align 16
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca ptr, align 8
  %59 = alloca i32, align 4
  %60 = alloca %struct.s2n_result, align 4
  %61 = alloca i32, align 4
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca i8, align 1
  %66 = alloca i32, align 4
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i32, align 4
  %71 = alloca ptr, align 8
  %72 = alloca i32, align 4
  %73 = alloca i32, align 4
  %74 = alloca i32, align 4
  %75 = alloca ptr, align 8
  %76 = alloca i32, align 4
  %77 = alloca i32, align 4
  %78 = alloca ptr, align 8
  %79 = alloca i32, align 4
  %80 = alloca i32, align 4
  %81 = alloca ptr, align 8
  %82 = alloca i32, align 4
  %83 = alloca i32, align 4
  %84 = alloca %struct.s2n_test_io_pair, align 4
  %85 = alloca i32, align 4
  %86 = alloca i32, align 4
  %87 = alloca i32, align 4
  %88 = alloca %struct.s2n_result, align 4
  %89 = alloca i32, align 4
  %90 = alloca %struct.s2n_result, align 4
  %91 = alloca i32, align 4
  %92 = alloca i8, align 1
  %93 = alloca i32, align 4
  %94 = alloca i32, align 4
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca i32, align 4
  %100 = alloca i32, align 4
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca ptr, align 8
  %105 = alloca i32, align 4
  %106 = alloca i32, align 4
  %107 = alloca i32, align 4
  %108 = alloca ptr, align 8
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca ptr, align 8
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca ptr, align 8
  %115 = alloca i32, align 4
  %116 = alloca i32, align 4
  %117 = alloca %struct.s2n_test_io_pair, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca i32, align 4
  %122 = alloca i32, align 4
  %123 = alloca i32, align 4
  %124 = alloca i32, align 4
  %125 = alloca i32, align 4
  %126 = alloca i32, align 4
  %127 = alloca i32, align 4
  %128 = alloca i32, align 4
  %129 = alloca i32, align 4
  %130 = alloca ptr, align 8
  %131 = alloca i32, align 4
  %132 = alloca i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca ptr, align 8
  %135 = alloca i32, align 4
  %136 = alloca i32, align 4
  %137 = alloca ptr, align 8
  %138 = alloca i32, align 4
  %139 = alloca i32, align 4
  %140 = alloca ptr, align 8
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca %struct.s2n_test_io_pair, align 4
  %144 = alloca i32, align 4
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  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 %158

158:                                              ; preds = %2
  br label %159

159:                                              ; preds = %158
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %160 = load ptr, ptr @stdout, align 8, !tbaa !9
  %161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %160, ptr noundef @.str, ptr noundef @.str.1) #9
  %162 = load ptr, ptr @stdout, align 8, !tbaa !9
  %163 = call i32 @fflush(ptr noundef %162)
  br label %164

164:                                              ; preds = %159
  %165 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %166 = icmp eq i32 %165, -1
  br i1 %166, label %167, label %218

167:                                              ; preds = %164
  br label %168

168:                                              ; preds = %167
  br label %169

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

176:                                              ; preds = %169
  %177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %178 = call i32 @fileno(ptr noundef %177) #9
  %179 = call i32 @isatty(i32 noundef %178) #9
  %180 = icmp ne i32 %179, 0
  br i1 %180, label %181, label %198

181:                                              ; preds = %176
  %182 = load i32, ptr %6, align 4, !tbaa !5
  %183 = call ptr @__errno_location() #10
  store i32 %182, ptr %183, align 4, !tbaa !5
  %184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %185 = load i32, ptr @test_count, align 4, !tbaa !5
  %186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %187 = load i32, ptr %186, align 4, !tbaa !5
  %188 = call ptr @s2n_strerror(i32 noundef %187, ptr noundef @.str.4)
  %189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %190 = load i32, ptr %189, align 4, !tbaa !5
  %191 = call ptr @s2n_strerror_debug(i32 noundef %190, ptr noundef @.str.4)
  %192 = call ptr @__errno_location() #10
  %193 = load i32, ptr %192, align 4, !tbaa !5
  %194 = call ptr @strerror(i32 noundef %193) #9
  %195 = call ptr @__errno_location() #10
  %196 = load i32, ptr %195, align 4, !tbaa !5
  %197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %184, ptr noundef @.str.2, i32 noundef %185, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 22, ptr noundef %188, ptr noundef %191, ptr noundef %194, i32 noundef %196) #9
  br label %215

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

215:                                              ; preds = %198, %181
  call void @llvm.lifetime.end.p0(i64 4, ptr %6) #9
  br label %216

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

217:                                              ; No predecessors!
  br label %218

218:                                              ; preds = %217, %164
  br label %219

219:                                              ; preds = %218
  br label %220

220:                                              ; preds = %219
  %221 = load i32, ptr @test_count, align 4, !tbaa !5
  %222 = add nsw i32 %221, 1
  store i32 %222, ptr @test_count, align 4, !tbaa !5
  %223 = call i32 @s2n_enable_atexit()
  %224 = icmp eq i32 %223, -1
  br i1 %224, label %225, label %276

225:                                              ; preds = %220
  br label %226

226:                                              ; preds = %225
  br label %227

227:                                              ; preds = %226
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #9
  %228 = call ptr @__errno_location() #10
  %229 = load i32, ptr %228, align 4, !tbaa !5
  store i32 %229, ptr %7, align 4, !tbaa !5
  %230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %231 = call i32 @s2n_print_stacktrace(ptr noundef %230)
  %232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %233 = trunc i8 %232 to i1
  br i1 %233, label %234, label %256

234:                                              ; preds = %227
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = call i32 @fileno(ptr noundef %235) #9
  %237 = call i32 @isatty(i32 noundef %236) #9
  %238 = icmp ne i32 %237, 0
  br i1 %238, label %239, label %256

239:                                              ; preds = %234
  %240 = load i32, ptr %7, align 4, !tbaa !5
  %241 = call ptr @__errno_location() #10
  store i32 %240, ptr %241, align 4, !tbaa !5
  %242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %243 = load i32, ptr @test_count, align 4, !tbaa !5
  %244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = call ptr @s2n_strerror(i32 noundef %245, ptr noundef @.str.4)
  %247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call ptr @s2n_strerror_debug(i32 noundef %248, ptr noundef @.str.4)
  %250 = call ptr @__errno_location() #10
  %251 = load i32, ptr %250, align 4, !tbaa !5
  %252 = call ptr @strerror(i32 noundef %251) #9
  %253 = call ptr @__errno_location() #10
  %254 = load i32, ptr %253, align 4, !tbaa !5
  %255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %242, ptr noundef @.str.2, i32 noundef %243, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 22, ptr noundef %246, ptr noundef %249, ptr noundef %252, i32 noundef %254) #9
  br label %273

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

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

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

275:                                              ; No predecessors!
  br label %276

276:                                              ; preds = %275, %220
  br label %277

277:                                              ; preds = %276
  br label %278

278:                                              ; preds = %277
  br label %279

279:                                              ; preds = %278
  %280 = call i32 @s2n_init()
  %281 = icmp eq i32 %280, -1
  br i1 %281, label %282, label %333

282:                                              ; preds = %279
  br label %283

283:                                              ; preds = %282
  br label %284

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

291:                                              ; preds = %284
  %292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %293 = call i32 @fileno(ptr noundef %292) #9
  %294 = call i32 @isatty(i32 noundef %293) #9
  %295 = icmp ne i32 %294, 0
  br i1 %295, label %296, label %313

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

313:                                              ; preds = %291, %284
  %314 = load i32, ptr %8, align 4, !tbaa !5
  %315 = call ptr @__errno_location() #10
  store i32 %314, ptr %315, align 4, !tbaa !5
  %316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %317 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %319, ptr noundef @.str.4)
  %321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = call ptr @s2n_strerror_debug(i32 noundef %322, ptr noundef @.str.4)
  %324 = call ptr @__errno_location() #10
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = call ptr @strerror(i32 noundef %325) #9
  %327 = call ptr @__errno_location() #10
  %328 = load i32, ptr %327, align 4, !tbaa !5
  %329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %316, ptr noundef @.str.5, i32 noundef %317, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 22, ptr noundef %320, ptr noundef %323, ptr noundef %326, i32 noundef %328) #9
  br label %330

330:                                              ; preds = %313, %296
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #9
  br label %331

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

332:                                              ; No predecessors!
  br label %333

333:                                              ; preds = %332, %279
  br label %334

334:                                              ; preds = %333
  br label %335

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

336:                                              ; preds = %335
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = add nsw i32 %337, 1
  store i32 %338, ptr @test_count, align 4, !tbaa !5
  %339 = call ptr @s2n_config_new()
  store ptr %339, ptr %9, align 8, !tbaa !9
  %340 = icmp eq ptr %339, null
  br i1 %340, label %341, label %394

341:                                              ; preds = %336
  br label %342

342:                                              ; preds = %341
  br label %343

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

350:                                              ; preds = %343
  %351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %352 = call i32 @fileno(ptr noundef %351) #9
  %353 = call i32 @isatty(i32 noundef %352) #9
  %354 = icmp ne i32 %353, 0
  br i1 %354, label %355, label %372

355:                                              ; preds = %350
  %356 = load i32, ptr %10, align 4, !tbaa !5
  %357 = call ptr @__errno_location() #10
  store i32 %356, ptr %357, align 4, !tbaa !5
  %358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %359 = load i32, ptr @test_count, align 4, !tbaa !5
  %360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %361 = load i32, ptr %360, align 4, !tbaa !5
  %362 = call ptr @s2n_strerror(i32 noundef %361, ptr noundef @.str.4)
  %363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %364 = load i32, ptr %363, align 4, !tbaa !5
  %365 = call ptr @s2n_strerror_debug(i32 noundef %364, ptr noundef @.str.4)
  %366 = call ptr @__errno_location() #10
  %367 = load i32, ptr %366, align 4, !tbaa !5
  %368 = call ptr @strerror(i32 noundef %367) #9
  %369 = call ptr @__errno_location() #10
  %370 = load i32, ptr %369, align 4, !tbaa !5
  %371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %358, ptr noundef @.str.2, i32 noundef %359, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 27, ptr noundef %362, ptr noundef %365, ptr noundef %368, i32 noundef %370) #9
  br label %389

372:                                              ; preds = %350, %343
  %373 = load i32, ptr %10, align 4, !tbaa !5
  %374 = call ptr @__errno_location() #10
  store i32 %373, ptr %374, align 4, !tbaa !5
  %375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %376 = load i32, ptr @test_count, align 4, !tbaa !5
  %377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %378 = load i32, ptr %377, align 4, !tbaa !5
  %379 = call ptr @s2n_strerror(i32 noundef %378, ptr noundef @.str.4)
  %380 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %381 = load i32, ptr %380, align 4, !tbaa !5
  %382 = call ptr @s2n_strerror_debug(i32 noundef %381, ptr noundef @.str.4)
  %383 = call ptr @__errno_location() #10
  %384 = load i32, ptr %383, align 4, !tbaa !5
  %385 = call ptr @strerror(i32 noundef %384) #9
  %386 = call ptr @__errno_location() #10
  %387 = load i32, ptr %386, align 4, !tbaa !5
  %388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %375, ptr noundef @.str.5, i32 noundef %376, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 27, ptr noundef %379, ptr noundef %382, ptr noundef %385, i32 noundef %387) #9
  br label %389

389:                                              ; preds = %372, %355
  call void @llvm.lifetime.end.p0(i64 4, ptr %10) #9
  br label %390

390:                                              ; preds = %389
  br label %391

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

392:                                              ; No predecessors!
  br label %393

393:                                              ; preds = %392
  br label %394

394:                                              ; preds = %393, %336
  br label %395

395:                                              ; preds = %394
  br label %396

396:                                              ; preds = %395
  br label %397

397:                                              ; preds = %396
  %398 = load i32, ptr @test_count, align 4, !tbaa !5
  %399 = add nsw i32 %398, 1
  store i32 %399, ptr @test_count, align 4, !tbaa !5
  %400 = load ptr, ptr %9, align 8, !tbaa !9
  %401 = call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef %400)
  %402 = getelementptr inbounds %struct.s2n_result, ptr %11, i32 0, i32 0
  store i32 %401, ptr %402, align 4
  %403 = getelementptr inbounds %struct.s2n_result, ptr %11, i32 0, i32 0
  %404 = load i32, ptr %403, align 4
  %405 = call zeroext i1 @s2n_result_is_ok(i32 %404)
  br i1 %405, label %459, label %406

406:                                              ; preds = %397
  br label %407

407:                                              ; preds = %406
  br label %408

408:                                              ; preds = %407
  call void @llvm.lifetime.start.p0(i64 4, ptr %12) #9
  %409 = call ptr @__errno_location() #10
  %410 = load i32, ptr %409, align 4, !tbaa !5
  store i32 %410, ptr %12, align 4, !tbaa !5
  %411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %412 = call i32 @s2n_print_stacktrace(ptr noundef %411)
  %413 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %414 = trunc i8 %413 to i1
  br i1 %414, label %415, label %437

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

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

437:                                              ; preds = %415, %408
  %438 = load i32, ptr %12, align 4, !tbaa !5
  %439 = call ptr @__errno_location() #10
  store i32 %438, ptr %439, align 4, !tbaa !5
  %440 = load ptr, ptr @stderr, align 8, !tbaa !9
  %441 = load i32, ptr @test_count, align 4, !tbaa !5
  %442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = call ptr @s2n_strerror(i32 noundef %443, ptr noundef @.str.4)
  %445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %446 = load i32, ptr %445, align 4, !tbaa !5
  %447 = call ptr @s2n_strerror_debug(i32 noundef %446, ptr noundef @.str.4)
  %448 = call ptr @__errno_location() #10
  %449 = load i32, ptr %448, align 4, !tbaa !5
  %450 = call ptr @strerror(i32 noundef %449) #9
  %451 = call ptr @__errno_location() #10
  %452 = load i32, ptr %451, align 4, !tbaa !5
  %453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %440, ptr noundef @.str.5, i32 noundef %441, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 28, ptr noundef %444, ptr noundef %447, ptr noundef %450, i32 noundef %452) #9
  br label %454

454:                                              ; preds = %437, %420
  call void @llvm.lifetime.end.p0(i64 4, ptr %12) #9
  br label %455

455:                                              ; preds = %454
  br label %456

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

457:                                              ; No predecessors!
  br label %458

458:                                              ; preds = %457
  br label %459

459:                                              ; preds = %458, %397
  br label %460

460:                                              ; preds = %459
  br label %461

461:                                              ; preds = %460
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #9
  %462 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %462, ptr %13, align 8, !tbaa !9
  br label %463

463:                                              ; preds = %461
  %464 = load i32, ptr @test_count, align 4, !tbaa !5
  %465 = add nsw i32 %464, 1
  store i32 %465, ptr @test_count, align 4, !tbaa !5
  %466 = load ptr, ptr %13, align 8, !tbaa !9
  %467 = icmp eq ptr %466, null
  br i1 %467, label %468, label %521

468:                                              ; preds = %463
  br label %469

469:                                              ; preds = %468
  br label %470

470:                                              ; preds = %469
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #9
  %471 = call ptr @__errno_location() #10
  %472 = load i32, ptr %471, align 4, !tbaa !5
  store i32 %472, ptr %14, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = call i32 @s2n_print_stacktrace(ptr noundef %473)
  %475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %476 = trunc i8 %475 to i1
  br i1 %476, label %477, label %499

477:                                              ; preds = %470
  %478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %479 = call i32 @fileno(ptr noundef %478) #9
  %480 = call i32 @isatty(i32 noundef %479) #9
  %481 = icmp ne i32 %480, 0
  br i1 %481, label %482, label %499

482:                                              ; preds = %477
  %483 = load i32, ptr %14, align 4, !tbaa !5
  %484 = call ptr @__errno_location() #10
  store i32 %483, ptr %484, align 4, !tbaa !5
  %485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %486 = load i32, ptr @test_count, align 4, !tbaa !5
  %487 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %488 = load i32, ptr %487, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror(i32 noundef %488, ptr noundef @.str.4)
  %490 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %491 = load i32, ptr %490, align 4, !tbaa !5
  %492 = call ptr @s2n_strerror_debug(i32 noundef %491, ptr noundef @.str.4)
  %493 = call ptr @__errno_location() #10
  %494 = load i32, ptr %493, align 4, !tbaa !5
  %495 = call ptr @strerror(i32 noundef %494) #9
  %496 = call ptr @__errno_location() #10
  %497 = load i32, ptr %496, align 4, !tbaa !5
  %498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %485, ptr noundef @.str.2, i32 noundef %486, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 39, ptr noundef %489, ptr noundef %492, ptr noundef %495, i32 noundef %497) #9
  br label %516

499:                                              ; preds = %477, %470
  %500 = load i32, ptr %14, align 4, !tbaa !5
  %501 = call ptr @__errno_location() #10
  store i32 %500, ptr %501, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = load i32, ptr @test_count, align 4, !tbaa !5
  %504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %505 = load i32, ptr %504, align 4, !tbaa !5
  %506 = call ptr @s2n_strerror(i32 noundef %505, ptr noundef @.str.4)
  %507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %508 = load i32, ptr %507, align 4, !tbaa !5
  %509 = call ptr @s2n_strerror_debug(i32 noundef %508, ptr noundef @.str.4)
  %510 = call ptr @__errno_location() #10
  %511 = load i32, ptr %510, align 4, !tbaa !5
  %512 = call ptr @strerror(i32 noundef %511) #9
  %513 = call ptr @__errno_location() #10
  %514 = load i32, ptr %513, align 4, !tbaa !5
  %515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %502, ptr noundef @.str.5, i32 noundef %503, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 39, ptr noundef %506, ptr noundef %509, ptr noundef %512, i32 noundef %514) #9
  br label %516

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

517:                                              ; preds = %516
  br label %518

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

519:                                              ; No predecessors!
  br label %520

520:                                              ; preds = %519
  br label %521

521:                                              ; preds = %520, %463
  br label %522

522:                                              ; preds = %521
  br label %523

523:                                              ; preds = %522
  br label %524

524:                                              ; preds = %523
  %525 = load i32, ptr @test_count, align 4, !tbaa !5
  %526 = add nsw i32 %525, 1
  store i32 %526, ptr @test_count, align 4, !tbaa !5
  %527 = load ptr, ptr %13, align 8, !tbaa !9
  %528 = load ptr, ptr %9, align 8, !tbaa !9
  %529 = call i32 @s2n_connection_set_config(ptr noundef %527, ptr noundef %528)
  %530 = icmp eq i32 %529, -1
  br i1 %530, label %531, label %584

531:                                              ; preds = %524
  br label %532

532:                                              ; preds = %531
  br label %533

533:                                              ; preds = %532
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #9
  %534 = call ptr @__errno_location() #10
  %535 = load i32, ptr %534, align 4, !tbaa !5
  store i32 %535, ptr %15, align 4, !tbaa !5
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = call i32 @s2n_print_stacktrace(ptr noundef %536)
  %538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %539 = trunc i8 %538 to i1
  br i1 %539, label %540, label %562

540:                                              ; preds = %533
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = call i32 @fileno(ptr noundef %541) #9
  %543 = call i32 @isatty(i32 noundef %542) #9
  %544 = icmp ne i32 %543, 0
  br i1 %544, label %545, label %562

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

562:                                              ; preds = %540, %533
  %563 = load i32, ptr %15, align 4, !tbaa !5
  %564 = call ptr @__errno_location() #10
  store i32 %563, ptr %564, align 4, !tbaa !5
  %565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %566 = load i32, ptr @test_count, align 4, !tbaa !5
  %567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %568 = load i32, ptr %567, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror(i32 noundef %568, ptr noundef @.str.4)
  %570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %571 = load i32, ptr %570, align 4, !tbaa !5
  %572 = call ptr @s2n_strerror_debug(i32 noundef %571, ptr noundef @.str.4)
  %573 = call ptr @__errno_location() #10
  %574 = load i32, ptr %573, align 4, !tbaa !5
  %575 = call ptr @strerror(i32 noundef %574) #9
  %576 = call ptr @__errno_location() #10
  %577 = load i32, ptr %576, align 4, !tbaa !5
  %578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %565, ptr noundef @.str.5, i32 noundef %566, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 40, ptr noundef %569, ptr noundef %572, ptr noundef %575, i32 noundef %577) #9
  br label %579

579:                                              ; preds = %562, %545
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #9
  br label %580

580:                                              ; preds = %579
  br label %581

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

582:                                              ; No predecessors!
  br label %583

583:                                              ; preds = %582
  br label %584

584:                                              ; preds = %583, %524
  br label %585

585:                                              ; preds = %584
  br label %586

586:                                              ; preds = %585
  %587 = load ptr, ptr %13, align 8, !tbaa !9
  %588 = getelementptr inbounds %struct.s2n_connection, ptr %587, i32 0, i32 23
  store i8 33, ptr %588, align 4, !tbaa !15
  %589 = load ptr, ptr %13, align 8, !tbaa !9
  %590 = getelementptr inbounds %struct.s2n_connection, ptr %589, i32 0, i32 27
  %591 = load ptr, ptr %590, align 8, !tbaa !42
  %592 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %591, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %592, align 8, !tbaa !43
  %593 = load ptr, ptr %13, align 8, !tbaa !9
  %594 = load i32, ptr %593, align 8
  %595 = and i32 %594, -8193
  %596 = or i32 %595, 8192
  store i32 %596, ptr %593, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr %16) #9
  call void @llvm.memset.p0.i64(ptr align 8 %16, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %17) #9
  call void @llvm.memset.p0.i64(ptr align 8 %17, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr %18) #9
  call void @llvm.memset.p0.i64(ptr align 16 %18, i8 0, i64 138, i1 false)
  br label %597

597:                                              ; preds = %586
  %598 = load i32, ptr @test_count, align 4, !tbaa !5
  %599 = add nsw i32 %598, 1
  store i32 %599, ptr @test_count, align 4, !tbaa !5
  %600 = getelementptr inbounds [138 x i8], ptr %18, i64 0, i64 0
  %601 = call i32 @s2n_blob_init(ptr noundef %17, ptr noundef %600, i32 noundef 138)
  %602 = icmp eq i32 %601, -1
  br i1 %602, label %603, label %656

603:                                              ; preds = %597
  br label %604

604:                                              ; preds = %603
  br label %605

605:                                              ; preds = %604
  call void @llvm.lifetime.start.p0(i64 4, ptr %19) #9
  %606 = call ptr @__errno_location() #10
  %607 = load i32, ptr %606, align 4, !tbaa !5
  store i32 %607, ptr %19, align 4, !tbaa !5
  %608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %609 = call i32 @s2n_print_stacktrace(ptr noundef %608)
  %610 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %611 = trunc i8 %610 to i1
  br i1 %611, label %612, label %634

612:                                              ; preds = %605
  %613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %614 = call i32 @fileno(ptr noundef %613) #9
  %615 = call i32 @isatty(i32 noundef %614) #9
  %616 = icmp ne i32 %615, 0
  br i1 %616, label %617, label %634

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

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

651:                                              ; preds = %634, %617
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #9
  br label %652

652:                                              ; preds = %651
  br label %653

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

654:                                              ; No predecessors!
  br label %655

655:                                              ; preds = %654
  br label %656

656:                                              ; preds = %655, %597
  br label %657

657:                                              ; preds = %656
  br label %658

658:                                              ; preds = %657
  br label %659

659:                                              ; preds = %658
  %660 = load i32, ptr @test_count, align 4, !tbaa !5
  %661 = add nsw i32 %660, 1
  store i32 %661, ptr @test_count, align 4, !tbaa !5
  %662 = call i32 @s2n_stuffer_init(ptr noundef %16, ptr noundef %17)
  %663 = icmp eq i32 %662, -1
  br i1 %663, label %664, label %717

664:                                              ; preds = %659
  br label %665

665:                                              ; preds = %664
  br label %666

666:                                              ; preds = %665
  call void @llvm.lifetime.start.p0(i64 4, ptr %20) #9
  %667 = call ptr @__errno_location() #10
  %668 = load i32, ptr %667, align 4, !tbaa !5
  store i32 %668, ptr %20, align 4, !tbaa !5
  %669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %670 = call i32 @s2n_print_stacktrace(ptr noundef %669)
  %671 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %672 = trunc i8 %671 to i1
  br i1 %672, label %673, label %695

673:                                              ; preds = %666
  %674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %675 = call i32 @fileno(ptr noundef %674) #9
  %676 = call i32 @isatty(i32 noundef %675) #9
  %677 = icmp ne i32 %676, 0
  br i1 %677, label %678, label %695

678:                                              ; preds = %673
  %679 = load i32, ptr %20, 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.2, i32 noundef %682, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 50, ptr noundef %685, ptr noundef %688, ptr noundef %691, i32 noundef %693) #9
  br label %712

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

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

713:                                              ; preds = %712
  br label %714

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

715:                                              ; No predecessors!
  br label %716

716:                                              ; preds = %715
  br label %717

717:                                              ; preds = %716, %659
  br label %718

718:                                              ; preds = %717
  br label %719

719:                                              ; preds = %718
  call void @llvm.lifetime.start.p0(i64 8, ptr %21) #9
  %720 = load ptr, ptr %13, align 8, !tbaa !9
  %721 = getelementptr inbounds %struct.s2n_connection, ptr %720, i32 0, i32 1
  %722 = load ptr, ptr %721, align 8, !tbaa !48
  %723 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %722)
  store ptr %723, ptr %21, align 8, !tbaa !9
  br label %724

724:                                              ; preds = %719
  %725 = load i32, ptr @test_count, align 4, !tbaa !5
  %726 = add nsw i32 %725, 1
  store i32 %726, ptr @test_count, align 4, !tbaa !5
  %727 = load ptr, ptr %21, align 8, !tbaa !9
  %728 = icmp eq ptr %727, null
  br i1 %728, label %729, label %782

729:                                              ; preds = %724
  br label %730

730:                                              ; preds = %729
  br label %731

731:                                              ; preds = %730
  call void @llvm.lifetime.start.p0(i64 4, ptr %22) #9
  %732 = call ptr @__errno_location() #10
  %733 = load i32, ptr %732, align 4, !tbaa !5
  store i32 %733, ptr %22, align 4, !tbaa !5
  %734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %735 = call i32 @s2n_print_stacktrace(ptr noundef %734)
  %736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %737 = trunc i8 %736 to i1
  br i1 %737, label %738, label %760

738:                                              ; preds = %731
  %739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %740 = call i32 @fileno(ptr noundef %739) #9
  %741 = call i32 @isatty(i32 noundef %740) #9
  %742 = icmp ne i32 %741, 0
  br i1 %742, label %743, label %760

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

760:                                              ; preds = %738, %731
  %761 = load i32, ptr %22, align 4, !tbaa !5
  %762 = call ptr @__errno_location() #10
  store i32 %761, ptr %762, align 4, !tbaa !5
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %766 = load i32, ptr %765, align 4, !tbaa !5
  %767 = call ptr @s2n_strerror(i32 noundef %766, ptr noundef @.str.4)
  %768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %769 = load i32, ptr %768, align 4, !tbaa !5
  %770 = call ptr @s2n_strerror_debug(i32 noundef %769, ptr noundef @.str.4)
  %771 = call ptr @__errno_location() #10
  %772 = load i32, ptr %771, align 4, !tbaa !5
  %773 = call ptr @strerror(i32 noundef %772) #9
  %774 = call ptr @__errno_location() #10
  %775 = load i32, ptr %774, align 4, !tbaa !5
  %776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %763, ptr noundef @.str.5, i32 noundef %764, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 53, ptr noundef %767, ptr noundef %770, ptr noundef %773, i32 noundef %775) #9
  br label %777

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

778:                                              ; preds = %777
  br label %779

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

780:                                              ; No predecessors!
  br label %781

781:                                              ; preds = %780
  br label %782

782:                                              ; preds = %781, %724
  br label %783

783:                                              ; preds = %782
  br label %784

784:                                              ; preds = %783
  br label %785

785:                                              ; preds = %784
  %786 = load i32, ptr @test_count, align 4, !tbaa !5
  %787 = add nsw i32 %786, 1
  store i32 %787, ptr @test_count, align 4, !tbaa !5
  %788 = load ptr, ptr %13, align 8, !tbaa !9
  %789 = load ptr, ptr %21, align 8, !tbaa !9
  %790 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef %788, ptr noundef %789, ptr noundef %16)
  %791 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  store i32 %790, ptr %791, align 4
  %792 = getelementptr inbounds %struct.s2n_result, ptr %23, i32 0, i32 0
  %793 = load i32, ptr %792, align 4
  %794 = call zeroext i1 @s2n_result_is_ok(i32 %793)
  br i1 %794, label %848, label %795

795:                                              ; preds = %785
  br label %796

796:                                              ; preds = %795
  br label %797

797:                                              ; preds = %796
  call void @llvm.lifetime.start.p0(i64 4, ptr %24) #9
  %798 = call ptr @__errno_location() #10
  %799 = load i32, ptr %798, align 4, !tbaa !5
  store i32 %799, ptr %24, align 4, !tbaa !5
  %800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %801 = call i32 @s2n_print_stacktrace(ptr noundef %800)
  %802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %803 = trunc i8 %802 to i1
  br i1 %803, label %804, label %826

804:                                              ; preds = %797
  %805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %806 = call i32 @fileno(ptr noundef %805) #9
  %807 = call i32 @isatty(i32 noundef %806) #9
  %808 = icmp ne i32 %807, 0
  br i1 %808, label %809, label %826

809:                                              ; preds = %804
  %810 = load i32, ptr %24, align 4, !tbaa !5
  %811 = call ptr @__errno_location() #10
  store i32 %810, ptr %811, align 4, !tbaa !5
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = load i32, ptr @test_count, align 4, !tbaa !5
  %814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %815 = load i32, ptr %814, align 4, !tbaa !5
  %816 = call ptr @s2n_strerror(i32 noundef %815, ptr noundef @.str.4)
  %817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %818 = load i32, ptr %817, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror_debug(i32 noundef %818, ptr noundef @.str.4)
  %820 = call ptr @__errno_location() #10
  %821 = load i32, ptr %820, align 4, !tbaa !5
  %822 = call ptr @strerror(i32 noundef %821) #9
  %823 = call ptr @__errno_location() #10
  %824 = load i32, ptr %823, align 4, !tbaa !5
  %825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %812, ptr noundef @.str.2, i32 noundef %813, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 56, ptr noundef %816, ptr noundef %819, ptr noundef %822, i32 noundef %824) #9
  br label %843

826:                                              ; preds = %804, %797
  %827 = load i32, ptr %24, align 4, !tbaa !5
  %828 = call ptr @__errno_location() #10
  store i32 %827, ptr %828, align 4, !tbaa !5
  %829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %830 = load i32, ptr @test_count, align 4, !tbaa !5
  %831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %832 = load i32, ptr %831, align 4, !tbaa !5
  %833 = call ptr @s2n_strerror(i32 noundef %832, ptr noundef @.str.4)
  %834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %835 = load i32, ptr %834, align 4, !tbaa !5
  %836 = call ptr @s2n_strerror_debug(i32 noundef %835, ptr noundef @.str.4)
  %837 = call ptr @__errno_location() #10
  %838 = load i32, ptr %837, align 4, !tbaa !5
  %839 = call ptr @strerror(i32 noundef %838) #9
  %840 = call ptr @__errno_location() #10
  %841 = load i32, ptr %840, align 4, !tbaa !5
  %842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %829, ptr noundef @.str.5, i32 noundef %830, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 56, ptr noundef %833, ptr noundef %836, ptr noundef %839, i32 noundef %841) #9
  br label %843

843:                                              ; preds = %826, %809
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #9
  br label %844

844:                                              ; preds = %843
  br label %845

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

846:                                              ; No predecessors!
  br label %847

847:                                              ; preds = %846
  br label %848

848:                                              ; preds = %847, %785
  br label %849

849:                                              ; preds = %848
  br label %850

850:                                              ; preds = %849
  br label %851

851:                                              ; preds = %850
  %852 = load i32, ptr @test_count, align 4, !tbaa !5
  %853 = add nsw i32 %852, 1
  store i32 %853, ptr @test_count, align 4, !tbaa !5
  %854 = load ptr, ptr %13, align 8, !tbaa !9
  %855 = call i32 @s2n_connection_wipe(ptr noundef %854)
  %856 = icmp eq i32 %855, -1
  br i1 %856, label %857, label %910

857:                                              ; preds = %851
  br label %858

858:                                              ; preds = %857
  br label %859

859:                                              ; preds = %858
  call void @llvm.lifetime.start.p0(i64 4, ptr %25) #9
  %860 = call ptr @__errno_location() #10
  %861 = load i32, ptr %860, align 4, !tbaa !5
  store i32 %861, ptr %25, align 4, !tbaa !5
  %862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %863 = call i32 @s2n_print_stacktrace(ptr noundef %862)
  %864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %865 = trunc i8 %864 to i1
  br i1 %865, label %866, label %888

866:                                              ; preds = %859
  %867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %868 = call i32 @fileno(ptr noundef %867) #9
  %869 = call i32 @isatty(i32 noundef %868) #9
  %870 = icmp ne i32 %869, 0
  br i1 %870, label %871, label %888

871:                                              ; preds = %866
  %872 = load i32, ptr %25, align 4, !tbaa !5
  %873 = call ptr @__errno_location() #10
  store i32 %872, ptr %873, align 4, !tbaa !5
  %874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %875 = load i32, ptr @test_count, align 4, !tbaa !5
  %876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %877 = load i32, ptr %876, align 4, !tbaa !5
  %878 = call ptr @s2n_strerror(i32 noundef %877, ptr noundef @.str.4)
  %879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %880 = load i32, ptr %879, align 4, !tbaa !5
  %881 = call ptr @s2n_strerror_debug(i32 noundef %880, ptr noundef @.str.4)
  %882 = call ptr @__errno_location() #10
  %883 = load i32, ptr %882, align 4, !tbaa !5
  %884 = call ptr @strerror(i32 noundef %883) #9
  %885 = call ptr @__errno_location() #10
  %886 = load i32, ptr %885, align 4, !tbaa !5
  %887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %874, ptr noundef @.str.2, i32 noundef %875, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 58, ptr noundef %878, ptr noundef %881, ptr noundef %884, i32 noundef %886) #9
  br label %905

888:                                              ; preds = %866, %859
  %889 = load i32, ptr %25, align 4, !tbaa !5
  %890 = call ptr @__errno_location() #10
  store i32 %889, ptr %890, align 4, !tbaa !5
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = load i32, ptr @test_count, align 4, !tbaa !5
  %893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %894 = load i32, ptr %893, align 4, !tbaa !5
  %895 = call ptr @s2n_strerror(i32 noundef %894, ptr noundef @.str.4)
  %896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %897 = load i32, ptr %896, align 4, !tbaa !5
  %898 = call ptr @s2n_strerror_debug(i32 noundef %897, ptr noundef @.str.4)
  %899 = call ptr @__errno_location() #10
  %900 = load i32, ptr %899, align 4, !tbaa !5
  %901 = call ptr @strerror(i32 noundef %900) #9
  %902 = call ptr @__errno_location() #10
  %903 = load i32, ptr %902, align 4, !tbaa !5
  %904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %891, ptr noundef @.str.5, i32 noundef %892, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 58, ptr noundef %895, ptr noundef %898, ptr noundef %901, i32 noundef %903) #9
  br label %905

905:                                              ; preds = %888, %871
  call void @llvm.lifetime.end.p0(i64 4, ptr %25) #9
  br label %906

906:                                              ; preds = %905
  br label %907

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

908:                                              ; No predecessors!
  br label %909

909:                                              ; preds = %908
  br label %910

910:                                              ; preds = %909, %851
  br label %911

911:                                              ; preds = %910
  br label %912

912:                                              ; preds = %911
  br label %913

913:                                              ; preds = %912
  %914 = load i32, ptr @test_count, align 4, !tbaa !5
  %915 = add nsw i32 %914, 1
  store i32 %915, ptr @test_count, align 4, !tbaa !5
  %916 = load ptr, ptr %13, align 8, !tbaa !9
  %917 = load ptr, ptr %9, align 8, !tbaa !9
  %918 = call i32 @s2n_connection_set_config(ptr noundef %916, ptr noundef %917)
  %919 = icmp eq i32 %918, -1
  br i1 %919, label %920, label %973

920:                                              ; preds = %913
  br label %921

921:                                              ; preds = %920
  br label %922

922:                                              ; preds = %921
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #9
  %923 = call ptr @__errno_location() #10
  %924 = load i32, ptr %923, align 4, !tbaa !5
  store i32 %924, ptr %26, align 4, !tbaa !5
  %925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %926 = call i32 @s2n_print_stacktrace(ptr noundef %925)
  %927 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %928 = trunc i8 %927 to i1
  br i1 %928, label %929, label %951

929:                                              ; preds = %922
  %930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %931 = call i32 @fileno(ptr noundef %930) #9
  %932 = call i32 @isatty(i32 noundef %931) #9
  %933 = icmp ne i32 %932, 0
  br i1 %933, label %934, label %951

934:                                              ; preds = %929
  %935 = load i32, ptr %26, align 4, !tbaa !5
  %936 = call ptr @__errno_location() #10
  store i32 %935, ptr %936, align 4, !tbaa !5
  %937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %938 = load i32, ptr @test_count, align 4, !tbaa !5
  %939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %940 = load i32, ptr %939, align 4, !tbaa !5
  %941 = call ptr @s2n_strerror(i32 noundef %940, ptr noundef @.str.4)
  %942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %943 = load i32, ptr %942, align 4, !tbaa !5
  %944 = call ptr @s2n_strerror_debug(i32 noundef %943, ptr noundef @.str.4)
  %945 = call ptr @__errno_location() #10
  %946 = load i32, ptr %945, align 4, !tbaa !5
  %947 = call ptr @strerror(i32 noundef %946) #9
  %948 = call ptr @__errno_location() #10
  %949 = load i32, ptr %948, align 4, !tbaa !5
  %950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %937, ptr noundef @.str.2, i32 noundef %938, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 59, ptr noundef %941, ptr noundef %944, ptr noundef %947, i32 noundef %949) #9
  br label %968

951:                                              ; preds = %929, %922
  %952 = load i32, ptr %26, align 4, !tbaa !5
  %953 = call ptr @__errno_location() #10
  store i32 %952, ptr %953, align 4, !tbaa !5
  %954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %955 = load i32, ptr @test_count, align 4, !tbaa !5
  %956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %957 = load i32, ptr %956, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef @.str.4)
  %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_debug(i32 noundef %960, ptr noundef @.str.4)
  %962 = call ptr @__errno_location() #10
  %963 = load i32, ptr %962, align 4, !tbaa !5
  %964 = call ptr @strerror(i32 noundef %963) #9
  %965 = call ptr @__errno_location() #10
  %966 = load i32, ptr %965, align 4, !tbaa !5
  %967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %954, ptr noundef @.str.5, i32 noundef %955, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 59, ptr noundef %958, ptr noundef %961, ptr noundef %964, i32 noundef %966) #9
  br label %968

968:                                              ; preds = %951, %934
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #9
  br label %969

969:                                              ; preds = %968
  br label %970

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

971:                                              ; No predecessors!
  br label %972

972:                                              ; preds = %971
  br label %973

973:                                              ; preds = %972, %913
  br label %974

974:                                              ; preds = %973
  br label %975

975:                                              ; preds = %974
  %976 = load ptr, ptr %13, align 8, !tbaa !9
  %977 = getelementptr inbounds %struct.s2n_connection, ptr %976, i32 0, i32 23
  store i8 33, ptr %977, align 4, !tbaa !15
  %978 = load ptr, ptr %13, align 8, !tbaa !9
  %979 = getelementptr inbounds %struct.s2n_connection, ptr %978, i32 0, i32 27
  %980 = load ptr, ptr %979, align 8, !tbaa !42
  %981 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %980, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %981, align 8, !tbaa !43
  %982 = load ptr, ptr %13, align 8, !tbaa !9
  %983 = getelementptr inbounds %struct.s2n_connection, ptr %982, i32 0, i32 76
  store i32 1, ptr %983, align 4, !tbaa !49
  br label %984

984:                                              ; preds = %975
  %985 = load i32, ptr @test_count, align 4, !tbaa !5
  %986 = add nsw i32 %985, 1
  store i32 %986, ptr @test_count, align 4, !tbaa !5
  %987 = load ptr, ptr %13, align 8, !tbaa !9
  %988 = getelementptr inbounds %struct.s2n_connection, ptr %987, i32 0, i32 81
  %989 = call i32 @s2n_stuffer_copy(ptr noundef %16, ptr noundef %988, i32 noundef 138)
  %990 = icmp eq i32 %989, -1
  br i1 %990, label %991, label %1044

991:                                              ; preds = %984
  br label %992

992:                                              ; preds = %991
  br label %993

993:                                              ; preds = %992
  call void @llvm.lifetime.start.p0(i64 4, ptr %27) #9
  %994 = call ptr @__errno_location() #10
  %995 = load i32, ptr %994, align 4, !tbaa !5
  store i32 %995, ptr %27, align 4, !tbaa !5
  %996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %997 = call i32 @s2n_print_stacktrace(ptr noundef %996)
  %998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %999 = trunc i8 %998 to i1
  br i1 %999, label %1000, label %1022

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

1005:                                             ; preds = %1000
  %1006 = load i32, ptr %27, align 4, !tbaa !5
  %1007 = call ptr @__errno_location() #10
  store i32 %1006, ptr %1007, align 4, !tbaa !5
  %1008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1009 = load i32, ptr @test_count, align 4, !tbaa !5
  %1010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1011 = load i32, ptr %1010, align 4, !tbaa !5
  %1012 = call ptr @s2n_strerror(i32 noundef %1011, ptr noundef @.str.4)
  %1013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1014 = load i32, ptr %1013, align 4, !tbaa !5
  %1015 = call ptr @s2n_strerror_debug(i32 noundef %1014, ptr noundef @.str.4)
  %1016 = call ptr @__errno_location() #10
  %1017 = load i32, ptr %1016, align 4, !tbaa !5
  %1018 = call ptr @strerror(i32 noundef %1017) #9
  %1019 = call ptr @__errno_location() #10
  %1020 = load i32, ptr %1019, align 4, !tbaa !5
  %1021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1008, ptr noundef @.str.2, i32 noundef %1009, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1012, ptr noundef %1015, ptr noundef %1018, i32 noundef %1020) #9
  br label %1039

1022:                                             ; preds = %1000, %993
  %1023 = load i32, ptr %27, align 4, !tbaa !5
  %1024 = call ptr @__errno_location() #10
  store i32 %1023, ptr %1024, align 4, !tbaa !5
  %1025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1026 = load i32, ptr @test_count, align 4, !tbaa !5
  %1027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1028 = load i32, ptr %1027, align 4, !tbaa !5
  %1029 = call ptr @s2n_strerror(i32 noundef %1028, ptr noundef @.str.4)
  %1030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1031 = load i32, ptr %1030, align 4, !tbaa !5
  %1032 = call ptr @s2n_strerror_debug(i32 noundef %1031, ptr noundef @.str.4)
  %1033 = call ptr @__errno_location() #10
  %1034 = load i32, ptr %1033, align 4, !tbaa !5
  %1035 = call ptr @strerror(i32 noundef %1034) #9
  %1036 = call ptr @__errno_location() #10
  %1037 = load i32, ptr %1036, align 4, !tbaa !5
  %1038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1025, ptr noundef @.str.5, i32 noundef %1026, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 63, ptr noundef %1029, ptr noundef %1032, ptr noundef %1035, i32 noundef %1037) #9
  br label %1039

1039:                                             ; preds = %1022, %1005
  call void @llvm.lifetime.end.p0(i64 4, ptr %27) #9
  br label %1040

1040:                                             ; preds = %1039
  br label %1041

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

1042:                                             ; No predecessors!
  br label %1043

1043:                                             ; preds = %1042
  br label %1044

1044:                                             ; preds = %1043, %984
  br label %1045

1045:                                             ; preds = %1044
  br label %1046

1046:                                             ; preds = %1045
  br label %1047

1047:                                             ; preds = %1046
  br label %1048

1048:                                             ; preds = %1047
  br label %1049

1049:                                             ; preds = %1048
  %1050 = load i32, ptr @test_count, align 4, !tbaa !5
  %1051 = add nsw i32 %1050, 1
  store i32 %1051, ptr @test_count, align 4, !tbaa !5
  %1052 = load ptr, ptr %13, align 8, !tbaa !9
  %1053 = call i32 @s2n_conn_set_handshake_type(ptr noundef %1052)
  %1054 = icmp eq i32 %1053, -1
  br i1 %1054, label %1108, label %1055

1055:                                             ; preds = %1049
  br label %1056

1056:                                             ; preds = %1055
  br label %1057

1057:                                             ; preds = %1056
  call void @llvm.lifetime.start.p0(i64 4, ptr %28) #9
  %1058 = call ptr @__errno_location() #10
  %1059 = load i32, ptr %1058, align 4, !tbaa !5
  store i32 %1059, ptr %28, align 4, !tbaa !5
  %1060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1061 = call i32 @s2n_print_stacktrace(ptr noundef %1060)
  %1062 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1063 = trunc i8 %1062 to i1
  br i1 %1063, label %1064, label %1086

1064:                                             ; preds = %1057
  %1065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1066 = call i32 @fileno(ptr noundef %1065) #9
  %1067 = call i32 @isatty(i32 noundef %1066) #9
  %1068 = icmp ne i32 %1067, 0
  br i1 %1068, label %1069, label %1086

1069:                                             ; preds = %1064
  %1070 = load i32, ptr %28, align 4, !tbaa !5
  %1071 = call ptr @__errno_location() #10
  store i32 %1070, ptr %1071, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = load i32, ptr @test_count, align 4, !tbaa !5
  %1074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1075 = load i32, ptr %1074, align 4, !tbaa !5
  %1076 = call ptr @s2n_strerror(i32 noundef %1075, ptr noundef @.str.4)
  %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_debug(i32 noundef %1078, ptr noundef @.str.4)
  %1080 = call ptr @__errno_location() #10
  %1081 = load i32, ptr %1080, align 4, !tbaa !5
  %1082 = call ptr @strerror(i32 noundef %1081) #9
  %1083 = call ptr @__errno_location() #10
  %1084 = load i32, ptr %1083, align 4, !tbaa !5
  %1085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1072, ptr noundef @.str.2, i32 noundef %1073, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1076, ptr noundef %1079, ptr noundef %1082, i32 noundef %1084) #9
  br label %1103

1086:                                             ; preds = %1064, %1057
  %1087 = load i32, ptr %28, align 4, !tbaa !5
  %1088 = call ptr @__errno_location() #10
  store i32 %1087, ptr %1088, align 4, !tbaa !5
  %1089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1090 = load i32, ptr @test_count, align 4, !tbaa !5
  %1091 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1092 = load i32, ptr %1091, align 4, !tbaa !5
  %1093 = call ptr @s2n_strerror(i32 noundef %1092, ptr noundef @.str.4)
  %1094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1095 = load i32, ptr %1094, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef @.str.4)
  %1097 = call ptr @__errno_location() #10
  %1098 = load i32, ptr %1097, align 4, !tbaa !5
  %1099 = call ptr @strerror(i32 noundef %1098) #9
  %1100 = call ptr @__errno_location() #10
  %1101 = load i32, ptr %1100, align 4, !tbaa !5
  %1102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1089, ptr noundef @.str.5, i32 noundef %1090, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 66, ptr noundef %1093, ptr noundef %1096, ptr noundef %1099, i32 noundef %1101) #9
  br label %1103

1103:                                             ; preds = %1086, %1069
  call void @llvm.lifetime.end.p0(i64 4, ptr %28) #9
  br label %1104

1104:                                             ; preds = %1103
  br label %1105

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

1106:                                             ; No predecessors!
  br label %1107

1107:                                             ; preds = %1106
  br label %1108

1108:                                             ; preds = %1107, %1049
  br label %1109

1109:                                             ; preds = %1108
  br label %1110

1110:                                             ; preds = %1109
  br label %1111

1111:                                             ; preds = %1110
  %1112 = load i32, ptr @test_count, align 4, !tbaa !5
  %1113 = add nsw i32 %1112, 1
  store i32 %1113, ptr @test_count, align 4, !tbaa !5
  %1114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1115 = load i32, ptr %1114, align 4, !tbaa !5
  %1116 = icmp eq i32 %1115, 335544393
  br i1 %1116, label %1170, label %1117

1117:                                             ; preds = %1111
  br label %1118

1118:                                             ; preds = %1117
  br label %1119

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

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

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

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

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

1166:                                             ; preds = %1165
  br label %1167

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

1168:                                             ; No predecessors!
  br label %1169

1169:                                             ; preds = %1168
  br label %1170

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

1171:                                             ; preds = %1170
  br label %1172

1172:                                             ; preds = %1171
  br label %1173

1173:                                             ; preds = %1172
  %1174 = load i32, ptr @test_count, align 4, !tbaa !5
  %1175 = add nsw i32 %1174, 1
  store i32 %1175, ptr @test_count, align 4, !tbaa !5
  %1176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1177 = load i32, ptr %1176, align 4, !tbaa !5
  %1178 = call ptr @s2n_strerror_debug(i32 noundef %1177, ptr noundef @.str.4)
  %1179 = icmp eq ptr %1178, null
  br i1 %1179, label %1180, label %1233

1180:                                             ; preds = %1173
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

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

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

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

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

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

1229:                                             ; preds = %1228
  br label %1230

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

1231:                                             ; No predecessors!
  br label %1232

1232:                                             ; preds = %1231
  br label %1233

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

1234:                                             ; preds = %1233
  br label %1235

1235:                                             ; preds = %1234
  br label %1236

1236:                                             ; preds = %1235
  br label %1237

1237:                                             ; preds = %1236
  br label %1238

1238:                                             ; preds = %1237
  %1239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1239, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1240 = call ptr @__errno_location() #10
  store i32 0, ptr %1240, align 4, !tbaa !5
  br label %1241

1241:                                             ; preds = %1238
  br label %1242

1242:                                             ; preds = %1241
  br label %1243

1243:                                             ; preds = %1242
  br label %1244

1244:                                             ; preds = %1243
  br label %1245

1245:                                             ; preds = %1244
  %1246 = load i32, ptr @test_count, align 4, !tbaa !5
  %1247 = add nsw i32 %1246, 1
  store i32 %1247, ptr @test_count, align 4, !tbaa !5
  %1248 = load ptr, ptr %13, align 8, !tbaa !9
  %1249 = call i32 @s2n_connection_free(ptr noundef %1248)
  %1250 = icmp eq i32 %1249, -1
  br i1 %1250, label %1251, label %1304

1251:                                             ; preds = %1245
  br label %1252

1252:                                             ; preds = %1251
  br label %1253

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

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

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

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

1299:                                             ; preds = %1282, %1265
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #9
  br label %1300

1300:                                             ; preds = %1299
  br label %1301

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

1302:                                             ; No predecessors!
  br label %1303

1303:                                             ; preds = %1302
  br label %1304

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

1305:                                             ; preds = %1304
  br label %1306

1306:                                             ; preds = %1305
  call void @llvm.lifetime.end.p0(i64 8, ptr %21) #9
  call void @llvm.lifetime.end.p0(i64 138, ptr %18) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %17) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %16) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %32) #9
  %1307 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %1307, ptr %32, align 8, !tbaa !9
  br label %1308

1308:                                             ; preds = %1306
  %1309 = load i32, ptr @test_count, align 4, !tbaa !5
  %1310 = add nsw i32 %1309, 1
  store i32 %1310, ptr @test_count, align 4, !tbaa !5
  %1311 = load ptr, ptr %32, align 8, !tbaa !9
  %1312 = icmp eq ptr %1311, null
  br i1 %1312, label %1313, label %1366

1313:                                             ; preds = %1308
  br label %1314

1314:                                             ; preds = %1313
  br label %1315

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

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

1327:                                             ; preds = %1322
  %1328 = load i32, ptr %33, align 4, !tbaa !5
  %1329 = call ptr @__errno_location() #10
  store i32 %1328, ptr %1329, align 4, !tbaa !5
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = load i32, ptr @test_count, align 4, !tbaa !5
  %1332 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1333 = load i32, ptr %1332, align 4, !tbaa !5
  %1334 = call ptr @s2n_strerror(i32 noundef %1333, ptr noundef @.str.4)
  %1335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1336 = load i32, ptr %1335, align 4, !tbaa !5
  %1337 = call ptr @s2n_strerror_debug(i32 noundef %1336, ptr noundef @.str.4)
  %1338 = call ptr @__errno_location() #10
  %1339 = load i32, ptr %1338, align 4, !tbaa !5
  %1340 = call ptr @strerror(i32 noundef %1339) #9
  %1341 = call ptr @__errno_location() #10
  %1342 = load i32, ptr %1341, align 4, !tbaa !5
  %1343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1330, ptr noundef @.str.2, i32 noundef %1331, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1334, ptr noundef %1337, ptr noundef %1340, i32 noundef %1342) #9
  br label %1361

1344:                                             ; preds = %1322, %1315
  %1345 = load i32, ptr %33, align 4, !tbaa !5
  %1346 = call ptr @__errno_location() #10
  store i32 %1345, ptr %1346, align 4, !tbaa !5
  %1347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1348 = load i32, ptr @test_count, align 4, !tbaa !5
  %1349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1350 = load i32, ptr %1349, align 4, !tbaa !5
  %1351 = call ptr @s2n_strerror(i32 noundef %1350, ptr noundef @.str.4)
  %1352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1353 = load i32, ptr %1352, align 4, !tbaa !5
  %1354 = call ptr @s2n_strerror_debug(i32 noundef %1353, ptr noundef @.str.4)
  %1355 = call ptr @__errno_location() #10
  %1356 = load i32, ptr %1355, align 4, !tbaa !5
  %1357 = call ptr @strerror(i32 noundef %1356) #9
  %1358 = call ptr @__errno_location() #10
  %1359 = load i32, ptr %1358, align 4, !tbaa !5
  %1360 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1347, ptr noundef @.str.5, i32 noundef %1348, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 81, ptr noundef %1351, ptr noundef %1354, ptr noundef %1357, i32 noundef %1359) #9
  br label %1361

1361:                                             ; preds = %1344, %1327
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #9
  br label %1362

1362:                                             ; preds = %1361
  br label %1363

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

1364:                                             ; No predecessors!
  br label %1365

1365:                                             ; preds = %1364
  br label %1366

1366:                                             ; preds = %1365, %1308
  br label %1367

1367:                                             ; preds = %1366
  br label %1368

1368:                                             ; preds = %1367
  br label %1369

1369:                                             ; preds = %1368
  %1370 = load i32, ptr @test_count, align 4, !tbaa !5
  %1371 = add nsw i32 %1370, 1
  store i32 %1371, ptr @test_count, align 4, !tbaa !5
  %1372 = load ptr, ptr %32, align 8, !tbaa !9
  %1373 = load ptr, ptr %9, align 8, !tbaa !9
  %1374 = call i32 @s2n_connection_set_config(ptr noundef %1372, ptr noundef %1373)
  %1375 = icmp eq i32 %1374, -1
  br i1 %1375, label %1376, label %1429

1376:                                             ; preds = %1369
  br label %1377

1377:                                             ; preds = %1376
  br label %1378

1378:                                             ; preds = %1377
  call void @llvm.lifetime.start.p0(i64 4, ptr %34) #9
  %1379 = call ptr @__errno_location() #10
  %1380 = load i32, ptr %1379, align 4, !tbaa !5
  store i32 %1380, ptr %34, align 4, !tbaa !5
  %1381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1382 = call i32 @s2n_print_stacktrace(ptr noundef %1381)
  %1383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1384 = trunc i8 %1383 to i1
  br i1 %1384, label %1385, label %1407

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

1390:                                             ; preds = %1385
  %1391 = load i32, ptr %34, align 4, !tbaa !5
  %1392 = call ptr @__errno_location() #10
  store i32 %1391, ptr %1392, align 4, !tbaa !5
  %1393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1394 = load i32, ptr @test_count, align 4, !tbaa !5
  %1395 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1396 = load i32, ptr %1395, align 4, !tbaa !5
  %1397 = call ptr @s2n_strerror(i32 noundef %1396, ptr noundef @.str.4)
  %1398 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1399 = load i32, ptr %1398, align 4, !tbaa !5
  %1400 = call ptr @s2n_strerror_debug(i32 noundef %1399, ptr noundef @.str.4)
  %1401 = call ptr @__errno_location() #10
  %1402 = load i32, ptr %1401, align 4, !tbaa !5
  %1403 = call ptr @strerror(i32 noundef %1402) #9
  %1404 = call ptr @__errno_location() #10
  %1405 = load i32, ptr %1404, align 4, !tbaa !5
  %1406 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1393, ptr noundef @.str.2, i32 noundef %1394, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1397, ptr noundef %1400, ptr noundef %1403, i32 noundef %1405) #9
  br label %1424

1407:                                             ; preds = %1385, %1378
  %1408 = load i32, ptr %34, align 4, !tbaa !5
  %1409 = call ptr @__errno_location() #10
  store i32 %1408, ptr %1409, align 4, !tbaa !5
  %1410 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1411 = load i32, ptr @test_count, align 4, !tbaa !5
  %1412 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1413 = load i32, ptr %1412, align 4, !tbaa !5
  %1414 = call ptr @s2n_strerror(i32 noundef %1413, ptr noundef @.str.4)
  %1415 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1416 = load i32, ptr %1415, align 4, !tbaa !5
  %1417 = call ptr @s2n_strerror_debug(i32 noundef %1416, ptr noundef @.str.4)
  %1418 = call ptr @__errno_location() #10
  %1419 = load i32, ptr %1418, align 4, !tbaa !5
  %1420 = call ptr @strerror(i32 noundef %1419) #9
  %1421 = call ptr @__errno_location() #10
  %1422 = load i32, ptr %1421, align 4, !tbaa !5
  %1423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1410, ptr noundef @.str.5, i32 noundef %1411, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 82, ptr noundef %1414, ptr noundef %1417, ptr noundef %1420, i32 noundef %1422) #9
  br label %1424

1424:                                             ; preds = %1407, %1390
  call void @llvm.lifetime.end.p0(i64 4, ptr %34) #9
  br label %1425

1425:                                             ; preds = %1424
  br label %1426

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

1427:                                             ; No predecessors!
  br label %1428

1428:                                             ; preds = %1427
  br label %1429

1429:                                             ; preds = %1428, %1369
  br label %1430

1430:                                             ; preds = %1429
  br label %1431

1431:                                             ; preds = %1430
  %1432 = load ptr, ptr %32, align 8, !tbaa !9
  %1433 = getelementptr inbounds %struct.s2n_connection, ptr %1432, i32 0, i32 23
  store i8 33, ptr %1433, align 4, !tbaa !15
  %1434 = load ptr, ptr %32, align 8, !tbaa !9
  %1435 = getelementptr inbounds %struct.s2n_connection, ptr %1434, i32 0, i32 27
  %1436 = load ptr, ptr %1435, align 8, !tbaa !42
  %1437 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1436, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %1437, align 8, !tbaa !43
  %1438 = load ptr, ptr %32, align 8, !tbaa !9
  %1439 = load i32, ptr %1438, align 8
  %1440 = and i32 %1439, -8193
  %1441 = or i32 %1440, 0
  store i32 %1441, ptr %1438, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr %35) #9
  call void @llvm.memset.p0.i64(ptr align 8 %35, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %36) #9
  call void @llvm.memset.p0.i64(ptr align 8 %36, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr %37) #9
  call void @llvm.memset.p0.i64(ptr align 16 %37, i8 0, i64 138, i1 false)
  br label %1442

1442:                                             ; preds = %1431
  %1443 = load i32, ptr @test_count, align 4, !tbaa !5
  %1444 = add nsw i32 %1443, 1
  store i32 %1444, ptr @test_count, align 4, !tbaa !5
  %1445 = getelementptr inbounds [138 x i8], ptr %37, i64 0, i64 0
  %1446 = call i32 @s2n_blob_init(ptr noundef %36, ptr noundef %1445, i32 noundef 138)
  %1447 = icmp eq i32 %1446, -1
  br i1 %1447, label %1448, label %1501

1448:                                             ; preds = %1442
  br label %1449

1449:                                             ; preds = %1448
  br label %1450

1450:                                             ; preds = %1449
  call void @llvm.lifetime.start.p0(i64 4, ptr %38) #9
  %1451 = call ptr @__errno_location() #10
  %1452 = load i32, ptr %1451, align 4, !tbaa !5
  store i32 %1452, ptr %38, align 4, !tbaa !5
  %1453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1454 = call i32 @s2n_print_stacktrace(ptr noundef %1453)
  %1455 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1456 = trunc i8 %1455 to i1
  br i1 %1456, label %1457, label %1479

1457:                                             ; preds = %1450
  %1458 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1459 = call i32 @fileno(ptr noundef %1458) #9
  %1460 = call i32 @isatty(i32 noundef %1459) #9
  %1461 = icmp ne i32 %1460, 0
  br i1 %1461, label %1462, label %1479

1462:                                             ; preds = %1457
  %1463 = load i32, ptr %38, align 4, !tbaa !5
  %1464 = call ptr @__errno_location() #10
  store i32 %1463, ptr %1464, align 4, !tbaa !5
  %1465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1468 = load i32, ptr %1467, align 4, !tbaa !5
  %1469 = call ptr @s2n_strerror(i32 noundef %1468, ptr noundef @.str.4)
  %1470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1471 = load i32, ptr %1470, align 4, !tbaa !5
  %1472 = call ptr @s2n_strerror_debug(i32 noundef %1471, ptr noundef @.str.4)
  %1473 = call ptr @__errno_location() #10
  %1474 = load i32, ptr %1473, align 4, !tbaa !5
  %1475 = call ptr @strerror(i32 noundef %1474) #9
  %1476 = call ptr @__errno_location() #10
  %1477 = load i32, ptr %1476, align 4, !tbaa !5
  %1478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1465, ptr noundef @.str.2, i32 noundef %1466, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 91, ptr noundef %1469, ptr noundef %1472, ptr noundef %1475, i32 noundef %1477) #9
  br label %1496

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

1496:                                             ; preds = %1479, %1462
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #9
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

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

1499:                                             ; No predecessors!
  br label %1500

1500:                                             ; preds = %1499
  br label %1501

1501:                                             ; preds = %1500, %1442
  br label %1502

1502:                                             ; preds = %1501
  br label %1503

1503:                                             ; preds = %1502
  br label %1504

1504:                                             ; preds = %1503
  %1505 = load i32, ptr @test_count, align 4, !tbaa !5
  %1506 = add nsw i32 %1505, 1
  store i32 %1506, ptr @test_count, align 4, !tbaa !5
  %1507 = call i32 @s2n_stuffer_init(ptr noundef %35, ptr noundef %36)
  %1508 = icmp eq i32 %1507, -1
  br i1 %1508, label %1509, label %1562

1509:                                             ; preds = %1504
  br label %1510

1510:                                             ; preds = %1509
  br label %1511

1511:                                             ; preds = %1510
  call void @llvm.lifetime.start.p0(i64 4, ptr %39) #9
  %1512 = call ptr @__errno_location() #10
  %1513 = load i32, ptr %1512, align 4, !tbaa !5
  store i32 %1513, ptr %39, align 4, !tbaa !5
  %1514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1515 = call i32 @s2n_print_stacktrace(ptr noundef %1514)
  %1516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1517 = trunc i8 %1516 to i1
  br i1 %1517, label %1518, label %1540

1518:                                             ; preds = %1511
  %1519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1520 = call i32 @fileno(ptr noundef %1519) #9
  %1521 = call i32 @isatty(i32 noundef %1520) #9
  %1522 = icmp ne i32 %1521, 0
  br i1 %1522, label %1523, label %1540

1523:                                             ; preds = %1518
  %1524 = load i32, ptr %39, align 4, !tbaa !5
  %1525 = call ptr @__errno_location() #10
  store i32 %1524, ptr %1525, align 4, !tbaa !5
  %1526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1527 = load i32, ptr @test_count, align 4, !tbaa !5
  %1528 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1529 = load i32, ptr %1528, align 4, !tbaa !5
  %1530 = call ptr @s2n_strerror(i32 noundef %1529, ptr noundef @.str.4)
  %1531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1532 = load i32, ptr %1531, align 4, !tbaa !5
  %1533 = call ptr @s2n_strerror_debug(i32 noundef %1532, ptr noundef @.str.4)
  %1534 = call ptr @__errno_location() #10
  %1535 = load i32, ptr %1534, align 4, !tbaa !5
  %1536 = call ptr @strerror(i32 noundef %1535) #9
  %1537 = call ptr @__errno_location() #10
  %1538 = load i32, ptr %1537, align 4, !tbaa !5
  %1539 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1526, ptr noundef @.str.2, i32 noundef %1527, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1530, ptr noundef %1533, ptr noundef %1536, i32 noundef %1538) #9
  br label %1557

1540:                                             ; preds = %1518, %1511
  %1541 = load i32, ptr %39, align 4, !tbaa !5
  %1542 = call ptr @__errno_location() #10
  store i32 %1541, ptr %1542, align 4, !tbaa !5
  %1543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1544 = load i32, ptr @test_count, align 4, !tbaa !5
  %1545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1546 = load i32, ptr %1545, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror(i32 noundef %1546, ptr noundef @.str.4)
  %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_debug(i32 noundef %1549, ptr noundef @.str.4)
  %1551 = call ptr @__errno_location() #10
  %1552 = load i32, ptr %1551, align 4, !tbaa !5
  %1553 = call ptr @strerror(i32 noundef %1552) #9
  %1554 = call ptr @__errno_location() #10
  %1555 = load i32, ptr %1554, align 4, !tbaa !5
  %1556 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1543, ptr noundef @.str.5, i32 noundef %1544, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 92, ptr noundef %1547, ptr noundef %1550, ptr noundef %1553, i32 noundef %1555) #9
  br label %1557

1557:                                             ; preds = %1540, %1523
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #9
  br label %1558

1558:                                             ; preds = %1557
  br label %1559

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

1560:                                             ; No predecessors!
  br label %1561

1561:                                             ; preds = %1560
  br label %1562

1562:                                             ; preds = %1561, %1504
  br label %1563

1563:                                             ; preds = %1562
  br label %1564

1564:                                             ; preds = %1563
  call void @llvm.lifetime.start.p0(i64 8, ptr %40) #9
  %1565 = load ptr, ptr %32, align 8, !tbaa !9
  %1566 = getelementptr inbounds %struct.s2n_connection, ptr %1565, i32 0, i32 1
  %1567 = load ptr, ptr %1566, align 8, !tbaa !48
  %1568 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %1567)
  store ptr %1568, ptr %40, align 8, !tbaa !9
  br label %1569

1569:                                             ; preds = %1564
  %1570 = load i32, ptr @test_count, align 4, !tbaa !5
  %1571 = add nsw i32 %1570, 1
  store i32 %1571, ptr @test_count, align 4, !tbaa !5
  %1572 = load ptr, ptr %40, align 8, !tbaa !9
  %1573 = icmp eq ptr %1572, null
  br i1 %1573, label %1574, label %1627

1574:                                             ; preds = %1569
  br label %1575

1575:                                             ; preds = %1574
  br label %1576

1576:                                             ; preds = %1575
  call void @llvm.lifetime.start.p0(i64 4, ptr %41) #9
  %1577 = call ptr @__errno_location() #10
  %1578 = load i32, ptr %1577, align 4, !tbaa !5
  store i32 %1578, ptr %41, align 4, !tbaa !5
  %1579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1580 = call i32 @s2n_print_stacktrace(ptr noundef %1579)
  %1581 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1582 = trunc i8 %1581 to i1
  br i1 %1582, label %1583, label %1605

1583:                                             ; preds = %1576
  %1584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1585 = call i32 @fileno(ptr noundef %1584) #9
  %1586 = call i32 @isatty(i32 noundef %1585) #9
  %1587 = icmp ne i32 %1586, 0
  br i1 %1587, label %1588, label %1605

1588:                                             ; preds = %1583
  %1589 = load i32, ptr %41, align 4, !tbaa !5
  %1590 = call ptr @__errno_location() #10
  store i32 %1589, ptr %1590, align 4, !tbaa !5
  %1591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1592 = load i32, ptr @test_count, align 4, !tbaa !5
  %1593 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1594 = load i32, ptr %1593, align 4, !tbaa !5
  %1595 = call ptr @s2n_strerror(i32 noundef %1594, ptr noundef @.str.4)
  %1596 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1597 = load i32, ptr %1596, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror_debug(i32 noundef %1597, ptr noundef @.str.4)
  %1599 = call ptr @__errno_location() #10
  %1600 = load i32, ptr %1599, align 4, !tbaa !5
  %1601 = call ptr @strerror(i32 noundef %1600) #9
  %1602 = call ptr @__errno_location() #10
  %1603 = load i32, ptr %1602, align 4, !tbaa !5
  %1604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1591, ptr noundef @.str.2, i32 noundef %1592, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1595, ptr noundef %1598, ptr noundef %1601, i32 noundef %1603) #9
  br label %1622

1605:                                             ; preds = %1583, %1576
  %1606 = load i32, ptr %41, align 4, !tbaa !5
  %1607 = call ptr @__errno_location() #10
  store i32 %1606, ptr %1607, align 4, !tbaa !5
  %1608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1609 = load i32, ptr @test_count, align 4, !tbaa !5
  %1610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1611 = load i32, ptr %1610, align 4, !tbaa !5
  %1612 = call ptr @s2n_strerror(i32 noundef %1611, ptr noundef @.str.4)
  %1613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1614 = load i32, ptr %1613, align 4, !tbaa !5
  %1615 = call ptr @s2n_strerror_debug(i32 noundef %1614, ptr noundef @.str.4)
  %1616 = call ptr @__errno_location() #10
  %1617 = load i32, ptr %1616, align 4, !tbaa !5
  %1618 = call ptr @strerror(i32 noundef %1617) #9
  %1619 = call ptr @__errno_location() #10
  %1620 = load i32, ptr %1619, align 4, !tbaa !5
  %1621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1608, ptr noundef @.str.5, i32 noundef %1609, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 95, ptr noundef %1612, ptr noundef %1615, ptr noundef %1618, i32 noundef %1620) #9
  br label %1622

1622:                                             ; preds = %1605, %1588
  call void @llvm.lifetime.end.p0(i64 4, ptr %41) #9
  br label %1623

1623:                                             ; preds = %1622
  br label %1624

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

1625:                                             ; No predecessors!
  br label %1626

1626:                                             ; preds = %1625
  br label %1627

1627:                                             ; preds = %1626, %1569
  br label %1628

1628:                                             ; preds = %1627
  br label %1629

1629:                                             ; preds = %1628
  br label %1630

1630:                                             ; preds = %1629
  %1631 = load i32, ptr @test_count, align 4, !tbaa !5
  %1632 = add nsw i32 %1631, 1
  store i32 %1632, ptr @test_count, align 4, !tbaa !5
  %1633 = load ptr, ptr %32, align 8, !tbaa !9
  %1634 = load ptr, ptr %40, align 8, !tbaa !9
  %1635 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef %1633, ptr noundef %1634, ptr noundef %35)
  %1636 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  store i32 %1635, ptr %1636, align 4
  %1637 = getelementptr inbounds %struct.s2n_result, ptr %42, i32 0, i32 0
  %1638 = load i32, ptr %1637, align 4
  %1639 = call zeroext i1 @s2n_result_is_ok(i32 %1638)
  br i1 %1639, label %1693, label %1640

1640:                                             ; preds = %1630
  br label %1641

1641:                                             ; preds = %1640
  br label %1642

1642:                                             ; preds = %1641
  call void @llvm.lifetime.start.p0(i64 4, ptr %43) #9
  %1643 = call ptr @__errno_location() #10
  %1644 = load i32, ptr %1643, align 4, !tbaa !5
  store i32 %1644, ptr %43, align 4, !tbaa !5
  %1645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1646 = call i32 @s2n_print_stacktrace(ptr noundef %1645)
  %1647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1648 = trunc i8 %1647 to i1
  br i1 %1648, label %1649, label %1671

1649:                                             ; preds = %1642
  %1650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1651 = call i32 @fileno(ptr noundef %1650) #9
  %1652 = call i32 @isatty(i32 noundef %1651) #9
  %1653 = icmp ne i32 %1652, 0
  br i1 %1653, label %1654, label %1671

1654:                                             ; preds = %1649
  %1655 = load i32, ptr %43, align 4, !tbaa !5
  %1656 = call ptr @__errno_location() #10
  store i32 %1655, ptr %1656, align 4, !tbaa !5
  %1657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1658 = load i32, ptr @test_count, align 4, !tbaa !5
  %1659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1660 = load i32, ptr %1659, align 4, !tbaa !5
  %1661 = call ptr @s2n_strerror(i32 noundef %1660, ptr noundef @.str.4)
  %1662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1663 = load i32, ptr %1662, align 4, !tbaa !5
  %1664 = call ptr @s2n_strerror_debug(i32 noundef %1663, ptr noundef @.str.4)
  %1665 = call ptr @__errno_location() #10
  %1666 = load i32, ptr %1665, align 4, !tbaa !5
  %1667 = call ptr @strerror(i32 noundef %1666) #9
  %1668 = call ptr @__errno_location() #10
  %1669 = load i32, ptr %1668, align 4, !tbaa !5
  %1670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1657, ptr noundef @.str.2, i32 noundef %1658, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 98, ptr noundef %1661, ptr noundef %1664, ptr noundef %1667, i32 noundef %1669) #9
  br label %1688

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

1688:                                             ; preds = %1671, %1654
  call void @llvm.lifetime.end.p0(i64 4, ptr %43) #9
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

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

1691:                                             ; No predecessors!
  br label %1692

1692:                                             ; preds = %1691
  br label %1693

1693:                                             ; preds = %1692, %1630
  br label %1694

1694:                                             ; preds = %1693
  br label %1695

1695:                                             ; preds = %1694
  br label %1696

1696:                                             ; preds = %1695
  %1697 = load i32, ptr @test_count, align 4, !tbaa !5
  %1698 = add nsw i32 %1697, 1
  store i32 %1698, ptr @test_count, align 4, !tbaa !5
  %1699 = load ptr, ptr %32, align 8, !tbaa !9
  %1700 = call i32 @s2n_connection_wipe(ptr noundef %1699)
  %1701 = icmp eq i32 %1700, -1
  br i1 %1701, label %1702, label %1755

1702:                                             ; preds = %1696
  br label %1703

1703:                                             ; preds = %1702
  br label %1704

1704:                                             ; preds = %1703
  call void @llvm.lifetime.start.p0(i64 4, ptr %44) #9
  %1705 = call ptr @__errno_location() #10
  %1706 = load i32, ptr %1705, align 4, !tbaa !5
  store i32 %1706, ptr %44, align 4, !tbaa !5
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @s2n_print_stacktrace(ptr noundef %1707)
  %1709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1710 = trunc i8 %1709 to i1
  br i1 %1710, label %1711, label %1733

1711:                                             ; preds = %1704
  %1712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1713 = call i32 @fileno(ptr noundef %1712) #9
  %1714 = call i32 @isatty(i32 noundef %1713) #9
  %1715 = icmp ne i32 %1714, 0
  br i1 %1715, label %1716, label %1733

1716:                                             ; preds = %1711
  %1717 = load i32, ptr %44, align 4, !tbaa !5
  %1718 = call ptr @__errno_location() #10
  store i32 %1717, ptr %1718, align 4, !tbaa !5
  %1719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1720 = load i32, ptr @test_count, align 4, !tbaa !5
  %1721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1722 = load i32, ptr %1721, align 4, !tbaa !5
  %1723 = call ptr @s2n_strerror(i32 noundef %1722, ptr noundef @.str.4)
  %1724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1725 = load i32, ptr %1724, align 4, !tbaa !5
  %1726 = call ptr @s2n_strerror_debug(i32 noundef %1725, ptr noundef @.str.4)
  %1727 = call ptr @__errno_location() #10
  %1728 = load i32, ptr %1727, align 4, !tbaa !5
  %1729 = call ptr @strerror(i32 noundef %1728) #9
  %1730 = call ptr @__errno_location() #10
  %1731 = load i32, ptr %1730, align 4, !tbaa !5
  %1732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1719, ptr noundef @.str.2, i32 noundef %1720, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1723, ptr noundef %1726, ptr noundef %1729, i32 noundef %1731) #9
  br label %1750

1733:                                             ; preds = %1711, %1704
  %1734 = load i32, ptr %44, align 4, !tbaa !5
  %1735 = call ptr @__errno_location() #10
  store i32 %1734, ptr %1735, align 4, !tbaa !5
  %1736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1737 = load i32, ptr @test_count, align 4, !tbaa !5
  %1738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1739 = load i32, ptr %1738, align 4, !tbaa !5
  %1740 = call ptr @s2n_strerror(i32 noundef %1739, ptr noundef @.str.4)
  %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_debug(i32 noundef %1742, ptr noundef @.str.4)
  %1744 = call ptr @__errno_location() #10
  %1745 = load i32, ptr %1744, align 4, !tbaa !5
  %1746 = call ptr @strerror(i32 noundef %1745) #9
  %1747 = call ptr @__errno_location() #10
  %1748 = load i32, ptr %1747, align 4, !tbaa !5
  %1749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1736, ptr noundef @.str.5, i32 noundef %1737, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 100, ptr noundef %1740, ptr noundef %1743, ptr noundef %1746, i32 noundef %1748) #9
  br label %1750

1750:                                             ; preds = %1733, %1716
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #9
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

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

1753:                                             ; No predecessors!
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754, %1696
  br label %1756

1756:                                             ; preds = %1755
  br label %1757

1757:                                             ; preds = %1756
  br label %1758

1758:                                             ; preds = %1757
  %1759 = load i32, ptr @test_count, align 4, !tbaa !5
  %1760 = add nsw i32 %1759, 1
  store i32 %1760, ptr @test_count, align 4, !tbaa !5
  %1761 = load ptr, ptr %32, align 8, !tbaa !9
  %1762 = load ptr, ptr %9, align 8, !tbaa !9
  %1763 = call i32 @s2n_connection_set_config(ptr noundef %1761, ptr noundef %1762)
  %1764 = icmp eq i32 %1763, -1
  br i1 %1764, label %1765, label %1818

1765:                                             ; preds = %1758
  br label %1766

1766:                                             ; preds = %1765
  br label %1767

1767:                                             ; preds = %1766
  call void @llvm.lifetime.start.p0(i64 4, ptr %45) #9
  %1768 = call ptr @__errno_location() #10
  %1769 = load i32, ptr %1768, align 4, !tbaa !5
  store i32 %1769, ptr %45, align 4, !tbaa !5
  %1770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1771 = call i32 @s2n_print_stacktrace(ptr noundef %1770)
  %1772 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1773 = trunc i8 %1772 to i1
  br i1 %1773, label %1774, label %1796

1774:                                             ; preds = %1767
  %1775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1776 = call i32 @fileno(ptr noundef %1775) #9
  %1777 = call i32 @isatty(i32 noundef %1776) #9
  %1778 = icmp ne i32 %1777, 0
  br i1 %1778, label %1779, label %1796

1779:                                             ; preds = %1774
  %1780 = load i32, ptr %45, align 4, !tbaa !5
  %1781 = call ptr @__errno_location() #10
  store i32 %1780, ptr %1781, align 4, !tbaa !5
  %1782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1783 = load i32, ptr @test_count, align 4, !tbaa !5
  %1784 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1785 = load i32, ptr %1784, align 4, !tbaa !5
  %1786 = call ptr @s2n_strerror(i32 noundef %1785, ptr noundef @.str.4)
  %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_debug(i32 noundef %1788, ptr noundef @.str.4)
  %1790 = call ptr @__errno_location() #10
  %1791 = load i32, ptr %1790, align 4, !tbaa !5
  %1792 = call ptr @strerror(i32 noundef %1791) #9
  %1793 = call ptr @__errno_location() #10
  %1794 = load i32, ptr %1793, align 4, !tbaa !5
  %1795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1782, ptr noundef @.str.2, i32 noundef %1783, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1786, ptr noundef %1789, ptr noundef %1792, i32 noundef %1794) #9
  br label %1813

1796:                                             ; preds = %1774, %1767
  %1797 = load i32, ptr %45, align 4, !tbaa !5
  %1798 = call ptr @__errno_location() #10
  store i32 %1797, ptr %1798, align 4, !tbaa !5
  %1799 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1800 = load i32, ptr @test_count, align 4, !tbaa !5
  %1801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1802 = load i32, ptr %1801, align 4, !tbaa !5
  %1803 = call ptr @s2n_strerror(i32 noundef %1802, ptr noundef @.str.4)
  %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_debug(i32 noundef %1805, ptr noundef @.str.4)
  %1807 = call ptr @__errno_location() #10
  %1808 = load i32, ptr %1807, align 4, !tbaa !5
  %1809 = call ptr @strerror(i32 noundef %1808) #9
  %1810 = call ptr @__errno_location() #10
  %1811 = load i32, ptr %1810, align 4, !tbaa !5
  %1812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1799, ptr noundef @.str.5, i32 noundef %1800, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 101, ptr noundef %1803, ptr noundef %1806, ptr noundef %1809, i32 noundef %1811) #9
  br label %1813

1813:                                             ; preds = %1796, %1779
  call void @llvm.lifetime.end.p0(i64 4, ptr %45) #9
  br label %1814

1814:                                             ; preds = %1813
  br label %1815

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

1816:                                             ; No predecessors!
  br label %1817

1817:                                             ; preds = %1816
  br label %1818

1818:                                             ; preds = %1817, %1758
  br label %1819

1819:                                             ; preds = %1818
  br label %1820

1820:                                             ; preds = %1819
  %1821 = load ptr, ptr %32, align 8, !tbaa !9
  %1822 = getelementptr inbounds %struct.s2n_connection, ptr %1821, i32 0, i32 23
  store i8 33, ptr %1822, align 4, !tbaa !15
  %1823 = load ptr, ptr %32, align 8, !tbaa !9
  %1824 = getelementptr inbounds %struct.s2n_connection, ptr %1823, i32 0, i32 27
  %1825 = load ptr, ptr %1824, align 8, !tbaa !42
  %1826 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %1825, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %1826, align 8, !tbaa !43
  %1827 = load ptr, ptr %32, align 8, !tbaa !9
  %1828 = getelementptr inbounds %struct.s2n_connection, ptr %1827, i32 0, i32 76
  store i32 1, ptr %1828, align 4, !tbaa !49
  br label %1829

1829:                                             ; preds = %1820
  %1830 = load i32, ptr @test_count, align 4, !tbaa !5
  %1831 = add nsw i32 %1830, 1
  store i32 %1831, ptr @test_count, align 4, !tbaa !5
  %1832 = load ptr, ptr %32, align 8, !tbaa !9
  %1833 = getelementptr inbounds %struct.s2n_connection, ptr %1832, i32 0, i32 81
  %1834 = call i32 @s2n_stuffer_copy(ptr noundef %35, ptr noundef %1833, i32 noundef 138)
  %1835 = icmp eq i32 %1834, -1
  br i1 %1835, label %1836, label %1889

1836:                                             ; preds = %1829
  br label %1837

1837:                                             ; preds = %1836
  br label %1838

1838:                                             ; preds = %1837
  call void @llvm.lifetime.start.p0(i64 4, ptr %46) #9
  %1839 = call ptr @__errno_location() #10
  %1840 = load i32, ptr %1839, align 4, !tbaa !5
  store i32 %1840, ptr %46, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = call i32 @s2n_print_stacktrace(ptr noundef %1841)
  %1843 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1844 = trunc i8 %1843 to i1
  br i1 %1844, label %1845, label %1867

1845:                                             ; preds = %1838
  %1846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1847 = call i32 @fileno(ptr noundef %1846) #9
  %1848 = call i32 @isatty(i32 noundef %1847) #9
  %1849 = icmp ne i32 %1848, 0
  br i1 %1849, label %1850, label %1867

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

1867:                                             ; preds = %1845, %1838
  %1868 = load i32, ptr %46, 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.5, i32 noundef %1871, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 105, ptr noundef %1874, ptr noundef %1877, ptr noundef %1880, i32 noundef %1882) #9
  br label %1884

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

1885:                                             ; preds = %1884
  br label %1886

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

1887:                                             ; No predecessors!
  br label %1888

1888:                                             ; preds = %1887
  br label %1889

1889:                                             ; preds = %1888, %1829
  br label %1890

1890:                                             ; preds = %1889
  br label %1891

1891:                                             ; preds = %1890
  %1892 = load ptr, ptr %32, align 8, !tbaa !9
  %1893 = load i32, ptr %1892, align 8
  %1894 = and i32 %1893, -8193
  %1895 = or i32 %1894, 8192
  store i32 %1895, ptr %1892, align 8
  br label %1896

1896:                                             ; preds = %1891
  %1897 = load i32, ptr @test_count, align 4, !tbaa !5
  %1898 = add nsw i32 %1897, 1
  store i32 %1898, ptr @test_count, align 4, !tbaa !5
  %1899 = load ptr, ptr %32, align 8, !tbaa !9
  %1900 = call i32 @s2n_conn_set_handshake_type(ptr noundef %1899)
  %1901 = icmp eq i32 %1900, -1
  br i1 %1901, label %1902, label %1955

1902:                                             ; preds = %1896
  br label %1903

1903:                                             ; preds = %1902
  br label %1904

1904:                                             ; preds = %1903
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #9
  %1905 = call ptr @__errno_location() #10
  %1906 = load i32, ptr %1905, align 4, !tbaa !5
  store i32 %1906, ptr %47, align 4, !tbaa !5
  %1907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1908 = call i32 @s2n_print_stacktrace(ptr noundef %1907)
  %1909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1910 = trunc i8 %1909 to i1
  br i1 %1910, label %1911, label %1933

1911:                                             ; preds = %1904
  %1912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1913 = call i32 @fileno(ptr noundef %1912) #9
  %1914 = call i32 @isatty(i32 noundef %1913) #9
  %1915 = icmp ne i32 %1914, 0
  br i1 %1915, label %1916, label %1933

1916:                                             ; preds = %1911
  %1917 = load i32, ptr %47, align 4, !tbaa !5
  %1918 = call ptr @__errno_location() #10
  store i32 %1917, ptr %1918, align 4, !tbaa !5
  %1919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1920 = load i32, ptr @test_count, align 4, !tbaa !5
  %1921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1922 = load i32, ptr %1921, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror(i32 noundef %1922, ptr noundef @.str.4)
  %1924 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1925 = load i32, ptr %1924, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror_debug(i32 noundef %1925, ptr noundef @.str.4)
  %1927 = call ptr @__errno_location() #10
  %1928 = load i32, ptr %1927, align 4, !tbaa !5
  %1929 = call ptr @strerror(i32 noundef %1928) #9
  %1930 = call ptr @__errno_location() #10
  %1931 = load i32, ptr %1930, align 4, !tbaa !5
  %1932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1919, ptr noundef @.str.2, i32 noundef %1920, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1923, ptr noundef %1926, ptr noundef %1929, i32 noundef %1931) #9
  br label %1950

1933:                                             ; preds = %1911, %1904
  %1934 = load i32, ptr %47, align 4, !tbaa !5
  %1935 = call ptr @__errno_location() #10
  store i32 %1934, ptr %1935, align 4, !tbaa !5
  %1936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1937 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1939, ptr noundef @.str.4)
  %1941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1942 = load i32, ptr %1941, align 4, !tbaa !5
  %1943 = call ptr @s2n_strerror_debug(i32 noundef %1942, ptr noundef @.str.4)
  %1944 = call ptr @__errno_location() #10
  %1945 = load i32, ptr %1944, align 4, !tbaa !5
  %1946 = call ptr @strerror(i32 noundef %1945) #9
  %1947 = call ptr @__errno_location() #10
  %1948 = load i32, ptr %1947, align 4, !tbaa !5
  %1949 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1936, ptr noundef @.str.5, i32 noundef %1937, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 110, ptr noundef %1940, ptr noundef %1943, ptr noundef %1946, i32 noundef %1948) #9
  br label %1950

1950:                                             ; preds = %1933, %1916
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #9
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

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

1953:                                             ; No predecessors!
  br label %1954

1954:                                             ; preds = %1953
  br label %1955

1955:                                             ; preds = %1954, %1896
  br label %1956

1956:                                             ; preds = %1955
  br label %1957

1957:                                             ; preds = %1956
  br label %1958

1958:                                             ; preds = %1957
  %1959 = load i32, ptr @test_count, align 4, !tbaa !5
  %1960 = add nsw i32 %1959, 1
  store i32 %1960, ptr @test_count, align 4, !tbaa !5
  %1961 = load ptr, ptr %32, align 8, !tbaa !9
  %1962 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %1961, i32 noundef 2)
  br i1 %1962, label %2016, label %1963

1963:                                             ; preds = %1958
  br label %1964

1964:                                             ; preds = %1963
  br label %1965

1965:                                             ; preds = %1964
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #9
  %1966 = call ptr @__errno_location() #10
  %1967 = load i32, ptr %1966, align 4, !tbaa !5
  store i32 %1967, ptr %48, align 4, !tbaa !5
  %1968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1969 = call i32 @s2n_print_stacktrace(ptr noundef %1968)
  %1970 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1971 = trunc i8 %1970 to i1
  br i1 %1971, label %1972, label %1994

1972:                                             ; preds = %1965
  %1973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1974 = call i32 @fileno(ptr noundef %1973) #9
  %1975 = call i32 @isatty(i32 noundef %1974) #9
  %1976 = icmp ne i32 %1975, 0
  br i1 %1976, label %1977, label %1994

1977:                                             ; preds = %1972
  %1978 = load i32, ptr %48, align 4, !tbaa !5
  %1979 = call ptr @__errno_location() #10
  store i32 %1978, ptr %1979, align 4, !tbaa !5
  %1980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1981 = load i32, ptr @test_count, align 4, !tbaa !5
  %1982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1983 = load i32, ptr %1982, align 4, !tbaa !5
  %1984 = call ptr @s2n_strerror(i32 noundef %1983, ptr noundef @.str.4)
  %1985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror_debug(i32 noundef %1986, ptr noundef @.str.4)
  %1988 = call ptr @__errno_location() #10
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @strerror(i32 noundef %1989) #9
  %1991 = call ptr @__errno_location() #10
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1980, ptr noundef @.str.2, i32 noundef %1981, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 113, ptr noundef %1984, ptr noundef %1987, ptr noundef %1990, i32 noundef %1992) #9
  br label %2011

1994:                                             ; preds = %1972, %1965
  %1995 = load i32, ptr %48, align 4, !tbaa !5
  %1996 = call ptr @__errno_location() #10
  store i32 %1995, ptr %1996, align 4, !tbaa !5
  %1997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1998 = load i32, ptr @test_count, align 4, !tbaa !5
  %1999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2000 = load i32, ptr %1999, align 4, !tbaa !5
  %2001 = call ptr @s2n_strerror(i32 noundef %2000, ptr noundef @.str.4)
  %2002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call ptr @s2n_strerror_debug(i32 noundef %2003, ptr noundef @.str.4)
  %2005 = call ptr @__errno_location() #10
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @strerror(i32 noundef %2006) #9
  %2008 = call ptr @__errno_location() #10
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1997, ptr noundef @.str.5, i32 noundef %1998, ptr noundef @.str.23, ptr noundef @.str.1, i32 noundef 113, ptr noundef %2001, ptr noundef %2004, ptr noundef %2007, i32 noundef %2009) #9
  br label %2011

2011:                                             ; preds = %1994, %1977
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #9
  br label %2012

2012:                                             ; preds = %2011
  br label %2013

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

2014:                                             ; No predecessors!
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

2016:                                             ; preds = %2015, %1958
  br label %2017

2017:                                             ; preds = %2016
  br label %2018

2018:                                             ; preds = %2017
  br label %2019

2019:                                             ; preds = %2018
  %2020 = load i32, ptr @test_count, align 4, !tbaa !5
  %2021 = add nsw i32 %2020, 1
  store i32 %2021, ptr @test_count, align 4, !tbaa !5
  %2022 = load ptr, ptr %32, align 8, !tbaa !9
  %2023 = call i32 @s2n_connection_free(ptr noundef %2022)
  %2024 = icmp eq i32 %2023, -1
  br i1 %2024, label %2025, label %2078

2025:                                             ; preds = %2019
  br label %2026

2026:                                             ; preds = %2025
  br label %2027

2027:                                             ; preds = %2026
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #9
  %2028 = call ptr @__errno_location() #10
  %2029 = load i32, ptr %2028, align 4, !tbaa !5
  store i32 %2029, ptr %49, align 4, !tbaa !5
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = call i32 @s2n_print_stacktrace(ptr noundef %2030)
  %2032 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2033 = trunc i8 %2032 to i1
  br i1 %2033, label %2034, label %2056

2034:                                             ; preds = %2027
  %2035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2036 = call i32 @fileno(ptr noundef %2035) #9
  %2037 = call i32 @isatty(i32 noundef %2036) #9
  %2038 = icmp ne i32 %2037, 0
  br i1 %2038, label %2039, label %2056

2039:                                             ; preds = %2034
  %2040 = load i32, ptr %49, align 4, !tbaa !5
  %2041 = call ptr @__errno_location() #10
  store i32 %2040, ptr %2041, align 4, !tbaa !5
  %2042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2043 = load i32, ptr @test_count, align 4, !tbaa !5
  %2044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2045 = load i32, ptr %2044, align 4, !tbaa !5
  %2046 = call ptr @s2n_strerror(i32 noundef %2045, ptr noundef @.str.4)
  %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_debug(i32 noundef %2048, ptr noundef @.str.4)
  %2050 = call ptr @__errno_location() #10
  %2051 = load i32, ptr %2050, align 4, !tbaa !5
  %2052 = call ptr @strerror(i32 noundef %2051) #9
  %2053 = call ptr @__errno_location() #10
  %2054 = load i32, ptr %2053, align 4, !tbaa !5
  %2055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2042, ptr noundef @.str.2, i32 noundef %2043, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2046, ptr noundef %2049, ptr noundef %2052, i32 noundef %2054) #9
  br label %2073

2056:                                             ; preds = %2034, %2027
  %2057 = load i32, ptr %49, align 4, !tbaa !5
  %2058 = call ptr @__errno_location() #10
  store i32 %2057, ptr %2058, align 4, !tbaa !5
  %2059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2060 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2062, ptr noundef @.str.4)
  %2064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2065 = load i32, ptr %2064, align 4, !tbaa !5
  %2066 = call ptr @s2n_strerror_debug(i32 noundef %2065, ptr noundef @.str.4)
  %2067 = call ptr @__errno_location() #10
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @strerror(i32 noundef %2068) #9
  %2070 = call ptr @__errno_location() #10
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2059, ptr noundef @.str.5, i32 noundef %2060, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 115, ptr noundef %2063, ptr noundef %2066, ptr noundef %2069, i32 noundef %2071) #9
  br label %2073

2073:                                             ; preds = %2056, %2039
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #9
  br label %2074

2074:                                             ; preds = %2073
  br label %2075

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

2076:                                             ; No predecessors!
  br label %2077

2077:                                             ; preds = %2076
  br label %2078

2078:                                             ; preds = %2077, %2019
  br label %2079

2079:                                             ; preds = %2078
  br label %2080

2080:                                             ; preds = %2079
  call void @llvm.lifetime.end.p0(i64 8, ptr %40) #9
  call void @llvm.lifetime.end.p0(i64 138, ptr %37) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %36) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %35) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %32) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %50) #9
  %2081 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %2081, ptr %50, align 8, !tbaa !9
  br label %2082

2082:                                             ; preds = %2080
  %2083 = load i32, ptr @test_count, align 4, !tbaa !5
  %2084 = add nsw i32 %2083, 1
  store i32 %2084, ptr @test_count, align 4, !tbaa !5
  %2085 = load ptr, ptr %50, align 8, !tbaa !9
  %2086 = icmp eq ptr %2085, null
  br i1 %2086, label %2087, label %2140

2087:                                             ; preds = %2082
  br label %2088

2088:                                             ; preds = %2087
  br label %2089

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

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

2101:                                             ; preds = %2096
  %2102 = load i32, ptr %51, align 4, !tbaa !5
  %2103 = call ptr @__errno_location() #10
  store i32 %2102, ptr %2103, align 4, !tbaa !5
  %2104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2105 = load i32, ptr @test_count, align 4, !tbaa !5
  %2106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2107 = load i32, ptr %2106, align 4, !tbaa !5
  %2108 = call ptr @s2n_strerror(i32 noundef %2107, ptr noundef @.str.4)
  %2109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2110 = load i32, ptr %2109, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror_debug(i32 noundef %2110, ptr noundef @.str.4)
  %2112 = call ptr @__errno_location() #10
  %2113 = load i32, ptr %2112, align 4, !tbaa !5
  %2114 = call ptr @strerror(i32 noundef %2113) #9
  %2115 = call ptr @__errno_location() #10
  %2116 = load i32, ptr %2115, align 4, !tbaa !5
  %2117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2104, ptr noundef @.str.2, i32 noundef %2105, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2108, ptr noundef %2111, ptr noundef %2114, i32 noundef %2116) #9
  br label %2135

2118:                                             ; preds = %2096, %2089
  %2119 = load i32, ptr %51, align 4, !tbaa !5
  %2120 = call ptr @__errno_location() #10
  store i32 %2119, ptr %2120, align 4, !tbaa !5
  %2121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2122 = load i32, ptr @test_count, align 4, !tbaa !5
  %2123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2124 = load i32, ptr %2123, align 4, !tbaa !5
  %2125 = call ptr @s2n_strerror(i32 noundef %2124, ptr noundef @.str.4)
  %2126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2127 = load i32, ptr %2126, align 4, !tbaa !5
  %2128 = call ptr @s2n_strerror_debug(i32 noundef %2127, ptr noundef @.str.4)
  %2129 = call ptr @__errno_location() #10
  %2130 = load i32, ptr %2129, align 4, !tbaa !5
  %2131 = call ptr @strerror(i32 noundef %2130) #9
  %2132 = call ptr @__errno_location() #10
  %2133 = load i32, ptr %2132, align 4, !tbaa !5
  %2134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2121, ptr noundef @.str.5, i32 noundef %2122, ptr noundef @.str.10, ptr noundef @.str.1, i32 noundef 121, ptr noundef %2125, ptr noundef %2128, ptr noundef %2131, i32 noundef %2133) #9
  br label %2135

2135:                                             ; preds = %2118, %2101
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #9
  br label %2136

2136:                                             ; preds = %2135
  br label %2137

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

2138:                                             ; No predecessors!
  br label %2139

2139:                                             ; preds = %2138
  br label %2140

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

2141:                                             ; preds = %2140
  br label %2142

2142:                                             ; preds = %2141
  br label %2143

2143:                                             ; preds = %2142
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = load ptr, ptr %50, align 8, !tbaa !9
  %2147 = load ptr, ptr %9, align 8, !tbaa !9
  %2148 = call i32 @s2n_connection_set_config(ptr noundef %2146, ptr noundef %2147)
  %2149 = icmp eq i32 %2148, -1
  br i1 %2149, label %2150, label %2203

2150:                                             ; preds = %2143
  br label %2151

2151:                                             ; preds = %2150
  br label %2152

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

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

2164:                                             ; preds = %2159
  %2165 = load i32, ptr %52, align 4, !tbaa !5
  %2166 = call ptr @__errno_location() #10
  store i32 %2165, ptr %2166, align 4, !tbaa !5
  %2167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2168 = load i32, ptr @test_count, align 4, !tbaa !5
  %2169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2170 = load i32, ptr %2169, align 4, !tbaa !5
  %2171 = call ptr @s2n_strerror(i32 noundef %2170, ptr noundef @.str.4)
  %2172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2173 = load i32, ptr %2172, align 4, !tbaa !5
  %2174 = call ptr @s2n_strerror_debug(i32 noundef %2173, ptr noundef @.str.4)
  %2175 = call ptr @__errno_location() #10
  %2176 = load i32, ptr %2175, align 4, !tbaa !5
  %2177 = call ptr @strerror(i32 noundef %2176) #9
  %2178 = call ptr @__errno_location() #10
  %2179 = load i32, ptr %2178, align 4, !tbaa !5
  %2180 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2167, ptr noundef @.str.2, i32 noundef %2168, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2171, ptr noundef %2174, ptr noundef %2177, i32 noundef %2179) #9
  br label %2198

2181:                                             ; preds = %2159, %2152
  %2182 = load i32, ptr %52, align 4, !tbaa !5
  %2183 = call ptr @__errno_location() #10
  store i32 %2182, ptr %2183, align 4, !tbaa !5
  %2184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2185 = load i32, ptr @test_count, align 4, !tbaa !5
  %2186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2187 = load i32, ptr %2186, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror(i32 noundef %2187, ptr noundef @.str.4)
  %2189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef @.str.4)
  %2192 = call ptr @__errno_location() #10
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call ptr @strerror(i32 noundef %2193) #9
  %2195 = call ptr @__errno_location() #10
  %2196 = load i32, ptr %2195, align 4, !tbaa !5
  %2197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2184, ptr noundef @.str.5, i32 noundef %2185, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 122, ptr noundef %2188, ptr noundef %2191, ptr noundef %2194, i32 noundef %2196) #9
  br label %2198

2198:                                             ; preds = %2181, %2164
  call void @llvm.lifetime.end.p0(i64 4, ptr %52) #9
  br label %2199

2199:                                             ; preds = %2198
  br label %2200

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

2201:                                             ; No predecessors!
  br label %2202

2202:                                             ; preds = %2201
  br label %2203

2203:                                             ; preds = %2202, %2143
  br label %2204

2204:                                             ; preds = %2203
  br label %2205

2205:                                             ; preds = %2204
  %2206 = load ptr, ptr %50, align 8, !tbaa !9
  %2207 = getelementptr inbounds %struct.s2n_connection, ptr %2206, i32 0, i32 23
  store i8 33, ptr %2207, align 4, !tbaa !15
  %2208 = load ptr, ptr %50, align 8, !tbaa !9
  %2209 = getelementptr inbounds %struct.s2n_connection, ptr %2208, i32 0, i32 27
  %2210 = load ptr, ptr %2209, align 8, !tbaa !42
  %2211 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2210, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %2211, align 8, !tbaa !43
  %2212 = load ptr, ptr %50, align 8, !tbaa !9
  %2213 = load i32, ptr %2212, align 8
  %2214 = and i32 %2213, -8193
  %2215 = or i32 %2214, 8192
  store i32 %2215, ptr %2212, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr %53) #9
  call void @llvm.memset.p0.i64(ptr align 8 %53, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr %54) #9
  call void @llvm.memset.p0.i64(ptr align 8 %54, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr %55) #9
  call void @llvm.memset.p0.i64(ptr align 16 %55, i8 0, i64 138, i1 false)
  br label %2216

2216:                                             ; preds = %2205
  %2217 = load i32, ptr @test_count, align 4, !tbaa !5
  %2218 = add nsw i32 %2217, 1
  store i32 %2218, ptr @test_count, align 4, !tbaa !5
  %2219 = getelementptr inbounds [138 x i8], ptr %55, i64 0, i64 0
  %2220 = call i32 @s2n_blob_init(ptr noundef %54, ptr noundef %2219, i32 noundef 138)
  %2221 = icmp eq i32 %2220, -1
  br i1 %2221, label %2222, label %2275

2222:                                             ; preds = %2216
  br label %2223

2223:                                             ; preds = %2222
  br label %2224

2224:                                             ; preds = %2223
  call void @llvm.lifetime.start.p0(i64 4, ptr %56) #9
  %2225 = call ptr @__errno_location() #10
  %2226 = load i32, ptr %2225, align 4, !tbaa !5
  store i32 %2226, ptr %56, align 4, !tbaa !5
  %2227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2228 = call i32 @s2n_print_stacktrace(ptr noundef %2227)
  %2229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2230 = trunc i8 %2229 to i1
  br i1 %2230, label %2231, label %2253

2231:                                             ; preds = %2224
  %2232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2233 = call i32 @fileno(ptr noundef %2232) #9
  %2234 = call i32 @isatty(i32 noundef %2233) #9
  %2235 = icmp ne i32 %2234, 0
  br i1 %2235, label %2236, label %2253

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

2253:                                             ; preds = %2231, %2224
  %2254 = load i32, ptr %56, align 4, !tbaa !5
  %2255 = call ptr @__errno_location() #10
  store i32 %2254, ptr %2255, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = load i32, ptr @test_count, align 4, !tbaa !5
  %2258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2259 = load i32, ptr %2258, align 4, !tbaa !5
  %2260 = call ptr @s2n_strerror(i32 noundef %2259, ptr noundef @.str.4)
  %2261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2262 = load i32, ptr %2261, align 4, !tbaa !5
  %2263 = call ptr @s2n_strerror_debug(i32 noundef %2262, ptr noundef @.str.4)
  %2264 = call ptr @__errno_location() #10
  %2265 = load i32, ptr %2264, align 4, !tbaa !5
  %2266 = call ptr @strerror(i32 noundef %2265) #9
  %2267 = call ptr @__errno_location() #10
  %2268 = load i32, ptr %2267, align 4, !tbaa !5
  %2269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2256, ptr noundef @.str.5, i32 noundef %2257, ptr noundef @.str.12, ptr noundef @.str.1, i32 noundef 131, ptr noundef %2260, ptr noundef %2263, ptr noundef %2266, i32 noundef %2268) #9
  br label %2270

2270:                                             ; preds = %2253, %2236
  call void @llvm.lifetime.end.p0(i64 4, ptr %56) #9
  br label %2271

2271:                                             ; preds = %2270
  br label %2272

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

2273:                                             ; No predecessors!
  br label %2274

2274:                                             ; preds = %2273
  br label %2275

2275:                                             ; preds = %2274, %2216
  br label %2276

2276:                                             ; preds = %2275
  br label %2277

2277:                                             ; preds = %2276
  br label %2278

2278:                                             ; preds = %2277
  %2279 = load i32, ptr @test_count, align 4, !tbaa !5
  %2280 = add nsw i32 %2279, 1
  store i32 %2280, ptr @test_count, align 4, !tbaa !5
  %2281 = call i32 @s2n_stuffer_init(ptr noundef %53, ptr noundef %54)
  %2282 = icmp eq i32 %2281, -1
  br i1 %2282, label %2283, label %2336

2283:                                             ; preds = %2278
  br label %2284

2284:                                             ; preds = %2283
  br label %2285

2285:                                             ; preds = %2284
  call void @llvm.lifetime.start.p0(i64 4, ptr %57) #9
  %2286 = call ptr @__errno_location() #10
  %2287 = load i32, ptr %2286, align 4, !tbaa !5
  store i32 %2287, ptr %57, align 4, !tbaa !5
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @s2n_print_stacktrace(ptr noundef %2288)
  %2290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2291 = trunc i8 %2290 to i1
  br i1 %2291, label %2292, label %2314

2292:                                             ; preds = %2285
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = call i32 @fileno(ptr noundef %2293) #9
  %2295 = call i32 @isatty(i32 noundef %2294) #9
  %2296 = icmp ne i32 %2295, 0
  br i1 %2296, label %2297, label %2314

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

2314:                                             ; preds = %2292, %2285
  %2315 = load i32, ptr %57, align 4, !tbaa !5
  %2316 = call ptr @__errno_location() #10
  store i32 %2315, ptr %2316, align 4, !tbaa !5
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = load i32, ptr @test_count, align 4, !tbaa !5
  %2319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2320 = load i32, ptr %2319, align 4, !tbaa !5
  %2321 = call ptr @s2n_strerror(i32 noundef %2320, ptr noundef @.str.4)
  %2322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2323 = load i32, ptr %2322, align 4, !tbaa !5
  %2324 = call ptr @s2n_strerror_debug(i32 noundef %2323, ptr noundef @.str.4)
  %2325 = call ptr @__errno_location() #10
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @strerror(i32 noundef %2326) #9
  %2328 = call ptr @__errno_location() #10
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2317, ptr noundef @.str.5, i32 noundef %2318, ptr noundef @.str.13, ptr noundef @.str.1, i32 noundef 132, ptr noundef %2321, ptr noundef %2324, ptr noundef %2327, i32 noundef %2329) #9
  br label %2331

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

2332:                                             ; preds = %2331
  br label %2333

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

2334:                                             ; No predecessors!
  br label %2335

2335:                                             ; preds = %2334
  br label %2336

2336:                                             ; preds = %2335, %2278
  br label %2337

2337:                                             ; preds = %2336
  br label %2338

2338:                                             ; preds = %2337
  call void @llvm.lifetime.start.p0(i64 8, ptr %58) #9
  %2339 = load ptr, ptr %50, align 8, !tbaa !9
  %2340 = getelementptr inbounds %struct.s2n_connection, ptr %2339, i32 0, i32 1
  %2341 = load ptr, ptr %2340, align 8, !tbaa !48
  %2342 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %2341)
  store ptr %2342, ptr %58, align 8, !tbaa !9
  br label %2343

2343:                                             ; preds = %2338
  %2344 = load i32, ptr @test_count, align 4, !tbaa !5
  %2345 = add nsw i32 %2344, 1
  store i32 %2345, ptr @test_count, align 4, !tbaa !5
  %2346 = load ptr, ptr %58, align 8, !tbaa !9
  %2347 = icmp eq ptr %2346, null
  br i1 %2347, label %2348, label %2401

2348:                                             ; preds = %2343
  br label %2349

2349:                                             ; preds = %2348
  br label %2350

2350:                                             ; preds = %2349
  call void @llvm.lifetime.start.p0(i64 4, ptr %59) #9
  %2351 = call ptr @__errno_location() #10
  %2352 = load i32, ptr %2351, align 4, !tbaa !5
  store i32 %2352, ptr %59, align 4, !tbaa !5
  %2353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2354 = call i32 @s2n_print_stacktrace(ptr noundef %2353)
  %2355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2356 = trunc i8 %2355 to i1
  br i1 %2356, label %2357, label %2379

2357:                                             ; preds = %2350
  %2358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2359 = call i32 @fileno(ptr noundef %2358) #9
  %2360 = call i32 @isatty(i32 noundef %2359) #9
  %2361 = icmp ne i32 %2360, 0
  br i1 %2361, label %2362, label %2379

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

2379:                                             ; preds = %2357, %2350
  %2380 = load i32, ptr %59, align 4, !tbaa !5
  %2381 = call ptr @__errno_location() #10
  store i32 %2380, ptr %2381, align 4, !tbaa !5
  %2382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2383 = load i32, ptr @test_count, align 4, !tbaa !5
  %2384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2385 = load i32, ptr %2384, align 4, !tbaa !5
  %2386 = call ptr @s2n_strerror(i32 noundef %2385, ptr noundef @.str.4)
  %2387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2388 = load i32, ptr %2387, align 4, !tbaa !5
  %2389 = call ptr @s2n_strerror_debug(i32 noundef %2388, ptr noundef @.str.4)
  %2390 = call ptr @__errno_location() #10
  %2391 = load i32, ptr %2390, align 4, !tbaa !5
  %2392 = call ptr @strerror(i32 noundef %2391) #9
  %2393 = call ptr @__errno_location() #10
  %2394 = load i32, ptr %2393, align 4, !tbaa !5
  %2395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2382, ptr noundef @.str.5, i32 noundef %2383, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 135, ptr noundef %2386, ptr noundef %2389, ptr noundef %2392, i32 noundef %2394) #9
  br label %2396

2396:                                             ; preds = %2379, %2362
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #9
  br label %2397

2397:                                             ; preds = %2396
  br label %2398

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

2399:                                             ; No predecessors!
  br label %2400

2400:                                             ; preds = %2399
  br label %2401

2401:                                             ; preds = %2400, %2343
  br label %2402

2402:                                             ; preds = %2401
  br label %2403

2403:                                             ; preds = %2402
  br label %2404

2404:                                             ; preds = %2403
  %2405 = load i32, ptr @test_count, align 4, !tbaa !5
  %2406 = add nsw i32 %2405, 1
  store i32 %2406, ptr @test_count, align 4, !tbaa !5
  %2407 = load ptr, ptr %50, align 8, !tbaa !9
  %2408 = load ptr, ptr %58, align 8, !tbaa !9
  %2409 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef %2407, ptr noundef %2408, ptr noundef %53)
  %2410 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  store i32 %2409, ptr %2410, align 4
  %2411 = getelementptr inbounds %struct.s2n_result, ptr %60, i32 0, i32 0
  %2412 = load i32, ptr %2411, align 4
  %2413 = call zeroext i1 @s2n_result_is_ok(i32 %2412)
  br i1 %2413, label %2467, label %2414

2414:                                             ; preds = %2404
  br label %2415

2415:                                             ; preds = %2414
  br label %2416

2416:                                             ; preds = %2415
  call void @llvm.lifetime.start.p0(i64 4, ptr %61) #9
  %2417 = call ptr @__errno_location() #10
  %2418 = load i32, ptr %2417, align 4, !tbaa !5
  store i32 %2418, ptr %61, align 4, !tbaa !5
  %2419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2420 = call i32 @s2n_print_stacktrace(ptr noundef %2419)
  %2421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2422 = trunc i8 %2421 to i1
  br i1 %2422, label %2423, label %2445

2423:                                             ; preds = %2416
  %2424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2425 = call i32 @fileno(ptr noundef %2424) #9
  %2426 = call i32 @isatty(i32 noundef %2425) #9
  %2427 = icmp ne i32 %2426, 0
  br i1 %2427, label %2428, label %2445

2428:                                             ; preds = %2423
  %2429 = load i32, ptr %61, align 4, !tbaa !5
  %2430 = call ptr @__errno_location() #10
  store i32 %2429, ptr %2430, align 4, !tbaa !5
  %2431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2432 = load i32, ptr @test_count, align 4, !tbaa !5
  %2433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2434 = load i32, ptr %2433, align 4, !tbaa !5
  %2435 = call ptr @s2n_strerror(i32 noundef %2434, ptr noundef @.str.4)
  %2436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2437 = load i32, ptr %2436, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror_debug(i32 noundef %2437, ptr noundef @.str.4)
  %2439 = call ptr @__errno_location() #10
  %2440 = load i32, ptr %2439, align 4, !tbaa !5
  %2441 = call ptr @strerror(i32 noundef %2440) #9
  %2442 = call ptr @__errno_location() #10
  %2443 = load i32, ptr %2442, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2431, ptr noundef @.str.2, i32 noundef %2432, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2435, ptr noundef %2438, ptr noundef %2441, i32 noundef %2443) #9
  br label %2462

2445:                                             ; preds = %2423, %2416
  %2446 = load i32, ptr %61, align 4, !tbaa !5
  %2447 = call ptr @__errno_location() #10
  store i32 %2446, ptr %2447, align 4, !tbaa !5
  %2448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2449 = load i32, ptr @test_count, align 4, !tbaa !5
  %2450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2451 = load i32, ptr %2450, align 4, !tbaa !5
  %2452 = call ptr @s2n_strerror(i32 noundef %2451, ptr noundef @.str.4)
  %2453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2454 = load i32, ptr %2453, align 4, !tbaa !5
  %2455 = call ptr @s2n_strerror_debug(i32 noundef %2454, ptr noundef @.str.4)
  %2456 = call ptr @__errno_location() #10
  %2457 = load i32, ptr %2456, align 4, !tbaa !5
  %2458 = call ptr @strerror(i32 noundef %2457) #9
  %2459 = call ptr @__errno_location() #10
  %2460 = load i32, ptr %2459, align 4, !tbaa !5
  %2461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2448, ptr noundef @.str.5, i32 noundef %2449, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 138, ptr noundef %2452, ptr noundef %2455, ptr noundef %2458, i32 noundef %2460) #9
  br label %2462

2462:                                             ; preds = %2445, %2428
  call void @llvm.lifetime.end.p0(i64 4, ptr %61) #9
  br label %2463

2463:                                             ; preds = %2462
  br label %2464

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

2465:                                             ; No predecessors!
  br label %2466

2466:                                             ; preds = %2465
  br label %2467

2467:                                             ; preds = %2466, %2404
  br label %2468

2468:                                             ; preds = %2467
  br label %2469

2469:                                             ; preds = %2468
  br label %2470

2470:                                             ; preds = %2469
  %2471 = load i32, ptr @test_count, align 4, !tbaa !5
  %2472 = add nsw i32 %2471, 1
  store i32 %2472, ptr @test_count, align 4, !tbaa !5
  %2473 = load ptr, ptr %50, align 8, !tbaa !9
  %2474 = call i32 @s2n_connection_wipe(ptr noundef %2473)
  %2475 = icmp eq i32 %2474, -1
  br i1 %2475, label %2476, label %2529

2476:                                             ; preds = %2470
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

2478:                                             ; preds = %2477
  call void @llvm.lifetime.start.p0(i64 4, ptr %62) #9
  %2479 = call ptr @__errno_location() #10
  %2480 = load i32, ptr %2479, align 4, !tbaa !5
  store i32 %2480, ptr %62, align 4, !tbaa !5
  %2481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2482 = call i32 @s2n_print_stacktrace(ptr noundef %2481)
  %2483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2484 = trunc i8 %2483 to i1
  br i1 %2484, label %2485, label %2507

2485:                                             ; preds = %2478
  %2486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2487 = call i32 @fileno(ptr noundef %2486) #9
  %2488 = call i32 @isatty(i32 noundef %2487) #9
  %2489 = icmp ne i32 %2488, 0
  br i1 %2489, label %2490, label %2507

2490:                                             ; preds = %2485
  %2491 = load i32, ptr %62, align 4, !tbaa !5
  %2492 = call ptr @__errno_location() #10
  store i32 %2491, ptr %2492, align 4, !tbaa !5
  %2493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2494 = load i32, ptr @test_count, align 4, !tbaa !5
  %2495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2496 = load i32, ptr %2495, align 4, !tbaa !5
  %2497 = call ptr @s2n_strerror(i32 noundef %2496, ptr noundef @.str.4)
  %2498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2499 = load i32, ptr %2498, align 4, !tbaa !5
  %2500 = call ptr @s2n_strerror_debug(i32 noundef %2499, ptr noundef @.str.4)
  %2501 = call ptr @__errno_location() #10
  %2502 = load i32, ptr %2501, align 4, !tbaa !5
  %2503 = call ptr @strerror(i32 noundef %2502) #9
  %2504 = call ptr @__errno_location() #10
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2493, ptr noundef @.str.2, i32 noundef %2494, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2497, ptr noundef %2500, ptr noundef %2503, i32 noundef %2505) #9
  br label %2524

2507:                                             ; preds = %2485, %2478
  %2508 = load i32, ptr %62, align 4, !tbaa !5
  %2509 = call ptr @__errno_location() #10
  store i32 %2508, ptr %2509, align 4, !tbaa !5
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2513, ptr noundef @.str.4)
  %2515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2516 = load i32, ptr %2515, align 4, !tbaa !5
  %2517 = call ptr @s2n_strerror_debug(i32 noundef %2516, ptr noundef @.str.4)
  %2518 = call ptr @__errno_location() #10
  %2519 = load i32, ptr %2518, align 4, !tbaa !5
  %2520 = call ptr @strerror(i32 noundef %2519) #9
  %2521 = call ptr @__errno_location() #10
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2510, ptr noundef @.str.5, i32 noundef %2511, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 140, ptr noundef %2514, ptr noundef %2517, ptr noundef %2520, i32 noundef %2522) #9
  br label %2524

2524:                                             ; preds = %2507, %2490
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #9
  br label %2525

2525:                                             ; preds = %2524
  br label %2526

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

2527:                                             ; No predecessors!
  br label %2528

2528:                                             ; preds = %2527
  br label %2529

2529:                                             ; preds = %2528, %2470
  br label %2530

2530:                                             ; preds = %2529
  br label %2531

2531:                                             ; preds = %2530
  br label %2532

2532:                                             ; preds = %2531
  %2533 = load i32, ptr @test_count, align 4, !tbaa !5
  %2534 = add nsw i32 %2533, 1
  store i32 %2534, ptr @test_count, align 4, !tbaa !5
  %2535 = load ptr, ptr %50, align 8, !tbaa !9
  %2536 = load ptr, ptr %9, align 8, !tbaa !9
  %2537 = call i32 @s2n_connection_set_config(ptr noundef %2535, ptr noundef %2536)
  %2538 = icmp eq i32 %2537, -1
  br i1 %2538, label %2539, label %2592

2539:                                             ; preds = %2532
  br label %2540

2540:                                             ; preds = %2539
  br label %2541

2541:                                             ; preds = %2540
  call void @llvm.lifetime.start.p0(i64 4, ptr %63) #9
  %2542 = call ptr @__errno_location() #10
  %2543 = load i32, ptr %2542, align 4, !tbaa !5
  store i32 %2543, ptr %63, align 4, !tbaa !5
  %2544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2545 = call i32 @s2n_print_stacktrace(ptr noundef %2544)
  %2546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2547 = trunc i8 %2546 to i1
  br i1 %2547, label %2548, label %2570

2548:                                             ; preds = %2541
  %2549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2550 = call i32 @fileno(ptr noundef %2549) #9
  %2551 = call i32 @isatty(i32 noundef %2550) #9
  %2552 = icmp ne i32 %2551, 0
  br i1 %2552, label %2553, label %2570

2553:                                             ; preds = %2548
  %2554 = load i32, ptr %63, align 4, !tbaa !5
  %2555 = call ptr @__errno_location() #10
  store i32 %2554, ptr %2555, align 4, !tbaa !5
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = load i32, ptr @test_count, align 4, !tbaa !5
  %2558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2559 = load i32, ptr %2558, align 4, !tbaa !5
  %2560 = call ptr @s2n_strerror(i32 noundef %2559, ptr noundef @.str.4)
  %2561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2562 = load i32, ptr %2561, align 4, !tbaa !5
  %2563 = call ptr @s2n_strerror_debug(i32 noundef %2562, ptr noundef @.str.4)
  %2564 = call ptr @__errno_location() #10
  %2565 = load i32, ptr %2564, align 4, !tbaa !5
  %2566 = call ptr @strerror(i32 noundef %2565) #9
  %2567 = call ptr @__errno_location() #10
  %2568 = load i32, ptr %2567, align 4, !tbaa !5
  %2569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2556, ptr noundef @.str.2, i32 noundef %2557, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2560, ptr noundef %2563, ptr noundef %2566, i32 noundef %2568) #9
  br label %2587

2570:                                             ; preds = %2548, %2541
  %2571 = load i32, ptr %63, align 4, !tbaa !5
  %2572 = call ptr @__errno_location() #10
  store i32 %2571, ptr %2572, align 4, !tbaa !5
  %2573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2574 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2576, ptr noundef @.str.4)
  %2578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2579 = load i32, ptr %2578, align 4, !tbaa !5
  %2580 = call ptr @s2n_strerror_debug(i32 noundef %2579, ptr noundef @.str.4)
  %2581 = call ptr @__errno_location() #10
  %2582 = load i32, ptr %2581, align 4, !tbaa !5
  %2583 = call ptr @strerror(i32 noundef %2582) #9
  %2584 = call ptr @__errno_location() #10
  %2585 = load i32, ptr %2584, align 4, !tbaa !5
  %2586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2573, ptr noundef @.str.5, i32 noundef %2574, ptr noundef @.str.11, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2577, ptr noundef %2580, ptr noundef %2583, i32 noundef %2585) #9
  br label %2587

2587:                                             ; preds = %2570, %2553
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #9
  br label %2588

2588:                                             ; preds = %2587
  br label %2589

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

2590:                                             ; No predecessors!
  br label %2591

2591:                                             ; preds = %2590
  br label %2592

2592:                                             ; preds = %2591, %2532
  br label %2593

2593:                                             ; preds = %2592
  br label %2594

2594:                                             ; preds = %2593
  %2595 = load ptr, ptr %50, align 8, !tbaa !9
  %2596 = getelementptr inbounds %struct.s2n_connection, ptr %2595, i32 0, i32 23
  store i8 33, ptr %2596, align 4, !tbaa !15
  %2597 = load ptr, ptr %50, align 8, !tbaa !9
  %2598 = getelementptr inbounds %struct.s2n_connection, ptr %2597, i32 0, i32 27
  %2599 = load ptr, ptr %2598, align 8, !tbaa !42
  %2600 = getelementptr inbounds %struct.s2n_crypto_parameters, ptr %2599, i32 0, i32 0
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %2600, align 8, !tbaa !43
  %2601 = load ptr, ptr %50, align 8, !tbaa !9
  %2602 = getelementptr inbounds %struct.s2n_connection, ptr %2601, i32 0, i32 76
  store i32 1, ptr %2602, align 4, !tbaa !49
  br label %2603

2603:                                             ; preds = %2594
  %2604 = load i32, ptr @test_count, align 4, !tbaa !5
  %2605 = add nsw i32 %2604, 1
  store i32 %2605, ptr @test_count, align 4, !tbaa !5
  %2606 = load ptr, ptr %50, align 8, !tbaa !9
  %2607 = getelementptr inbounds %struct.s2n_connection, ptr %2606, i32 0, i32 81
  %2608 = call i32 @s2n_stuffer_copy(ptr noundef %53, ptr noundef %2607, i32 noundef 138)
  %2609 = icmp eq i32 %2608, -1
  br i1 %2609, label %2610, label %2663

2610:                                             ; preds = %2603
  br label %2611

2611:                                             ; preds = %2610
  br label %2612

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

2619:                                             ; preds = %2612
  %2620 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2621 = call i32 @fileno(ptr noundef %2620) #9
  %2622 = call i32 @isatty(i32 noundef %2621) #9
  %2623 = icmp ne i32 %2622, 0
  br i1 %2623, label %2624, label %2641

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

2641:                                             ; preds = %2619, %2612
  %2642 = load i32, ptr %64, align 4, !tbaa !5
  %2643 = call ptr @__errno_location() #10
  store i32 %2642, ptr %2643, align 4, !tbaa !5
  %2644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2645 = load i32, ptr @test_count, align 4, !tbaa !5
  %2646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror(i32 noundef %2647, ptr noundef @.str.4)
  %2649 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call ptr @s2n_strerror_debug(i32 noundef %2650, ptr noundef @.str.4)
  %2652 = call ptr @__errno_location() #10
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call ptr @strerror(i32 noundef %2653) #9
  %2655 = call ptr @__errno_location() #10
  %2656 = load i32, ptr %2655, align 4, !tbaa !5
  %2657 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2644, ptr noundef @.str.5, i32 noundef %2645, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 145, ptr noundef %2648, ptr noundef %2651, ptr noundef %2654, i32 noundef %2656) #9
  br label %2658

2658:                                             ; preds = %2641, %2624
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #9
  br label %2659

2659:                                             ; preds = %2658
  br label %2660

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

2661:                                             ; No predecessors!
  br label %2662

2662:                                             ; preds = %2661
  br label %2663

2663:                                             ; preds = %2662, %2603
  br label %2664

2664:                                             ; preds = %2663
  br label %2665

2665:                                             ; preds = %2664
  %2666 = load ptr, ptr %50, align 8, !tbaa !9
  %2667 = load i32, ptr %2666, align 8
  %2668 = and i32 %2667, -8193
  %2669 = or i32 %2668, 8192
  store i32 %2669, ptr %2666, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %65) #9
  store i8 0, ptr %65, align 1, !tbaa !50
  br label %2670

2670:                                             ; preds = %2665
  %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 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 23, ptr noundef %65)
  %2674 = icmp eq i32 %2673, -1
  br i1 %2674, label %2675, label %2728

2675:                                             ; preds = %2670
  br label %2676

2676:                                             ; preds = %2675
  br label %2677

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

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

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

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

2723:                                             ; preds = %2706, %2689
  call void @llvm.lifetime.end.p0(i64 4, ptr %66) #9
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

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

2726:                                             ; No predecessors!
  br label %2727

2727:                                             ; preds = %2726
  br label %2728

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

2729:                                             ; preds = %2728
  br label %2730

2730:                                             ; preds = %2729
  %2731 = load i8, ptr %65, align 1, !tbaa !50
  %2732 = zext i8 %2731 to i32
  %2733 = srem i32 %2732, 8
  %2734 = shl i32 1, %2733
  %2735 = load ptr, ptr %50, align 8, !tbaa !9
  %2736 = getelementptr inbounds %struct.s2n_connection, ptr %2735, i32 0, i32 11
  %2737 = load i8, ptr %65, align 1, !tbaa !50
  %2738 = zext i8 %2737 to i32
  %2739 = ashr i32 %2738, 3
  %2740 = sext i32 %2739 to i64
  %2741 = getelementptr inbounds [22 x i8], ptr %2736, i64 0, i64 %2740
  %2742 = load i8, ptr %2741, align 1, !tbaa !50
  %2743 = sext i8 %2742 to i32
  %2744 = or i32 %2743, %2734
  %2745 = trunc i32 %2744 to i8
  store i8 %2745, ptr %2741, align 1, !tbaa !50
  br label %2746

2746:                                             ; preds = %2730
  %2747 = load i32, ptr @test_count, align 4, !tbaa !5
  %2748 = add nsw i32 %2747, 1
  store i32 %2748, ptr @test_count, align 4, !tbaa !5
  %2749 = load ptr, ptr %50, align 8, !tbaa !9
  %2750 = call i32 @s2n_conn_set_handshake_type(ptr noundef %2749)
  %2751 = icmp eq i32 %2750, -1
  br i1 %2751, label %2752, label %2805

2752:                                             ; preds = %2746
  br label %2753

2753:                                             ; preds = %2752
  br label %2754

2754:                                             ; preds = %2753
  call void @llvm.lifetime.start.p0(i64 4, ptr %67) #9
  %2755 = call ptr @__errno_location() #10
  %2756 = load i32, ptr %2755, align 4, !tbaa !5
  store i32 %2756, ptr %67, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = call i32 @s2n_print_stacktrace(ptr noundef %2757)
  %2759 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2760 = trunc i8 %2759 to i1
  br i1 %2760, label %2761, label %2783

2761:                                             ; preds = %2754
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = call i32 @fileno(ptr noundef %2762) #9
  %2764 = call i32 @isatty(i32 noundef %2763) #9
  %2765 = icmp ne i32 %2764, 0
  br i1 %2765, label %2766, label %2783

2766:                                             ; preds = %2761
  %2767 = load i32, ptr %67, align 4, !tbaa !5
  %2768 = call ptr @__errno_location() #10
  store i32 %2767, ptr %2768, align 4, !tbaa !5
  %2769 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2770 = load i32, ptr @test_count, align 4, !tbaa !5
  %2771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2772 = load i32, ptr %2771, align 4, !tbaa !5
  %2773 = call ptr @s2n_strerror(i32 noundef %2772, ptr noundef @.str.4)
  %2774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2775 = load i32, ptr %2774, align 4, !tbaa !5
  %2776 = call ptr @s2n_strerror_debug(i32 noundef %2775, ptr noundef @.str.4)
  %2777 = call ptr @__errno_location() #10
  %2778 = load i32, ptr %2777, align 4, !tbaa !5
  %2779 = call ptr @strerror(i32 noundef %2778) #9
  %2780 = call ptr @__errno_location() #10
  %2781 = load i32, ptr %2780, align 4, !tbaa !5
  %2782 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2769, ptr noundef @.str.2, i32 noundef %2770, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2773, ptr noundef %2776, ptr noundef %2779, i32 noundef %2781) #9
  br label %2800

2783:                                             ; preds = %2761, %2754
  %2784 = load i32, ptr %67, align 4, !tbaa !5
  %2785 = call ptr @__errno_location() #10
  store i32 %2784, ptr %2785, align 4, !tbaa !5
  %2786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2787 = load i32, ptr @test_count, align 4, !tbaa !5
  %2788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2789 = load i32, ptr %2788, align 4, !tbaa !5
  %2790 = call ptr @s2n_strerror(i32 noundef %2789, ptr noundef @.str.4)
  %2791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2792 = load i32, ptr %2791, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror_debug(i32 noundef %2792, ptr noundef @.str.4)
  %2794 = call ptr @__errno_location() #10
  %2795 = load i32, ptr %2794, align 4, !tbaa !5
  %2796 = call ptr @strerror(i32 noundef %2795) #9
  %2797 = call ptr @__errno_location() #10
  %2798 = load i32, ptr %2797, align 4, !tbaa !5
  %2799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2786, ptr noundef @.str.5, i32 noundef %2787, ptr noundef @.str.22, ptr noundef @.str.1, i32 noundef 153, ptr noundef %2790, ptr noundef %2793, ptr noundef %2796, i32 noundef %2798) #9
  br label %2800

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

2801:                                             ; preds = %2800
  br label %2802

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

2803:                                             ; No predecessors!
  br label %2804

2804:                                             ; preds = %2803
  br label %2805

2805:                                             ; preds = %2804, %2746
  br label %2806

2806:                                             ; preds = %2805
  br label %2807

2807:                                             ; preds = %2806
  br label %2808

2808:                                             ; preds = %2807
  %2809 = load i32, ptr @test_count, align 4, !tbaa !5
  %2810 = add nsw i32 %2809, 1
  store i32 %2810, ptr @test_count, align 4, !tbaa !5
  %2811 = load ptr, ptr %50, align 8, !tbaa !9
  %2812 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef %2811, i32 noundef 2)
  br i1 %2812, label %2813, label %2866

2813:                                             ; preds = %2808
  br label %2814

2814:                                             ; preds = %2813
  br label %2815

2815:                                             ; preds = %2814
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #9
  %2816 = call ptr @__errno_location() #10
  %2817 = load i32, ptr %2816, align 4, !tbaa !5
  store i32 %2817, ptr %68, align 4, !tbaa !5
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = call i32 @s2n_print_stacktrace(ptr noundef %2818)
  %2820 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2821 = trunc i8 %2820 to i1
  br i1 %2821, label %2822, label %2844

2822:                                             ; preds = %2815
  %2823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2824 = call i32 @fileno(ptr noundef %2823) #9
  %2825 = call i32 @isatty(i32 noundef %2824) #9
  %2826 = icmp ne i32 %2825, 0
  br i1 %2826, label %2827, label %2844

2827:                                             ; preds = %2822
  %2828 = load i32, ptr %68, align 4, !tbaa !5
  %2829 = call ptr @__errno_location() #10
  store i32 %2828, ptr %2829, align 4, !tbaa !5
  %2830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2831 = load i32, ptr @test_count, align 4, !tbaa !5
  %2832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2833 = load i32, ptr %2832, align 4, !tbaa !5
  %2834 = call ptr @s2n_strerror(i32 noundef %2833, ptr noundef @.str.4)
  %2835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2836 = load i32, ptr %2835, align 4, !tbaa !5
  %2837 = call ptr @s2n_strerror_debug(i32 noundef %2836, ptr noundef @.str.4)
  %2838 = call ptr @__errno_location() #10
  %2839 = load i32, ptr %2838, align 4, !tbaa !5
  %2840 = call ptr @strerror(i32 noundef %2839) #9
  %2841 = call ptr @__errno_location() #10
  %2842 = load i32, ptr %2841, align 4, !tbaa !5
  %2843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2830, ptr noundef @.str.2, i32 noundef %2831, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2834, ptr noundef %2837, ptr noundef %2840, i32 noundef %2842) #9
  br label %2861

2844:                                             ; preds = %2822, %2815
  %2845 = load i32, ptr %68, align 4, !tbaa !5
  %2846 = call ptr @__errno_location() #10
  store i32 %2845, ptr %2846, align 4, !tbaa !5
  %2847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2848 = load i32, ptr @test_count, align 4, !tbaa !5
  %2849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2850 = load i32, ptr %2849, align 4, !tbaa !5
  %2851 = call ptr @s2n_strerror(i32 noundef %2850, ptr noundef @.str.4)
  %2852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2853 = load i32, ptr %2852, align 4, !tbaa !5
  %2854 = call ptr @s2n_strerror_debug(i32 noundef %2853, ptr noundef @.str.4)
  %2855 = call ptr @__errno_location() #10
  %2856 = load i32, ptr %2855, align 4, !tbaa !5
  %2857 = call ptr @strerror(i32 noundef %2856) #9
  %2858 = call ptr @__errno_location() #10
  %2859 = load i32, ptr %2858, align 4, !tbaa !5
  %2860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2847, ptr noundef @.str.5, i32 noundef %2848, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 155, ptr noundef %2851, ptr noundef %2854, ptr noundef %2857, i32 noundef %2859) #9
  br label %2861

2861:                                             ; preds = %2844, %2827
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #9
  br label %2862

2862:                                             ; preds = %2861
  br label %2863

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

2864:                                             ; No predecessors!
  br label %2865

2865:                                             ; preds = %2864
  br label %2866

2866:                                             ; preds = %2865, %2808
  br label %2867

2867:                                             ; preds = %2866
  br label %2868

2868:                                             ; preds = %2867
  br label %2869

2869:                                             ; preds = %2868
  %2870 = load i32, ptr @test_count, align 4, !tbaa !5
  %2871 = add nsw i32 %2870, 1
  store i32 %2871, ptr @test_count, align 4, !tbaa !5
  %2872 = load ptr, ptr %50, align 8, !tbaa !9
  %2873 = call i32 @s2n_connection_free(ptr noundef %2872)
  %2874 = icmp eq i32 %2873, -1
  br i1 %2874, label %2875, label %2928

2875:                                             ; preds = %2869
  br label %2876

2876:                                             ; preds = %2875
  br label %2877

2877:                                             ; preds = %2876
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #9
  %2878 = call ptr @__errno_location() #10
  %2879 = load i32, ptr %2878, align 4, !tbaa !5
  store i32 %2879, ptr %69, align 4, !tbaa !5
  %2880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2881 = call i32 @s2n_print_stacktrace(ptr noundef %2880)
  %2882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2883 = trunc i8 %2882 to i1
  br i1 %2883, label %2884, label %2906

2884:                                             ; preds = %2877
  %2885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2886 = call i32 @fileno(ptr noundef %2885) #9
  %2887 = call i32 @isatty(i32 noundef %2886) #9
  %2888 = icmp ne i32 %2887, 0
  br i1 %2888, label %2889, label %2906

2889:                                             ; preds = %2884
  %2890 = load i32, ptr %69, align 4, !tbaa !5
  %2891 = call ptr @__errno_location() #10
  store i32 %2890, ptr %2891, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2895 = load i32, ptr %2894, align 4, !tbaa !5
  %2896 = call ptr @s2n_strerror(i32 noundef %2895, ptr noundef @.str.4)
  %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_debug(i32 noundef %2898, ptr noundef @.str.4)
  %2900 = call ptr @__errno_location() #10
  %2901 = load i32, ptr %2900, align 4, !tbaa !5
  %2902 = call ptr @strerror(i32 noundef %2901) #9
  %2903 = call ptr @__errno_location() #10
  %2904 = load i32, ptr %2903, align 4, !tbaa !5
  %2905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2892, ptr noundef @.str.2, i32 noundef %2893, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2896, ptr noundef %2899, ptr noundef %2902, i32 noundef %2904) #9
  br label %2923

2906:                                             ; preds = %2884, %2877
  %2907 = load i32, ptr %69, align 4, !tbaa !5
  %2908 = call ptr @__errno_location() #10
  store i32 %2907, ptr %2908, align 4, !tbaa !5
  %2909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2910 = load i32, ptr @test_count, align 4, !tbaa !5
  %2911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2912 = load i32, ptr %2911, align 4, !tbaa !5
  %2913 = call ptr @s2n_strerror(i32 noundef %2912, ptr noundef @.str.4)
  %2914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2915 = load i32, ptr %2914, align 4, !tbaa !5
  %2916 = call ptr @s2n_strerror_debug(i32 noundef %2915, ptr noundef @.str.4)
  %2917 = call ptr @__errno_location() #10
  %2918 = load i32, ptr %2917, align 4, !tbaa !5
  %2919 = call ptr @strerror(i32 noundef %2918) #9
  %2920 = call ptr @__errno_location() #10
  %2921 = load i32, ptr %2920, align 4, !tbaa !5
  %2922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2909, ptr noundef @.str.5, i32 noundef %2910, ptr noundef @.str.21, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2913, ptr noundef %2916, ptr noundef %2919, i32 noundef %2921) #9
  br label %2923

2923:                                             ; preds = %2906, %2889
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #9
  br label %2924

2924:                                             ; preds = %2923
  br label %2925

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

2926:                                             ; No predecessors!
  br label %2927

2927:                                             ; preds = %2926
  br label %2928

2928:                                             ; preds = %2927, %2869
  br label %2929

2929:                                             ; preds = %2928
  br label %2930

2930:                                             ; preds = %2929
  call void @llvm.lifetime.end.p0(i64 1, ptr %65) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %58) #9
  call void @llvm.lifetime.end.p0(i64 138, ptr %55) #9
  call void @llvm.lifetime.end.p0(i64 24, ptr %54) #9
  call void @llvm.lifetime.end.p0(i64 40, ptr %53) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %50) #9
  br label %2931

2931:                                             ; preds = %2930
  %2932 = load i32, ptr @test_count, align 4, !tbaa !5
  %2933 = add nsw i32 %2932, 1
  store i32 %2933, ptr @test_count, align 4, !tbaa !5
  %2934 = load ptr, ptr %9, align 8, !tbaa !9
  %2935 = call i32 @s2n_config_free(ptr noundef %2934)
  %2936 = icmp eq i32 %2935, -1
  br i1 %2936, label %2937, label %2990

2937:                                             ; preds = %2931
  br label %2938

2938:                                             ; preds = %2937
  br label %2939

2939:                                             ; preds = %2938
  call void @llvm.lifetime.start.p0(i64 4, ptr %70) #9
  %2940 = call ptr @__errno_location() #10
  %2941 = load i32, ptr %2940, align 4, !tbaa !5
  store i32 %2941, ptr %70, align 4, !tbaa !5
  %2942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2943 = call i32 @s2n_print_stacktrace(ptr noundef %2942)
  %2944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2945 = trunc i8 %2944 to i1
  br i1 %2945, label %2946, label %2968

2946:                                             ; preds = %2939
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @fileno(ptr noundef %2947) #9
  %2949 = call i32 @isatty(i32 noundef %2948) #9
  %2950 = icmp ne i32 %2949, 0
  br i1 %2950, label %2951, label %2968

2951:                                             ; preds = %2946
  %2952 = load i32, ptr %70, align 4, !tbaa !5
  %2953 = call ptr @__errno_location() #10
  store i32 %2952, ptr %2953, align 4, !tbaa !5
  %2954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2957 = load i32, ptr %2956, align 4, !tbaa !5
  %2958 = call ptr @s2n_strerror(i32 noundef %2957, ptr noundef @.str.4)
  %2959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2960 = load i32, ptr %2959, align 4, !tbaa !5
  %2961 = call ptr @s2n_strerror_debug(i32 noundef %2960, ptr noundef @.str.4)
  %2962 = call ptr @__errno_location() #10
  %2963 = load i32, ptr %2962, align 4, !tbaa !5
  %2964 = call ptr @strerror(i32 noundef %2963) #9
  %2965 = call ptr @__errno_location() #10
  %2966 = load i32, ptr %2965, align 4, !tbaa !5
  %2967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2954, ptr noundef @.str.2, i32 noundef %2955, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2958, ptr noundef %2961, ptr noundef %2964, i32 noundef %2966) #9
  br label %2985

2968:                                             ; preds = %2946, %2939
  %2969 = load i32, ptr %70, align 4, !tbaa !5
  %2970 = call ptr @__errno_location() #10
  store i32 %2969, ptr %2970, align 4, !tbaa !5
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2974 = load i32, ptr %2973, align 4, !tbaa !5
  %2975 = call ptr @s2n_strerror(i32 noundef %2974, ptr noundef @.str.4)
  %2976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2977 = load i32, ptr %2976, align 4, !tbaa !5
  %2978 = call ptr @s2n_strerror_debug(i32 noundef %2977, ptr noundef @.str.4)
  %2979 = call ptr @__errno_location() #10
  %2980 = load i32, ptr %2979, align 4, !tbaa !5
  %2981 = call ptr @strerror(i32 noundef %2980) #9
  %2982 = call ptr @__errno_location() #10
  %2983 = load i32, ptr %2982, align 4, !tbaa !5
  %2984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2971, ptr noundef @.str.5, i32 noundef %2972, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2975, ptr noundef %2978, ptr noundef %2981, i32 noundef %2983) #9
  br label %2985

2985:                                             ; preds = %2968, %2951
  call void @llvm.lifetime.end.p0(i64 4, ptr %70) #9
  br label %2986

2986:                                             ; preds = %2985
  br label %2987

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

2988:                                             ; No predecessors!
  br label %2989

2989:                                             ; preds = %2988
  br label %2990

2990:                                             ; preds = %2989, %2931
  br label %2991

2991:                                             ; preds = %2990
  br label %2992

2992:                                             ; preds = %2991
  call void @llvm.lifetime.end.p0(i64 8, ptr %9) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %71) #9
  %2993 = call ptr @s2n_config_new()
  store ptr %2993, ptr %71, align 8, !tbaa !9
  br label %2994

2994:                                             ; preds = %2992
  %2995 = load i32, ptr @test_count, align 4, !tbaa !5
  %2996 = add nsw i32 %2995, 1
  store i32 %2996, ptr @test_count, align 4, !tbaa !5
  %2997 = load ptr, ptr %71, align 8, !tbaa !9
  %2998 = icmp eq ptr %2997, null
  br i1 %2998, label %2999, label %3052

2999:                                             ; preds = %2994
  br label %3000

3000:                                             ; preds = %2999
  br label %3001

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

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

3013:                                             ; preds = %3008
  %3014 = load i32, ptr %72, align 4, !tbaa !5
  %3015 = call ptr @__errno_location() #10
  store i32 %3014, ptr %3015, align 4, !tbaa !5
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = load i32, ptr @test_count, align 4, !tbaa !5
  %3018 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3019 = load i32, ptr %3018, align 4, !tbaa !5
  %3020 = call ptr @s2n_strerror(i32 noundef %3019, ptr noundef @.str.4)
  %3021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3022 = load i32, ptr %3021, align 4, !tbaa !5
  %3023 = call ptr @s2n_strerror_debug(i32 noundef %3022, ptr noundef @.str.4)
  %3024 = call ptr @__errno_location() #10
  %3025 = load i32, ptr %3024, align 4, !tbaa !5
  %3026 = call ptr @strerror(i32 noundef %3025) #9
  %3027 = call ptr @__errno_location() #10
  %3028 = load i32, ptr %3027, align 4, !tbaa !5
  %3029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3016, ptr noundef @.str.2, i32 noundef %3017, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3020, ptr noundef %3023, ptr noundef %3026, i32 noundef %3028) #9
  br label %3047

3030:                                             ; preds = %3008, %3001
  %3031 = load i32, ptr %72, align 4, !tbaa !5
  %3032 = call ptr @__errno_location() #10
  store i32 %3031, ptr %3032, align 4, !tbaa !5
  %3033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3034 = load i32, ptr @test_count, align 4, !tbaa !5
  %3035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3036 = load i32, ptr %3035, align 4, !tbaa !5
  %3037 = call ptr @s2n_strerror(i32 noundef %3036, ptr noundef @.str.4)
  %3038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3039 = load i32, ptr %3038, align 4, !tbaa !5
  %3040 = call ptr @s2n_strerror_debug(i32 noundef %3039, ptr noundef @.str.4)
  %3041 = call ptr @__errno_location() #10
  %3042 = load i32, ptr %3041, align 4, !tbaa !5
  %3043 = call ptr @strerror(i32 noundef %3042) #9
  %3044 = call ptr @__errno_location() #10
  %3045 = load i32, ptr %3044, align 4, !tbaa !5
  %3046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3033, ptr noundef @.str.5, i32 noundef %3034, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 166, ptr noundef %3037, ptr noundef %3040, ptr noundef %3043, i32 noundef %3045) #9
  br label %3047

3047:                                             ; preds = %3030, %3013
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #9
  br label %3048

3048:                                             ; preds = %3047
  br label %3049

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

3050:                                             ; No predecessors!
  br label %3051

3051:                                             ; preds = %3050
  br label %3052

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

3053:                                             ; preds = %3052
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

3055:                                             ; preds = %3054
  %3056 = load i32, ptr @test_count, align 4, !tbaa !5
  %3057 = add nsw i32 %3056, 1
  store i32 %3057, ptr @test_count, align 4, !tbaa !5
  %3058 = load ptr, ptr %71, align 8, !tbaa !9
  %3059 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %3058, ptr noundef @.str.28)
  %3060 = icmp eq i32 %3059, -1
  br i1 %3060, label %3061, label %3114

3061:                                             ; preds = %3055
  br label %3062

3062:                                             ; preds = %3061
  br label %3063

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

3070:                                             ; preds = %3063
  %3071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3072 = call i32 @fileno(ptr noundef %3071) #9
  %3073 = call i32 @isatty(i32 noundef %3072) #9
  %3074 = icmp ne i32 %3073, 0
  br i1 %3074, label %3075, label %3092

3075:                                             ; preds = %3070
  %3076 = load i32, ptr %73, align 4, !tbaa !5
  %3077 = call ptr @__errno_location() #10
  store i32 %3076, ptr %3077, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3081, ptr noundef @.str.4)
  %3083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3084 = load i32, ptr %3083, align 4, !tbaa !5
  %3085 = call ptr @s2n_strerror_debug(i32 noundef %3084, ptr noundef @.str.4)
  %3086 = call ptr @__errno_location() #10
  %3087 = load i32, ptr %3086, align 4, !tbaa !5
  %3088 = call ptr @strerror(i32 noundef %3087) #9
  %3089 = call ptr @__errno_location() #10
  %3090 = load i32, ptr %3089, align 4, !tbaa !5
  %3091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3078, ptr noundef @.str.2, i32 noundef %3079, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3082, ptr noundef %3085, ptr noundef %3088, i32 noundef %3090) #9
  br label %3109

3092:                                             ; preds = %3070, %3063
  %3093 = load i32, ptr %73, align 4, !tbaa !5
  %3094 = call ptr @__errno_location() #10
  store i32 %3093, ptr %3094, align 4, !tbaa !5
  %3095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3096 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %3098, ptr noundef @.str.4)
  %3100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3101 = load i32, ptr %3100, align 4, !tbaa !5
  %3102 = call ptr @s2n_strerror_debug(i32 noundef %3101, ptr noundef @.str.4)
  %3103 = call ptr @__errno_location() #10
  %3104 = load i32, ptr %3103, align 4, !tbaa !5
  %3105 = call ptr @strerror(i32 noundef %3104) #9
  %3106 = call ptr @__errno_location() #10
  %3107 = load i32, ptr %3106, align 4, !tbaa !5
  %3108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3095, ptr noundef @.str.5, i32 noundef %3096, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 169, ptr noundef %3099, ptr noundef %3102, ptr noundef %3105, i32 noundef %3107) #9
  br label %3109

3109:                                             ; preds = %3092, %3075
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #9
  br label %3110

3110:                                             ; preds = %3109
  br label %3111

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

3112:                                             ; No predecessors!
  br label %3113

3113:                                             ; preds = %3112
  br label %3114

3114:                                             ; preds = %3113, %3055
  br label %3115

3115:                                             ; preds = %3114
  br label %3116

3116:                                             ; preds = %3115
  br label %3117

3117:                                             ; preds = %3116
  %3118 = load i32, ptr @test_count, align 4, !tbaa !5
  %3119 = add nsw i32 %3118, 1
  store i32 %3119, ptr @test_count, align 4, !tbaa !5
  %3120 = load ptr, ptr %71, align 8, !tbaa !9
  %3121 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %3120)
  %3122 = icmp eq i32 %3121, -1
  br i1 %3122, label %3123, label %3176

3123:                                             ; preds = %3117
  br label %3124

3124:                                             ; preds = %3123
  br label %3125

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

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

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

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

3171:                                             ; preds = %3154, %3137
  call void @llvm.lifetime.end.p0(i64 4, ptr %74) #9
  br label %3172

3172:                                             ; preds = %3171
  br label %3173

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

3174:                                             ; No predecessors!
  br label %3175

3175:                                             ; preds = %3174
  br label %3176

3176:                                             ; preds = %3175, %3117
  br label %3177

3177:                                             ; preds = %3176
  br label %3178

3178:                                             ; preds = %3177
  call void @llvm.lifetime.start.p0(i64 8, ptr %75) #9
  store ptr null, ptr %75, align 8, !tbaa !9
  br label %3179

3179:                                             ; preds = %3178
  %3180 = load i32, ptr @test_count, align 4, !tbaa !5
  %3181 = add nsw i32 %3180, 1
  store i32 %3181, ptr @test_count, align 4, !tbaa !5
  %3182 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %75, ptr noundef @.str.31, ptr noundef @.str.32)
  %3183 = icmp eq i32 %3182, -1
  br i1 %3183, label %3184, label %3237

3184:                                             ; preds = %3179
  br label %3185

3185:                                             ; preds = %3184
  br label %3186

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

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

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

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

3232:                                             ; preds = %3215, %3198
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #9
  br label %3233

3233:                                             ; preds = %3232
  br label %3234

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

3235:                                             ; No predecessors!
  br label %3236

3236:                                             ; preds = %3235
  br label %3237

3237:                                             ; preds = %3236, %3179
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238
  br label %3240

3240:                                             ; preds = %3239
  %3241 = load i32, ptr @test_count, align 4, !tbaa !5
  %3242 = add nsw i32 %3241, 1
  store i32 %3242, ptr @test_count, align 4, !tbaa !5
  %3243 = load ptr, ptr %71, align 8, !tbaa !9
  %3244 = load ptr, ptr %75, align 8, !tbaa !9
  %3245 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %3243, ptr noundef %3244)
  %3246 = icmp eq i32 %3245, -1
  br i1 %3246, label %3247, label %3300

3247:                                             ; preds = %3240
  br label %3248

3248:                                             ; preds = %3247
  br label %3249

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

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

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

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

3295:                                             ; preds = %3278, %3261
  call void @llvm.lifetime.end.p0(i64 4, ptr %77) #9
  br label %3296

3296:                                             ; preds = %3295
  br label %3297

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

3298:                                             ; No predecessors!
  br label %3299

3299:                                             ; preds = %3298
  br label %3300

3300:                                             ; preds = %3299, %3240
  br label %3301

3301:                                             ; preds = %3300
  br label %3302

3302:                                             ; preds = %3301
  call void @llvm.lifetime.start.p0(i64 8, ptr %78) #9
  %3303 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3303, ptr %78, align 8, !tbaa !9
  br label %3304

3304:                                             ; preds = %3302
  %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 = load ptr, ptr %78, 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 %79) #9
  %3312 = call ptr @__errno_location() #10
  %3313 = load i32, ptr %3312, align 4, !tbaa !5
  store i32 %3313, ptr %79, 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 %79, 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.35, ptr noundef @.str.1, i32 noundef 177, ptr noundef %3330, ptr noundef %3333, ptr noundef %3336, i32 noundef %3338) #9
  br label %3357

3340:                                             ; preds = %3318, %3311
  %3341 = load i32, ptr %79, 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.35, ptr noundef @.str.1, i32 noundef 177, 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 %79) #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 %78, align 8, !tbaa !9
  %3369 = load ptr, ptr %71, 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 %80) #9
  %3375 = call ptr @__errno_location() #10
  %3376 = load i32, ptr %3375, align 4, !tbaa !5
  store i32 %3376, ptr %80, 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 %80, 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.36, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3393, ptr noundef %3396, ptr noundef %3399, i32 noundef %3401) #9
  br label %3420

3403:                                             ; preds = %3381, %3374
  %3404 = load i32, ptr %80, 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.36, ptr noundef @.str.1, i32 noundef 178, 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 %80) #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 8, ptr %81) #9
  %3428 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %3428, ptr %81, align 8, !tbaa !9
  br label %3429

3429:                                             ; preds = %3427
  %3430 = load i32, ptr @test_count, align 4, !tbaa !5
  %3431 = add nsw i32 %3430, 1
  store i32 %3431, ptr @test_count, align 4, !tbaa !5
  %3432 = load ptr, ptr %81, align 8, !tbaa !9
  %3433 = icmp eq ptr %3432, null
  br i1 %3433, label %3434, label %3487

3434:                                             ; preds = %3429
  br label %3435

3435:                                             ; preds = %3434
  br label %3436

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

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

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

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

3482:                                             ; preds = %3465, %3448
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #9
  br label %3483

3483:                                             ; preds = %3482
  br label %3484

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

3485:                                             ; No predecessors!
  br label %3486

3486:                                             ; preds = %3485
  br label %3487

3487:                                             ; preds = %3486, %3429
  br label %3488

3488:                                             ; preds = %3487
  br label %3489

3489:                                             ; preds = %3488
  br label %3490

3490:                                             ; preds = %3489
  %3491 = load i32, ptr @test_count, align 4, !tbaa !5
  %3492 = add nsw i32 %3491, 1
  store i32 %3492, ptr @test_count, align 4, !tbaa !5
  %3493 = load ptr, ptr %81, align 8, !tbaa !9
  %3494 = load ptr, ptr %71, align 8, !tbaa !9
  %3495 = call i32 @s2n_connection_set_config(ptr noundef %3493, ptr noundef %3494)
  %3496 = icmp eq i32 %3495, -1
  br i1 %3496, label %3497, label %3550

3497:                                             ; preds = %3490
  br label %3498

3498:                                             ; preds = %3497
  br label %3499

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

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

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

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

3545:                                             ; preds = %3528, %3511
  call void @llvm.lifetime.end.p0(i64 4, ptr %83) #9
  br label %3546

3546:                                             ; preds = %3545
  br label %3547

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

3548:                                             ; No predecessors!
  br label %3549

3549:                                             ; preds = %3548
  br label %3550

3550:                                             ; preds = %3549, %3490
  br label %3551

3551:                                             ; preds = %3550
  br label %3552

3552:                                             ; preds = %3551
  call void @llvm.lifetime.start.p0(i64 8, ptr %84) #9
  call void @llvm.memset.p0.i64(ptr align 4 %84, i8 0, i64 8, i1 false)
  br label %3553

3553:                                             ; preds = %3552
  %3554 = load i32, ptr @test_count, align 4, !tbaa !5
  %3555 = add nsw i32 %3554, 1
  store i32 %3555, ptr @test_count, align 4, !tbaa !5
  %3556 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %84)
  %3557 = icmp eq i32 %3556, -1
  br i1 %3557, label %3558, label %3611

3558:                                             ; preds = %3553
  br label %3559

3559:                                             ; preds = %3558
  br label %3560

3560:                                             ; preds = %3559
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #9
  %3561 = call ptr @__errno_location() #10
  %3562 = load i32, ptr %3561, align 4, !tbaa !5
  store i32 %3562, ptr %85, align 4, !tbaa !5
  %3563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3564 = call i32 @s2n_print_stacktrace(ptr noundef %3563)
  %3565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3566 = trunc i8 %3565 to i1
  br i1 %3566, label %3567, label %3589

3567:                                             ; preds = %3560
  %3568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3569 = call i32 @fileno(ptr noundef %3568) #9
  %3570 = call i32 @isatty(i32 noundef %3569) #9
  %3571 = icmp ne i32 %3570, 0
  br i1 %3571, label %3572, label %3589

3572:                                             ; preds = %3567
  %3573 = load i32, ptr %85, align 4, !tbaa !5
  %3574 = call ptr @__errno_location() #10
  store i32 %3573, ptr %3574, align 4, !tbaa !5
  %3575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3576 = load i32, ptr @test_count, align 4, !tbaa !5
  %3577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call ptr @s2n_strerror(i32 noundef %3578, ptr noundef @.str.4)
  %3580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3581 = load i32, ptr %3580, align 4, !tbaa !5
  %3582 = call ptr @s2n_strerror_debug(i32 noundef %3581, ptr noundef @.str.4)
  %3583 = call ptr @__errno_location() #10
  %3584 = load i32, ptr %3583, align 4, !tbaa !5
  %3585 = call ptr @strerror(i32 noundef %3584) #9
  %3586 = call ptr @__errno_location() #10
  %3587 = load i32, ptr %3586, align 4, !tbaa !5
  %3588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3575, ptr noundef @.str.2, i32 noundef %3576, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3579, ptr noundef %3582, ptr noundef %3585, i32 noundef %3587) #9
  br label %3606

3589:                                             ; preds = %3567, %3560
  %3590 = load i32, ptr %85, align 4, !tbaa !5
  %3591 = call ptr @__errno_location() #10
  store i32 %3590, ptr %3591, align 4, !tbaa !5
  %3592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3593 = load i32, ptr @test_count, align 4, !tbaa !5
  %3594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  %3596 = call ptr @s2n_strerror(i32 noundef %3595, ptr noundef @.str.4)
  %3597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3598 = load i32, ptr %3597, align 4, !tbaa !5
  %3599 = call ptr @s2n_strerror_debug(i32 noundef %3598, ptr noundef @.str.4)
  %3600 = call ptr @__errno_location() #10
  %3601 = load i32, ptr %3600, align 4, !tbaa !5
  %3602 = call ptr @strerror(i32 noundef %3601) #9
  %3603 = call ptr @__errno_location() #10
  %3604 = load i32, ptr %3603, align 4, !tbaa !5
  %3605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3592, ptr noundef @.str.5, i32 noundef %3593, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 186, ptr noundef %3596, ptr noundef %3599, ptr noundef %3602, i32 noundef %3604) #9
  br label %3606

3606:                                             ; preds = %3589, %3572
  call void @llvm.lifetime.end.p0(i64 4, ptr %85) #9
  br label %3607

3607:                                             ; preds = %3606
  br label %3608

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

3609:                                             ; No predecessors!
  br label %3610

3610:                                             ; preds = %3609
  br label %3611

3611:                                             ; preds = %3610, %3553
  br label %3612

3612:                                             ; preds = %3611
  br label %3613

3613:                                             ; preds = %3612
  br label %3614

3614:                                             ; preds = %3613
  %3615 = load i32, ptr @test_count, align 4, !tbaa !5
  %3616 = add nsw i32 %3615, 1
  store i32 %3616, ptr @test_count, align 4, !tbaa !5
  %3617 = load ptr, ptr %78, align 8, !tbaa !9
  %3618 = load ptr, ptr %81, align 8, !tbaa !9
  %3619 = call i32 @s2n_connections_set_io_pair(ptr noundef %3617, ptr noundef %3618, ptr noundef %84)
  %3620 = icmp eq i32 %3619, -1
  br i1 %3620, label %3621, label %3674

3621:                                             ; preds = %3614
  br label %3622

3622:                                             ; preds = %3621
  br label %3623

3623:                                             ; preds = %3622
  call void @llvm.lifetime.start.p0(i64 4, ptr %86) #9
  %3624 = call ptr @__errno_location() #10
  %3625 = load i32, ptr %3624, align 4, !tbaa !5
  store i32 %3625, ptr %86, align 4, !tbaa !5
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = call i32 @s2n_print_stacktrace(ptr noundef %3626)
  %3628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3629 = trunc i8 %3628 to i1
  br i1 %3629, label %3630, label %3652

3630:                                             ; preds = %3623
  %3631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3632 = call i32 @fileno(ptr noundef %3631) #9
  %3633 = call i32 @isatty(i32 noundef %3632) #9
  %3634 = icmp ne i32 %3633, 0
  br i1 %3634, label %3635, label %3652

3635:                                             ; preds = %3630
  %3636 = load i32, ptr %86, align 4, !tbaa !5
  %3637 = call ptr @__errno_location() #10
  store i32 %3636, ptr %3637, align 4, !tbaa !5
  %3638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3639 = load i32, ptr @test_count, align 4, !tbaa !5
  %3640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3641 = load i32, ptr %3640, align 4, !tbaa !5
  %3642 = call ptr @s2n_strerror(i32 noundef %3641, ptr noundef @.str.4)
  %3643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3644 = load i32, ptr %3643, align 4, !tbaa !5
  %3645 = call ptr @s2n_strerror_debug(i32 noundef %3644, ptr noundef @.str.4)
  %3646 = call ptr @__errno_location() #10
  %3647 = load i32, ptr %3646, align 4, !tbaa !5
  %3648 = call ptr @strerror(i32 noundef %3647) #9
  %3649 = call ptr @__errno_location() #10
  %3650 = load i32, ptr %3649, align 4, !tbaa !5
  %3651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3638, ptr noundef @.str.2, i32 noundef %3639, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3642, ptr noundef %3645, ptr noundef %3648, i32 noundef %3650) #9
  br label %3669

3652:                                             ; preds = %3630, %3623
  %3653 = load i32, ptr %86, align 4, !tbaa !5
  %3654 = call ptr @__errno_location() #10
  store i32 %3653, ptr %3654, align 4, !tbaa !5
  %3655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3656 = load i32, ptr @test_count, align 4, !tbaa !5
  %3657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3658 = load i32, ptr %3657, align 4, !tbaa !5
  %3659 = call ptr @s2n_strerror(i32 noundef %3658, ptr noundef @.str.4)
  %3660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3661 = load i32, ptr %3660, align 4, !tbaa !5
  %3662 = call ptr @s2n_strerror_debug(i32 noundef %3661, ptr noundef @.str.4)
  %3663 = call ptr @__errno_location() #10
  %3664 = load i32, ptr %3663, align 4, !tbaa !5
  %3665 = call ptr @strerror(i32 noundef %3664) #9
  %3666 = call ptr @__errno_location() #10
  %3667 = load i32, ptr %3666, align 4, !tbaa !5
  %3668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3655, ptr noundef @.str.5, i32 noundef %3656, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 187, ptr noundef %3659, ptr noundef %3662, ptr noundef %3665, i32 noundef %3667) #9
  br label %3669

3669:                                             ; preds = %3652, %3635
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #9
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

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

3672:                                             ; No predecessors!
  br label %3673

3673:                                             ; preds = %3672
  br label %3674

3674:                                             ; preds = %3673, %3614
  br label %3675

3675:                                             ; preds = %3674
  br label %3676

3676:                                             ; preds = %3675
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #9
  store i32 0, ptr %87, align 4, !tbaa !5
  br label %3677

3677:                                             ; preds = %3676
  %3678 = load i32, ptr @test_count, align 4, !tbaa !5
  %3679 = add nsw i32 %3678, 1
  store i32 %3679, ptr @test_count, align 4, !tbaa !5
  %3680 = load ptr, ptr %78, align 8, !tbaa !9
  %3681 = call i32 @s2n_negotiate_until_message(ptr noundef %3680, ptr noundef %87, i32 noundef 1)
  %3682 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  store i32 %3681, ptr %3682, align 4
  %3683 = getelementptr inbounds %struct.s2n_result, ptr %88, i32 0, i32 0
  %3684 = load i32, ptr %3683, align 4
  %3685 = call zeroext i1 @s2n_result_is_ok(i32 %3684)
  br i1 %3685, label %3739, label %3686

3686:                                             ; preds = %3677
  br label %3687

3687:                                             ; preds = %3686
  br label %3688

3688:                                             ; preds = %3687
  call void @llvm.lifetime.start.p0(i64 4, ptr %89) #9
  %3689 = call ptr @__errno_location() #10
  %3690 = load i32, ptr %3689, align 4, !tbaa !5
  store i32 %3690, ptr %89, align 4, !tbaa !5
  %3691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3692 = call i32 @s2n_print_stacktrace(ptr noundef %3691)
  %3693 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3694 = trunc i8 %3693 to i1
  br i1 %3694, label %3695, label %3717

3695:                                             ; preds = %3688
  %3696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3697 = call i32 @fileno(ptr noundef %3696) #9
  %3698 = call i32 @isatty(i32 noundef %3697) #9
  %3699 = icmp ne i32 %3698, 0
  br i1 %3699, label %3700, label %3717

3700:                                             ; preds = %3695
  %3701 = load i32, ptr %89, align 4, !tbaa !5
  %3702 = call ptr @__errno_location() #10
  store i32 %3701, ptr %3702, align 4, !tbaa !5
  %3703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3704 = load i32, ptr @test_count, align 4, !tbaa !5
  %3705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3706 = load i32, ptr %3705, align 4, !tbaa !5
  %3707 = call ptr @s2n_strerror(i32 noundef %3706, ptr noundef @.str.4)
  %3708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3709 = load i32, ptr %3708, align 4, !tbaa !5
  %3710 = call ptr @s2n_strerror_debug(i32 noundef %3709, ptr noundef @.str.4)
  %3711 = call ptr @__errno_location() #10
  %3712 = load i32, ptr %3711, align 4, !tbaa !5
  %3713 = call ptr @strerror(i32 noundef %3712) #9
  %3714 = call ptr @__errno_location() #10
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3703, ptr noundef @.str.2, i32 noundef %3704, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3707, ptr noundef %3710, ptr noundef %3713, i32 noundef %3715) #9
  br label %3734

3717:                                             ; preds = %3695, %3688
  %3718 = load i32, ptr %89, align 4, !tbaa !5
  %3719 = call ptr @__errno_location() #10
  store i32 %3718, ptr %3719, align 4, !tbaa !5
  %3720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3721 = load i32, ptr @test_count, align 4, !tbaa !5
  %3722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3723 = load i32, ptr %3722, align 4, !tbaa !5
  %3724 = call ptr @s2n_strerror(i32 noundef %3723, ptr noundef @.str.4)
  %3725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3726 = load i32, ptr %3725, align 4, !tbaa !5
  %3727 = call ptr @s2n_strerror_debug(i32 noundef %3726, ptr noundef @.str.4)
  %3728 = call ptr @__errno_location() #10
  %3729 = load i32, ptr %3728, align 4, !tbaa !5
  %3730 = call ptr @strerror(i32 noundef %3729) #9
  %3731 = call ptr @__errno_location() #10
  %3732 = load i32, ptr %3731, align 4, !tbaa !5
  %3733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3720, ptr noundef @.str.5, i32 noundef %3721, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 191, ptr noundef %3724, ptr noundef %3727, ptr noundef %3730, i32 noundef %3732) #9
  br label %3734

3734:                                             ; preds = %3717, %3700
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #9
  br label %3735

3735:                                             ; preds = %3734
  br label %3736

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

3737:                                             ; No predecessors!
  br label %3738

3738:                                             ; preds = %3737
  br label %3739

3739:                                             ; preds = %3738, %3677
  br label %3740

3740:                                             ; preds = %3739
  br label %3741

3741:                                             ; preds = %3740
  br label %3742

3742:                                             ; preds = %3741
  %3743 = load i32, ptr @test_count, align 4, !tbaa !5
  %3744 = add nsw i32 %3743, 1
  store i32 %3744, ptr @test_count, align 4, !tbaa !5
  %3745 = load ptr, ptr %81, align 8, !tbaa !9
  %3746 = call i32 @s2n_negotiate_until_message(ptr noundef %3745, ptr noundef %87, i32 noundef 1)
  %3747 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  store i32 %3746, ptr %3747, align 4
  %3748 = getelementptr inbounds %struct.s2n_result, ptr %90, i32 0, i32 0
  %3749 = load i32, ptr %3748, align 4
  %3750 = call zeroext i1 @s2n_result_is_ok(i32 %3749)
  br i1 %3750, label %3804, label %3751

3751:                                             ; preds = %3742
  br label %3752

3752:                                             ; preds = %3751
  br label %3753

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

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

3765:                                             ; preds = %3760
  %3766 = load i32, ptr %91, align 4, !tbaa !5
  %3767 = call ptr @__errno_location() #10
  store i32 %3766, ptr %3767, align 4, !tbaa !5
  %3768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3769 = load i32, ptr @test_count, align 4, !tbaa !5
  %3770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3771 = load i32, ptr %3770, align 4, !tbaa !5
  %3772 = call ptr @s2n_strerror(i32 noundef %3771, ptr noundef @.str.4)
  %3773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3774 = load i32, ptr %3773, align 4, !tbaa !5
  %3775 = call ptr @s2n_strerror_debug(i32 noundef %3774, ptr noundef @.str.4)
  %3776 = call ptr @__errno_location() #10
  %3777 = load i32, ptr %3776, align 4, !tbaa !5
  %3778 = call ptr @strerror(i32 noundef %3777) #9
  %3779 = call ptr @__errno_location() #10
  %3780 = load i32, ptr %3779, align 4, !tbaa !5
  %3781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3768, ptr noundef @.str.2, i32 noundef %3769, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 192, ptr noundef %3772, ptr noundef %3775, ptr noundef %3778, i32 noundef %3780) #9
  br label %3799

3782:                                             ; preds = %3760, %3753
  %3783 = load i32, ptr %91, align 4, !tbaa !5
  %3784 = call ptr @__errno_location() #10
  store i32 %3783, ptr %3784, align 4, !tbaa !5
  %3785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3786 = load i32, ptr @test_count, align 4, !tbaa !5
  %3787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3788 = load i32, ptr %3787, align 4, !tbaa !5
  %3789 = call ptr @s2n_strerror(i32 noundef %3788, ptr noundef @.str.4)
  %3790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3791 = load i32, ptr %3790, align 4, !tbaa !5
  %3792 = call ptr @s2n_strerror_debug(i32 noundef %3791, ptr noundef @.str.4)
  %3793 = call ptr @__errno_location() #10
  %3794 = load i32, ptr %3793, align 4, !tbaa !5
  %3795 = call ptr @strerror(i32 noundef %3794) #9
  %3796 = call ptr @__errno_location() #10
  %3797 = load i32, ptr %3796, align 4, !tbaa !5
  %3798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3785, ptr noundef @.str.5, i32 noundef %3786, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 192, ptr noundef %3789, ptr noundef %3792, ptr noundef %3795, i32 noundef %3797) #9
  br label %3799

3799:                                             ; preds = %3782, %3765
  call void @llvm.lifetime.end.p0(i64 4, ptr %91) #9
  br label %3800

3800:                                             ; preds = %3799
  br label %3801

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

3802:                                             ; No predecessors!
  br label %3803

3803:                                             ; preds = %3802
  br label %3804

3804:                                             ; preds = %3803, %3742
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

3806:                                             ; preds = %3805
  %3807 = load ptr, ptr %81, align 8, !tbaa !9
  %3808 = load i32, ptr %3807, align 8
  %3809 = and i32 %3808, -8193
  %3810 = or i32 %3809, 0
  store i32 %3810, ptr %3807, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr %92) #9
  store i8 0, ptr %92, align 1, !tbaa !50
  br label %3811

3811:                                             ; preds = %3806
  %3812 = load i32, ptr @test_count, align 4, !tbaa !5
  %3813 = add nsw i32 %3812, 1
  store i32 %3813, ptr @test_count, align 4, !tbaa !5
  %3814 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 23, ptr noundef %92)
  %3815 = icmp eq i32 %3814, -1
  br i1 %3815, label %3816, label %3869

3816:                                             ; preds = %3811
  br label %3817

3817:                                             ; preds = %3816
  br label %3818

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

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

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

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

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

3865:                                             ; preds = %3864
  br label %3866

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

3867:                                             ; No predecessors!
  br label %3868

3868:                                             ; preds = %3867
  br label %3869

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

3870:                                             ; preds = %3869
  br label %3871

3871:                                             ; preds = %3870
  %3872 = load i8, ptr %92, align 1, !tbaa !50
  %3873 = zext i8 %3872 to i32
  %3874 = srem i32 %3873, 8
  %3875 = shl i32 1, %3874
  %3876 = xor i32 %3875, -1
  %3877 = load ptr, ptr %81, align 8, !tbaa !9
  %3878 = getelementptr inbounds %struct.s2n_connection, ptr %3877, i32 0, i32 11
  %3879 = load i8, ptr %92, align 1, !tbaa !50
  %3880 = zext i8 %3879 to i32
  %3881 = ashr i32 %3880, 3
  %3882 = sext i32 %3881 to i64
  %3883 = getelementptr inbounds [22 x i8], ptr %3878, i64 0, i64 %3882
  %3884 = load i8, ptr %3883, align 1, !tbaa !50
  %3885 = sext i8 %3884 to i32
  %3886 = and i32 %3885, %3876
  %3887 = trunc i32 %3886 to i8
  store i8 %3887, ptr %3883, align 1, !tbaa !50
  br label %3888

3888:                                             ; preds = %3871
  %3889 = load i32, ptr @test_count, align 4, !tbaa !5
  %3890 = add nsw i32 %3889, 1
  store i32 %3890, ptr @test_count, align 4, !tbaa !5
  %3891 = load ptr, ptr %81, align 8, !tbaa !9
  %3892 = load ptr, ptr %78, align 8, !tbaa !9
  %3893 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3891, ptr noundef %3892)
  %3894 = icmp eq i32 %3893, -1
  br i1 %3894, label %3895, label %3948

3895:                                             ; preds = %3888
  br label %3896

3896:                                             ; preds = %3895
  br label %3897

3897:                                             ; preds = %3896
  call void @llvm.lifetime.start.p0(i64 4, ptr %94) #9
  %3898 = call ptr @__errno_location() #10
  %3899 = load i32, ptr %3898, align 4, !tbaa !5
  store i32 %3899, ptr %94, align 4, !tbaa !5
  %3900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3901 = call i32 @s2n_print_stacktrace(ptr noundef %3900)
  %3902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3903 = trunc i8 %3902 to i1
  br i1 %3903, label %3904, label %3926

3904:                                             ; preds = %3897
  %3905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3906 = call i32 @fileno(ptr noundef %3905) #9
  %3907 = call i32 @isatty(i32 noundef %3906) #9
  %3908 = icmp ne i32 %3907, 0
  br i1 %3908, label %3909, label %3926

3909:                                             ; preds = %3904
  %3910 = load i32, ptr %94, align 4, !tbaa !5
  %3911 = call ptr @__errno_location() #10
  store i32 %3910, ptr %3911, align 4, !tbaa !5
  %3912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3913 = load i32, ptr @test_count, align 4, !tbaa !5
  %3914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3915 = load i32, ptr %3914, align 4, !tbaa !5
  %3916 = call ptr @s2n_strerror(i32 noundef %3915, ptr noundef @.str.4)
  %3917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3918 = load i32, ptr %3917, align 4, !tbaa !5
  %3919 = call ptr @s2n_strerror_debug(i32 noundef %3918, ptr noundef @.str.4)
  %3920 = call ptr @__errno_location() #10
  %3921 = load i32, ptr %3920, align 4, !tbaa !5
  %3922 = call ptr @strerror(i32 noundef %3921) #9
  %3923 = call ptr @__errno_location() #10
  %3924 = load i32, ptr %3923, align 4, !tbaa !5
  %3925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3912, ptr noundef @.str.2, i32 noundef %3913, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 202, ptr noundef %3916, ptr noundef %3919, ptr noundef %3922, i32 noundef %3924) #9
  br label %3943

3926:                                             ; preds = %3904, %3897
  %3927 = load i32, ptr %94, align 4, !tbaa !5
  %3928 = call ptr @__errno_location() #10
  store i32 %3927, ptr %3928, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3932 = load i32, ptr %3931, align 4, !tbaa !5
  %3933 = call ptr @s2n_strerror(i32 noundef %3932, ptr noundef @.str.4)
  %3934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3935 = load i32, ptr %3934, align 4, !tbaa !5
  %3936 = call ptr @s2n_strerror_debug(i32 noundef %3935, ptr noundef @.str.4)
  %3937 = call ptr @__errno_location() #10
  %3938 = load i32, ptr %3937, align 4, !tbaa !5
  %3939 = call ptr @strerror(i32 noundef %3938) #9
  %3940 = call ptr @__errno_location() #10
  %3941 = load i32, ptr %3940, align 4, !tbaa !5
  %3942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3929, ptr noundef @.str.5, i32 noundef %3930, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 202, ptr noundef %3933, ptr noundef %3936, ptr noundef %3939, i32 noundef %3941) #9
  br label %3943

3943:                                             ; preds = %3926, %3909
  call void @llvm.lifetime.end.p0(i64 4, ptr %94) #9
  br label %3944

3944:                                             ; preds = %3943
  br label %3945

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

3946:                                             ; No predecessors!
  br label %3947

3947:                                             ; preds = %3946
  br label %3948

3948:                                             ; preds = %3947, %3888
  br label %3949

3949:                                             ; preds = %3948
  br label %3950

3950:                                             ; preds = %3949
  br label %3951

3951:                                             ; preds = %3950
  %3952 = load i32, ptr @test_count, align 4, !tbaa !5
  %3953 = add nsw i32 %3952, 1
  store i32 %3953, ptr @test_count, align 4, !tbaa !5
  %3954 = load ptr, ptr %81, align 8, !tbaa !9
  %3955 = getelementptr inbounds %struct.s2n_connection, ptr %3954, i32 0, i32 23
  %3956 = load i8, ptr %3955, align 4, !tbaa !15
  %3957 = zext i8 %3956 to i32
  %3958 = icmp eq i32 %3957, 33
  br i1 %3958, label %4012, label %3959

3959:                                             ; preds = %3951
  br label %3960

3960:                                             ; preds = %3959
  br label %3961

3961:                                             ; preds = %3960
  call void @llvm.lifetime.start.p0(i64 4, ptr %95) #9
  %3962 = call ptr @__errno_location() #10
  %3963 = load i32, ptr %3962, align 4, !tbaa !5
  store i32 %3963, ptr %95, align 4, !tbaa !5
  %3964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3965 = call i32 @s2n_print_stacktrace(ptr noundef %3964)
  %3966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3967 = trunc i8 %3966 to i1
  br i1 %3967, label %3968, label %3990

3968:                                             ; preds = %3961
  %3969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3970 = call i32 @fileno(ptr noundef %3969) #9
  %3971 = call i32 @isatty(i32 noundef %3970) #9
  %3972 = icmp ne i32 %3971, 0
  br i1 %3972, label %3973, label %3990

3973:                                             ; preds = %3968
  %3974 = load i32, ptr %95, align 4, !tbaa !5
  %3975 = call ptr @__errno_location() #10
  store i32 %3974, ptr %3975, align 4, !tbaa !5
  %3976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3977 = load i32, ptr @test_count, align 4, !tbaa !5
  %3978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3979 = load i32, ptr %3978, align 4, !tbaa !5
  %3980 = call ptr @s2n_strerror(i32 noundef %3979, ptr noundef @.str.4)
  %3981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3982 = load i32, ptr %3981, align 4, !tbaa !5
  %3983 = call ptr @s2n_strerror_debug(i32 noundef %3982, ptr noundef @.str.4)
  %3984 = call ptr @__errno_location() #10
  %3985 = load i32, ptr %3984, align 4, !tbaa !5
  %3986 = call ptr @strerror(i32 noundef %3985) #9
  %3987 = call ptr @__errno_location() #10
  %3988 = load i32, ptr %3987, align 4, !tbaa !5
  %3989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3976, ptr noundef @.str.2, i32 noundef %3977, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 203, ptr noundef %3980, ptr noundef %3983, ptr noundef %3986, i32 noundef %3988) #9
  br label %4007

3990:                                             ; preds = %3968, %3961
  %3991 = load i32, ptr %95, align 4, !tbaa !5
  %3992 = call ptr @__errno_location() #10
  store i32 %3991, ptr %3992, align 4, !tbaa !5
  %3993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3994 = load i32, ptr @test_count, align 4, !tbaa !5
  %3995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3996 = load i32, ptr %3995, align 4, !tbaa !5
  %3997 = call ptr @s2n_strerror(i32 noundef %3996, ptr noundef @.str.4)
  %3998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3999 = load i32, ptr %3998, align 4, !tbaa !5
  %4000 = call ptr @s2n_strerror_debug(i32 noundef %3999, ptr noundef @.str.4)
  %4001 = call ptr @__errno_location() #10
  %4002 = load i32, ptr %4001, align 4, !tbaa !5
  %4003 = call ptr @strerror(i32 noundef %4002) #9
  %4004 = call ptr @__errno_location() #10
  %4005 = load i32, ptr %4004, align 4, !tbaa !5
  %4006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3993, ptr noundef @.str.5, i32 noundef %3994, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 203, ptr noundef %3997, ptr noundef %4000, ptr noundef %4003, i32 noundef %4005) #9
  br label %4007

4007:                                             ; preds = %3990, %3973
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #9
  br label %4008

4008:                                             ; preds = %4007
  br label %4009

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

4010:                                             ; No predecessors!
  br label %4011

4011:                                             ; preds = %4010
  br label %4012

4012:                                             ; preds = %4011, %3951
  br label %4013

4013:                                             ; preds = %4012
  br label %4014

4014:                                             ; preds = %4013
  br label %4015

4015:                                             ; preds = %4014
  %4016 = load i32, ptr @test_count, align 4, !tbaa !5
  %4017 = add nsw i32 %4016, 1
  store i32 %4017, ptr @test_count, align 4, !tbaa !5
  %4018 = load ptr, ptr %78, align 8, !tbaa !9
  %4019 = getelementptr inbounds %struct.s2n_connection, ptr %4018, i32 0, i32 23
  %4020 = load i8, ptr %4019, align 4, !tbaa !15
  %4021 = zext i8 %4020 to i32
  %4022 = icmp eq i32 %4021, 33
  br i1 %4022, label %4076, label %4023

4023:                                             ; preds = %4015
  br label %4024

4024:                                             ; preds = %4023
  br label %4025

4025:                                             ; preds = %4024
  call void @llvm.lifetime.start.p0(i64 4, ptr %96) #9
  %4026 = call ptr @__errno_location() #10
  %4027 = load i32, ptr %4026, align 4, !tbaa !5
  store i32 %4027, ptr %96, align 4, !tbaa !5
  %4028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4029 = call i32 @s2n_print_stacktrace(ptr noundef %4028)
  %4030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4031 = trunc i8 %4030 to i1
  br i1 %4031, label %4032, label %4054

4032:                                             ; preds = %4025
  %4033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4034 = call i32 @fileno(ptr noundef %4033) #9
  %4035 = call i32 @isatty(i32 noundef %4034) #9
  %4036 = icmp ne i32 %4035, 0
  br i1 %4036, label %4037, label %4054

4037:                                             ; preds = %4032
  %4038 = load i32, ptr %96, align 4, !tbaa !5
  %4039 = call ptr @__errno_location() #10
  store i32 %4038, ptr %4039, align 4, !tbaa !5
  %4040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4041 = load i32, ptr @test_count, align 4, !tbaa !5
  %4042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4043 = load i32, ptr %4042, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror(i32 noundef %4043, ptr noundef @.str.4)
  %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_debug(i32 noundef %4046, ptr noundef @.str.4)
  %4048 = call ptr @__errno_location() #10
  %4049 = load i32, ptr %4048, align 4, !tbaa !5
  %4050 = call ptr @strerror(i32 noundef %4049) #9
  %4051 = call ptr @__errno_location() #10
  %4052 = load i32, ptr %4051, align 4, !tbaa !5
  %4053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4040, ptr noundef @.str.2, i32 noundef %4041, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4044, ptr noundef %4047, ptr noundef %4050, i32 noundef %4052) #9
  br label %4071

4054:                                             ; preds = %4032, %4025
  %4055 = load i32, ptr %96, align 4, !tbaa !5
  %4056 = call ptr @__errno_location() #10
  store i32 %4055, ptr %4056, align 4, !tbaa !5
  %4057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4058 = load i32, ptr @test_count, align 4, !tbaa !5
  %4059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4060 = load i32, ptr %4059, align 4, !tbaa !5
  %4061 = call ptr @s2n_strerror(i32 noundef %4060, ptr noundef @.str.4)
  %4062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4063 = load i32, ptr %4062, align 4, !tbaa !5
  %4064 = call ptr @s2n_strerror_debug(i32 noundef %4063, ptr noundef @.str.4)
  %4065 = call ptr @__errno_location() #10
  %4066 = load i32, ptr %4065, align 4, !tbaa !5
  %4067 = call ptr @strerror(i32 noundef %4066) #9
  %4068 = call ptr @__errno_location() #10
  %4069 = load i32, ptr %4068, align 4, !tbaa !5
  %4070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4057, ptr noundef @.str.5, i32 noundef %4058, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 204, ptr noundef %4061, ptr noundef %4064, ptr noundef %4067, i32 noundef %4069) #9
  br label %4071

4071:                                             ; preds = %4054, %4037
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #9
  br label %4072

4072:                                             ; preds = %4071
  br label %4073

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

4074:                                             ; No predecessors!
  br label %4075

4075:                                             ; preds = %4074
  br label %4076

4076:                                             ; preds = %4075, %4015
  br label %4077

4077:                                             ; preds = %4076
  br label %4078

4078:                                             ; preds = %4077
  br label %4079

4079:                                             ; preds = %4078
  %4080 = load i32, ptr @test_count, align 4, !tbaa !5
  %4081 = add nsw i32 %4080, 1
  store i32 %4081, ptr @test_count, align 4, !tbaa !5
  %4082 = load ptr, ptr %81, align 8, !tbaa !9
  %4083 = load i32, ptr %4082, align 8
  %4084 = lshr i32 %4083, 13
  %4085 = and i32 %4084, 1
  %4086 = icmp ne i32 %4085, 0
  br i1 %4086, label %4087, label %4140

4087:                                             ; preds = %4079
  br label %4088

4088:                                             ; preds = %4087
  br label %4089

4089:                                             ; preds = %4088
  call void @llvm.lifetime.start.p0(i64 4, ptr %97) #9
  %4090 = call ptr @__errno_location() #10
  %4091 = load i32, ptr %4090, align 4, !tbaa !5
  store i32 %4091, ptr %97, align 4, !tbaa !5
  %4092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4093 = call i32 @s2n_print_stacktrace(ptr noundef %4092)
  %4094 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4095 = trunc i8 %4094 to i1
  br i1 %4095, label %4096, label %4118

4096:                                             ; preds = %4089
  %4097 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4098 = call i32 @fileno(ptr noundef %4097) #9
  %4099 = call i32 @isatty(i32 noundef %4098) #9
  %4100 = icmp ne i32 %4099, 0
  br i1 %4100, label %4101, label %4118

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

4118:                                             ; preds = %4096, %4089
  %4119 = load i32, ptr %97, align 4, !tbaa !5
  %4120 = call ptr @__errno_location() #10
  store i32 %4119, ptr %4120, align 4, !tbaa !5
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = load i32, ptr @test_count, align 4, !tbaa !5
  %4123 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4124 = load i32, ptr %4123, align 4, !tbaa !5
  %4125 = call ptr @s2n_strerror(i32 noundef %4124, ptr noundef @.str.4)
  %4126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4127 = load i32, ptr %4126, align 4, !tbaa !5
  %4128 = call ptr @s2n_strerror_debug(i32 noundef %4127, ptr noundef @.str.4)
  %4129 = call ptr @__errno_location() #10
  %4130 = load i32, ptr %4129, align 4, !tbaa !5
  %4131 = call ptr @strerror(i32 noundef %4130) #9
  %4132 = call ptr @__errno_location() #10
  %4133 = load i32, ptr %4132, align 4, !tbaa !5
  %4134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4121, ptr noundef @.str.5, i32 noundef %4122, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 205, ptr noundef %4125, ptr noundef %4128, ptr noundef %4131, i32 noundef %4133) #9
  br label %4135

4135:                                             ; preds = %4118, %4101
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #9
  br label %4136

4136:                                             ; preds = %4135
  br label %4137

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

4138:                                             ; No predecessors!
  br label %4139

4139:                                             ; preds = %4138
  br label %4140

4140:                                             ; preds = %4139, %4079
  br label %4141

4141:                                             ; preds = %4140
  br label %4142

4142:                                             ; preds = %4141
  br label %4143

4143:                                             ; preds = %4142
  %4144 = load i32, ptr @test_count, align 4, !tbaa !5
  %4145 = add nsw i32 %4144, 1
  store i32 %4145, ptr @test_count, align 4, !tbaa !5
  %4146 = load ptr, ptr %78, align 8, !tbaa !9
  %4147 = load i32, ptr %4146, align 8
  %4148 = lshr i32 %4147, 13
  %4149 = and i32 %4148, 1
  %4150 = icmp ne i32 %4149, 0
  br i1 %4150, label %4151, label %4204

4151:                                             ; preds = %4143
  br label %4152

4152:                                             ; preds = %4151
  br label %4153

4153:                                             ; preds = %4152
  call void @llvm.lifetime.start.p0(i64 4, ptr %98) #9
  %4154 = call ptr @__errno_location() #10
  %4155 = load i32, ptr %4154, align 4, !tbaa !5
  store i32 %4155, ptr %98, align 4, !tbaa !5
  %4156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4157 = call i32 @s2n_print_stacktrace(ptr noundef %4156)
  %4158 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4159 = trunc i8 %4158 to i1
  br i1 %4159, label %4160, label %4182

4160:                                             ; preds = %4153
  %4161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4162 = call i32 @fileno(ptr noundef %4161) #9
  %4163 = call i32 @isatty(i32 noundef %4162) #9
  %4164 = icmp ne i32 %4163, 0
  br i1 %4164, label %4165, label %4182

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

4182:                                             ; preds = %4160, %4153
  %4183 = load i32, ptr %98, align 4, !tbaa !5
  %4184 = call ptr @__errno_location() #10
  store i32 %4183, ptr %4184, align 4, !tbaa !5
  %4185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4186 = load i32, ptr @test_count, align 4, !tbaa !5
  %4187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4188 = load i32, ptr %4187, align 4, !tbaa !5
  %4189 = call ptr @s2n_strerror(i32 noundef %4188, ptr noundef @.str.4)
  %4190 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4191 = load i32, ptr %4190, align 4, !tbaa !5
  %4192 = call ptr @s2n_strerror_debug(i32 noundef %4191, ptr noundef @.str.4)
  %4193 = call ptr @__errno_location() #10
  %4194 = load i32, ptr %4193, align 4, !tbaa !5
  %4195 = call ptr @strerror(i32 noundef %4194) #9
  %4196 = call ptr @__errno_location() #10
  %4197 = load i32, ptr %4196, align 4, !tbaa !5
  %4198 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4185, ptr noundef @.str.5, i32 noundef %4186, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 206, ptr noundef %4189, ptr noundef %4192, ptr noundef %4195, i32 noundef %4197) #9
  br label %4199

4199:                                             ; preds = %4182, %4165
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #9
  br label %4200

4200:                                             ; preds = %4199
  br label %4201

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

4202:                                             ; No predecessors!
  br label %4203

4203:                                             ; preds = %4202
  br label %4204

4204:                                             ; preds = %4203, %4143
  br label %4205

4205:                                             ; preds = %4204
  br label %4206

4206:                                             ; preds = %4205
  br label %4207

4207:                                             ; preds = %4206
  %4208 = load i32, ptr @test_count, align 4, !tbaa !5
  %4209 = add nsw i32 %4208, 1
  store i32 %4209, ptr @test_count, align 4, !tbaa !5
  %4210 = load ptr, ptr %78, align 8, !tbaa !9
  %4211 = call i32 @s2n_connection_free(ptr noundef %4210)
  %4212 = icmp eq i32 %4211, -1
  br i1 %4212, label %4213, label %4266

4213:                                             ; preds = %4207
  br label %4214

4214:                                             ; preds = %4213
  br label %4215

4215:                                             ; preds = %4214
  call void @llvm.lifetime.start.p0(i64 4, ptr %99) #9
  %4216 = call ptr @__errno_location() #10
  %4217 = load i32, ptr %4216, align 4, !tbaa !5
  store i32 %4217, ptr %99, align 4, !tbaa !5
  %4218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4219 = call i32 @s2n_print_stacktrace(ptr noundef %4218)
  %4220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4221 = trunc i8 %4220 to i1
  br i1 %4221, label %4222, label %4244

4222:                                             ; preds = %4215
  %4223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4224 = call i32 @fileno(ptr noundef %4223) #9
  %4225 = call i32 @isatty(i32 noundef %4224) #9
  %4226 = icmp ne i32 %4225, 0
  br i1 %4226, label %4227, label %4244

4227:                                             ; preds = %4222
  %4228 = load i32, ptr %99, align 4, !tbaa !5
  %4229 = call ptr @__errno_location() #10
  store i32 %4228, ptr %4229, align 4, !tbaa !5
  %4230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4231 = load i32, ptr @test_count, align 4, !tbaa !5
  %4232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4233 = load i32, ptr %4232, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror(i32 noundef %4233, ptr noundef @.str.4)
  %4235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4236 = load i32, ptr %4235, align 4, !tbaa !5
  %4237 = call ptr @s2n_strerror_debug(i32 noundef %4236, ptr noundef @.str.4)
  %4238 = call ptr @__errno_location() #10
  %4239 = load i32, ptr %4238, align 4, !tbaa !5
  %4240 = call ptr @strerror(i32 noundef %4239) #9
  %4241 = call ptr @__errno_location() #10
  %4242 = load i32, ptr %4241, align 4, !tbaa !5
  %4243 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4230, ptr noundef @.str.2, i32 noundef %4231, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4234, ptr noundef %4237, ptr noundef %4240, i32 noundef %4242) #9
  br label %4261

4244:                                             ; preds = %4222, %4215
  %4245 = load i32, ptr %99, align 4, !tbaa !5
  %4246 = call ptr @__errno_location() #10
  store i32 %4245, ptr %4246, align 4, !tbaa !5
  %4247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4248 = load i32, ptr @test_count, align 4, !tbaa !5
  %4249 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4250 = load i32, ptr %4249, align 4, !tbaa !5
  %4251 = call ptr @s2n_strerror(i32 noundef %4250, ptr noundef @.str.4)
  %4252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4253 = load i32, ptr %4252, align 4, !tbaa !5
  %4254 = call ptr @s2n_strerror_debug(i32 noundef %4253, ptr noundef @.str.4)
  %4255 = call ptr @__errno_location() #10
  %4256 = load i32, ptr %4255, align 4, !tbaa !5
  %4257 = call ptr @strerror(i32 noundef %4256) #9
  %4258 = call ptr @__errno_location() #10
  %4259 = load i32, ptr %4258, align 4, !tbaa !5
  %4260 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4247, ptr noundef @.str.5, i32 noundef %4248, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 208, ptr noundef %4251, ptr noundef %4254, ptr noundef %4257, i32 noundef %4259) #9
  br label %4261

4261:                                             ; preds = %4244, %4227
  call void @llvm.lifetime.end.p0(i64 4, ptr %99) #9
  br label %4262

4262:                                             ; preds = %4261
  br label %4263

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

4264:                                             ; No predecessors!
  br label %4265

4265:                                             ; preds = %4264
  br label %4266

4266:                                             ; preds = %4265, %4207
  br label %4267

4267:                                             ; preds = %4266
  br label %4268

4268:                                             ; preds = %4267
  br label %4269

4269:                                             ; preds = %4268
  %4270 = load i32, ptr @test_count, align 4, !tbaa !5
  %4271 = add nsw i32 %4270, 1
  store i32 %4271, ptr @test_count, align 4, !tbaa !5
  %4272 = load ptr, ptr %81, align 8, !tbaa !9
  %4273 = call i32 @s2n_connection_free(ptr noundef %4272)
  %4274 = icmp eq i32 %4273, -1
  br i1 %4274, label %4275, label %4328

4275:                                             ; preds = %4269
  br label %4276

4276:                                             ; preds = %4275
  br label %4277

4277:                                             ; preds = %4276
  call void @llvm.lifetime.start.p0(i64 4, ptr %100) #9
  %4278 = call ptr @__errno_location() #10
  %4279 = load i32, ptr %4278, align 4, !tbaa !5
  store i32 %4279, ptr %100, align 4, !tbaa !5
  %4280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4281 = call i32 @s2n_print_stacktrace(ptr noundef %4280)
  %4282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4283 = trunc i8 %4282 to i1
  br i1 %4283, label %4284, label %4306

4284:                                             ; preds = %4277
  %4285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4286 = call i32 @fileno(ptr noundef %4285) #9
  %4287 = call i32 @isatty(i32 noundef %4286) #9
  %4288 = icmp ne i32 %4287, 0
  br i1 %4288, label %4289, label %4306

4289:                                             ; preds = %4284
  %4290 = load i32, ptr %100, align 4, !tbaa !5
  %4291 = call ptr @__errno_location() #10
  store i32 %4290, ptr %4291, align 4, !tbaa !5
  %4292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4293 = load i32, ptr @test_count, align 4, !tbaa !5
  %4294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4295 = load i32, ptr %4294, align 4, !tbaa !5
  %4296 = call ptr @s2n_strerror(i32 noundef %4295, ptr noundef @.str.4)
  %4297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4298 = load i32, ptr %4297, align 4, !tbaa !5
  %4299 = call ptr @s2n_strerror_debug(i32 noundef %4298, ptr noundef @.str.4)
  %4300 = call ptr @__errno_location() #10
  %4301 = load i32, ptr %4300, align 4, !tbaa !5
  %4302 = call ptr @strerror(i32 noundef %4301) #9
  %4303 = call ptr @__errno_location() #10
  %4304 = load i32, ptr %4303, align 4, !tbaa !5
  %4305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4292, ptr noundef @.str.2, i32 noundef %4293, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4296, ptr noundef %4299, ptr noundef %4302, i32 noundef %4304) #9
  br label %4323

4306:                                             ; preds = %4284, %4277
  %4307 = load i32, ptr %100, align 4, !tbaa !5
  %4308 = call ptr @__errno_location() #10
  store i32 %4307, ptr %4308, align 4, !tbaa !5
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = load i32, ptr @test_count, align 4, !tbaa !5
  %4311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4312 = load i32, ptr %4311, align 4, !tbaa !5
  %4313 = call ptr @s2n_strerror(i32 noundef %4312, ptr noundef @.str.4)
  %4314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4315 = load i32, ptr %4314, align 4, !tbaa !5
  %4316 = call ptr @s2n_strerror_debug(i32 noundef %4315, ptr noundef @.str.4)
  %4317 = call ptr @__errno_location() #10
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = call ptr @strerror(i32 noundef %4318) #9
  %4320 = call ptr @__errno_location() #10
  %4321 = load i32, ptr %4320, align 4, !tbaa !5
  %4322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4309, ptr noundef @.str.5, i32 noundef %4310, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 209, ptr noundef %4313, ptr noundef %4316, ptr noundef %4319, i32 noundef %4321) #9
  br label %4323

4323:                                             ; preds = %4306, %4289
  call void @llvm.lifetime.end.p0(i64 4, ptr %100) #9
  br label %4324

4324:                                             ; preds = %4323
  br label %4325

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

4326:                                             ; No predecessors!
  br label %4327

4327:                                             ; preds = %4326
  br label %4328

4328:                                             ; preds = %4327, %4269
  br label %4329

4329:                                             ; preds = %4328
  br label %4330

4330:                                             ; preds = %4329
  br label %4331

4331:                                             ; preds = %4330
  %4332 = load i32, ptr @test_count, align 4, !tbaa !5
  %4333 = add nsw i32 %4332, 1
  store i32 %4333, ptr @test_count, align 4, !tbaa !5
  %4334 = call i32 @s2n_io_pair_close(ptr noundef %84)
  %4335 = icmp eq i32 %4334, -1
  br i1 %4335, label %4336, label %4389

4336:                                             ; preds = %4331
  br label %4337

4337:                                             ; preds = %4336
  br label %4338

4338:                                             ; preds = %4337
  call void @llvm.lifetime.start.p0(i64 4, ptr %101) #9
  %4339 = call ptr @__errno_location() #10
  %4340 = load i32, ptr %4339, align 4, !tbaa !5
  store i32 %4340, ptr %101, align 4, !tbaa !5
  %4341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4342 = call i32 @s2n_print_stacktrace(ptr noundef %4341)
  %4343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4344 = trunc i8 %4343 to i1
  br i1 %4344, label %4345, label %4367

4345:                                             ; preds = %4338
  %4346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4347 = call i32 @fileno(ptr noundef %4346) #9
  %4348 = call i32 @isatty(i32 noundef %4347) #9
  %4349 = icmp ne i32 %4348, 0
  br i1 %4349, label %4350, label %4367

4350:                                             ; preds = %4345
  %4351 = load i32, ptr %101, align 4, !tbaa !5
  %4352 = call ptr @__errno_location() #10
  store i32 %4351, ptr %4352, align 4, !tbaa !5
  %4353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4354 = load i32, ptr @test_count, align 4, !tbaa !5
  %4355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4356 = load i32, ptr %4355, align 4, !tbaa !5
  %4357 = call ptr @s2n_strerror(i32 noundef %4356, ptr noundef @.str.4)
  %4358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4359 = load i32, ptr %4358, align 4, !tbaa !5
  %4360 = call ptr @s2n_strerror_debug(i32 noundef %4359, ptr noundef @.str.4)
  %4361 = call ptr @__errno_location() #10
  %4362 = load i32, ptr %4361, align 4, !tbaa !5
  %4363 = call ptr @strerror(i32 noundef %4362) #9
  %4364 = call ptr @__errno_location() #10
  %4365 = load i32, ptr %4364, align 4, !tbaa !5
  %4366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4353, ptr noundef @.str.2, i32 noundef %4354, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4357, ptr noundef %4360, ptr noundef %4363, i32 noundef %4365) #9
  br label %4384

4367:                                             ; preds = %4345, %4338
  %4368 = load i32, ptr %101, align 4, !tbaa !5
  %4369 = call ptr @__errno_location() #10
  store i32 %4368, ptr %4369, align 4, !tbaa !5
  %4370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4371 = load i32, ptr @test_count, align 4, !tbaa !5
  %4372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4373 = load i32, ptr %4372, align 4, !tbaa !5
  %4374 = call ptr @s2n_strerror(i32 noundef %4373, ptr noundef @.str.4)
  %4375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4376 = load i32, ptr %4375, align 4, !tbaa !5
  %4377 = call ptr @s2n_strerror_debug(i32 noundef %4376, ptr noundef @.str.4)
  %4378 = call ptr @__errno_location() #10
  %4379 = load i32, ptr %4378, align 4, !tbaa !5
  %4380 = call ptr @strerror(i32 noundef %4379) #9
  %4381 = call ptr @__errno_location() #10
  %4382 = load i32, ptr %4381, align 4, !tbaa !5
  %4383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4370, ptr noundef @.str.5, i32 noundef %4371, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 210, ptr noundef %4374, ptr noundef %4377, ptr noundef %4380, i32 noundef %4382) #9
  br label %4384

4384:                                             ; preds = %4367, %4350
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #9
  br label %4385

4385:                                             ; preds = %4384
  br label %4386

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

4387:                                             ; No predecessors!
  br label %4388

4388:                                             ; preds = %4387
  br label %4389

4389:                                             ; preds = %4388, %4331
  br label %4390

4390:                                             ; preds = %4389
  br label %4391

4391:                                             ; preds = %4390
  br label %4392

4392:                                             ; preds = %4391
  %4393 = load i32, ptr @test_count, align 4, !tbaa !5
  %4394 = add nsw i32 %4393, 1
  store i32 %4394, ptr @test_count, align 4, !tbaa !5
  %4395 = load ptr, ptr %75, align 8, !tbaa !9
  %4396 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %4395)
  %4397 = icmp eq i32 %4396, -1
  br i1 %4397, label %4398, label %4451

4398:                                             ; preds = %4392
  br label %4399

4399:                                             ; preds = %4398
  br label %4400

4400:                                             ; preds = %4399
  call void @llvm.lifetime.start.p0(i64 4, ptr %102) #9
  %4401 = call ptr @__errno_location() #10
  %4402 = load i32, ptr %4401, align 4, !tbaa !5
  store i32 %4402, ptr %102, align 4, !tbaa !5
  %4403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4404 = call i32 @s2n_print_stacktrace(ptr noundef %4403)
  %4405 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4406 = trunc i8 %4405 to i1
  br i1 %4406, label %4407, label %4429

4407:                                             ; preds = %4400
  %4408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4409 = call i32 @fileno(ptr noundef %4408) #9
  %4410 = call i32 @isatty(i32 noundef %4409) #9
  %4411 = icmp ne i32 %4410, 0
  br i1 %4411, label %4412, label %4429

4412:                                             ; preds = %4407
  %4413 = load i32, ptr %102, align 4, !tbaa !5
  %4414 = call ptr @__errno_location() #10
  store i32 %4413, ptr %4414, align 4, !tbaa !5
  %4415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4416 = load i32, ptr @test_count, align 4, !tbaa !5
  %4417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4418 = load i32, ptr %4417, align 4, !tbaa !5
  %4419 = call ptr @s2n_strerror(i32 noundef %4418, ptr noundef @.str.4)
  %4420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4421 = load i32, ptr %4420, align 4, !tbaa !5
  %4422 = call ptr @s2n_strerror_debug(i32 noundef %4421, ptr noundef @.str.4)
  %4423 = call ptr @__errno_location() #10
  %4424 = load i32, ptr %4423, align 4, !tbaa !5
  %4425 = call ptr @strerror(i32 noundef %4424) #9
  %4426 = call ptr @__errno_location() #10
  %4427 = load i32, ptr %4426, align 4, !tbaa !5
  %4428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4415, ptr noundef @.str.2, i32 noundef %4416, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4419, ptr noundef %4422, ptr noundef %4425, i32 noundef %4427) #9
  br label %4446

4429:                                             ; preds = %4407, %4400
  %4430 = load i32, ptr %102, align 4, !tbaa !5
  %4431 = call ptr @__errno_location() #10
  store i32 %4430, ptr %4431, align 4, !tbaa !5
  %4432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4433 = load i32, ptr @test_count, align 4, !tbaa !5
  %4434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4435 = load i32, ptr %4434, align 4, !tbaa !5
  %4436 = call ptr @s2n_strerror(i32 noundef %4435, ptr noundef @.str.4)
  %4437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4438 = load i32, ptr %4437, align 4, !tbaa !5
  %4439 = call ptr @s2n_strerror_debug(i32 noundef %4438, ptr noundef @.str.4)
  %4440 = call ptr @__errno_location() #10
  %4441 = load i32, ptr %4440, align 4, !tbaa !5
  %4442 = call ptr @strerror(i32 noundef %4441) #9
  %4443 = call ptr @__errno_location() #10
  %4444 = load i32, ptr %4443, align 4, !tbaa !5
  %4445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4432, ptr noundef @.str.5, i32 noundef %4433, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4436, ptr noundef %4439, ptr noundef %4442, i32 noundef %4444) #9
  br label %4446

4446:                                             ; preds = %4429, %4412
  call void @llvm.lifetime.end.p0(i64 4, ptr %102) #9
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

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

4449:                                             ; No predecessors!
  br label %4450

4450:                                             ; preds = %4449
  br label %4451

4451:                                             ; preds = %4450, %4392
  br label %4452

4452:                                             ; preds = %4451
  br label %4453

4453:                                             ; preds = %4452
  br label %4454

4454:                                             ; preds = %4453
  %4455 = load i32, ptr @test_count, align 4, !tbaa !5
  %4456 = add nsw i32 %4455, 1
  store i32 %4456, ptr @test_count, align 4, !tbaa !5
  %4457 = load ptr, ptr %71, align 8, !tbaa !9
  %4458 = call i32 @s2n_config_free(ptr noundef %4457)
  %4459 = icmp eq i32 %4458, -1
  br i1 %4459, label %4460, label %4513

4460:                                             ; preds = %4454
  br label %4461

4461:                                             ; preds = %4460
  br label %4462

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

4469:                                             ; preds = %4462
  %4470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4471 = call i32 @fileno(ptr noundef %4470) #9
  %4472 = call i32 @isatty(i32 noundef %4471) #9
  %4473 = icmp ne i32 %4472, 0
  br i1 %4473, label %4474, label %4491

4474:                                             ; preds = %4469
  %4475 = load i32, ptr %103, align 4, !tbaa !5
  %4476 = call ptr @__errno_location() #10
  store i32 %4475, ptr %4476, align 4, !tbaa !5
  %4477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4478 = load i32, ptr @test_count, align 4, !tbaa !5
  %4479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4480 = load i32, ptr %4479, align 4, !tbaa !5
  %4481 = call ptr @s2n_strerror(i32 noundef %4480, ptr noundef @.str.4)
  %4482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4483 = load i32, ptr %4482, align 4, !tbaa !5
  %4484 = call ptr @s2n_strerror_debug(i32 noundef %4483, ptr noundef @.str.4)
  %4485 = call ptr @__errno_location() #10
  %4486 = load i32, ptr %4485, align 4, !tbaa !5
  %4487 = call ptr @strerror(i32 noundef %4486) #9
  %4488 = call ptr @__errno_location() #10
  %4489 = load i32, ptr %4488, align 4, !tbaa !5
  %4490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4477, ptr noundef @.str.2, i32 noundef %4478, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4481, ptr noundef %4484, ptr noundef %4487, i32 noundef %4489) #9
  br label %4508

4491:                                             ; preds = %4469, %4462
  %4492 = load i32, ptr %103, align 4, !tbaa !5
  %4493 = call ptr @__errno_location() #10
  store i32 %4492, ptr %4493, align 4, !tbaa !5
  %4494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4495 = load i32, ptr @test_count, align 4, !tbaa !5
  %4496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4497 = load i32, ptr %4496, align 4, !tbaa !5
  %4498 = call ptr @s2n_strerror(i32 noundef %4497, ptr noundef @.str.4)
  %4499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4500 = load i32, ptr %4499, align 4, !tbaa !5
  %4501 = call ptr @s2n_strerror_debug(i32 noundef %4500, ptr noundef @.str.4)
  %4502 = call ptr @__errno_location() #10
  %4503 = load i32, ptr %4502, align 4, !tbaa !5
  %4504 = call ptr @strerror(i32 noundef %4503) #9
  %4505 = call ptr @__errno_location() #10
  %4506 = load i32, ptr %4505, align 4, !tbaa !5
  %4507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4494, ptr noundef @.str.5, i32 noundef %4495, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4498, ptr noundef %4501, ptr noundef %4504, i32 noundef %4506) #9
  br label %4508

4508:                                             ; preds = %4491, %4474
  call void @llvm.lifetime.end.p0(i64 4, ptr %103) #9
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

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

4511:                                             ; No predecessors!
  br label %4512

4512:                                             ; preds = %4511
  br label %4513

4513:                                             ; preds = %4512, %4454
  br label %4514

4514:                                             ; preds = %4513
  br label %4515

4515:                                             ; preds = %4514
  call void @llvm.lifetime.end.p0(i64 1, ptr %92) #9
  call void @llvm.lifetime.end.p0(i64 4, ptr %87) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %84) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %81) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %78) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %75) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %71) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %104) #9
  %4516 = call ptr @s2n_config_new()
  store ptr %4516, ptr %104, align 8, !tbaa !9
  br label %4517

4517:                                             ; preds = %4515
  %4518 = load i32, ptr @test_count, align 4, !tbaa !5
  %4519 = add nsw i32 %4518, 1
  store i32 %4519, ptr @test_count, align 4, !tbaa !5
  %4520 = load ptr, ptr %104, align 8, !tbaa !9
  %4521 = icmp eq ptr %4520, null
  br i1 %4521, label %4522, label %4575

4522:                                             ; preds = %4517
  br label %4523

4523:                                             ; preds = %4522
  br label %4524

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

4531:                                             ; preds = %4524
  %4532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4533 = call i32 @fileno(ptr noundef %4532) #9
  %4534 = call i32 @isatty(i32 noundef %4533) #9
  %4535 = icmp ne i32 %4534, 0
  br i1 %4535, label %4536, label %4553

4536:                                             ; preds = %4531
  %4537 = load i32, ptr %105, align 4, !tbaa !5
  %4538 = call ptr @__errno_location() #10
  store i32 %4537, ptr %4538, align 4, !tbaa !5
  %4539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4540 = load i32, ptr @test_count, align 4, !tbaa !5
  %4541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4542 = load i32, ptr %4541, align 4, !tbaa !5
  %4543 = call ptr @s2n_strerror(i32 noundef %4542, ptr noundef @.str.4)
  %4544 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4545 = load i32, ptr %4544, align 4, !tbaa !5
  %4546 = call ptr @s2n_strerror_debug(i32 noundef %4545, ptr noundef @.str.4)
  %4547 = call ptr @__errno_location() #10
  %4548 = load i32, ptr %4547, align 4, !tbaa !5
  %4549 = call ptr @strerror(i32 noundef %4548) #9
  %4550 = call ptr @__errno_location() #10
  %4551 = load i32, ptr %4550, align 4, !tbaa !5
  %4552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4539, ptr noundef @.str.2, i32 noundef %4540, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4543, ptr noundef %4546, ptr noundef %4549, i32 noundef %4551) #9
  br label %4570

4553:                                             ; preds = %4531, %4524
  %4554 = load i32, ptr %105, align 4, !tbaa !5
  %4555 = call ptr @__errno_location() #10
  store i32 %4554, ptr %4555, align 4, !tbaa !5
  %4556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4557 = load i32, ptr @test_count, align 4, !tbaa !5
  %4558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4559 = load i32, ptr %4558, align 4, !tbaa !5
  %4560 = call ptr @s2n_strerror(i32 noundef %4559, ptr noundef @.str.4)
  %4561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4562 = load i32, ptr %4561, align 4, !tbaa !5
  %4563 = call ptr @s2n_strerror_debug(i32 noundef %4562, ptr noundef @.str.4)
  %4564 = call ptr @__errno_location() #10
  %4565 = load i32, ptr %4564, align 4, !tbaa !5
  %4566 = call ptr @strerror(i32 noundef %4565) #9
  %4567 = call ptr @__errno_location() #10
  %4568 = load i32, ptr %4567, align 4, !tbaa !5
  %4569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4556, ptr noundef @.str.5, i32 noundef %4557, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 218, ptr noundef %4560, ptr noundef %4563, ptr noundef %4566, i32 noundef %4568) #9
  br label %4570

4570:                                             ; preds = %4553, %4536
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #9
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

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

4573:                                             ; No predecessors!
  br label %4574

4574:                                             ; preds = %4573
  br label %4575

4575:                                             ; preds = %4574, %4517
  br label %4576

4576:                                             ; preds = %4575
  br label %4577

4577:                                             ; preds = %4576
  br label %4578

4578:                                             ; preds = %4577
  %4579 = load i32, ptr @test_count, align 4, !tbaa !5
  %4580 = add nsw i32 %4579, 1
  store i32 %4580, ptr @test_count, align 4, !tbaa !5
  %4581 = load ptr, ptr %104, align 8, !tbaa !9
  %4582 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %4581, ptr noundef @.str.28)
  %4583 = icmp eq i32 %4582, -1
  br i1 %4583, label %4584, label %4637

4584:                                             ; preds = %4578
  br label %4585

4585:                                             ; preds = %4584
  br label %4586

4586:                                             ; preds = %4585
  call void @llvm.lifetime.start.p0(i64 4, ptr %106) #9
  %4587 = call ptr @__errno_location() #10
  %4588 = load i32, ptr %4587, align 4, !tbaa !5
  store i32 %4588, ptr %106, align 4, !tbaa !5
  %4589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4590 = call i32 @s2n_print_stacktrace(ptr noundef %4589)
  %4591 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4592 = trunc i8 %4591 to i1
  br i1 %4592, label %4593, label %4615

4593:                                             ; preds = %4586
  %4594 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4595 = call i32 @fileno(ptr noundef %4594) #9
  %4596 = call i32 @isatty(i32 noundef %4595) #9
  %4597 = icmp ne i32 %4596, 0
  br i1 %4597, label %4598, label %4615

4598:                                             ; preds = %4593
  %4599 = load i32, ptr %106, align 4, !tbaa !5
  %4600 = call ptr @__errno_location() #10
  store i32 %4599, ptr %4600, align 4, !tbaa !5
  %4601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4602 = load i32, ptr @test_count, align 4, !tbaa !5
  %4603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4604 = load i32, ptr %4603, align 4, !tbaa !5
  %4605 = call ptr @s2n_strerror(i32 noundef %4604, ptr noundef @.str.4)
  %4606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4607 = load i32, ptr %4606, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror_debug(i32 noundef %4607, ptr noundef @.str.4)
  %4609 = call ptr @__errno_location() #10
  %4610 = load i32, ptr %4609, align 4, !tbaa !5
  %4611 = call ptr @strerror(i32 noundef %4610) #9
  %4612 = call ptr @__errno_location() #10
  %4613 = load i32, ptr %4612, align 4, !tbaa !5
  %4614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4601, ptr noundef @.str.2, i32 noundef %4602, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4605, ptr noundef %4608, ptr noundef %4611, i32 noundef %4613) #9
  br label %4632

4615:                                             ; preds = %4593, %4586
  %4616 = load i32, ptr %106, align 4, !tbaa !5
  %4617 = call ptr @__errno_location() #10
  store i32 %4616, ptr %4617, align 4, !tbaa !5
  %4618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4619 = load i32, ptr @test_count, align 4, !tbaa !5
  %4620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4621 = load i32, ptr %4620, align 4, !tbaa !5
  %4622 = call ptr @s2n_strerror(i32 noundef %4621, ptr noundef @.str.4)
  %4623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4624 = load i32, ptr %4623, align 4, !tbaa !5
  %4625 = call ptr @s2n_strerror_debug(i32 noundef %4624, ptr noundef @.str.4)
  %4626 = call ptr @__errno_location() #10
  %4627 = load i32, ptr %4626, align 4, !tbaa !5
  %4628 = call ptr @strerror(i32 noundef %4627) #9
  %4629 = call ptr @__errno_location() #10
  %4630 = load i32, ptr %4629, align 4, !tbaa !5
  %4631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4618, ptr noundef @.str.5, i32 noundef %4619, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 220, ptr noundef %4622, ptr noundef %4625, ptr noundef %4628, i32 noundef %4630) #9
  br label %4632

4632:                                             ; preds = %4615, %4598
  call void @llvm.lifetime.end.p0(i64 4, ptr %106) #9
  br label %4633

4633:                                             ; preds = %4632
  br label %4634

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

4635:                                             ; No predecessors!
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

4637:                                             ; preds = %4636, %4578
  br label %4638

4638:                                             ; preds = %4637
  br label %4639

4639:                                             ; preds = %4638
  br label %4640

4640:                                             ; preds = %4639
  %4641 = load i32, ptr @test_count, align 4, !tbaa !5
  %4642 = add nsw i32 %4641, 1
  store i32 %4642, ptr @test_count, align 4, !tbaa !5
  %4643 = load ptr, ptr %104, align 8, !tbaa !9
  %4644 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %4643)
  %4645 = icmp eq i32 %4644, -1
  br i1 %4645, label %4646, label %4699

4646:                                             ; preds = %4640
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

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

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

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

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

4694:                                             ; preds = %4677, %4660
  call void @llvm.lifetime.end.p0(i64 4, ptr %107) #9
  br label %4695

4695:                                             ; preds = %4694
  br label %4696

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

4697:                                             ; No predecessors!
  br label %4698

4698:                                             ; preds = %4697
  br label %4699

4699:                                             ; preds = %4698, %4640
  br label %4700

4700:                                             ; preds = %4699
  br label %4701

4701:                                             ; preds = %4700
  call void @llvm.lifetime.start.p0(i64 8, ptr %108) #9
  store ptr null, ptr %108, align 8, !tbaa !9
  br label %4702

4702:                                             ; preds = %4701
  %4703 = load i32, ptr @test_count, align 4, !tbaa !5
  %4704 = add nsw i32 %4703, 1
  store i32 %4704, ptr @test_count, align 4, !tbaa !5
  %4705 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %108, ptr noundef @.str.31, ptr noundef @.str.32)
  %4706 = icmp eq i32 %4705, -1
  br i1 %4706, label %4707, label %4760

4707:                                             ; preds = %4702
  br label %4708

4708:                                             ; preds = %4707
  br label %4709

4709:                                             ; preds = %4708
  call void @llvm.lifetime.start.p0(i64 4, ptr %109) #9
  %4710 = call ptr @__errno_location() #10
  %4711 = load i32, ptr %4710, align 4, !tbaa !5
  store i32 %4711, ptr %109, align 4, !tbaa !5
  %4712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4713 = call i32 @s2n_print_stacktrace(ptr noundef %4712)
  %4714 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4715 = trunc i8 %4714 to i1
  br i1 %4715, label %4716, label %4738

4716:                                             ; preds = %4709
  %4717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4718 = call i32 @fileno(ptr noundef %4717) #9
  %4719 = call i32 @isatty(i32 noundef %4718) #9
  %4720 = icmp ne i32 %4719, 0
  br i1 %4720, label %4721, label %4738

4721:                                             ; preds = %4716
  %4722 = load i32, ptr %109, align 4, !tbaa !5
  %4723 = call ptr @__errno_location() #10
  store i32 %4722, ptr %4723, align 4, !tbaa !5
  %4724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4725 = load i32, ptr @test_count, align 4, !tbaa !5
  %4726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4727 = load i32, ptr %4726, align 4, !tbaa !5
  %4728 = call ptr @s2n_strerror(i32 noundef %4727, ptr noundef @.str.4)
  %4729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4730 = load i32, ptr %4729, align 4, !tbaa !5
  %4731 = call ptr @s2n_strerror_debug(i32 noundef %4730, ptr noundef @.str.4)
  %4732 = call ptr @__errno_location() #10
  %4733 = load i32, ptr %4732, align 4, !tbaa !5
  %4734 = call ptr @strerror(i32 noundef %4733) #9
  %4735 = call ptr @__errno_location() #10
  %4736 = load i32, ptr %4735, align 4, !tbaa !5
  %4737 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4724, ptr noundef @.str.2, i32 noundef %4725, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 224, ptr noundef %4728, ptr noundef %4731, ptr noundef %4734, i32 noundef %4736) #9
  br label %4755

4738:                                             ; preds = %4716, %4709
  %4739 = load i32, ptr %109, align 4, !tbaa !5
  %4740 = call ptr @__errno_location() #10
  store i32 %4739, ptr %4740, align 4, !tbaa !5
  %4741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4742 = load i32, ptr @test_count, align 4, !tbaa !5
  %4743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4744 = load i32, ptr %4743, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror(i32 noundef %4744, ptr noundef @.str.4)
  %4746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4747 = load i32, ptr %4746, align 4, !tbaa !5
  %4748 = call ptr @s2n_strerror_debug(i32 noundef %4747, ptr noundef @.str.4)
  %4749 = call ptr @__errno_location() #10
  %4750 = load i32, ptr %4749, align 4, !tbaa !5
  %4751 = call ptr @strerror(i32 noundef %4750) #9
  %4752 = call ptr @__errno_location() #10
  %4753 = load i32, ptr %4752, align 4, !tbaa !5
  %4754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4741, ptr noundef @.str.5, i32 noundef %4742, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 224, ptr noundef %4745, ptr noundef %4748, ptr noundef %4751, i32 noundef %4753) #9
  br label %4755

4755:                                             ; preds = %4738, %4721
  call void @llvm.lifetime.end.p0(i64 4, ptr %109) #9
  br label %4756

4756:                                             ; preds = %4755
  br label %4757

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

4758:                                             ; No predecessors!
  br label %4759

4759:                                             ; preds = %4758
  br label %4760

4760:                                             ; preds = %4759, %4702
  br label %4761

4761:                                             ; preds = %4760
  br label %4762

4762:                                             ; preds = %4761
  br label %4763

4763:                                             ; preds = %4762
  %4764 = load i32, ptr @test_count, align 4, !tbaa !5
  %4765 = add nsw i32 %4764, 1
  store i32 %4765, ptr @test_count, align 4, !tbaa !5
  %4766 = load ptr, ptr %104, align 8, !tbaa !9
  %4767 = load ptr, ptr %108, align 8, !tbaa !9
  %4768 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %4766, ptr noundef %4767)
  %4769 = icmp eq i32 %4768, -1
  br i1 %4769, label %4770, label %4823

4770:                                             ; preds = %4763
  br label %4771

4771:                                             ; preds = %4770
  br label %4772

4772:                                             ; preds = %4771
  call void @llvm.lifetime.start.p0(i64 4, ptr %110) #9
  %4773 = call ptr @__errno_location() #10
  %4774 = load i32, ptr %4773, align 4, !tbaa !5
  store i32 %4774, ptr %110, align 4, !tbaa !5
  %4775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4776 = call i32 @s2n_print_stacktrace(ptr noundef %4775)
  %4777 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4778 = trunc i8 %4777 to i1
  br i1 %4778, label %4779, label %4801

4779:                                             ; preds = %4772
  %4780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4781 = call i32 @fileno(ptr noundef %4780) #9
  %4782 = call i32 @isatty(i32 noundef %4781) #9
  %4783 = icmp ne i32 %4782, 0
  br i1 %4783, label %4784, label %4801

4784:                                             ; preds = %4779
  %4785 = load i32, ptr %110, align 4, !tbaa !5
  %4786 = call ptr @__errno_location() #10
  store i32 %4785, ptr %4786, align 4, !tbaa !5
  %4787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4788 = load i32, ptr @test_count, align 4, !tbaa !5
  %4789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4790 = load i32, ptr %4789, align 4, !tbaa !5
  %4791 = call ptr @s2n_strerror(i32 noundef %4790, ptr noundef @.str.4)
  %4792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4793 = load i32, ptr %4792, align 4, !tbaa !5
  %4794 = call ptr @s2n_strerror_debug(i32 noundef %4793, ptr noundef @.str.4)
  %4795 = call ptr @__errno_location() #10
  %4796 = load i32, ptr %4795, align 4, !tbaa !5
  %4797 = call ptr @strerror(i32 noundef %4796) #9
  %4798 = call ptr @__errno_location() #10
  %4799 = load i32, ptr %4798, align 4, !tbaa !5
  %4800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4787, ptr noundef @.str.2, i32 noundef %4788, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 225, ptr noundef %4791, ptr noundef %4794, ptr noundef %4797, i32 noundef %4799) #9
  br label %4818

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

4818:                                             ; preds = %4801, %4784
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #9
  br label %4819

4819:                                             ; preds = %4818
  br label %4820

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

4821:                                             ; No predecessors!
  br label %4822

4822:                                             ; preds = %4821
  br label %4823

4823:                                             ; preds = %4822, %4763
  br label %4824

4824:                                             ; preds = %4823
  br label %4825

4825:                                             ; preds = %4824
  call void @llvm.lifetime.start.p0(i64 8, ptr %111) #9
  %4826 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %4826, ptr %111, align 8, !tbaa !9
  br label %4827

4827:                                             ; preds = %4825
  %4828 = load i32, ptr @test_count, align 4, !tbaa !5
  %4829 = add nsw i32 %4828, 1
  store i32 %4829, ptr @test_count, align 4, !tbaa !5
  %4830 = load ptr, ptr %111, align 8, !tbaa !9
  %4831 = icmp eq ptr %4830, null
  br i1 %4831, label %4832, label %4885

4832:                                             ; preds = %4827
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

4834:                                             ; preds = %4833
  call void @llvm.lifetime.start.p0(i64 4, ptr %112) #9
  %4835 = call ptr @__errno_location() #10
  %4836 = load i32, ptr %4835, align 4, !tbaa !5
  store i32 %4836, ptr %112, align 4, !tbaa !5
  %4837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4838 = call i32 @s2n_print_stacktrace(ptr noundef %4837)
  %4839 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4840 = trunc i8 %4839 to i1
  br i1 %4840, label %4841, label %4863

4841:                                             ; preds = %4834
  %4842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4843 = call i32 @fileno(ptr noundef %4842) #9
  %4844 = call i32 @isatty(i32 noundef %4843) #9
  %4845 = icmp ne i32 %4844, 0
  br i1 %4845, label %4846, label %4863

4846:                                             ; preds = %4841
  %4847 = load i32, ptr %112, align 4, !tbaa !5
  %4848 = call ptr @__errno_location() #10
  store i32 %4847, ptr %4848, align 4, !tbaa !5
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = load i32, ptr @test_count, align 4, !tbaa !5
  %4851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4852 = load i32, ptr %4851, align 4, !tbaa !5
  %4853 = call ptr @s2n_strerror(i32 noundef %4852, ptr noundef @.str.4)
  %4854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4855 = load i32, ptr %4854, align 4, !tbaa !5
  %4856 = call ptr @s2n_strerror_debug(i32 noundef %4855, ptr noundef @.str.4)
  %4857 = call ptr @__errno_location() #10
  %4858 = load i32, ptr %4857, align 4, !tbaa !5
  %4859 = call ptr @strerror(i32 noundef %4858) #9
  %4860 = call ptr @__errno_location() #10
  %4861 = load i32, ptr %4860, align 4, !tbaa !5
  %4862 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4849, ptr noundef @.str.2, i32 noundef %4850, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 228, ptr noundef %4853, ptr noundef %4856, ptr noundef %4859, i32 noundef %4861) #9
  br label %4880

4863:                                             ; preds = %4841, %4834
  %4864 = load i32, ptr %112, align 4, !tbaa !5
  %4865 = call ptr @__errno_location() #10
  store i32 %4864, ptr %4865, align 4, !tbaa !5
  %4866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4867 = load i32, ptr @test_count, align 4, !tbaa !5
  %4868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4869 = load i32, ptr %4868, align 4, !tbaa !5
  %4870 = call ptr @s2n_strerror(i32 noundef %4869, ptr noundef @.str.4)
  %4871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4872 = load i32, ptr %4871, align 4, !tbaa !5
  %4873 = call ptr @s2n_strerror_debug(i32 noundef %4872, ptr noundef @.str.4)
  %4874 = call ptr @__errno_location() #10
  %4875 = load i32, ptr %4874, align 4, !tbaa !5
  %4876 = call ptr @strerror(i32 noundef %4875) #9
  %4877 = call ptr @__errno_location() #10
  %4878 = load i32, ptr %4877, align 4, !tbaa !5
  %4879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4866, ptr noundef @.str.5, i32 noundef %4867, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 228, ptr noundef %4870, ptr noundef %4873, ptr noundef %4876, i32 noundef %4878) #9
  br label %4880

4880:                                             ; preds = %4863, %4846
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #9
  br label %4881

4881:                                             ; preds = %4880
  br label %4882

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

4883:                                             ; No predecessors!
  br label %4884

4884:                                             ; preds = %4883
  br label %4885

4885:                                             ; preds = %4884, %4827
  br label %4886

4886:                                             ; preds = %4885
  br label %4887

4887:                                             ; preds = %4886
  br label %4888

4888:                                             ; preds = %4887
  %4889 = load i32, ptr @test_count, align 4, !tbaa !5
  %4890 = add nsw i32 %4889, 1
  store i32 %4890, ptr @test_count, align 4, !tbaa !5
  %4891 = load ptr, ptr %111, align 8, !tbaa !9
  %4892 = load ptr, ptr %104, align 8, !tbaa !9
  %4893 = call i32 @s2n_connection_set_config(ptr noundef %4891, ptr noundef %4892)
  %4894 = icmp eq i32 %4893, -1
  br i1 %4894, label %4895, label %4948

4895:                                             ; preds = %4888
  br label %4896

4896:                                             ; preds = %4895
  br label %4897

4897:                                             ; preds = %4896
  call void @llvm.lifetime.start.p0(i64 4, ptr %113) #9
  %4898 = call ptr @__errno_location() #10
  %4899 = load i32, ptr %4898, align 4, !tbaa !5
  store i32 %4899, ptr %113, align 4, !tbaa !5
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4901 = call i32 @s2n_print_stacktrace(ptr noundef %4900)
  %4902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4903 = trunc i8 %4902 to i1
  br i1 %4903, label %4904, label %4926

4904:                                             ; preds = %4897
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = call i32 @fileno(ptr noundef %4905) #9
  %4907 = call i32 @isatty(i32 noundef %4906) #9
  %4908 = icmp ne i32 %4907, 0
  br i1 %4908, label %4909, label %4926

4909:                                             ; preds = %4904
  %4910 = load i32, ptr %113, align 4, !tbaa !5
  %4911 = call ptr @__errno_location() #10
  store i32 %4910, ptr %4911, align 4, !tbaa !5
  %4912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4913 = load i32, ptr @test_count, align 4, !tbaa !5
  %4914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4915 = load i32, ptr %4914, align 4, !tbaa !5
  %4916 = call ptr @s2n_strerror(i32 noundef %4915, ptr noundef @.str.4)
  %4917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4918 = load i32, ptr %4917, align 4, !tbaa !5
  %4919 = call ptr @s2n_strerror_debug(i32 noundef %4918, ptr noundef @.str.4)
  %4920 = call ptr @__errno_location() #10
  %4921 = load i32, ptr %4920, align 4, !tbaa !5
  %4922 = call ptr @strerror(i32 noundef %4921) #9
  %4923 = call ptr @__errno_location() #10
  %4924 = load i32, ptr %4923, align 4, !tbaa !5
  %4925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4912, ptr noundef @.str.2, i32 noundef %4913, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 229, ptr noundef %4916, ptr noundef %4919, ptr noundef %4922, i32 noundef %4924) #9
  br label %4943

4926:                                             ; preds = %4904, %4897
  %4927 = load i32, ptr %113, align 4, !tbaa !5
  %4928 = call ptr @__errno_location() #10
  store i32 %4927, ptr %4928, align 4, !tbaa !5
  %4929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4930 = load i32, ptr @test_count, align 4, !tbaa !5
  %4931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4932 = load i32, ptr %4931, align 4, !tbaa !5
  %4933 = call ptr @s2n_strerror(i32 noundef %4932, ptr noundef @.str.4)
  %4934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4935 = load i32, ptr %4934, align 4, !tbaa !5
  %4936 = call ptr @s2n_strerror_debug(i32 noundef %4935, ptr noundef @.str.4)
  %4937 = call ptr @__errno_location() #10
  %4938 = load i32, ptr %4937, align 4, !tbaa !5
  %4939 = call ptr @strerror(i32 noundef %4938) #9
  %4940 = call ptr @__errno_location() #10
  %4941 = load i32, ptr %4940, align 4, !tbaa !5
  %4942 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4929, ptr noundef @.str.5, i32 noundef %4930, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 229, ptr noundef %4933, ptr noundef %4936, ptr noundef %4939, i32 noundef %4941) #9
  br label %4943

4943:                                             ; preds = %4926, %4909
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #9
  br label %4944

4944:                                             ; preds = %4943
  br label %4945

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

4946:                                             ; No predecessors!
  br label %4947

4947:                                             ; preds = %4946
  br label %4948

4948:                                             ; preds = %4947, %4888
  br label %4949

4949:                                             ; preds = %4948
  br label %4950

4950:                                             ; preds = %4949
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #9
  %4951 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4951, ptr %114, align 8, !tbaa !9
  br label %4952

4952:                                             ; preds = %4950
  %4953 = load i32, ptr @test_count, align 4, !tbaa !5
  %4954 = add nsw i32 %4953, 1
  store i32 %4954, ptr @test_count, align 4, !tbaa !5
  %4955 = load ptr, ptr %114, align 8, !tbaa !9
  %4956 = icmp eq ptr %4955, null
  br i1 %4956, label %4957, label %5010

4957:                                             ; preds = %4952
  br label %4958

4958:                                             ; preds = %4957
  br label %4959

4959:                                             ; preds = %4958
  call void @llvm.lifetime.start.p0(i64 4, ptr %115) #9
  %4960 = call ptr @__errno_location() #10
  %4961 = load i32, ptr %4960, align 4, !tbaa !5
  store i32 %4961, ptr %115, align 4, !tbaa !5
  %4962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4963 = call i32 @s2n_print_stacktrace(ptr noundef %4962)
  %4964 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4965 = trunc i8 %4964 to i1
  br i1 %4965, label %4966, label %4988

4966:                                             ; preds = %4959
  %4967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4968 = call i32 @fileno(ptr noundef %4967) #9
  %4969 = call i32 @isatty(i32 noundef %4968) #9
  %4970 = icmp ne i32 %4969, 0
  br i1 %4970, label %4971, label %4988

4971:                                             ; preds = %4966
  %4972 = load i32, ptr %115, align 4, !tbaa !5
  %4973 = call ptr @__errno_location() #10
  store i32 %4972, ptr %4973, align 4, !tbaa !5
  %4974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4975 = load i32, ptr @test_count, align 4, !tbaa !5
  %4976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4977 = load i32, ptr %4976, align 4, !tbaa !5
  %4978 = call ptr @s2n_strerror(i32 noundef %4977, ptr noundef @.str.4)
  %4979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4980 = load i32, ptr %4979, align 4, !tbaa !5
  %4981 = call ptr @s2n_strerror_debug(i32 noundef %4980, ptr noundef @.str.4)
  %4982 = call ptr @__errno_location() #10
  %4983 = load i32, ptr %4982, align 4, !tbaa !5
  %4984 = call ptr @strerror(i32 noundef %4983) #9
  %4985 = call ptr @__errno_location() #10
  %4986 = load i32, ptr %4985, align 4, !tbaa !5
  %4987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4974, ptr noundef @.str.2, i32 noundef %4975, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 232, ptr noundef %4978, ptr noundef %4981, ptr noundef %4984, i32 noundef %4986) #9
  br label %5005

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

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

5006:                                             ; preds = %5005
  br label %5007

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

5008:                                             ; No predecessors!
  br label %5009

5009:                                             ; preds = %5008
  br label %5010

5010:                                             ; preds = %5009, %4952
  br label %5011

5011:                                             ; preds = %5010
  br label %5012

5012:                                             ; preds = %5011
  br label %5013

5013:                                             ; preds = %5012
  %5014 = load i32, ptr @test_count, align 4, !tbaa !5
  %5015 = add nsw i32 %5014, 1
  store i32 %5015, ptr @test_count, align 4, !tbaa !5
  %5016 = load ptr, ptr %114, align 8, !tbaa !9
  %5017 = load ptr, ptr %104, align 8, !tbaa !9
  %5018 = call i32 @s2n_connection_set_config(ptr noundef %5016, ptr noundef %5017)
  %5019 = icmp eq i32 %5018, -1
  br i1 %5019, label %5020, label %5073

5020:                                             ; preds = %5013
  br label %5021

5021:                                             ; preds = %5020
  br label %5022

5022:                                             ; preds = %5021
  call void @llvm.lifetime.start.p0(i64 4, ptr %116) #9
  %5023 = call ptr @__errno_location() #10
  %5024 = load i32, ptr %5023, align 4, !tbaa !5
  store i32 %5024, ptr %116, align 4, !tbaa !5
  %5025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5026 = call i32 @s2n_print_stacktrace(ptr noundef %5025)
  %5027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5028 = trunc i8 %5027 to i1
  br i1 %5028, label %5029, label %5051

5029:                                             ; preds = %5022
  %5030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5031 = call i32 @fileno(ptr noundef %5030) #9
  %5032 = call i32 @isatty(i32 noundef %5031) #9
  %5033 = icmp ne i32 %5032, 0
  br i1 %5033, label %5034, label %5051

5034:                                             ; preds = %5029
  %5035 = load i32, ptr %116, align 4, !tbaa !5
  %5036 = call ptr @__errno_location() #10
  store i32 %5035, ptr %5036, align 4, !tbaa !5
  %5037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5038 = load i32, ptr @test_count, align 4, !tbaa !5
  %5039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5040 = load i32, ptr %5039, align 4, !tbaa !5
  %5041 = call ptr @s2n_strerror(i32 noundef %5040, ptr noundef @.str.4)
  %5042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5043 = load i32, ptr %5042, align 4, !tbaa !5
  %5044 = call ptr @s2n_strerror_debug(i32 noundef %5043, ptr noundef @.str.4)
  %5045 = call ptr @__errno_location() #10
  %5046 = load i32, ptr %5045, align 4, !tbaa !5
  %5047 = call ptr @strerror(i32 noundef %5046) #9
  %5048 = call ptr @__errno_location() #10
  %5049 = load i32, ptr %5048, align 4, !tbaa !5
  %5050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5037, ptr noundef @.str.2, i32 noundef %5038, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5041, ptr noundef %5044, ptr noundef %5047, i32 noundef %5049) #9
  br label %5068

5051:                                             ; preds = %5029, %5022
  %5052 = load i32, ptr %116, align 4, !tbaa !5
  %5053 = call ptr @__errno_location() #10
  store i32 %5052, ptr %5053, align 4, !tbaa !5
  %5054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5055 = load i32, ptr @test_count, align 4, !tbaa !5
  %5056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5057 = load i32, ptr %5056, align 4, !tbaa !5
  %5058 = call ptr @s2n_strerror(i32 noundef %5057, ptr noundef @.str.4)
  %5059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5060 = load i32, ptr %5059, align 4, !tbaa !5
  %5061 = call ptr @s2n_strerror_debug(i32 noundef %5060, ptr noundef @.str.4)
  %5062 = call ptr @__errno_location() #10
  %5063 = load i32, ptr %5062, align 4, !tbaa !5
  %5064 = call ptr @strerror(i32 noundef %5063) #9
  %5065 = call ptr @__errno_location() #10
  %5066 = load i32, ptr %5065, align 4, !tbaa !5
  %5067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5054, ptr noundef @.str.5, i32 noundef %5055, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 233, ptr noundef %5058, ptr noundef %5061, ptr noundef %5064, i32 noundef %5066) #9
  br label %5068

5068:                                             ; preds = %5051, %5034
  call void @llvm.lifetime.end.p0(i64 4, ptr %116) #9
  br label %5069

5069:                                             ; preds = %5068
  br label %5070

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

5071:                                             ; No predecessors!
  br label %5072

5072:                                             ; preds = %5071
  br label %5073

5073:                                             ; preds = %5072, %5013
  br label %5074

5074:                                             ; preds = %5073
  br label %5075

5075:                                             ; preds = %5074
  call void @llvm.lifetime.start.p0(i64 8, ptr %117) #9
  call void @llvm.memset.p0.i64(ptr align 4 %117, i8 0, i64 8, i1 false)
  br label %5076

5076:                                             ; preds = %5075
  %5077 = load i32, ptr @test_count, align 4, !tbaa !5
  %5078 = add nsw i32 %5077, 1
  store i32 %5078, ptr @test_count, align 4, !tbaa !5
  %5079 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %117)
  %5080 = icmp eq i32 %5079, -1
  br i1 %5080, label %5081, label %5134

5081:                                             ; preds = %5076
  br label %5082

5082:                                             ; preds = %5081
  br label %5083

5083:                                             ; preds = %5082
  call void @llvm.lifetime.start.p0(i64 4, ptr %118) #9
  %5084 = call ptr @__errno_location() #10
  %5085 = load i32, ptr %5084, align 4, !tbaa !5
  store i32 %5085, ptr %118, align 4, !tbaa !5
  %5086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5087 = call i32 @s2n_print_stacktrace(ptr noundef %5086)
  %5088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5089 = trunc i8 %5088 to i1
  br i1 %5089, label %5090, label %5112

5090:                                             ; preds = %5083
  %5091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5092 = call i32 @fileno(ptr noundef %5091) #9
  %5093 = call i32 @isatty(i32 noundef %5092) #9
  %5094 = icmp ne i32 %5093, 0
  br i1 %5094, label %5095, label %5112

5095:                                             ; preds = %5090
  %5096 = load i32, ptr %118, align 4, !tbaa !5
  %5097 = call ptr @__errno_location() #10
  store i32 %5096, ptr %5097, align 4, !tbaa !5
  %5098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5099 = load i32, ptr @test_count, align 4, !tbaa !5
  %5100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5101 = load i32, ptr %5100, align 4, !tbaa !5
  %5102 = call ptr @s2n_strerror(i32 noundef %5101, ptr noundef @.str.4)
  %5103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5104 = load i32, ptr %5103, align 4, !tbaa !5
  %5105 = call ptr @s2n_strerror_debug(i32 noundef %5104, ptr noundef @.str.4)
  %5106 = call ptr @__errno_location() #10
  %5107 = load i32, ptr %5106, align 4, !tbaa !5
  %5108 = call ptr @strerror(i32 noundef %5107) #9
  %5109 = call ptr @__errno_location() #10
  %5110 = load i32, ptr %5109, align 4, !tbaa !5
  %5111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5098, ptr noundef @.str.2, i32 noundef %5099, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5102, ptr noundef %5105, ptr noundef %5108, i32 noundef %5110) #9
  br label %5129

5112:                                             ; preds = %5090, %5083
  %5113 = load i32, ptr %118, align 4, !tbaa !5
  %5114 = call ptr @__errno_location() #10
  store i32 %5113, ptr %5114, align 4, !tbaa !5
  %5115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5116 = load i32, ptr @test_count, align 4, !tbaa !5
  %5117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5118 = load i32, ptr %5117, align 4, !tbaa !5
  %5119 = call ptr @s2n_strerror(i32 noundef %5118, ptr noundef @.str.4)
  %5120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5121 = load i32, ptr %5120, align 4, !tbaa !5
  %5122 = call ptr @s2n_strerror_debug(i32 noundef %5121, ptr noundef @.str.4)
  %5123 = call ptr @__errno_location() #10
  %5124 = load i32, ptr %5123, align 4, !tbaa !5
  %5125 = call ptr @strerror(i32 noundef %5124) #9
  %5126 = call ptr @__errno_location() #10
  %5127 = load i32, ptr %5126, align 4, !tbaa !5
  %5128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5115, ptr noundef @.str.5, i32 noundef %5116, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 237, ptr noundef %5119, ptr noundef %5122, ptr noundef %5125, i32 noundef %5127) #9
  br label %5129

5129:                                             ; preds = %5112, %5095
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #9
  br label %5130

5130:                                             ; preds = %5129
  br label %5131

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

5132:                                             ; No predecessors!
  br label %5133

5133:                                             ; preds = %5132
  br label %5134

5134:                                             ; preds = %5133, %5076
  br label %5135

5135:                                             ; preds = %5134
  br label %5136

5136:                                             ; preds = %5135
  br label %5137

5137:                                             ; preds = %5136
  %5138 = load i32, ptr @test_count, align 4, !tbaa !5
  %5139 = add nsw i32 %5138, 1
  store i32 %5139, ptr @test_count, align 4, !tbaa !5
  %5140 = load ptr, ptr %111, align 8, !tbaa !9
  %5141 = load ptr, ptr %114, align 8, !tbaa !9
  %5142 = call i32 @s2n_connections_set_io_pair(ptr noundef %5140, ptr noundef %5141, ptr noundef %117)
  %5143 = icmp eq i32 %5142, -1
  br i1 %5143, label %5144, label %5197

5144:                                             ; preds = %5137
  br label %5145

5145:                                             ; preds = %5144
  br label %5146

5146:                                             ; preds = %5145
  call void @llvm.lifetime.start.p0(i64 4, ptr %119) #9
  %5147 = call ptr @__errno_location() #10
  %5148 = load i32, ptr %5147, align 4, !tbaa !5
  store i32 %5148, ptr %119, align 4, !tbaa !5
  %5149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5150 = call i32 @s2n_print_stacktrace(ptr noundef %5149)
  %5151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5152 = trunc i8 %5151 to i1
  br i1 %5152, label %5153, label %5175

5153:                                             ; preds = %5146
  %5154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5155 = call i32 @fileno(ptr noundef %5154) #9
  %5156 = call i32 @isatty(i32 noundef %5155) #9
  %5157 = icmp ne i32 %5156, 0
  br i1 %5157, label %5158, label %5175

5158:                                             ; preds = %5153
  %5159 = load i32, ptr %119, align 4, !tbaa !5
  %5160 = call ptr @__errno_location() #10
  store i32 %5159, ptr %5160, align 4, !tbaa !5
  %5161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5162 = load i32, ptr @test_count, align 4, !tbaa !5
  %5163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5164 = load i32, ptr %5163, align 4, !tbaa !5
  %5165 = call ptr @s2n_strerror(i32 noundef %5164, ptr noundef @.str.4)
  %5166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5167 = load i32, ptr %5166, align 4, !tbaa !5
  %5168 = call ptr @s2n_strerror_debug(i32 noundef %5167, ptr noundef @.str.4)
  %5169 = call ptr @__errno_location() #10
  %5170 = load i32, ptr %5169, align 4, !tbaa !5
  %5171 = call ptr @strerror(i32 noundef %5170) #9
  %5172 = call ptr @__errno_location() #10
  %5173 = load i32, ptr %5172, align 4, !tbaa !5
  %5174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5161, ptr noundef @.str.2, i32 noundef %5162, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 238, ptr noundef %5165, ptr noundef %5168, ptr noundef %5171, i32 noundef %5173) #9
  br label %5192

5175:                                             ; preds = %5153, %5146
  %5176 = load i32, ptr %119, align 4, !tbaa !5
  %5177 = call ptr @__errno_location() #10
  store i32 %5176, ptr %5177, align 4, !tbaa !5
  %5178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5179 = load i32, ptr @test_count, align 4, !tbaa !5
  %5180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5181 = load i32, ptr %5180, align 4, !tbaa !5
  %5182 = call ptr @s2n_strerror(i32 noundef %5181, ptr noundef @.str.4)
  %5183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5184 = load i32, ptr %5183, align 4, !tbaa !5
  %5185 = call ptr @s2n_strerror_debug(i32 noundef %5184, ptr noundef @.str.4)
  %5186 = call ptr @__errno_location() #10
  %5187 = load i32, ptr %5186, align 4, !tbaa !5
  %5188 = call ptr @strerror(i32 noundef %5187) #9
  %5189 = call ptr @__errno_location() #10
  %5190 = load i32, ptr %5189, align 4, !tbaa !5
  %5191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5178, ptr noundef @.str.5, i32 noundef %5179, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 238, ptr noundef %5182, ptr noundef %5185, ptr noundef %5188, i32 noundef %5190) #9
  br label %5192

5192:                                             ; preds = %5175, %5158
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #9
  br label %5193

5193:                                             ; preds = %5192
  br label %5194

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

5195:                                             ; No predecessors!
  br label %5196

5196:                                             ; preds = %5195
  br label %5197

5197:                                             ; preds = %5196, %5137
  br label %5198

5198:                                             ; preds = %5197
  br label %5199

5199:                                             ; preds = %5198
  %5200 = load ptr, ptr %111, align 8, !tbaa !9
  %5201 = load i32, ptr %5200, align 8
  %5202 = and i32 %5201, -16385
  %5203 = or i32 %5202, 16384
  store i32 %5203, ptr %5200, align 8
  br label %5204

5204:                                             ; preds = %5199
  %5205 = load i32, ptr @test_count, align 4, !tbaa !5
  %5206 = add nsw i32 %5205, 1
  store i32 %5206, ptr @test_count, align 4, !tbaa !5
  %5207 = load ptr, ptr %114, align 8, !tbaa !9
  %5208 = load ptr, ptr %111, align 8, !tbaa !9
  %5209 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5207, ptr noundef %5208)
  %5210 = icmp eq i32 %5209, -1
  br i1 %5210, label %5211, label %5264

5211:                                             ; preds = %5204
  br label %5212

5212:                                             ; preds = %5211
  br label %5213

5213:                                             ; preds = %5212
  call void @llvm.lifetime.start.p0(i64 4, ptr %120) #9
  %5214 = call ptr @__errno_location() #10
  %5215 = load i32, ptr %5214, align 4, !tbaa !5
  store i32 %5215, ptr %120, align 4, !tbaa !5
  %5216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5217 = call i32 @s2n_print_stacktrace(ptr noundef %5216)
  %5218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5219 = trunc i8 %5218 to i1
  br i1 %5219, label %5220, label %5242

5220:                                             ; preds = %5213
  %5221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5222 = call i32 @fileno(ptr noundef %5221) #9
  %5223 = call i32 @isatty(i32 noundef %5222) #9
  %5224 = icmp ne i32 %5223, 0
  br i1 %5224, label %5225, label %5242

5225:                                             ; preds = %5220
  %5226 = load i32, ptr %120, align 4, !tbaa !5
  %5227 = call ptr @__errno_location() #10
  store i32 %5226, ptr %5227, align 4, !tbaa !5
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = load i32, ptr @test_count, align 4, !tbaa !5
  %5230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5231 = load i32, ptr %5230, align 4, !tbaa !5
  %5232 = call ptr @s2n_strerror(i32 noundef %5231, ptr noundef @.str.4)
  %5233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5234 = load i32, ptr %5233, align 4, !tbaa !5
  %5235 = call ptr @s2n_strerror_debug(i32 noundef %5234, ptr noundef @.str.4)
  %5236 = call ptr @__errno_location() #10
  %5237 = load i32, ptr %5236, align 4, !tbaa !5
  %5238 = call ptr @strerror(i32 noundef %5237) #9
  %5239 = call ptr @__errno_location() #10
  %5240 = load i32, ptr %5239, align 4, !tbaa !5
  %5241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5228, ptr noundef @.str.2, i32 noundef %5229, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 247, ptr noundef %5232, ptr noundef %5235, ptr noundef %5238, i32 noundef %5240) #9
  br label %5259

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

5259:                                             ; preds = %5242, %5225
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #9
  br label %5260

5260:                                             ; preds = %5259
  br label %5261

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

5262:                                             ; No predecessors!
  br label %5263

5263:                                             ; preds = %5262
  br label %5264

5264:                                             ; preds = %5263, %5204
  br label %5265

5265:                                             ; preds = %5264
  br label %5266

5266:                                             ; preds = %5265
  br label %5267

5267:                                             ; preds = %5266
  %5268 = load i32, ptr @test_count, align 4, !tbaa !5
  %5269 = add nsw i32 %5268, 1
  store i32 %5269, ptr @test_count, align 4, !tbaa !5
  %5270 = load ptr, ptr %114, align 8, !tbaa !9
  %5271 = getelementptr inbounds %struct.s2n_connection, ptr %5270, i32 0, i32 23
  %5272 = load i8, ptr %5271, align 4, !tbaa !15
  %5273 = zext i8 %5272 to i32
  %5274 = icmp eq i32 %5273, 33
  br i1 %5274, label %5328, label %5275

5275:                                             ; preds = %5267
  br label %5276

5276:                                             ; preds = %5275
  br label %5277

5277:                                             ; preds = %5276
  call void @llvm.lifetime.start.p0(i64 4, ptr %121) #9
  %5278 = call ptr @__errno_location() #10
  %5279 = load i32, ptr %5278, align 4, !tbaa !5
  store i32 %5279, ptr %121, align 4, !tbaa !5
  %5280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5281 = call i32 @s2n_print_stacktrace(ptr noundef %5280)
  %5282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5283 = trunc i8 %5282 to i1
  br i1 %5283, label %5284, label %5306

5284:                                             ; preds = %5277
  %5285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5286 = call i32 @fileno(ptr noundef %5285) #9
  %5287 = call i32 @isatty(i32 noundef %5286) #9
  %5288 = icmp ne i32 %5287, 0
  br i1 %5288, label %5289, label %5306

5289:                                             ; preds = %5284
  %5290 = load i32, ptr %121, align 4, !tbaa !5
  %5291 = call ptr @__errno_location() #10
  store i32 %5290, ptr %5291, align 4, !tbaa !5
  %5292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5293 = load i32, ptr @test_count, align 4, !tbaa !5
  %5294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5295 = load i32, ptr %5294, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror(i32 noundef %5295, ptr noundef @.str.4)
  %5297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5298 = load i32, ptr %5297, align 4, !tbaa !5
  %5299 = call ptr @s2n_strerror_debug(i32 noundef %5298, ptr noundef @.str.4)
  %5300 = call ptr @__errno_location() #10
  %5301 = load i32, ptr %5300, align 4, !tbaa !5
  %5302 = call ptr @strerror(i32 noundef %5301) #9
  %5303 = call ptr @__errno_location() #10
  %5304 = load i32, ptr %5303, align 4, !tbaa !5
  %5305 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5292, ptr noundef @.str.2, i32 noundef %5293, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5296, ptr noundef %5299, ptr noundef %5302, i32 noundef %5304) #9
  br label %5323

5306:                                             ; preds = %5284, %5277
  %5307 = load i32, ptr %121, align 4, !tbaa !5
  %5308 = call ptr @__errno_location() #10
  store i32 %5307, ptr %5308, align 4, !tbaa !5
  %5309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5310 = load i32, ptr @test_count, align 4, !tbaa !5
  %5311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5312 = load i32, ptr %5311, align 4, !tbaa !5
  %5313 = call ptr @s2n_strerror(i32 noundef %5312, ptr noundef @.str.4)
  %5314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5315 = load i32, ptr %5314, align 4, !tbaa !5
  %5316 = call ptr @s2n_strerror_debug(i32 noundef %5315, ptr noundef @.str.4)
  %5317 = call ptr @__errno_location() #10
  %5318 = load i32, ptr %5317, align 4, !tbaa !5
  %5319 = call ptr @strerror(i32 noundef %5318) #9
  %5320 = call ptr @__errno_location() #10
  %5321 = load i32, ptr %5320, align 4, !tbaa !5
  %5322 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5309, ptr noundef @.str.5, i32 noundef %5310, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 248, ptr noundef %5313, ptr noundef %5316, ptr noundef %5319, i32 noundef %5321) #9
  br label %5323

5323:                                             ; preds = %5306, %5289
  call void @llvm.lifetime.end.p0(i64 4, ptr %121) #9
  br label %5324

5324:                                             ; preds = %5323
  br label %5325

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

5326:                                             ; No predecessors!
  br label %5327

5327:                                             ; preds = %5326
  br label %5328

5328:                                             ; preds = %5327, %5267
  br label %5329

5329:                                             ; preds = %5328
  br label %5330

5330:                                             ; preds = %5329
  br label %5331

5331:                                             ; preds = %5330
  %5332 = load i32, ptr @test_count, align 4, !tbaa !5
  %5333 = add nsw i32 %5332, 1
  store i32 %5333, ptr @test_count, align 4, !tbaa !5
  %5334 = load ptr, ptr %111, align 8, !tbaa !9
  %5335 = getelementptr inbounds %struct.s2n_connection, ptr %5334, i32 0, i32 23
  %5336 = load i8, ptr %5335, align 4, !tbaa !15
  %5337 = zext i8 %5336 to i32
  %5338 = icmp eq i32 %5337, 33
  br i1 %5338, label %5392, label %5339

5339:                                             ; preds = %5331
  br label %5340

5340:                                             ; preds = %5339
  br label %5341

5341:                                             ; preds = %5340
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #9
  %5342 = call ptr @__errno_location() #10
  %5343 = load i32, ptr %5342, align 4, !tbaa !5
  store i32 %5343, ptr %122, align 4, !tbaa !5
  %5344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5345 = call i32 @s2n_print_stacktrace(ptr noundef %5344)
  %5346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5347 = trunc i8 %5346 to i1
  br i1 %5347, label %5348, label %5370

5348:                                             ; preds = %5341
  %5349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5350 = call i32 @fileno(ptr noundef %5349) #9
  %5351 = call i32 @isatty(i32 noundef %5350) #9
  %5352 = icmp ne i32 %5351, 0
  br i1 %5352, label %5353, label %5370

5353:                                             ; preds = %5348
  %5354 = load i32, ptr %122, align 4, !tbaa !5
  %5355 = call ptr @__errno_location() #10
  store i32 %5354, ptr %5355, align 4, !tbaa !5
  %5356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5357 = load i32, ptr @test_count, align 4, !tbaa !5
  %5358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5359 = load i32, ptr %5358, align 4, !tbaa !5
  %5360 = call ptr @s2n_strerror(i32 noundef %5359, ptr noundef @.str.4)
  %5361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5362 = load i32, ptr %5361, align 4, !tbaa !5
  %5363 = call ptr @s2n_strerror_debug(i32 noundef %5362, ptr noundef @.str.4)
  %5364 = call ptr @__errno_location() #10
  %5365 = load i32, ptr %5364, align 4, !tbaa !5
  %5366 = call ptr @strerror(i32 noundef %5365) #9
  %5367 = call ptr @__errno_location() #10
  %5368 = load i32, ptr %5367, align 4, !tbaa !5
  %5369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5356, ptr noundef @.str.2, i32 noundef %5357, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5360, ptr noundef %5363, ptr noundef %5366, i32 noundef %5368) #9
  br label %5387

5370:                                             ; preds = %5348, %5341
  %5371 = load i32, ptr %122, align 4, !tbaa !5
  %5372 = call ptr @__errno_location() #10
  store i32 %5371, ptr %5372, align 4, !tbaa !5
  %5373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5374 = load i32, ptr @test_count, align 4, !tbaa !5
  %5375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5376 = load i32, ptr %5375, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror(i32 noundef %5376, ptr noundef @.str.4)
  %5378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5379 = load i32, ptr %5378, align 4, !tbaa !5
  %5380 = call ptr @s2n_strerror_debug(i32 noundef %5379, ptr noundef @.str.4)
  %5381 = call ptr @__errno_location() #10
  %5382 = load i32, ptr %5381, align 4, !tbaa !5
  %5383 = call ptr @strerror(i32 noundef %5382) #9
  %5384 = call ptr @__errno_location() #10
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5373, ptr noundef @.str.5, i32 noundef %5374, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 249, ptr noundef %5377, ptr noundef %5380, ptr noundef %5383, i32 noundef %5385) #9
  br label %5387

5387:                                             ; preds = %5370, %5353
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #9
  br label %5388

5388:                                             ; preds = %5387
  br label %5389

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

5390:                                             ; No predecessors!
  br label %5391

5391:                                             ; preds = %5390
  br label %5392

5392:                                             ; preds = %5391, %5331
  br label %5393

5393:                                             ; preds = %5392
  br label %5394

5394:                                             ; preds = %5393
  br label %5395

5395:                                             ; preds = %5394
  %5396 = load i32, ptr @test_count, align 4, !tbaa !5
  %5397 = add nsw i32 %5396, 1
  store i32 %5397, ptr @test_count, align 4, !tbaa !5
  %5398 = load ptr, ptr %114, align 8, !tbaa !9
  %5399 = load i32, ptr %5398, align 8
  %5400 = lshr i32 %5399, 13
  %5401 = and i32 %5400, 1
  %5402 = icmp ne i32 %5401, 0
  br i1 %5402, label %5403, label %5456

5403:                                             ; preds = %5395
  br label %5404

5404:                                             ; preds = %5403
  br label %5405

5405:                                             ; preds = %5404
  call void @llvm.lifetime.start.p0(i64 4, ptr %123) #9
  %5406 = call ptr @__errno_location() #10
  %5407 = load i32, ptr %5406, align 4, !tbaa !5
  store i32 %5407, ptr %123, align 4, !tbaa !5
  %5408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5409 = call i32 @s2n_print_stacktrace(ptr noundef %5408)
  %5410 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5411 = trunc i8 %5410 to i1
  br i1 %5411, label %5412, label %5434

5412:                                             ; preds = %5405
  %5413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5414 = call i32 @fileno(ptr noundef %5413) #9
  %5415 = call i32 @isatty(i32 noundef %5414) #9
  %5416 = icmp ne i32 %5415, 0
  br i1 %5416, label %5417, label %5434

5417:                                             ; preds = %5412
  %5418 = load i32, ptr %123, align 4, !tbaa !5
  %5419 = call ptr @__errno_location() #10
  store i32 %5418, ptr %5419, align 4, !tbaa !5
  %5420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5421 = load i32, ptr @test_count, align 4, !tbaa !5
  %5422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5423 = load i32, ptr %5422, align 4, !tbaa !5
  %5424 = call ptr @s2n_strerror(i32 noundef %5423, ptr noundef @.str.4)
  %5425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5426 = load i32, ptr %5425, align 4, !tbaa !5
  %5427 = call ptr @s2n_strerror_debug(i32 noundef %5426, ptr noundef @.str.4)
  %5428 = call ptr @__errno_location() #10
  %5429 = load i32, ptr %5428, align 4, !tbaa !5
  %5430 = call ptr @strerror(i32 noundef %5429) #9
  %5431 = call ptr @__errno_location() #10
  %5432 = load i32, ptr %5431, align 4, !tbaa !5
  %5433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5420, ptr noundef @.str.2, i32 noundef %5421, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5424, ptr noundef %5427, ptr noundef %5430, i32 noundef %5432) #9
  br label %5451

5434:                                             ; preds = %5412, %5405
  %5435 = load i32, ptr %123, align 4, !tbaa !5
  %5436 = call ptr @__errno_location() #10
  store i32 %5435, ptr %5436, align 4, !tbaa !5
  %5437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5438 = load i32, ptr @test_count, align 4, !tbaa !5
  %5439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5440 = load i32, ptr %5439, align 4, !tbaa !5
  %5441 = call ptr @s2n_strerror(i32 noundef %5440, ptr noundef @.str.4)
  %5442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5443 = load i32, ptr %5442, align 4, !tbaa !5
  %5444 = call ptr @s2n_strerror_debug(i32 noundef %5443, ptr noundef @.str.4)
  %5445 = call ptr @__errno_location() #10
  %5446 = load i32, ptr %5445, align 4, !tbaa !5
  %5447 = call ptr @strerror(i32 noundef %5446) #9
  %5448 = call ptr @__errno_location() #10
  %5449 = load i32, ptr %5448, align 4, !tbaa !5
  %5450 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5437, ptr noundef @.str.5, i32 noundef %5438, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 250, ptr noundef %5441, ptr noundef %5444, ptr noundef %5447, i32 noundef %5449) #9
  br label %5451

5451:                                             ; preds = %5434, %5417
  call void @llvm.lifetime.end.p0(i64 4, ptr %123) #9
  br label %5452

5452:                                             ; preds = %5451
  br label %5453

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

5454:                                             ; No predecessors!
  br label %5455

5455:                                             ; preds = %5454
  br label %5456

5456:                                             ; preds = %5455, %5395
  br label %5457

5457:                                             ; preds = %5456
  br label %5458

5458:                                             ; preds = %5457
  br label %5459

5459:                                             ; preds = %5458
  %5460 = load i32, ptr @test_count, align 4, !tbaa !5
  %5461 = add nsw i32 %5460, 1
  store i32 %5461, ptr @test_count, align 4, !tbaa !5
  %5462 = load ptr, ptr %111, align 8, !tbaa !9
  %5463 = load i32, ptr %5462, align 8
  %5464 = lshr i32 %5463, 13
  %5465 = and i32 %5464, 1
  %5466 = icmp ne i32 %5465, 0
  br i1 %5466, label %5467, label %5520

5467:                                             ; preds = %5459
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  call void @llvm.lifetime.start.p0(i64 4, ptr %124) #9
  %5470 = call ptr @__errno_location() #10
  %5471 = load i32, ptr %5470, align 4, !tbaa !5
  store i32 %5471, ptr %124, align 4, !tbaa !5
  %5472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5473 = call i32 @s2n_print_stacktrace(ptr noundef %5472)
  %5474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5475 = trunc i8 %5474 to i1
  br i1 %5475, label %5476, label %5498

5476:                                             ; preds = %5469
  %5477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5478 = call i32 @fileno(ptr noundef %5477) #9
  %5479 = call i32 @isatty(i32 noundef %5478) #9
  %5480 = icmp ne i32 %5479, 0
  br i1 %5480, label %5481, label %5498

5481:                                             ; preds = %5476
  %5482 = load i32, ptr %124, align 4, !tbaa !5
  %5483 = call ptr @__errno_location() #10
  store i32 %5482, ptr %5483, align 4, !tbaa !5
  %5484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5485 = load i32, ptr @test_count, align 4, !tbaa !5
  %5486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5487 = load i32, ptr %5486, align 4, !tbaa !5
  %5488 = call ptr @s2n_strerror(i32 noundef %5487, ptr noundef @.str.4)
  %5489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5490 = load i32, ptr %5489, align 4, !tbaa !5
  %5491 = call ptr @s2n_strerror_debug(i32 noundef %5490, ptr noundef @.str.4)
  %5492 = call ptr @__errno_location() #10
  %5493 = load i32, ptr %5492, align 4, !tbaa !5
  %5494 = call ptr @strerror(i32 noundef %5493) #9
  %5495 = call ptr @__errno_location() #10
  %5496 = load i32, ptr %5495, align 4, !tbaa !5
  %5497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5484, ptr noundef @.str.2, i32 noundef %5485, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5488, ptr noundef %5491, ptr noundef %5494, i32 noundef %5496) #9
  br label %5515

5498:                                             ; preds = %5476, %5469
  %5499 = load i32, ptr %124, align 4, !tbaa !5
  %5500 = call ptr @__errno_location() #10
  store i32 %5499, ptr %5500, align 4, !tbaa !5
  %5501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5502 = load i32, ptr @test_count, align 4, !tbaa !5
  %5503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5504 = load i32, ptr %5503, align 4, !tbaa !5
  %5505 = call ptr @s2n_strerror(i32 noundef %5504, ptr noundef @.str.4)
  %5506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5507 = load i32, ptr %5506, align 4, !tbaa !5
  %5508 = call ptr @s2n_strerror_debug(i32 noundef %5507, ptr noundef @.str.4)
  %5509 = call ptr @__errno_location() #10
  %5510 = load i32, ptr %5509, align 4, !tbaa !5
  %5511 = call ptr @strerror(i32 noundef %5510) #9
  %5512 = call ptr @__errno_location() #10
  %5513 = load i32, ptr %5512, align 4, !tbaa !5
  %5514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5501, ptr noundef @.str.5, i32 noundef %5502, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5505, ptr noundef %5508, ptr noundef %5511, i32 noundef %5513) #9
  br label %5515

5515:                                             ; preds = %5498, %5481
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #9
  br label %5516

5516:                                             ; preds = %5515
  br label %5517

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

5518:                                             ; No predecessors!
  br label %5519

5519:                                             ; preds = %5518
  br label %5520

5520:                                             ; preds = %5519, %5459
  br label %5521

5521:                                             ; preds = %5520
  br label %5522

5522:                                             ; preds = %5521
  br label %5523

5523:                                             ; preds = %5522
  %5524 = load i32, ptr @test_count, align 4, !tbaa !5
  %5525 = add nsw i32 %5524, 1
  store i32 %5525, ptr @test_count, align 4, !tbaa !5
  %5526 = load ptr, ptr %111, align 8, !tbaa !9
  %5527 = call i32 @s2n_connection_free(ptr noundef %5526)
  %5528 = icmp eq i32 %5527, -1
  br i1 %5528, label %5529, label %5582

5529:                                             ; preds = %5523
  br label %5530

5530:                                             ; preds = %5529
  br label %5531

5531:                                             ; preds = %5530
  call void @llvm.lifetime.start.p0(i64 4, ptr %125) #9
  %5532 = call ptr @__errno_location() #10
  %5533 = load i32, ptr %5532, align 4, !tbaa !5
  store i32 %5533, ptr %125, align 4, !tbaa !5
  %5534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5535 = call i32 @s2n_print_stacktrace(ptr noundef %5534)
  %5536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5537 = trunc i8 %5536 to i1
  br i1 %5537, label %5538, label %5560

5538:                                             ; preds = %5531
  %5539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5540 = call i32 @fileno(ptr noundef %5539) #9
  %5541 = call i32 @isatty(i32 noundef %5540) #9
  %5542 = icmp ne i32 %5541, 0
  br i1 %5542, label %5543, label %5560

5543:                                             ; preds = %5538
  %5544 = load i32, ptr %125, align 4, !tbaa !5
  %5545 = call ptr @__errno_location() #10
  store i32 %5544, ptr %5545, align 4, !tbaa !5
  %5546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5547 = load i32, ptr @test_count, align 4, !tbaa !5
  %5548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5549 = load i32, ptr %5548, align 4, !tbaa !5
  %5550 = call ptr @s2n_strerror(i32 noundef %5549, ptr noundef @.str.4)
  %5551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5552 = load i32, ptr %5551, align 4, !tbaa !5
  %5553 = call ptr @s2n_strerror_debug(i32 noundef %5552, ptr noundef @.str.4)
  %5554 = call ptr @__errno_location() #10
  %5555 = load i32, ptr %5554, align 4, !tbaa !5
  %5556 = call ptr @strerror(i32 noundef %5555) #9
  %5557 = call ptr @__errno_location() #10
  %5558 = load i32, ptr %5557, align 4, !tbaa !5
  %5559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5546, ptr noundef @.str.2, i32 noundef %5547, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5550, ptr noundef %5553, ptr noundef %5556, i32 noundef %5558) #9
  br label %5577

5560:                                             ; preds = %5538, %5531
  %5561 = load i32, ptr %125, align 4, !tbaa !5
  %5562 = call ptr @__errno_location() #10
  store i32 %5561, ptr %5562, align 4, !tbaa !5
  %5563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5564 = load i32, ptr @test_count, align 4, !tbaa !5
  %5565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @s2n_strerror(i32 noundef %5566, ptr noundef @.str.4)
  %5568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call ptr @s2n_strerror_debug(i32 noundef %5569, ptr noundef @.str.4)
  %5571 = call ptr @__errno_location() #10
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call ptr @strerror(i32 noundef %5572) #9
  %5574 = call ptr @__errno_location() #10
  %5575 = load i32, ptr %5574, align 4, !tbaa !5
  %5576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5563, ptr noundef @.str.5, i32 noundef %5564, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5567, ptr noundef %5570, ptr noundef %5573, i32 noundef %5575) #9
  br label %5577

5577:                                             ; preds = %5560, %5543
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #9
  br label %5578

5578:                                             ; preds = %5577
  br label %5579

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

5580:                                             ; No predecessors!
  br label %5581

5581:                                             ; preds = %5580
  br label %5582

5582:                                             ; preds = %5581, %5523
  br label %5583

5583:                                             ; preds = %5582
  br label %5584

5584:                                             ; preds = %5583
  br label %5585

5585:                                             ; preds = %5584
  %5586 = load i32, ptr @test_count, align 4, !tbaa !5
  %5587 = add nsw i32 %5586, 1
  store i32 %5587, ptr @test_count, align 4, !tbaa !5
  %5588 = load ptr, ptr %114, align 8, !tbaa !9
  %5589 = call i32 @s2n_connection_free(ptr noundef %5588)
  %5590 = icmp eq i32 %5589, -1
  br i1 %5590, label %5591, label %5644

5591:                                             ; preds = %5585
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

5593:                                             ; preds = %5592
  call void @llvm.lifetime.start.p0(i64 4, ptr %126) #9
  %5594 = call ptr @__errno_location() #10
  %5595 = load i32, ptr %5594, align 4, !tbaa !5
  store i32 %5595, ptr %126, align 4, !tbaa !5
  %5596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5597 = call i32 @s2n_print_stacktrace(ptr noundef %5596)
  %5598 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5599 = trunc i8 %5598 to i1
  br i1 %5599, label %5600, label %5622

5600:                                             ; preds = %5593
  %5601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5602 = call i32 @fileno(ptr noundef %5601) #9
  %5603 = call i32 @isatty(i32 noundef %5602) #9
  %5604 = icmp ne i32 %5603, 0
  br i1 %5604, label %5605, label %5622

5605:                                             ; preds = %5600
  %5606 = load i32, ptr %126, align 4, !tbaa !5
  %5607 = call ptr @__errno_location() #10
  store i32 %5606, ptr %5607, align 4, !tbaa !5
  %5608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5609 = load i32, ptr @test_count, align 4, !tbaa !5
  %5610 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5611 = load i32, ptr %5610, align 4, !tbaa !5
  %5612 = call ptr @s2n_strerror(i32 noundef %5611, ptr noundef @.str.4)
  %5613 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5614 = load i32, ptr %5613, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror_debug(i32 noundef %5614, ptr noundef @.str.4)
  %5616 = call ptr @__errno_location() #10
  %5617 = load i32, ptr %5616, align 4, !tbaa !5
  %5618 = call ptr @strerror(i32 noundef %5617) #9
  %5619 = call ptr @__errno_location() #10
  %5620 = load i32, ptr %5619, align 4, !tbaa !5
  %5621 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5608, ptr noundef @.str.2, i32 noundef %5609, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5612, ptr noundef %5615, ptr noundef %5618, i32 noundef %5620) #9
  br label %5639

5622:                                             ; preds = %5600, %5593
  %5623 = load i32, ptr %126, align 4, !tbaa !5
  %5624 = call ptr @__errno_location() #10
  store i32 %5623, ptr %5624, align 4, !tbaa !5
  %5625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5626 = load i32, ptr @test_count, align 4, !tbaa !5
  %5627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5628 = load i32, ptr %5627, align 4, !tbaa !5
  %5629 = call ptr @s2n_strerror(i32 noundef %5628, ptr noundef @.str.4)
  %5630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5631 = load i32, ptr %5630, align 4, !tbaa !5
  %5632 = call ptr @s2n_strerror_debug(i32 noundef %5631, ptr noundef @.str.4)
  %5633 = call ptr @__errno_location() #10
  %5634 = load i32, ptr %5633, align 4, !tbaa !5
  %5635 = call ptr @strerror(i32 noundef %5634) #9
  %5636 = call ptr @__errno_location() #10
  %5637 = load i32, ptr %5636, align 4, !tbaa !5
  %5638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5625, ptr noundef @.str.5, i32 noundef %5626, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 254, ptr noundef %5629, ptr noundef %5632, ptr noundef %5635, i32 noundef %5637) #9
  br label %5639

5639:                                             ; preds = %5622, %5605
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #9
  br label %5640

5640:                                             ; preds = %5639
  br label %5641

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

5642:                                             ; No predecessors!
  br label %5643

5643:                                             ; preds = %5642
  br label %5644

5644:                                             ; preds = %5643, %5585
  br label %5645

5645:                                             ; preds = %5644
  br label %5646

5646:                                             ; preds = %5645
  br label %5647

5647:                                             ; preds = %5646
  %5648 = load i32, ptr @test_count, align 4, !tbaa !5
  %5649 = add nsw i32 %5648, 1
  store i32 %5649, ptr @test_count, align 4, !tbaa !5
  %5650 = load ptr, ptr %108, align 8, !tbaa !9
  %5651 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %5650)
  %5652 = icmp eq i32 %5651, -1
  br i1 %5652, label %5653, label %5706

5653:                                             ; preds = %5647
  br label %5654

5654:                                             ; preds = %5653
  br label %5655

5655:                                             ; preds = %5654
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #9
  %5656 = call ptr @__errno_location() #10
  %5657 = load i32, ptr %5656, align 4, !tbaa !5
  store i32 %5657, ptr %127, align 4, !tbaa !5
  %5658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5659 = call i32 @s2n_print_stacktrace(ptr noundef %5658)
  %5660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5661 = trunc i8 %5660 to i1
  br i1 %5661, label %5662, label %5684

5662:                                             ; preds = %5655
  %5663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5664 = call i32 @fileno(ptr noundef %5663) #9
  %5665 = call i32 @isatty(i32 noundef %5664) #9
  %5666 = icmp ne i32 %5665, 0
  br i1 %5666, label %5667, label %5684

5667:                                             ; preds = %5662
  %5668 = load i32, ptr %127, align 4, !tbaa !5
  %5669 = call ptr @__errno_location() #10
  store i32 %5668, ptr %5669, align 4, !tbaa !5
  %5670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5671 = load i32, ptr @test_count, align 4, !tbaa !5
  %5672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5673 = load i32, ptr %5672, align 4, !tbaa !5
  %5674 = call ptr @s2n_strerror(i32 noundef %5673, ptr noundef @.str.4)
  %5675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5676 = load i32, ptr %5675, align 4, !tbaa !5
  %5677 = call ptr @s2n_strerror_debug(i32 noundef %5676, ptr noundef @.str.4)
  %5678 = call ptr @__errno_location() #10
  %5679 = load i32, ptr %5678, align 4, !tbaa !5
  %5680 = call ptr @strerror(i32 noundef %5679) #9
  %5681 = call ptr @__errno_location() #10
  %5682 = load i32, ptr %5681, align 4, !tbaa !5
  %5683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5670, ptr noundef @.str.2, i32 noundef %5671, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5674, ptr noundef %5677, ptr noundef %5680, i32 noundef %5682) #9
  br label %5701

5684:                                             ; preds = %5662, %5655
  %5685 = load i32, ptr %127, align 4, !tbaa !5
  %5686 = call ptr @__errno_location() #10
  store i32 %5685, ptr %5686, align 4, !tbaa !5
  %5687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5688 = load i32, ptr @test_count, align 4, !tbaa !5
  %5689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5690 = load i32, ptr %5689, align 4, !tbaa !5
  %5691 = call ptr @s2n_strerror(i32 noundef %5690, ptr noundef @.str.4)
  %5692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5693 = load i32, ptr %5692, align 4, !tbaa !5
  %5694 = call ptr @s2n_strerror_debug(i32 noundef %5693, ptr noundef @.str.4)
  %5695 = call ptr @__errno_location() #10
  %5696 = load i32, ptr %5695, align 4, !tbaa !5
  %5697 = call ptr @strerror(i32 noundef %5696) #9
  %5698 = call ptr @__errno_location() #10
  %5699 = load i32, ptr %5698, align 4, !tbaa !5
  %5700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5687, ptr noundef @.str.5, i32 noundef %5688, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 255, ptr noundef %5691, ptr noundef %5694, ptr noundef %5697, i32 noundef %5699) #9
  br label %5701

5701:                                             ; preds = %5684, %5667
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #9
  br label %5702

5702:                                             ; preds = %5701
  br label %5703

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

5704:                                             ; No predecessors!
  br label %5705

5705:                                             ; preds = %5704
  br label %5706

5706:                                             ; preds = %5705, %5647
  br label %5707

5707:                                             ; preds = %5706
  br label %5708

5708:                                             ; preds = %5707
  br label %5709

5709:                                             ; preds = %5708
  %5710 = load i32, ptr @test_count, align 4, !tbaa !5
  %5711 = add nsw i32 %5710, 1
  store i32 %5711, ptr @test_count, align 4, !tbaa !5
  %5712 = call i32 @s2n_io_pair_close(ptr noundef %117)
  %5713 = icmp eq i32 %5712, -1
  br i1 %5713, label %5714, label %5767

5714:                                             ; preds = %5709
  br label %5715

5715:                                             ; preds = %5714
  br label %5716

5716:                                             ; preds = %5715
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #9
  %5717 = call ptr @__errno_location() #10
  %5718 = load i32, ptr %5717, align 4, !tbaa !5
  store i32 %5718, ptr %128, align 4, !tbaa !5
  %5719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5720 = call i32 @s2n_print_stacktrace(ptr noundef %5719)
  %5721 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5722 = trunc i8 %5721 to i1
  br i1 %5722, label %5723, label %5745

5723:                                             ; preds = %5716
  %5724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5725 = call i32 @fileno(ptr noundef %5724) #9
  %5726 = call i32 @isatty(i32 noundef %5725) #9
  %5727 = icmp ne i32 %5726, 0
  br i1 %5727, label %5728, label %5745

5728:                                             ; preds = %5723
  %5729 = load i32, ptr %128, align 4, !tbaa !5
  %5730 = call ptr @__errno_location() #10
  store i32 %5729, ptr %5730, align 4, !tbaa !5
  %5731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5732 = load i32, ptr @test_count, align 4, !tbaa !5
  %5733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5734 = load i32, ptr %5733, align 4, !tbaa !5
  %5735 = call ptr @s2n_strerror(i32 noundef %5734, ptr noundef @.str.4)
  %5736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5737 = load i32, ptr %5736, align 4, !tbaa !5
  %5738 = call ptr @s2n_strerror_debug(i32 noundef %5737, ptr noundef @.str.4)
  %5739 = call ptr @__errno_location() #10
  %5740 = load i32, ptr %5739, align 4, !tbaa !5
  %5741 = call ptr @strerror(i32 noundef %5740) #9
  %5742 = call ptr @__errno_location() #10
  %5743 = load i32, ptr %5742, align 4, !tbaa !5
  %5744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5731, ptr noundef @.str.2, i32 noundef %5732, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5735, ptr noundef %5738, ptr noundef %5741, i32 noundef %5743) #9
  br label %5762

5745:                                             ; preds = %5723, %5716
  %5746 = load i32, ptr %128, align 4, !tbaa !5
  %5747 = call ptr @__errno_location() #10
  store i32 %5746, ptr %5747, align 4, !tbaa !5
  %5748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5749 = load i32, ptr @test_count, align 4, !tbaa !5
  %5750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5751 = load i32, ptr %5750, align 4, !tbaa !5
  %5752 = call ptr @s2n_strerror(i32 noundef %5751, ptr noundef @.str.4)
  %5753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5754 = load i32, ptr %5753, align 4, !tbaa !5
  %5755 = call ptr @s2n_strerror_debug(i32 noundef %5754, ptr noundef @.str.4)
  %5756 = call ptr @__errno_location() #10
  %5757 = load i32, ptr %5756, align 4, !tbaa !5
  %5758 = call ptr @strerror(i32 noundef %5757) #9
  %5759 = call ptr @__errno_location() #10
  %5760 = load i32, ptr %5759, align 4, !tbaa !5
  %5761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5748, ptr noundef @.str.5, i32 noundef %5749, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 256, ptr noundef %5752, ptr noundef %5755, ptr noundef %5758, i32 noundef %5760) #9
  br label %5762

5762:                                             ; preds = %5745, %5728
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #9
  br label %5763

5763:                                             ; preds = %5762
  br label %5764

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

5765:                                             ; No predecessors!
  br label %5766

5766:                                             ; preds = %5765
  br label %5767

5767:                                             ; preds = %5766, %5709
  br label %5768

5768:                                             ; preds = %5767
  br label %5769

5769:                                             ; preds = %5768
  br label %5770

5770:                                             ; preds = %5769
  %5771 = load i32, ptr @test_count, align 4, !tbaa !5
  %5772 = add nsw i32 %5771, 1
  store i32 %5772, ptr @test_count, align 4, !tbaa !5
  %5773 = load ptr, ptr %104, align 8, !tbaa !9
  %5774 = call i32 @s2n_config_free(ptr noundef %5773)
  %5775 = icmp eq i32 %5774, -1
  br i1 %5775, label %5776, label %5829

5776:                                             ; preds = %5770
  br label %5777

5777:                                             ; preds = %5776
  br label %5778

5778:                                             ; preds = %5777
  call void @llvm.lifetime.start.p0(i64 4, ptr %129) #9
  %5779 = call ptr @__errno_location() #10
  %5780 = load i32, ptr %5779, align 4, !tbaa !5
  store i32 %5780, ptr %129, align 4, !tbaa !5
  %5781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5782 = call i32 @s2n_print_stacktrace(ptr noundef %5781)
  %5783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5784 = trunc i8 %5783 to i1
  br i1 %5784, label %5785, label %5807

5785:                                             ; preds = %5778
  %5786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5787 = call i32 @fileno(ptr noundef %5786) #9
  %5788 = call i32 @isatty(i32 noundef %5787) #9
  %5789 = icmp ne i32 %5788, 0
  br i1 %5789, label %5790, label %5807

5790:                                             ; preds = %5785
  %5791 = load i32, ptr %129, align 4, !tbaa !5
  %5792 = call ptr @__errno_location() #10
  store i32 %5791, ptr %5792, align 4, !tbaa !5
  %5793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5794 = load i32, ptr @test_count, align 4, !tbaa !5
  %5795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5796 = load i32, ptr %5795, align 4, !tbaa !5
  %5797 = call ptr @s2n_strerror(i32 noundef %5796, ptr noundef @.str.4)
  %5798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5799 = load i32, ptr %5798, align 4, !tbaa !5
  %5800 = call ptr @s2n_strerror_debug(i32 noundef %5799, ptr noundef @.str.4)
  %5801 = call ptr @__errno_location() #10
  %5802 = load i32, ptr %5801, align 4, !tbaa !5
  %5803 = call ptr @strerror(i32 noundef %5802) #9
  %5804 = call ptr @__errno_location() #10
  %5805 = load i32, ptr %5804, align 4, !tbaa !5
  %5806 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5793, ptr noundef @.str.2, i32 noundef %5794, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 257, ptr noundef %5797, ptr noundef %5800, ptr noundef %5803, i32 noundef %5805) #9
  br label %5824

5807:                                             ; preds = %5785, %5778
  %5808 = load i32, ptr %129, align 4, !tbaa !5
  %5809 = call ptr @__errno_location() #10
  store i32 %5808, ptr %5809, align 4, !tbaa !5
  %5810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5811 = load i32, ptr @test_count, align 4, !tbaa !5
  %5812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5813 = load i32, ptr %5812, align 4, !tbaa !5
  %5814 = call ptr @s2n_strerror(i32 noundef %5813, ptr noundef @.str.4)
  %5815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5816 = load i32, ptr %5815, align 4, !tbaa !5
  %5817 = call ptr @s2n_strerror_debug(i32 noundef %5816, ptr noundef @.str.4)
  %5818 = call ptr @__errno_location() #10
  %5819 = load i32, ptr %5818, align 4, !tbaa !5
  %5820 = call ptr @strerror(i32 noundef %5819) #9
  %5821 = call ptr @__errno_location() #10
  %5822 = load i32, ptr %5821, align 4, !tbaa !5
  %5823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5810, ptr noundef @.str.5, i32 noundef %5811, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 257, ptr noundef %5814, ptr noundef %5817, ptr noundef %5820, i32 noundef %5822) #9
  br label %5824

5824:                                             ; preds = %5807, %5790
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #9
  br label %5825

5825:                                             ; preds = %5824
  br label %5826

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

5827:                                             ; No predecessors!
  br label %5828

5828:                                             ; preds = %5827
  br label %5829

5829:                                             ; preds = %5828, %5770
  br label %5830

5830:                                             ; preds = %5829
  br label %5831

5831:                                             ; preds = %5830
  call void @llvm.lifetime.end.p0(i64 8, ptr %117) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %111) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %108) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %104) #9
  call void @llvm.lifetime.start.p0(i64 8, ptr %130) #9
  %5832 = call ptr @s2n_config_new()
  store ptr %5832, ptr %130, align 8, !tbaa !9
  br label %5833

5833:                                             ; preds = %5831
  %5834 = load i32, ptr @test_count, align 4, !tbaa !5
  %5835 = add nsw i32 %5834, 1
  store i32 %5835, ptr @test_count, align 4, !tbaa !5
  %5836 = load ptr, ptr %130, align 8, !tbaa !9
  %5837 = icmp eq ptr %5836, null
  br i1 %5837, label %5838, label %5891

5838:                                             ; preds = %5833
  br label %5839

5839:                                             ; preds = %5838
  br label %5840

5840:                                             ; preds = %5839
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #9
  %5841 = call ptr @__errno_location() #10
  %5842 = load i32, ptr %5841, align 4, !tbaa !5
  store i32 %5842, ptr %131, align 4, !tbaa !5
  %5843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5844 = call i32 @s2n_print_stacktrace(ptr noundef %5843)
  %5845 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5846 = trunc i8 %5845 to i1
  br i1 %5846, label %5847, label %5869

5847:                                             ; preds = %5840
  %5848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5849 = call i32 @fileno(ptr noundef %5848) #9
  %5850 = call i32 @isatty(i32 noundef %5849) #9
  %5851 = icmp ne i32 %5850, 0
  br i1 %5851, label %5852, label %5869

5852:                                             ; preds = %5847
  %5853 = load i32, ptr %131, align 4, !tbaa !5
  %5854 = call ptr @__errno_location() #10
  store i32 %5853, ptr %5854, align 4, !tbaa !5
  %5855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5856 = load i32, ptr @test_count, align 4, !tbaa !5
  %5857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5858 = load i32, ptr %5857, align 4, !tbaa !5
  %5859 = call ptr @s2n_strerror(i32 noundef %5858, ptr noundef @.str.4)
  %5860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5861 = load i32, ptr %5860, align 4, !tbaa !5
  %5862 = call ptr @s2n_strerror_debug(i32 noundef %5861, ptr noundef @.str.4)
  %5863 = call ptr @__errno_location() #10
  %5864 = load i32, ptr %5863, align 4, !tbaa !5
  %5865 = call ptr @strerror(i32 noundef %5864) #9
  %5866 = call ptr @__errno_location() #10
  %5867 = load i32, ptr %5866, align 4, !tbaa !5
  %5868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5855, ptr noundef @.str.2, i32 noundef %5856, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5859, ptr noundef %5862, ptr noundef %5865, i32 noundef %5867) #9
  br label %5886

5869:                                             ; preds = %5847, %5840
  %5870 = load i32, ptr %131, align 4, !tbaa !5
  %5871 = call ptr @__errno_location() #10
  store i32 %5870, ptr %5871, align 4, !tbaa !5
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = load i32, ptr @test_count, align 4, !tbaa !5
  %5874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5875 = load i32, ptr %5874, align 4, !tbaa !5
  %5876 = call ptr @s2n_strerror(i32 noundef %5875, ptr noundef @.str.4)
  %5877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror_debug(i32 noundef %5878, ptr noundef @.str.4)
  %5880 = call ptr @__errno_location() #10
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @strerror(i32 noundef %5881) #9
  %5883 = call ptr @__errno_location() #10
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5872, ptr noundef @.str.5, i32 noundef %5873, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 263, ptr noundef %5876, ptr noundef %5879, ptr noundef %5882, i32 noundef %5884) #9
  br label %5886

5886:                                             ; preds = %5869, %5852
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #9
  br label %5887

5887:                                             ; preds = %5886
  br label %5888

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

5889:                                             ; No predecessors!
  br label %5890

5890:                                             ; preds = %5889
  br label %5891

5891:                                             ; preds = %5890, %5833
  br label %5892

5892:                                             ; preds = %5891
  br label %5893

5893:                                             ; preds = %5892
  br label %5894

5894:                                             ; preds = %5893
  %5895 = load i32, ptr @test_count, align 4, !tbaa !5
  %5896 = add nsw i32 %5895, 1
  store i32 %5896, ptr @test_count, align 4, !tbaa !5
  %5897 = load ptr, ptr %130, align 8, !tbaa !9
  %5898 = call i32 @s2n_config_set_cipher_preferences(ptr noundef %5897, ptr noundef @.str.28)
  %5899 = icmp eq i32 %5898, -1
  br i1 %5899, label %5900, label %5953

5900:                                             ; preds = %5894
  br label %5901

5901:                                             ; preds = %5900
  br label %5902

5902:                                             ; preds = %5901
  call void @llvm.lifetime.start.p0(i64 4, ptr %132) #9
  %5903 = call ptr @__errno_location() #10
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  store i32 %5904, ptr %132, align 4, !tbaa !5
  %5905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5906 = call i32 @s2n_print_stacktrace(ptr noundef %5905)
  %5907 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5908 = trunc i8 %5907 to i1
  br i1 %5908, label %5909, label %5931

5909:                                             ; preds = %5902
  %5910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5911 = call i32 @fileno(ptr noundef %5910) #9
  %5912 = call i32 @isatty(i32 noundef %5911) #9
  %5913 = icmp ne i32 %5912, 0
  br i1 %5913, label %5914, label %5931

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

5931:                                             ; preds = %5909, %5902
  %5932 = load i32, ptr %132, align 4, !tbaa !5
  %5933 = call ptr @__errno_location() #10
  store i32 %5932, ptr %5933, align 4, !tbaa !5
  %5934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5935 = load i32, ptr @test_count, align 4, !tbaa !5
  %5936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5937 = load i32, ptr %5936, align 4, !tbaa !5
  %5938 = call ptr @s2n_strerror(i32 noundef %5937, ptr noundef @.str.4)
  %5939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5940 = load i32, ptr %5939, align 4, !tbaa !5
  %5941 = call ptr @s2n_strerror_debug(i32 noundef %5940, ptr noundef @.str.4)
  %5942 = call ptr @__errno_location() #10
  %5943 = load i32, ptr %5942, align 4, !tbaa !5
  %5944 = call ptr @strerror(i32 noundef %5943) #9
  %5945 = call ptr @__errno_location() #10
  %5946 = load i32, ptr %5945, align 4, !tbaa !5
  %5947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5934, ptr noundef @.str.5, i32 noundef %5935, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 265, ptr noundef %5938, ptr noundef %5941, ptr noundef %5944, i32 noundef %5946) #9
  br label %5948

5948:                                             ; preds = %5931, %5914
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #9
  br label %5949

5949:                                             ; preds = %5948
  br label %5950

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

5951:                                             ; No predecessors!
  br label %5952

5952:                                             ; preds = %5951
  br label %5953

5953:                                             ; preds = %5952, %5894
  br label %5954

5954:                                             ; preds = %5953
  br label %5955

5955:                                             ; preds = %5954
  br label %5956

5956:                                             ; preds = %5955
  %5957 = load i32, ptr @test_count, align 4, !tbaa !5
  %5958 = add nsw i32 %5957, 1
  store i32 %5958, ptr @test_count, align 4, !tbaa !5
  %5959 = load ptr, ptr %130, align 8, !tbaa !9
  %5960 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef %5959)
  %5961 = icmp eq i32 %5960, -1
  br i1 %5961, label %5962, label %6015

5962:                                             ; preds = %5956
  br label %5963

5963:                                             ; preds = %5962
  br label %5964

5964:                                             ; preds = %5963
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #9
  %5965 = call ptr @__errno_location() #10
  %5966 = load i32, ptr %5965, align 4, !tbaa !5
  store i32 %5966, ptr %133, align 4, !tbaa !5
  %5967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5968 = call i32 @s2n_print_stacktrace(ptr noundef %5967)
  %5969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5970 = trunc i8 %5969 to i1
  br i1 %5970, label %5971, label %5993

5971:                                             ; preds = %5964
  %5972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5973 = call i32 @fileno(ptr noundef %5972) #9
  %5974 = call i32 @isatty(i32 noundef %5973) #9
  %5975 = icmp ne i32 %5974, 0
  br i1 %5975, label %5976, label %5993

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

5993:                                             ; preds = %5971, %5964
  %5994 = load i32, ptr %133, align 4, !tbaa !5
  %5995 = call ptr @__errno_location() #10
  store i32 %5994, ptr %5995, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = load i32, ptr @test_count, align 4, !tbaa !5
  %5998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5999 = load i32, ptr %5998, align 4, !tbaa !5
  %6000 = call ptr @s2n_strerror(i32 noundef %5999, ptr noundef @.str.4)
  %6001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6002 = load i32, ptr %6001, align 4, !tbaa !5
  %6003 = call ptr @s2n_strerror_debug(i32 noundef %6002, ptr noundef @.str.4)
  %6004 = call ptr @__errno_location() #10
  %6005 = load i32, ptr %6004, align 4, !tbaa !5
  %6006 = call ptr @strerror(i32 noundef %6005) #9
  %6007 = call ptr @__errno_location() #10
  %6008 = load i32, ptr %6007, align 4, !tbaa !5
  %6009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5996, ptr noundef @.str.5, i32 noundef %5997, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6000, ptr noundef %6003, ptr noundef %6006, i32 noundef %6008) #9
  br label %6010

6010:                                             ; preds = %5993, %5976
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #9
  br label %6011

6011:                                             ; preds = %6010
  br label %6012

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

6013:                                             ; No predecessors!
  br label %6014

6014:                                             ; preds = %6013
  br label %6015

6015:                                             ; preds = %6014, %5956
  br label %6016

6016:                                             ; preds = %6015
  br label %6017

6017:                                             ; preds = %6016
  call void @llvm.lifetime.start.p0(i64 8, ptr %134) #9
  store ptr null, ptr %134, align 8, !tbaa !9
  br label %6018

6018:                                             ; preds = %6017
  %6019 = load i32, ptr @test_count, align 4, !tbaa !5
  %6020 = add nsw i32 %6019, 1
  store i32 %6020, ptr @test_count, align 4, !tbaa !5
  %6021 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef %134, ptr noundef @.str.31, ptr noundef @.str.32)
  %6022 = icmp eq i32 %6021, -1
  br i1 %6022, label %6023, label %6076

6023:                                             ; preds = %6018
  br label %6024

6024:                                             ; preds = %6023
  br label %6025

6025:                                             ; preds = %6024
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #9
  %6026 = call ptr @__errno_location() #10
  %6027 = load i32, ptr %6026, align 4, !tbaa !5
  store i32 %6027, ptr %135, align 4, !tbaa !5
  %6028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6029 = call i32 @s2n_print_stacktrace(ptr noundef %6028)
  %6030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6031 = trunc i8 %6030 to i1
  br i1 %6031, label %6032, label %6054

6032:                                             ; preds = %6025
  %6033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6034 = call i32 @fileno(ptr noundef %6033) #9
  %6035 = call i32 @isatty(i32 noundef %6034) #9
  %6036 = icmp ne i32 %6035, 0
  br i1 %6036, label %6037, label %6054

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

6054:                                             ; preds = %6032, %6025
  %6055 = load i32, ptr %135, align 4, !tbaa !5
  %6056 = call ptr @__errno_location() #10
  store i32 %6055, ptr %6056, align 4, !tbaa !5
  %6057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6058 = load i32, ptr @test_count, align 4, !tbaa !5
  %6059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6060 = load i32, ptr %6059, align 4, !tbaa !5
  %6061 = call ptr @s2n_strerror(i32 noundef %6060, ptr noundef @.str.4)
  %6062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6063 = load i32, ptr %6062, align 4, !tbaa !5
  %6064 = call ptr @s2n_strerror_debug(i32 noundef %6063, ptr noundef @.str.4)
  %6065 = call ptr @__errno_location() #10
  %6066 = load i32, ptr %6065, align 4, !tbaa !5
  %6067 = call ptr @strerror(i32 noundef %6066) #9
  %6068 = call ptr @__errno_location() #10
  %6069 = load i32, ptr %6068, align 4, !tbaa !5
  %6070 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6057, ptr noundef @.str.5, i32 noundef %6058, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 269, ptr noundef %6061, ptr noundef %6064, ptr noundef %6067, i32 noundef %6069) #9
  br label %6071

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

6072:                                             ; preds = %6071
  br label %6073

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

6074:                                             ; No predecessors!
  br label %6075

6075:                                             ; preds = %6074
  br label %6076

6076:                                             ; preds = %6075, %6018
  br label %6077

6077:                                             ; preds = %6076
  br label %6078

6078:                                             ; preds = %6077
  br label %6079

6079:                                             ; preds = %6078
  %6080 = load i32, ptr @test_count, align 4, !tbaa !5
  %6081 = add nsw i32 %6080, 1
  store i32 %6081, ptr @test_count, align 4, !tbaa !5
  %6082 = load ptr, ptr %130, align 8, !tbaa !9
  %6083 = load ptr, ptr %134, align 8, !tbaa !9
  %6084 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef %6082, ptr noundef %6083)
  %6085 = icmp eq i32 %6084, -1
  br i1 %6085, label %6086, label %6139

6086:                                             ; preds = %6079
  br label %6087

6087:                                             ; preds = %6086
  br label %6088

6088:                                             ; preds = %6087
  call void @llvm.lifetime.start.p0(i64 4, ptr %136) #9
  %6089 = call ptr @__errno_location() #10
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  store i32 %6090, ptr %136, align 4, !tbaa !5
  %6091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6092 = call i32 @s2n_print_stacktrace(ptr noundef %6091)
  %6093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6094 = trunc i8 %6093 to i1
  br i1 %6094, label %6095, label %6117

6095:                                             ; preds = %6088
  %6096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6097 = call i32 @fileno(ptr noundef %6096) #9
  %6098 = call i32 @isatty(i32 noundef %6097) #9
  %6099 = icmp ne i32 %6098, 0
  br i1 %6099, label %6100, label %6117

6100:                                             ; preds = %6095
  %6101 = load i32, ptr %136, align 4, !tbaa !5
  %6102 = call ptr @__errno_location() #10
  store i32 %6101, ptr %6102, align 4, !tbaa !5
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = load i32, ptr @test_count, align 4, !tbaa !5
  %6105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6106 = load i32, ptr %6105, align 4, !tbaa !5
  %6107 = call ptr @s2n_strerror(i32 noundef %6106, ptr noundef @.str.4)
  %6108 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6109 = load i32, ptr %6108, align 4, !tbaa !5
  %6110 = call ptr @s2n_strerror_debug(i32 noundef %6109, ptr noundef @.str.4)
  %6111 = call ptr @__errno_location() #10
  %6112 = load i32, ptr %6111, align 4, !tbaa !5
  %6113 = call ptr @strerror(i32 noundef %6112) #9
  %6114 = call ptr @__errno_location() #10
  %6115 = load i32, ptr %6114, align 4, !tbaa !5
  %6116 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6103, ptr noundef @.str.2, i32 noundef %6104, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6107, ptr noundef %6110, ptr noundef %6113, i32 noundef %6115) #9
  br label %6134

6117:                                             ; preds = %6095, %6088
  %6118 = load i32, ptr %136, align 4, !tbaa !5
  %6119 = call ptr @__errno_location() #10
  store i32 %6118, ptr %6119, align 4, !tbaa !5
  %6120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6121 = load i32, ptr @test_count, align 4, !tbaa !5
  %6122 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6123 = load i32, ptr %6122, align 4, !tbaa !5
  %6124 = call ptr @s2n_strerror(i32 noundef %6123, ptr noundef @.str.4)
  %6125 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6126 = load i32, ptr %6125, align 4, !tbaa !5
  %6127 = call ptr @s2n_strerror_debug(i32 noundef %6126, ptr noundef @.str.4)
  %6128 = call ptr @__errno_location() #10
  %6129 = load i32, ptr %6128, align 4, !tbaa !5
  %6130 = call ptr @strerror(i32 noundef %6129) #9
  %6131 = call ptr @__errno_location() #10
  %6132 = load i32, ptr %6131, align 4, !tbaa !5
  %6133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6120, ptr noundef @.str.5, i32 noundef %6121, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6124, ptr noundef %6127, ptr noundef %6130, i32 noundef %6132) #9
  br label %6134

6134:                                             ; preds = %6117, %6100
  call void @llvm.lifetime.end.p0(i64 4, ptr %136) #9
  br label %6135

6135:                                             ; preds = %6134
  br label %6136

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

6137:                                             ; No predecessors!
  br label %6138

6138:                                             ; preds = %6137
  br label %6139

6139:                                             ; preds = %6138, %6079
  br label %6140

6140:                                             ; preds = %6139
  br label %6141

6141:                                             ; preds = %6140
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #9
  %6142 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %6142, ptr %137, align 8, !tbaa !9
  br label %6143

6143:                                             ; preds = %6141
  %6144 = load i32, ptr @test_count, align 4, !tbaa !5
  %6145 = add nsw i32 %6144, 1
  store i32 %6145, ptr @test_count, align 4, !tbaa !5
  %6146 = load ptr, ptr %137, align 8, !tbaa !9
  %6147 = icmp eq ptr %6146, null
  br i1 %6147, label %6148, label %6201

6148:                                             ; preds = %6143
  br label %6149

6149:                                             ; preds = %6148
  br label %6150

6150:                                             ; preds = %6149
  call void @llvm.lifetime.start.p0(i64 4, ptr %138) #9
  %6151 = call ptr @__errno_location() #10
  %6152 = load i32, ptr %6151, align 4, !tbaa !5
  store i32 %6152, ptr %138, align 4, !tbaa !5
  %6153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6154 = call i32 @s2n_print_stacktrace(ptr noundef %6153)
  %6155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6156 = trunc i8 %6155 to i1
  br i1 %6156, label %6157, label %6179

6157:                                             ; preds = %6150
  %6158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6159 = call i32 @fileno(ptr noundef %6158) #9
  %6160 = call i32 @isatty(i32 noundef %6159) #9
  %6161 = icmp ne i32 %6160, 0
  br i1 %6161, label %6162, label %6179

6162:                                             ; preds = %6157
  %6163 = load i32, ptr %138, align 4, !tbaa !5
  %6164 = call ptr @__errno_location() #10
  store i32 %6163, ptr %6164, align 4, !tbaa !5
  %6165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6166 = load i32, ptr @test_count, align 4, !tbaa !5
  %6167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6168 = load i32, ptr %6167, align 4, !tbaa !5
  %6169 = call ptr @s2n_strerror(i32 noundef %6168, ptr noundef @.str.4)
  %6170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6171 = load i32, ptr %6170, align 4, !tbaa !5
  %6172 = call ptr @s2n_strerror_debug(i32 noundef %6171, ptr noundef @.str.4)
  %6173 = call ptr @__errno_location() #10
  %6174 = load i32, ptr %6173, align 4, !tbaa !5
  %6175 = call ptr @strerror(i32 noundef %6174) #9
  %6176 = call ptr @__errno_location() #10
  %6177 = load i32, ptr %6176, align 4, !tbaa !5
  %6178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6165, ptr noundef @.str.2, i32 noundef %6166, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6169, ptr noundef %6172, ptr noundef %6175, i32 noundef %6177) #9
  br label %6196

6179:                                             ; preds = %6157, %6150
  %6180 = load i32, ptr %138, align 4, !tbaa !5
  %6181 = call ptr @__errno_location() #10
  store i32 %6180, ptr %6181, align 4, !tbaa !5
  %6182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6183 = load i32, ptr @test_count, align 4, !tbaa !5
  %6184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6185 = load i32, ptr %6184, align 4, !tbaa !5
  %6186 = call ptr @s2n_strerror(i32 noundef %6185, ptr noundef @.str.4)
  %6187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6188 = load i32, ptr %6187, align 4, !tbaa !5
  %6189 = call ptr @s2n_strerror_debug(i32 noundef %6188, ptr noundef @.str.4)
  %6190 = call ptr @__errno_location() #10
  %6191 = load i32, ptr %6190, align 4, !tbaa !5
  %6192 = call ptr @strerror(i32 noundef %6191) #9
  %6193 = call ptr @__errno_location() #10
  %6194 = load i32, ptr %6193, align 4, !tbaa !5
  %6195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6182, ptr noundef @.str.5, i32 noundef %6183, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 273, ptr noundef %6186, ptr noundef %6189, ptr noundef %6192, i32 noundef %6194) #9
  br label %6196

6196:                                             ; preds = %6179, %6162
  call void @llvm.lifetime.end.p0(i64 4, ptr %138) #9
  br label %6197

6197:                                             ; preds = %6196
  br label %6198

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

6199:                                             ; No predecessors!
  br label %6200

6200:                                             ; preds = %6199
  br label %6201

6201:                                             ; preds = %6200, %6143
  br label %6202

6202:                                             ; preds = %6201
  br label %6203

6203:                                             ; preds = %6202
  br label %6204

6204:                                             ; preds = %6203
  %6205 = load i32, ptr @test_count, align 4, !tbaa !5
  %6206 = add nsw i32 %6205, 1
  store i32 %6206, ptr @test_count, align 4, !tbaa !5
  %6207 = load ptr, ptr %137, align 8, !tbaa !9
  %6208 = load ptr, ptr %130, align 8, !tbaa !9
  %6209 = call i32 @s2n_connection_set_config(ptr noundef %6207, ptr noundef %6208)
  %6210 = icmp eq i32 %6209, -1
  br i1 %6210, label %6211, label %6264

6211:                                             ; preds = %6204
  br label %6212

6212:                                             ; preds = %6211
  br label %6213

6213:                                             ; preds = %6212
  call void @llvm.lifetime.start.p0(i64 4, ptr %139) #9
  %6214 = call ptr @__errno_location() #10
  %6215 = load i32, ptr %6214, align 4, !tbaa !5
  store i32 %6215, ptr %139, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = call i32 @s2n_print_stacktrace(ptr noundef %6216)
  %6218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6219 = trunc i8 %6218 to i1
  br i1 %6219, label %6220, label %6242

6220:                                             ; preds = %6213
  %6221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6222 = call i32 @fileno(ptr noundef %6221) #9
  %6223 = call i32 @isatty(i32 noundef %6222) #9
  %6224 = icmp ne i32 %6223, 0
  br i1 %6224, label %6225, label %6242

6225:                                             ; preds = %6220
  %6226 = load i32, ptr %139, align 4, !tbaa !5
  %6227 = call ptr @__errno_location() #10
  store i32 %6226, ptr %6227, align 4, !tbaa !5
  %6228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6229 = load i32, ptr @test_count, align 4, !tbaa !5
  %6230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6231 = load i32, ptr %6230, align 4, !tbaa !5
  %6232 = call ptr @s2n_strerror(i32 noundef %6231, ptr noundef @.str.4)
  %6233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6234 = load i32, ptr %6233, align 4, !tbaa !5
  %6235 = call ptr @s2n_strerror_debug(i32 noundef %6234, ptr noundef @.str.4)
  %6236 = call ptr @__errno_location() #10
  %6237 = load i32, ptr %6236, align 4, !tbaa !5
  %6238 = call ptr @strerror(i32 noundef %6237) #9
  %6239 = call ptr @__errno_location() #10
  %6240 = load i32, ptr %6239, align 4, !tbaa !5
  %6241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6228, ptr noundef @.str.2, i32 noundef %6229, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6232, ptr noundef %6235, ptr noundef %6238, i32 noundef %6240) #9
  br label %6259

6242:                                             ; preds = %6220, %6213
  %6243 = load i32, ptr %139, align 4, !tbaa !5
  %6244 = call ptr @__errno_location() #10
  store i32 %6243, ptr %6244, align 4, !tbaa !5
  %6245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6246 = load i32, ptr @test_count, align 4, !tbaa !5
  %6247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6248 = load i32, ptr %6247, align 4, !tbaa !5
  %6249 = call ptr @s2n_strerror(i32 noundef %6248, ptr noundef @.str.4)
  %6250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6251 = load i32, ptr %6250, align 4, !tbaa !5
  %6252 = call ptr @s2n_strerror_debug(i32 noundef %6251, ptr noundef @.str.4)
  %6253 = call ptr @__errno_location() #10
  %6254 = load i32, ptr %6253, align 4, !tbaa !5
  %6255 = call ptr @strerror(i32 noundef %6254) #9
  %6256 = call ptr @__errno_location() #10
  %6257 = load i32, ptr %6256, align 4, !tbaa !5
  %6258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6245, ptr noundef @.str.5, i32 noundef %6246, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 274, ptr noundef %6249, ptr noundef %6252, ptr noundef %6255, i32 noundef %6257) #9
  br label %6259

6259:                                             ; preds = %6242, %6225
  call void @llvm.lifetime.end.p0(i64 4, ptr %139) #9
  br label %6260

6260:                                             ; preds = %6259
  br label %6261

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

6262:                                             ; No predecessors!
  br label %6263

6263:                                             ; preds = %6262
  br label %6264

6264:                                             ; preds = %6263, %6204
  br label %6265

6265:                                             ; preds = %6264
  br label %6266

6266:                                             ; preds = %6265
  call void @llvm.lifetime.start.p0(i64 8, ptr %140) #9
  %6267 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %6267, ptr %140, align 8, !tbaa !9
  br label %6268

6268:                                             ; preds = %6266
  %6269 = load i32, ptr @test_count, align 4, !tbaa !5
  %6270 = add nsw i32 %6269, 1
  store i32 %6270, ptr @test_count, align 4, !tbaa !5
  %6271 = load ptr, ptr %140, align 8, !tbaa !9
  %6272 = icmp eq ptr %6271, null
  br i1 %6272, label %6273, label %6326

6273:                                             ; preds = %6268
  br label %6274

6274:                                             ; preds = %6273
  br label %6275

6275:                                             ; preds = %6274
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #9
  %6276 = call ptr @__errno_location() #10
  %6277 = load i32, ptr %6276, align 4, !tbaa !5
  store i32 %6277, ptr %141, align 4, !tbaa !5
  %6278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6279 = call i32 @s2n_print_stacktrace(ptr noundef %6278)
  %6280 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6281 = trunc i8 %6280 to i1
  br i1 %6281, label %6282, label %6304

6282:                                             ; preds = %6275
  %6283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6284 = call i32 @fileno(ptr noundef %6283) #9
  %6285 = call i32 @isatty(i32 noundef %6284) #9
  %6286 = icmp ne i32 %6285, 0
  br i1 %6286, label %6287, label %6304

6287:                                             ; preds = %6282
  %6288 = load i32, ptr %141, align 4, !tbaa !5
  %6289 = call ptr @__errno_location() #10
  store i32 %6288, ptr %6289, align 4, !tbaa !5
  %6290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6291 = load i32, ptr @test_count, align 4, !tbaa !5
  %6292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call ptr @s2n_strerror(i32 noundef %6293, ptr noundef @.str.4)
  %6295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6296 = load i32, ptr %6295, align 4, !tbaa !5
  %6297 = call ptr @s2n_strerror_debug(i32 noundef %6296, ptr noundef @.str.4)
  %6298 = call ptr @__errno_location() #10
  %6299 = load i32, ptr %6298, align 4, !tbaa !5
  %6300 = call ptr @strerror(i32 noundef %6299) #9
  %6301 = call ptr @__errno_location() #10
  %6302 = load i32, ptr %6301, align 4, !tbaa !5
  %6303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6290, ptr noundef @.str.2, i32 noundef %6291, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6294, ptr noundef %6297, ptr noundef %6300, i32 noundef %6302) #9
  br label %6321

6304:                                             ; preds = %6282, %6275
  %6305 = load i32, ptr %141, align 4, !tbaa !5
  %6306 = call ptr @__errno_location() #10
  store i32 %6305, ptr %6306, align 4, !tbaa !5
  %6307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6308 = load i32, ptr @test_count, align 4, !tbaa !5
  %6309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6310 = load i32, ptr %6309, align 4, !tbaa !5
  %6311 = call ptr @s2n_strerror(i32 noundef %6310, ptr noundef @.str.4)
  %6312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6313 = load i32, ptr %6312, align 4, !tbaa !5
  %6314 = call ptr @s2n_strerror_debug(i32 noundef %6313, ptr noundef @.str.4)
  %6315 = call ptr @__errno_location() #10
  %6316 = load i32, ptr %6315, align 4, !tbaa !5
  %6317 = call ptr @strerror(i32 noundef %6316) #9
  %6318 = call ptr @__errno_location() #10
  %6319 = load i32, ptr %6318, align 4, !tbaa !5
  %6320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6307, ptr noundef @.str.5, i32 noundef %6308, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 277, ptr noundef %6311, ptr noundef %6314, ptr noundef %6317, i32 noundef %6319) #9
  br label %6321

6321:                                             ; preds = %6304, %6287
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #9
  br label %6322

6322:                                             ; preds = %6321
  br label %6323

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

6324:                                             ; No predecessors!
  br label %6325

6325:                                             ; preds = %6324
  br label %6326

6326:                                             ; preds = %6325, %6268
  br label %6327

6327:                                             ; preds = %6326
  br label %6328

6328:                                             ; preds = %6327
  br label %6329

6329:                                             ; preds = %6328
  %6330 = load i32, ptr @test_count, align 4, !tbaa !5
  %6331 = add nsw i32 %6330, 1
  store i32 %6331, ptr @test_count, align 4, !tbaa !5
  %6332 = load ptr, ptr %140, align 8, !tbaa !9
  %6333 = load ptr, ptr %130, align 8, !tbaa !9
  %6334 = call i32 @s2n_connection_set_config(ptr noundef %6332, ptr noundef %6333)
  %6335 = icmp eq i32 %6334, -1
  br i1 %6335, label %6336, label %6389

6336:                                             ; preds = %6329
  br label %6337

6337:                                             ; preds = %6336
  br label %6338

6338:                                             ; preds = %6337
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #9
  %6339 = call ptr @__errno_location() #10
  %6340 = load i32, ptr %6339, align 4, !tbaa !5
  store i32 %6340, ptr %142, align 4, !tbaa !5
  %6341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6342 = call i32 @s2n_print_stacktrace(ptr noundef %6341)
  %6343 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6344 = trunc i8 %6343 to i1
  br i1 %6344, label %6345, label %6367

6345:                                             ; preds = %6338
  %6346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6347 = call i32 @fileno(ptr noundef %6346) #9
  %6348 = call i32 @isatty(i32 noundef %6347) #9
  %6349 = icmp ne i32 %6348, 0
  br i1 %6349, label %6350, label %6367

6350:                                             ; preds = %6345
  %6351 = load i32, ptr %142, align 4, !tbaa !5
  %6352 = call ptr @__errno_location() #10
  store i32 %6351, ptr %6352, align 4, !tbaa !5
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = load i32, ptr @test_count, align 4, !tbaa !5
  %6355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6356 = load i32, ptr %6355, align 4, !tbaa !5
  %6357 = call ptr @s2n_strerror(i32 noundef %6356, ptr noundef @.str.4)
  %6358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6359 = load i32, ptr %6358, align 4, !tbaa !5
  %6360 = call ptr @s2n_strerror_debug(i32 noundef %6359, ptr noundef @.str.4)
  %6361 = call ptr @__errno_location() #10
  %6362 = load i32, ptr %6361, align 4, !tbaa !5
  %6363 = call ptr @strerror(i32 noundef %6362) #9
  %6364 = call ptr @__errno_location() #10
  %6365 = load i32, ptr %6364, align 4, !tbaa !5
  %6366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6353, ptr noundef @.str.2, i32 noundef %6354, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 278, ptr noundef %6357, ptr noundef %6360, ptr noundef %6363, i32 noundef %6365) #9
  br label %6384

6367:                                             ; preds = %6345, %6338
  %6368 = load i32, ptr %142, align 4, !tbaa !5
  %6369 = call ptr @__errno_location() #10
  store i32 %6368, ptr %6369, align 4, !tbaa !5
  %6370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6371 = load i32, ptr @test_count, align 4, !tbaa !5
  %6372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6373 = load i32, ptr %6372, align 4, !tbaa !5
  %6374 = call ptr @s2n_strerror(i32 noundef %6373, ptr noundef @.str.4)
  %6375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  %6377 = call ptr @s2n_strerror_debug(i32 noundef %6376, ptr noundef @.str.4)
  %6378 = call ptr @__errno_location() #10
  %6379 = load i32, ptr %6378, align 4, !tbaa !5
  %6380 = call ptr @strerror(i32 noundef %6379) #9
  %6381 = call ptr @__errno_location() #10
  %6382 = load i32, ptr %6381, align 4, !tbaa !5
  %6383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6370, ptr noundef @.str.5, i32 noundef %6371, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 278, ptr noundef %6374, ptr noundef %6377, ptr noundef %6380, i32 noundef %6382) #9
  br label %6384

6384:                                             ; preds = %6367, %6350
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #9
  br label %6385

6385:                                             ; preds = %6384
  br label %6386

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

6387:                                             ; No predecessors!
  br label %6388

6388:                                             ; preds = %6387
  br label %6389

6389:                                             ; preds = %6388, %6329
  br label %6390

6390:                                             ; preds = %6389
  br label %6391

6391:                                             ; preds = %6390
  call void @llvm.lifetime.start.p0(i64 8, ptr %143) #9
  call void @llvm.memset.p0.i64(ptr align 4 %143, i8 0, i64 8, i1 false)
  br label %6392

6392:                                             ; preds = %6391
  %6393 = load i32, ptr @test_count, align 4, !tbaa !5
  %6394 = add nsw i32 %6393, 1
  store i32 %6394, ptr @test_count, align 4, !tbaa !5
  %6395 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef %143)
  %6396 = icmp eq i32 %6395, -1
  br i1 %6396, label %6397, label %6450

6397:                                             ; preds = %6392
  br label %6398

6398:                                             ; preds = %6397
  br label %6399

6399:                                             ; preds = %6398
  call void @llvm.lifetime.start.p0(i64 4, ptr %144) #9
  %6400 = call ptr @__errno_location() #10
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  store i32 %6401, ptr %144, align 4, !tbaa !5
  %6402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6403 = call i32 @s2n_print_stacktrace(ptr noundef %6402)
  %6404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6405 = trunc i8 %6404 to i1
  br i1 %6405, label %6406, label %6428

6406:                                             ; preds = %6399
  %6407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6408 = call i32 @fileno(ptr noundef %6407) #9
  %6409 = call i32 @isatty(i32 noundef %6408) #9
  %6410 = icmp ne i32 %6409, 0
  br i1 %6410, label %6411, label %6428

6411:                                             ; preds = %6406
  %6412 = load i32, ptr %144, align 4, !tbaa !5
  %6413 = call ptr @__errno_location() #10
  store i32 %6412, ptr %6413, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6417 = load i32, ptr %6416, align 4, !tbaa !5
  %6418 = call ptr @s2n_strerror(i32 noundef %6417, ptr noundef @.str.4)
  %6419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6420 = load i32, ptr %6419, align 4, !tbaa !5
  %6421 = call ptr @s2n_strerror_debug(i32 noundef %6420, ptr noundef @.str.4)
  %6422 = call ptr @__errno_location() #10
  %6423 = load i32, ptr %6422, align 4, !tbaa !5
  %6424 = call ptr @strerror(i32 noundef %6423) #9
  %6425 = call ptr @__errno_location() #10
  %6426 = load i32, ptr %6425, align 4, !tbaa !5
  %6427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef @.str.2, i32 noundef %6415, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6418, ptr noundef %6421, ptr noundef %6424, i32 noundef %6426) #9
  br label %6445

6428:                                             ; preds = %6406, %6399
  %6429 = load i32, ptr %144, align 4, !tbaa !5
  %6430 = call ptr @__errno_location() #10
  store i32 %6429, ptr %6430, align 4, !tbaa !5
  %6431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6432 = load i32, ptr @test_count, align 4, !tbaa !5
  %6433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6434 = load i32, ptr %6433, align 4, !tbaa !5
  %6435 = call ptr @s2n_strerror(i32 noundef %6434, ptr noundef @.str.4)
  %6436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6437 = load i32, ptr %6436, align 4, !tbaa !5
  %6438 = call ptr @s2n_strerror_debug(i32 noundef %6437, ptr noundef @.str.4)
  %6439 = call ptr @__errno_location() #10
  %6440 = load i32, ptr %6439, align 4, !tbaa !5
  %6441 = call ptr @strerror(i32 noundef %6440) #9
  %6442 = call ptr @__errno_location() #10
  %6443 = load i32, ptr %6442, align 4, !tbaa !5
  %6444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6431, ptr noundef @.str.5, i32 noundef %6432, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 282, ptr noundef %6435, ptr noundef %6438, ptr noundef %6441, i32 noundef %6443) #9
  br label %6445

6445:                                             ; preds = %6428, %6411
  call void @llvm.lifetime.end.p0(i64 4, ptr %144) #9
  br label %6446

6446:                                             ; preds = %6445
  br label %6447

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

6448:                                             ; No predecessors!
  br label %6449

6449:                                             ; preds = %6448
  br label %6450

6450:                                             ; preds = %6449, %6392
  br label %6451

6451:                                             ; preds = %6450
  br label %6452

6452:                                             ; preds = %6451
  br label %6453

6453:                                             ; preds = %6452
  %6454 = load i32, ptr @test_count, align 4, !tbaa !5
  %6455 = add nsw i32 %6454, 1
  store i32 %6455, ptr @test_count, align 4, !tbaa !5
  %6456 = load ptr, ptr %137, align 8, !tbaa !9
  %6457 = load ptr, ptr %140, align 8, !tbaa !9
  %6458 = call i32 @s2n_connections_set_io_pair(ptr noundef %6456, ptr noundef %6457, ptr noundef %143)
  %6459 = icmp eq i32 %6458, -1
  br i1 %6459, label %6460, label %6513

6460:                                             ; preds = %6453
  br label %6461

6461:                                             ; preds = %6460
  br label %6462

6462:                                             ; preds = %6461
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #9
  %6463 = call ptr @__errno_location() #10
  %6464 = load i32, ptr %6463, align 4, !tbaa !5
  store i32 %6464, ptr %145, align 4, !tbaa !5
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = call i32 @s2n_print_stacktrace(ptr noundef %6465)
  %6467 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6468 = trunc i8 %6467 to i1
  br i1 %6468, label %6469, label %6491

6469:                                             ; preds = %6462
  %6470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6471 = call i32 @fileno(ptr noundef %6470) #9
  %6472 = call i32 @isatty(i32 noundef %6471) #9
  %6473 = icmp ne i32 %6472, 0
  br i1 %6473, label %6474, label %6491

6474:                                             ; preds = %6469
  %6475 = load i32, ptr %145, align 4, !tbaa !5
  %6476 = call ptr @__errno_location() #10
  store i32 %6475, ptr %6476, align 4, !tbaa !5
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = load i32, ptr @test_count, align 4, !tbaa !5
  %6479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  %6481 = call ptr @s2n_strerror(i32 noundef %6480, ptr noundef @.str.4)
  %6482 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6483 = load i32, ptr %6482, align 4, !tbaa !5
  %6484 = call ptr @s2n_strerror_debug(i32 noundef %6483, ptr noundef @.str.4)
  %6485 = call ptr @__errno_location() #10
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @strerror(i32 noundef %6486) #9
  %6488 = call ptr @__errno_location() #10
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6477, ptr noundef @.str.2, i32 noundef %6478, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6481, ptr noundef %6484, ptr noundef %6487, i32 noundef %6489) #9
  br label %6508

6491:                                             ; preds = %6469, %6462
  %6492 = load i32, ptr %145, align 4, !tbaa !5
  %6493 = call ptr @__errno_location() #10
  store i32 %6492, ptr %6493, align 4, !tbaa !5
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = load i32, ptr @test_count, align 4, !tbaa !5
  %6496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6497 = load i32, ptr %6496, align 4, !tbaa !5
  %6498 = call ptr @s2n_strerror(i32 noundef %6497, ptr noundef @.str.4)
  %6499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6500 = load i32, ptr %6499, align 4, !tbaa !5
  %6501 = call ptr @s2n_strerror_debug(i32 noundef %6500, ptr noundef @.str.4)
  %6502 = call ptr @__errno_location() #10
  %6503 = load i32, ptr %6502, align 4, !tbaa !5
  %6504 = call ptr @strerror(i32 noundef %6503) #9
  %6505 = call ptr @__errno_location() #10
  %6506 = load i32, ptr %6505, align 4, !tbaa !5
  %6507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6494, ptr noundef @.str.5, i32 noundef %6495, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6498, ptr noundef %6501, ptr noundef %6504, i32 noundef %6506) #9
  br label %6508

6508:                                             ; preds = %6491, %6474
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #9
  br label %6509

6509:                                             ; preds = %6508
  br label %6510

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

6511:                                             ; No predecessors!
  br label %6512

6512:                                             ; preds = %6511
  br label %6513

6513:                                             ; preds = %6512, %6453
  br label %6514

6514:                                             ; preds = %6513
  br label %6515

6515:                                             ; preds = %6514
  br label %6516

6516:                                             ; preds = %6515
  %6517 = load i32, ptr @test_count, align 4, !tbaa !5
  %6518 = add nsw i32 %6517, 1
  store i32 %6518, ptr @test_count, align 4, !tbaa !5
  %6519 = load ptr, ptr %140, align 8, !tbaa !9
  %6520 = load ptr, ptr %137, align 8, !tbaa !9
  %6521 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6519, ptr noundef %6520)
  %6522 = icmp eq i32 %6521, -1
  br i1 %6522, label %6523, label %6576

6523:                                             ; preds = %6516
  br label %6524

6524:                                             ; preds = %6523
  br label %6525

6525:                                             ; preds = %6524
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #9
  %6526 = call ptr @__errno_location() #10
  %6527 = load i32, ptr %6526, align 4, !tbaa !5
  store i32 %6527, ptr %146, align 4, !tbaa !5
  %6528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6529 = call i32 @s2n_print_stacktrace(ptr noundef %6528)
  %6530 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6531 = trunc i8 %6530 to i1
  br i1 %6531, label %6532, label %6554

6532:                                             ; preds = %6525
  %6533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6534 = call i32 @fileno(ptr noundef %6533) #9
  %6535 = call i32 @isatty(i32 noundef %6534) #9
  %6536 = icmp ne i32 %6535, 0
  br i1 %6536, label %6537, label %6554

6537:                                             ; preds = %6532
  %6538 = load i32, ptr %146, align 4, !tbaa !5
  %6539 = call ptr @__errno_location() #10
  store i32 %6538, ptr %6539, align 4, !tbaa !5
  %6540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6541 = load i32, ptr @test_count, align 4, !tbaa !5
  %6542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6543 = load i32, ptr %6542, align 4, !tbaa !5
  %6544 = call ptr @s2n_strerror(i32 noundef %6543, ptr noundef @.str.4)
  %6545 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6546 = load i32, ptr %6545, align 4, !tbaa !5
  %6547 = call ptr @s2n_strerror_debug(i32 noundef %6546, ptr noundef @.str.4)
  %6548 = call ptr @__errno_location() #10
  %6549 = load i32, ptr %6548, align 4, !tbaa !5
  %6550 = call ptr @strerror(i32 noundef %6549) #9
  %6551 = call ptr @__errno_location() #10
  %6552 = load i32, ptr %6551, align 4, !tbaa !5
  %6553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6540, ptr noundef @.str.2, i32 noundef %6541, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 286, ptr noundef %6544, ptr noundef %6547, ptr noundef %6550, i32 noundef %6552) #9
  br label %6571

6554:                                             ; preds = %6532, %6525
  %6555 = load i32, ptr %146, align 4, !tbaa !5
  %6556 = call ptr @__errno_location() #10
  store i32 %6555, ptr %6556, align 4, !tbaa !5
  %6557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6558 = load i32, ptr @test_count, align 4, !tbaa !5
  %6559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6560 = load i32, ptr %6559, align 4, !tbaa !5
  %6561 = call ptr @s2n_strerror(i32 noundef %6560, ptr noundef @.str.4)
  %6562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6563 = load i32, ptr %6562, align 4, !tbaa !5
  %6564 = call ptr @s2n_strerror_debug(i32 noundef %6563, ptr noundef @.str.4)
  %6565 = call ptr @__errno_location() #10
  %6566 = load i32, ptr %6565, align 4, !tbaa !5
  %6567 = call ptr @strerror(i32 noundef %6566) #9
  %6568 = call ptr @__errno_location() #10
  %6569 = load i32, ptr %6568, align 4, !tbaa !5
  %6570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6557, ptr noundef @.str.5, i32 noundef %6558, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 286, ptr noundef %6561, ptr noundef %6564, ptr noundef %6567, i32 noundef %6569) #9
  br label %6571

6571:                                             ; preds = %6554, %6537
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #9
  br label %6572

6572:                                             ; preds = %6571
  br label %6573

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

6574:                                             ; No predecessors!
  br label %6575

6575:                                             ; preds = %6574
  br label %6576

6576:                                             ; preds = %6575, %6516
  br label %6577

6577:                                             ; preds = %6576
  br label %6578

6578:                                             ; preds = %6577
  br label %6579

6579:                                             ; preds = %6578
  %6580 = load i32, ptr @test_count, align 4, !tbaa !5
  %6581 = add nsw i32 %6580, 1
  store i32 %6581, ptr @test_count, align 4, !tbaa !5
  %6582 = load ptr, ptr %140, align 8, !tbaa !9
  %6583 = getelementptr inbounds %struct.s2n_connection, ptr %6582, i32 0, i32 23
  %6584 = load i8, ptr %6583, align 4, !tbaa !15
  %6585 = zext i8 %6584 to i32
  %6586 = icmp eq i32 %6585, 33
  br i1 %6586, label %6640, label %6587

6587:                                             ; preds = %6579
  br label %6588

6588:                                             ; preds = %6587
  br label %6589

6589:                                             ; preds = %6588
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #9
  %6590 = call ptr @__errno_location() #10
  %6591 = load i32, ptr %6590, align 4, !tbaa !5
  store i32 %6591, ptr %147, align 4, !tbaa !5
  %6592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6593 = call i32 @s2n_print_stacktrace(ptr noundef %6592)
  %6594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6595 = trunc i8 %6594 to i1
  br i1 %6595, label %6596, label %6618

6596:                                             ; preds = %6589
  %6597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6598 = call i32 @fileno(ptr noundef %6597) #9
  %6599 = call i32 @isatty(i32 noundef %6598) #9
  %6600 = icmp ne i32 %6599, 0
  br i1 %6600, label %6601, label %6618

6601:                                             ; preds = %6596
  %6602 = load i32, ptr %147, align 4, !tbaa !5
  %6603 = call ptr @__errno_location() #10
  store i32 %6602, ptr %6603, align 4, !tbaa !5
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = load i32, ptr @test_count, align 4, !tbaa !5
  %6606 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6607 = load i32, ptr %6606, align 4, !tbaa !5
  %6608 = call ptr @s2n_strerror(i32 noundef %6607, ptr noundef @.str.4)
  %6609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6610 = load i32, ptr %6609, align 4, !tbaa !5
  %6611 = call ptr @s2n_strerror_debug(i32 noundef %6610, ptr noundef @.str.4)
  %6612 = call ptr @__errno_location() #10
  %6613 = load i32, ptr %6612, align 4, !tbaa !5
  %6614 = call ptr @strerror(i32 noundef %6613) #9
  %6615 = call ptr @__errno_location() #10
  %6616 = load i32, ptr %6615, align 4, !tbaa !5
  %6617 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6604, ptr noundef @.str.2, i32 noundef %6605, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 287, ptr noundef %6608, ptr noundef %6611, ptr noundef %6614, i32 noundef %6616) #9
  br label %6635

6618:                                             ; preds = %6596, %6589
  %6619 = load i32, ptr %147, align 4, !tbaa !5
  %6620 = call ptr @__errno_location() #10
  store i32 %6619, ptr %6620, align 4, !tbaa !5
  %6621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6622 = load i32, ptr @test_count, align 4, !tbaa !5
  %6623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6624 = load i32, ptr %6623, align 4, !tbaa !5
  %6625 = call ptr @s2n_strerror(i32 noundef %6624, ptr noundef @.str.4)
  %6626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6627 = load i32, ptr %6626, align 4, !tbaa !5
  %6628 = call ptr @s2n_strerror_debug(i32 noundef %6627, ptr noundef @.str.4)
  %6629 = call ptr @__errno_location() #10
  %6630 = load i32, ptr %6629, align 4, !tbaa !5
  %6631 = call ptr @strerror(i32 noundef %6630) #9
  %6632 = call ptr @__errno_location() #10
  %6633 = load i32, ptr %6632, align 4, !tbaa !5
  %6634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6621, ptr noundef @.str.5, i32 noundef %6622, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 287, ptr noundef %6625, ptr noundef %6628, ptr noundef %6631, i32 noundef %6633) #9
  br label %6635

6635:                                             ; preds = %6618, %6601
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #9
  br label %6636

6636:                                             ; preds = %6635
  br label %6637

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

6638:                                             ; No predecessors!
  br label %6639

6639:                                             ; preds = %6638
  br label %6640

6640:                                             ; preds = %6639, %6579
  br label %6641

6641:                                             ; preds = %6640
  br label %6642

6642:                                             ; preds = %6641
  br label %6643

6643:                                             ; preds = %6642
  %6644 = load i32, ptr @test_count, align 4, !tbaa !5
  %6645 = add nsw i32 %6644, 1
  store i32 %6645, ptr @test_count, align 4, !tbaa !5
  %6646 = load ptr, ptr %137, align 8, !tbaa !9
  %6647 = getelementptr inbounds %struct.s2n_connection, ptr %6646, i32 0, i32 23
  %6648 = load i8, ptr %6647, align 4, !tbaa !15
  %6649 = zext i8 %6648 to i32
  %6650 = icmp eq i32 %6649, 33
  br i1 %6650, label %6704, label %6651

6651:                                             ; preds = %6643
  br label %6652

6652:                                             ; preds = %6651
  br label %6653

6653:                                             ; preds = %6652
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #9
  %6654 = call ptr @__errno_location() #10
  %6655 = load i32, ptr %6654, align 4, !tbaa !5
  store i32 %6655, ptr %148, align 4, !tbaa !5
  %6656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6657 = call i32 @s2n_print_stacktrace(ptr noundef %6656)
  %6658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6659 = trunc i8 %6658 to i1
  br i1 %6659, label %6660, label %6682

6660:                                             ; preds = %6653
  %6661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6662 = call i32 @fileno(ptr noundef %6661) #9
  %6663 = call i32 @isatty(i32 noundef %6662) #9
  %6664 = icmp ne i32 %6663, 0
  br i1 %6664, label %6665, label %6682

6665:                                             ; preds = %6660
  %6666 = load i32, ptr %148, align 4, !tbaa !5
  %6667 = call ptr @__errno_location() #10
  store i32 %6666, ptr %6667, align 4, !tbaa !5
  %6668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6669 = load i32, ptr @test_count, align 4, !tbaa !5
  %6670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @s2n_strerror(i32 noundef %6671, ptr noundef @.str.4)
  %6673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call ptr @s2n_strerror_debug(i32 noundef %6674, ptr noundef @.str.4)
  %6676 = call ptr @__errno_location() #10
  %6677 = load i32, ptr %6676, align 4, !tbaa !5
  %6678 = call ptr @strerror(i32 noundef %6677) #9
  %6679 = call ptr @__errno_location() #10
  %6680 = load i32, ptr %6679, align 4, !tbaa !5
  %6681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6668, ptr noundef @.str.2, i32 noundef %6669, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 288, ptr noundef %6672, ptr noundef %6675, ptr noundef %6678, i32 noundef %6680) #9
  br label %6699

6682:                                             ; preds = %6660, %6653
  %6683 = load i32, ptr %148, align 4, !tbaa !5
  %6684 = call ptr @__errno_location() #10
  store i32 %6683, ptr %6684, align 4, !tbaa !5
  %6685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6686 = load i32, ptr @test_count, align 4, !tbaa !5
  %6687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6688 = load i32, ptr %6687, align 4, !tbaa !5
  %6689 = call ptr @s2n_strerror(i32 noundef %6688, ptr noundef @.str.4)
  %6690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6691 = load i32, ptr %6690, align 4, !tbaa !5
  %6692 = call ptr @s2n_strerror_debug(i32 noundef %6691, ptr noundef @.str.4)
  %6693 = call ptr @__errno_location() #10
  %6694 = load i32, ptr %6693, align 4, !tbaa !5
  %6695 = call ptr @strerror(i32 noundef %6694) #9
  %6696 = call ptr @__errno_location() #10
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  %6698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6685, ptr noundef @.str.5, i32 noundef %6686, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 288, ptr noundef %6689, ptr noundef %6692, ptr noundef %6695, i32 noundef %6697) #9
  br label %6699

6699:                                             ; preds = %6682, %6665
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #9
  br label %6700

6700:                                             ; preds = %6699
  br label %6701

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

6702:                                             ; No predecessors!
  br label %6703

6703:                                             ; preds = %6702
  br label %6704

6704:                                             ; preds = %6703, %6643
  br label %6705

6705:                                             ; preds = %6704
  br label %6706

6706:                                             ; preds = %6705
  br label %6707

6707:                                             ; preds = %6706
  %6708 = load i32, ptr @test_count, align 4, !tbaa !5
  %6709 = add nsw i32 %6708, 1
  store i32 %6709, ptr @test_count, align 4, !tbaa !5
  %6710 = load ptr, ptr %140, align 8, !tbaa !9
  %6711 = load i32, ptr %6710, align 8
  %6712 = lshr i32 %6711, 13
  %6713 = and i32 %6712, 1
  %6714 = icmp ne i32 %6713, 0
  br i1 %6714, label %6768, label %6715

6715:                                             ; preds = %6707
  br label %6716

6716:                                             ; preds = %6715
  br label %6717

6717:                                             ; preds = %6716
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #9
  %6718 = call ptr @__errno_location() #10
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  store i32 %6719, ptr %149, align 4, !tbaa !5
  %6720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6721 = call i32 @s2n_print_stacktrace(ptr noundef %6720)
  %6722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6723 = trunc i8 %6722 to i1
  br i1 %6723, label %6724, label %6746

6724:                                             ; preds = %6717
  %6725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6726 = call i32 @fileno(ptr noundef %6725) #9
  %6727 = call i32 @isatty(i32 noundef %6726) #9
  %6728 = icmp ne i32 %6727, 0
  br i1 %6728, label %6729, label %6746

6729:                                             ; preds = %6724
  %6730 = load i32, ptr %149, align 4, !tbaa !5
  %6731 = call ptr @__errno_location() #10
  store i32 %6730, ptr %6731, align 4, !tbaa !5
  %6732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6733 = load i32, ptr @test_count, align 4, !tbaa !5
  %6734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6735 = load i32, ptr %6734, align 4, !tbaa !5
  %6736 = call ptr @s2n_strerror(i32 noundef %6735, ptr noundef @.str.4)
  %6737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6738 = load i32, ptr %6737, align 4, !tbaa !5
  %6739 = call ptr @s2n_strerror_debug(i32 noundef %6738, ptr noundef @.str.4)
  %6740 = call ptr @__errno_location() #10
  %6741 = load i32, ptr %6740, align 4, !tbaa !5
  %6742 = call ptr @strerror(i32 noundef %6741) #9
  %6743 = call ptr @__errno_location() #10
  %6744 = load i32, ptr %6743, align 4, !tbaa !5
  %6745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6732, ptr noundef @.str.2, i32 noundef %6733, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 289, ptr noundef %6736, ptr noundef %6739, ptr noundef %6742, i32 noundef %6744) #9
  br label %6763

6746:                                             ; preds = %6724, %6717
  %6747 = load i32, ptr %149, align 4, !tbaa !5
  %6748 = call ptr @__errno_location() #10
  store i32 %6747, ptr %6748, align 4, !tbaa !5
  %6749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6750 = load i32, ptr @test_count, align 4, !tbaa !5
  %6751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6752 = load i32, ptr %6751, align 4, !tbaa !5
  %6753 = call ptr @s2n_strerror(i32 noundef %6752, ptr noundef @.str.4)
  %6754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6755 = load i32, ptr %6754, align 4, !tbaa !5
  %6756 = call ptr @s2n_strerror_debug(i32 noundef %6755, ptr noundef @.str.4)
  %6757 = call ptr @__errno_location() #10
  %6758 = load i32, ptr %6757, align 4, !tbaa !5
  %6759 = call ptr @strerror(i32 noundef %6758) #9
  %6760 = call ptr @__errno_location() #10
  %6761 = load i32, ptr %6760, align 4, !tbaa !5
  %6762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6749, ptr noundef @.str.5, i32 noundef %6750, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 289, ptr noundef %6753, ptr noundef %6756, ptr noundef %6759, i32 noundef %6761) #9
  br label %6763

6763:                                             ; preds = %6746, %6729
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #9
  br label %6764

6764:                                             ; preds = %6763
  br label %6765

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

6766:                                             ; No predecessors!
  br label %6767

6767:                                             ; preds = %6766
  br label %6768

6768:                                             ; preds = %6767, %6707
  br label %6769

6769:                                             ; preds = %6768
  br label %6770

6770:                                             ; preds = %6769
  br label %6771

6771:                                             ; preds = %6770
  %6772 = load i32, ptr @test_count, align 4, !tbaa !5
  %6773 = add nsw i32 %6772, 1
  store i32 %6773, ptr @test_count, align 4, !tbaa !5
  %6774 = load ptr, ptr %137, align 8, !tbaa !9
  %6775 = load i32, ptr %6774, align 8
  %6776 = lshr i32 %6775, 13
  %6777 = and i32 %6776, 1
  %6778 = icmp ne i32 %6777, 0
  br i1 %6778, label %6832, label %6779

6779:                                             ; preds = %6771
  br label %6780

6780:                                             ; preds = %6779
  br label %6781

6781:                                             ; preds = %6780
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #9
  %6782 = call ptr @__errno_location() #10
  %6783 = load i32, ptr %6782, align 4, !tbaa !5
  store i32 %6783, ptr %150, align 4, !tbaa !5
  %6784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6785 = call i32 @s2n_print_stacktrace(ptr noundef %6784)
  %6786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6787 = trunc i8 %6786 to i1
  br i1 %6787, label %6788, label %6810

6788:                                             ; preds = %6781
  %6789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6790 = call i32 @fileno(ptr noundef %6789) #9
  %6791 = call i32 @isatty(i32 noundef %6790) #9
  %6792 = icmp ne i32 %6791, 0
  br i1 %6792, label %6793, label %6810

6793:                                             ; preds = %6788
  %6794 = load i32, ptr %150, align 4, !tbaa !5
  %6795 = call ptr @__errno_location() #10
  store i32 %6794, ptr %6795, align 4, !tbaa !5
  %6796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6797 = load i32, ptr @test_count, align 4, !tbaa !5
  %6798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6799 = load i32, ptr %6798, align 4, !tbaa !5
  %6800 = call ptr @s2n_strerror(i32 noundef %6799, ptr noundef @.str.4)
  %6801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6802 = load i32, ptr %6801, align 4, !tbaa !5
  %6803 = call ptr @s2n_strerror_debug(i32 noundef %6802, ptr noundef @.str.4)
  %6804 = call ptr @__errno_location() #10
  %6805 = load i32, ptr %6804, align 4, !tbaa !5
  %6806 = call ptr @strerror(i32 noundef %6805) #9
  %6807 = call ptr @__errno_location() #10
  %6808 = load i32, ptr %6807, align 4, !tbaa !5
  %6809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6796, ptr noundef @.str.2, i32 noundef %6797, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6800, ptr noundef %6803, ptr noundef %6806, i32 noundef %6808) #9
  br label %6827

6810:                                             ; preds = %6788, %6781
  %6811 = load i32, ptr %150, align 4, !tbaa !5
  %6812 = call ptr @__errno_location() #10
  store i32 %6811, ptr %6812, align 4, !tbaa !5
  %6813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6814 = load i32, ptr @test_count, align 4, !tbaa !5
  %6815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6816 = load i32, ptr %6815, align 4, !tbaa !5
  %6817 = call ptr @s2n_strerror(i32 noundef %6816, ptr noundef @.str.4)
  %6818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6819 = load i32, ptr %6818, align 4, !tbaa !5
  %6820 = call ptr @s2n_strerror_debug(i32 noundef %6819, ptr noundef @.str.4)
  %6821 = call ptr @__errno_location() #10
  %6822 = load i32, ptr %6821, align 4, !tbaa !5
  %6823 = call ptr @strerror(i32 noundef %6822) #9
  %6824 = call ptr @__errno_location() #10
  %6825 = load i32, ptr %6824, align 4, !tbaa !5
  %6826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6813, ptr noundef @.str.5, i32 noundef %6814, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6817, ptr noundef %6820, ptr noundef %6823, i32 noundef %6825) #9
  br label %6827

6827:                                             ; preds = %6810, %6793
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #9
  br label %6828

6828:                                             ; preds = %6827
  br label %6829

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

6830:                                             ; No predecessors!
  br label %6831

6831:                                             ; preds = %6830
  br label %6832

6832:                                             ; preds = %6831, %6771
  br label %6833

6833:                                             ; preds = %6832
  br label %6834

6834:                                             ; preds = %6833
  br label %6835

6835:                                             ; preds = %6834
  %6836 = load i32, ptr @test_count, align 4, !tbaa !5
  %6837 = add nsw i32 %6836, 1
  store i32 %6837, ptr @test_count, align 4, !tbaa !5
  %6838 = load ptr, ptr %137, align 8, !tbaa !9
  %6839 = call i32 @s2n_connection_free(ptr noundef %6838)
  %6840 = icmp eq i32 %6839, -1
  br i1 %6840, label %6841, label %6894

6841:                                             ; preds = %6835
  br label %6842

6842:                                             ; preds = %6841
  br label %6843

6843:                                             ; preds = %6842
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #9
  %6844 = call ptr @__errno_location() #10
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  store i32 %6845, ptr %151, align 4, !tbaa !5
  %6846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6847 = call i32 @s2n_print_stacktrace(ptr noundef %6846)
  %6848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6849 = trunc i8 %6848 to i1
  br i1 %6849, label %6850, label %6872

6850:                                             ; preds = %6843
  %6851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6852 = call i32 @fileno(ptr noundef %6851) #9
  %6853 = call i32 @isatty(i32 noundef %6852) #9
  %6854 = icmp ne i32 %6853, 0
  br i1 %6854, label %6855, label %6872

6855:                                             ; preds = %6850
  %6856 = load i32, ptr %151, align 4, !tbaa !5
  %6857 = call ptr @__errno_location() #10
  store i32 %6856, ptr %6857, align 4, !tbaa !5
  %6858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6859 = load i32, ptr @test_count, align 4, !tbaa !5
  %6860 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6861 = load i32, ptr %6860, align 4, !tbaa !5
  %6862 = call ptr @s2n_strerror(i32 noundef %6861, ptr noundef @.str.4)
  %6863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6864 = load i32, ptr %6863, align 4, !tbaa !5
  %6865 = call ptr @s2n_strerror_debug(i32 noundef %6864, ptr noundef @.str.4)
  %6866 = call ptr @__errno_location() #10
  %6867 = load i32, ptr %6866, align 4, !tbaa !5
  %6868 = call ptr @strerror(i32 noundef %6867) #9
  %6869 = call ptr @__errno_location() #10
  %6870 = load i32, ptr %6869, align 4, !tbaa !5
  %6871 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6858, ptr noundef @.str.2, i32 noundef %6859, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 292, ptr noundef %6862, ptr noundef %6865, ptr noundef %6868, i32 noundef %6870) #9
  br label %6889

6872:                                             ; preds = %6850, %6843
  %6873 = load i32, ptr %151, align 4, !tbaa !5
  %6874 = call ptr @__errno_location() #10
  store i32 %6873, ptr %6874, align 4, !tbaa !5
  %6875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6876 = load i32, ptr @test_count, align 4, !tbaa !5
  %6877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6878 = load i32, ptr %6877, align 4, !tbaa !5
  %6879 = call ptr @s2n_strerror(i32 noundef %6878, ptr noundef @.str.4)
  %6880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6881 = load i32, ptr %6880, align 4, !tbaa !5
  %6882 = call ptr @s2n_strerror_debug(i32 noundef %6881, ptr noundef @.str.4)
  %6883 = call ptr @__errno_location() #10
  %6884 = load i32, ptr %6883, align 4, !tbaa !5
  %6885 = call ptr @strerror(i32 noundef %6884) #9
  %6886 = call ptr @__errno_location() #10
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  %6888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6875, ptr noundef @.str.5, i32 noundef %6876, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 292, ptr noundef %6879, ptr noundef %6882, ptr noundef %6885, i32 noundef %6887) #9
  br label %6889

6889:                                             ; preds = %6872, %6855
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #9
  br label %6890

6890:                                             ; preds = %6889
  br label %6891

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

6892:                                             ; No predecessors!
  br label %6893

6893:                                             ; preds = %6892
  br label %6894

6894:                                             ; preds = %6893, %6835
  br label %6895

6895:                                             ; preds = %6894
  br label %6896

6896:                                             ; preds = %6895
  br label %6897

6897:                                             ; preds = %6896
  %6898 = load i32, ptr @test_count, align 4, !tbaa !5
  %6899 = add nsw i32 %6898, 1
  store i32 %6899, ptr @test_count, align 4, !tbaa !5
  %6900 = load ptr, ptr %140, align 8, !tbaa !9
  %6901 = call i32 @s2n_connection_free(ptr noundef %6900)
  %6902 = icmp eq i32 %6901, -1
  br i1 %6902, label %6903, label %6956

6903:                                             ; preds = %6897
  br label %6904

6904:                                             ; preds = %6903
  br label %6905

6905:                                             ; preds = %6904
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #9
  %6906 = call ptr @__errno_location() #10
  %6907 = load i32, ptr %6906, align 4, !tbaa !5
  store i32 %6907, ptr %152, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = call i32 @s2n_print_stacktrace(ptr noundef %6908)
  %6910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6911 = trunc i8 %6910 to i1
  br i1 %6911, label %6912, label %6934

6912:                                             ; preds = %6905
  %6913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6914 = call i32 @fileno(ptr noundef %6913) #9
  %6915 = call i32 @isatty(i32 noundef %6914) #9
  %6916 = icmp ne i32 %6915, 0
  br i1 %6916, label %6917, label %6934

6917:                                             ; preds = %6912
  %6918 = load i32, ptr %152, align 4, !tbaa !5
  %6919 = call ptr @__errno_location() #10
  store i32 %6918, ptr %6919, align 4, !tbaa !5
  %6920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6921 = load i32, ptr @test_count, align 4, !tbaa !5
  %6922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror(i32 noundef %6923, ptr noundef @.str.4)
  %6925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6926 = load i32, ptr %6925, align 4, !tbaa !5
  %6927 = call ptr @s2n_strerror_debug(i32 noundef %6926, ptr noundef @.str.4)
  %6928 = call ptr @__errno_location() #10
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  %6930 = call ptr @strerror(i32 noundef %6929) #9
  %6931 = call ptr @__errno_location() #10
  %6932 = load i32, ptr %6931, align 4, !tbaa !5
  %6933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6920, ptr noundef @.str.2, i32 noundef %6921, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 293, ptr noundef %6924, ptr noundef %6927, ptr noundef %6930, i32 noundef %6932) #9
  br label %6951

6934:                                             ; preds = %6912, %6905
  %6935 = load i32, ptr %152, align 4, !tbaa !5
  %6936 = call ptr @__errno_location() #10
  store i32 %6935, ptr %6936, align 4, !tbaa !5
  %6937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6938 = load i32, ptr @test_count, align 4, !tbaa !5
  %6939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6940 = load i32, ptr %6939, align 4, !tbaa !5
  %6941 = call ptr @s2n_strerror(i32 noundef %6940, ptr noundef @.str.4)
  %6942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6943 = load i32, ptr %6942, align 4, !tbaa !5
  %6944 = call ptr @s2n_strerror_debug(i32 noundef %6943, ptr noundef @.str.4)
  %6945 = call ptr @__errno_location() #10
  %6946 = load i32, ptr %6945, align 4, !tbaa !5
  %6947 = call ptr @strerror(i32 noundef %6946) #9
  %6948 = call ptr @__errno_location() #10
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  %6950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6937, ptr noundef @.str.5, i32 noundef %6938, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 293, ptr noundef %6941, ptr noundef %6944, ptr noundef %6947, i32 noundef %6949) #9
  br label %6951

6951:                                             ; preds = %6934, %6917
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #9
  br label %6952

6952:                                             ; preds = %6951
  br label %6953

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

6954:                                             ; No predecessors!
  br label %6955

6955:                                             ; preds = %6954
  br label %6956

6956:                                             ; preds = %6955, %6897
  br label %6957

6957:                                             ; preds = %6956
  br label %6958

6958:                                             ; preds = %6957
  br label %6959

6959:                                             ; preds = %6958
  %6960 = load i32, ptr @test_count, align 4, !tbaa !5
  %6961 = add nsw i32 %6960, 1
  store i32 %6961, ptr @test_count, align 4, !tbaa !5
  %6962 = load ptr, ptr %134, align 8, !tbaa !9
  %6963 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %6962)
  %6964 = icmp eq i32 %6963, -1
  br i1 %6964, label %6965, label %7018

6965:                                             ; preds = %6959
  br label %6966

6966:                                             ; preds = %6965
  br label %6967

6967:                                             ; preds = %6966
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #9
  %6968 = call ptr @__errno_location() #10
  %6969 = load i32, ptr %6968, align 4, !tbaa !5
  store i32 %6969, ptr %153, align 4, !tbaa !5
  %6970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6971 = call i32 @s2n_print_stacktrace(ptr noundef %6970)
  %6972 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6973 = trunc i8 %6972 to i1
  br i1 %6973, label %6974, label %6996

6974:                                             ; preds = %6967
  %6975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6976 = call i32 @fileno(ptr noundef %6975) #9
  %6977 = call i32 @isatty(i32 noundef %6976) #9
  %6978 = icmp ne i32 %6977, 0
  br i1 %6978, label %6979, label %6996

6979:                                             ; preds = %6974
  %6980 = load i32, ptr %153, align 4, !tbaa !5
  %6981 = call ptr @__errno_location() #10
  store i32 %6980, ptr %6981, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = load i32, ptr @test_count, align 4, !tbaa !5
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @s2n_strerror_debug(i32 noundef %6988, ptr noundef @.str.4)
  %6990 = call ptr @__errno_location() #10
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call ptr @strerror(i32 noundef %6991) #9
  %6993 = call ptr @__errno_location() #10
  %6994 = load i32, ptr %6993, align 4, !tbaa !5
  %6995 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6982, ptr noundef @.str.2, i32 noundef %6983, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 294, ptr noundef %6986, ptr noundef %6989, ptr noundef %6992, i32 noundef %6994) #9
  br label %7013

6996:                                             ; preds = %6974, %6967
  %6997 = load i32, ptr %153, align 4, !tbaa !5
  %6998 = call ptr @__errno_location() #10
  store i32 %6997, ptr %6998, align 4, !tbaa !5
  %6999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7000 = load i32, ptr @test_count, align 4, !tbaa !5
  %7001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7002 = load i32, ptr %7001, align 4, !tbaa !5
  %7003 = call ptr @s2n_strerror(i32 noundef %7002, ptr noundef @.str.4)
  %7004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror_debug(i32 noundef %7005, ptr noundef @.str.4)
  %7007 = call ptr @__errno_location() #10
  %7008 = load i32, ptr %7007, align 4, !tbaa !5
  %7009 = call ptr @strerror(i32 noundef %7008) #9
  %7010 = call ptr @__errno_location() #10
  %7011 = load i32, ptr %7010, align 4, !tbaa !5
  %7012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6999, ptr noundef @.str.5, i32 noundef %7000, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7003, ptr noundef %7006, ptr noundef %7009, i32 noundef %7011) #9
  br label %7013

7013:                                             ; preds = %6996, %6979
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #9
  br label %7014

7014:                                             ; preds = %7013
  br label %7015

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

7016:                                             ; No predecessors!
  br label %7017

7017:                                             ; preds = %7016
  br label %7018

7018:                                             ; preds = %7017, %6959
  br label %7019

7019:                                             ; preds = %7018
  br label %7020

7020:                                             ; preds = %7019
  br label %7021

7021:                                             ; preds = %7020
  %7022 = load i32, ptr @test_count, align 4, !tbaa !5
  %7023 = add nsw i32 %7022, 1
  store i32 %7023, ptr @test_count, align 4, !tbaa !5
  %7024 = call i32 @s2n_io_pair_close(ptr noundef %143)
  %7025 = icmp eq i32 %7024, -1
  br i1 %7025, label %7026, label %7079

7026:                                             ; preds = %7021
  br label %7027

7027:                                             ; preds = %7026
  br label %7028

7028:                                             ; preds = %7027
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #9
  %7029 = call ptr @__errno_location() #10
  %7030 = load i32, ptr %7029, align 4, !tbaa !5
  store i32 %7030, ptr %154, align 4, !tbaa !5
  %7031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7032 = call i32 @s2n_print_stacktrace(ptr noundef %7031)
  %7033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7034 = trunc i8 %7033 to i1
  br i1 %7034, label %7035, label %7057

7035:                                             ; preds = %7028
  %7036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7037 = call i32 @fileno(ptr noundef %7036) #9
  %7038 = call i32 @isatty(i32 noundef %7037) #9
  %7039 = icmp ne i32 %7038, 0
  br i1 %7039, label %7040, label %7057

7040:                                             ; preds = %7035
  %7041 = load i32, ptr %154, align 4, !tbaa !5
  %7042 = call ptr @__errno_location() #10
  store i32 %7041, ptr %7042, align 4, !tbaa !5
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = load i32, ptr @test_count, align 4, !tbaa !5
  %7045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7046 = load i32, ptr %7045, align 4, !tbaa !5
  %7047 = call ptr @s2n_strerror(i32 noundef %7046, ptr noundef @.str.4)
  %7048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7049 = load i32, ptr %7048, align 4, !tbaa !5
  %7050 = call ptr @s2n_strerror_debug(i32 noundef %7049, ptr noundef @.str.4)
  %7051 = call ptr @__errno_location() #10
  %7052 = load i32, ptr %7051, align 4, !tbaa !5
  %7053 = call ptr @strerror(i32 noundef %7052) #9
  %7054 = call ptr @__errno_location() #10
  %7055 = load i32, ptr %7054, align 4, !tbaa !5
  %7056 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7043, ptr noundef @.str.2, i32 noundef %7044, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7047, ptr noundef %7050, ptr noundef %7053, i32 noundef %7055) #9
  br label %7074

7057:                                             ; preds = %7035, %7028
  %7058 = load i32, ptr %154, align 4, !tbaa !5
  %7059 = call ptr @__errno_location() #10
  store i32 %7058, ptr %7059, align 4, !tbaa !5
  %7060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7061 = load i32, ptr @test_count, align 4, !tbaa !5
  %7062 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7063 = load i32, ptr %7062, align 4, !tbaa !5
  %7064 = call ptr @s2n_strerror(i32 noundef %7063, ptr noundef @.str.4)
  %7065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7066 = load i32, ptr %7065, align 4, !tbaa !5
  %7067 = call ptr @s2n_strerror_debug(i32 noundef %7066, ptr noundef @.str.4)
  %7068 = call ptr @__errno_location() #10
  %7069 = load i32, ptr %7068, align 4, !tbaa !5
  %7070 = call ptr @strerror(i32 noundef %7069) #9
  %7071 = call ptr @__errno_location() #10
  %7072 = load i32, ptr %7071, align 4, !tbaa !5
  %7073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7060, ptr noundef @.str.5, i32 noundef %7061, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7064, ptr noundef %7067, ptr noundef %7070, i32 noundef %7072) #9
  br label %7074

7074:                                             ; preds = %7057, %7040
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #9
  br label %7075

7075:                                             ; preds = %7074
  br label %7076

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

7077:                                             ; No predecessors!
  br label %7078

7078:                                             ; preds = %7077
  br label %7079

7079:                                             ; preds = %7078, %7021
  br label %7080

7080:                                             ; preds = %7079
  br label %7081

7081:                                             ; preds = %7080
  br label %7082

7082:                                             ; preds = %7081
  %7083 = load i32, ptr @test_count, align 4, !tbaa !5
  %7084 = add nsw i32 %7083, 1
  store i32 %7084, ptr @test_count, align 4, !tbaa !5
  %7085 = load ptr, ptr %130, align 8, !tbaa !9
  %7086 = call i32 @s2n_config_free(ptr noundef %7085)
  %7087 = icmp eq i32 %7086, -1
  br i1 %7087, label %7088, label %7141

7088:                                             ; preds = %7082
  br label %7089

7089:                                             ; preds = %7088
  br label %7090

7090:                                             ; preds = %7089
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #9
  %7091 = call ptr @__errno_location() #10
  %7092 = load i32, ptr %7091, align 4, !tbaa !5
  store i32 %7092, ptr %155, align 4, !tbaa !5
  %7093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7094 = call i32 @s2n_print_stacktrace(ptr noundef %7093)
  %7095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7096 = trunc i8 %7095 to i1
  br i1 %7096, label %7097, label %7119

7097:                                             ; preds = %7090
  %7098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7099 = call i32 @fileno(ptr noundef %7098) #9
  %7100 = call i32 @isatty(i32 noundef %7099) #9
  %7101 = icmp ne i32 %7100, 0
  br i1 %7101, label %7102, label %7119

7102:                                             ; preds = %7097
  %7103 = load i32, ptr %155, align 4, !tbaa !5
  %7104 = call ptr @__errno_location() #10
  store i32 %7103, ptr %7104, align 4, !tbaa !5
  %7105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7106 = load i32, ptr @test_count, align 4, !tbaa !5
  %7107 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7108 = load i32, ptr %7107, align 4, !tbaa !5
  %7109 = call ptr @s2n_strerror(i32 noundef %7108, ptr noundef @.str.4)
  %7110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7111 = load i32, ptr %7110, align 4, !tbaa !5
  %7112 = call ptr @s2n_strerror_debug(i32 noundef %7111, ptr noundef @.str.4)
  %7113 = call ptr @__errno_location() #10
  %7114 = load i32, ptr %7113, align 4, !tbaa !5
  %7115 = call ptr @strerror(i32 noundef %7114) #9
  %7116 = call ptr @__errno_location() #10
  %7117 = load i32, ptr %7116, align 4, !tbaa !5
  %7118 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7105, ptr noundef @.str.2, i32 noundef %7106, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7109, ptr noundef %7112, ptr noundef %7115, i32 noundef %7117) #9
  br label %7136

7119:                                             ; preds = %7097, %7090
  %7120 = load i32, ptr %155, align 4, !tbaa !5
  %7121 = call ptr @__errno_location() #10
  store i32 %7120, ptr %7121, align 4, !tbaa !5
  %7122 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7123 = load i32, ptr @test_count, align 4, !tbaa !5
  %7124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7125 = load i32, ptr %7124, align 4, !tbaa !5
  %7126 = call ptr @s2n_strerror(i32 noundef %7125, ptr noundef @.str.4)
  %7127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7128 = load i32, ptr %7127, align 4, !tbaa !5
  %7129 = call ptr @s2n_strerror_debug(i32 noundef %7128, ptr noundef @.str.4)
  %7130 = call ptr @__errno_location() #10
  %7131 = load i32, ptr %7130, align 4, !tbaa !5
  %7132 = call ptr @strerror(i32 noundef %7131) #9
  %7133 = call ptr @__errno_location() #10
  %7134 = load i32, ptr %7133, align 4, !tbaa !5
  %7135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7122, ptr noundef @.str.5, i32 noundef %7123, ptr noundef @.str.26, ptr noundef @.str.1, i32 noundef 296, ptr noundef %7126, ptr noundef %7129, ptr noundef %7132, i32 noundef %7134) #9
  br label %7136

7136:                                             ; preds = %7119, %7102
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #9
  br label %7137

7137:                                             ; preds = %7136
  br label %7138

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

7139:                                             ; No predecessors!
  br label %7140

7140:                                             ; preds = %7139
  br label %7141

7141:                                             ; preds = %7140, %7082
  br label %7142

7142:                                             ; preds = %7141
  br label %7143

7143:                                             ; preds = %7142
  call void @llvm.lifetime.end.p0(i64 8, ptr %143) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %140) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %134) #9
  call void @llvm.lifetime.end.p0(i64 8, ptr %130) #9
  br label %7144

7144:                                             ; preds = %7143
  br label %7145

7145:                                             ; preds = %7144
  %7146 = call i32 @s2n_cleanup()
  %7147 = icmp eq i32 %7146, -1
  br i1 %7147, label %7148, label %7199

7148:                                             ; preds = %7145
  br label %7149

7149:                                             ; preds = %7148
  br label %7150

7150:                                             ; preds = %7149
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #9
  %7151 = call ptr @__errno_location() #10
  %7152 = load i32, ptr %7151, align 4, !tbaa !5
  store i32 %7152, ptr %156, align 4, !tbaa !5
  %7153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7154 = call i32 @s2n_print_stacktrace(ptr noundef %7153)
  %7155 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7156 = trunc i8 %7155 to i1
  br i1 %7156, label %7157, label %7179

7157:                                             ; preds = %7150
  %7158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7159 = call i32 @fileno(ptr noundef %7158) #9
  %7160 = call i32 @isatty(i32 noundef %7159) #9
  %7161 = icmp ne i32 %7160, 0
  br i1 %7161, label %7162, label %7179

7162:                                             ; preds = %7157
  %7163 = load i32, ptr %156, align 4, !tbaa !5
  %7164 = call ptr @__errno_location() #10
  store i32 %7163, ptr %7164, align 4, !tbaa !5
  %7165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7166 = load i32, ptr @test_count, align 4, !tbaa !5
  %7167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7168 = load i32, ptr %7167, align 4, !tbaa !5
  %7169 = call ptr @s2n_strerror(i32 noundef %7168, ptr noundef @.str.4)
  %7170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7171 = load i32, ptr %7170, align 4, !tbaa !5
  %7172 = call ptr @s2n_strerror_debug(i32 noundef %7171, ptr noundef @.str.4)
  %7173 = call ptr @__errno_location() #10
  %7174 = load i32, ptr %7173, align 4, !tbaa !5
  %7175 = call ptr @strerror(i32 noundef %7174) #9
  %7176 = call ptr @__errno_location() #10
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7165, ptr noundef @.str.2, i32 noundef %7166, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7169, ptr noundef %7172, ptr noundef %7175, i32 noundef %7177) #9
  br label %7196

7179:                                             ; preds = %7157, %7150
  %7180 = load i32, ptr %156, align 4, !tbaa !5
  %7181 = call ptr @__errno_location() #10
  store i32 %7180, ptr %7181, align 4, !tbaa !5
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = load i32, ptr @test_count, align 4, !tbaa !5
  %7184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7185 = load i32, ptr %7184, align 4, !tbaa !5
  %7186 = call ptr @s2n_strerror(i32 noundef %7185, ptr noundef @.str.4)
  %7187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7188 = load i32, ptr %7187, align 4, !tbaa !5
  %7189 = call ptr @s2n_strerror_debug(i32 noundef %7188, ptr noundef @.str.4)
  %7190 = call ptr @__errno_location() #10
  %7191 = load i32, ptr %7190, align 4, !tbaa !5
  %7192 = call ptr @strerror(i32 noundef %7191) #9
  %7193 = call ptr @__errno_location() #10
  %7194 = load i32, ptr %7193, align 4, !tbaa !5
  %7195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7182, ptr noundef @.str.5, i32 noundef %7183, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7186, ptr noundef %7189, ptr noundef %7192, i32 noundef %7194) #9
  br label %7196

7196:                                             ; preds = %7179, %7162
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #9
  br label %7197

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

7198:                                             ; No predecessors!
  br label %7199

7199:                                             ; preds = %7198, %7145
  br label %7200

7200:                                             ; preds = %7199
  br label %7201

7201:                                             ; preds = %7200
  br label %7202

7202:                                             ; preds = %7201
  %7203 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %7204 = icmp eq i32 %7203, -1
  br i1 %7204, label %7205, label %7256

7205:                                             ; preds = %7202
  br label %7206

7206:                                             ; preds = %7205
  br label %7207

7207:                                             ; preds = %7206
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #9
  %7208 = call ptr @__errno_location() #10
  %7209 = load i32, ptr %7208, align 4, !tbaa !5
  store i32 %7209, ptr %157, align 4, !tbaa !5
  %7210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7211 = call i32 @s2n_print_stacktrace(ptr noundef %7210)
  %7212 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7213 = trunc i8 %7212 to i1
  br i1 %7213, label %7214, label %7236

7214:                                             ; preds = %7207
  %7215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7216 = call i32 @fileno(ptr noundef %7215) #9
  %7217 = call i32 @isatty(i32 noundef %7216) #9
  %7218 = icmp ne i32 %7217, 0
  br i1 %7218, label %7219, label %7236

7219:                                             ; preds = %7214
  %7220 = load i32, ptr %157, align 4, !tbaa !5
  %7221 = call ptr @__errno_location() #10
  store i32 %7220, ptr %7221, align 4, !tbaa !5
  %7222 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7223 = load i32, ptr @test_count, align 4, !tbaa !5
  %7224 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7225 = load i32, ptr %7224, align 4, !tbaa !5
  %7226 = call ptr @s2n_strerror(i32 noundef %7225, ptr noundef @.str.4)
  %7227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7228 = load i32, ptr %7227, align 4, !tbaa !5
  %7229 = call ptr @s2n_strerror_debug(i32 noundef %7228, ptr noundef @.str.4)
  %7230 = call ptr @__errno_location() #10
  %7231 = load i32, ptr %7230, align 4, !tbaa !5
  %7232 = call ptr @strerror(i32 noundef %7231) #9
  %7233 = call ptr @__errno_location() #10
  %7234 = load i32, ptr %7233, align 4, !tbaa !5
  %7235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7222, ptr noundef @.str.2, i32 noundef %7223, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7226, ptr noundef %7229, ptr noundef %7232, i32 noundef %7234) #9
  br label %7253

7236:                                             ; preds = %7214, %7207
  %7237 = load i32, ptr %157, align 4, !tbaa !5
  %7238 = call ptr @__errno_location() #10
  store i32 %7237, ptr %7238, align 4, !tbaa !5
  %7239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7240 = load i32, ptr @test_count, align 4, !tbaa !5
  %7241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7242 = load i32, ptr %7241, align 4, !tbaa !5
  %7243 = call ptr @s2n_strerror(i32 noundef %7242, ptr noundef @.str.4)
  %7244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7245 = load i32, ptr %7244, align 4, !tbaa !5
  %7246 = call ptr @s2n_strerror_debug(i32 noundef %7245, ptr noundef @.str.4)
  %7247 = call ptr @__errno_location() #10
  %7248 = load i32, ptr %7247, align 4, !tbaa !5
  %7249 = call ptr @strerror(i32 noundef %7248) #9
  %7250 = call ptr @__errno_location() #10
  %7251 = load i32, ptr %7250, align 4, !tbaa !5
  %7252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7239, ptr noundef @.str.5, i32 noundef %7240, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7243, ptr noundef %7246, ptr noundef %7249, i32 noundef %7251) #9
  br label %7253

7253:                                             ; preds = %7236, %7219
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #9
  br label %7254

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

7255:                                             ; No predecessors!
  br label %7256

7256:                                             ; preds = %7255, %7202
  br label %7257

7257:                                             ; preds = %7256
  %7258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7259 = trunc i8 %7258 to i1
  br i1 %7259, label %7260, label %7276

7260:                                             ; preds = %7257
  %7261 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7262 = call i32 @fileno(ptr noundef %7261) #9
  %7263 = call i32 @isatty(i32 noundef %7262) #9
  %7264 = icmp ne i32 %7263, 0
  br i1 %7264, label %7265, label %7276

7265:                                             ; preds = %7260
  %7266 = load i32, ptr @test_count, align 4, !tbaa !5
  %7267 = icmp ne i32 %7266, 0
  br i1 %7267, label %7268, label %7272

7268:                                             ; preds = %7265
  %7269 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7270 = load i32, ptr @test_count, align 4, !tbaa !5
  %7271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7269, ptr noundef @.str.56, i32 noundef %7270) #9
  br label %7275

7272:                                             ; preds = %7265
  %7273 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7274 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7273, ptr noundef @.str.57) #9
  br label %7275

7275:                                             ; preds = %7272, %7268
  br label %7287

7276:                                             ; preds = %7260, %7257
  %7277 = load i32, ptr @test_count, align 4, !tbaa !5
  %7278 = icmp ne i32 %7277, 0
  br i1 %7278, label %7279, label %7283

7279:                                             ; preds = %7276
  %7280 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7281 = load i32, ptr @test_count, align 4, !tbaa !5
  %7282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7280, ptr noundef @.str.58, i32 noundef %7281) #9
  br label %7286

7283:                                             ; preds = %7276
  %7284 = load ptr, ptr @stdout, align 8, !tbaa !9
  %7285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7284, ptr noundef @.str.59) #9
  br label %7286

7286:                                             ; preds = %7283, %7279
  br label %7287

7287:                                             ; preds = %7286, %7275
  store i32 0, ptr %3, align 4
  br label %7289

7288:                                             ; No predecessors!
  br label %7289

7289:                                             ; preds = %7288, %7287
  %7290 = load i32, ptr %3, align 4
  ret i32 %7290
}

; 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 ptr @s2n_config_new() #2

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_set_config(ptr noundef, 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) #8

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

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

declare ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef) #2

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

declare i32 @s2n_connection_wipe(ptr noundef) #2

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

declare i32 @s2n_conn_set_handshake_type(ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) #2

declare i32 @s2n_config_free(ptr noundef) #2

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) #2

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

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

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) #2

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

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

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

declare i32 @s2n_io_pair_close(ptr noundef) #2

declare i32 @s2n_cert_chain_and_key_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 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { nounwind }
attributes #10 = { nounwind willreturn memory(none) }
attributes #11 = { noreturn nounwind }

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

!0 = !{i32 1, !"wchar_size", i32 4}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{i32 7, !"uwtable", i32 2}
!4 = !{!"clang version 19.1.0 (git@github.com:llvm/llvm-project.git a4bf6cd7cfb1a1421ba92bca9d017b49936c55e4)"}
!5 = !{!6, !6, i64 0}
!6 = !{!"int", !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
!9 = !{!10, !10, i64 0}
!10 = !{!"any pointer", !7, i64 0}
!11 = !{!12, !12, i64 0}
!12 = !{!"_Bool", !7, i64 0}
!13 = !{i8 0, i8 2}
!14 = !{}
!15 = !{!16, !7, i64 220}
!16 = !{!"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, !17, i64 160, !18, i64 168, !18, 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, !19, i64 240, !10, i64 632, !10, i64 640, !20, i64 648, !26, i64 1144, !29, i64 1688, !10, i64 1752, !7, i64 1760, !6, i64 1764, !7, i64 1768, !32, i64 1776, !32, i64 1816, !32, i64 1856, !32, i64 1896, !6, i64 1936, !18, i64 1944, !7, i64 1952, !32, i64 1960, !7, i64 2000, !7, i64 2001, !7, i64 2002, !12, i64 2003, !33, i64 2004, !33, i64 2008, !34, i64 2016, !31, i64 2208, !6, i64 2212, !31, i64 2216, !18, i64 2224, !7, i64 2232, !18, i64 2240, !18, i64 2248, !18, i64 2256, !33, i64 2264, !33, i64 2268, !7, i64 2272, !7, i64 2528, !6, i64 2784, !25, i64 2792, !6, i64 2816, !25, i64 2824, !25, i64 2848, !25, i64 2872, !36, i64 2896, !38, i64 3704, !10, i64 3760, !10, i64 3768, !7, i64 3776, !6, i64 3780, !25, i64 3784, !6, i64 3808, !40, i64 3816, !7, i64 3848, !32, i64 3992, !25, i64 4032, !25, i64 4056, !12, i64 4080, !12, i64 4081, !12, i64 4082, !31, i64 4084, !31, i64 4086, !6, i64 4088, !6, i64 4092, !25, i64 4096, !6, i64 4120, !41, i64 4128, !33, i64 4176, !7, i64 4180, !7, i64 4181}
!17 = !{!"s2n_timer", !18, i64 0}
!18 = !{!"long", !7, i64 0}
!19 = !{!"s2n_secrets", !7, i64 0, !6, i64 388}
!20 = !{!"s2n_kex_parameters", !21, i64 0, !22, i64 8, !7, i64 24, !22, i64 56, !23, i64 72, !23, i64 184, !7, i64 296, !24, i64 360, !25, i64 448, !25, i64 472}
!21 = !{!"s2n_dh_params", !10, i64 0}
!22 = !{!"s2n_ecc_evp_params", !10, i64 0, !10, i64 8}
!23 = !{!"s2n_kem_group_params", !10, i64 0, !24, i64 8, !22, i64 96}
!24 = !{!"s2n_kem_params", !10, i64 0, !25, i64 8, !25, i64 32, !25, i64 56, !12, i64 80}
!25 = !{!"s2n_blob", !10, i64 0, !6, i64 8, !6, i64 12, !6, i64 16}
!26 = !{!"s2n_handshake_parameters", !27, i64 0, !27, i64 48, !25, i64 96, !6, i64 120, !28, 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}
!27 = !{!"s2n_pkey", !10, i64 0, !10, i64 8, !10, i64 16, !10, i64 24, !10, i64 32, !10, i64 40}
!28 = !{!"s2n_sig_scheme_list", !7, i64 0, !7, i64 256}
!29 = !{!"s2n_psk_parameters", !6, i64 0, !30, i64 8, !31, i64 40, !31, i64 42, !10, i64 48, !6, i64 56}
!30 = !{!"s2n_array", !25, i64 0, !6, i64 24, !6, i64 28}
!31 = !{!"short", !7, i64 0}
!32 = !{!"s2n_stuffer", !25, i64 0, !6, i64 24, !6, i64 28, !6, i64 32, !6, i64 36, !6, i64 36, !6, i64 36}
!33 = !{!"", !6, i64 0}
!34 = !{!"s2n_handshake", !32, 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, !35, i64 176, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 184, !6, i64 188}
!35 = !{!"s2n_offered_early_data", !10, i64 0}
!36 = !{!"s2n_client_hello", !25, i64 0, !37, i64 24, !25, i64 728, !25, i64 752, !25, 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}
!37 = !{!"", !7, i64 0, !25, i64 672, !31, i64 696}
!38 = !{!"s2n_x509_validator", !10, i64 0, !10, i64 8, !7, i64 16, !7, i64 17, !31, i64 18, !10, i64 24, !6, i64 32, !10, i64 40, !39, i64 48, !12, i64 52}
!39 = !{!"s2n_cert_validation_info", !6, i64 0, !6, i64 0}
!40 = !{!"s2n_ticket_fields", !25, i64 0, !6, i64 24}
!41 = !{!"s2n_post_handshake", !32, i64 0, !7, i64 40}
!42 = !{!16, !10, i64 232}
!43 = !{!44, !10, i64 0}
!44 = !{!"s2n_crypto_parameters", !10, i64 0, !45, i64 8, !45, i64 16, !46, i64 24, !46, i64 456, !7, i64 888, !7, i64 904, !7, i64 920, !7, i64 928}
!45 = !{!"s2n_session_key", !10, i64 0}
!46 = !{!"s2n_hmac_state", !6, i64 0, !31, i64 4, !6, i64 8, !31, i64 12, !7, i64 14, !47, i64 16, !47, i64 72, !47, i64 128, !47, i64 184, !7, i64 240, !7, i64 368}
!47 = !{!"s2n_hash_state", !10, i64 0, !6, i64 8, !7, i64 12, !18, i64 16, !7, i64 24}
!48 = !{!16, !10, i64 8}
!49 = !{!16, !6, i64 3780}
!50 = !{!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_cipher_suite = type { i8, ptr, ptr, [2 x i8], ptr, i32, ptr, [2 x ptr], i8, ptr, ptr, i32, i8 }
%struct.s2n_stuffer = type { %struct.s2n_blob, i32, i32, i32, i8 }
%struct.s2n_blob = type { ptr, i32, i32, i8 }
%struct.s2n_test_io_pair = type { i32, i32 }

@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 [90 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 [60 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [76 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [68 x i8], align 1
@s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256 = external global %struct.s2n_cipher_suite, align 8
@.str.12 = external hidden unnamed_addr constant [126 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [38 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [144 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [59 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [62 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [65 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [9 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [200 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [75 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [68 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [60 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [44 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [56 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [41 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [25 x i8], align 1

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

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

34:                                               ; preds = %27
  %35 = load ptr, ptr @stderr, align 8, !tbaa !9
  %36 = tail call i32 @fileno(ptr noundef %35) #10
  %37 = tail call i32 @isatty(i32 noundef %36) #10
  %.not497 = icmp eq i32 %37, 0
  br i1 %.not497, label %38, label %39

38:                                               ; preds = %34, %27
  br label %39

39:                                               ; preds = %34, %38
  %.str.5.sink = phi ptr [ @.str.5, %38 ], [ @.str.2, %34 ]
  store i32 %29, ptr %28, align 4, !tbaa !5
  %40 = load ptr, ptr @stderr, align 8, !tbaa !9
  %41 = load i32, ptr @test_count, align 4, !tbaa !5
  %42 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %43 = load i32, ptr %42, align 4, !tbaa !5
  %44 = tail call ptr @s2n_strerror(i32 noundef %43, ptr noundef nonnull @.str.4) #10
  %45 = load i32, ptr %42, align 4, !tbaa !5
  %46 = tail call ptr @s2n_strerror_debug(i32 noundef %45, ptr noundef nonnull @.str.4) #10
  %47 = load i32, ptr %28, align 4, !tbaa !5
  %48 = tail call ptr @strerror(i32 noundef %47) #10
  %49 = load i32, ptr %28, align 4, !tbaa !5
  %50 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %40, ptr noundef nonnull %.str.5.sink, i32 noundef %41, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %44, ptr noundef %46, ptr noundef %48, i32 noundef %49) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

51:                                               ; preds = %2
  %52 = load i32, ptr @test_count, align 4, !tbaa !5
  %53 = add nsw i32 %52, 1
  store i32 %53, ptr @test_count, align 4, !tbaa !5
  %54 = tail call i32 @s2n_enable_atexit() #10
  %55 = icmp eq i32 %54, -1
  br i1 %55, label %56, label %80

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

63:                                               ; preds = %56
  %64 = load ptr, ptr @stderr, align 8, !tbaa !9
  %65 = tail call i32 @fileno(ptr noundef %64) #10
  %66 = tail call i32 @isatty(i32 noundef %65) #10
  %.not496 = icmp eq i32 %66, 0
  br i1 %.not496, label %67, label %68

67:                                               ; preds = %63, %56
  br label %68

68:                                               ; preds = %63, %67
  %.str.5.sink508 = phi ptr [ @.str.5, %67 ], [ @.str.2, %63 ]
  store i32 %58, ptr %57, align 4, !tbaa !5
  %69 = load ptr, ptr @stderr, align 8, !tbaa !9
  %70 = load i32, ptr @test_count, align 4, !tbaa !5
  %71 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %72 = load i32, ptr %71, align 4, !tbaa !5
  %73 = tail call ptr @s2n_strerror(i32 noundef %72, ptr noundef nonnull @.str.4) #10
  %74 = load i32, ptr %71, align 4, !tbaa !5
  %75 = tail call ptr @s2n_strerror_debug(i32 noundef %74, ptr noundef nonnull @.str.4) #10
  %76 = load i32, ptr %57, align 4, !tbaa !5
  %77 = tail call ptr @strerror(i32 noundef %76) #10
  %78 = load i32, ptr %57, align 4, !tbaa !5
  %79 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %69, ptr noundef nonnull %.str.5.sink508, i32 noundef %70, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %73, ptr noundef %75, ptr noundef %77, i32 noundef %78) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

80:                                               ; preds = %51
  %81 = tail call i32 @s2n_init() #10
  %82 = icmp eq i32 %81, -1
  br i1 %82, label %83, label %107

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

90:                                               ; preds = %83
  %91 = load ptr, ptr @stderr, align 8, !tbaa !9
  %92 = tail call i32 @fileno(ptr noundef %91) #10
  %93 = tail call i32 @isatty(i32 noundef %92) #10
  %.not495 = icmp eq i32 %93, 0
  br i1 %.not495, label %94, label %95

94:                                               ; preds = %90, %83
  br label %95

95:                                               ; preds = %90, %94
  %.str.5.sink519 = phi ptr [ @.str.5, %94 ], [ @.str.2, %90 ]
  store i32 %85, ptr %84, align 4, !tbaa !5
  %96 = load ptr, ptr @stderr, align 8, !tbaa !9
  %97 = load i32, ptr @test_count, align 4, !tbaa !5
  %98 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %99 = load i32, ptr %98, align 4, !tbaa !5
  %100 = tail call ptr @s2n_strerror(i32 noundef %99, ptr noundef nonnull @.str.4) #10
  %101 = load i32, ptr %98, align 4, !tbaa !5
  %102 = tail call ptr @s2n_strerror_debug(i32 noundef %101, ptr noundef nonnull @.str.4) #10
  %103 = load i32, ptr %84, align 4, !tbaa !5
  %104 = tail call ptr @strerror(i32 noundef %103) #10
  %105 = load i32, ptr %84, align 4, !tbaa !5
  %106 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %96, ptr noundef nonnull %.str.5.sink519, i32 noundef %97, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 22, ptr noundef %100, ptr noundef %102, ptr noundef %104, i32 noundef %105) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

107:                                              ; preds = %80
  %108 = load i32, ptr @test_count, align 4, !tbaa !5
  %109 = add nsw i32 %108, 1
  store i32 %109, ptr @test_count, align 4, !tbaa !5
  %110 = tail call ptr @s2n_config_new() #10
  %111 = icmp eq ptr %110, null
  br i1 %111, label %112, label %136

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

119:                                              ; preds = %112
  %120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %121 = tail call i32 @fileno(ptr noundef %120) #10
  %122 = tail call i32 @isatty(i32 noundef %121) #10
  %.not494 = icmp eq i32 %122, 0
  br i1 %.not494, label %123, label %124

123:                                              ; preds = %119, %112
  br label %124

124:                                              ; preds = %119, %123
  %.str.5.sink530 = phi ptr [ @.str.5, %123 ], [ @.str.2, %119 ]
  store i32 %114, ptr %113, align 4, !tbaa !5
  %125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %126 = load i32, ptr @test_count, align 4, !tbaa !5
  %127 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %128 = load i32, ptr %127, align 4, !tbaa !5
  %129 = tail call ptr @s2n_strerror(i32 noundef %128, ptr noundef nonnull @.str.4) #10
  %130 = load i32, ptr %127, align 4, !tbaa !5
  %131 = tail call ptr @s2n_strerror_debug(i32 noundef %130, ptr noundef nonnull @.str.4) #10
  %132 = load i32, ptr %113, align 4, !tbaa !5
  %133 = tail call ptr @strerror(i32 noundef %132) #10
  %134 = load i32, ptr %113, align 4, !tbaa !5
  %135 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef nonnull %.str.5.sink530, i32 noundef %126, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 27, ptr noundef %129, ptr noundef %131, ptr noundef %133, i32 noundef %134) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

136:                                              ; preds = %107
  %137 = load i32, ptr @test_count, align 4, !tbaa !5
  %138 = add nsw i32 %137, 1
  store i32 %138, ptr @test_count, align 4, !tbaa !5
  %139 = tail call i32 @s2n_resumption_test_ticket_key_setup(ptr noundef nonnull %110) #10
  %140 = tail call zeroext i1 @s2n_result_is_ok(i32 %139)
  br i1 %140, label %165, label %141

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

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

152:                                              ; preds = %148, %141
  br label %153

153:                                              ; preds = %148, %152
  %.str.5.sink541 = phi ptr [ @.str.5, %152 ], [ @.str.2, %148 ]
  store i32 %143, ptr %142, align 4, !tbaa !5
  %154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %155 = load i32, ptr @test_count, align 4, !tbaa !5
  %156 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %157 = load i32, ptr %156, align 4, !tbaa !5
  %158 = tail call ptr @s2n_strerror(i32 noundef %157, ptr noundef nonnull @.str.4) #10
  %159 = load i32, ptr %156, align 4, !tbaa !5
  %160 = tail call ptr @s2n_strerror_debug(i32 noundef %159, ptr noundef nonnull @.str.4) #10
  %161 = load i32, ptr %142, align 4, !tbaa !5
  %162 = tail call ptr @strerror(i32 noundef %161) #10
  %163 = load i32, ptr %142, align 4, !tbaa !5
  %164 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %154, ptr noundef nonnull %.str.5.sink541, i32 noundef %155, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 28, ptr noundef %158, ptr noundef %160, ptr noundef %162, i32 noundef %163) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

165:                                              ; preds = %136
  %166 = tail call ptr @s2n_connection_new(i32 noundef 0) #10
  %167 = load i32, ptr @test_count, align 4, !tbaa !5
  %168 = add nsw i32 %167, 1
  store i32 %168, ptr @test_count, align 4, !tbaa !5
  %169 = icmp eq ptr %166, null
  br i1 %169, label %170, label %194

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

177:                                              ; preds = %170
  %178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %179 = tail call i32 @fileno(ptr noundef %178) #10
  %180 = tail call i32 @isatty(i32 noundef %179) #10
  %.not493 = icmp eq i32 %180, 0
  br i1 %.not493, label %181, label %182

181:                                              ; preds = %177, %170
  br label %182

182:                                              ; preds = %177, %181
  %.str.5.sink552 = phi ptr [ @.str.5, %181 ], [ @.str.2, %177 ]
  store i32 %172, ptr %171, align 4, !tbaa !5
  %183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %184 = load i32, ptr @test_count, align 4, !tbaa !5
  %185 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %186 = load i32, ptr %185, align 4, !tbaa !5
  %187 = tail call ptr @s2n_strerror(i32 noundef %186, ptr noundef nonnull @.str.4) #10
  %188 = load i32, ptr %185, align 4, !tbaa !5
  %189 = tail call ptr @s2n_strerror_debug(i32 noundef %188, ptr noundef nonnull @.str.4) #10
  %190 = load i32, ptr %171, align 4, !tbaa !5
  %191 = tail call ptr @strerror(i32 noundef %190) #10
  %192 = load i32, ptr %171, align 4, !tbaa !5
  %193 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %183, ptr noundef nonnull %.str.5.sink552, i32 noundef %184, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 39, ptr noundef %187, ptr noundef %189, ptr noundef %191, i32 noundef %192) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

194:                                              ; preds = %165
  %195 = add nsw i32 %167, 2
  store i32 %195, ptr @test_count, align 4, !tbaa !5
  %196 = tail call i32 @s2n_connection_set_config(ptr noundef nonnull %166, ptr noundef nonnull %110) #10
  %197 = icmp eq i32 %196, -1
  br i1 %197, label %198, label %222

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

205:                                              ; preds = %198
  %206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %207 = tail call i32 @fileno(ptr noundef %206) #10
  %208 = tail call i32 @isatty(i32 noundef %207) #10
  %.not492 = icmp eq i32 %208, 0
  br i1 %.not492, label %209, label %210

209:                                              ; preds = %205, %198
  br label %210

210:                                              ; preds = %205, %209
  %.str.5.sink563 = phi ptr [ @.str.5, %209 ], [ @.str.2, %205 ]
  store i32 %200, ptr %199, align 4, !tbaa !5
  %211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %212 = load i32, ptr @test_count, align 4, !tbaa !5
  %213 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %214 = load i32, ptr %213, align 4, !tbaa !5
  %215 = tail call ptr @s2n_strerror(i32 noundef %214, ptr noundef nonnull @.str.4) #10
  %216 = load i32, ptr %213, align 4, !tbaa !5
  %217 = tail call ptr @s2n_strerror_debug(i32 noundef %216, ptr noundef nonnull @.str.4) #10
  %218 = load i32, ptr %199, align 4, !tbaa !5
  %219 = tail call ptr @strerror(i32 noundef %218) #10
  %220 = load i32, ptr %199, align 4, !tbaa !5
  %221 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %211, ptr noundef nonnull %.str.5.sink563, i32 noundef %212, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 40, ptr noundef %215, ptr noundef %217, ptr noundef %219, i32 noundef %220) #12
  tail call void @exit(i32 noundef 1) #13
  unreachable

222:                                              ; preds = %194
  %223 = getelementptr inbounds i8, ptr %166, i64 220
  store i8 33, ptr %223, align 4, !tbaa !15
  %224 = getelementptr inbounds i8, ptr %166, i64 232
  %225 = load ptr, ptr %224, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %225, align 8, !tbaa !43
  %226 = load i32, ptr %166, align 8
  %227 = or i32 %226, 8192
  store i32 %227, ptr %166, align 8
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %3) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %3, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %4) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %4, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr nonnull %5) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(138) %5, i8 0, i64 138, i1 false)
  %228 = load i32, ptr @test_count, align 4, !tbaa !5
  %229 = add nsw i32 %228, 1
  store i32 %229, ptr @test_count, align 4, !tbaa !5
  %230 = call i32 @s2n_blob_init(ptr noundef nonnull %4, ptr noundef nonnull %5, i32 noundef 138) #10
  %231 = icmp eq i32 %230, -1
  br i1 %231, label %232, label %256

232:                                              ; preds = %222
  %233 = tail call ptr @__errno_location() #11
  %234 = load i32, ptr %233, align 4, !tbaa !5
  %235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %236 = call i32 @s2n_print_stacktrace(ptr noundef %235) #10
  %237 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %238 = trunc nuw i8 %237 to i1
  br i1 %238, label %239, label %243

239:                                              ; preds = %232
  %240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %241 = call i32 @fileno(ptr noundef %240) #10
  %242 = call i32 @isatty(i32 noundef %241) #10
  %.not491 = icmp eq i32 %242, 0
  br i1 %.not491, label %243, label %244

243:                                              ; preds = %239, %232
  br label %244

244:                                              ; preds = %239, %243
  %.str.5.sink574 = phi ptr [ @.str.5, %243 ], [ @.str.2, %239 ]
  store i32 %234, ptr %233, align 4, !tbaa !5
  %245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %246 = load i32, ptr @test_count, align 4, !tbaa !5
  %247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %248 = load i32, ptr %247, align 4, !tbaa !5
  %249 = call ptr @s2n_strerror(i32 noundef %248, ptr noundef nonnull @.str.4) #10
  %250 = load i32, ptr %247, align 4, !tbaa !5
  %251 = call ptr @s2n_strerror_debug(i32 noundef %250, ptr noundef nonnull @.str.4) #10
  %252 = load i32, ptr %233, align 4, !tbaa !5
  %253 = call ptr @strerror(i32 noundef %252) #10
  %254 = load i32, ptr %233, align 4, !tbaa !5
  %255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %245, ptr noundef nonnull %.str.5.sink574, i32 noundef %246, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 49, ptr noundef %249, ptr noundef %251, ptr noundef %253, i32 noundef %254) #12
  call void @exit(i32 noundef 1) #13
  unreachable

256:                                              ; preds = %222
  %257 = load i32, ptr @test_count, align 4, !tbaa !5
  %258 = add nsw i32 %257, 1
  store i32 %258, ptr @test_count, align 4, !tbaa !5
  %259 = call i32 @s2n_stuffer_init(ptr noundef nonnull %3, ptr noundef nonnull %4) #10
  %260 = icmp eq i32 %259, -1
  br i1 %260, label %261, label %285

261:                                              ; preds = %256
  %262 = tail call ptr @__errno_location() #11
  %263 = load i32, ptr %262, align 4, !tbaa !5
  %264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %265 = call i32 @s2n_print_stacktrace(ptr noundef %264) #10
  %266 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %267 = trunc nuw i8 %266 to i1
  br i1 %267, label %268, label %272

268:                                              ; preds = %261
  %269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %270 = call i32 @fileno(ptr noundef %269) #10
  %271 = call i32 @isatty(i32 noundef %270) #10
  %.not490 = icmp eq i32 %271, 0
  br i1 %.not490, label %272, label %273

272:                                              ; preds = %268, %261
  br label %273

273:                                              ; preds = %268, %272
  %.str.5.sink585 = phi ptr [ @.str.5, %272 ], [ @.str.2, %268 ]
  store i32 %263, ptr %262, align 4, !tbaa !5
  %274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %275 = load i32, ptr @test_count, align 4, !tbaa !5
  %276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %277 = load i32, ptr %276, align 4, !tbaa !5
  %278 = call ptr @s2n_strerror(i32 noundef %277, ptr noundef nonnull @.str.4) #10
  %279 = load i32, ptr %276, align 4, !tbaa !5
  %280 = call ptr @s2n_strerror_debug(i32 noundef %279, ptr noundef nonnull @.str.4) #10
  %281 = load i32, ptr %262, align 4, !tbaa !5
  %282 = call ptr @strerror(i32 noundef %281) #10
  %283 = load i32, ptr %262, align 4, !tbaa !5
  %284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %274, ptr noundef nonnull %.str.5.sink585, i32 noundef %275, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 50, ptr noundef %278, ptr noundef %280, ptr noundef %282, i32 noundef %283) #12
  call void @exit(i32 noundef 1) #13
  unreachable

285:                                              ; preds = %256
  %286 = getelementptr inbounds i8, ptr %166, i64 8
  %287 = load ptr, ptr %286, align 8, !tbaa !48
  %288 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %287) #10
  %289 = load i32, ptr @test_count, align 4, !tbaa !5
  %290 = add nsw i32 %289, 1
  store i32 %290, ptr @test_count, align 4, !tbaa !5
  %291 = icmp eq ptr %288, null
  br i1 %291, label %292, label %316

292:                                              ; preds = %285
  %293 = tail call ptr @__errno_location() #11
  %294 = load i32, ptr %293, align 4, !tbaa !5
  %295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %296 = call i32 @s2n_print_stacktrace(ptr noundef %295) #10
  %297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %298 = trunc nuw i8 %297 to i1
  br i1 %298, label %299, label %303

299:                                              ; preds = %292
  %300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %301 = call i32 @fileno(ptr noundef %300) #10
  %302 = call i32 @isatty(i32 noundef %301) #10
  %.not489 = icmp eq i32 %302, 0
  br i1 %.not489, label %303, label %304

303:                                              ; preds = %299, %292
  br label %304

304:                                              ; preds = %299, %303
  %.str.5.sink596 = phi ptr [ @.str.5, %303 ], [ @.str.2, %299 ]
  store i32 %294, ptr %293, align 4, !tbaa !5
  %305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %306 = load i32, ptr @test_count, align 4, !tbaa !5
  %307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %308 = load i32, ptr %307, align 4, !tbaa !5
  %309 = call ptr @s2n_strerror(i32 noundef %308, ptr noundef nonnull @.str.4) #10
  %310 = load i32, ptr %307, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror_debug(i32 noundef %310, ptr noundef nonnull @.str.4) #10
  %312 = load i32, ptr %293, align 4, !tbaa !5
  %313 = call ptr @strerror(i32 noundef %312) #10
  %314 = load i32, ptr %293, align 4, !tbaa !5
  %315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %305, ptr noundef nonnull %.str.5.sink596, i32 noundef %306, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 53, ptr noundef %309, ptr noundef %311, ptr noundef %313, i32 noundef %314) #12
  call void @exit(i32 noundef 1) #13
  unreachable

316:                                              ; preds = %285
  %317 = add nsw i32 %289, 2
  store i32 %317, ptr @test_count, align 4, !tbaa !5
  %318 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef nonnull %166, ptr noundef nonnull %288, ptr noundef nonnull %3) #10
  %319 = call zeroext i1 @s2n_result_is_ok(i32 %318)
  br i1 %319, label %344, label %320

320:                                              ; preds = %316
  %321 = tail call ptr @__errno_location() #11
  %322 = load i32, ptr %321, align 4, !tbaa !5
  %323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %324 = call i32 @s2n_print_stacktrace(ptr noundef %323) #10
  %325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %326 = trunc nuw i8 %325 to i1
  br i1 %326, label %327, label %331

327:                                              ; preds = %320
  %328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %329 = call i32 @fileno(ptr noundef %328) #10
  %330 = call i32 @isatty(i32 noundef %329) #10
  %.not378 = icmp eq i32 %330, 0
  br i1 %.not378, label %331, label %332

331:                                              ; preds = %327, %320
  br label %332

332:                                              ; preds = %327, %331
  %.str.5.sink607 = phi ptr [ @.str.5, %331 ], [ @.str.2, %327 ]
  store i32 %322, ptr %321, align 4, !tbaa !5
  %333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %334 = load i32, ptr @test_count, align 4, !tbaa !5
  %335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %336 = load i32, ptr %335, align 4, !tbaa !5
  %337 = call ptr @s2n_strerror(i32 noundef %336, ptr noundef nonnull @.str.4) #10
  %338 = load i32, ptr %335, align 4, !tbaa !5
  %339 = call ptr @s2n_strerror_debug(i32 noundef %338, ptr noundef nonnull @.str.4) #10
  %340 = load i32, ptr %321, align 4, !tbaa !5
  %341 = call ptr @strerror(i32 noundef %340) #10
  %342 = load i32, ptr %321, align 4, !tbaa !5
  %343 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %333, ptr noundef nonnull %.str.5.sink607, i32 noundef %334, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 56, ptr noundef %337, ptr noundef %339, ptr noundef %341, i32 noundef %342) #12
  call void @exit(i32 noundef 1) #13
  unreachable

344:                                              ; preds = %316
  %345 = load i32, ptr @test_count, align 4, !tbaa !5
  %346 = add nsw i32 %345, 1
  store i32 %346, ptr @test_count, align 4, !tbaa !5
  %347 = call i32 @s2n_connection_wipe(ptr noundef nonnull %166) #10
  %348 = icmp eq i32 %347, -1
  br i1 %348, label %349, label %373

349:                                              ; preds = %344
  %350 = tail call ptr @__errno_location() #11
  %351 = load i32, ptr %350, align 4, !tbaa !5
  %352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %353 = call i32 @s2n_print_stacktrace(ptr noundef %352) #10
  %354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %355 = trunc nuw i8 %354 to i1
  br i1 %355, label %356, label %360

356:                                              ; preds = %349
  %357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %358 = call i32 @fileno(ptr noundef %357) #10
  %359 = call i32 @isatty(i32 noundef %358) #10
  %.not488 = icmp eq i32 %359, 0
  br i1 %.not488, label %360, label %361

360:                                              ; preds = %356, %349
  br label %361

361:                                              ; preds = %356, %360
  %.str.5.sink618 = phi ptr [ @.str.5, %360 ], [ @.str.2, %356 ]
  store i32 %351, ptr %350, align 4, !tbaa !5
  %362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %363 = load i32, ptr @test_count, align 4, !tbaa !5
  %364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %365 = load i32, ptr %364, align 4, !tbaa !5
  %366 = call ptr @s2n_strerror(i32 noundef %365, ptr noundef nonnull @.str.4) #10
  %367 = load i32, ptr %364, align 4, !tbaa !5
  %368 = call ptr @s2n_strerror_debug(i32 noundef %367, ptr noundef nonnull @.str.4) #10
  %369 = load i32, ptr %350, align 4, !tbaa !5
  %370 = call ptr @strerror(i32 noundef %369) #10
  %371 = load i32, ptr %350, align 4, !tbaa !5
  %372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %362, ptr noundef nonnull %.str.5.sink618, i32 noundef %363, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 58, ptr noundef %366, ptr noundef %368, ptr noundef %370, i32 noundef %371) #12
  call void @exit(i32 noundef 1) #13
  unreachable

373:                                              ; preds = %344
  %374 = load i32, ptr @test_count, align 4, !tbaa !5
  %375 = add nsw i32 %374, 1
  store i32 %375, ptr @test_count, align 4, !tbaa !5
  %376 = call i32 @s2n_connection_set_config(ptr noundef nonnull %166, ptr noundef nonnull %110) #10
  %377 = icmp eq i32 %376, -1
  br i1 %377, label %378, label %402

378:                                              ; preds = %373
  %379 = tail call ptr @__errno_location() #11
  %380 = load i32, ptr %379, align 4, !tbaa !5
  %381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %382 = call i32 @s2n_print_stacktrace(ptr noundef %381) #10
  %383 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %384 = trunc nuw i8 %383 to i1
  br i1 %384, label %385, label %389

385:                                              ; preds = %378
  %386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %387 = call i32 @fileno(ptr noundef %386) #10
  %388 = call i32 @isatty(i32 noundef %387) #10
  %.not487 = icmp eq i32 %388, 0
  br i1 %.not487, label %389, label %390

389:                                              ; preds = %385, %378
  br label %390

390:                                              ; preds = %385, %389
  %.str.5.sink629 = phi ptr [ @.str.5, %389 ], [ @.str.2, %385 ]
  store i32 %380, ptr %379, align 4, !tbaa !5
  %391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %392 = load i32, ptr @test_count, align 4, !tbaa !5
  %393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %394 = load i32, ptr %393, align 4, !tbaa !5
  %395 = call ptr @s2n_strerror(i32 noundef %394, ptr noundef nonnull @.str.4) #10
  %396 = load i32, ptr %393, align 4, !tbaa !5
  %397 = call ptr @s2n_strerror_debug(i32 noundef %396, ptr noundef nonnull @.str.4) #10
  %398 = load i32, ptr %379, align 4, !tbaa !5
  %399 = call ptr @strerror(i32 noundef %398) #10
  %400 = load i32, ptr %379, align 4, !tbaa !5
  %401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %391, ptr noundef nonnull %.str.5.sink629, i32 noundef %392, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 59, ptr noundef %395, ptr noundef %397, ptr noundef %399, i32 noundef %400) #12
  call void @exit(i32 noundef 1) #13
  unreachable

402:                                              ; preds = %373
  store i8 33, ptr %223, align 4, !tbaa !15
  %403 = load ptr, ptr %224, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %403, align 8, !tbaa !43
  %404 = getelementptr inbounds i8, ptr %166, i64 3780
  store i32 1, ptr %404, align 4, !tbaa !49
  %405 = load i32, ptr @test_count, align 4, !tbaa !5
  %406 = add nsw i32 %405, 1
  store i32 %406, ptr @test_count, align 4, !tbaa !5
  %407 = getelementptr inbounds i8, ptr %166, i64 3992
  %408 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %3, ptr noundef nonnull %407, i32 noundef 138) #10
  %409 = icmp eq i32 %408, -1
  br i1 %409, label %410, label %434

410:                                              ; preds = %402
  %411 = tail call ptr @__errno_location() #11
  %412 = load i32, ptr %411, align 4, !tbaa !5
  %413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %414 = call i32 @s2n_print_stacktrace(ptr noundef %413) #10
  %415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %416 = trunc nuw i8 %415 to i1
  br i1 %416, label %417, label %421

417:                                              ; preds = %410
  %418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %419 = call i32 @fileno(ptr noundef %418) #10
  %420 = call i32 @isatty(i32 noundef %419) #10
  %.not486 = icmp eq i32 %420, 0
  br i1 %.not486, label %421, label %422

421:                                              ; preds = %417, %410
  br label %422

422:                                              ; preds = %417, %421
  %.str.5.sink640 = phi ptr [ @.str.5, %421 ], [ @.str.2, %417 ]
  store i32 %412, ptr %411, align 4, !tbaa !5
  %423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %424 = load i32, ptr @test_count, align 4, !tbaa !5
  %425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %426 = load i32, ptr %425, align 4, !tbaa !5
  %427 = call ptr @s2n_strerror(i32 noundef %426, ptr noundef nonnull @.str.4) #10
  %428 = load i32, ptr %425, align 4, !tbaa !5
  %429 = call ptr @s2n_strerror_debug(i32 noundef %428, ptr noundef nonnull @.str.4) #10
  %430 = load i32, ptr %411, align 4, !tbaa !5
  %431 = call ptr @strerror(i32 noundef %430) #10
  %432 = load i32, ptr %411, align 4, !tbaa !5
  %433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %423, ptr noundef nonnull %.str.5.sink640, i32 noundef %424, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 63, ptr noundef %427, ptr noundef %429, ptr noundef %431, i32 noundef %432) #12
  call void @exit(i32 noundef 1) #13
  unreachable

434:                                              ; preds = %402
  %435 = load i32, ptr @test_count, align 4, !tbaa !5
  %436 = add nsw i32 %435, 1
  store i32 %436, ptr @test_count, align 4, !tbaa !5
  %437 = call i32 @s2n_conn_set_handshake_type(ptr noundef nonnull %166) #10
  %438 = icmp eq i32 %437, -1
  br i1 %438, label %463, label %439

439:                                              ; preds = %434
  %440 = tail call ptr @__errno_location() #11
  %441 = load i32, ptr %440, align 4, !tbaa !5
  %442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %443 = call i32 @s2n_print_stacktrace(ptr noundef %442) #10
  %444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %445 = trunc nuw i8 %444 to i1
  br i1 %445, label %446, label %450

446:                                              ; preds = %439
  %447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %448 = call i32 @fileno(ptr noundef %447) #10
  %449 = call i32 @isatty(i32 noundef %448) #10
  %.not379 = icmp eq i32 %449, 0
  br i1 %.not379, label %450, label %451

450:                                              ; preds = %446, %439
  br label %451

451:                                              ; preds = %446, %450
  %.str.5.sink651 = phi ptr [ @.str.5, %450 ], [ @.str.2, %446 ]
  store i32 %441, ptr %440, align 4, !tbaa !5
  %452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %453 = load i32, ptr @test_count, align 4, !tbaa !5
  %454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %455 = load i32, ptr %454, align 4, !tbaa !5
  %456 = call ptr @s2n_strerror(i32 noundef %455, ptr noundef nonnull @.str.4) #10
  %457 = load i32, ptr %454, align 4, !tbaa !5
  %458 = call ptr @s2n_strerror_debug(i32 noundef %457, ptr noundef nonnull @.str.4) #10
  %459 = load i32, ptr %440, align 4, !tbaa !5
  %460 = call ptr @strerror(i32 noundef %459) #10
  %461 = load i32, ptr %440, align 4, !tbaa !5
  %462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %452, ptr noundef nonnull %.str.5.sink651, i32 noundef %453, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %456, ptr noundef %458, ptr noundef %460, i32 noundef %461) #12
  call void @exit(i32 noundef 1) #13
  unreachable

463:                                              ; preds = %434
  %464 = load i32, ptr @test_count, align 4, !tbaa !5
  %465 = add nsw i32 %464, 1
  store i32 %465, ptr @test_count, align 4, !tbaa !5
  %466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %467 = load i32, ptr %466, align 4, !tbaa !5
  %468 = icmp eq i32 %467, 335544393
  br i1 %468, label %492, label %469

469:                                              ; preds = %463
  %470 = tail call ptr @__errno_location() #11
  %471 = load i32, ptr %470, align 4, !tbaa !5
  %472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %473 = call i32 @s2n_print_stacktrace(ptr noundef %472) #10
  %474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %475 = trunc nuw i8 %474 to i1
  br i1 %475, label %476, label %480

476:                                              ; preds = %469
  %477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %478 = call i32 @fileno(ptr noundef %477) #10
  %479 = call i32 @isatty(i32 noundef %478) #10
  %.not380 = icmp eq i32 %479, 0
  br i1 %.not380, label %480, label %481

480:                                              ; preds = %476, %469
  br label %481

481:                                              ; preds = %476, %480
  %.str.5.sink662 = phi ptr [ @.str.5, %480 ], [ @.str.2, %476 ]
  store i32 %471, ptr %470, align 4, !tbaa !5
  %482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %483 = load i32, ptr @test_count, align 4, !tbaa !5
  %484 = load i32, ptr %466, align 4, !tbaa !5
  %485 = call ptr @s2n_strerror(i32 noundef %484, ptr noundef nonnull @.str.4) #10
  %486 = load i32, ptr %466, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror_debug(i32 noundef %486, ptr noundef nonnull @.str.4) #10
  %488 = load i32, ptr %470, align 4, !tbaa !5
  %489 = call ptr @strerror(i32 noundef %488) #10
  %490 = load i32, ptr %470, align 4, !tbaa !5
  %491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %482, ptr noundef nonnull %.str.5.sink662, i32 noundef %483, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %485, ptr noundef %487, ptr noundef %489, i32 noundef %490) #12
  call void @exit(i32 noundef 1) #13
  unreachable

492:                                              ; preds = %463
  %493 = add nsw i32 %464, 2
  store i32 %493, ptr @test_count, align 4, !tbaa !5
  %494 = call ptr @s2n_strerror_debug(i32 noundef 335544393, ptr noundef nonnull @.str.4) #10
  %495 = icmp eq ptr %494, null
  br i1 %495, label %496, label %519

496:                                              ; preds = %492
  %497 = tail call ptr @__errno_location() #11
  %498 = load i32, ptr %497, align 4, !tbaa !5
  %499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %500 = call i32 @s2n_print_stacktrace(ptr noundef %499) #10
  %501 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %502 = trunc nuw i8 %501 to i1
  br i1 %502, label %503, label %507

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

507:                                              ; preds = %503, %496
  br label %508

508:                                              ; preds = %503, %507
  %.str.5.sink671 = phi ptr [ @.str.5, %507 ], [ @.str.2, %503 ]
  store i32 %498, ptr %497, align 4, !tbaa !5
  %509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %510 = load i32, ptr @test_count, align 4, !tbaa !5
  %511 = load i32, ptr %466, align 4, !tbaa !5
  %512 = call ptr @s2n_strerror(i32 noundef %511, ptr noundef nonnull @.str.4) #10
  %513 = load i32, ptr %466, align 4, !tbaa !5
  %514 = call ptr @s2n_strerror_debug(i32 noundef %513, ptr noundef nonnull @.str.4) #10
  %515 = load i32, ptr %497, align 4, !tbaa !5
  %516 = call ptr @strerror(i32 noundef %515) #10
  %517 = load i32, ptr %497, align 4, !tbaa !5
  %518 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %509, ptr noundef nonnull %.str.5.sink671, i32 noundef %510, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 66, ptr noundef %512, ptr noundef %514, ptr noundef %516, i32 noundef %517) #12
  call void @exit(i32 noundef 1) #13
  unreachable

519:                                              ; preds = %492
  store i32 0, ptr %466, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #10
  %520 = tail call ptr @__errno_location() #11
  store i32 0, ptr %520, align 4, !tbaa !5
  %521 = load i32, ptr @test_count, align 4, !tbaa !5
  %522 = add nsw i32 %521, 1
  store i32 %522, ptr @test_count, align 4, !tbaa !5
  %523 = call i32 @s2n_connection_free(ptr noundef nonnull %166) #10
  %524 = icmp eq i32 %523, -1
  br i1 %524, label %525, label %547

525:                                              ; preds = %519
  %526 = load i32, ptr %520, align 4, !tbaa !5
  %527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %528 = call i32 @s2n_print_stacktrace(ptr noundef %527) #10
  %529 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %530 = trunc nuw i8 %529 to i1
  br i1 %530, label %531, label %535

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

535:                                              ; preds = %531, %525
  br label %536

536:                                              ; preds = %531, %535
  %.str.5.sink680 = phi ptr [ @.str.5, %535 ], [ @.str.2, %531 ]
  store i32 %526, ptr %520, align 4, !tbaa !5
  %537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %538 = load i32, ptr @test_count, align 4, !tbaa !5
  %539 = load i32, ptr %466, align 4, !tbaa !5
  %540 = call ptr @s2n_strerror(i32 noundef %539, ptr noundef nonnull @.str.4) #10
  %541 = load i32, ptr %466, align 4, !tbaa !5
  %542 = call ptr @s2n_strerror_debug(i32 noundef %541, ptr noundef nonnull @.str.4) #10
  %543 = load i32, ptr %520, align 4, !tbaa !5
  %544 = call ptr @strerror(i32 noundef %543) #10
  %545 = load i32, ptr %520, align 4, !tbaa !5
  %546 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %537, ptr noundef nonnull %.str.5.sink680, i32 noundef %538, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 67, ptr noundef %540, ptr noundef %542, ptr noundef %544, i32 noundef %545) #12
  call void @exit(i32 noundef 1) #13
  unreachable

547:                                              ; preds = %519
  call void @llvm.lifetime.end.p0(i64 138, ptr nonnull %5) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %4) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %3) #10
  %548 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %549 = load i32, ptr @test_count, align 4, !tbaa !5
  %550 = add nsw i32 %549, 1
  store i32 %550, ptr @test_count, align 4, !tbaa !5
  %551 = icmp eq ptr %548, null
  br i1 %551, label %552, label %574

552:                                              ; preds = %547
  %553 = load i32, ptr %520, align 4, !tbaa !5
  %554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %555 = call i32 @s2n_print_stacktrace(ptr noundef %554) #10
  %556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %557 = trunc nuw i8 %556 to i1
  br i1 %557, label %558, label %562

558:                                              ; preds = %552
  %559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %560 = call i32 @fileno(ptr noundef %559) #10
  %561 = call i32 @isatty(i32 noundef %560) #10
  %.not483 = icmp eq i32 %561, 0
  br i1 %.not483, label %562, label %563

562:                                              ; preds = %558, %552
  br label %563

563:                                              ; preds = %558, %562
  %.str.5.sink689 = phi ptr [ @.str.5, %562 ], [ @.str.2, %558 ]
  store i32 %553, ptr %520, align 4, !tbaa !5
  %564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %565 = load i32, ptr @test_count, align 4, !tbaa !5
  %566 = load i32, ptr %466, align 4, !tbaa !5
  %567 = call ptr @s2n_strerror(i32 noundef %566, ptr noundef nonnull @.str.4) #10
  %568 = load i32, ptr %466, align 4, !tbaa !5
  %569 = call ptr @s2n_strerror_debug(i32 noundef %568, ptr noundef nonnull @.str.4) #10
  %570 = load i32, ptr %520, align 4, !tbaa !5
  %571 = call ptr @strerror(i32 noundef %570) #10
  %572 = load i32, ptr %520, align 4, !tbaa !5
  %573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %564, ptr noundef nonnull %.str.5.sink689, i32 noundef %565, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 81, ptr noundef %567, ptr noundef %569, ptr noundef %571, i32 noundef %572) #12
  call void @exit(i32 noundef 1) #13
  unreachable

574:                                              ; preds = %547
  %575 = add nsw i32 %549, 2
  store i32 %575, ptr @test_count, align 4, !tbaa !5
  %576 = call i32 @s2n_connection_set_config(ptr noundef nonnull %548, ptr noundef nonnull %110) #10
  %577 = icmp eq i32 %576, -1
  br i1 %577, label %578, label %600

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

584:                                              ; preds = %578
  %585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %586 = call i32 @fileno(ptr noundef %585) #10
  %587 = call i32 @isatty(i32 noundef %586) #10
  %.not482 = icmp eq i32 %587, 0
  br i1 %.not482, label %588, label %589

588:                                              ; preds = %584, %578
  br label %589

589:                                              ; preds = %584, %588
  %.str.5.sink698 = phi ptr [ @.str.5, %588 ], [ @.str.2, %584 ]
  store i32 %579, ptr %520, align 4, !tbaa !5
  %590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %591 = load i32, ptr @test_count, align 4, !tbaa !5
  %592 = load i32, ptr %466, align 4, !tbaa !5
  %593 = call ptr @s2n_strerror(i32 noundef %592, ptr noundef nonnull @.str.4) #10
  %594 = load i32, ptr %466, align 4, !tbaa !5
  %595 = call ptr @s2n_strerror_debug(i32 noundef %594, ptr noundef nonnull @.str.4) #10
  %596 = load i32, ptr %520, align 4, !tbaa !5
  %597 = call ptr @strerror(i32 noundef %596) #10
  %598 = load i32, ptr %520, align 4, !tbaa !5
  %599 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %590, ptr noundef nonnull %.str.5.sink698, i32 noundef %591, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 82, ptr noundef %593, ptr noundef %595, ptr noundef %597, i32 noundef %598) #12
  call void @exit(i32 noundef 1) #13
  unreachable

600:                                              ; preds = %574
  %601 = getelementptr inbounds i8, ptr %548, i64 220
  store i8 33, ptr %601, align 4, !tbaa !15
  %602 = getelementptr inbounds i8, ptr %548, i64 232
  %603 = load ptr, ptr %602, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %603, align 8, !tbaa !43
  %604 = load i32, ptr %548, align 8
  %605 = and i32 %604, -8193
  store i32 %605, ptr %548, align 8
  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)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %7) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %7, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr nonnull %8) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(138) %8, i8 0, i64 138, i1 false)
  %606 = load i32, ptr @test_count, align 4, !tbaa !5
  %607 = add nsw i32 %606, 1
  store i32 %607, ptr @test_count, align 4, !tbaa !5
  %608 = call i32 @s2n_blob_init(ptr noundef nonnull %7, ptr noundef nonnull %8, i32 noundef 138) #10
  %609 = icmp eq i32 %608, -1
  br i1 %609, label %610, label %632

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

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

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

621:                                              ; preds = %616, %620
  %.str.5.sink707 = phi ptr [ @.str.5, %620 ], [ @.str.2, %616 ]
  store i32 %611, ptr %520, align 4, !tbaa !5
  %622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %623 = load i32, ptr @test_count, align 4, !tbaa !5
  %624 = load i32, ptr %466, align 4, !tbaa !5
  %625 = call ptr @s2n_strerror(i32 noundef %624, ptr noundef nonnull @.str.4) #10
  %626 = load i32, ptr %466, align 4, !tbaa !5
  %627 = call ptr @s2n_strerror_debug(i32 noundef %626, ptr noundef nonnull @.str.4) #10
  %628 = load i32, ptr %520, align 4, !tbaa !5
  %629 = call ptr @strerror(i32 noundef %628) #10
  %630 = load i32, ptr %520, align 4, !tbaa !5
  %631 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %622, ptr noundef nonnull %.str.5.sink707, i32 noundef %623, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 91, ptr noundef %625, ptr noundef %627, ptr noundef %629, i32 noundef %630) #12
  call void @exit(i32 noundef 1) #13
  unreachable

632:                                              ; preds = %600
  %633 = load i32, ptr @test_count, align 4, !tbaa !5
  %634 = add nsw i32 %633, 1
  store i32 %634, ptr @test_count, align 4, !tbaa !5
  %635 = call i32 @s2n_stuffer_init(ptr noundef nonnull %6, ptr noundef nonnull %7) #10
  %636 = icmp eq i32 %635, -1
  br i1 %636, label %637, label %659

637:                                              ; preds = %632
  %638 = load i32, ptr %520, align 4, !tbaa !5
  %639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %640 = call i32 @s2n_print_stacktrace(ptr noundef %639) #10
  %641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %642 = trunc nuw i8 %641 to i1
  br i1 %642, label %643, label %647

643:                                              ; preds = %637
  %644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %645 = call i32 @fileno(ptr noundef %644) #10
  %646 = call i32 @isatty(i32 noundef %645) #10
  %.not480 = icmp eq i32 %646, 0
  br i1 %.not480, label %647, label %648

647:                                              ; preds = %643, %637
  br label %648

648:                                              ; preds = %643, %647
  %.str.5.sink716 = phi ptr [ @.str.5, %647 ], [ @.str.2, %643 ]
  store i32 %638, ptr %520, align 4, !tbaa !5
  %649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %650 = load i32, ptr @test_count, align 4, !tbaa !5
  %651 = load i32, ptr %466, align 4, !tbaa !5
  %652 = call ptr @s2n_strerror(i32 noundef %651, ptr noundef nonnull @.str.4) #10
  %653 = load i32, ptr %466, align 4, !tbaa !5
  %654 = call ptr @s2n_strerror_debug(i32 noundef %653, ptr noundef nonnull @.str.4) #10
  %655 = load i32, ptr %520, align 4, !tbaa !5
  %656 = call ptr @strerror(i32 noundef %655) #10
  %657 = load i32, ptr %520, align 4, !tbaa !5
  %658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %649, ptr noundef nonnull %.str.5.sink716, i32 noundef %650, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 92, ptr noundef %652, ptr noundef %654, ptr noundef %656, i32 noundef %657) #12
  call void @exit(i32 noundef 1) #13
  unreachable

659:                                              ; preds = %632
  %660 = getelementptr inbounds i8, ptr %548, i64 8
  %661 = load ptr, ptr %660, align 8, !tbaa !48
  %662 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %661) #10
  %663 = load i32, ptr @test_count, align 4, !tbaa !5
  %664 = add nsw i32 %663, 1
  store i32 %664, ptr @test_count, align 4, !tbaa !5
  %665 = icmp eq ptr %662, null
  br i1 %665, label %666, label %688

666:                                              ; preds = %659
  %667 = load i32, ptr %520, align 4, !tbaa !5
  %668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %669 = call i32 @s2n_print_stacktrace(ptr noundef %668) #10
  %670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %671 = trunc nuw i8 %670 to i1
  br i1 %671, label %672, label %676

672:                                              ; preds = %666
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @fileno(ptr noundef %673) #10
  %675 = call i32 @isatty(i32 noundef %674) #10
  %.not479 = icmp eq i32 %675, 0
  br i1 %.not479, label %676, label %677

676:                                              ; preds = %672, %666
  br label %677

677:                                              ; preds = %672, %676
  %.str.5.sink725 = phi ptr [ @.str.5, %676 ], [ @.str.2, %672 ]
  store i32 %667, ptr %520, align 4, !tbaa !5
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = load i32, ptr @test_count, align 4, !tbaa !5
  %680 = load i32, ptr %466, align 4, !tbaa !5
  %681 = call ptr @s2n_strerror(i32 noundef %680, ptr noundef nonnull @.str.4) #10
  %682 = load i32, ptr %466, align 4, !tbaa !5
  %683 = call ptr @s2n_strerror_debug(i32 noundef %682, ptr noundef nonnull @.str.4) #10
  %684 = load i32, ptr %520, align 4, !tbaa !5
  %685 = call ptr @strerror(i32 noundef %684) #10
  %686 = load i32, ptr %520, align 4, !tbaa !5
  %687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %678, ptr noundef nonnull %.str.5.sink725, i32 noundef %679, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 95, ptr noundef %681, ptr noundef %683, ptr noundef %685, i32 noundef %686) #12
  call void @exit(i32 noundef 1) #13
  unreachable

688:                                              ; preds = %659
  %689 = add nsw i32 %663, 2
  store i32 %689, ptr @test_count, align 4, !tbaa !5
  %690 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef nonnull %548, ptr noundef nonnull %662, ptr noundef nonnull %6) #10
  %691 = call zeroext i1 @s2n_result_is_ok(i32 %690)
  br i1 %691, label %714, label %692

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

698:                                              ; preds = %692
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = call i32 @fileno(ptr noundef %699) #10
  %701 = call i32 @isatty(i32 noundef %700) #10
  %.not381 = icmp eq i32 %701, 0
  br i1 %.not381, label %702, label %703

702:                                              ; preds = %698, %692
  br label %703

703:                                              ; preds = %698, %702
  %.str.5.sink734 = phi ptr [ @.str.5, %702 ], [ @.str.2, %698 ]
  store i32 %693, ptr %520, align 4, !tbaa !5
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = load i32, ptr @test_count, align 4, !tbaa !5
  %706 = load i32, ptr %466, align 4, !tbaa !5
  %707 = call ptr @s2n_strerror(i32 noundef %706, ptr noundef nonnull @.str.4) #10
  %708 = load i32, ptr %466, align 4, !tbaa !5
  %709 = call ptr @s2n_strerror_debug(i32 noundef %708, ptr noundef nonnull @.str.4) #10
  %710 = load i32, ptr %520, align 4, !tbaa !5
  %711 = call ptr @strerror(i32 noundef %710) #10
  %712 = load i32, ptr %520, align 4, !tbaa !5
  %713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %704, ptr noundef nonnull %.str.5.sink734, i32 noundef %705, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 98, ptr noundef %707, ptr noundef %709, ptr noundef %711, i32 noundef %712) #12
  call void @exit(i32 noundef 1) #13
  unreachable

714:                                              ; preds = %688
  %715 = load i32, ptr @test_count, align 4, !tbaa !5
  %716 = add nsw i32 %715, 1
  store i32 %716, ptr @test_count, align 4, !tbaa !5
  %717 = call i32 @s2n_connection_wipe(ptr noundef nonnull %548) #10
  %718 = icmp eq i32 %717, -1
  br i1 %718, label %719, label %741

719:                                              ; preds = %714
  %720 = load i32, ptr %520, align 4, !tbaa !5
  %721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %722 = call i32 @s2n_print_stacktrace(ptr noundef %721) #10
  %723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %724 = trunc nuw i8 %723 to i1
  br i1 %724, label %725, label %729

725:                                              ; preds = %719
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @fileno(ptr noundef %726) #10
  %728 = call i32 @isatty(i32 noundef %727) #10
  %.not478 = icmp eq i32 %728, 0
  br i1 %.not478, label %729, label %730

729:                                              ; preds = %725, %719
  br label %730

730:                                              ; preds = %725, %729
  %.str.5.sink743 = phi ptr [ @.str.5, %729 ], [ @.str.2, %725 ]
  store i32 %720, ptr %520, align 4, !tbaa !5
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = load i32, ptr %466, align 4, !tbaa !5
  %734 = call ptr @s2n_strerror(i32 noundef %733, ptr noundef nonnull @.str.4) #10
  %735 = load i32, ptr %466, align 4, !tbaa !5
  %736 = call ptr @s2n_strerror_debug(i32 noundef %735, ptr noundef nonnull @.str.4) #10
  %737 = load i32, ptr %520, align 4, !tbaa !5
  %738 = call ptr @strerror(i32 noundef %737) #10
  %739 = load i32, ptr %520, align 4, !tbaa !5
  %740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %731, ptr noundef nonnull %.str.5.sink743, i32 noundef %732, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 100, ptr noundef %734, ptr noundef %736, ptr noundef %738, i32 noundef %739) #12
  call void @exit(i32 noundef 1) #13
  unreachable

741:                                              ; preds = %714
  %742 = load i32, ptr @test_count, align 4, !tbaa !5
  %743 = add nsw i32 %742, 1
  store i32 %743, ptr @test_count, align 4, !tbaa !5
  %744 = call i32 @s2n_connection_set_config(ptr noundef nonnull %548, ptr noundef nonnull %110) #10
  %745 = icmp eq i32 %744, -1
  br i1 %745, label %746, label %768

746:                                              ; preds = %741
  %747 = load i32, ptr %520, align 4, !tbaa !5
  %748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %749 = call i32 @s2n_print_stacktrace(ptr noundef %748) #10
  %750 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %751 = trunc nuw i8 %750 to i1
  br i1 %751, label %752, label %756

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

756:                                              ; preds = %752, %746
  br label %757

757:                                              ; preds = %752, %756
  %.str.5.sink752 = phi ptr [ @.str.5, %756 ], [ @.str.2, %752 ]
  store i32 %747, ptr %520, align 4, !tbaa !5
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = load i32, ptr @test_count, align 4, !tbaa !5
  %760 = load i32, ptr %466, align 4, !tbaa !5
  %761 = call ptr @s2n_strerror(i32 noundef %760, ptr noundef nonnull @.str.4) #10
  %762 = load i32, ptr %466, align 4, !tbaa !5
  %763 = call ptr @s2n_strerror_debug(i32 noundef %762, ptr noundef nonnull @.str.4) #10
  %764 = load i32, ptr %520, align 4, !tbaa !5
  %765 = call ptr @strerror(i32 noundef %764) #10
  %766 = load i32, ptr %520, align 4, !tbaa !5
  %767 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %758, ptr noundef nonnull %.str.5.sink752, i32 noundef %759, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %761, ptr noundef %763, ptr noundef %765, i32 noundef %766) #12
  call void @exit(i32 noundef 1) #13
  unreachable

768:                                              ; preds = %741
  store i8 33, ptr %601, align 4, !tbaa !15
  %769 = load ptr, ptr %602, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %769, align 8, !tbaa !43
  %770 = getelementptr inbounds i8, ptr %548, i64 3780
  store i32 1, ptr %770, align 4, !tbaa !49
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = add nsw i32 %771, 1
  store i32 %772, ptr @test_count, align 4, !tbaa !5
  %773 = getelementptr inbounds i8, ptr %548, i64 3992
  %774 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %6, ptr noundef nonnull %773, i32 noundef 138) #10
  %775 = icmp eq i32 %774, -1
  br i1 %775, label %776, label %798

776:                                              ; preds = %768
  %777 = load i32, ptr %520, align 4, !tbaa !5
  %778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %779 = call i32 @s2n_print_stacktrace(ptr noundef %778) #10
  %780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %781 = trunc nuw i8 %780 to i1
  br i1 %781, label %782, label %786

782:                                              ; preds = %776
  %783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %784 = call i32 @fileno(ptr noundef %783) #10
  %785 = call i32 @isatty(i32 noundef %784) #10
  %.not476 = icmp eq i32 %785, 0
  br i1 %.not476, label %786, label %787

786:                                              ; preds = %782, %776
  br label %787

787:                                              ; preds = %782, %786
  %.str.5.sink761 = phi ptr [ @.str.5, %786 ], [ @.str.2, %782 ]
  store i32 %777, ptr %520, align 4, !tbaa !5
  %788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %789 = load i32, ptr @test_count, align 4, !tbaa !5
  %790 = load i32, ptr %466, align 4, !tbaa !5
  %791 = call ptr @s2n_strerror(i32 noundef %790, ptr noundef nonnull @.str.4) #10
  %792 = load i32, ptr %466, align 4, !tbaa !5
  %793 = call ptr @s2n_strerror_debug(i32 noundef %792, ptr noundef nonnull @.str.4) #10
  %794 = load i32, ptr %520, align 4, !tbaa !5
  %795 = call ptr @strerror(i32 noundef %794) #10
  %796 = load i32, ptr %520, align 4, !tbaa !5
  %797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %788, ptr noundef nonnull %.str.5.sink761, i32 noundef %789, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 105, ptr noundef %791, ptr noundef %793, ptr noundef %795, i32 noundef %796) #12
  call void @exit(i32 noundef 1) #13
  unreachable

798:                                              ; preds = %768
  %799 = load i32, ptr %548, align 8
  %800 = or i32 %799, 8192
  store i32 %800, ptr %548, align 8
  %801 = load i32, ptr @test_count, align 4, !tbaa !5
  %802 = add nsw i32 %801, 1
  store i32 %802, ptr @test_count, align 4, !tbaa !5
  %803 = call i32 @s2n_conn_set_handshake_type(ptr noundef nonnull %548) #10
  %804 = icmp eq i32 %803, -1
  br i1 %804, label %805, label %827

805:                                              ; preds = %798
  %806 = load i32, ptr %520, align 4, !tbaa !5
  %807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %808 = call i32 @s2n_print_stacktrace(ptr noundef %807) #10
  %809 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %810 = trunc nuw i8 %809 to i1
  br i1 %810, label %811, label %815

811:                                              ; preds = %805
  %812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %813 = call i32 @fileno(ptr noundef %812) #10
  %814 = call i32 @isatty(i32 noundef %813) #10
  %.not475 = icmp eq i32 %814, 0
  br i1 %.not475, label %815, label %816

815:                                              ; preds = %811, %805
  br label %816

816:                                              ; preds = %811, %815
  %.str.5.sink770 = phi ptr [ @.str.5, %815 ], [ @.str.2, %811 ]
  store i32 %806, ptr %520, align 4, !tbaa !5
  %817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %818 = load i32, ptr @test_count, align 4, !tbaa !5
  %819 = load i32, ptr %466, align 4, !tbaa !5
  %820 = call ptr @s2n_strerror(i32 noundef %819, ptr noundef nonnull @.str.4) #10
  %821 = load i32, ptr %466, align 4, !tbaa !5
  %822 = call ptr @s2n_strerror_debug(i32 noundef %821, ptr noundef nonnull @.str.4) #10
  %823 = load i32, ptr %520, align 4, !tbaa !5
  %824 = call ptr @strerror(i32 noundef %823) #10
  %825 = load i32, ptr %520, align 4, !tbaa !5
  %826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %817, ptr noundef nonnull %.str.5.sink770, i32 noundef %818, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 110, ptr noundef %820, ptr noundef %822, ptr noundef %824, i32 noundef %825) #12
  call void @exit(i32 noundef 1) #13
  unreachable

827:                                              ; preds = %798
  %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 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %548, i32 noundef 2) #10
  br i1 %830, label %853, label %831

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

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

841:                                              ; preds = %837, %831
  br label %842

842:                                              ; preds = %837, %841
  %.str.5.sink779 = phi ptr [ @.str.5, %841 ], [ @.str.2, %837 ]
  store i32 %832, ptr %520, align 4, !tbaa !5
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = load i32, ptr @test_count, align 4, !tbaa !5
  %845 = load i32, ptr %466, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef nonnull @.str.4) #10
  %847 = load i32, ptr %466, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef nonnull @.str.4) #10
  %849 = load i32, ptr %520, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #10
  %851 = load i32, ptr %520, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %843, ptr noundef nonnull %.str.5.sink779, i32 noundef %844, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 113, ptr noundef %846, ptr noundef %848, ptr noundef %850, i32 noundef %851) #12
  call void @exit(i32 noundef 1) #13
  unreachable

853:                                              ; preds = %827
  %854 = load i32, ptr @test_count, align 4, !tbaa !5
  %855 = add nsw i32 %854, 1
  store i32 %855, ptr @test_count, align 4, !tbaa !5
  %856 = call i32 @s2n_connection_free(ptr noundef nonnull %548) #10
  %857 = icmp eq i32 %856, -1
  br i1 %857, label %858, label %880

858:                                              ; preds = %853
  %859 = load i32, ptr %520, 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 = %858
  %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
  %.not474 = icmp eq i32 %867, 0
  br i1 %.not474, label %868, label %869

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

869:                                              ; preds = %864, %868
  %.str.5.sink788 = phi ptr [ @.str.5, %868 ], [ @.str.2, %864 ]
  store i32 %859, ptr %520, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = load i32, ptr %466, align 4, !tbaa !5
  %873 = call ptr @s2n_strerror(i32 noundef %872, ptr noundef nonnull @.str.4) #10
  %874 = load i32, ptr %466, align 4, !tbaa !5
  %875 = call ptr @s2n_strerror_debug(i32 noundef %874, ptr noundef nonnull @.str.4) #10
  %876 = load i32, ptr %520, align 4, !tbaa !5
  %877 = call ptr @strerror(i32 noundef %876) #10
  %878 = load i32, ptr %520, align 4, !tbaa !5
  %879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef nonnull %.str.5.sink788, i32 noundef %871, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 115, ptr noundef %873, ptr noundef %875, ptr noundef %877, i32 noundef %878) #12
  call void @exit(i32 noundef 1) #13
  unreachable

880:                                              ; preds = %853
  call void @llvm.lifetime.end.p0(i64 138, ptr nonnull %8) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %7) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %6) #10
  %881 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %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 = icmp eq ptr %881, null
  br i1 %884, label %885, label %907

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

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

895:                                              ; preds = %891, %885
  br label %896

896:                                              ; preds = %891, %895
  %.str.5.sink797 = phi ptr [ @.str.5, %895 ], [ @.str.2, %891 ]
  store i32 %886, ptr %520, align 4, !tbaa !5
  %897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %898 = load i32, ptr @test_count, align 4, !tbaa !5
  %899 = load i32, ptr %466, align 4, !tbaa !5
  %900 = call ptr @s2n_strerror(i32 noundef %899, ptr noundef nonnull @.str.4) #10
  %901 = load i32, ptr %466, align 4, !tbaa !5
  %902 = call ptr @s2n_strerror_debug(i32 noundef %901, ptr noundef nonnull @.str.4) #10
  %903 = load i32, ptr %520, align 4, !tbaa !5
  %904 = call ptr @strerror(i32 noundef %903) #10
  %905 = load i32, ptr %520, align 4, !tbaa !5
  %906 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %897, ptr noundef nonnull %.str.5.sink797, i32 noundef %898, ptr noundef nonnull @.str.10, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %900, ptr noundef %902, ptr noundef %904, i32 noundef %905) #12
  call void @exit(i32 noundef 1) #13
  unreachable

907:                                              ; preds = %880
  %908 = add nsw i32 %882, 2
  store i32 %908, ptr @test_count, align 4, !tbaa !5
  %909 = call i32 @s2n_connection_set_config(ptr noundef nonnull %881, ptr noundef nonnull %110) #10
  %910 = icmp eq i32 %909, -1
  br i1 %910, label %911, label %933

911:                                              ; preds = %907
  %912 = load i32, ptr %520, align 4, !tbaa !5
  %913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %914 = call i32 @s2n_print_stacktrace(ptr noundef %913) #10
  %915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %916 = trunc nuw i8 %915 to i1
  br i1 %916, label %917, label %921

917:                                              ; preds = %911
  %918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %919 = call i32 @fileno(ptr noundef %918) #10
  %920 = call i32 @isatty(i32 noundef %919) #10
  %.not472 = icmp eq i32 %920, 0
  br i1 %.not472, label %921, label %922

921:                                              ; preds = %917, %911
  br label %922

922:                                              ; preds = %917, %921
  %.str.5.sink806 = phi ptr [ @.str.5, %921 ], [ @.str.2, %917 ]
  store i32 %912, ptr %520, align 4, !tbaa !5
  %923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %924 = load i32, ptr @test_count, align 4, !tbaa !5
  %925 = load i32, ptr %466, align 4, !tbaa !5
  %926 = call ptr @s2n_strerror(i32 noundef %925, ptr noundef nonnull @.str.4) #10
  %927 = load i32, ptr %466, align 4, !tbaa !5
  %928 = call ptr @s2n_strerror_debug(i32 noundef %927, ptr noundef nonnull @.str.4) #10
  %929 = load i32, ptr %520, align 4, !tbaa !5
  %930 = call ptr @strerror(i32 noundef %929) #10
  %931 = load i32, ptr %520, align 4, !tbaa !5
  %932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %923, ptr noundef nonnull %.str.5.sink806, i32 noundef %924, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %926, ptr noundef %928, ptr noundef %930, i32 noundef %931) #12
  call void @exit(i32 noundef 1) #13
  unreachable

933:                                              ; preds = %907
  %934 = getelementptr inbounds i8, ptr %881, i64 220
  store i8 33, ptr %934, align 4, !tbaa !15
  %935 = getelementptr inbounds i8, ptr %881, i64 232
  %936 = load ptr, ptr %935, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %936, align 8, !tbaa !43
  %937 = load i32, ptr %881, align 8
  %938 = or i32 %937, 8192
  store i32 %938, ptr %881, align 8
  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)
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %10) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %10, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 138, ptr nonnull %11) #10
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(138) %11, i8 0, i64 138, i1 false)
  %939 = load i32, ptr @test_count, align 4, !tbaa !5
  %940 = add nsw i32 %939, 1
  store i32 %940, ptr @test_count, align 4, !tbaa !5
  %941 = call i32 @s2n_blob_init(ptr noundef nonnull %10, ptr noundef nonnull %11, i32 noundef 138) #10
  %942 = icmp eq i32 %941, -1
  br i1 %942, label %943, label %965

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

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

953:                                              ; preds = %949, %943
  br label %954

954:                                              ; preds = %949, %953
  %.str.5.sink815 = phi ptr [ @.str.5, %953 ], [ @.str.2, %949 ]
  store i32 %944, ptr %520, align 4, !tbaa !5
  %955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %956 = load i32, ptr @test_count, align 4, !tbaa !5
  %957 = load i32, ptr %466, align 4, !tbaa !5
  %958 = call ptr @s2n_strerror(i32 noundef %957, ptr noundef nonnull @.str.4) #10
  %959 = load i32, ptr %466, align 4, !tbaa !5
  %960 = call ptr @s2n_strerror_debug(i32 noundef %959, ptr noundef nonnull @.str.4) #10
  %961 = load i32, ptr %520, align 4, !tbaa !5
  %962 = call ptr @strerror(i32 noundef %961) #10
  %963 = load i32, ptr %520, align 4, !tbaa !5
  %964 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %955, ptr noundef nonnull %.str.5.sink815, i32 noundef %956, ptr noundef nonnull @.str.12, ptr noundef nonnull @.str.1, i32 noundef 131, ptr noundef %958, ptr noundef %960, ptr noundef %962, i32 noundef %963) #12
  call void @exit(i32 noundef 1) #13
  unreachable

965:                                              ; preds = %933
  %966 = load i32, ptr @test_count, align 4, !tbaa !5
  %967 = add nsw i32 %966, 1
  store i32 %967, ptr @test_count, align 4, !tbaa !5
  %968 = call i32 @s2n_stuffer_init(ptr noundef nonnull %9, ptr noundef nonnull %10) #10
  %969 = icmp eq i32 %968, -1
  br i1 %969, label %970, label %992

970:                                              ; preds = %965
  %971 = load i32, ptr %520, align 4, !tbaa !5
  %972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %973 = call i32 @s2n_print_stacktrace(ptr noundef %972) #10
  %974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %975 = trunc nuw i8 %974 to i1
  br i1 %975, label %976, label %980

976:                                              ; preds = %970
  %977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %978 = call i32 @fileno(ptr noundef %977) #10
  %979 = call i32 @isatty(i32 noundef %978) #10
  %.not470 = icmp eq i32 %979, 0
  br i1 %.not470, label %980, label %981

980:                                              ; preds = %976, %970
  br label %981

981:                                              ; preds = %976, %980
  %.str.5.sink824 = phi ptr [ @.str.5, %980 ], [ @.str.2, %976 ]
  store i32 %971, ptr %520, align 4, !tbaa !5
  %982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %983 = load i32, ptr @test_count, align 4, !tbaa !5
  %984 = load i32, ptr %466, align 4, !tbaa !5
  %985 = call ptr @s2n_strerror(i32 noundef %984, ptr noundef nonnull @.str.4) #10
  %986 = load i32, ptr %466, align 4, !tbaa !5
  %987 = call ptr @s2n_strerror_debug(i32 noundef %986, ptr noundef nonnull @.str.4) #10
  %988 = load i32, ptr %520, align 4, !tbaa !5
  %989 = call ptr @strerror(i32 noundef %988) #10
  %990 = load i32, ptr %520, align 4, !tbaa !5
  %991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %982, ptr noundef nonnull %.str.5.sink824, i32 noundef %983, ptr noundef nonnull @.str.13, ptr noundef nonnull @.str.1, i32 noundef 132, ptr noundef %985, ptr noundef %987, ptr noundef %989, i32 noundef %990) #12
  call void @exit(i32 noundef 1) #13
  unreachable

992:                                              ; preds = %965
  %993 = getelementptr inbounds i8, ptr %881, i64 8
  %994 = load ptr, ptr %993, align 8, !tbaa !48
  %995 = call ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef %994) #10
  %996 = load i32, ptr @test_count, align 4, !tbaa !5
  %997 = add nsw i32 %996, 1
  store i32 %997, ptr @test_count, align 4, !tbaa !5
  %998 = icmp eq ptr %995, null
  br i1 %998, label %999, label %1021

999:                                              ; preds = %992
  %1000 = load i32, ptr %520, align 4, !tbaa !5
  %1001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1002 = call i32 @s2n_print_stacktrace(ptr noundef %1001) #10
  %1003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1004 = trunc nuw i8 %1003 to i1
  br i1 %1004, label %1005, label %1009

1005:                                             ; preds = %999
  %1006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1007 = call i32 @fileno(ptr noundef %1006) #10
  %1008 = call i32 @isatty(i32 noundef %1007) #10
  %.not469 = icmp eq i32 %1008, 0
  br i1 %.not469, label %1009, label %1010

1009:                                             ; preds = %1005, %999
  br label %1010

1010:                                             ; preds = %1005, %1009
  %.str.5.sink833 = phi ptr [ @.str.5, %1009 ], [ @.str.2, %1005 ]
  store i32 %1000, ptr %520, align 4, !tbaa !5
  %1011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1012 = load i32, ptr @test_count, align 4, !tbaa !5
  %1013 = load i32, ptr %466, align 4, !tbaa !5
  %1014 = call ptr @s2n_strerror(i32 noundef %1013, ptr noundef nonnull @.str.4) #10
  %1015 = load i32, ptr %466, align 4, !tbaa !5
  %1016 = call ptr @s2n_strerror_debug(i32 noundef %1015, ptr noundef nonnull @.str.4) #10
  %1017 = load i32, ptr %520, align 4, !tbaa !5
  %1018 = call ptr @strerror(i32 noundef %1017) #10
  %1019 = load i32, ptr %520, align 4, !tbaa !5
  %1020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1011, ptr noundef nonnull %.str.5.sink833, i32 noundef %1012, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 135, ptr noundef %1014, ptr noundef %1016, ptr noundef %1018, i32 noundef %1019) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1021:                                             ; preds = %992
  %1022 = add nsw i32 %996, 2
  store i32 %1022, ptr @test_count, align 4, !tbaa !5
  %1023 = call i32 @s2n_resume_encrypt_session_ticket(ptr noundef nonnull %881, ptr noundef nonnull %995, ptr noundef nonnull %9) #10
  %1024 = call zeroext i1 @s2n_result_is_ok(i32 %1023)
  br i1 %1024, label %1047, label %1025

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

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

1035:                                             ; preds = %1031, %1025
  br label %1036

1036:                                             ; preds = %1031, %1035
  %.str.5.sink842 = phi ptr [ @.str.5, %1035 ], [ @.str.2, %1031 ]
  store i32 %1026, ptr %520, align 4, !tbaa !5
  %1037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1038 = load i32, ptr @test_count, align 4, !tbaa !5
  %1039 = load i32, ptr %466, align 4, !tbaa !5
  %1040 = call ptr @s2n_strerror(i32 noundef %1039, ptr noundef nonnull @.str.4) #10
  %1041 = load i32, ptr %466, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror_debug(i32 noundef %1041, ptr noundef nonnull @.str.4) #10
  %1043 = load i32, ptr %520, align 4, !tbaa !5
  %1044 = call ptr @strerror(i32 noundef %1043) #10
  %1045 = load i32, ptr %520, align 4, !tbaa !5
  %1046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1037, ptr noundef nonnull %.str.5.sink842, i32 noundef %1038, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 138, ptr noundef %1040, ptr noundef %1042, ptr noundef %1044, i32 noundef %1045) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1047:                                             ; preds = %1021
  %1048 = load i32, ptr @test_count, align 4, !tbaa !5
  %1049 = add nsw i32 %1048, 1
  store i32 %1049, ptr @test_count, align 4, !tbaa !5
  %1050 = call i32 @s2n_connection_wipe(ptr noundef nonnull %881) #10
  %1051 = icmp eq i32 %1050, -1
  br i1 %1051, label %1052, label %1074

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

1058:                                             ; preds = %1052
  %1059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1060 = call i32 @fileno(ptr noundef %1059) #10
  %1061 = call i32 @isatty(i32 noundef %1060) #10
  %.not468 = icmp eq i32 %1061, 0
  br i1 %.not468, label %1062, label %1063

1062:                                             ; preds = %1058, %1052
  br label %1063

1063:                                             ; preds = %1058, %1062
  %.str.5.sink851 = phi ptr [ @.str.5, %1062 ], [ @.str.2, %1058 ]
  store i32 %1053, ptr %520, align 4, !tbaa !5
  %1064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1065 = load i32, ptr @test_count, align 4, !tbaa !5
  %1066 = load i32, ptr %466, align 4, !tbaa !5
  %1067 = call ptr @s2n_strerror(i32 noundef %1066, ptr noundef nonnull @.str.4) #10
  %1068 = load i32, ptr %466, align 4, !tbaa !5
  %1069 = call ptr @s2n_strerror_debug(i32 noundef %1068, ptr noundef nonnull @.str.4) #10
  %1070 = load i32, ptr %520, align 4, !tbaa !5
  %1071 = call ptr @strerror(i32 noundef %1070) #10
  %1072 = load i32, ptr %520, align 4, !tbaa !5
  %1073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1064, ptr noundef nonnull %.str.5.sink851, i32 noundef %1065, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %1067, ptr noundef %1069, ptr noundef %1071, i32 noundef %1072) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1074:                                             ; preds = %1047
  %1075 = load i32, ptr @test_count, align 4, !tbaa !5
  %1076 = add nsw i32 %1075, 1
  store i32 %1076, ptr @test_count, align 4, !tbaa !5
  %1077 = call i32 @s2n_connection_set_config(ptr noundef nonnull %881, ptr noundef nonnull %110) #10
  %1078 = icmp eq i32 %1077, -1
  br i1 %1078, label %1079, label %1101

1079:                                             ; preds = %1074
  %1080 = load i32, ptr %520, align 4, !tbaa !5
  %1081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1082 = call i32 @s2n_print_stacktrace(ptr noundef %1081) #10
  %1083 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1084 = trunc nuw i8 %1083 to i1
  br i1 %1084, label %1085, label %1089

1085:                                             ; preds = %1079
  %1086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1087 = call i32 @fileno(ptr noundef %1086) #10
  %1088 = call i32 @isatty(i32 noundef %1087) #10
  %.not467 = icmp eq i32 %1088, 0
  br i1 %.not467, label %1089, label %1090

1089:                                             ; preds = %1085, %1079
  br label %1090

1090:                                             ; preds = %1085, %1089
  %.str.5.sink860 = phi ptr [ @.str.5, %1089 ], [ @.str.2, %1085 ]
  store i32 %1080, ptr %520, align 4, !tbaa !5
  %1091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1092 = load i32, ptr @test_count, align 4, !tbaa !5
  %1093 = load i32, ptr %466, align 4, !tbaa !5
  %1094 = call ptr @s2n_strerror(i32 noundef %1093, ptr noundef nonnull @.str.4) #10
  %1095 = load i32, ptr %466, align 4, !tbaa !5
  %1096 = call ptr @s2n_strerror_debug(i32 noundef %1095, ptr noundef nonnull @.str.4) #10
  %1097 = load i32, ptr %520, align 4, !tbaa !5
  %1098 = call ptr @strerror(i32 noundef %1097) #10
  %1099 = load i32, ptr %520, align 4, !tbaa !5
  %1100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1091, ptr noundef nonnull %.str.5.sink860, i32 noundef %1092, ptr noundef nonnull @.str.11, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %1094, ptr noundef %1096, ptr noundef %1098, i32 noundef %1099) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1101:                                             ; preds = %1074
  store i8 33, ptr %934, align 4, !tbaa !15
  %1102 = load ptr, ptr %935, align 8, !tbaa !42
  store ptr @s2n_ecdhe_ecdsa_with_aes_128_gcm_sha256, ptr %1102, align 8, !tbaa !43
  %1103 = getelementptr inbounds i8, ptr %881, i64 3780
  store i32 1, ptr %1103, align 4, !tbaa !49
  %1104 = load i32, ptr @test_count, align 4, !tbaa !5
  %1105 = add nsw i32 %1104, 1
  store i32 %1105, ptr @test_count, align 4, !tbaa !5
  %1106 = getelementptr inbounds i8, ptr %881, i64 3992
  %1107 = call i32 @s2n_stuffer_copy(ptr noundef nonnull %9, ptr noundef nonnull %1106, i32 noundef 138) #10
  %1108 = icmp eq i32 %1107, -1
  br i1 %1108, label %1109, label %1131

1109:                                             ; preds = %1101
  %1110 = load i32, ptr %520, align 4, !tbaa !5
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = call i32 @s2n_print_stacktrace(ptr noundef %1111) #10
  %1113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1114 = trunc nuw i8 %1113 to i1
  br i1 %1114, label %1115, label %1119

1115:                                             ; preds = %1109
  %1116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1117 = call i32 @fileno(ptr noundef %1116) #10
  %1118 = call i32 @isatty(i32 noundef %1117) #10
  %.not466 = icmp eq i32 %1118, 0
  br i1 %.not466, label %1119, label %1120

1119:                                             ; preds = %1115, %1109
  br label %1120

1120:                                             ; preds = %1115, %1119
  %.str.5.sink869 = phi ptr [ @.str.5, %1119 ], [ @.str.2, %1115 ]
  store i32 %1110, ptr %520, align 4, !tbaa !5
  %1121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1122 = load i32, ptr @test_count, align 4, !tbaa !5
  %1123 = load i32, ptr %466, align 4, !tbaa !5
  %1124 = call ptr @s2n_strerror(i32 noundef %1123, ptr noundef nonnull @.str.4) #10
  %1125 = load i32, ptr %466, align 4, !tbaa !5
  %1126 = call ptr @s2n_strerror_debug(i32 noundef %1125, ptr noundef nonnull @.str.4) #10
  %1127 = load i32, ptr %520, align 4, !tbaa !5
  %1128 = call ptr @strerror(i32 noundef %1127) #10
  %1129 = load i32, ptr %520, align 4, !tbaa !5
  %1130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1121, ptr noundef nonnull %.str.5.sink869, i32 noundef %1122, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 145, ptr noundef %1124, ptr noundef %1126, ptr noundef %1128, i32 noundef %1129) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1131:                                             ; preds = %1101
  %1132 = load i32, ptr %881, align 8
  %1133 = or i32 %1132, 8192
  store i32 %1133, ptr %881, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %12) #10
  store i8 0, ptr %12, align 1, !tbaa !50
  %1134 = load i32, ptr @test_count, align 4, !tbaa !5
  %1135 = add nsw i32 %1134, 1
  store i32 %1135, ptr @test_count, align 4, !tbaa !5
  %1136 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 23, ptr noundef nonnull %12) #10
  %1137 = icmp eq i32 %1136, -1
  br i1 %1137, label %1138, label %1160

1138:                                             ; preds = %1131
  %1139 = load i32, ptr %520, align 4, !tbaa !5
  %1140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1141 = call i32 @s2n_print_stacktrace(ptr noundef %1140) #10
  %1142 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1143 = trunc nuw i8 %1142 to i1
  br i1 %1143, label %1144, label %1148

1144:                                             ; preds = %1138
  %1145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1146 = call i32 @fileno(ptr noundef %1145) #10
  %1147 = call i32 @isatty(i32 noundef %1146) #10
  %.not465 = icmp eq i32 %1147, 0
  br i1 %.not465, label %1148, label %1149

1148:                                             ; preds = %1144, %1138
  br label %1149

1149:                                             ; preds = %1144, %1148
  %.str.5.sink878 = phi ptr [ @.str.5, %1148 ], [ @.str.2, %1144 ]
  store i32 %1139, ptr %520, align 4, !tbaa !5
  %1150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1151 = load i32, ptr @test_count, align 4, !tbaa !5
  %1152 = load i32, ptr %466, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror(i32 noundef %1152, ptr noundef nonnull @.str.4) #10
  %1154 = load i32, ptr %466, align 4, !tbaa !5
  %1155 = call ptr @s2n_strerror_debug(i32 noundef %1154, ptr noundef nonnull @.str.4) #10
  %1156 = load i32, ptr %520, align 4, !tbaa !5
  %1157 = call ptr @strerror(i32 noundef %1156) #10
  %1158 = load i32, ptr %520, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1150, ptr noundef nonnull %.str.5.sink878, i32 noundef %1151, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %1153, ptr noundef %1155, ptr noundef %1157, i32 noundef %1158) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1160:                                             ; preds = %1131
  %1161 = load i8, ptr %12, align 1, !tbaa !50
  %1162 = and i8 %1161, 7
  %1163 = shl nuw i8 1, %1162
  %1164 = getelementptr inbounds i8, ptr %881, i64 102
  %1165 = lshr i8 %1161, 3
  %1166 = zext nneg i8 %1165 to i64
  %1167 = getelementptr inbounds [22 x i8], ptr %1164, i64 0, i64 %1166
  %1168 = load i8, ptr %1167, align 1, !tbaa !50
  %1169 = or i8 %1163, %1168
  store i8 %1169, ptr %1167, align 1, !tbaa !50
  %1170 = load i32, ptr @test_count, align 4, !tbaa !5
  %1171 = add nsw i32 %1170, 1
  store i32 %1171, ptr @test_count, align 4, !tbaa !5
  %1172 = call i32 @s2n_conn_set_handshake_type(ptr noundef nonnull %881) #10
  %1173 = icmp eq i32 %1172, -1
  br i1 %1173, label %1174, label %1196

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

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

1184:                                             ; preds = %1180, %1174
  br label %1185

1185:                                             ; preds = %1180, %1184
  %.str.5.sink887 = phi ptr [ @.str.5, %1184 ], [ @.str.2, %1180 ]
  store i32 %1175, ptr %520, align 4, !tbaa !5
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = load i32, ptr %466, align 4, !tbaa !5
  %1189 = call ptr @s2n_strerror(i32 noundef %1188, ptr noundef nonnull @.str.4) #10
  %1190 = load i32, ptr %466, align 4, !tbaa !5
  %1191 = call ptr @s2n_strerror_debug(i32 noundef %1190, ptr noundef nonnull @.str.4) #10
  %1192 = load i32, ptr %520, align 4, !tbaa !5
  %1193 = call ptr @strerror(i32 noundef %1192) #10
  %1194 = load i32, ptr %520, align 4, !tbaa !5
  %1195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1186, ptr noundef nonnull %.str.5.sink887, i32 noundef %1187, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 153, ptr noundef %1189, ptr noundef %1191, ptr noundef %1193, i32 noundef %1194) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1196:                                             ; preds = %1160
  %1197 = load i32, ptr @test_count, align 4, !tbaa !5
  %1198 = add nsw i32 %1197, 1
  store i32 %1198, ptr @test_count, align 4, !tbaa !5
  %1199 = call zeroext i1 @s2n_handshake_type_check_flag(ptr noundef nonnull %881, i32 noundef 2) #10
  br i1 %1199, label %1200, label %1222

1200:                                             ; preds = %1196
  %1201 = load i32, ptr %520, align 4, !tbaa !5
  %1202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1203 = call i32 @s2n_print_stacktrace(ptr noundef %1202) #10
  %1204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1205 = trunc nuw i8 %1204 to i1
  br i1 %1205, label %1206, label %1210

1206:                                             ; preds = %1200
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @fileno(ptr noundef %1207) #10
  %1209 = call i32 @isatty(i32 noundef %1208) #10
  %.not463 = icmp eq i32 %1209, 0
  br i1 %.not463, label %1210, label %1211

1210:                                             ; preds = %1206, %1200
  br label %1211

1211:                                             ; preds = %1206, %1210
  %.str.5.sink896 = phi ptr [ @.str.5, %1210 ], [ @.str.2, %1206 ]
  store i32 %1201, ptr %520, align 4, !tbaa !5
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = load i32, ptr @test_count, align 4, !tbaa !5
  %1214 = load i32, ptr %466, align 4, !tbaa !5
  %1215 = call ptr @s2n_strerror(i32 noundef %1214, ptr noundef nonnull @.str.4) #10
  %1216 = load i32, ptr %466, align 4, !tbaa !5
  %1217 = call ptr @s2n_strerror_debug(i32 noundef %1216, ptr noundef nonnull @.str.4) #10
  %1218 = load i32, ptr %520, align 4, !tbaa !5
  %1219 = call ptr @strerror(i32 noundef %1218) #10
  %1220 = load i32, ptr %520, align 4, !tbaa !5
  %1221 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1212, ptr noundef nonnull %.str.5.sink896, i32 noundef %1213, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 155, ptr noundef %1215, ptr noundef %1217, ptr noundef %1219, i32 noundef %1220) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1222:                                             ; preds = %1196
  %1223 = load i32, ptr @test_count, align 4, !tbaa !5
  %1224 = add nsw i32 %1223, 1
  store i32 %1224, ptr @test_count, align 4, !tbaa !5
  %1225 = call i32 @s2n_connection_free(ptr noundef nonnull %881) #10
  %1226 = icmp eq i32 %1225, -1
  br i1 %1226, label %1227, label %1249

1227:                                             ; preds = %1222
  %1228 = load i32, ptr %520, align 4, !tbaa !5
  %1229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1230 = call i32 @s2n_print_stacktrace(ptr noundef %1229) #10
  %1231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1232 = trunc nuw i8 %1231 to i1
  br i1 %1232, label %1233, label %1237

1233:                                             ; preds = %1227
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @fileno(ptr noundef %1234) #10
  %1236 = call i32 @isatty(i32 noundef %1235) #10
  %.not462 = icmp eq i32 %1236, 0
  br i1 %.not462, label %1237, label %1238

1237:                                             ; preds = %1233, %1227
  br label %1238

1238:                                             ; preds = %1233, %1237
  %.str.5.sink905 = phi ptr [ @.str.5, %1237 ], [ @.str.2, %1233 ]
  store i32 %1228, ptr %520, align 4, !tbaa !5
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = load i32, ptr @test_count, align 4, !tbaa !5
  %1241 = load i32, ptr %466, align 4, !tbaa !5
  %1242 = call ptr @s2n_strerror(i32 noundef %1241, ptr noundef nonnull @.str.4) #10
  %1243 = load i32, ptr %466, align 4, !tbaa !5
  %1244 = call ptr @s2n_strerror_debug(i32 noundef %1243, ptr noundef nonnull @.str.4) #10
  %1245 = load i32, ptr %520, align 4, !tbaa !5
  %1246 = call ptr @strerror(i32 noundef %1245) #10
  %1247 = load i32, ptr %520, align 4, !tbaa !5
  %1248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1239, ptr noundef nonnull %.str.5.sink905, i32 noundef %1240, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1242, ptr noundef %1244, ptr noundef %1246, i32 noundef %1247) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1249:                                             ; preds = %1222
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %12) #10
  call void @llvm.lifetime.end.p0(i64 138, ptr nonnull %11) #10
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %10) #10
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %9) #10
  %1250 = load i32, ptr @test_count, align 4, !tbaa !5
  %1251 = add nsw i32 %1250, 1
  store i32 %1251, ptr @test_count, align 4, !tbaa !5
  %1252 = call i32 @s2n_config_free(ptr noundef nonnull %110) #10
  %1253 = icmp eq i32 %1252, -1
  br i1 %1253, label %1254, label %1276

1254:                                             ; preds = %1249
  %1255 = load i32, ptr %520, align 4, !tbaa !5
  %1256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1257 = call i32 @s2n_print_stacktrace(ptr noundef %1256) #10
  %1258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1259 = trunc nuw i8 %1258 to i1
  br i1 %1259, label %1260, label %1264

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

1264:                                             ; preds = %1260, %1254
  br label %1265

1265:                                             ; preds = %1260, %1264
  %.str.5.sink914 = phi ptr [ @.str.5, %1264 ], [ @.str.2, %1260 ]
  store i32 %1255, ptr %520, align 4, !tbaa !5
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = load i32, ptr @test_count, align 4, !tbaa !5
  %1268 = load i32, ptr %466, align 4, !tbaa !5
  %1269 = call ptr @s2n_strerror(i32 noundef %1268, ptr noundef nonnull @.str.4) #10
  %1270 = load i32, ptr %466, align 4, !tbaa !5
  %1271 = call ptr @s2n_strerror_debug(i32 noundef %1270, ptr noundef nonnull @.str.4) #10
  %1272 = load i32, ptr %520, align 4, !tbaa !5
  %1273 = call ptr @strerror(i32 noundef %1272) #10
  %1274 = load i32, ptr %520, align 4, !tbaa !5
  %1275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1266, ptr noundef nonnull %.str.5.sink914, i32 noundef %1267, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1269, ptr noundef %1271, ptr noundef %1273, i32 noundef %1274) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1276:                                             ; preds = %1249
  %1277 = call ptr @s2n_config_new() #10
  %1278 = load i32, ptr @test_count, align 4, !tbaa !5
  %1279 = add nsw i32 %1278, 1
  store i32 %1279, ptr @test_count, align 4, !tbaa !5
  %1280 = icmp eq ptr %1277, null
  br i1 %1280, label %1281, label %1303

1281:                                             ; preds = %1276
  %1282 = load i32, ptr %520, align 4, !tbaa !5
  %1283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1284 = call i32 @s2n_print_stacktrace(ptr noundef %1283) #10
  %1285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1286 = trunc nuw i8 %1285 to i1
  br i1 %1286, label %1287, label %1291

1287:                                             ; preds = %1281
  %1288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1289 = call i32 @fileno(ptr noundef %1288) #10
  %1290 = call i32 @isatty(i32 noundef %1289) #10
  %.not460 = icmp eq i32 %1290, 0
  br i1 %.not460, label %1291, label %1292

1291:                                             ; preds = %1287, %1281
  br label %1292

1292:                                             ; preds = %1287, %1291
  %.str.5.sink923 = phi ptr [ @.str.5, %1291 ], [ @.str.2, %1287 ]
  store i32 %1282, ptr %520, align 4, !tbaa !5
  %1293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1294 = load i32, ptr @test_count, align 4, !tbaa !5
  %1295 = load i32, ptr %466, align 4, !tbaa !5
  %1296 = call ptr @s2n_strerror(i32 noundef %1295, ptr noundef nonnull @.str.4) #10
  %1297 = load i32, ptr %466, align 4, !tbaa !5
  %1298 = call ptr @s2n_strerror_debug(i32 noundef %1297, ptr noundef nonnull @.str.4) #10
  %1299 = load i32, ptr %520, align 4, !tbaa !5
  %1300 = call ptr @strerror(i32 noundef %1299) #10
  %1301 = load i32, ptr %520, align 4, !tbaa !5
  %1302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1293, ptr noundef nonnull %.str.5.sink923, i32 noundef %1294, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1296, ptr noundef %1298, ptr noundef %1300, i32 noundef %1301) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1303:                                             ; preds = %1276
  %1304 = add nsw i32 %1278, 2
  store i32 %1304, ptr @test_count, align 4, !tbaa !5
  %1305 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %1277, ptr noundef nonnull @.str.28) #10
  %1306 = icmp eq i32 %1305, -1
  br i1 %1306, label %1307, label %1329

1307:                                             ; preds = %1303
  %1308 = load i32, ptr %520, align 4, !tbaa !5
  %1309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1310 = call i32 @s2n_print_stacktrace(ptr noundef %1309) #10
  %1311 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1312 = trunc nuw i8 %1311 to i1
  br i1 %1312, label %1313, label %1317

1313:                                             ; preds = %1307
  %1314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1315 = call i32 @fileno(ptr noundef %1314) #10
  %1316 = call i32 @isatty(i32 noundef %1315) #10
  %.not459 = icmp eq i32 %1316, 0
  br i1 %.not459, label %1317, label %1318

1317:                                             ; preds = %1313, %1307
  br label %1318

1318:                                             ; preds = %1313, %1317
  %.str.5.sink932 = phi ptr [ @.str.5, %1317 ], [ @.str.2, %1313 ]
  store i32 %1308, ptr %520, align 4, !tbaa !5
  %1319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1320 = load i32, ptr @test_count, align 4, !tbaa !5
  %1321 = load i32, ptr %466, align 4, !tbaa !5
  %1322 = call ptr @s2n_strerror(i32 noundef %1321, ptr noundef nonnull @.str.4) #10
  %1323 = load i32, ptr %466, align 4, !tbaa !5
  %1324 = call ptr @s2n_strerror_debug(i32 noundef %1323, ptr noundef nonnull @.str.4) #10
  %1325 = load i32, ptr %520, align 4, !tbaa !5
  %1326 = call ptr @strerror(i32 noundef %1325) #10
  %1327 = load i32, ptr %520, align 4, !tbaa !5
  %1328 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1319, ptr noundef nonnull %.str.5.sink932, i32 noundef %1320, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 169, ptr noundef %1322, ptr noundef %1324, ptr noundef %1326, i32 noundef %1327) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1329:                                             ; preds = %1303
  %1330 = load i32, ptr @test_count, align 4, !tbaa !5
  %1331 = add nsw i32 %1330, 1
  store i32 %1331, ptr @test_count, align 4, !tbaa !5
  %1332 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %1277) #10
  %1333 = icmp eq i32 %1332, -1
  br i1 %1333, label %1334, label %1356

1334:                                             ; preds = %1329
  %1335 = load i32, ptr %520, align 4, !tbaa !5
  %1336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1337 = call i32 @s2n_print_stacktrace(ptr noundef %1336) #10
  %1338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1339 = trunc nuw i8 %1338 to i1
  br i1 %1339, label %1340, label %1344

1340:                                             ; preds = %1334
  %1341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1342 = call i32 @fileno(ptr noundef %1341) #10
  %1343 = call i32 @isatty(i32 noundef %1342) #10
  %.not458 = icmp eq i32 %1343, 0
  br i1 %.not458, label %1344, label %1345

1344:                                             ; preds = %1340, %1334
  br label %1345

1345:                                             ; preds = %1340, %1344
  %.str.5.sink941 = phi ptr [ @.str.5, %1344 ], [ @.str.2, %1340 ]
  store i32 %1335, ptr %520, align 4, !tbaa !5
  %1346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1347 = load i32, ptr @test_count, align 4, !tbaa !5
  %1348 = load i32, ptr %466, align 4, !tbaa !5
  %1349 = call ptr @s2n_strerror(i32 noundef %1348, ptr noundef nonnull @.str.4) #10
  %1350 = load i32, ptr %466, align 4, !tbaa !5
  %1351 = call ptr @s2n_strerror_debug(i32 noundef %1350, ptr noundef nonnull @.str.4) #10
  %1352 = load i32, ptr %520, align 4, !tbaa !5
  %1353 = call ptr @strerror(i32 noundef %1352) #10
  %1354 = load i32, ptr %520, align 4, !tbaa !5
  %1355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1346, ptr noundef nonnull %.str.5.sink941, i32 noundef %1347, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1349, ptr noundef %1351, ptr noundef %1353, i32 noundef %1354) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1356:                                             ; preds = %1329
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %13) #10
  store ptr null, ptr %13, align 8, !tbaa !9
  %1357 = load i32, ptr @test_count, align 4, !tbaa !5
  %1358 = add nsw i32 %1357, 1
  store i32 %1358, ptr @test_count, align 4, !tbaa !5
  %1359 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %13, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.32) #10
  %1360 = icmp eq i32 %1359, -1
  br i1 %1360, label %1361, label %1383

1361:                                             ; preds = %1356
  %1362 = load i32, ptr %520, align 4, !tbaa !5
  %1363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1364 = call i32 @s2n_print_stacktrace(ptr noundef %1363) #10
  %1365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1366 = trunc nuw i8 %1365 to i1
  br i1 %1366, label %1367, label %1371

1367:                                             ; preds = %1361
  %1368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1369 = call i32 @fileno(ptr noundef %1368) #10
  %1370 = call i32 @isatty(i32 noundef %1369) #10
  %.not457 = icmp eq i32 %1370, 0
  br i1 %.not457, label %1371, label %1372

1371:                                             ; preds = %1367, %1361
  br label %1372

1372:                                             ; preds = %1367, %1371
  %.str.5.sink950 = phi ptr [ @.str.5, %1371 ], [ @.str.2, %1367 ]
  store i32 %1362, ptr %520, align 4, !tbaa !5
  %1373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1374 = load i32, ptr @test_count, align 4, !tbaa !5
  %1375 = load i32, ptr %466, align 4, !tbaa !5
  %1376 = call ptr @s2n_strerror(i32 noundef %1375, ptr noundef nonnull @.str.4) #10
  %1377 = load i32, ptr %466, align 4, !tbaa !5
  %1378 = call ptr @s2n_strerror_debug(i32 noundef %1377, ptr noundef nonnull @.str.4) #10
  %1379 = load i32, ptr %520, align 4, !tbaa !5
  %1380 = call ptr @strerror(i32 noundef %1379) #10
  %1381 = load i32, ptr %520, align 4, !tbaa !5
  %1382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1373, ptr noundef nonnull %.str.5.sink950, i32 noundef %1374, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 173, ptr noundef %1376, ptr noundef %1378, ptr noundef %1380, i32 noundef %1381) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1383:                                             ; preds = %1356
  %1384 = load i32, ptr @test_count, align 4, !tbaa !5
  %1385 = add nsw i32 %1384, 1
  store i32 %1385, ptr @test_count, align 4, !tbaa !5
  %1386 = load ptr, ptr %13, align 8, !tbaa !9
  %1387 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1277, ptr noundef %1386) #10
  %1388 = icmp eq i32 %1387, -1
  br i1 %1388, label %1389, label %1411

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

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

1399:                                             ; preds = %1395, %1389
  br label %1400

1400:                                             ; preds = %1395, %1399
  %.str.5.sink959 = phi ptr [ @.str.5, %1399 ], [ @.str.2, %1395 ]
  store i32 %1390, ptr %520, align 4, !tbaa !5
  %1401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1402 = load i32, ptr @test_count, align 4, !tbaa !5
  %1403 = load i32, ptr %466, align 4, !tbaa !5
  %1404 = call ptr @s2n_strerror(i32 noundef %1403, ptr noundef nonnull @.str.4) #10
  %1405 = load i32, ptr %466, align 4, !tbaa !5
  %1406 = call ptr @s2n_strerror_debug(i32 noundef %1405, ptr noundef nonnull @.str.4) #10
  %1407 = load i32, ptr %520, align 4, !tbaa !5
  %1408 = call ptr @strerror(i32 noundef %1407) #10
  %1409 = load i32, ptr %520, align 4, !tbaa !5
  %1410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1401, ptr noundef nonnull %.str.5.sink959, i32 noundef %1402, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 174, ptr noundef %1404, ptr noundef %1406, ptr noundef %1408, i32 noundef %1409) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1411:                                             ; preds = %1383
  %1412 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %1413 = load i32, ptr @test_count, align 4, !tbaa !5
  %1414 = add nsw i32 %1413, 1
  store i32 %1414, ptr @test_count, align 4, !tbaa !5
  %1415 = icmp eq ptr %1412, null
  br i1 %1415, label %1416, label %1438

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

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

1426:                                             ; preds = %1422, %1416
  br label %1427

1427:                                             ; preds = %1422, %1426
  %.str.5.sink968 = phi ptr [ @.str.5, %1426 ], [ @.str.2, %1422 ]
  store i32 %1417, ptr %520, align 4, !tbaa !5
  %1428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1429 = load i32, ptr @test_count, align 4, !tbaa !5
  %1430 = load i32, ptr %466, align 4, !tbaa !5
  %1431 = call ptr @s2n_strerror(i32 noundef %1430, ptr noundef nonnull @.str.4) #10
  %1432 = load i32, ptr %466, align 4, !tbaa !5
  %1433 = call ptr @s2n_strerror_debug(i32 noundef %1432, ptr noundef nonnull @.str.4) #10
  %1434 = load i32, ptr %520, align 4, !tbaa !5
  %1435 = call ptr @strerror(i32 noundef %1434) #10
  %1436 = load i32, ptr %520, align 4, !tbaa !5
  %1437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1428, ptr noundef nonnull %.str.5.sink968, i32 noundef %1429, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 177, ptr noundef %1431, ptr noundef %1433, ptr noundef %1435, i32 noundef %1436) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1438:                                             ; preds = %1411
  %1439 = add nsw i32 %1413, 2
  store i32 %1439, ptr @test_count, align 4, !tbaa !5
  %1440 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1412, ptr noundef nonnull %1277) #10
  %1441 = icmp eq i32 %1440, -1
  br i1 %1441, label %1442, label %1464

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

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

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

1453:                                             ; preds = %1448, %1452
  %.str.5.sink977 = phi ptr [ @.str.5, %1452 ], [ @.str.2, %1448 ]
  store i32 %1443, ptr %520, align 4, !tbaa !5
  %1454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1455 = load i32, ptr @test_count, align 4, !tbaa !5
  %1456 = load i32, ptr %466, align 4, !tbaa !5
  %1457 = call ptr @s2n_strerror(i32 noundef %1456, ptr noundef nonnull @.str.4) #10
  %1458 = load i32, ptr %466, align 4, !tbaa !5
  %1459 = call ptr @s2n_strerror_debug(i32 noundef %1458, ptr noundef nonnull @.str.4) #10
  %1460 = load i32, ptr %520, align 4, !tbaa !5
  %1461 = call ptr @strerror(i32 noundef %1460) #10
  %1462 = load i32, ptr %520, align 4, !tbaa !5
  %1463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1454, ptr noundef nonnull %.str.5.sink977, i32 noundef %1455, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1457, ptr noundef %1459, ptr noundef %1461, i32 noundef %1462) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1464:                                             ; preds = %1438
  %1465 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %1466 = load i32, ptr @test_count, align 4, !tbaa !5
  %1467 = add nsw i32 %1466, 1
  store i32 %1467, ptr @test_count, align 4, !tbaa !5
  %1468 = icmp eq ptr %1465, null
  br i1 %1468, label %1469, label %1491

1469:                                             ; preds = %1464
  %1470 = load i32, ptr %520, align 4, !tbaa !5
  %1471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1472 = call i32 @s2n_print_stacktrace(ptr noundef %1471) #10
  %1473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1474 = trunc nuw i8 %1473 to i1
  br i1 %1474, label %1475, label %1479

1475:                                             ; preds = %1469
  %1476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1477 = call i32 @fileno(ptr noundef %1476) #10
  %1478 = call i32 @isatty(i32 noundef %1477) #10
  %.not453 = icmp eq i32 %1478, 0
  br i1 %.not453, label %1479, label %1480

1479:                                             ; preds = %1475, %1469
  br label %1480

1480:                                             ; preds = %1475, %1479
  %.str.5.sink986 = phi ptr [ @.str.5, %1479 ], [ @.str.2, %1475 ]
  store i32 %1470, ptr %520, align 4, !tbaa !5
  %1481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1482 = load i32, ptr @test_count, align 4, !tbaa !5
  %1483 = load i32, ptr %466, align 4, !tbaa !5
  %1484 = call ptr @s2n_strerror(i32 noundef %1483, ptr noundef nonnull @.str.4) #10
  %1485 = load i32, ptr %466, align 4, !tbaa !5
  %1486 = call ptr @s2n_strerror_debug(i32 noundef %1485, ptr noundef nonnull @.str.4) #10
  %1487 = load i32, ptr %520, align 4, !tbaa !5
  %1488 = call ptr @strerror(i32 noundef %1487) #10
  %1489 = load i32, ptr %520, align 4, !tbaa !5
  %1490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1481, ptr noundef nonnull %.str.5.sink986, i32 noundef %1482, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 181, ptr noundef %1484, ptr noundef %1486, ptr noundef %1488, i32 noundef %1489) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1491:                                             ; preds = %1464
  %1492 = add nsw i32 %1466, 2
  store i32 %1492, ptr @test_count, align 4, !tbaa !5
  %1493 = call i32 @s2n_connection_set_config(ptr noundef nonnull %1465, ptr noundef nonnull %1277) #10
  %1494 = icmp eq i32 %1493, -1
  br i1 %1494, label %1495, label %1517

1495:                                             ; preds = %1491
  %1496 = load i32, ptr %520, align 4, !tbaa !5
  %1497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1498 = call i32 @s2n_print_stacktrace(ptr noundef %1497) #10
  %1499 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1500 = trunc nuw i8 %1499 to i1
  br i1 %1500, label %1501, label %1505

1501:                                             ; preds = %1495
  %1502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1503 = call i32 @fileno(ptr noundef %1502) #10
  %1504 = call i32 @isatty(i32 noundef %1503) #10
  %.not452 = icmp eq i32 %1504, 0
  br i1 %.not452, label %1505, label %1506

1505:                                             ; preds = %1501, %1495
  br label %1506

1506:                                             ; preds = %1501, %1505
  %.str.5.sink995 = phi ptr [ @.str.5, %1505 ], [ @.str.2, %1501 ]
  store i32 %1496, ptr %520, align 4, !tbaa !5
  %1507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1508 = load i32, ptr @test_count, align 4, !tbaa !5
  %1509 = load i32, ptr %466, align 4, !tbaa !5
  %1510 = call ptr @s2n_strerror(i32 noundef %1509, ptr noundef nonnull @.str.4) #10
  %1511 = load i32, ptr %466, align 4, !tbaa !5
  %1512 = call ptr @s2n_strerror_debug(i32 noundef %1511, ptr noundef nonnull @.str.4) #10
  %1513 = load i32, ptr %520, align 4, !tbaa !5
  %1514 = call ptr @strerror(i32 noundef %1513) #10
  %1515 = load i32, ptr %520, align 4, !tbaa !5
  %1516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1507, ptr noundef nonnull %.str.5.sink995, i32 noundef %1508, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 182, ptr noundef %1510, ptr noundef %1512, ptr noundef %1514, i32 noundef %1515) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1517:                                             ; preds = %1491
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %14) #10
  store i64 0, ptr %14, align 8
  %1518 = load i32, ptr @test_count, align 4, !tbaa !5
  %1519 = add nsw i32 %1518, 1
  store i32 %1519, ptr @test_count, align 4, !tbaa !5
  %1520 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %14) #10
  %1521 = icmp eq i32 %1520, -1
  br i1 %1521, label %1522, label %1544

1522:                                             ; preds = %1517
  %1523 = load i32, ptr %520, align 4, !tbaa !5
  %1524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1525 = call i32 @s2n_print_stacktrace(ptr noundef %1524) #10
  %1526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1527 = trunc nuw i8 %1526 to i1
  br i1 %1527, label %1528, label %1532

1528:                                             ; preds = %1522
  %1529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1530 = call i32 @fileno(ptr noundef %1529) #10
  %1531 = call i32 @isatty(i32 noundef %1530) #10
  %.not451 = icmp eq i32 %1531, 0
  br i1 %.not451, label %1532, label %1533

1532:                                             ; preds = %1528, %1522
  br label %1533

1533:                                             ; preds = %1528, %1532
  %.str.5.sink1004 = phi ptr [ @.str.5, %1532 ], [ @.str.2, %1528 ]
  store i32 %1523, ptr %520, align 4, !tbaa !5
  %1534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1535 = load i32, ptr @test_count, align 4, !tbaa !5
  %1536 = load i32, ptr %466, align 4, !tbaa !5
  %1537 = call ptr @s2n_strerror(i32 noundef %1536, ptr noundef nonnull @.str.4) #10
  %1538 = load i32, ptr %466, align 4, !tbaa !5
  %1539 = call ptr @s2n_strerror_debug(i32 noundef %1538, ptr noundef nonnull @.str.4) #10
  %1540 = load i32, ptr %520, align 4, !tbaa !5
  %1541 = call ptr @strerror(i32 noundef %1540) #10
  %1542 = load i32, ptr %520, align 4, !tbaa !5
  %1543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1534, ptr noundef nonnull %.str.5.sink1004, i32 noundef %1535, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 186, ptr noundef %1537, ptr noundef %1539, ptr noundef %1541, i32 noundef %1542) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1544:                                             ; preds = %1517
  %1545 = load i32, ptr @test_count, align 4, !tbaa !5
  %1546 = add nsw i32 %1545, 1
  store i32 %1546, ptr @test_count, align 4, !tbaa !5
  %1547 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %1412, ptr noundef nonnull %1465, ptr noundef nonnull %14) #10
  %1548 = icmp eq i32 %1547, -1
  br i1 %1548, label %1549, label %1571

1549:                                             ; preds = %1544
  %1550 = load i32, ptr %520, align 4, !tbaa !5
  %1551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1552 = call i32 @s2n_print_stacktrace(ptr noundef %1551) #10
  %1553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1554 = trunc nuw i8 %1553 to i1
  br i1 %1554, label %1555, label %1559

1555:                                             ; preds = %1549
  %1556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1557 = call i32 @fileno(ptr noundef %1556) #10
  %1558 = call i32 @isatty(i32 noundef %1557) #10
  %.not450 = icmp eq i32 %1558, 0
  br i1 %.not450, label %1559, label %1560

1559:                                             ; preds = %1555, %1549
  br label %1560

1560:                                             ; preds = %1555, %1559
  %.str.5.sink1013 = phi ptr [ @.str.5, %1559 ], [ @.str.2, %1555 ]
  store i32 %1550, ptr %520, align 4, !tbaa !5
  %1561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1562 = load i32, ptr @test_count, align 4, !tbaa !5
  %1563 = load i32, ptr %466, align 4, !tbaa !5
  %1564 = call ptr @s2n_strerror(i32 noundef %1563, ptr noundef nonnull @.str.4) #10
  %1565 = load i32, ptr %466, align 4, !tbaa !5
  %1566 = call ptr @s2n_strerror_debug(i32 noundef %1565, ptr noundef nonnull @.str.4) #10
  %1567 = load i32, ptr %520, align 4, !tbaa !5
  %1568 = call ptr @strerror(i32 noundef %1567) #10
  %1569 = load i32, ptr %520, align 4, !tbaa !5
  %1570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1561, ptr noundef nonnull %.str.5.sink1013, i32 noundef %1562, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 187, ptr noundef %1564, ptr noundef %1566, ptr noundef %1568, i32 noundef %1569) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1571:                                             ; preds = %1544
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %15) #10
  store i32 0, ptr %15, align 4, !tbaa !5
  %1572 = load i32, ptr @test_count, align 4, !tbaa !5
  %1573 = add nsw i32 %1572, 1
  store i32 %1573, ptr @test_count, align 4, !tbaa !5
  %1574 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %1412, ptr noundef nonnull %15, i32 noundef 1) #10
  %1575 = call zeroext i1 @s2n_result_is_ok(i32 %1574)
  br i1 %1575, label %1598, label %1576

1576:                                             ; preds = %1571
  %1577 = load i32, ptr %520, align 4, !tbaa !5
  %1578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1579 = call i32 @s2n_print_stacktrace(ptr noundef %1578) #10
  %1580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1581 = trunc nuw i8 %1580 to i1
  br i1 %1581, label %1582, label %1586

1582:                                             ; preds = %1576
  %1583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1584 = call i32 @fileno(ptr noundef %1583) #10
  %1585 = call i32 @isatty(i32 noundef %1584) #10
  %.not384 = icmp eq i32 %1585, 0
  br i1 %.not384, label %1586, label %1587

1586:                                             ; preds = %1582, %1576
  br label %1587

1587:                                             ; preds = %1582, %1586
  %.str.5.sink1022 = phi ptr [ @.str.5, %1586 ], [ @.str.2, %1582 ]
  store i32 %1577, ptr %520, align 4, !tbaa !5
  %1588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1589 = load i32, ptr @test_count, align 4, !tbaa !5
  %1590 = load i32, ptr %466, align 4, !tbaa !5
  %1591 = call ptr @s2n_strerror(i32 noundef %1590, ptr noundef nonnull @.str.4) #10
  %1592 = load i32, ptr %466, align 4, !tbaa !5
  %1593 = call ptr @s2n_strerror_debug(i32 noundef %1592, ptr noundef nonnull @.str.4) #10
  %1594 = load i32, ptr %520, align 4, !tbaa !5
  %1595 = call ptr @strerror(i32 noundef %1594) #10
  %1596 = load i32, ptr %520, align 4, !tbaa !5
  %1597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1588, ptr noundef nonnull %.str.5.sink1022, i32 noundef %1589, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 191, ptr noundef %1591, ptr noundef %1593, ptr noundef %1595, i32 noundef %1596) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1598:                                             ; preds = %1571
  %1599 = load i32, ptr @test_count, align 4, !tbaa !5
  %1600 = add nsw i32 %1599, 1
  store i32 %1600, ptr @test_count, align 4, !tbaa !5
  %1601 = call i32 @s2n_negotiate_until_message(ptr noundef nonnull %1465, ptr noundef nonnull %15, i32 noundef 1) #10
  %1602 = call zeroext i1 @s2n_result_is_ok(i32 %1601)
  br i1 %1602, label %1625, label %1603

1603:                                             ; preds = %1598
  %1604 = load i32, ptr %520, align 4, !tbaa !5
  %1605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1606 = call i32 @s2n_print_stacktrace(ptr noundef %1605) #10
  %1607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1608 = trunc nuw i8 %1607 to i1
  br i1 %1608, label %1609, label %1613

1609:                                             ; preds = %1603
  %1610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1611 = call i32 @fileno(ptr noundef %1610) #10
  %1612 = call i32 @isatty(i32 noundef %1611) #10
  %.not385 = icmp eq i32 %1612, 0
  br i1 %.not385, label %1613, label %1614

1613:                                             ; preds = %1609, %1603
  br label %1614

1614:                                             ; preds = %1609, %1613
  %.str.5.sink1031 = phi ptr [ @.str.5, %1613 ], [ @.str.2, %1609 ]
  store i32 %1604, ptr %520, align 4, !tbaa !5
  %1615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1616 = load i32, ptr @test_count, align 4, !tbaa !5
  %1617 = load i32, ptr %466, align 4, !tbaa !5
  %1618 = call ptr @s2n_strerror(i32 noundef %1617, ptr noundef nonnull @.str.4) #10
  %1619 = load i32, ptr %466, align 4, !tbaa !5
  %1620 = call ptr @s2n_strerror_debug(i32 noundef %1619, ptr noundef nonnull @.str.4) #10
  %1621 = load i32, ptr %520, align 4, !tbaa !5
  %1622 = call ptr @strerror(i32 noundef %1621) #10
  %1623 = load i32, ptr %520, align 4, !tbaa !5
  %1624 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1615, ptr noundef nonnull %.str.5.sink1031, i32 noundef %1616, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 192, ptr noundef %1618, ptr noundef %1620, ptr noundef %1622, i32 noundef %1623) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1625:                                             ; preds = %1598
  %1626 = load i32, ptr %1465, align 8
  %1627 = and i32 %1626, -8193
  store i32 %1627, ptr %1465, align 8
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %16) #10
  store i8 0, ptr %16, align 1, !tbaa !50
  %1628 = load i32, ptr @test_count, align 4, !tbaa !5
  %1629 = add nsw i32 %1628, 1
  store i32 %1629, ptr @test_count, align 4, !tbaa !5
  %1630 = call i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext 23, ptr noundef nonnull %16) #10
  %1631 = icmp eq i32 %1630, -1
  br i1 %1631, label %1632, label %1654

1632:                                             ; preds = %1625
  %1633 = load i32, ptr %520, align 4, !tbaa !5
  %1634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1635 = call i32 @s2n_print_stacktrace(ptr noundef %1634) #10
  %1636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1637 = trunc nuw i8 %1636 to i1
  br i1 %1637, label %1638, label %1642

1638:                                             ; preds = %1632
  %1639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1640 = call i32 @fileno(ptr noundef %1639) #10
  %1641 = call i32 @isatty(i32 noundef %1640) #10
  %.not449 = icmp eq i32 %1641, 0
  br i1 %.not449, label %1642, label %1643

1642:                                             ; preds = %1638, %1632
  br label %1643

1643:                                             ; preds = %1638, %1642
  %.str.5.sink1040 = phi ptr [ @.str.5, %1642 ], [ @.str.2, %1638 ]
  store i32 %1633, ptr %520, align 4, !tbaa !5
  %1644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1645 = load i32, ptr @test_count, align 4, !tbaa !5
  %1646 = load i32, ptr %466, align 4, !tbaa !5
  %1647 = call ptr @s2n_strerror(i32 noundef %1646, ptr noundef nonnull @.str.4) #10
  %1648 = load i32, ptr %466, align 4, !tbaa !5
  %1649 = call ptr @s2n_strerror_debug(i32 noundef %1648, ptr noundef nonnull @.str.4) #10
  %1650 = load i32, ptr %520, align 4, !tbaa !5
  %1651 = call ptr @strerror(i32 noundef %1650) #10
  %1652 = load i32, ptr %520, align 4, !tbaa !5
  %1653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1644, ptr noundef nonnull %.str.5.sink1040, i32 noundef %1645, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1647, ptr noundef %1649, ptr noundef %1651, i32 noundef %1652) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1654:                                             ; preds = %1625
  %1655 = load i8, ptr %16, align 1, !tbaa !50
  %1656 = and i8 %1655, 7
  %1657 = shl nuw i8 1, %1656
  %1658 = xor i8 %1657, -1
  %1659 = getelementptr inbounds i8, ptr %1465, i64 102
  %1660 = lshr i8 %1655, 3
  %1661 = zext nneg i8 %1660 to i64
  %1662 = getelementptr inbounds [22 x i8], ptr %1659, i64 0, i64 %1661
  %1663 = load i8, ptr %1662, align 1, !tbaa !50
  %1664 = and i8 %1663, %1658
  store i8 %1664, ptr %1662, align 1, !tbaa !50
  %1665 = load i32, ptr @test_count, align 4, !tbaa !5
  %1666 = add nsw i32 %1665, 1
  store i32 %1666, ptr @test_count, align 4, !tbaa !5
  %1667 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %1465, ptr noundef nonnull %1412) #10
  %1668 = icmp eq i32 %1667, -1
  br i1 %1668, label %1669, label %1691

1669:                                             ; preds = %1654
  %1670 = load i32, ptr %520, align 4, !tbaa !5
  %1671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1672 = call i32 @s2n_print_stacktrace(ptr noundef %1671) #10
  %1673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1674 = trunc nuw i8 %1673 to i1
  br i1 %1674, label %1675, label %1679

1675:                                             ; preds = %1669
  %1676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1677 = call i32 @fileno(ptr noundef %1676) #10
  %1678 = call i32 @isatty(i32 noundef %1677) #10
  %.not448 = icmp eq i32 %1678, 0
  br i1 %.not448, label %1679, label %1680

1679:                                             ; preds = %1675, %1669
  br label %1680

1680:                                             ; preds = %1675, %1679
  %.str.5.sink1049 = phi ptr [ @.str.5, %1679 ], [ @.str.2, %1675 ]
  store i32 %1670, ptr %520, align 4, !tbaa !5
  %1681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1682 = load i32, ptr @test_count, align 4, !tbaa !5
  %1683 = load i32, ptr %466, align 4, !tbaa !5
  %1684 = call ptr @s2n_strerror(i32 noundef %1683, ptr noundef nonnull @.str.4) #10
  %1685 = load i32, ptr %466, align 4, !tbaa !5
  %1686 = call ptr @s2n_strerror_debug(i32 noundef %1685, ptr noundef nonnull @.str.4) #10
  %1687 = load i32, ptr %520, align 4, !tbaa !5
  %1688 = call ptr @strerror(i32 noundef %1687) #10
  %1689 = load i32, ptr %520, align 4, !tbaa !5
  %1690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1681, ptr noundef nonnull %.str.5.sink1049, i32 noundef %1682, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 202, ptr noundef %1684, ptr noundef %1686, ptr noundef %1688, i32 noundef %1689) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1691:                                             ; preds = %1654
  %1692 = load i32, ptr @test_count, align 4, !tbaa !5
  %1693 = add nsw i32 %1692, 1
  store i32 %1693, ptr @test_count, align 4, !tbaa !5
  %1694 = getelementptr inbounds i8, ptr %1465, i64 220
  %1695 = load i8, ptr %1694, align 4, !tbaa !15
  %1696 = icmp eq i8 %1695, 33
  br i1 %1696, label %1719, label %1697

1697:                                             ; preds = %1691
  %1698 = load i32, ptr %520, align 4, !tbaa !5
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = call i32 @s2n_print_stacktrace(ptr noundef %1699) #10
  %1701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1702 = trunc nuw i8 %1701 to i1
  br i1 %1702, label %1703, label %1707

1703:                                             ; preds = %1697
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = call i32 @fileno(ptr noundef %1704) #10
  %1706 = call i32 @isatty(i32 noundef %1705) #10
  %.not386 = icmp eq i32 %1706, 0
  br i1 %.not386, label %1707, label %1708

1707:                                             ; preds = %1703, %1697
  br label %1708

1708:                                             ; preds = %1703, %1707
  %.str.5.sink1058 = phi ptr [ @.str.5, %1707 ], [ @.str.2, %1703 ]
  store i32 %1698, ptr %520, align 4, !tbaa !5
  %1709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1710 = load i32, ptr @test_count, align 4, !tbaa !5
  %1711 = load i32, ptr %466, align 4, !tbaa !5
  %1712 = call ptr @s2n_strerror(i32 noundef %1711, ptr noundef nonnull @.str.4) #10
  %1713 = load i32, ptr %466, align 4, !tbaa !5
  %1714 = call ptr @s2n_strerror_debug(i32 noundef %1713, ptr noundef nonnull @.str.4) #10
  %1715 = load i32, ptr %520, align 4, !tbaa !5
  %1716 = call ptr @strerror(i32 noundef %1715) #10
  %1717 = load i32, ptr %520, align 4, !tbaa !5
  %1718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1709, ptr noundef nonnull %.str.5.sink1058, i32 noundef %1710, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 203, ptr noundef %1712, ptr noundef %1714, ptr noundef %1716, i32 noundef %1717) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1719:                                             ; preds = %1691
  %1720 = add nsw i32 %1692, 2
  store i32 %1720, ptr @test_count, align 4, !tbaa !5
  %1721 = getelementptr inbounds i8, ptr %1412, i64 220
  %1722 = load i8, ptr %1721, align 4, !tbaa !15
  %1723 = icmp eq i8 %1722, 33
  br i1 %1723, label %1746, label %1724

1724:                                             ; preds = %1719
  %1725 = load i32, ptr %520, align 4, !tbaa !5
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @s2n_print_stacktrace(ptr noundef %1726) #10
  %1728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1729 = trunc nuw i8 %1728 to i1
  br i1 %1729, label %1730, label %1734

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

1734:                                             ; preds = %1730, %1724
  br label %1735

1735:                                             ; preds = %1730, %1734
  %.str.5.sink1067 = phi ptr [ @.str.5, %1734 ], [ @.str.2, %1730 ]
  store i32 %1725, ptr %520, align 4, !tbaa !5
  %1736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1737 = load i32, ptr @test_count, align 4, !tbaa !5
  %1738 = load i32, ptr %466, align 4, !tbaa !5
  %1739 = call ptr @s2n_strerror(i32 noundef %1738, ptr noundef nonnull @.str.4) #10
  %1740 = load i32, ptr %466, align 4, !tbaa !5
  %1741 = call ptr @s2n_strerror_debug(i32 noundef %1740, ptr noundef nonnull @.str.4) #10
  %1742 = load i32, ptr %520, align 4, !tbaa !5
  %1743 = call ptr @strerror(i32 noundef %1742) #10
  %1744 = load i32, ptr %520, align 4, !tbaa !5
  %1745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1736, ptr noundef nonnull %.str.5.sink1067, i32 noundef %1737, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 204, ptr noundef %1739, ptr noundef %1741, ptr noundef %1743, i32 noundef %1744) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1746:                                             ; preds = %1719
  %1747 = add nsw i32 %1692, 3
  store i32 %1747, ptr @test_count, align 4, !tbaa !5
  %1748 = load i32, ptr %1465, align 8
  %1749 = and i32 %1748, 8192
  %.not388 = icmp eq i32 %1749, 0
  br i1 %.not388, label %1772, label %1750

1750:                                             ; preds = %1746
  %1751 = load i32, ptr %520, align 4, !tbaa !5
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = call i32 @s2n_print_stacktrace(ptr noundef %1752) #10
  %1754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1755 = trunc nuw i8 %1754 to i1
  br i1 %1755, label %1756, label %1760

1756:                                             ; preds = %1750
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = call i32 @fileno(ptr noundef %1757) #10
  %1759 = call i32 @isatty(i32 noundef %1758) #10
  %.not447 = icmp eq i32 %1759, 0
  br i1 %.not447, label %1760, label %1761

1760:                                             ; preds = %1756, %1750
  br label %1761

1761:                                             ; preds = %1756, %1760
  %.str.5.sink1076 = phi ptr [ @.str.5, %1760 ], [ @.str.2, %1756 ]
  store i32 %1751, ptr %520, align 4, !tbaa !5
  %1762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1763 = load i32, ptr @test_count, align 4, !tbaa !5
  %1764 = load i32, ptr %466, align 4, !tbaa !5
  %1765 = call ptr @s2n_strerror(i32 noundef %1764, ptr noundef nonnull @.str.4) #10
  %1766 = load i32, ptr %466, align 4, !tbaa !5
  %1767 = call ptr @s2n_strerror_debug(i32 noundef %1766, ptr noundef nonnull @.str.4) #10
  %1768 = load i32, ptr %520, align 4, !tbaa !5
  %1769 = call ptr @strerror(i32 noundef %1768) #10
  %1770 = load i32, ptr %520, align 4, !tbaa !5
  %1771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1762, ptr noundef nonnull %.str.5.sink1076, i32 noundef %1763, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 205, ptr noundef %1765, ptr noundef %1767, ptr noundef %1769, i32 noundef %1770) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1772:                                             ; preds = %1746
  %1773 = add nsw i32 %1692, 4
  store i32 %1773, ptr @test_count, align 4, !tbaa !5
  %1774 = load i32, ptr %1412, align 8
  %1775 = and i32 %1774, 8192
  %.not389 = icmp eq i32 %1775, 0
  br i1 %.not389, label %1798, label %1776

1776:                                             ; preds = %1772
  %1777 = load i32, ptr %520, align 4, !tbaa !5
  %1778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1779 = call i32 @s2n_print_stacktrace(ptr noundef %1778) #10
  %1780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1781 = trunc nuw i8 %1780 to i1
  br i1 %1781, label %1782, label %1786

1782:                                             ; preds = %1776
  %1783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1784 = call i32 @fileno(ptr noundef %1783) #10
  %1785 = call i32 @isatty(i32 noundef %1784) #10
  %.not446 = icmp eq i32 %1785, 0
  br i1 %.not446, label %1786, label %1787

1786:                                             ; preds = %1782, %1776
  br label %1787

1787:                                             ; preds = %1782, %1786
  %.str.5.sink1085 = phi ptr [ @.str.5, %1786 ], [ @.str.2, %1782 ]
  store i32 %1777, ptr %520, align 4, !tbaa !5
  %1788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1789 = load i32, ptr @test_count, align 4, !tbaa !5
  %1790 = load i32, ptr %466, align 4, !tbaa !5
  %1791 = call ptr @s2n_strerror(i32 noundef %1790, ptr noundef nonnull @.str.4) #10
  %1792 = load i32, ptr %466, align 4, !tbaa !5
  %1793 = call ptr @s2n_strerror_debug(i32 noundef %1792, ptr noundef nonnull @.str.4) #10
  %1794 = load i32, ptr %520, align 4, !tbaa !5
  %1795 = call ptr @strerror(i32 noundef %1794) #10
  %1796 = load i32, ptr %520, align 4, !tbaa !5
  %1797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1788, ptr noundef nonnull %.str.5.sink1085, i32 noundef %1789, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 206, ptr noundef %1791, ptr noundef %1793, ptr noundef %1795, i32 noundef %1796) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1798:                                             ; preds = %1772
  %1799 = add nsw i32 %1692, 5
  store i32 %1799, ptr @test_count, align 4, !tbaa !5
  %1800 = call i32 @s2n_connection_free(ptr noundef nonnull %1412) #10
  %1801 = icmp eq i32 %1800, -1
  br i1 %1801, label %1802, label %1824

1802:                                             ; preds = %1798
  %1803 = load i32, ptr %520, 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 = %1802
  %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
  %.not445 = icmp eq i32 %1811, 0
  br i1 %.not445, label %1812, label %1813

1812:                                             ; preds = %1808, %1802
  br label %1813

1813:                                             ; preds = %1808, %1812
  %.str.5.sink1094 = phi ptr [ @.str.5, %1812 ], [ @.str.2, %1808 ]
  store i32 %1803, ptr %520, align 4, !tbaa !5
  %1814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1815 = load i32, ptr @test_count, align 4, !tbaa !5
  %1816 = load i32, ptr %466, align 4, !tbaa !5
  %1817 = call ptr @s2n_strerror(i32 noundef %1816, ptr noundef nonnull @.str.4) #10
  %1818 = load i32, ptr %466, align 4, !tbaa !5
  %1819 = call ptr @s2n_strerror_debug(i32 noundef %1818, ptr noundef nonnull @.str.4) #10
  %1820 = load i32, ptr %520, align 4, !tbaa !5
  %1821 = call ptr @strerror(i32 noundef %1820) #10
  %1822 = load i32, ptr %520, align 4, !tbaa !5
  %1823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1814, ptr noundef nonnull %.str.5.sink1094, i32 noundef %1815, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 208, ptr noundef %1817, ptr noundef %1819, ptr noundef %1821, i32 noundef %1822) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1824:                                             ; preds = %1798
  %1825 = load i32, ptr @test_count, align 4, !tbaa !5
  %1826 = add nsw i32 %1825, 1
  store i32 %1826, ptr @test_count, align 4, !tbaa !5
  %1827 = call i32 @s2n_connection_free(ptr noundef nonnull %1465) #10
  %1828 = icmp eq i32 %1827, -1
  br i1 %1828, label %1829, label %1851

1829:                                             ; preds = %1824
  %1830 = load i32, ptr %520, align 4, !tbaa !5
  %1831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1832 = call i32 @s2n_print_stacktrace(ptr noundef %1831) #10
  %1833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1834 = trunc nuw i8 %1833 to i1
  br i1 %1834, label %1835, label %1839

1835:                                             ; preds = %1829
  %1836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1837 = call i32 @fileno(ptr noundef %1836) #10
  %1838 = call i32 @isatty(i32 noundef %1837) #10
  %.not444 = icmp eq i32 %1838, 0
  br i1 %.not444, label %1839, label %1840

1839:                                             ; preds = %1835, %1829
  br label %1840

1840:                                             ; preds = %1835, %1839
  %.str.5.sink1103 = phi ptr [ @.str.5, %1839 ], [ @.str.2, %1835 ]
  store i32 %1830, ptr %520, align 4, !tbaa !5
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = load i32, ptr @test_count, align 4, !tbaa !5
  %1843 = load i32, ptr %466, align 4, !tbaa !5
  %1844 = call ptr @s2n_strerror(i32 noundef %1843, ptr noundef nonnull @.str.4) #10
  %1845 = load i32, ptr %466, align 4, !tbaa !5
  %1846 = call ptr @s2n_strerror_debug(i32 noundef %1845, ptr noundef nonnull @.str.4) #10
  %1847 = load i32, ptr %520, align 4, !tbaa !5
  %1848 = call ptr @strerror(i32 noundef %1847) #10
  %1849 = load i32, ptr %520, align 4, !tbaa !5
  %1850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1841, ptr noundef nonnull %.str.5.sink1103, i32 noundef %1842, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 209, ptr noundef %1844, ptr noundef %1846, ptr noundef %1848, i32 noundef %1849) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1851:                                             ; preds = %1824
  %1852 = load i32, ptr @test_count, align 4, !tbaa !5
  %1853 = add nsw i32 %1852, 1
  store i32 %1853, ptr @test_count, align 4, !tbaa !5
  %1854 = call i32 @s2n_io_pair_close(ptr noundef nonnull %14) #10
  %1855 = icmp eq i32 %1854, -1
  br i1 %1855, label %1856, label %1878

1856:                                             ; preds = %1851
  %1857 = load i32, ptr %520, align 4, !tbaa !5
  %1858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1859 = call i32 @s2n_print_stacktrace(ptr noundef %1858) #10
  %1860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1861 = trunc nuw i8 %1860 to i1
  br i1 %1861, label %1862, label %1866

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

1866:                                             ; preds = %1862, %1856
  br label %1867

1867:                                             ; preds = %1862, %1866
  %.str.5.sink1112 = phi ptr [ @.str.5, %1866 ], [ @.str.2, %1862 ]
  store i32 %1857, ptr %520, align 4, !tbaa !5
  %1868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1869 = load i32, ptr @test_count, align 4, !tbaa !5
  %1870 = load i32, ptr %466, align 4, !tbaa !5
  %1871 = call ptr @s2n_strerror(i32 noundef %1870, ptr noundef nonnull @.str.4) #10
  %1872 = load i32, ptr %466, align 4, !tbaa !5
  %1873 = call ptr @s2n_strerror_debug(i32 noundef %1872, ptr noundef nonnull @.str.4) #10
  %1874 = load i32, ptr %520, align 4, !tbaa !5
  %1875 = call ptr @strerror(i32 noundef %1874) #10
  %1876 = load i32, ptr %520, align 4, !tbaa !5
  %1877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1868, ptr noundef nonnull %.str.5.sink1112, i32 noundef %1869, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 210, ptr noundef %1871, ptr noundef %1873, ptr noundef %1875, i32 noundef %1876) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1878:                                             ; preds = %1851
  %1879 = load i32, ptr @test_count, align 4, !tbaa !5
  %1880 = add nsw i32 %1879, 1
  store i32 %1880, ptr @test_count, align 4, !tbaa !5
  %1881 = load ptr, ptr %13, align 8, !tbaa !9
  %1882 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %1881) #10
  %1883 = icmp eq i32 %1882, -1
  br i1 %1883, label %1884, label %1906

1884:                                             ; preds = %1878
  %1885 = load i32, ptr %520, align 4, !tbaa !5
  %1886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1887 = call i32 @s2n_print_stacktrace(ptr noundef %1886) #10
  %1888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1889 = trunc nuw i8 %1888 to i1
  br i1 %1889, label %1890, label %1894

1890:                                             ; preds = %1884
  %1891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1892 = call i32 @fileno(ptr noundef %1891) #10
  %1893 = call i32 @isatty(i32 noundef %1892) #10
  %.not442 = icmp eq i32 %1893, 0
  br i1 %.not442, label %1894, label %1895

1894:                                             ; preds = %1890, %1884
  br label %1895

1895:                                             ; preds = %1890, %1894
  %.str.5.sink1121 = phi ptr [ @.str.5, %1894 ], [ @.str.2, %1890 ]
  store i32 %1885, ptr %520, align 4, !tbaa !5
  %1896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1897 = load i32, ptr @test_count, align 4, !tbaa !5
  %1898 = load i32, ptr %466, align 4, !tbaa !5
  %1899 = call ptr @s2n_strerror(i32 noundef %1898, ptr noundef nonnull @.str.4) #10
  %1900 = load i32, ptr %466, align 4, !tbaa !5
  %1901 = call ptr @s2n_strerror_debug(i32 noundef %1900, ptr noundef nonnull @.str.4) #10
  %1902 = load i32, ptr %520, align 4, !tbaa !5
  %1903 = call ptr @strerror(i32 noundef %1902) #10
  %1904 = load i32, ptr %520, align 4, !tbaa !5
  %1905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1896, ptr noundef nonnull %.str.5.sink1121, i32 noundef %1897, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1899, ptr noundef %1901, ptr noundef %1903, i32 noundef %1904) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1906:                                             ; preds = %1878
  %1907 = load i32, ptr @test_count, align 4, !tbaa !5
  %1908 = add nsw i32 %1907, 1
  store i32 %1908, ptr @test_count, align 4, !tbaa !5
  %1909 = call i32 @s2n_config_free(ptr noundef nonnull %1277) #10
  %1910 = icmp eq i32 %1909, -1
  br i1 %1910, label %1911, label %1933

1911:                                             ; preds = %1906
  %1912 = load i32, ptr %520, align 4, !tbaa !5
  %1913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1914 = call i32 @s2n_print_stacktrace(ptr noundef %1913) #10
  %1915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1916 = trunc nuw i8 %1915 to i1
  br i1 %1916, label %1917, label %1921

1917:                                             ; preds = %1911
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = call i32 @fileno(ptr noundef %1918) #10
  %1920 = call i32 @isatty(i32 noundef %1919) #10
  %.not441 = icmp eq i32 %1920, 0
  br i1 %.not441, label %1921, label %1922

1921:                                             ; preds = %1917, %1911
  br label %1922

1922:                                             ; preds = %1917, %1921
  %.str.5.sink1130 = phi ptr [ @.str.5, %1921 ], [ @.str.2, %1917 ]
  store i32 %1912, ptr %520, align 4, !tbaa !5
  %1923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1924 = load i32, ptr @test_count, align 4, !tbaa !5
  %1925 = load i32, ptr %466, align 4, !tbaa !5
  %1926 = call ptr @s2n_strerror(i32 noundef %1925, ptr noundef nonnull @.str.4) #10
  %1927 = load i32, ptr %466, align 4, !tbaa !5
  %1928 = call ptr @s2n_strerror_debug(i32 noundef %1927, ptr noundef nonnull @.str.4) #10
  %1929 = load i32, ptr %520, align 4, !tbaa !5
  %1930 = call ptr @strerror(i32 noundef %1929) #10
  %1931 = load i32, ptr %520, align 4, !tbaa !5
  %1932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1923, ptr noundef nonnull %.str.5.sink1130, i32 noundef %1924, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1926, ptr noundef %1928, ptr noundef %1930, i32 noundef %1931) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1933:                                             ; preds = %1906
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %16) #10
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %15) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %14) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %13) #10
  %1934 = call ptr @s2n_config_new() #10
  %1935 = load i32, ptr @test_count, align 4, !tbaa !5
  %1936 = add nsw i32 %1935, 1
  store i32 %1936, ptr @test_count, align 4, !tbaa !5
  %1937 = icmp eq ptr %1934, null
  br i1 %1937, label %1938, label %1960

1938:                                             ; preds = %1933
  %1939 = load i32, ptr %520, align 4, !tbaa !5
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = call i32 @s2n_print_stacktrace(ptr noundef %1940) #10
  %1942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1943 = trunc nuw i8 %1942 to i1
  br i1 %1943, label %1944, label %1948

1944:                                             ; preds = %1938
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = call i32 @fileno(ptr noundef %1945) #10
  %1947 = call i32 @isatty(i32 noundef %1946) #10
  %.not440 = icmp eq i32 %1947, 0
  br i1 %.not440, label %1948, label %1949

1948:                                             ; preds = %1944, %1938
  br label %1949

1949:                                             ; preds = %1944, %1948
  %.str.5.sink1139 = phi ptr [ @.str.5, %1948 ], [ @.str.2, %1944 ]
  store i32 %1939, ptr %520, align 4, !tbaa !5
  %1950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1951 = load i32, ptr @test_count, align 4, !tbaa !5
  %1952 = load i32, ptr %466, align 4, !tbaa !5
  %1953 = call ptr @s2n_strerror(i32 noundef %1952, ptr noundef nonnull @.str.4) #10
  %1954 = load i32, ptr %466, align 4, !tbaa !5
  %1955 = call ptr @s2n_strerror_debug(i32 noundef %1954, ptr noundef nonnull @.str.4) #10
  %1956 = load i32, ptr %520, align 4, !tbaa !5
  %1957 = call ptr @strerror(i32 noundef %1956) #10
  %1958 = load i32, ptr %520, align 4, !tbaa !5
  %1959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1950, ptr noundef nonnull %.str.5.sink1139, i32 noundef %1951, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 218, ptr noundef %1953, ptr noundef %1955, ptr noundef %1957, i32 noundef %1958) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1960:                                             ; preds = %1933
  %1961 = add nsw i32 %1935, 2
  store i32 %1961, ptr @test_count, align 4, !tbaa !5
  %1962 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %1934, ptr noundef nonnull @.str.28) #10
  %1963 = icmp eq i32 %1962, -1
  br i1 %1963, label %1964, label %1986

1964:                                             ; preds = %1960
  %1965 = load i32, ptr %520, align 4, !tbaa !5
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = call i32 @s2n_print_stacktrace(ptr noundef %1966) #10
  %1968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1969 = trunc nuw i8 %1968 to i1
  br i1 %1969, label %1970, label %1974

1970:                                             ; preds = %1964
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = call i32 @fileno(ptr noundef %1971) #10
  %1973 = call i32 @isatty(i32 noundef %1972) #10
  %.not439 = icmp eq i32 %1973, 0
  br i1 %.not439, label %1974, label %1975

1974:                                             ; preds = %1970, %1964
  br label %1975

1975:                                             ; preds = %1970, %1974
  %.str.5.sink1148 = phi ptr [ @.str.5, %1974 ], [ @.str.2, %1970 ]
  store i32 %1965, ptr %520, align 4, !tbaa !5
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = load i32, ptr @test_count, align 4, !tbaa !5
  %1978 = load i32, ptr %466, align 4, !tbaa !5
  %1979 = call ptr @s2n_strerror(i32 noundef %1978, ptr noundef nonnull @.str.4) #10
  %1980 = load i32, ptr %466, align 4, !tbaa !5
  %1981 = call ptr @s2n_strerror_debug(i32 noundef %1980, ptr noundef nonnull @.str.4) #10
  %1982 = load i32, ptr %520, align 4, !tbaa !5
  %1983 = call ptr @strerror(i32 noundef %1982) #10
  %1984 = load i32, ptr %520, align 4, !tbaa !5
  %1985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1976, ptr noundef nonnull %.str.5.sink1148, i32 noundef %1977, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 220, ptr noundef %1979, ptr noundef %1981, ptr noundef %1983, i32 noundef %1984) #12
  call void @exit(i32 noundef 1) #13
  unreachable

1986:                                             ; preds = %1960
  %1987 = load i32, ptr @test_count, align 4, !tbaa !5
  %1988 = add nsw i32 %1987, 1
  store i32 %1988, ptr @test_count, align 4, !tbaa !5
  %1989 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %1934) #10
  %1990 = icmp eq i32 %1989, -1
  br i1 %1990, label %1991, label %2013

1991:                                             ; preds = %1986
  %1992 = load i32, ptr %520, align 4, !tbaa !5
  %1993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1994 = call i32 @s2n_print_stacktrace(ptr noundef %1993) #10
  %1995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1996 = trunc nuw i8 %1995 to i1
  br i1 %1996, label %1997, label %2001

1997:                                             ; preds = %1991
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = call i32 @fileno(ptr noundef %1998) #10
  %2000 = call i32 @isatty(i32 noundef %1999) #10
  %.not438 = icmp eq i32 %2000, 0
  br i1 %.not438, label %2001, label %2002

2001:                                             ; preds = %1997, %1991
  br label %2002

2002:                                             ; preds = %1997, %2001
  %.str.5.sink1157 = phi ptr [ @.str.5, %2001 ], [ @.str.2, %1997 ]
  store i32 %1992, ptr %520, align 4, !tbaa !5
  %2003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2004 = load i32, ptr @test_count, align 4, !tbaa !5
  %2005 = load i32, ptr %466, align 4, !tbaa !5
  %2006 = call ptr @s2n_strerror(i32 noundef %2005, ptr noundef nonnull @.str.4) #10
  %2007 = load i32, ptr %466, align 4, !tbaa !5
  %2008 = call ptr @s2n_strerror_debug(i32 noundef %2007, ptr noundef nonnull @.str.4) #10
  %2009 = load i32, ptr %520, align 4, !tbaa !5
  %2010 = call ptr @strerror(i32 noundef %2009) #10
  %2011 = load i32, ptr %520, align 4, !tbaa !5
  %2012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2003, ptr noundef nonnull %.str.5.sink1157, i32 noundef %2004, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 221, ptr noundef %2006, ptr noundef %2008, ptr noundef %2010, i32 noundef %2011) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2013:                                             ; preds = %1986
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %17) #10
  store ptr null, ptr %17, align 8, !tbaa !9
  %2014 = load i32, ptr @test_count, align 4, !tbaa !5
  %2015 = add nsw i32 %2014, 1
  store i32 %2015, ptr @test_count, align 4, !tbaa !5
  %2016 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %17, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.32) #10
  %2017 = icmp eq i32 %2016, -1
  br i1 %2017, label %2018, label %2040

2018:                                             ; preds = %2013
  %2019 = load i32, ptr %520, align 4, !tbaa !5
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @s2n_print_stacktrace(ptr noundef %2020) #10
  %2022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2023 = trunc nuw i8 %2022 to i1
  br i1 %2023, label %2024, label %2028

2024:                                             ; preds = %2018
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = call i32 @fileno(ptr noundef %2025) #10
  %2027 = call i32 @isatty(i32 noundef %2026) #10
  %.not437 = icmp eq i32 %2027, 0
  br i1 %.not437, label %2028, label %2029

2028:                                             ; preds = %2024, %2018
  br label %2029

2029:                                             ; preds = %2024, %2028
  %.str.5.sink1166 = phi ptr [ @.str.5, %2028 ], [ @.str.2, %2024 ]
  store i32 %2019, ptr %520, align 4, !tbaa !5
  %2030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2031 = load i32, ptr @test_count, align 4, !tbaa !5
  %2032 = load i32, ptr %466, align 4, !tbaa !5
  %2033 = call ptr @s2n_strerror(i32 noundef %2032, ptr noundef nonnull @.str.4) #10
  %2034 = load i32, ptr %466, align 4, !tbaa !5
  %2035 = call ptr @s2n_strerror_debug(i32 noundef %2034, ptr noundef nonnull @.str.4) #10
  %2036 = load i32, ptr %520, align 4, !tbaa !5
  %2037 = call ptr @strerror(i32 noundef %2036) #10
  %2038 = load i32, ptr %520, align 4, !tbaa !5
  %2039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2030, ptr noundef nonnull %.str.5.sink1166, i32 noundef %2031, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2033, ptr noundef %2035, ptr noundef %2037, i32 noundef %2038) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2040:                                             ; preds = %2013
  %2041 = load i32, ptr @test_count, align 4, !tbaa !5
  %2042 = add nsw i32 %2041, 1
  store i32 %2042, ptr @test_count, align 4, !tbaa !5
  %2043 = load ptr, ptr %17, align 8, !tbaa !9
  %2044 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %1934, ptr noundef %2043) #10
  %2045 = icmp eq i32 %2044, -1
  br i1 %2045, label %2046, label %2068

2046:                                             ; preds = %2040
  %2047 = load i32, ptr %520, align 4, !tbaa !5
  %2048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2049 = call i32 @s2n_print_stacktrace(ptr noundef %2048) #10
  %2050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2051 = trunc nuw i8 %2050 to i1
  br i1 %2051, label %2052, label %2056

2052:                                             ; preds = %2046
  %2053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2054 = call i32 @fileno(ptr noundef %2053) #10
  %2055 = call i32 @isatty(i32 noundef %2054) #10
  %.not436 = icmp eq i32 %2055, 0
  br i1 %.not436, label %2056, label %2057

2056:                                             ; preds = %2052, %2046
  br label %2057

2057:                                             ; preds = %2052, %2056
  %.str.5.sink1175 = phi ptr [ @.str.5, %2056 ], [ @.str.2, %2052 ]
  store i32 %2047, ptr %520, align 4, !tbaa !5
  %2058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2059 = load i32, ptr @test_count, align 4, !tbaa !5
  %2060 = load i32, ptr %466, align 4, !tbaa !5
  %2061 = call ptr @s2n_strerror(i32 noundef %2060, ptr noundef nonnull @.str.4) #10
  %2062 = load i32, ptr %466, align 4, !tbaa !5
  %2063 = call ptr @s2n_strerror_debug(i32 noundef %2062, ptr noundef nonnull @.str.4) #10
  %2064 = load i32, ptr %520, align 4, !tbaa !5
  %2065 = call ptr @strerror(i32 noundef %2064) #10
  %2066 = load i32, ptr %520, align 4, !tbaa !5
  %2067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2058, ptr noundef nonnull %.str.5.sink1175, i32 noundef %2059, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2061, ptr noundef %2063, ptr noundef %2065, i32 noundef %2066) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2068:                                             ; preds = %2040
  %2069 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2070 = load i32, ptr @test_count, align 4, !tbaa !5
  %2071 = add nsw i32 %2070, 1
  store i32 %2071, ptr @test_count, align 4, !tbaa !5
  %2072 = icmp eq ptr %2069, null
  br i1 %2072, label %2073, label %2095

2073:                                             ; preds = %2068
  %2074 = load i32, ptr %520, align 4, !tbaa !5
  %2075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2076 = call i32 @s2n_print_stacktrace(ptr noundef %2075) #10
  %2077 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2078 = trunc nuw i8 %2077 to i1
  br i1 %2078, label %2079, label %2083

2079:                                             ; preds = %2073
  %2080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2081 = call i32 @fileno(ptr noundef %2080) #10
  %2082 = call i32 @isatty(i32 noundef %2081) #10
  %.not435 = icmp eq i32 %2082, 0
  br i1 %.not435, label %2083, label %2084

2083:                                             ; preds = %2079, %2073
  br label %2084

2084:                                             ; preds = %2079, %2083
  %.str.5.sink1184 = phi ptr [ @.str.5, %2083 ], [ @.str.2, %2079 ]
  store i32 %2074, ptr %520, align 4, !tbaa !5
  %2085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2086 = load i32, ptr @test_count, align 4, !tbaa !5
  %2087 = load i32, ptr %466, align 4, !tbaa !5
  %2088 = call ptr @s2n_strerror(i32 noundef %2087, ptr noundef nonnull @.str.4) #10
  %2089 = load i32, ptr %466, align 4, !tbaa !5
  %2090 = call ptr @s2n_strerror_debug(i32 noundef %2089, ptr noundef nonnull @.str.4) #10
  %2091 = load i32, ptr %520, align 4, !tbaa !5
  %2092 = call ptr @strerror(i32 noundef %2091) #10
  %2093 = load i32, ptr %520, align 4, !tbaa !5
  %2094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2085, ptr noundef nonnull %.str.5.sink1184, i32 noundef %2086, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 228, ptr noundef %2088, ptr noundef %2090, ptr noundef %2092, i32 noundef %2093) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2095:                                             ; preds = %2068
  %2096 = add nsw i32 %2070, 2
  store i32 %2096, ptr @test_count, align 4, !tbaa !5
  %2097 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2069, ptr noundef nonnull %1934) #10
  %2098 = icmp eq i32 %2097, -1
  br i1 %2098, label %2099, label %2121

2099:                                             ; preds = %2095
  %2100 = load i32, ptr %520, align 4, !tbaa !5
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = call i32 @s2n_print_stacktrace(ptr noundef %2101) #10
  %2103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2104 = trunc nuw i8 %2103 to i1
  br i1 %2104, label %2105, label %2109

2105:                                             ; preds = %2099
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = call i32 @fileno(ptr noundef %2106) #10
  %2108 = call i32 @isatty(i32 noundef %2107) #10
  %.not434 = icmp eq i32 %2108, 0
  br i1 %.not434, label %2109, label %2110

2109:                                             ; preds = %2105, %2099
  br label %2110

2110:                                             ; preds = %2105, %2109
  %.str.5.sink1193 = phi ptr [ @.str.5, %2109 ], [ @.str.2, %2105 ]
  store i32 %2100, ptr %520, align 4, !tbaa !5
  %2111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2112 = load i32, ptr @test_count, align 4, !tbaa !5
  %2113 = load i32, ptr %466, align 4, !tbaa !5
  %2114 = call ptr @s2n_strerror(i32 noundef %2113, ptr noundef nonnull @.str.4) #10
  %2115 = load i32, ptr %466, align 4, !tbaa !5
  %2116 = call ptr @s2n_strerror_debug(i32 noundef %2115, ptr noundef nonnull @.str.4) #10
  %2117 = load i32, ptr %520, align 4, !tbaa !5
  %2118 = call ptr @strerror(i32 noundef %2117) #10
  %2119 = load i32, ptr %520, align 4, !tbaa !5
  %2120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2111, ptr noundef nonnull %.str.5.sink1193, i32 noundef %2112, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2114, ptr noundef %2116, ptr noundef %2118, i32 noundef %2119) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2121:                                             ; preds = %2095
  %2122 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %2123 = load i32, ptr @test_count, align 4, !tbaa !5
  %2124 = add nsw i32 %2123, 1
  store i32 %2124, ptr @test_count, align 4, !tbaa !5
  %2125 = icmp eq ptr %2122, null
  br i1 %2125, label %2126, label %2148

2126:                                             ; preds = %2121
  %2127 = load i32, ptr %520, align 4, !tbaa !5
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @s2n_print_stacktrace(ptr noundef %2128) #10
  %2130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2131 = trunc nuw i8 %2130 to i1
  br i1 %2131, label %2132, label %2136

2132:                                             ; preds = %2126
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = call i32 @fileno(ptr noundef %2133) #10
  %2135 = call i32 @isatty(i32 noundef %2134) #10
  %.not433 = icmp eq i32 %2135, 0
  br i1 %.not433, label %2136, label %2137

2136:                                             ; preds = %2132, %2126
  br label %2137

2137:                                             ; preds = %2132, %2136
  %.str.5.sink1202 = phi ptr [ @.str.5, %2136 ], [ @.str.2, %2132 ]
  store i32 %2127, ptr %520, align 4, !tbaa !5
  %2138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2139 = load i32, ptr @test_count, align 4, !tbaa !5
  %2140 = load i32, ptr %466, align 4, !tbaa !5
  %2141 = call ptr @s2n_strerror(i32 noundef %2140, ptr noundef nonnull @.str.4) #10
  %2142 = load i32, ptr %466, align 4, !tbaa !5
  %2143 = call ptr @s2n_strerror_debug(i32 noundef %2142, ptr noundef nonnull @.str.4) #10
  %2144 = load i32, ptr %520, align 4, !tbaa !5
  %2145 = call ptr @strerror(i32 noundef %2144) #10
  %2146 = load i32, ptr %520, align 4, !tbaa !5
  %2147 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2138, ptr noundef nonnull %.str.5.sink1202, i32 noundef %2139, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2141, ptr noundef %2143, ptr noundef %2145, i32 noundef %2146) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2148:                                             ; preds = %2121
  %2149 = add nsw i32 %2123, 2
  store i32 %2149, ptr @test_count, align 4, !tbaa !5
  %2150 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2122, ptr noundef nonnull %1934) #10
  %2151 = icmp eq i32 %2150, -1
  br i1 %2151, label %2152, label %2174

2152:                                             ; preds = %2148
  %2153 = load i32, ptr %520, align 4, !tbaa !5
  %2154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2155 = call i32 @s2n_print_stacktrace(ptr noundef %2154) #10
  %2156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2157 = trunc nuw i8 %2156 to i1
  br i1 %2157, label %2158, label %2162

2158:                                             ; preds = %2152
  %2159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2160 = call i32 @fileno(ptr noundef %2159) #10
  %2161 = call i32 @isatty(i32 noundef %2160) #10
  %.not432 = icmp eq i32 %2161, 0
  br i1 %.not432, label %2162, label %2163

2162:                                             ; preds = %2158, %2152
  br label %2163

2163:                                             ; preds = %2158, %2162
  %.str.5.sink1211 = phi ptr [ @.str.5, %2162 ], [ @.str.2, %2158 ]
  store i32 %2153, ptr %520, align 4, !tbaa !5
  %2164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2165 = load i32, ptr @test_count, align 4, !tbaa !5
  %2166 = load i32, ptr %466, align 4, !tbaa !5
  %2167 = call ptr @s2n_strerror(i32 noundef %2166, ptr noundef nonnull @.str.4) #10
  %2168 = load i32, ptr %466, align 4, !tbaa !5
  %2169 = call ptr @s2n_strerror_debug(i32 noundef %2168, ptr noundef nonnull @.str.4) #10
  %2170 = load i32, ptr %520, align 4, !tbaa !5
  %2171 = call ptr @strerror(i32 noundef %2170) #10
  %2172 = load i32, ptr %520, align 4, !tbaa !5
  %2173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2164, ptr noundef nonnull %.str.5.sink1211, i32 noundef %2165, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 233, ptr noundef %2167, ptr noundef %2169, ptr noundef %2171, i32 noundef %2172) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2174:                                             ; preds = %2148
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %18) #10
  store i64 0, ptr %18, align 8
  %2175 = load i32, ptr @test_count, align 4, !tbaa !5
  %2176 = add nsw i32 %2175, 1
  store i32 %2176, ptr @test_count, align 4, !tbaa !5
  %2177 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %18) #10
  %2178 = icmp eq i32 %2177, -1
  br i1 %2178, label %2179, label %2201

2179:                                             ; preds = %2174
  %2180 = load i32, ptr %520, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @s2n_print_stacktrace(ptr noundef %2181) #10
  %2183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2184 = trunc nuw i8 %2183 to i1
  br i1 %2184, label %2185, label %2189

2185:                                             ; preds = %2179
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = call i32 @fileno(ptr noundef %2186) #10
  %2188 = call i32 @isatty(i32 noundef %2187) #10
  %.not431 = icmp eq i32 %2188, 0
  br i1 %.not431, label %2189, label %2190

2189:                                             ; preds = %2185, %2179
  br label %2190

2190:                                             ; preds = %2185, %2189
  %.str.5.sink1220 = phi ptr [ @.str.5, %2189 ], [ @.str.2, %2185 ]
  store i32 %2180, ptr %520, align 4, !tbaa !5
  %2191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2192 = load i32, ptr @test_count, align 4, !tbaa !5
  %2193 = load i32, ptr %466, align 4, !tbaa !5
  %2194 = call ptr @s2n_strerror(i32 noundef %2193, ptr noundef nonnull @.str.4) #10
  %2195 = load i32, ptr %466, align 4, !tbaa !5
  %2196 = call ptr @s2n_strerror_debug(i32 noundef %2195, ptr noundef nonnull @.str.4) #10
  %2197 = load i32, ptr %520, align 4, !tbaa !5
  %2198 = call ptr @strerror(i32 noundef %2197) #10
  %2199 = load i32, ptr %520, align 4, !tbaa !5
  %2200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2191, ptr noundef nonnull %.str.5.sink1220, i32 noundef %2192, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 237, ptr noundef %2194, ptr noundef %2196, ptr noundef %2198, i32 noundef %2199) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2201:                                             ; preds = %2174
  %2202 = load i32, ptr @test_count, align 4, !tbaa !5
  %2203 = add nsw i32 %2202, 1
  store i32 %2203, ptr @test_count, align 4, !tbaa !5
  %2204 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %2069, ptr noundef nonnull %2122, ptr noundef nonnull %18) #10
  %2205 = icmp eq i32 %2204, -1
  br i1 %2205, label %2206, label %2228

2206:                                             ; preds = %2201
  %2207 = load i32, ptr %520, align 4, !tbaa !5
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @s2n_print_stacktrace(ptr noundef %2208) #10
  %2210 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2211 = trunc nuw i8 %2210 to i1
  br i1 %2211, label %2212, label %2216

2212:                                             ; preds = %2206
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = call i32 @fileno(ptr noundef %2213) #10
  %2215 = call i32 @isatty(i32 noundef %2214) #10
  %.not430 = icmp eq i32 %2215, 0
  br i1 %.not430, label %2216, label %2217

2216:                                             ; preds = %2212, %2206
  br label %2217

2217:                                             ; preds = %2212, %2216
  %.str.5.sink1229 = phi ptr [ @.str.5, %2216 ], [ @.str.2, %2212 ]
  store i32 %2207, ptr %520, align 4, !tbaa !5
  %2218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2219 = load i32, ptr @test_count, align 4, !tbaa !5
  %2220 = load i32, ptr %466, align 4, !tbaa !5
  %2221 = call ptr @s2n_strerror(i32 noundef %2220, ptr noundef nonnull @.str.4) #10
  %2222 = load i32, ptr %466, align 4, !tbaa !5
  %2223 = call ptr @s2n_strerror_debug(i32 noundef %2222, ptr noundef nonnull @.str.4) #10
  %2224 = load i32, ptr %520, align 4, !tbaa !5
  %2225 = call ptr @strerror(i32 noundef %2224) #10
  %2226 = load i32, ptr %520, align 4, !tbaa !5
  %2227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2218, ptr noundef nonnull %.str.5.sink1229, i32 noundef %2219, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 238, ptr noundef %2221, ptr noundef %2223, ptr noundef %2225, i32 noundef %2226) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2228:                                             ; preds = %2201
  %2229 = load i32, ptr %2069, align 8
  %2230 = or i32 %2229, 16384
  store i32 %2230, ptr %2069, align 8
  %2231 = load i32, ptr @test_count, align 4, !tbaa !5
  %2232 = add nsw i32 %2231, 1
  store i32 %2232, ptr @test_count, align 4, !tbaa !5
  %2233 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %2122, ptr noundef nonnull %2069) #10
  %2234 = icmp eq i32 %2233, -1
  br i1 %2234, label %2235, label %2257

2235:                                             ; preds = %2228
  %2236 = load i32, ptr %520, align 4, !tbaa !5
  %2237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2238 = call i32 @s2n_print_stacktrace(ptr noundef %2237) #10
  %2239 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2240 = trunc nuw i8 %2239 to i1
  br i1 %2240, label %2241, label %2245

2241:                                             ; preds = %2235
  %2242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2243 = call i32 @fileno(ptr noundef %2242) #10
  %2244 = call i32 @isatty(i32 noundef %2243) #10
  %.not429 = icmp eq i32 %2244, 0
  br i1 %.not429, label %2245, label %2246

2245:                                             ; preds = %2241, %2235
  br label %2246

2246:                                             ; preds = %2241, %2245
  %.str.5.sink1238 = phi ptr [ @.str.5, %2245 ], [ @.str.2, %2241 ]
  store i32 %2236, ptr %520, align 4, !tbaa !5
  %2247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2248 = load i32, ptr @test_count, align 4, !tbaa !5
  %2249 = load i32, ptr %466, align 4, !tbaa !5
  %2250 = call ptr @s2n_strerror(i32 noundef %2249, ptr noundef nonnull @.str.4) #10
  %2251 = load i32, ptr %466, align 4, !tbaa !5
  %2252 = call ptr @s2n_strerror_debug(i32 noundef %2251, ptr noundef nonnull @.str.4) #10
  %2253 = load i32, ptr %520, align 4, !tbaa !5
  %2254 = call ptr @strerror(i32 noundef %2253) #10
  %2255 = load i32, ptr %520, align 4, !tbaa !5
  %2256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2247, ptr noundef nonnull %.str.5.sink1238, i32 noundef %2248, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 247, ptr noundef %2250, ptr noundef %2252, ptr noundef %2254, i32 noundef %2255) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2257:                                             ; preds = %2228
  %2258 = load i32, ptr @test_count, align 4, !tbaa !5
  %2259 = add nsw i32 %2258, 1
  store i32 %2259, ptr @test_count, align 4, !tbaa !5
  %2260 = getelementptr inbounds i8, ptr %2122, i64 220
  %2261 = load i8, ptr %2260, align 4, !tbaa !15
  %2262 = icmp eq i8 %2261, 33
  br i1 %2262, label %2285, label %2263

2263:                                             ; preds = %2257
  %2264 = load i32, ptr %520, align 4, !tbaa !5
  %2265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2266 = call i32 @s2n_print_stacktrace(ptr noundef %2265) #10
  %2267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2268 = trunc nuw i8 %2267 to i1
  br i1 %2268, label %2269, label %2273

2269:                                             ; preds = %2263
  %2270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2271 = call i32 @fileno(ptr noundef %2270) #10
  %2272 = call i32 @isatty(i32 noundef %2271) #10
  %.not390 = icmp eq i32 %2272, 0
  br i1 %.not390, label %2273, label %2274

2273:                                             ; preds = %2269, %2263
  br label %2274

2274:                                             ; preds = %2269, %2273
  %.str.5.sink1247 = phi ptr [ @.str.5, %2273 ], [ @.str.2, %2269 ]
  store i32 %2264, ptr %520, align 4, !tbaa !5
  %2275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2276 = load i32, ptr @test_count, align 4, !tbaa !5
  %2277 = load i32, ptr %466, align 4, !tbaa !5
  %2278 = call ptr @s2n_strerror(i32 noundef %2277, ptr noundef nonnull @.str.4) #10
  %2279 = load i32, ptr %466, align 4, !tbaa !5
  %2280 = call ptr @s2n_strerror_debug(i32 noundef %2279, ptr noundef nonnull @.str.4) #10
  %2281 = load i32, ptr %520, align 4, !tbaa !5
  %2282 = call ptr @strerror(i32 noundef %2281) #10
  %2283 = load i32, ptr %520, align 4, !tbaa !5
  %2284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2275, ptr noundef nonnull %.str.5.sink1247, i32 noundef %2276, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 248, ptr noundef %2278, ptr noundef %2280, ptr noundef %2282, i32 noundef %2283) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2285:                                             ; preds = %2257
  %2286 = add nsw i32 %2258, 2
  store i32 %2286, ptr @test_count, align 4, !tbaa !5
  %2287 = getelementptr inbounds i8, ptr %2069, i64 220
  %2288 = load i8, ptr %2287, align 4, !tbaa !15
  %2289 = icmp eq i8 %2288, 33
  br i1 %2289, label %2312, label %2290

2290:                                             ; preds = %2285
  %2291 = load i32, ptr %520, align 4, !tbaa !5
  %2292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2293 = call i32 @s2n_print_stacktrace(ptr noundef %2292) #10
  %2294 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2295 = trunc nuw i8 %2294 to i1
  br i1 %2295, label %2296, label %2300

2296:                                             ; preds = %2290
  %2297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2298 = call i32 @fileno(ptr noundef %2297) #10
  %2299 = call i32 @isatty(i32 noundef %2298) #10
  %.not391 = icmp eq i32 %2299, 0
  br i1 %.not391, label %2300, label %2301

2300:                                             ; preds = %2296, %2290
  br label %2301

2301:                                             ; preds = %2296, %2300
  %.str.5.sink1256 = phi ptr [ @.str.5, %2300 ], [ @.str.2, %2296 ]
  store i32 %2291, ptr %520, align 4, !tbaa !5
  %2302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2303 = load i32, ptr @test_count, align 4, !tbaa !5
  %2304 = load i32, ptr %466, align 4, !tbaa !5
  %2305 = call ptr @s2n_strerror(i32 noundef %2304, ptr noundef nonnull @.str.4) #10
  %2306 = load i32, ptr %466, align 4, !tbaa !5
  %2307 = call ptr @s2n_strerror_debug(i32 noundef %2306, ptr noundef nonnull @.str.4) #10
  %2308 = load i32, ptr %520, align 4, !tbaa !5
  %2309 = call ptr @strerror(i32 noundef %2308) #10
  %2310 = load i32, ptr %520, align 4, !tbaa !5
  %2311 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2302, ptr noundef nonnull %.str.5.sink1256, i32 noundef %2303, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 249, ptr noundef %2305, ptr noundef %2307, ptr noundef %2309, i32 noundef %2310) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2312:                                             ; preds = %2285
  %2313 = add nsw i32 %2258, 3
  store i32 %2313, ptr @test_count, align 4, !tbaa !5
  %2314 = load i32, ptr %2122, align 8
  %2315 = and i32 %2314, 8192
  %.not392 = icmp eq i32 %2315, 0
  br i1 %.not392, label %2338, label %2316

2316:                                             ; preds = %2312
  %2317 = load i32, ptr %520, align 4, !tbaa !5
  %2318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2319 = call i32 @s2n_print_stacktrace(ptr noundef %2318) #10
  %2320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2321 = trunc nuw i8 %2320 to i1
  br i1 %2321, label %2322, label %2326

2322:                                             ; preds = %2316
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = call i32 @fileno(ptr noundef %2323) #10
  %2325 = call i32 @isatty(i32 noundef %2324) #10
  %.not428 = icmp eq i32 %2325, 0
  br i1 %.not428, label %2326, label %2327

2326:                                             ; preds = %2322, %2316
  br label %2327

2327:                                             ; preds = %2322, %2326
  %.str.5.sink1265 = phi ptr [ @.str.5, %2326 ], [ @.str.2, %2322 ]
  store i32 %2317, ptr %520, align 4, !tbaa !5
  %2328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2329 = load i32, ptr @test_count, align 4, !tbaa !5
  %2330 = load i32, ptr %466, align 4, !tbaa !5
  %2331 = call ptr @s2n_strerror(i32 noundef %2330, ptr noundef nonnull @.str.4) #10
  %2332 = load i32, ptr %466, align 4, !tbaa !5
  %2333 = call ptr @s2n_strerror_debug(i32 noundef %2332, ptr noundef nonnull @.str.4) #10
  %2334 = load i32, ptr %520, align 4, !tbaa !5
  %2335 = call ptr @strerror(i32 noundef %2334) #10
  %2336 = load i32, ptr %520, align 4, !tbaa !5
  %2337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2328, ptr noundef nonnull %.str.5.sink1265, i32 noundef %2329, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 250, ptr noundef %2331, ptr noundef %2333, ptr noundef %2335, i32 noundef %2336) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2338:                                             ; preds = %2312
  %2339 = add nsw i32 %2258, 4
  store i32 %2339, ptr @test_count, align 4, !tbaa !5
  %2340 = load i32, ptr %2069, align 8
  %2341 = and i32 %2340, 8192
  %.not393 = icmp eq i32 %2341, 0
  br i1 %.not393, label %2364, label %2342

2342:                                             ; preds = %2338
  %2343 = load i32, ptr %520, align 4, !tbaa !5
  %2344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2345 = call i32 @s2n_print_stacktrace(ptr noundef %2344) #10
  %2346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2347 = trunc nuw i8 %2346 to i1
  br i1 %2347, label %2348, label %2352

2348:                                             ; preds = %2342
  %2349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2350 = call i32 @fileno(ptr noundef %2349) #10
  %2351 = call i32 @isatty(i32 noundef %2350) #10
  %.not427 = icmp eq i32 %2351, 0
  br i1 %.not427, label %2352, label %2353

2352:                                             ; preds = %2348, %2342
  br label %2353

2353:                                             ; preds = %2348, %2352
  %.str.5.sink1274 = phi ptr [ @.str.5, %2352 ], [ @.str.2, %2348 ]
  store i32 %2343, ptr %520, align 4, !tbaa !5
  %2354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2355 = load i32, ptr @test_count, align 4, !tbaa !5
  %2356 = load i32, ptr %466, align 4, !tbaa !5
  %2357 = call ptr @s2n_strerror(i32 noundef %2356, ptr noundef nonnull @.str.4) #10
  %2358 = load i32, ptr %466, align 4, !tbaa !5
  %2359 = call ptr @s2n_strerror_debug(i32 noundef %2358, ptr noundef nonnull @.str.4) #10
  %2360 = load i32, ptr %520, align 4, !tbaa !5
  %2361 = call ptr @strerror(i32 noundef %2360) #10
  %2362 = load i32, ptr %520, align 4, !tbaa !5
  %2363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2354, ptr noundef nonnull %.str.5.sink1274, i32 noundef %2355, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2357, ptr noundef %2359, ptr noundef %2361, i32 noundef %2362) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2364:                                             ; preds = %2338
  %2365 = add nsw i32 %2258, 5
  store i32 %2365, ptr @test_count, align 4, !tbaa !5
  %2366 = call i32 @s2n_connection_free(ptr noundef nonnull %2069) #10
  %2367 = icmp eq i32 %2366, -1
  br i1 %2367, label %2368, label %2390

2368:                                             ; preds = %2364
  %2369 = load i32, ptr %520, align 4, !tbaa !5
  %2370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2371 = call i32 @s2n_print_stacktrace(ptr noundef %2370) #10
  %2372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2373 = trunc nuw i8 %2372 to i1
  br i1 %2373, label %2374, label %2378

2374:                                             ; preds = %2368
  %2375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2376 = call i32 @fileno(ptr noundef %2375) #10
  %2377 = call i32 @isatty(i32 noundef %2376) #10
  %.not426 = icmp eq i32 %2377, 0
  br i1 %.not426, label %2378, label %2379

2378:                                             ; preds = %2374, %2368
  br label %2379

2379:                                             ; preds = %2374, %2378
  %.str.5.sink1283 = phi ptr [ @.str.5, %2378 ], [ @.str.2, %2374 ]
  store i32 %2369, ptr %520, align 4, !tbaa !5
  %2380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2381 = load i32, ptr @test_count, align 4, !tbaa !5
  %2382 = load i32, ptr %466, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror(i32 noundef %2382, ptr noundef nonnull @.str.4) #10
  %2384 = load i32, ptr %466, align 4, !tbaa !5
  %2385 = call ptr @s2n_strerror_debug(i32 noundef %2384, ptr noundef nonnull @.str.4) #10
  %2386 = load i32, ptr %520, align 4, !tbaa !5
  %2387 = call ptr @strerror(i32 noundef %2386) #10
  %2388 = load i32, ptr %520, align 4, !tbaa !5
  %2389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2380, ptr noundef nonnull %.str.5.sink1283, i32 noundef %2381, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2383, ptr noundef %2385, ptr noundef %2387, i32 noundef %2388) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2390:                                             ; preds = %2364
  %2391 = load i32, ptr @test_count, align 4, !tbaa !5
  %2392 = add nsw i32 %2391, 1
  store i32 %2392, ptr @test_count, align 4, !tbaa !5
  %2393 = call i32 @s2n_connection_free(ptr noundef nonnull %2122) #10
  %2394 = icmp eq i32 %2393, -1
  br i1 %2394, label %2395, label %2417

2395:                                             ; preds = %2390
  %2396 = load i32, ptr %520, align 4, !tbaa !5
  %2397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2398 = call i32 @s2n_print_stacktrace(ptr noundef %2397) #10
  %2399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2400 = trunc nuw i8 %2399 to i1
  br i1 %2400, label %2401, label %2405

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

2405:                                             ; preds = %2401, %2395
  br label %2406

2406:                                             ; preds = %2401, %2405
  %.str.5.sink1292 = phi ptr [ @.str.5, %2405 ], [ @.str.2, %2401 ]
  store i32 %2396, ptr %520, align 4, !tbaa !5
  %2407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2408 = load i32, ptr @test_count, align 4, !tbaa !5
  %2409 = load i32, ptr %466, align 4, !tbaa !5
  %2410 = call ptr @s2n_strerror(i32 noundef %2409, ptr noundef nonnull @.str.4) #10
  %2411 = load i32, ptr %466, align 4, !tbaa !5
  %2412 = call ptr @s2n_strerror_debug(i32 noundef %2411, ptr noundef nonnull @.str.4) #10
  %2413 = load i32, ptr %520, align 4, !tbaa !5
  %2414 = call ptr @strerror(i32 noundef %2413) #10
  %2415 = load i32, ptr %520, align 4, !tbaa !5
  %2416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2407, ptr noundef nonnull %.str.5.sink1292, i32 noundef %2408, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 254, ptr noundef %2410, ptr noundef %2412, ptr noundef %2414, i32 noundef %2415) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2417:                                             ; preds = %2390
  %2418 = load i32, ptr @test_count, align 4, !tbaa !5
  %2419 = add nsw i32 %2418, 1
  store i32 %2419, ptr @test_count, align 4, !tbaa !5
  %2420 = load ptr, ptr %17, align 8, !tbaa !9
  %2421 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %2420) #10
  %2422 = icmp eq i32 %2421, -1
  br i1 %2422, label %2423, label %2445

2423:                                             ; preds = %2417
  %2424 = load i32, ptr %520, align 4, !tbaa !5
  %2425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2426 = call i32 @s2n_print_stacktrace(ptr noundef %2425) #10
  %2427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2428 = trunc nuw i8 %2427 to i1
  br i1 %2428, label %2429, label %2433

2429:                                             ; preds = %2423
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @fileno(ptr noundef %2430) #10
  %2432 = call i32 @isatty(i32 noundef %2431) #10
  %.not424 = icmp eq i32 %2432, 0
  br i1 %.not424, label %2433, label %2434

2433:                                             ; preds = %2429, %2423
  br label %2434

2434:                                             ; preds = %2429, %2433
  %.str.5.sink1301 = phi ptr [ @.str.5, %2433 ], [ @.str.2, %2429 ]
  store i32 %2424, ptr %520, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = load i32, ptr %466, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef nonnull @.str.4) #10
  %2439 = load i32, ptr %466, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef nonnull @.str.4) #10
  %2441 = load i32, ptr %520, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #10
  %2443 = load i32, ptr %520, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2435, ptr noundef nonnull %.str.5.sink1301, i32 noundef %2436, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 255, ptr noundef %2438, ptr noundef %2440, ptr noundef %2442, i32 noundef %2443) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2445:                                             ; preds = %2417
  %2446 = load i32, ptr @test_count, align 4, !tbaa !5
  %2447 = add nsw i32 %2446, 1
  store i32 %2447, ptr @test_count, align 4, !tbaa !5
  %2448 = call i32 @s2n_io_pair_close(ptr noundef nonnull %18) #10
  %2449 = icmp eq i32 %2448, -1
  br i1 %2449, label %2450, label %2472

2450:                                             ; preds = %2445
  %2451 = load i32, ptr %520, align 4, !tbaa !5
  %2452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2453 = call i32 @s2n_print_stacktrace(ptr noundef %2452) #10
  %2454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2455 = trunc nuw i8 %2454 to i1
  br i1 %2455, label %2456, label %2460

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

2460:                                             ; preds = %2456, %2450
  br label %2461

2461:                                             ; preds = %2456, %2460
  %.str.5.sink1310 = phi ptr [ @.str.5, %2460 ], [ @.str.2, %2456 ]
  store i32 %2451, ptr %520, align 4, !tbaa !5
  %2462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2463 = load i32, ptr @test_count, align 4, !tbaa !5
  %2464 = load i32, ptr %466, align 4, !tbaa !5
  %2465 = call ptr @s2n_strerror(i32 noundef %2464, ptr noundef nonnull @.str.4) #10
  %2466 = load i32, ptr %466, align 4, !tbaa !5
  %2467 = call ptr @s2n_strerror_debug(i32 noundef %2466, ptr noundef nonnull @.str.4) #10
  %2468 = load i32, ptr %520, align 4, !tbaa !5
  %2469 = call ptr @strerror(i32 noundef %2468) #10
  %2470 = load i32, ptr %520, align 4, !tbaa !5
  %2471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2462, ptr noundef nonnull %.str.5.sink1310, i32 noundef %2463, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 256, ptr noundef %2465, ptr noundef %2467, ptr noundef %2469, i32 noundef %2470) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2472:                                             ; preds = %2445
  %2473 = load i32, ptr @test_count, align 4, !tbaa !5
  %2474 = add nsw i32 %2473, 1
  store i32 %2474, ptr @test_count, align 4, !tbaa !5
  %2475 = call i32 @s2n_config_free(ptr noundef nonnull %1934) #10
  %2476 = icmp eq i32 %2475, -1
  br i1 %2476, label %2477, label %2499

2477:                                             ; preds = %2472
  %2478 = load i32, ptr %520, align 4, !tbaa !5
  %2479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2480 = call i32 @s2n_print_stacktrace(ptr noundef %2479) #10
  %2481 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2482 = trunc nuw i8 %2481 to i1
  br i1 %2482, label %2483, label %2487

2483:                                             ; preds = %2477
  %2484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2485 = call i32 @fileno(ptr noundef %2484) #10
  %2486 = call i32 @isatty(i32 noundef %2485) #10
  %.not422 = icmp eq i32 %2486, 0
  br i1 %.not422, label %2487, label %2488

2487:                                             ; preds = %2483, %2477
  br label %2488

2488:                                             ; preds = %2483, %2487
  %.str.5.sink1319 = phi ptr [ @.str.5, %2487 ], [ @.str.2, %2483 ]
  store i32 %2478, ptr %520, align 4, !tbaa !5
  %2489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2490 = load i32, ptr @test_count, align 4, !tbaa !5
  %2491 = load i32, ptr %466, align 4, !tbaa !5
  %2492 = call ptr @s2n_strerror(i32 noundef %2491, ptr noundef nonnull @.str.4) #10
  %2493 = load i32, ptr %466, align 4, !tbaa !5
  %2494 = call ptr @s2n_strerror_debug(i32 noundef %2493, ptr noundef nonnull @.str.4) #10
  %2495 = load i32, ptr %520, align 4, !tbaa !5
  %2496 = call ptr @strerror(i32 noundef %2495) #10
  %2497 = load i32, ptr %520, align 4, !tbaa !5
  %2498 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2489, ptr noundef nonnull %.str.5.sink1319, i32 noundef %2490, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 257, ptr noundef %2492, ptr noundef %2494, ptr noundef %2496, i32 noundef %2497) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2499:                                             ; preds = %2472
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %18) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %17) #10
  %2500 = call ptr @s2n_config_new() #10
  %2501 = load i32, ptr @test_count, align 4, !tbaa !5
  %2502 = add nsw i32 %2501, 1
  store i32 %2502, ptr @test_count, align 4, !tbaa !5
  %2503 = icmp eq ptr %2500, null
  br i1 %2503, label %2504, label %2526

2504:                                             ; preds = %2499
  %2505 = load i32, ptr %520, align 4, !tbaa !5
  %2506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2507 = call i32 @s2n_print_stacktrace(ptr noundef %2506) #10
  %2508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2509 = trunc nuw i8 %2508 to i1
  br i1 %2509, label %2510, label %2514

2510:                                             ; preds = %2504
  %2511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2512 = call i32 @fileno(ptr noundef %2511) #10
  %2513 = call i32 @isatty(i32 noundef %2512) #10
  %.not421 = icmp eq i32 %2513, 0
  br i1 %.not421, label %2514, label %2515

2514:                                             ; preds = %2510, %2504
  br label %2515

2515:                                             ; preds = %2510, %2514
  %.str.5.sink1328 = phi ptr [ @.str.5, %2514 ], [ @.str.2, %2510 ]
  store i32 %2505, ptr %520, align 4, !tbaa !5
  %2516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2517 = load i32, ptr @test_count, align 4, !tbaa !5
  %2518 = load i32, ptr %466, align 4, !tbaa !5
  %2519 = call ptr @s2n_strerror(i32 noundef %2518, ptr noundef nonnull @.str.4) #10
  %2520 = load i32, ptr %466, align 4, !tbaa !5
  %2521 = call ptr @s2n_strerror_debug(i32 noundef %2520, ptr noundef nonnull @.str.4) #10
  %2522 = load i32, ptr %520, align 4, !tbaa !5
  %2523 = call ptr @strerror(i32 noundef %2522) #10
  %2524 = load i32, ptr %520, align 4, !tbaa !5
  %2525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2516, ptr noundef nonnull %.str.5.sink1328, i32 noundef %2517, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2519, ptr noundef %2521, ptr noundef %2523, i32 noundef %2524) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2526:                                             ; preds = %2499
  %2527 = add nsw i32 %2501, 2
  store i32 %2527, ptr @test_count, align 4, !tbaa !5
  %2528 = call i32 @s2n_config_set_cipher_preferences(ptr noundef nonnull %2500, ptr noundef nonnull @.str.28) #10
  %2529 = icmp eq i32 %2528, -1
  br i1 %2529, label %2530, label %2552

2530:                                             ; preds = %2526
  %2531 = load i32, ptr %520, align 4, !tbaa !5
  %2532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2533 = call i32 @s2n_print_stacktrace(ptr noundef %2532) #10
  %2534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2535 = trunc nuw i8 %2534 to i1
  br i1 %2535, label %2536, label %2540

2536:                                             ; preds = %2530
  %2537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2538 = call i32 @fileno(ptr noundef %2537) #10
  %2539 = call i32 @isatty(i32 noundef %2538) #10
  %.not420 = icmp eq i32 %2539, 0
  br i1 %.not420, label %2540, label %2541

2540:                                             ; preds = %2536, %2530
  br label %2541

2541:                                             ; preds = %2536, %2540
  %.str.5.sink1337 = phi ptr [ @.str.5, %2540 ], [ @.str.2, %2536 ]
  store i32 %2531, ptr %520, align 4, !tbaa !5
  %2542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2543 = load i32, ptr @test_count, align 4, !tbaa !5
  %2544 = load i32, ptr %466, align 4, !tbaa !5
  %2545 = call ptr @s2n_strerror(i32 noundef %2544, ptr noundef nonnull @.str.4) #10
  %2546 = load i32, ptr %466, align 4, !tbaa !5
  %2547 = call ptr @s2n_strerror_debug(i32 noundef %2546, ptr noundef nonnull @.str.4) #10
  %2548 = load i32, ptr %520, align 4, !tbaa !5
  %2549 = call ptr @strerror(i32 noundef %2548) #10
  %2550 = load i32, ptr %520, align 4, !tbaa !5
  %2551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2542, ptr noundef nonnull %.str.5.sink1337, i32 noundef %2543, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 265, ptr noundef %2545, ptr noundef %2547, ptr noundef %2549, i32 noundef %2550) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2552:                                             ; preds = %2526
  %2553 = load i32, ptr @test_count, align 4, !tbaa !5
  %2554 = add nsw i32 %2553, 1
  store i32 %2554, ptr @test_count, align 4, !tbaa !5
  %2555 = call i32 @s2n_config_set_unsafe_for_testing(ptr noundef nonnull %2500) #10
  %2556 = icmp eq i32 %2555, -1
  br i1 %2556, label %2557, label %2579

2557:                                             ; preds = %2552
  %2558 = load i32, ptr %520, align 4, !tbaa !5
  %2559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2560 = call i32 @s2n_print_stacktrace(ptr noundef %2559) #10
  %2561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2562 = trunc nuw i8 %2561 to i1
  br i1 %2562, label %2563, label %2567

2563:                                             ; preds = %2557
  %2564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2565 = call i32 @fileno(ptr noundef %2564) #10
  %2566 = call i32 @isatty(i32 noundef %2565) #10
  %.not419 = icmp eq i32 %2566, 0
  br i1 %.not419, label %2567, label %2568

2567:                                             ; preds = %2563, %2557
  br label %2568

2568:                                             ; preds = %2563, %2567
  %.str.5.sink1346 = phi ptr [ @.str.5, %2567 ], [ @.str.2, %2563 ]
  store i32 %2558, ptr %520, align 4, !tbaa !5
  %2569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2570 = load i32, ptr @test_count, align 4, !tbaa !5
  %2571 = load i32, ptr %466, align 4, !tbaa !5
  %2572 = call ptr @s2n_strerror(i32 noundef %2571, ptr noundef nonnull @.str.4) #10
  %2573 = load i32, ptr %466, align 4, !tbaa !5
  %2574 = call ptr @s2n_strerror_debug(i32 noundef %2573, ptr noundef nonnull @.str.4) #10
  %2575 = load i32, ptr %520, align 4, !tbaa !5
  %2576 = call ptr @strerror(i32 noundef %2575) #10
  %2577 = load i32, ptr %520, align 4, !tbaa !5
  %2578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2569, ptr noundef nonnull %.str.5.sink1346, i32 noundef %2570, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2572, ptr noundef %2574, ptr noundef %2576, i32 noundef %2577) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2579:                                             ; preds = %2552
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #10
  store ptr null, ptr %19, align 8, !tbaa !9
  %2580 = load i32, ptr @test_count, align 4, !tbaa !5
  %2581 = add nsw i32 %2580, 1
  store i32 %2581, ptr @test_count, align 4, !tbaa !5
  %2582 = call i32 @s2n_test_cert_chain_and_key_new(ptr noundef nonnull %19, ptr noundef nonnull @.str.31, ptr noundef nonnull @.str.32) #10
  %2583 = icmp eq i32 %2582, -1
  br i1 %2583, label %2584, label %2606

2584:                                             ; preds = %2579
  %2585 = load i32, ptr %520, align 4, !tbaa !5
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = call i32 @s2n_print_stacktrace(ptr noundef %2586) #10
  %2588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2589 = trunc nuw i8 %2588 to i1
  br i1 %2589, label %2590, label %2594

2590:                                             ; preds = %2584
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @fileno(ptr noundef %2591) #10
  %2593 = call i32 @isatty(i32 noundef %2592) #10
  %.not418 = icmp eq i32 %2593, 0
  br i1 %.not418, label %2594, label %2595

2594:                                             ; preds = %2590, %2584
  br label %2595

2595:                                             ; preds = %2590, %2594
  %.str.5.sink1355 = phi ptr [ @.str.5, %2594 ], [ @.str.2, %2590 ]
  store i32 %2585, ptr %520, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = load i32, ptr %466, align 4, !tbaa !5
  %2599 = call ptr @s2n_strerror(i32 noundef %2598, ptr noundef nonnull @.str.4) #10
  %2600 = load i32, ptr %466, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror_debug(i32 noundef %2600, ptr noundef nonnull @.str.4) #10
  %2602 = load i32, ptr %520, align 4, !tbaa !5
  %2603 = call ptr @strerror(i32 noundef %2602) #10
  %2604 = load i32, ptr %520, align 4, !tbaa !5
  %2605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef nonnull %.str.5.sink1355, i32 noundef %2597, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 269, ptr noundef %2599, ptr noundef %2601, ptr noundef %2603, i32 noundef %2604) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2606:                                             ; preds = %2579
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = add nsw i32 %2607, 1
  store i32 %2608, ptr @test_count, align 4, !tbaa !5
  %2609 = load ptr, ptr %19, align 8, !tbaa !9
  %2610 = call i32 @s2n_config_add_cert_chain_and_key_to_store(ptr noundef nonnull %2500, ptr noundef %2609) #10
  %2611 = icmp eq i32 %2610, -1
  br i1 %2611, label %2612, label %2634

2612:                                             ; preds = %2606
  %2613 = load i32, ptr %520, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @s2n_print_stacktrace(ptr noundef %2614) #10
  %2616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2617 = trunc nuw i8 %2616 to i1
  br i1 %2617, label %2618, label %2622

2618:                                             ; preds = %2612
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @fileno(ptr noundef %2619) #10
  %2621 = call i32 @isatty(i32 noundef %2620) #10
  %.not417 = icmp eq i32 %2621, 0
  br i1 %.not417, label %2622, label %2623

2622:                                             ; preds = %2618, %2612
  br label %2623

2623:                                             ; preds = %2618, %2622
  %.str.5.sink1364 = phi ptr [ @.str.5, %2622 ], [ @.str.2, %2618 ]
  store i32 %2613, ptr %520, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %466, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef nonnull @.str.4) #10
  %2628 = load i32, ptr %466, align 4, !tbaa !5
  %2629 = call ptr @s2n_strerror_debug(i32 noundef %2628, ptr noundef nonnull @.str.4) #10
  %2630 = load i32, ptr %520, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #10
  %2632 = load i32, ptr %520, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef nonnull %.str.5.sink1364, i32 noundef %2625, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %2627, ptr noundef %2629, ptr noundef %2631, i32 noundef %2632) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2634:                                             ; preds = %2606
  %2635 = call ptr @s2n_connection_new(i32 noundef 1) #10
  %2636 = load i32, ptr @test_count, align 4, !tbaa !5
  %2637 = add nsw i32 %2636, 1
  store i32 %2637, ptr @test_count, align 4, !tbaa !5
  %2638 = icmp eq ptr %2635, null
  br i1 %2638, label %2639, label %2661

2639:                                             ; preds = %2634
  %2640 = load i32, ptr %520, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = call i32 @s2n_print_stacktrace(ptr noundef %2641) #10
  %2643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2644 = trunc nuw i8 %2643 to i1
  br i1 %2644, label %2645, label %2649

2645:                                             ; preds = %2639
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @fileno(ptr noundef %2646) #10
  %2648 = call i32 @isatty(i32 noundef %2647) #10
  %.not416 = icmp eq i32 %2648, 0
  br i1 %.not416, label %2649, label %2650

2649:                                             ; preds = %2645, %2639
  br label %2650

2650:                                             ; preds = %2645, %2649
  %.str.5.sink1373 = phi ptr [ @.str.5, %2649 ], [ @.str.2, %2645 ]
  store i32 %2640, ptr %520, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = load i32, ptr %466, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror(i32 noundef %2653, ptr noundef nonnull @.str.4) #10
  %2655 = load i32, ptr %466, align 4, !tbaa !5
  %2656 = call ptr @s2n_strerror_debug(i32 noundef %2655, ptr noundef nonnull @.str.4) #10
  %2657 = load i32, ptr %520, align 4, !tbaa !5
  %2658 = call ptr @strerror(i32 noundef %2657) #10
  %2659 = load i32, ptr %520, align 4, !tbaa !5
  %2660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef nonnull %.str.5.sink1373, i32 noundef %2652, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 273, ptr noundef %2654, ptr noundef %2656, ptr noundef %2658, i32 noundef %2659) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2661:                                             ; preds = %2634
  %2662 = add nsw i32 %2636, 2
  store i32 %2662, ptr @test_count, align 4, !tbaa !5
  %2663 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2635, ptr noundef nonnull %2500) #10
  %2664 = icmp eq i32 %2663, -1
  br i1 %2664, label %2665, label %2687

2665:                                             ; preds = %2661
  %2666 = load i32, ptr %520, align 4, !tbaa !5
  %2667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2668 = call i32 @s2n_print_stacktrace(ptr noundef %2667) #10
  %2669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2670 = trunc nuw i8 %2669 to i1
  br i1 %2670, label %2671, label %2675

2671:                                             ; preds = %2665
  %2672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2673 = call i32 @fileno(ptr noundef %2672) #10
  %2674 = call i32 @isatty(i32 noundef %2673) #10
  %.not415 = icmp eq i32 %2674, 0
  br i1 %.not415, label %2675, label %2676

2675:                                             ; preds = %2671, %2665
  br label %2676

2676:                                             ; preds = %2671, %2675
  %.str.5.sink1382 = phi ptr [ @.str.5, %2675 ], [ @.str.2, %2671 ]
  store i32 %2666, ptr %520, align 4, !tbaa !5
  %2677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2678 = load i32, ptr @test_count, align 4, !tbaa !5
  %2679 = load i32, ptr %466, align 4, !tbaa !5
  %2680 = call ptr @s2n_strerror(i32 noundef %2679, ptr noundef nonnull @.str.4) #10
  %2681 = load i32, ptr %466, align 4, !tbaa !5
  %2682 = call ptr @s2n_strerror_debug(i32 noundef %2681, ptr noundef nonnull @.str.4) #10
  %2683 = load i32, ptr %520, align 4, !tbaa !5
  %2684 = call ptr @strerror(i32 noundef %2683) #10
  %2685 = load i32, ptr %520, align 4, !tbaa !5
  %2686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2677, ptr noundef nonnull %.str.5.sink1382, i32 noundef %2678, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 274, ptr noundef %2680, ptr noundef %2682, ptr noundef %2684, i32 noundef %2685) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2687:                                             ; preds = %2661
  %2688 = call ptr @s2n_connection_new(i32 noundef 0) #10
  %2689 = load i32, ptr @test_count, align 4, !tbaa !5
  %2690 = add nsw i32 %2689, 1
  store i32 %2690, ptr @test_count, align 4, !tbaa !5
  %2691 = icmp eq ptr %2688, null
  br i1 %2691, label %2692, label %2714

2692:                                             ; preds = %2687
  %2693 = load i32, ptr %520, align 4, !tbaa !5
  %2694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2695 = call i32 @s2n_print_stacktrace(ptr noundef %2694) #10
  %2696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2697 = trunc nuw i8 %2696 to i1
  br i1 %2697, label %2698, label %2702

2698:                                             ; preds = %2692
  %2699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2700 = call i32 @fileno(ptr noundef %2699) #10
  %2701 = call i32 @isatty(i32 noundef %2700) #10
  %.not414 = icmp eq i32 %2701, 0
  br i1 %.not414, label %2702, label %2703

2702:                                             ; preds = %2698, %2692
  br label %2703

2703:                                             ; preds = %2698, %2702
  %.str.5.sink1391 = phi ptr [ @.str.5, %2702 ], [ @.str.2, %2698 ]
  store i32 %2693, ptr %520, align 4, !tbaa !5
  %2704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2705 = load i32, ptr @test_count, align 4, !tbaa !5
  %2706 = load i32, ptr %466, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror(i32 noundef %2706, ptr noundef nonnull @.str.4) #10
  %2708 = load i32, ptr %466, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror_debug(i32 noundef %2708, ptr noundef nonnull @.str.4) #10
  %2710 = load i32, ptr %520, align 4, !tbaa !5
  %2711 = call ptr @strerror(i32 noundef %2710) #10
  %2712 = load i32, ptr %520, align 4, !tbaa !5
  %2713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2704, ptr noundef nonnull %.str.5.sink1391, i32 noundef %2705, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 277, ptr noundef %2707, ptr noundef %2709, ptr noundef %2711, i32 noundef %2712) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2714:                                             ; preds = %2687
  %2715 = add nsw i32 %2689, 2
  store i32 %2715, ptr @test_count, align 4, !tbaa !5
  %2716 = call i32 @s2n_connection_set_config(ptr noundef nonnull %2688, ptr noundef nonnull %2500) #10
  %2717 = icmp eq i32 %2716, -1
  br i1 %2717, label %2718, label %2740

2718:                                             ; preds = %2714
  %2719 = load i32, ptr %520, align 4, !tbaa !5
  %2720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2721 = call i32 @s2n_print_stacktrace(ptr noundef %2720) #10
  %2722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2723 = trunc nuw i8 %2722 to i1
  br i1 %2723, label %2724, label %2728

2724:                                             ; preds = %2718
  %2725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2726 = call i32 @fileno(ptr noundef %2725) #10
  %2727 = call i32 @isatty(i32 noundef %2726) #10
  %.not413 = icmp eq i32 %2727, 0
  br i1 %.not413, label %2728, label %2729

2728:                                             ; preds = %2724, %2718
  br label %2729

2729:                                             ; preds = %2724, %2728
  %.str.5.sink1400 = phi ptr [ @.str.5, %2728 ], [ @.str.2, %2724 ]
  store i32 %2719, ptr %520, align 4, !tbaa !5
  %2730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2731 = load i32, ptr @test_count, align 4, !tbaa !5
  %2732 = load i32, ptr %466, align 4, !tbaa !5
  %2733 = call ptr @s2n_strerror(i32 noundef %2732, ptr noundef nonnull @.str.4) #10
  %2734 = load i32, ptr %466, align 4, !tbaa !5
  %2735 = call ptr @s2n_strerror_debug(i32 noundef %2734, ptr noundef nonnull @.str.4) #10
  %2736 = load i32, ptr %520, align 4, !tbaa !5
  %2737 = call ptr @strerror(i32 noundef %2736) #10
  %2738 = load i32, ptr %520, align 4, !tbaa !5
  %2739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2730, ptr noundef nonnull %.str.5.sink1400, i32 noundef %2731, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 278, ptr noundef %2733, ptr noundef %2735, ptr noundef %2737, i32 noundef %2738) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2740:                                             ; preds = %2714
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %20) #10
  store i64 0, ptr %20, align 8
  %2741 = load i32, ptr @test_count, align 4, !tbaa !5
  %2742 = add nsw i32 %2741, 1
  store i32 %2742, ptr @test_count, align 4, !tbaa !5
  %2743 = call i32 @s2n_io_pair_init_non_blocking(ptr noundef nonnull %20) #10
  %2744 = icmp eq i32 %2743, -1
  br i1 %2744, label %2745, label %2767

2745:                                             ; preds = %2740
  %2746 = load i32, ptr %520, align 4, !tbaa !5
  %2747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2748 = call i32 @s2n_print_stacktrace(ptr noundef %2747) #10
  %2749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2750 = trunc nuw i8 %2749 to i1
  br i1 %2750, label %2751, label %2755

2751:                                             ; preds = %2745
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = call i32 @fileno(ptr noundef %2752) #10
  %2754 = call i32 @isatty(i32 noundef %2753) #10
  %.not412 = icmp eq i32 %2754, 0
  br i1 %.not412, label %2755, label %2756

2755:                                             ; preds = %2751, %2745
  br label %2756

2756:                                             ; preds = %2751, %2755
  %.str.5.sink1409 = phi ptr [ @.str.5, %2755 ], [ @.str.2, %2751 ]
  store i32 %2746, ptr %520, align 4, !tbaa !5
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = load i32, ptr @test_count, align 4, !tbaa !5
  %2759 = load i32, ptr %466, align 4, !tbaa !5
  %2760 = call ptr @s2n_strerror(i32 noundef %2759, ptr noundef nonnull @.str.4) #10
  %2761 = load i32, ptr %466, align 4, !tbaa !5
  %2762 = call ptr @s2n_strerror_debug(i32 noundef %2761, ptr noundef nonnull @.str.4) #10
  %2763 = load i32, ptr %520, align 4, !tbaa !5
  %2764 = call ptr @strerror(i32 noundef %2763) #10
  %2765 = load i32, ptr %520, align 4, !tbaa !5
  %2766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2757, ptr noundef nonnull %.str.5.sink1409, i32 noundef %2758, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 282, ptr noundef %2760, ptr noundef %2762, ptr noundef %2764, i32 noundef %2765) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2767:                                             ; preds = %2740
  %2768 = load i32, ptr @test_count, align 4, !tbaa !5
  %2769 = add nsw i32 %2768, 1
  store i32 %2769, ptr @test_count, align 4, !tbaa !5
  %2770 = call i32 @s2n_connections_set_io_pair(ptr noundef nonnull %2635, ptr noundef nonnull %2688, ptr noundef nonnull %20) #10
  %2771 = icmp eq i32 %2770, -1
  br i1 %2771, label %2772, label %2794

2772:                                             ; preds = %2767
  %2773 = load i32, ptr %520, align 4, !tbaa !5
  %2774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2775 = call i32 @s2n_print_stacktrace(ptr noundef %2774) #10
  %2776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2777 = trunc nuw i8 %2776 to i1
  br i1 %2777, label %2778, label %2782

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

2782:                                             ; preds = %2778, %2772
  br label %2783

2783:                                             ; preds = %2778, %2782
  %.str.5.sink1418 = phi ptr [ @.str.5, %2782 ], [ @.str.2, %2778 ]
  store i32 %2773, ptr %520, align 4, !tbaa !5
  %2784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2785 = load i32, ptr @test_count, align 4, !tbaa !5
  %2786 = load i32, ptr %466, align 4, !tbaa !5
  %2787 = call ptr @s2n_strerror(i32 noundef %2786, ptr noundef nonnull @.str.4) #10
  %2788 = load i32, ptr %466, align 4, !tbaa !5
  %2789 = call ptr @s2n_strerror_debug(i32 noundef %2788, ptr noundef nonnull @.str.4) #10
  %2790 = load i32, ptr %520, align 4, !tbaa !5
  %2791 = call ptr @strerror(i32 noundef %2790) #10
  %2792 = load i32, ptr %520, align 4, !tbaa !5
  %2793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2784, ptr noundef nonnull %.str.5.sink1418, i32 noundef %2785, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %2787, ptr noundef %2789, ptr noundef %2791, i32 noundef %2792) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2794:                                             ; preds = %2767
  %2795 = load i32, ptr @test_count, align 4, !tbaa !5
  %2796 = add nsw i32 %2795, 1
  store i32 %2796, ptr @test_count, align 4, !tbaa !5
  %2797 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef nonnull %2688, ptr noundef nonnull %2635) #10
  %2798 = icmp eq i32 %2797, -1
  br i1 %2798, label %2799, label %2821

2799:                                             ; preds = %2794
  %2800 = load i32, ptr %520, align 4, !tbaa !5
  %2801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2802 = call i32 @s2n_print_stacktrace(ptr noundef %2801) #10
  %2803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2804 = trunc nuw i8 %2803 to i1
  br i1 %2804, label %2805, label %2809

2805:                                             ; preds = %2799
  %2806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2807 = call i32 @fileno(ptr noundef %2806) #10
  %2808 = call i32 @isatty(i32 noundef %2807) #10
  %.not410 = icmp eq i32 %2808, 0
  br i1 %.not410, label %2809, label %2810

2809:                                             ; preds = %2805, %2799
  br label %2810

2810:                                             ; preds = %2805, %2809
  %.str.5.sink1427 = phi ptr [ @.str.5, %2809 ], [ @.str.2, %2805 ]
  store i32 %2800, ptr %520, align 4, !tbaa !5
  %2811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2812 = load i32, ptr @test_count, align 4, !tbaa !5
  %2813 = load i32, ptr %466, align 4, !tbaa !5
  %2814 = call ptr @s2n_strerror(i32 noundef %2813, ptr noundef nonnull @.str.4) #10
  %2815 = load i32, ptr %466, align 4, !tbaa !5
  %2816 = call ptr @s2n_strerror_debug(i32 noundef %2815, ptr noundef nonnull @.str.4) #10
  %2817 = load i32, ptr %520, align 4, !tbaa !5
  %2818 = call ptr @strerror(i32 noundef %2817) #10
  %2819 = load i32, ptr %520, align 4, !tbaa !5
  %2820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2811, ptr noundef nonnull %.str.5.sink1427, i32 noundef %2812, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 286, ptr noundef %2814, ptr noundef %2816, ptr noundef %2818, i32 noundef %2819) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2821:                                             ; preds = %2794
  %2822 = load i32, ptr @test_count, align 4, !tbaa !5
  %2823 = add nsw i32 %2822, 1
  store i32 %2823, ptr @test_count, align 4, !tbaa !5
  %2824 = getelementptr inbounds i8, ptr %2688, i64 220
  %2825 = load i8, ptr %2824, align 4, !tbaa !15
  %2826 = icmp eq i8 %2825, 33
  br i1 %2826, label %2849, label %2827

2827:                                             ; preds = %2821
  %2828 = load i32, ptr %520, align 4, !tbaa !5
  %2829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2830 = call i32 @s2n_print_stacktrace(ptr noundef %2829) #10
  %2831 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2832 = trunc nuw i8 %2831 to i1
  br i1 %2832, label %2833, label %2837

2833:                                             ; preds = %2827
  %2834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2835 = call i32 @fileno(ptr noundef %2834) #10
  %2836 = call i32 @isatty(i32 noundef %2835) #10
  %.not394 = icmp eq i32 %2836, 0
  br i1 %.not394, label %2837, label %2838

2837:                                             ; preds = %2833, %2827
  br label %2838

2838:                                             ; preds = %2833, %2837
  %.str.5.sink1436 = phi ptr [ @.str.5, %2837 ], [ @.str.2, %2833 ]
  store i32 %2828, ptr %520, align 4, !tbaa !5
  %2839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2840 = load i32, ptr @test_count, align 4, !tbaa !5
  %2841 = load i32, ptr %466, align 4, !tbaa !5
  %2842 = call ptr @s2n_strerror(i32 noundef %2841, ptr noundef nonnull @.str.4) #10
  %2843 = load i32, ptr %466, align 4, !tbaa !5
  %2844 = call ptr @s2n_strerror_debug(i32 noundef %2843, ptr noundef nonnull @.str.4) #10
  %2845 = load i32, ptr %520, align 4, !tbaa !5
  %2846 = call ptr @strerror(i32 noundef %2845) #10
  %2847 = load i32, ptr %520, align 4, !tbaa !5
  %2848 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2839, ptr noundef nonnull %.str.5.sink1436, i32 noundef %2840, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 287, ptr noundef %2842, ptr noundef %2844, ptr noundef %2846, i32 noundef %2847) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2849:                                             ; preds = %2821
  %2850 = add nsw i32 %2822, 2
  store i32 %2850, ptr @test_count, align 4, !tbaa !5
  %2851 = getelementptr inbounds i8, ptr %2635, i64 220
  %2852 = load i8, ptr %2851, align 4, !tbaa !15
  %2853 = icmp eq i8 %2852, 33
  br i1 %2853, label %2876, label %2854

2854:                                             ; preds = %2849
  %2855 = load i32, ptr %520, align 4, !tbaa !5
  %2856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2857 = call i32 @s2n_print_stacktrace(ptr noundef %2856) #10
  %2858 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2859 = trunc nuw i8 %2858 to i1
  br i1 %2859, label %2860, label %2864

2860:                                             ; preds = %2854
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @fileno(ptr noundef %2861) #10
  %2863 = call i32 @isatty(i32 noundef %2862) #10
  %.not395 = icmp eq i32 %2863, 0
  br i1 %.not395, label %2864, label %2865

2864:                                             ; preds = %2860, %2854
  br label %2865

2865:                                             ; preds = %2860, %2864
  %.str.5.sink1445 = phi ptr [ @.str.5, %2864 ], [ @.str.2, %2860 ]
  store i32 %2855, ptr %520, align 4, !tbaa !5
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = load i32, ptr @test_count, align 4, !tbaa !5
  %2868 = load i32, ptr %466, align 4, !tbaa !5
  %2869 = call ptr @s2n_strerror(i32 noundef %2868, ptr noundef nonnull @.str.4) #10
  %2870 = load i32, ptr %466, align 4, !tbaa !5
  %2871 = call ptr @s2n_strerror_debug(i32 noundef %2870, ptr noundef nonnull @.str.4) #10
  %2872 = load i32, ptr %520, align 4, !tbaa !5
  %2873 = call ptr @strerror(i32 noundef %2872) #10
  %2874 = load i32, ptr %520, align 4, !tbaa !5
  %2875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2866, ptr noundef nonnull %.str.5.sink1445, i32 noundef %2867, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 288, ptr noundef %2869, ptr noundef %2871, ptr noundef %2873, i32 noundef %2874) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2876:                                             ; preds = %2849
  %2877 = add nsw i32 %2822, 3
  store i32 %2877, ptr @test_count, align 4, !tbaa !5
  %2878 = load i32, ptr %2688, align 8
  %2879 = and i32 %2878, 8192
  %.not396 = icmp eq i32 %2879, 0
  br i1 %.not396, label %2880, label %2902

2880:                                             ; preds = %2876
  %2881 = load i32, ptr %520, align 4, !tbaa !5
  %2882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2883 = call i32 @s2n_print_stacktrace(ptr noundef %2882) #10
  %2884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2885 = trunc nuw i8 %2884 to i1
  br i1 %2885, label %2886, label %2890

2886:                                             ; preds = %2880
  %2887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2888 = call i32 @fileno(ptr noundef %2887) #10
  %2889 = call i32 @isatty(i32 noundef %2888) #10
  %.not397 = icmp eq i32 %2889, 0
  br i1 %.not397, label %2890, label %2891

2890:                                             ; preds = %2886, %2880
  br label %2891

2891:                                             ; preds = %2886, %2890
  %.str.5.sink1454 = phi ptr [ @.str.5, %2890 ], [ @.str.2, %2886 ]
  store i32 %2881, ptr %520, align 4, !tbaa !5
  %2892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2893 = load i32, ptr @test_count, align 4, !tbaa !5
  %2894 = load i32, ptr %466, align 4, !tbaa !5
  %2895 = call ptr @s2n_strerror(i32 noundef %2894, ptr noundef nonnull @.str.4) #10
  %2896 = load i32, ptr %466, align 4, !tbaa !5
  %2897 = call ptr @s2n_strerror_debug(i32 noundef %2896, ptr noundef nonnull @.str.4) #10
  %2898 = load i32, ptr %520, align 4, !tbaa !5
  %2899 = call ptr @strerror(i32 noundef %2898) #10
  %2900 = load i32, ptr %520, align 4, !tbaa !5
  %2901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2892, ptr noundef nonnull %.str.5.sink1454, i32 noundef %2893, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 289, ptr noundef %2895, ptr noundef %2897, ptr noundef %2899, i32 noundef %2900) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2902:                                             ; preds = %2876
  %2903 = add nsw i32 %2822, 4
  store i32 %2903, ptr @test_count, align 4, !tbaa !5
  %2904 = load i32, ptr %2635, align 8
  %2905 = and i32 %2904, 8192
  %.not398 = icmp eq i32 %2905, 0
  br i1 %.not398, label %2906, label %2928

2906:                                             ; preds = %2902
  %2907 = load i32, ptr %520, align 4, !tbaa !5
  %2908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2909 = call i32 @s2n_print_stacktrace(ptr noundef %2908) #10
  %2910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2911 = trunc nuw i8 %2910 to i1
  br i1 %2911, label %2912, label %2916

2912:                                             ; preds = %2906
  %2913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2914 = call i32 @fileno(ptr noundef %2913) #10
  %2915 = call i32 @isatty(i32 noundef %2914) #10
  %.not399 = icmp eq i32 %2915, 0
  br i1 %.not399, label %2916, label %2917

2916:                                             ; preds = %2912, %2906
  br label %2917

2917:                                             ; preds = %2912, %2916
  %.str.5.sink1463 = phi ptr [ @.str.5, %2916 ], [ @.str.2, %2912 ]
  store i32 %2907, ptr %520, align 4, !tbaa !5
  %2918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2919 = load i32, ptr @test_count, align 4, !tbaa !5
  %2920 = load i32, ptr %466, align 4, !tbaa !5
  %2921 = call ptr @s2n_strerror(i32 noundef %2920, ptr noundef nonnull @.str.4) #10
  %2922 = load i32, ptr %466, align 4, !tbaa !5
  %2923 = call ptr @s2n_strerror_debug(i32 noundef %2922, ptr noundef nonnull @.str.4) #10
  %2924 = load i32, ptr %520, align 4, !tbaa !5
  %2925 = call ptr @strerror(i32 noundef %2924) #10
  %2926 = load i32, ptr %520, align 4, !tbaa !5
  %2927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2918, ptr noundef nonnull %.str.5.sink1463, i32 noundef %2919, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %2921, ptr noundef %2923, ptr noundef %2925, i32 noundef %2926) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2928:                                             ; preds = %2902
  %2929 = add nsw i32 %2822, 5
  store i32 %2929, ptr @test_count, align 4, !tbaa !5
  %2930 = call i32 @s2n_connection_free(ptr noundef nonnull %2635) #10
  %2931 = icmp eq i32 %2930, -1
  br i1 %2931, label %2932, label %2954

2932:                                             ; preds = %2928
  %2933 = load i32, ptr %520, align 4, !tbaa !5
  %2934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2935 = call i32 @s2n_print_stacktrace(ptr noundef %2934) #10
  %2936 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2937 = trunc nuw i8 %2936 to i1
  br i1 %2937, label %2938, label %2942

2938:                                             ; preds = %2932
  %2939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2940 = call i32 @fileno(ptr noundef %2939) #10
  %2941 = call i32 @isatty(i32 noundef %2940) #10
  %.not409 = icmp eq i32 %2941, 0
  br i1 %.not409, label %2942, label %2943

2942:                                             ; preds = %2938, %2932
  br label %2943

2943:                                             ; preds = %2938, %2942
  %.str.5.sink1472 = phi ptr [ @.str.5, %2942 ], [ @.str.2, %2938 ]
  store i32 %2933, ptr %520, align 4, !tbaa !5
  %2944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2945 = load i32, ptr @test_count, align 4, !tbaa !5
  %2946 = load i32, ptr %466, align 4, !tbaa !5
  %2947 = call ptr @s2n_strerror(i32 noundef %2946, ptr noundef nonnull @.str.4) #10
  %2948 = load i32, ptr %466, align 4, !tbaa !5
  %2949 = call ptr @s2n_strerror_debug(i32 noundef %2948, ptr noundef nonnull @.str.4) #10
  %2950 = load i32, ptr %520, align 4, !tbaa !5
  %2951 = call ptr @strerror(i32 noundef %2950) #10
  %2952 = load i32, ptr %520, align 4, !tbaa !5
  %2953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2944, ptr noundef nonnull %.str.5.sink1472, i32 noundef %2945, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %2947, ptr noundef %2949, ptr noundef %2951, i32 noundef %2952) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2954:                                             ; preds = %2928
  %2955 = load i32, ptr @test_count, align 4, !tbaa !5
  %2956 = add nsw i32 %2955, 1
  store i32 %2956, ptr @test_count, align 4, !tbaa !5
  %2957 = call i32 @s2n_connection_free(ptr noundef nonnull %2688) #10
  %2958 = icmp eq i32 %2957, -1
  br i1 %2958, label %2959, label %2981

2959:                                             ; preds = %2954
  %2960 = load i32, ptr %520, align 4, !tbaa !5
  %2961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2962 = call i32 @s2n_print_stacktrace(ptr noundef %2961) #10
  %2963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2964 = trunc nuw i8 %2963 to i1
  br i1 %2964, label %2965, label %2969

2965:                                             ; preds = %2959
  %2966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2967 = call i32 @fileno(ptr noundef %2966) #10
  %2968 = call i32 @isatty(i32 noundef %2967) #10
  %.not408 = icmp eq i32 %2968, 0
  br i1 %.not408, label %2969, label %2970

2969:                                             ; preds = %2965, %2959
  br label %2970

2970:                                             ; preds = %2965, %2969
  %.str.5.sink1481 = phi ptr [ @.str.5, %2969 ], [ @.str.2, %2965 ]
  store i32 %2960, ptr %520, align 4, !tbaa !5
  %2971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2972 = load i32, ptr @test_count, align 4, !tbaa !5
  %2973 = load i32, ptr %466, align 4, !tbaa !5
  %2974 = call ptr @s2n_strerror(i32 noundef %2973, ptr noundef nonnull @.str.4) #10
  %2975 = load i32, ptr %466, align 4, !tbaa !5
  %2976 = call ptr @s2n_strerror_debug(i32 noundef %2975, ptr noundef nonnull @.str.4) #10
  %2977 = load i32, ptr %520, align 4, !tbaa !5
  %2978 = call ptr @strerror(i32 noundef %2977) #10
  %2979 = load i32, ptr %520, align 4, !tbaa !5
  %2980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2971, ptr noundef nonnull %.str.5.sink1481, i32 noundef %2972, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 293, ptr noundef %2974, ptr noundef %2976, ptr noundef %2978, i32 noundef %2979) #12
  call void @exit(i32 noundef 1) #13
  unreachable

2981:                                             ; preds = %2954
  %2982 = load i32, ptr @test_count, align 4, !tbaa !5
  %2983 = add nsw i32 %2982, 1
  store i32 %2983, ptr @test_count, align 4, !tbaa !5
  %2984 = load ptr, ptr %19, align 8, !tbaa !9
  %2985 = call i32 @s2n_cert_chain_and_key_free(ptr noundef %2984) #10
  %2986 = icmp eq i32 %2985, -1
  br i1 %2986, label %2987, label %3009

2987:                                             ; preds = %2981
  %2988 = load i32, ptr %520, align 4, !tbaa !5
  %2989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2990 = call i32 @s2n_print_stacktrace(ptr noundef %2989) #10
  %2991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2992 = trunc nuw i8 %2991 to i1
  br i1 %2992, label %2993, label %2997

2993:                                             ; preds = %2987
  %2994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2995 = call i32 @fileno(ptr noundef %2994) #10
  %2996 = call i32 @isatty(i32 noundef %2995) #10
  %.not407 = icmp eq i32 %2996, 0
  br i1 %.not407, label %2997, label %2998

2997:                                             ; preds = %2993, %2987
  br label %2998

2998:                                             ; preds = %2993, %2997
  %.str.5.sink1490 = phi ptr [ @.str.5, %2997 ], [ @.str.2, %2993 ]
  store i32 %2988, ptr %520, align 4, !tbaa !5
  %2999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3000 = load i32, ptr @test_count, align 4, !tbaa !5
  %3001 = load i32, ptr %466, align 4, !tbaa !5
  %3002 = call ptr @s2n_strerror(i32 noundef %3001, ptr noundef nonnull @.str.4) #10
  %3003 = load i32, ptr %466, align 4, !tbaa !5
  %3004 = call ptr @s2n_strerror_debug(i32 noundef %3003, ptr noundef nonnull @.str.4) #10
  %3005 = load i32, ptr %520, align 4, !tbaa !5
  %3006 = call ptr @strerror(i32 noundef %3005) #10
  %3007 = load i32, ptr %520, align 4, !tbaa !5
  %3008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2999, ptr noundef nonnull %.str.5.sink1490, i32 noundef %3000, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %3002, ptr noundef %3004, ptr noundef %3006, i32 noundef %3007) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3009:                                             ; preds = %2981
  %3010 = load i32, ptr @test_count, align 4, !tbaa !5
  %3011 = add nsw i32 %3010, 1
  store i32 %3011, ptr @test_count, align 4, !tbaa !5
  %3012 = call i32 @s2n_io_pair_close(ptr noundef nonnull %20) #10
  %3013 = icmp eq i32 %3012, -1
  br i1 %3013, label %3014, label %3036

3014:                                             ; preds = %3009
  %3015 = load i32, ptr %520, align 4, !tbaa !5
  %3016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3017 = call i32 @s2n_print_stacktrace(ptr noundef %3016) #10
  %3018 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3019 = trunc nuw i8 %3018 to i1
  br i1 %3019, label %3020, label %3024

3020:                                             ; preds = %3014
  %3021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3022 = call i32 @fileno(ptr noundef %3021) #10
  %3023 = call i32 @isatty(i32 noundef %3022) #10
  %.not406 = icmp eq i32 %3023, 0
  br i1 %.not406, label %3024, label %3025

3024:                                             ; preds = %3020, %3014
  br label %3025

3025:                                             ; preds = %3020, %3024
  %.str.5.sink1499 = phi ptr [ @.str.5, %3024 ], [ @.str.2, %3020 ]
  store i32 %3015, ptr %520, align 4, !tbaa !5
  %3026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3027 = load i32, ptr @test_count, align 4, !tbaa !5
  %3028 = load i32, ptr %466, align 4, !tbaa !5
  %3029 = call ptr @s2n_strerror(i32 noundef %3028, ptr noundef nonnull @.str.4) #10
  %3030 = load i32, ptr %466, align 4, !tbaa !5
  %3031 = call ptr @s2n_strerror_debug(i32 noundef %3030, ptr noundef nonnull @.str.4) #10
  %3032 = load i32, ptr %520, align 4, !tbaa !5
  %3033 = call ptr @strerror(i32 noundef %3032) #10
  %3034 = load i32, ptr %520, align 4, !tbaa !5
  %3035 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3026, ptr noundef nonnull %.str.5.sink1499, i32 noundef %3027, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3029, ptr noundef %3031, ptr noundef %3033, i32 noundef %3034) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3036:                                             ; preds = %3009
  %3037 = load i32, ptr @test_count, align 4, !tbaa !5
  %3038 = add nsw i32 %3037, 1
  store i32 %3038, ptr @test_count, align 4, !tbaa !5
  %3039 = call i32 @s2n_config_free(ptr noundef nonnull %2500) #10
  %3040 = icmp eq i32 %3039, -1
  br i1 %3040, label %3041, label %3063

3041:                                             ; preds = %3036
  %3042 = load i32, ptr %520, align 4, !tbaa !5
  %3043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3044 = call i32 @s2n_print_stacktrace(ptr noundef %3043) #10
  %3045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3046 = trunc nuw i8 %3045 to i1
  br i1 %3046, label %3047, label %3051

3047:                                             ; preds = %3041
  %3048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3049 = call i32 @fileno(ptr noundef %3048) #10
  %3050 = call i32 @isatty(i32 noundef %3049) #10
  %.not405 = icmp eq i32 %3050, 0
  br i1 %.not405, label %3051, label %3052

3051:                                             ; preds = %3047, %3041
  br label %3052

3052:                                             ; preds = %3047, %3051
  %.str.5.sink1508 = phi ptr [ @.str.5, %3051 ], [ @.str.2, %3047 ]
  store i32 %3042, ptr %520, align 4, !tbaa !5
  %3053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3054 = load i32, ptr @test_count, align 4, !tbaa !5
  %3055 = load i32, ptr %466, align 4, !tbaa !5
  %3056 = call ptr @s2n_strerror(i32 noundef %3055, ptr noundef nonnull @.str.4) #10
  %3057 = load i32, ptr %466, align 4, !tbaa !5
  %3058 = call ptr @s2n_strerror_debug(i32 noundef %3057, ptr noundef nonnull @.str.4) #10
  %3059 = load i32, ptr %520, align 4, !tbaa !5
  %3060 = call ptr @strerror(i32 noundef %3059) #10
  %3061 = load i32, ptr %520, align 4, !tbaa !5
  %3062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3053, ptr noundef nonnull %.str.5.sink1508, i32 noundef %3054, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 296, ptr noundef %3056, ptr noundef %3058, ptr noundef %3060, i32 noundef %3061) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3063:                                             ; preds = %3036
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %20) #10
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #10
  %3064 = call i32 @s2n_cleanup() #10
  %3065 = icmp eq i32 %3064, -1
  br i1 %3065, label %3066, label %3088

3066:                                             ; preds = %3063
  %3067 = load i32, ptr %520, align 4, !tbaa !5
  %3068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3069 = call i32 @s2n_print_stacktrace(ptr noundef %3068) #10
  %3070 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3071 = trunc nuw i8 %3070 to i1
  br i1 %3071, label %3072, label %3076

3072:                                             ; preds = %3066
  %3073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3074 = call i32 @fileno(ptr noundef %3073) #10
  %3075 = call i32 @isatty(i32 noundef %3074) #10
  %.not404 = icmp eq i32 %3075, 0
  br i1 %.not404, label %3076, label %3077

3076:                                             ; preds = %3072, %3066
  br label %3077

3077:                                             ; preds = %3072, %3076
  %.str.5.sink1517 = phi ptr [ @.str.5, %3076 ], [ @.str.2, %3072 ]
  store i32 %3067, ptr %520, align 4, !tbaa !5
  %3078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3079 = load i32, ptr @test_count, align 4, !tbaa !5
  %3080 = load i32, ptr %466, align 4, !tbaa !5
  %3081 = call ptr @s2n_strerror(i32 noundef %3080, ptr noundef nonnull @.str.4) #10
  %3082 = load i32, ptr %466, align 4, !tbaa !5
  %3083 = call ptr @s2n_strerror_debug(i32 noundef %3082, ptr noundef nonnull @.str.4) #10
  %3084 = load i32, ptr %520, align 4, !tbaa !5
  %3085 = call ptr @strerror(i32 noundef %3084) #10
  %3086 = load i32, ptr %520, align 4, !tbaa !5
  %3087 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3078, ptr noundef nonnull %.str.5.sink1517, i32 noundef %3079, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3081, ptr noundef %3083, ptr noundef %3085, i32 noundef %3086) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3088:                                             ; preds = %3063
  %3089 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #10
  %3090 = icmp eq i32 %3089, -1
  br i1 %3090, label %3091, label %3113

3091:                                             ; preds = %3088
  %3092 = load i32, ptr %520, align 4, !tbaa !5
  %3093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3094 = call i32 @s2n_print_stacktrace(ptr noundef %3093) #10
  %3095 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3096 = trunc nuw i8 %3095 to i1
  br i1 %3096, label %3097, label %3101

3097:                                             ; preds = %3091
  %3098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3099 = call i32 @fileno(ptr noundef %3098) #10
  %3100 = call i32 @isatty(i32 noundef %3099) #10
  %.not403 = icmp eq i32 %3100, 0
  br i1 %.not403, label %3101, label %3102

3101:                                             ; preds = %3097, %3091
  br label %3102

3102:                                             ; preds = %3097, %3101
  %.str.5.sink1526 = phi ptr [ @.str.5, %3101 ], [ @.str.2, %3097 ]
  store i32 %3092, ptr %520, align 4, !tbaa !5
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = load i32, ptr @test_count, align 4, !tbaa !5
  %3105 = load i32, ptr %466, align 4, !tbaa !5
  %3106 = call ptr @s2n_strerror(i32 noundef %3105, ptr noundef nonnull @.str.4) #10
  %3107 = load i32, ptr %466, align 4, !tbaa !5
  %3108 = call ptr @s2n_strerror_debug(i32 noundef %3107, ptr noundef nonnull @.str.4) #10
  %3109 = load i32, ptr %520, align 4, !tbaa !5
  %3110 = call ptr @strerror(i32 noundef %3109) #10
  %3111 = load i32, ptr %520, align 4, !tbaa !5
  %3112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3103, ptr noundef nonnull %.str.5.sink1526, i32 noundef %3104, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3106, ptr noundef %3108, ptr noundef %3110, i32 noundef %3111) #12
  call void @exit(i32 noundef 1) #13
  unreachable

3113:                                             ; preds = %3088
  %3114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3115 = trunc nuw i8 %3114 to i1
  br i1 %3115, label %3116, label %3127

3116:                                             ; preds = %3113
  %3117 = load ptr, ptr @stdout, align 8, !tbaa !9
  %3118 = call i32 @fileno(ptr noundef %3117) #10
  %3119 = call i32 @isatty(i32 noundef %3118) #10
  %.not400 = icmp eq i32 %3119, 0
  br i1 %.not400, label %3127, label %3120

3120:                                             ; preds = %3116
  %3121 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not402 = icmp eq i32 %3121, 0
  %3122 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not402, label %3125, label %3123

3123:                                             ; preds = %3120
  %3124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3122, ptr noundef nonnull @.str.56, i32 noundef %3121) #10
  br label %3134

3125:                                             ; preds = %3120
  %3126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3122, ptr noundef nonnull @.str.57) #10
  br label %3134

3127:                                             ; preds = %3116, %3113
  %3128 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not401 = icmp eq i32 %3128, 0
  %3129 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not401, label %3132, label %3130

3130:                                             ; preds = %3127
  %3131 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3129, ptr noundef nonnull @.str.58, i32 noundef %3128) #10
  br label %3134

3132:                                             ; preds = %3127
  %3133 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3129, ptr noundef nonnull @.str.59) #10
  br label %3134

3134:                                             ; preds = %3130, %3132, %3123, %3125
  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 ptr @s2n_config_new() local_unnamed_addr #2

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

declare i32 @s2n_resumption_test_ticket_key_setup(ptr noundef) 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

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

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

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

declare ptr @s2n_get_ticket_encrypt_decrypt_key(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_wipe(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_conn_set_handshake_type(ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare zeroext i1 @s2n_handshake_type_check_flag(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_extension_supported_iana_value_to_id(i16 noundef zeroext, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_config_free(ptr noundef) local_unnamed_addr #2

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

declare i32 @s2n_config_set_unsafe_for_testing(ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_io_pair_init_non_blocking(ptr noundef) local_unnamed_addr #2

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

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

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

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cert_chain_and_key_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

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


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